WO2023273802A1 - 解码方法、编码方法、装置、设备及存储介质 - Google Patents

解码方法、编码方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2023273802A1
WO2023273802A1 PCT/CN2022/097124 CN2022097124W WO2023273802A1 WO 2023273802 A1 WO2023273802 A1 WO 2023273802A1 CN 2022097124 W CN2022097124 W CN 2022097124W WO 2023273802 A1 WO2023273802 A1 WO 2023273802A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
motion information
mode
motion vector
coding unit
Prior art date
Application number
PCT/CN2022/097124
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 杭州海康威视数字技术股份有限公司
Priority to US18/568,099 priority Critical patent/US20240276005A1/en
Priority to AU2022304788A priority patent/AU2022304788A1/en
Priority to EP22831623.8A priority patent/EP4333429A1/en
Priority to JP2023580585A priority patent/JP7521137B2/ja
Priority to KR1020247001702A priority patent/KR20240012610A/ko
Publication of WO2023273802A1 publication Critical patent/WO2023273802A1/zh
Priority to JP2024110195A priority patent/JP2024124549A/ja

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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present application relates to video codec technology, and in particular to a decoding method, encoding method, device, equipment and machine-readable storage medium.
  • Complete video coding generally includes operations such as prediction, transformation, quantization, entropy coding, and filtering.
  • Prediction can be divided into intra-frame prediction and inter-frame prediction.
  • Intra-frame prediction uses the surrounding coded units as a reference to predict the current uncoded unit, effectively removing redundancy in the spatial domain.
  • Inter-frame prediction is to predict the current image using adjacent coded images, effectively removing redundancy in the time domain.
  • the present application provides a decoding method, an encoding method, a device, a device, and a machine-readable storage medium.
  • a decoding method including: receiving a code stream, analyzing the motion information index value of the skip mode or direct mode of the current coding unit; constructing a skip mode or direct mode candidate list; Determine the prediction mode of the current coding unit according to the skip mode or the motion information index value of the direct mode and the candidate list of the current coding unit; obtain the motion information of the current coding unit according to the prediction mode of the current coding unit, and perform motion compensation on the current coding unit;
  • the parsing the motion information index value of the skip mode or the direct mode of the current coding unit includes: acquiring the number of motion vector angle prediction candidate motion information and the number of inter frame prediction candidate historical motion information; according to the motion vector angle The number of prediction candidate motion information and the number of inter prediction candidate historical motion information determine the motion information index value of the skip mode or direct mode of the current coding unit.
  • an encoding method including: constructing a candidate list of skip mode or direct mode: traversing each prediction mode in the prediction mode candidate list in order, and for each prediction mode , obtain the motion information of the current coding unit and the motion information index value of the skip mode or the direct mode of the current coding unit; perform motion compensation on the current coding unit according to the motion information of the current coding unit; calculate the rate-distortion generation corresponding to the prediction mode Value, and compare the rate-distortion cost value with the cost values of other candidate prediction modes, select the prediction mode corresponding to the smallest rate-distortion cost value; skip the current coding unit corresponding to the prediction mode with the smallest rate-distortion cost value
  • the motion information index value of the mode or direct mode is carried into the code stream and sent to the decoding end; wherein, the motion information index value of the skip mode or direct mode of the current coding unit corresponding to the prediction mode with the smallest rate-distortion cost value
  • a decoding device including: a decoding module, configured to receive a code stream, and analyze the motion information index value of the skip mode or direct mode of the current coding unit; a construction module, configured to construct The candidate list of the skip mode or the direct mode; the determination module is used to determine the prediction mode of the current coding unit according to the motion information index value and the candidate list of the skip mode or the direct mode of the current coding unit; the compensation module is used to determine the prediction mode according to the current coding unit The prediction mode of the unit acquires the motion information of the current coding unit, and performs motion compensation on the current coding unit; wherein, the decoding module is specifically used to obtain the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information ; Determine the motion information index value of the skip mode or direct mode of the current coding unit according to the number of motion information candidates for motion vector angle prediction and the number of historical motion information candidates for inter prediction.
  • an encoding device including: a construction module, configured to construct a candidate list of skip mode or direct mode: traverse each prediction mode in the prediction mode candidate list in order, for For each prediction mode, obtain the motion information of the current coding unit and the motion information index value of the skip mode or direct mode of the current coding unit; the compensation module is used to perform motion compensation on the current coding unit according to the motion information of the current coding unit ; A determination module, used to calculate the rate-distortion cost value corresponding to the prediction mode, and compare the rate-distortion cost value with the cost values of other candidate prediction modes, and select the prediction mode corresponding to the smallest rate-distortion cost value; the encoding module , used to carry the motion information index value of the skip mode or direct mode of the current coding unit corresponding to the prediction mode with the smallest rate-distortion cost value into the code stream, and transmit it to the decoding end; wherein, the encoding module
  • a decoding end device including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, so The aforementioned processor is configured to execute machine-executable instructions, so as to implement the decoding method provided in the first aspect.
  • an encoding device including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, so The above-mentioned processor is used to execute machine-executable instructions, so as to realize the encoding method provided by the second aspect.
  • a machine-readable storage medium stores machine-executable instructions, and when the machine-executable instructions are executed by a processor, the first aspect Or the method described in the second aspect.
  • the encoding method of the embodiment of the present application by receiving the code stream, analyzing the motion information index value of the skip mode or direct mode of the current coding unit, constructing a candidate list of skip mode or direct mode, according to the skip mode or direct mode of the current coding unit
  • the motion information index value of the direct mode and the candidate list determine the prediction mode of the current coding unit, and obtain the motion information of the current coding unit according to the prediction mode of the current coding unit, perform motion compensation on the current coding unit, and analyze the skipping of the current coding unit
  • the motion information index value of mode or direct mode is obtained, the number of candidate motion information and the number of inter-prediction candidate history motion information are obtained by obtaining the motion vector angle, and the number of candidate motion information and the inter-frame prediction candidate history are predicted according to the motion vector angle
  • the number of motion information determines the motion information index value of the skip mode or direct mode of the current coding unit, which improves the flexibility of determining the motion information index value of the skip mode or direct mode, and improves
  • Figure 1a and Figure 1b are schematic diagrams of a codec method shown in an exemplary embodiment of the present application
  • FIG. 2 is a block diagram of a SBTMVP mode shown in an exemplary embodiment of the present application
  • Fig. 3 is a schematic diagram of the positions of neighboring blocks in the spatial domain of a Skip and Direct mode shown in an exemplary embodiment of the present application;
  • Fig. 4 is a schematic diagram of the corresponding relationship between a mode index and a mode in an MVAP mode shown in an exemplary embodiment of the present application;
  • Fig. 5 is a schematic diagram showing the position of a motion vector angle prediction sample according to an exemplary embodiment of the present application
  • Fig. 6 is a decoding flowchart of an HMVP method shown in an exemplary embodiment of the present application
  • Fig. 7 is a schematic flowchart of a decoding method shown in an exemplary embodiment of the present application.
  • Fig. 8 is a schematic flowchart of another decoding method shown in an exemplary embodiment of the present application.
  • Fig. 9 is a schematic flowchart of an encoding method shown in an exemplary embodiment of the present application.
  • Fig. 10 is a schematic flowchart of another encoding method shown in an exemplary embodiment of the present application.
  • Fig. 11 is a schematic structural diagram of a decoding device shown in an exemplary embodiment of the present application.
  • Fig. 12 is a schematic structural diagram of an encoding device shown in an exemplary embodiment of the present application.
  • FIG. 13 is a schematic diagram of a hardware structure of a decoder device shown in an exemplary embodiment of the present application.
  • Fig. 14 is a schematic diagram of a hardware structure of an encoding end device shown in an exemplary embodiment of the present application.
  • Inter prediction refers to the use of video temporal correlation. Since video sequences usually contain strong temporal correlation, using adjacent encoded image pixels to predict the pixels of the current image can be The purpose of effectively removing video temporal redundancy is achieved.
  • Prediction Signal Refers to the pixel value derived from the encoded and decoded pixels.
  • the residual is obtained by the difference between the original pixel and the predicted pixel, and then the residual is transformed and quantized and the coefficient is encoded.
  • inter-frame predicted pixels refer to pixel values derived from a reference frame (reconstructed pixel frame) of the current image block. Since pixel positions are discrete, interpolation operations are required to obtain final predicted pixels. The closer the predicted pixel is to the original pixel, the smaller the residual energy obtained by subtracting the two, and the higher the coding compression performance.
  • Motion Vector In inter-frame coding, MV is used to represent the relative displacement between the current coding block and the best matching block in the reference image. Each divided block (may be referred to as a sub-block) has a corresponding motion vector that needs to be transmitted to the decoding end. If the MV of each sub-block is independently encoded and transmitted, especially when divided into small-sized sub-blocks, quite a lot of bits will be consumed. In order to reduce the number of bits used to encode MV, the spatial correlation between adjacent image blocks is used in video encoding, and the MV of the current block to be encoded is predicted according to the MV of the adjacent encoded block, and then the prediction difference is encoded. . This can effectively reduce the number of bits representing the MV.
  • the MV of the adjacent encoded block is generally used to predict the MV of the current image block, and then the MV prediction value (Motion Vector Prediction, referred to as MVP) and the true motion vector
  • MVP Motion Vector Prediction
  • Motion Information Since MV represents the relative displacement between the current image block and the best matching block in a reference image, in order to accurately obtain the information pointing to the image block, in addition to the MV information, it is also necessary to pass the reference image
  • the index information to indicate which reference image is used For the current image, a reference image list is usually established based on certain principles, and the reference image index information indicates which reference image in the reference image list is used for the current image block.
  • many encoding technologies also support multiple reference picture lists, so an index value is needed to indicate which reference picture list is used, and the index value may be called a reference direction.
  • coding information related to motion such as MV, reference frame index, and reference direction, is collectively referred to as motion information.
  • Skip mode is a skip mode in inter-frame prediction. It does not need to transmit residual information or MVD. It only needs to transmit the index of motion information.
  • the decoding end passes The motion information of the coding unit can be derived by analyzing the index, and the predicted value can be directly used as the reconstruction value after obtaining the motion information.
  • Direct (Direct) mode is a direct mode in inter-frame prediction. It needs to transmit residual information, but does not need to transmit MVD. It only needs to transmit the index of motion information.
  • the decoding end parses the index. The motion information of the coding unit can be derived, and after the motion information is obtained, the predicted value is added to the residual value to obtain the reconstructed value.
  • Binarization and anti-binarization method of truncated unary code the relationship between synElVal and binary symbol string can be as shown in Table 1:
  • the encoding end can look up Table 1 from maxVal and the value synElVal to be encoded to obtain the binary symbol string to be encoded, and the decoding end can uniquely obtain the value of synElVal from the binary symbol string and maxVal according to Table 1.
  • Rate-Distortion Optimized The indicators for evaluating coding efficiency include: code rate and peak signal-to-noise ratio (Peak Signal to Noise Ratio, PSNR). The smaller the code rate, the greater the compression rate; the greater the PSNR, the better the quality of the reconstructed image. In mode selection, the discriminant formula is essentially a comprehensive evaluation of the two.
  • D distortion (Distortion), which is usually measured by SSE (difference mean square sum) index
  • SSE refers to the difference mean square sum between the reconstruction block and the source image block
  • is the Lagrangian multiplier
  • R is The actual number of bits required for image block encoding in this mode, including the sum of bits required for encoding mode information, motion information, residuals, etc.
  • video coding generally includes processes such as prediction, transformation, quantization, and entropy coding. Further, the coding process can also be implemented according to the framework of FIG. 1b.
  • Intra-frame prediction is to use the surrounding coded blocks as a reference to predict the current uncoded block, effectively removing redundancy in the spatial domain.
  • Inter-frame prediction is to predict the current image using adjacent coded images, effectively removing redundancy in the time domain.
  • Transformation refers to transforming an image from the spatial domain to the transform domain, and using transform coefficients to represent the image.
  • the vast majority of images contain more flat areas and slowly changing areas.
  • Appropriate transformation can transform the image from a scattered distribution in the spatial domain to a relatively concentrated distribution in the transformed domain, remove the frequency domain correlation between signals, and cooperate with The quantization process can effectively compress the code stream.
  • Entropy coding is a lossless coding method that can convert a series of element symbols into a binary code stream for transmission or storage.
  • the input symbols may include quantized transformation coefficients, motion vector information, prediction mode information, and transformation and quantization related information. Grammar etc. Entropy coding can effectively remove the redundancy of video element symbols.
  • video decoding usually includes processes such as entropy decoding, prediction, inverse quantization, inverse transformation, and filtering.
  • processes such as entropy decoding, prediction, inverse quantization, inverse transformation, and filtering.
  • the implementation principles of each process are the same as entropy encoding or resemblance.
  • Temporal Motion Vector Prediction Temporal Motion Vector Prediction
  • SBTMVP Sub-Block Temporal Motion Vector Prediction
  • MHBSKIP Motion Vector Angle Prediction
  • MVAP Motion Vector Angle Prediction
  • HMVP History-based Motion Vector Prediction
  • ETMVP Enhanced Temporal Motion Vector Prediction
  • TMVP and SBTMVP technologies have been adopted into the standard at present. If the width and height of the current block are both greater than or equal to 16, the temporal motion information of the current block is motion information generated by SBTMVP; otherwise, the temporal motion information of the current block is motion information generated by TMVP.
  • TMVP first find the motion information in the same position as the preset position of the current coding unit in the time domain reference frame, and then use it as the time domain motion information of the current block after scaling.
  • the time domain reference frame is the first frame of list0
  • the temporal reference frame is the first frame of list1.
  • SBTMVP Let the size of the current block be 2Mx2N, the schematic diagram can be shown in Figure 2, first find the area in the time domain reference frame that is at the same position as the current coding unit, and then divide the area into 4 sub-blocks with a size of MxN, and obtain The motion information of the corresponding position of each sub-block in the time-domain reference frame is scaled as the motion information of the sub-block corresponding to the current block, and finally the motion information of each sub-block is subjected to motion compensation to obtain a prediction value.
  • MHBSKIP is a prediction mode in Skip and Direct modes in AVS, which uses the motion information of the spatial adjacent blocks of the current coding unit to predict the motion information of the current coding unit.
  • the MHBSKIP mode constructs two-way, backward and forward motion information through the spatial adjacent blocks of the current coding unit to predict the current coding unit.
  • the positions of adjacent blocks in the air space in the Skip and Direct modes may be as shown in FIG. 3 .
  • the MVAP technology has been adopted into the standard.
  • the MVAP technology is to divide the current coding unit into sub-blocks, and then use up to 5 kinds of prediction angles to copy the motion information of each sub-block from the adjacent blocks in the surrounding space according to the preset angle. . In this way, more motion information can be provided for the current coding unit without dividing the coding unit, thereby improving the coding performance.
  • the corresponding relationship between the schema index and the schema can be referred to Table 2 and FIG. 4 respectively.
  • W and H be the width and height of the current decoding unit
  • m and n be W/4 and H/4 respectively
  • (x, y) be the pixel coordinates of the upper left corner of the current decoding unit.
  • A0, A1,..., Am-1 is the 4 ⁇ 4 block at the lower left corner of the current block
  • Am, Am+1,..., Am+n-1 is the 4 ⁇ 4 block at the left side of the current block
  • Am+n It is the 4 ⁇ 4 block where the upper left corner of the current block is located, Am+n+1, Am+n+2, ...
  • A2m+n is the 4 ⁇ 4 block where the upper left corner of the current block is located, A2m+n+1, A2m+ n+1,..., A2m+2n is the 4 ⁇ 4 block where the upper right corner of the current block is located.
  • a schematic diagram of positions of motion vector angle prediction samples may be as shown in FIG. 5 .
  • the coordinates of Ai are (x-1, y+H+W-4 ⁇ i-1); if the value range of i is m+ n+1 ⁇ 2m+2n, the coordinates of Ai are (x+4 ⁇ i-W-H-1, y-1) respectively.
  • W is less than 8, or H is less than 8, or both W and H are equal to 8.
  • neighborMotions[i] be the i-th motion information (interPredRefMode, mvE0, mvE1, refIndexL0, refIndexL1) in the reference motion information list, where the value range of i is 0 ⁇ 2m+2n.
  • neighborMotions[i] is equal to neighborMotions[i-1].
  • the motion vector prediction method based on historical information is a technology adopted in the new generation video coding standard AVS3, and its principle is to use the motion information of the previous coding block to predict the motion information of the current coding unit.
  • AVS3 new generation video coding standard
  • its principle is to use the motion information of the previous coding block to predict the motion information of the current coding unit.
  • the decoding flowchart of the HMVP method may be as shown in FIG. 6 .
  • the ETMVP technology has been adopted into the standard.
  • the candidate needs to be checked for duplicates, and then put into the candidate motion vector list, among which for the P image , the time domain reference frame is the first frame of list0, and for the B picture, the time domain reference frame is the first frame of list1.
  • motion compensation is performed on the motion information of each candidate 8x8 sub-block in the list to obtain a prediction value.
  • the list construction order of skip/direct mode is: time domain+MHBSKIP+MVAP+HMVP, that is, the candidate list of skip/direct mode is constructed in the order of time domain, MHBSKIP, MVAP and HMVP.
  • 1 candidate motion information will be generated in the time domain
  • 1 candidate motion information will be generated by MHBSKIP
  • 8 candidate motion information will be generated by MVAP and HMVP
  • the current image is a B image
  • 1 candidate motion information will be generated in the time domain
  • 3 candidate motion information will be generated by MHBSKIP
  • 8 candidate motion information will be generated by MVAP and HMVP
  • MVAP and HMVP generate a total of 8 candidate motion information.
  • MVAP generates ValidMvapModeNum candidate motion information
  • HMVP generates the remaining 8-ValidMvapModeNum candidate motion information.
  • ValidMvapModeNum ranges from 0 to 5.
  • the motion information index value cu_subtype_index of the skip mode or direct mode of the current coding unit for identification.
  • the value range of cu_subtype_index is 0 to 11
  • the truncated unary code is used for binary coding
  • maxVal is equal to 11.
  • the optimization scheme in this embodiment of the present application may include some or all of the following:
  • the motion information index value cu_subtype_index of the skip mode or the direct mode of the current coding unit is parsed according to the frame type of the current image and NumOfMvapCand and NumOfHmvpCand.
  • ValidMvapModeNum determines whether the current coding unit type is MVAP mode or HMVP mode according to cu_subtype_index and ValidMvapModeNum.
  • FIG. 7 is a schematic flowchart of a decoding method provided in an embodiment of the present application, wherein the decoding method may be applied to a decoding end device.
  • the decoding method may include the following steps:
  • Step S700 receiving the code stream, and analyzing the motion information index value of the skip mode or the direct mode of the current coding unit.
  • Step S710 constructing a candidate list of skip mode or direct mode.
  • Step S720 Determine the prediction mode of the current coding unit according to the motion information index value of the skip mode or the direct mode of the current coding unit and the candidate list.
  • Step S730 Obtain motion information of the current coding unit according to the prediction mode of the current coding unit, and perform motion compensation on the current coding unit.
  • step S700 parsing the skip mode of the current coding unit or the motion information index value of the direct mode can be realized by the following steps:
  • Step S701. Acquire the number of candidate motion information for motion vector angle prediction and the number of historical motion information for inter-frame prediction candidates.
  • Step S702 Determine the motion information index value of the skip mode or direct mode of the current coding unit according to the number of motion vector angle prediction candidate motion information and the number of inter prediction candidate historical motion information.
  • the maximum index value (ie maxVal) is no longer fixed at 11, but the number of candidate motion information and the number of candidate historical motion information for inter-frame prediction can be predicted according to the motion vector angle The number is determined.
  • the decoding end device when the decoding end device receives the code stream, it can acquire the number of motion vector angle prediction candidate motion information (namely NumOfMvapCand) and the number of inter prediction candidate historical motion information (namely NumOfHmvpCand).
  • the number of motion vector angle prediction candidate motion information namely NumOfMvapCand
  • the number of inter prediction candidate historical motion information namely NumOfHmvpCand
  • the decoding end device may obtain the number of motion vector angle prediction candidate motion information and the number of inter frame prediction candidate historical motion information by parsing the sequence-level high-level syntax.
  • the decoder When the decoder acquires the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, it can predict the number of candidate motion information and the number of inter-frame prediction candidate historical motion information according to the acquired motion vector angle.
  • a motion information index value of a skip mode or a direct mode of a current coding unit is determined.
  • the acquisition of the number of candidate motion information of the motion vector angle prediction and the number of historical motion information of the inter-frame prediction candidates by parsing the sequence-level high-level syntax above may include: parsing the enhanced temporal motion vector prediction and motion Vector angle prediction allowed flag, according to the value of enhanced temporal motion vector prediction and motion vector angle prediction allowed flag, determine the number of candidate motion information of motion vector angle prediction; The value of the inter-prediction candidate historical motion information number index determines the inter-frame prediction candidate historical motion information number.
  • sequence-level high-level syntax can be used to determine the motion vector angle prediction candidate by using the enhanced time-domain motion vector prediction and motion vector angle prediction enable flag (etmvp_mvap_enable_flag) and inter-frame prediction candidate history motion information number index (num_of_hmvp_cand) respectively The number of motion information and the number of historical motion information of candidates for inter-frame prediction.
  • etmvp_mvap_enable_flag inter-frame prediction candidate history motion information number index
  • number_of_hmvp_cand inter-frame prediction candidate history motion information number index
  • the enhanced time-domain motion vector prediction and motion vector angle prediction enable flags are used to indicate that the enhanced time-domain motion vector prediction mode and the motion vector angle prediction mode are turned on at the same time, or that the enhanced time-domain motion vector prediction mode and the motion vector prediction mode are turned off at the same time Angle prediction mode.
  • the value range of etmvp_mvap_enable_flag is 0-1, and the value range of num_of_hmvp_cand is 0-8.
  • the decoder device may determine NumOfMvapCand by analyzing the value of etmvp_mvap_enable_flag; and determine NumOfHmvpCand by analyzing the value of num_of_hmvp_cand.
  • the decoder device can determine NumOfMvapCand in the following manner according to the value of etmvp_mvap_enable_flag:
  • the value of the enhanced time domain motion vector prediction and motion vector angle prediction permission flag is 1, it is determined that the number of candidate motion information for the motion vector angle prediction is 5; wherein, the enhanced time domain motion vector prediction and motion vector angle prediction
  • the value of the allow flag is 1, indicating that the current coding unit can use enhanced temporal motion vector prediction and motion vector angle prediction, that is, the current coding unit enables enhanced temporal motion vector prediction and motion vector angle prediction at the same time.
  • the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag determines that the number of candidate motion information for motion vector angle prediction is 0; wherein, the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag is The value is 0, or the enhanced temporal motion vector prediction and motion vector angle prediction enable flag does not exist in the code stream, indicating that the current coding unit should not use enhanced temporal motion vector prediction and motion vector angle prediction, that is, the current coding unit Enhanced temporal motion vector prediction and motion vector angle prediction are not enabled at the same time.
  • the decoding end device may use the value of num_of_hmvp_cand as NumOfHmvpCand.
  • determining the motion information index value of the skip mode or the direct mode of the current coding unit according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information may include: according to the motion vector Determine the maximum index value based on the number of angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information; according to the maximum index value, use the debinarization method of truncated unary code to analyze the skip mode or direct mode of the current coding unit Motion information index value.
  • the decoding device can determine the maximum index value (ie maxVal) according to the determined NumOfMvapCand and NumOfHmvpCand, and use the debinarization of truncated unary codes according to the maxVal way to parse the motion information index value of the skip mode or direct mode of the current coding unit.
  • the maxVal determined according to the determined NumOfMvapCand and NumOfHmvpCand is less than or equal to 11.
  • determining the maximum index value according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate history motion information may include: determining the number of motion vector angle prediction candidate motion information and the inter-frame prediction candidate history The maximum value of the number of motion information; the sum of the maximum value and 3 is determined as the maximum index value.
  • the maximum number of candidate motion information in the time domain and MHBSKIP candidate motion information is 4, and the value of maxVal is the list length - 1, therefore, the maximum value of NumOfMvapCand and NumOfHmvpCand, and both of 3 The sum determines maxVal.
  • the decoding device can determine maxVal in the following manner:
  • maxVal ⁇ 11 determined according to the above method, according to the maxVal, when the motion information index value of the skip mode or the direct mode is coded by using the binarization method of truncating the unary code,
  • step S702 according to the number of candidate motion information for motion vector angle prediction and the number of historical motion information for inter prediction candidates, determine the motion information index value of the skip mode or direct mode of the current coding unit, which may include : According to the number of motion vector angle prediction candidate motion information, the number of inter-frame prediction candidate historical motion information, and the frame type of the current image, determine the motion information index value of the skip mode or direct mode of the current coding unit.
  • the frame type can also be considered, that is, the decoding end device can be based on the motion vector angle
  • the number of prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image determine the motion information index value of the skip mode or direct mode of the current coding unit.
  • determine the motion information index value of the skip mode or direct mode of the current coding unit may include: according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image, determine the maximum index value; according to the maximum index value, use the inverse binary value of the truncated unary code Analyze the motion information index value of the skip mode or direct mode of the current coding unit in an optimized manner.
  • the decoder device may also obtain the frame type of the video image (herein referred to as the current image) to which the current coding unit belongs.
  • the frame type may include but not limited to B picture or P picture.
  • the decoder device can determine the maximum index value according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image.
  • determining the maximum index value according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image may include: determining the motion vector angle prediction candidate motion information number and the maximum value of the inter-frame prediction candidate historical motion information number; if the frame type of the current image is a P image, then the sum of the maximum value and 1 is determined as the maximum index value; if the frame of the current image If the type is a B image, the sum of the maximum value and 3 is determined as the maximum index value.
  • the number of MHBSKIP candidate motion information is 1; for a B picture, the number of MHBSKIP candidate motion information is 3. Therefore, when the frame type of the current image is a P image, the sum of the maximum value of NumOfMvapCand and NumOfHmvpCand and 1 can be determined as maxVal. In the case that the frame type of the current image is a B image, the sum of the maximum value of NumOfMvapCand and NumOfHmvpCand and 3 may be determined as maxVal.
  • the determined The value of maxVal will be reduced, thereby saving the bit overhead when encoding the motion information index value in the skip mode or the direct mode by using the binarization method of truncating unary codes, and improving the encoding and decoding performance.
  • the decoding end device may analyze the motion information index value of the skip mode or direct mode of the current coding unit by using the debinarization method of truncated unary code according to the determined maxVal.
  • the corresponding relationship between maxVal and the motion information index value of the skip mode or the direct mode may refer to the relevant information recorded in Table 1.
  • determining the prediction mode of the current coding unit according to the motion information index value of the skip mode or the direct mode and the candidate list of the current coding unit may include: predicting the number of modes according to the effective angle, and skipping The motion information index value of the mode or direct mode determines the prediction mode of the current coding unit.
  • the decoding end device determines the motion information index value of the skip mode or direct mode of the current coding unit according to the above method, it can predict the mode number (ValidMvapModeNum) according to the valid angle, and the motion information of the skip mode or direct mode Information index value, which determines the prediction mode of the current coding unit.
  • determining the prediction mode of the current coding unit according to the number of effective angle prediction modes and the motion information index value of the skip mode or the direct mode may include: if the motion information index value of the skip mode or the direct mode is greater than or is equal to N, when the number of effective angle prediction modes is greater than 0, and the motion information index value of the skip mode or direct mode is less than the sum of N and the number of effective angle prediction modes, it is determined that the prediction mode of the current coding unit is the motion vector angle Prediction mode; when the number of effective angle prediction modes is equal to 0, or the motion information index value of skip mode or direct mode is greater than or equal to the sum of N and the number of effective angle prediction modes, it is determined that the prediction mode of the current coding unit is based on Motion vector prediction mode for historical information.
  • the decoding end device when the decoding end device determines the motion information index value of the skip mode or the direct mode in the above manner, it may determine whether the motion information index value of the skip mode or the direct mode is greater than N.
  • N is a positive integer.
  • N may be the sum of time domain candidate motion information in the candidate list and candidate motion information generated by MHBSKIP.
  • the value of N may be determined according to the frame type of the current image.
  • the decoding end device may also determine whether ValidMvapModeNum is greater than 0, and the motion information index value of the skip mode or direct mode Whether it is less than the sum of N and ValidMvapModeNum.
  • the decoding end device may determine that the prediction mode of the current coding unit is the motion vector angle prediction mode.
  • the decoding end device may determine that the prediction mode of the current coding unit is the motion vector prediction mode based on historical information.
  • the prediction mode of the current coding unit may further include: when the prediction mode of the current coding unit is a motion vector prediction mode based on historical information, if the current coding unit is an inter prediction unit and is not an analog
  • the shot prediction unit is not an angle weighted prediction unit and is not an enhanced time-domain motion vector prediction unit and is not a motion vector angle prediction unit and is not a sub-block time-domain motion information prediction unit, and the number of inter-frame prediction candidate historical motion information is greater than 0, Then update the historical exercise information table; otherwise, do not update the historical exercise information table.
  • the decoding-end device may determine whether the current coding unit satisfies the following condition: the current coding unit is an inter prediction unit, the current coding unit is not an affine prediction unit, the current coding unit is not an angle-weighted prediction unit, the current coding unit is not an enhanced temporal motion vector prediction unit, the current coding unit is not a motion vector angle prediction unit, and the current coding unit is not The sub-block time-domain motion information prediction unit, and the number of historical motion information candidates for inter-frame prediction (ie, NumOfHmvpCand) are greater than 0.
  • the decoding end device may update the historical motion information table (HmvpCandList).
  • the decoding end device may update the historical motion information table according to the motion information, BgcFlag and BgcIndex of the current prediction block.
  • the decoding end device may not update the historical motion information table.
  • the determination of the number of candidate motion information for motion vector angle prediction according to the value of the enhanced time-domain motion vector prediction and motion vector angle prediction may include: when the enhanced time-domain motion vector prediction and motion vector angle prediction When the value of the prediction permission flag is 1, the number of candidate motion information for motion vector angle prediction is determined to be 5, and the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag is 1, indicating that the enhanced time-domain motion vector can be used prediction and motion vector angle prediction; when the value of the enhanced temporal motion vector prediction and motion vector angle prediction permission flag is 0, or the enhanced time domain motion vector prediction and motion vector angle prediction permission flag does not exist in the code stream, Determine the number of candidate motion information for motion vector angle prediction is 0, the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag is 0, or there is no enhanced time-domain motion vector prediction and motion vector angle prediction permission in the code stream Flag indicating that enhanced temporal motion vector prediction and motion vector angle prediction should not be used.
  • the enhanced time domain motion vector prediction and motion vector angle prediction enable flags may be used to indicate whether enhanced time domain motion vector prediction and motion vector angle prediction can be used.
  • the value of the enhanced temporal motion vector prediction and motion vector angle prediction allowed flag is 1, indicating that the enhanced temporal motion vector prediction and motion vector angle prediction can be used; the enhanced temporal motion vector prediction and motion vector angle prediction are allowed A flag with a value of 0 indicates that enhanced temporal motion vector prediction and motion vector angle prediction should not be used.
  • the decoding end device when the decoding end device receives the code stream, it may parse the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flags.
  • the decoding end device can determine that NumOfMvapCand is 5.
  • the decoding end device may determine that NumOfMvapCand is 0.
  • the decoding end device may determine that the enhanced time-domain motion vector prediction and motion vector angle prediction enable flags are 0, That is, the enhanced time-domain motion vector prediction and motion vector angle prediction cannot be used. At this time, the decoding end device may determine that NumOfMvapCand is 0.
  • FIG. 9 is a schematic flow chart of an encoding method provided by an embodiment of the present application, wherein the encoding method can be applied to an encoding end device.
  • the encoding method can include the following steps:
  • Step S900 constructing a candidate list of skip mode or direct mode: traverse each prediction mode in the prediction mode candidate list in order, and for each prediction mode, obtain the motion information of the current coding unit and the skipping of the current coding unit Motion information index value for mode or direct mode.
  • Step S910 Perform motion compensation on the current coding unit according to the motion information of the current coding unit.
  • Step S920 Calculate the rate-distortion cost corresponding to the prediction mode, compare the rate-distortion cost with cost values of other candidate prediction modes, and select the prediction mode corresponding to the smallest rate-distortion cost.
  • Step S930 Carry the motion information index value of the skip mode or the direct mode of the current coding unit corresponding to the prediction mode with the smallest rate-distortion cost into the code stream, and transmit it to the decoding end.
  • step S930 carrying the motion information index value of the skip mode or the direct mode of the current coding unit corresponding to the prediction mode with the smallest rate-distortion cost into the code stream can be implemented by the following steps:
  • Step S931 acquiring the number of candidate motion information for motion vector angle prediction and the number of historical motion information for inter-frame prediction candidates.
  • Step S932 According to the number of candidate motion information for motion vector angle prediction and the number of historical motion information for inter prediction candidates, encode the motion information index value of the skip mode or direct mode of the current coding unit, and carry it into the code stream.
  • the maximum index value (ie maxVal) is no longer fixed at 11, but the number of candidate motion information and the number of candidate historical motion information for inter-frame prediction can be predicted according to the motion vector angle The number is determined.
  • the encoding end device when the encoding end device needs to encode the motion information index value, NumOfMvapCand and NumOfHmvpCand can be obtained.
  • the encoding end device may determine NumOfMvapCand and NumOfHmvpCand through encoding sequence-level high-level syntax.
  • the encoding end device may encode the motion information index value of the skip mode or the direct mode of the current coding unit according to NumOfMvapCand and NumOfHmvpCand, and carry it into the code stream.
  • step S932 encode the motion information index value of the skip mode or direct mode of the current coding unit according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, It may include: determining the maximum index value according to the number of candidate motion information for motion vector angle prediction and the number of historical motion information for inter-frame prediction candidates; according to the maximum index value, encoding the current coding unit in a binarization manner with truncated unary codes Motion information index value for skip mode or direct mode.
  • the encoder device can determine the maximum index value (that is, maxVal) according to the determined NumOfMvapCand and NumOfHmvpCand, and use the binarization method of truncating the unary code according to the maxVal
  • maxVal the maximum index value
  • a motion information index value of a skip mode or a direct mode is encoded for the current coding unit.
  • the maxVal determined according to the determined NumOfMvapCand and NumOfHmvpCand is less than or equal to 11.
  • the encoder device can determine maxVal in the following manner:
  • maxVal ⁇ 11 determined according to the above method, according to the maxVal, when the motion information index value of the skip mode or the direct mode is coded by using the binarization method of truncating the unary code,
  • the determination of the maximum index value based on the number of motion information candidates for motion vector angle prediction and the number of historical motion information candidates for inter-frame prediction may include: predicting the number of motion information candidates for motion vector angle prediction and the number of inter-frame prediction Predict the number of candidate historical motion information and the frame type of the current image to determine the maximum index value.
  • the number of candidate motion information of MHBSKIP corresponding to different frame types may be different, for example, for a P picture, the number of candidate motion information of MHBSKIP is 1; for a B picture, the number of candidate motion information of MHBSKIP is 3.
  • the frame type can also be considered, that is, the encoding end device can be based on the motion
  • the number of vector angle prediction candidate motion information, the number of inter-frame prediction candidate historical motion information, and the frame type of the current image determine the motion information index value of the skip mode or direct mode of the current coding unit.
  • the frame type may include but not limited to B picture or P picture.
  • the encoder device may determine the maximum index value according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image.
  • the number of MHBSKIP candidate motion information is 1; for a B picture, the number of MHBSKIP candidate motion information is 3.
  • the sum of the maximum value of NumOfMvapCand and NumOfHmvpCand and 3 may be determined as maxVal.
  • the determined The value of maxVal will be reduced, thereby saving the bit overhead when encoding the motion information index value in the skip mode or the direct mode by using the binarization method of truncating unary codes, and improving the encoding and decoding performance.
  • the motion information index value of the skip mode or direct mode of the current coding unit may be encoded by using the binarization method of truncating the unary code according to the determined maxVal .
  • the optimization scheme in this embodiment of the present application may include some or all of the following:
  • the motion information index value cu_subtype_index of the skip mode or the direct mode of the current coding unit is parsed according to the frame type of the current image and NumOfMvapCand and NumOfHmvpCand.
  • ValidMvapModeNum is obtained, and it is determined whether the current coding unit type is MVAP mode or HMVP mode according to cu_subtype_index and ValidMvapModeNum.
  • Embodiment 1 encoding method and encoding device
  • Construct a candidate list of skip mode or direct mode Traverse each prediction mode in the prediction mode candidate list in order, and for each prediction mode, obtain the motion information of the current coding unit and the skip mode of the current coding unit Or the motion information index value for direct mode.
  • Embodiment 2 decoding method and decoding device
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • maxVal (3+Max(NumOfMvapCand, NumOfHmvpCand)).
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • maxVal (3+Max(NumOfMvapCand, NumOfHmvpCand)).
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • N 2
  • N 4
  • maxVal (3+Max(NumOfMvapCand, NumOfHmvpCand)).
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • maxVal (3+Max(NumOfMvapCand, NumOfHmvpCand)).
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • the current coding unit type is Hmvp mode.
  • NumOfHmvpCand is num_of_hmvp_cand, where the value range of num_of_hmvp_cand is 0-8.
  • the current coding unit type is Hmvp mode.
  • etmvp_mvap_enable_flag can be used to identify whether to enable ETMVP and MVAP.
  • a value of '1' indicates that enhanced temporal motion vector prediction and motion vector angle prediction can be used; a value of '0' indicates that enhanced temporal motion vector prediction and motion vector angle prediction should not be used.
  • the value of EtmvpMvapEnableFlag is equal to the value of etmvp_mvap_enable_flag.
  • the current prediction unit After the decoding of the current prediction unit (that is, the current coding unit) is completed, if the current prediction unit is an inter prediction unit and is not an enhanced temporal motion vector prediction unit and is not a motion vector angle prediction unit and is not a sub-block temporal motion information prediction unit, And, when NumOfHmvpCand (the amount of motion information that can be updated) is greater than 0, update the historical motion information table HmvpCandList according to the motion information, BgcFlag and BgcIndex of the current prediction block;
  • the current prediction unit is not an inter prediction unit, the current prediction unit is an enhanced temporal motion vector prediction unit, the current prediction unit is a motion vector angle prediction unit, or the current prediction unit is a sub-block temporal motion information prediction At least one of the conditions such as the unit is true, and the historical motion information table is not updated.
  • NumOfHmvpCand the number of motion information that can be updated
  • the current prediction unit is not an inter prediction unit, the current prediction unit is an affine prediction unit, the current prediction unit is an angle weighted prediction unit, the current prediction unit is an enhanced temporal motion vector prediction unit, and the current prediction unit is a motion vector angle prediction unit , or the current prediction unit is a sub-block temporal motion information prediction unit, and at least one of the conditions is satisfied, and the historical motion information table is not updated.
  • FIG. 11 is a schematic structural diagram of a decoding device provided by an embodiment of the present application, wherein the decoding device may include: a decoding module 1110, configured to receive a code stream, analyze the skip mode of the current coding unit or directly The motion information index value of the mode; the construction module 1120 is used to construct the candidate list of the skip mode or the direct mode; the determination module 1130 is used to determine according to the motion information index value and the candidate list of the skip mode or the direct mode of the current coding unit The prediction mode of the current coding unit; the compensation module 1140, configured to acquire the motion information of the current coding unit according to the prediction mode of the current coding unit, and perform motion compensation on the current coding unit.
  • a decoding module 1110 configured to receive a code stream, analyze the skip mode of the current coding unit or directly The motion information index value of the mode
  • the construction module 1120 is used to construct the candidate list of the skip mode or the direct mode
  • the determination module 1130 is used to determine according to the motion information index value and
  • the decoding module 1110 is specifically configured to obtain the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate history motion information; according to the motion vector angle prediction candidate motion information number and the inter-frame prediction candidate history The number of motion information determines the motion information index value of the skip mode or direct mode of the current coding unit.
  • the decoding module 1110 is specifically configured to obtain the number of candidate motion information of the motion vector angle prediction and the number of historical motion information of the inter-frame prediction candidates by analyzing sequence-level high-level syntax.
  • the decoding module 1110 is specifically configured to parse the enhanced time-domain motion vector prediction and motion vector angle prediction enable flags, according to the value of the enhanced time-domain motion vector prediction and motion vector angle prediction enable flags, Determine the number of candidate motion information for motion vector angle prediction; and analyze the index of the number of historical motion information for inter-frame prediction candidates, and determine the inter-frame prediction according to the value of the index for the number of historical motion information for inter-frame prediction candidates The number of candidate historical motion information; wherein, the enhanced time-domain motion vector prediction and motion vector angle prediction enable flags are used to indicate that the enhanced time-domain motion vector prediction mode and the motion vector angle prediction mode are turned on at the same time, or, the enhanced time-domain motion vector prediction mode is turned off at the same time Motion Vector Prediction Mode and Motion Vector Angle Prediction Mode.
  • the determining module 1130 is specifically configured to determine the current encoding according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image.
  • the determining module 1130 is specifically configured to determine the maximum index value according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information, as well as the frame type of the current image; According to the maximum index value, the motion information index value of the skip mode or the direct mode of the current coding unit is parsed by using a truncated unary code debinarization manner.
  • the determining module 1130 is specifically configured to determine the maximum value of the number of candidate motion information for motion vector angle prediction and the number of historical motion information for inter-frame prediction candidates; if the frame type of the current image If it is a P image, the sum of the maximum value and 1 is determined as the maximum index value; if the frame type of the current image is a B image, the sum of the maximum value and 3 is determined as the maximum index value value.
  • the determining module 1130 is specifically configured to determine that the prediction mode of the current coding unit is the motion vector angle prediction mode according to the number of effective angle prediction modes and the motion information index value of the skip mode or direct mode It is also a motion vector prediction mode based on historical information.
  • the determining module 1130 is specifically configured to: if the motion information index value of the skip mode or direct mode is greater than or equal to N: when the number of effective angle prediction modes is greater than 0, and the When the motion information index value of skip mode or direct mode is less than the sum of N and the number of effective angle prediction modes, it is determined that the prediction mode of the current coding unit is a motion vector angle prediction mode; when the effective angle prediction mode number is equal to 0, or, when the motion information index value of the skip mode or direct mode is greater than or equal to the sum of N and the effective angle prediction mode number, it is determined that the prediction mode of the current coding unit is based on historical information motion vector prediction mode.
  • the determining module 1130 is further configured to: when the prediction mode of the current coding unit is a motion vector prediction mode based on historical information, if the current coding unit is an inter prediction unit and is not an affine The prediction unit is not an angle-weighted prediction unit and is not an enhanced time-domain motion vector prediction unit and is not a motion vector angle prediction unit and is not a sub-block time-domain motion information prediction unit, and the number of inter-frame prediction candidate historical motion information is greater than 0 , the historical exercise information table is updated; otherwise, the historical exercise information table is not updated.
  • the decoding module 1110 is specifically configured to determine the number of candidate motion information of the motion vector angle prediction when the value of the enhanced time-domain motion vector prediction and motion vector angle prediction enable flag is 1 is 5; wherein, the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag is 1, indicating that the current coding unit can use enhanced time-domain motion vector prediction and motion vector angle prediction; when the enhanced time-domain The value of the motion vector prediction and motion vector angle prediction permission flags is 0, or when the enhanced time-domain motion vector prediction and motion vector angle prediction permission flags do not exist in the code stream, determine the motion vector angle prediction candidate motion information The number is 0; wherein, the value of the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag is 0, or the enhanced time-domain motion vector prediction and motion vector angle prediction permission flag does not exist in the code stream , indicating that the current coding unit should not use enhanced temporal motion vector prediction and motion vector angle prediction.
  • FIG. 12 is a schematic structural diagram of an encoding device provided by an embodiment of the present application, wherein the encoding device may include: a construction module 1210, configured to construct a candidate list for skip mode or direct mode: traverse in order For each prediction mode in the prediction mode candidate list, for each prediction mode, obtain the motion information of the current coding unit and the motion information index value of the skip mode or the direct mode of the current coding unit; the compensation module 1220 is used to The motion information of the current coding unit is used to perform motion compensation on the current coding unit; the determination module 1230 is used to calculate the rate-distortion cost value corresponding to the prediction mode, and compare the rate-distortion cost value with the cost values of other candidate prediction modes, Select the prediction mode corresponding to the smallest rate-distortion cost value; the encoding module 1240 is used to carry the skip mode or direct mode motion information index value of the current coding unit corresponding to the prediction mode with the smallest rate-distortion cost value into the code
  • the encoding module 1240 is specifically configured to obtain the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate history motion information; according to the motion vector angle prediction candidate motion information number and the inter-frame prediction candidate history
  • the number of motion information is to encode the motion information index value of the skip mode or direct mode of the current coding unit, and carry it into the code stream.
  • the encoding module 1240 is specifically configured to determine a maximum index value according to the number of motion vector angle prediction candidate motion information and the number of inter-frame prediction candidate historical motion information; according to the maximum index value,
  • the motion information index value of the skip mode or the direct mode of the current coding unit is coded in a binarization manner of truncated unary code.
  • the encoding module 1240 is specifically configured to determine the maximum index value according to the number of motion vector angle prediction candidate motion information, the number of inter-frame prediction candidate historical motion information, and the frame type of the current image.
  • FIG. 13 is a schematic diagram of a hardware structure of a decoder device provided by an embodiment of the present application.
  • the decoding end device may include a processor 1301 and a machine-readable storage medium 1302 storing machine-executable instructions.
  • the processor 1301 and the machine-readable storage medium 1302 can communicate via the system bus 1303 .
  • the processor 1301 can execute the decoding method of the decoding end device described above.
  • the machine-readable storage medium 1302 referred to herein may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like.
  • the machine-readable storage medium can be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as CD, DVD, etc.), or similar storage media, or a combination of them.
  • machine-readable storage medium where machine-executable instructions are stored in the machine-readable storage medium, and when the machine-executable instructions are executed by a processor, the decoding end device described above is realized the decoding method.
  • the machine-readable storage medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device, among others.
  • FIG. 14 is a schematic diagram of a hardware structure of an encoding end device provided by an embodiment of the present application.
  • the encoding end device may include a processor 1401 and a machine-readable storage medium 1402 storing machine-executable instructions.
  • the processor 1401 and the machine-readable storage medium 1402 can communicate via the system bus 1403 .
  • the processor 1401 can execute the encoding method of the encoding end device described above.
  • the machine-readable storage medium 1402 referred to herein may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like.
  • the machine-readable storage medium can be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as CD, DVD, etc.), or similar storage media, or a combination of them.
  • a machine-readable storage medium where machine-executable instructions are stored in the machine-readable storage medium, and when the machine-executable instructions are executed by a processor, the encoding terminal device described above is realized encoding method.
  • the machine-readable storage medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
  • a camera device including the decoding device and/or the encoding device in any of the above embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Peptides Or Proteins (AREA)
  • Steroid Compounds (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

本申请提供一种解码方法、编码方法、装置、设备及机器可读存储介质。该解码方法的一个例子,对于接收到的码流,通过解析当前编码单元的跳过模式或直接模式的运动信息索引值,可构建跳过模式或直接模式的候选列表,并确定当前编码单元的预测模式,从而可根据从当前编码单元的预测模式获取的当前编码单元的运动信息对当前编码单元进行运动补偿。其中,当前编码单元的跳过模式或直接模式的运动信息索引值是根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数解析得到的。

Description

解码方法、编码方法、装置、设备及存储介质 技术领域
本申请涉及视频编解码技术,尤其涉及一种解码方法、编码方法、装置、设备及机器可读存储介质。
背景技术
完整的视频编码一般包括预测、变换、量化、熵编码、滤波等操作。预测可以分为帧内预测和帧间预测,帧内预测是利用周围已编码单元作为参考对当前未编码单元进行预测,有效去除空域上的冗余。帧间预测是使用邻近已编码图像对当前图像进行预测,有效去除时域上的冗余。
发明内容
有鉴于此,本申请提供一种解码方法、编码方法、装置、设备及机器可读存储介质。
根据本申请实施例的第一方面,提供一种解码方法,包括:接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值;构建跳过模式或直接模式的候选列表;根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式;根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿;其中,所述解析当前编码单元的跳过模式或直接模式的运动信息索引值,包括:获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值。
根据本申请实施例的第二方面,提供一种编码方法,包括:构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值;根据当前编码单元的运动信息,对当前编码单元进行运动补偿;计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的代价值进行比较,选择最小的率失真代价值所对应的预测模式;将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,传送给解码端;其中,所述将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,包括:获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
根据本申请实施例的第三方面,提供一种解码装置,包括:解码模块,用于接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值;构建模块,用于构建跳过模式或直接模式的候选列表;确定模块,用于根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式;补偿模块,用于根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿;其中,所述解码模块,具体用于获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值。
根据本申请实施例的第四方面,提供一种编码装置,包括:构建模块,用于构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值;补偿模块,用于根据当前编码单元的运动信息,对当前编码单元进行运动补偿;确定模块,用于计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的代价值进行比较,选择最小的率失真代价值所对应的预测模式;编码模块,用于将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或 直接模式的运动信息索引值携带进码流,传送给解码端;其中,所述编码模块,具体用于获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
根据本申请实施例的第五方面,提供一种解码端设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现第一方面提供的解码方法。
根据本申请实施例的第六方面,提供一种编码端设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现第二方面提供的编码方法。
根据本申请实施例的第七方面,提供一种机器可读存储介质,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现如第一方面或第二方面所述的方法。
本申请实施例的编码方法,通过接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值,构建跳过模式或直接模式的候选列表,根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式,并根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿,在解析当前编码单元的跳过模式或直接模式的运动信息索引值时,通过获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,并根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定当前编码单元的跳过模式或直接模式的运动信息索引值,提高了跳过模式或直接模式的运动信息索引值确定的灵活性,提升了编解码性能。
附图说明
图1a和图1b是本申请一示例性实施例示出的一种编解码方法的示意图;
图2是本申请一示例性实施例示出的一种SBTMVP模式的块划分示意图;
图3是本申请一示例性实施例示出的一种Skip和Direct模式的空域相邻块位置示意图;
图4是本申请一示例性实施例示出的一种MVAP模式下的模式索引与模式的对应关系示意图;
图5是本申请一示例性实施例示出的一种运动矢量角度预测样本的位置示意图;
图6是本申请一示例性实施例示出的一种HMVP方法的解码流程图;
图7是本申请一示例性实施例示出的一种解码方法的流程示意图;
图8是本申请一示例性实施例示出的另一种解码方法的流程示意图;
图9是本申请一示例性实施例示出的一种编码方法的流程示意图;
图10是本申请一示例性实施例示出的另一种编码方法的流程示意图;
图11是本申请一示例性实施例示出的一种解码装置的结构示意图;
图12是本申请一示例性实施例示出的一种编码装置的结构示意图;
图13是本申请一示例性实施例示出的一种解码端设备的硬件结构示意图;
图14是本申请一示例性实施例示出的一种编码端设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数 形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例涉及的部分技术术语以及现有视频编解码的主要流程进行简单说明。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对先对本申请实施例涉及的部分技术术语进行简单说明。
一、技术术语:
1、帧间预测(Inter Prediction):帧间预测是指利用视频时域的相关性,由于视频序列通常包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。
2、预测像素(Prediction Signal):指从已经编解码的像素中导出的像素值,通过原始像素与预测像素之差获得残差,进而进行残差变换量化以及系数编码。
示例性的,帧间的预测像素指的是当前图像块从参考帧(重建像素帧)导出的像素值,由于像素位置离散,需要通过插值运算来获取最终的预测像素。预测像素与原始像素越接近,两者相减得到的残差能量越小,编码压缩性能越高。
3、运动矢量(Motion Vector,简称MV):在帧间编码中,用MV表示当前编码块与其参考图像中的最佳匹配块之间的相对位移。每个划分的块(可以称为子块)都有相应的运动矢量需要传送到解码端。若对每个子块的MV进行独立编码和传输,特别是划分成小尺寸的子块,需要消耗相当多的比特。为了降低用于编码MV的比特数,视频编码中会利用相邻图像块之间的空间相关性,根据相邻已编码块的MV对当前待编码块的MV进行预测,然后对预测差进行编码。这样可以有效地降低表示MV的比特数。基于此,在对当前图像块的MV编码过程中,一般首先使用相邻已编码块的MV预测当前图像块的MV,然后对MV的预测值(Motion Vector Prediction,简称MVP)与运动矢量的真正估值之间的差值,即运动矢量残差(MotionVector Difference,简称MVD)进行编码,从而有效降低MV的编码比特数。
4、运动信息(Motion Information):由于MV表示当前图像块与某个参考图像中的最佳匹配块之间的相对位移,为了准确获取指向图像块的信息,除了MV信息,还需要通过参考图像的索引信息来表示使用了哪个参考图像。对于当前图像,通常会基于一定的原则,建立一个参考图像列表,参考图像索引信息则表示当前图像块采用了参考图像列表中的第几个参考图像。此外,很多编码技术还支持多个参考图像列表,因此还需要一个索引值表示使用了哪一个参考图像列表,该索引值可以称为参考方向。视频编码中,MV、参考帧索引、参考方向等与运动相关的编码信息统称为运动信息。
5、跳过(Skip)模式:Skip模式是一种帧间预测中的跳过模式,它不需要传输残差信息,也不需要传输MVD,只需要传输运动信息的索引即可,解码端通过解析索引即可推导编码单元的运动信息,获取运动信息后将预测值直接作为重建值即可。
6、直接(Direct)模式:Direct模式是一种帧间预测中的直接模式,它需要传输残差信息,但不需要传输MVD,只需要传输运动信息的索引即可,解码端通过解析索引即可推导编码单元的运动信息,获取运动信息后将预测值加上残差值得到重建值。
7、截断一元码的二值化与反二值化方法:synElVal与二元符号串的关系可以如表1所示:
表1、synElVal与二元符号串的关系(截断一元码)
Figure PCTCN2022097124-appb-000001
Figure PCTCN2022097124-appb-000002
编码端可以由maxVal和需要编码的数值synElVal查表1得到需要编码的二元符号串,解码端可以由二元符号串和maxVal根据表1唯一得到synElVal的值。
8、率失真原则(Rate-Distortion Optimized,简称RDO):评价编码效率的指标包括:码率和峰值信噪比(Peak Signal to Noise Ratio,简称PSNR)。码率越小,则压缩率越大;PSNR越大,重建图像质量越好。在模式选择的时候,判别公式实质上也就是对二者的综合评价。
模式对应的代价:J(mode)=D+λ*R。其中,D表示失真(Distortion),通常使用SSE(差值均方和)指标来衡量,SSE是指重建块与源图像块的差值均方和;λ是拉格朗日乘子;R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
在模式选择时,若使用RDO原则对编码模式做比较,通常可保证编码性能最佳。
二、下面再对视频编解码的主要流程进行简单说明。
请参考图1a,以视频编码为例,视频编码一般包括预测、变换、量化、熵编码等过程,进一步地,编码过程还可以按照图1b的框架来实现。
其中,预测可以分为帧内预测和帧间预测,帧内预测是利用周围已编码块作为参考对当前未编码块进行预测,有效去除空域上的冗余。帧间预测是使用邻近已编码图像对当前图像进行预测,有效去除时域上的冗余。
变换是指将图像从空间域转换至变换域,利用变换系数对图像加以表示。绝大多数图像都含有较多平坦区域和缓慢变化的区域,适当的变换可以使图像由在空间域的分散分布转换为在变换域的相对集中分布,去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。
熵编码是一种无损编码方式,可以把一系列元素符号转变为一个用来传输或存储的二进制码流,输入的符号可能包括量化后的变换系数、运动矢量信息、预测模式信息,变换量化相关语法等。熵编码可以有效地去除视频元素符号的冗余。
上述是以编码为例进行介绍,视频解码与视频编码的过程是相对的,即视频解码通常包括熵解码、预测、反量化、反变换、滤波等过程,各个过程的实现原理与熵编码相同或相似。
三、下面再分别对时域运动矢量预测模式(Temporal Motion Vector Prediction,简称TMVP)/子块时域运动信息预测(Sub-Block Temporal Motion Vector Prediction,简称SBTMVP)、MHBSKIP、运动矢量角度预测(Motion Vector Angle Prediction,简称MVAP)、基于历史信息的运动矢量预测(History-based Motion Vector Prediction,简称HMVP),以及增强时域运动矢量预测(Enhanced Temporal Motion Vector Prediction,ETMVP)技术的实现进行简单说明。
3.1、TMVP/SBTMVP
在AVS3中,TMVP和SBTMVP技术目前已经采纳到标准中。若当前块的宽度和高度均大于等于16,则当前块的时域运动信息为SBTMVP产生的运动信息,否则当前块的时域运动信息为TMVP产生的运动信息。
TMVP:首先找到时域参考帧中与当前编码单元预设位置相同位置的运动信息,然后经过缩放后作为当前块的时域运动信息,其中对于P图像,时域参考帧为list0的第一帧,对于B图像,时域参考帧为list1的第一帧。
SBTMVP:设当前块的尺寸为2Mx2N,示意图可以如图2所示,首先找到时域参考 帧中与当前编码单元位置相同的区域,然后将该区域划分成4个大小为MxN的子块,获取每个子块在时域参考帧对应位置的运动信息,经过缩放后作为当前块对应位置子块的运动信息,最后每个子块的运动信息进行运动补偿得到预测值。
3.2、MHBSKIP
MHBSKIP是AVS中Skip和Direct模式下的一种预测模式,其利用当前编码单元的空域相邻块的运动信息来预测当前编码单元的运动信息。
MHBSKIP模式通过当前编码单元空域相邻块构建双向、后向和前向三个运动信息来给当前编码单元进行预测。
示例性的,Skip和Direct模式的空域相邻块位置可以如图3所示。
3.3、MVAP
在AVS3中,MVAP技术目前已经采纳到标准中,MVAP技术是将当前编码单元分成子块,然后利用最多5种预测角度,将每个子块按照预先设置的角度从周围空域相邻块拷贝运动信息。这样,就可以达到不用划分编码单元,即可为当前编码单元内部提供更多运动信息,从而提升编码性能。
示例性的,MVAP技术中,模式索引与模式的对应关系可以分别参见表2和图4。
表2
模式索引 模式描述
0 Horizontal(水平)
1 Vertical(垂直)
2 Horizontal_Up(水平偏上)
3 Horizontal_Down(水平偏下)
4 Vertical_Right(垂直偏右)
具体步骤为:
3.3.1、导出有效运动矢量角度预测模式数(ValidMvapModeNum)。
令W和H是当前解码单元的宽度和高度,m和n的分别是W/4和H/4,(x,y)是当前解码单元左上角的像素坐标。A0,A1,…,Am-1是当前块左下角位置的4×4块,Am,Am+1,…,Am+n-1是当前块左侧位置所在的4×4块,Am+n是当前块左上角位置所在的4×4块,Am+n+1,Am+n+2,…,A2m+n是当前块上边位置所在的4×4块,A2m+n+1,A2m+n+1,…,A2m+2n是当前块右上角位置所在的4×4块。
示例性的,运动矢量角度预测样本的位置示意图可以如图5所示。
示例性的,若i的取值范围是0~m+n,则Ai的坐标分别是(x-1,y+H+W-4×i-1);如果i的取值范围是m+n+1~2m+2n,则Ai的坐标分别为(x+4×i-W-H-1,y-1)。
按以下步骤导出ValidMvapModeNum和ValidMvapModeFlag[s](s=0~4):
3.3.1.1、将ValidMvapModeNum初始化为0,ValidMvapModeFlag[s]初始化为0(s=0~4);
3.3.1.2、若满足以下条件之一,则ValidMvapModeNum等于0,ValidMvapModeFlag[s]等于0(s=0~4):
3.3.1.2.1、EtmvpMvapEnableFlag的值为0。
3.3.1.2.2、W小于8,或H小于8,或W和H均等于8。
3.3.1.3、否则,按下列步骤更新ValidMvapModeNum和ValidMvapModeFlag[s]的值:
3.3.1.3.1、若Am-1+H/8与Am+n-1块均采用帧间预测模式且运动信息不同,则ValidMvapModeFlag[0]等于1,并将ValidMvapModeNum的值加1;
3.3.1.3.2、若Am+n+1+W/8与Am+n+1块均采用帧间预测模式且运动信息不同,则ValidMvapModeFlag[1]等于1,并将ValidMvapModeNum的值加1;
3.3.1.3.3、若Am+n-1与Am+n块均采用帧间预测模式且运动信息不同,或Am+n和Am+n+1块均采用帧间预测模式且运动信息不同,则ValidMvapModeFlag[2]等于1, 并将ValidMvapModeNum的值加1;
3.3.1.3.4、若AW/8-1与Am-1块均采用帧间预测模式且运动信息不同,或Am-1与Am-1+H/8块均采用帧间预测模式且运动信息不同,则ValidMvapModeFlag[3]等于1,并将ValidMvapModeNum的值加1;
3.3.1.3.5、若Am+n+1+W/8与A2m+n+1块均采用帧间预测模式且运动信息不同,或A2m+n+1与A2m+n+1+H/8块均采用帧间预测模式且运动信息不同,则ValidMvapModeFlag[4]等于1,并将ValidMvapModeNum的值加1。
3.3.2、填充参考运动信息列表neighborMotions[i](i=0~2m+2n)。
令neighborMotions[i]是参考运动信息列表中的第i个运动信息(interPredRefMode,mvE0,mvE1,refIndexL0,refIndexL1),其中i的取值范围是0~2m+2n。
若Ai位置空域存储单元的运动信息“可用”,则Ai位置存储单元的运动信息记为motionInfoAi(i=0~2m+2n)。
3.3.2.1、填充neighborMotions[0]
3.3.2.1.1、若A0位置空域存储单元的运动信息“不可用”,neighborMotions[0]的预测参考模式interPredRefMode设为“PRED_List0”,neighborMotions[0]的mvE0设为零矢量,neighborMotions[0]的refIndexL0设为0;
3.3.2.1.2、否则,neighborMotions[0]设为motionInfoA0。
3.3.2.2、按以下步骤从小到大依次遍历Ai,填充neighborMotions[i]。
3.3.2.2.1、如果Ai位置空域存储单元的运动信息“可用”,neighborMotions[i]为motionInfoAi;
3.3.2.2.2、否则,neighborMotions[i]等于neighborMotions[i-1]。
3.3.3、导出运动信息阵列MotionArray。
根据curMvapMode和neighborMotions确定当前编码单元内部子块的运动信息阵列MotionArray[i][j](interPredRefMode,MvE0,MvE1,fIndexL0,RefIndexL1),其中i=0~(W>>3)-1,j=0~(H>>3)-1,(i,j)为当前编码单元内的8×8子块的索引,i为子块的水平索引值,j为子块的垂直索引值。对每个子块进行遍历,导出运动矢量角度预测的子块运动信息阵列MotionArray,并将BgcFlag和BgcIndex置零。
Figure PCTCN2022097124-appb-000003
3.4、HMVP
基于历史信息的运动矢量预测方法是新一代视频编码标准AVS3中采纳的技术,其原理是利用先前的编码块的运动信息来预测当前编码单元的运动信息。通过建立一个 HMVP的Table来保存先前编码单元的运动信息,当解码一个块后,去更新该HMVP的Table。因此,对于当前编码单元,始终有HMVP的Table中的运动信息可以利用,提高了预测精度。
示例性的,HMVP方法的解码流程图可以如图6所示。
3.5、ETMVP
在AVS3中,ETMVP技术目前已经采纳到标准中,首先找到时域参考帧中与当前编码单元位置相同的区域,然后该区域内的每个8x8块所在的时域运动信息存储单元中运动矢量缩放值作为第一个候选;然后对该区域进行左右上下偏移8个亮度样本作为后续的候选,在得到各个候选之后,需要对候选进行查重,然后放入候选运动矢量列表,其中对于P图像,时域参考帧为list0的第一帧,对于B图像,时域参考帧为list1的第一帧。最后对列表中的每个候选获取8x8子块的运动信息进行运动补偿得到预测值。
相关技术中,skip/direct模式的列表构建顺序为:时域+MHBSKIP+MVAP+HMVP,即按照时域、MHBSKIP、MVAP和HMVP的顺序构建skip/direct模式的候选列表。
若当前图像为P图像,时域会产生1个候选运动信息,MHBSKIP会产生1个候选的运动信息,MVAP和HMVP一共会产生8个候选的运动信息,列表的长度为1+1+8=10。
若当前图像为B图像,时域会产生1个候选运动信息,MHBSKIP会产生3个候选的运动信息,MVAP和HMVP一共会产生8个候选的运动信息,列表的长度为1+3+8=12。
其中,MVAP和HMVP一共产生8个候选的运动信息,例如MVAP产生ValidMvapModeNum个候选的运动信息,HMVP产生剩下的8-ValidMvapModeNum个候选的运动信息,ValidMvapModeNum取值范围为0~5。
为了表示每个不同的候选运动信息,需要使用当前编码单元的skip模式或direct模式的运动信息索引值cu_subtype_index来进行标识。目前cu_subtype_index的取值范围为0~11,采用截断一元码进行二值化编码,maxVal等于11。
然而实际上,由于P图像和B图像会产生不同长度的候选列表,并且HMVP和MVAP允许产生的最大候选运动信息的个数也不固定,cu_subtype_index的取值范围也不固定,若固定使用maxVal等于11来编码cu_subtype_index会造成比特开销的冗余。
为了提高索引值确定的灵活性,减少编码冗余从而提升编解码性能,本申请实施例的优化方案可以包括以下部分或全部:
首先,获取高层语法,得到运动矢量角度预测候选运动信息个数(NumOfMvapCand)和帧间预测候选历史运动信息个数(NumOfHmvpCand),获取当前图像的帧类型。
然后,根据当前图像的帧类型和NumOfMvapCand以及NumOfHmvpCand来解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
最后,获取ValidMvapModeNum,根据cu_subtype_index和ValidMvapModeNum来确定当前编码单元类型是MVAP模式还是HMVP模式。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图7,为本申请实施例提供的一种解码方法的流程示意图,其中,该解码方法可以应用于解码端设备,如图7所示,该解码方法可以包括以下步骤:
步骤S700、接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值。
步骤S710、构建跳过模式或直接模式的候选列表。
步骤S720、根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式。
步骤S730、根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿。
如图8所示,步骤S700中,解析当前编码单元的跳过模式或直接模式的运动信息 索引值,可以通过以下步骤实现:
步骤S701、获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数。
步骤S702、根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定当前编码单元的跳过模式或直接模式的运动信息索引值。
本申请实施例中,考虑到HMVP和MVAP允许产生的最大候选运动信息的个数并不固定,跳过模式或直接模式的运动信息索引值的取值范围也并不固定,因而,为了提高跳过模式或直接模式的运动信息索引值确定的灵活性,最大索引值(即maxVal)不再固定为11,而是可以根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数确定。
示例性的,当解码端设备接收到码流时,可以获取运动矢量角度预测候选运动信息个数(即NumOfMvapCand)和帧间预测候选历史运动信息个数(即NumOfHmvpCand)。
在一些实施例中,解码端设备可以通过解析序列级高层语法,获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数。
解码端设备获取到运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数时,可以根据获取到的运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数确定当前编码单元的跳过模式或直接模式的运动信息索引值。
在一个示例中,上述通过解析序列级高层语法,获取所述运动矢量角度预测候选运动信息个数和所述帧间预测候选历史运动信息个数,可以包括:解析增强时域运动矢量预测和运动矢量角度预测允许标志,根据增强时域运动矢量预测和运动矢量角度预测允许标志的取值,确定运动矢量角度预测候选运动信息个数;以及,解析帧间预测候选历史运动信息个数索引,根据所述帧间预测候选历史运动信息个数索引的取值,确定帧间预测候选历史运动信息个数。
示例性的,可以通过序列级高层语法,分别使用增强时域运动矢量预测和运动矢量角度预测允许标志(etmvp_mvap_enable_flag)和帧间预测候选历史运动信息个数索引(num_of_hmvp_cand)来确定运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数。
示例性的,增强时域运动矢量预测和运动矢量角度预测允许标志用于指示同时开启增强时域运动矢量预测模式和运动矢量角度预测模式,或,同时关闭增强时域运动矢量预测模式和运动矢量角度预测模式。
示例性的,etmvp_mvap_enable_flag的取值范围为0~1,num_of_hmvp_cand的取值范围为0~8。
示例性的,解码端设备可以分别通过解析etmvp_mvap_enable_flag的取值,确定NumOfMvapCand;以及,通过解析num_of_hmvp_cand的取值,确定NumOfHmvpCand。
例如,解码端设备可以依据etmvp_mvap_enable_flag的取值,按照以下方式确定NumOfMvapCand:
NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0
其中,当etmvp_mvap_enable_flag取值为1时,NumOfMvapCand的取值为5;当etmvp_mvap_enable_flag取值不为1时,NumOfMvapCand的取值为0。
即当增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1时,确定所述运动矢量角度预测候选运动信息个数为5;其中,增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1,表示当前编码单元可使用增强时域运动矢量预测和运动矢量角度预测,即当前编码单元同时使能增强时域运动矢量预测和运动矢量角度预测。
当增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,确定运动矢量角度预测候选运动信息个数为0;其中,增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,或,码流中不存在所述增强时域运动矢量预测和运动矢量角度预测 允许标志,表示当前编码单元不应使用增强时域运动矢量预测和运动矢量角度预测,即当前编码单元同时不使能增强时域运动矢量预测和运动矢量角度预测。
示例性的,解码端设备可以将num_of_hmvp_cand的取值作为NumOfHmvpCand。
在一个示例中,上述根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定当前编码单元的跳过模式或直接模式的运动信息索引值,可以包括:根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值;根据最大索引值,采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值。
示例性的,当按照上述方式确定了NumOfMvapCand和NumOfHmvpCand时,解码端设备可以根据所确定的NumOfMvapCand和NumOfHmvpCand,确定最大索引值(即maxVal),并根据该maxVal,采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值。示例性的,根据所确定的NumOfMvapCand和NumOfHmvpCand确定的maxVal小于等于11。
作为一种示例,根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值,可以包括:确定运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数中的最大值;将该最大值与3二者之和,确定为最大索引值。示例性的,考虑到时域候选运动信息和MHBSKIP的候选运动信息的最大数量为4,而maxVal的取值为列表长度-1,因而,可以依据NumOfMvapCand和NumOfHmvpCand中的最大值,与3二者之和,确定maxVal。
示例性的,解码端设备可以依据以下方式确定maxVal:
maxVal=(3+Max(NumOfMvapCand,NumOfHmvpCand))。
其中,由于Max(NumOfMvapCand,NumOfHmvpCand)≤8,因此,按照上述方式确定的maxVal≤11,根据该maxVal,采用截断一元码的二值化方式编码跳过模式或直接模式的运动信息索引值时,需要的比特数会小于或等于maxVal=11的情况下需要的比特数,从而,利用本申请实施例提供的方式可以较大概率地减少编码跳过模式或直接模式的运动信息索引值所需比特数,减少编解码开销,提高编解码性能。
在一些实施例中,步骤S702中、根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定当前编码单元的跳过模式或直接模式的运动信息索引值,可包括:根据运动矢量角度预测候选运动信息个数、帧间预测候选历史运动信息个数以及当前图像的帧类型,确定当前编码单元的跳过模式或直接模式的运动信息索引值。
示例性的,考虑到不同帧类型对应的MHBSKIP的候选运动信息的数量可以不同,例如,对于P图像,MHBSKIP的候选运动信息的数量为1个;对于B图像,MHBSKIP的候选运动信息的数量为3个。因而,为了提高跳过模式或直接模式的运动信息索引值确定的灵活性,在确定跳过模式或直接模式的运动信息索引值时,还可以考虑帧类型,即解码端设备可以根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定当前编码单元的跳过模式或直接模式的运动信息索引值。
在一个示例中,上述根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定当前编码单元的跳过模式或直接模式的运动信息索引值,可包括:根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值;根据最大索引值,采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值。
示例性的,解码端设备除了可以按照上述实施例中描述的方式获取NumOfMvapCand和NumOfHmvpCand之外,还可以获取当前编码单元所属视频图像(本文中称为当前图像)的帧类型。示例性的,帧类型可以包括但不限于B图像或P图像。
示例性的,解码端设备可以根据运动矢量角度预测候选运动信息个数和帧间预测 候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值。
作为一种示例,上述根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值,可以包括:确定运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数中的最大值;若当前图像的帧类型为P图像,则将该最大值与1二者之和,确定为最大索引值;若当前图像的帧类型为B图像,则将该最大值与3二者之和,确定为最大索引值。
示例性的,考虑到对于P图像,MHBSKIP的候选运动信息的数量为1个;对于B图像,MHBSKIP的候选运动信息的数量为3个。因而,在当前图像的帧类型为P图像的情况下,可以将NumOfMvapCand和NumOfHmvpCand中的最大值,与1二者之和,确定为maxVal。在当前图像的帧类型为B图像的情况下,可以将NumOfMvapCand和NumOfHmvpCand中的最大值,与3二者之和,确定为maxVal。
由于对于帧类型为P图像的情况,MHBSKIP的候选运动信息的数量取值为1,与不考虑帧类型,而直接将MHBSKIP的候选运动信息的数量设置为3的实现方案相比,所确定的maxVal的取值会降低,从而,可以节省采用截断一元码的二值化方式对跳过模式或直接模式的运动信息索引值进行编码时的比特开销,提高编解码性能。
示例性的,当解码端设备按照上述方式确定了maxVal时,可以根据所确定的maxVal,采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值。示例性的,maxVal与跳过模式或直接模式的运动信息索引值的对应关系可以参见表1所记载的相关信息。
在一些实施例中,步骤S720中,根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式,可以包括:根据有效角度预测模式数,以及跳过模式或直接模式的运动信息索引值,确定当前编码单元的预测模式。
示例性的,当解码端设备按照上述方式确定了当前编码单元的跳过模式或直接模式的运动信息索引值时,可以根据有效角度预测模式数(ValidMvapModeNum),以及跳过模式或直接模式的运动信息索引值,确定当前编码单元的预测模式。
在一个示例中,根据有效角度预测模式数,以及跳过模式或直接模式的运动信息索引值,确定当前编码单元的预测模式,可以包括:若跳过模式或直接模式的运动信息索引值大于或等于N,则当有效角度预测模式数大于0,且跳过模式或直接模式的运动信息索引值小于N与有效角度预测模式数二者之和时,确定当前编码单元的预测模式为运动矢量角度预测模式;当有效角度预测模式数等于0,或,跳过模式或直接模式的运动信息索引值大于或等于N与有效角度预测模式数二者之和时,确定当前编码单元的预测模式为基于历史信息的运动矢量预测模式。
示例性的,解码端设备按照上述方式确定跳过模式或直接模式的运动信息索引值时,可确定跳过模式或直接模式的运动信息索引值是否大于N。示例性的,N为正整数。
示例性的,N可以为候选列表中时域候选运动信息与MHBSKIP产生的候选运动信息的总和。示例性的,N的取值可以根据当前图像的帧类型确定。
作为一种示例,若当前图像的帧类型为P图像,则N=2;若当前图像的帧类型为B图像,则N=4。
示例性的,当解码端设备确定了跳过模式或直接模式的运动信息索引值大于或等于N时,解码端设备还可以确定ValidMvapModeNum是否大于0,以及跳过模式或直接模式的运动信息索引值是否小于N与ValidMvapModeNum二者之和。
当ValidMvapModeNum大于0,且跳过模式或直接模式的运动信息索引值小于N与ValidMvapModeNum二者之和,即运动矢量角度预测模式产生了候选运动信息,且跳过模式或直接模式的运动信息索引值对应的候选运动信息指向运动矢量角度预测模式产生的候选运动信息时,解码端设备可以确定当前编码单元的预测模式为运动矢量角度预测模式。
当ValidMvapModeNum等于0,或,跳过模式或直接模式的运动信息索引值大于或等于N与有效角度预测模式数二者之和,即运动矢量角度预测模式未产生候选运动信息,且跳过模式或直接模式的运动信息索引值对应的候选运动信息指向基于历史信息的运动矢量预测模式产生的候选运动信息时,解码端设备可以确定当前编码单元的预测模式为基于历史信息的运动矢量预测模式。
在一些实施例中,上述确定当前编码单元的预测模式之后,还可包括:当当前编码单元的预测模式为基于历史信息的运动矢量预测模式时,若当前编码单元为帧间预测单元且不是仿射预测单元且不是角度加权预测单元且不是增强时域运动矢量预测单元且不是运动矢量角度预测单元且不是子块时域运动信息预测单元,以及,帧间预测候选历史运动信息个数大于0,则更新历史运动信息表;否则,不更新所述历史运动信息表。
示例性的,当解码端设备按照上述实施例中描述的方式确定当前编码单元的预测模式为基于历史信息的运动矢量预测模式时,解码端设备可以确定当前编码单元是否满足以下条件:当前编码单元为帧间预测单元、当前编码单元不是仿射预测单元、当前编码单元不是角度加权预测单元、当前编码单元不是增强时域运动矢量预测单元、当前编码单元不是运动矢量角度预测单元、当前编码单元不是子块时域运动信息预测单元、以及,帧间预测候选历史运动信息个数(即NumOfHmvpCand)大于0。
当解码端设备确定当前编码单元满足上述全部条件时,解码端设备可以对历史运动信息表(HmvpCandList)进行更新。示例性的,解码端设备可以根据当前预测块的运动信息、BgcFlag和BgcIndex更新历史运动信息表。
当解码端设备确定当前编码单元不满足上述至少一个条件时,解码端设备可以不更新历史运动信息表。
在一些实施例中,上述根据增强时域运动矢量预测和运动矢量角度预测允许标志的取值,确定运动矢量角度预测候选运动信息个数,可以包括:当增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1时,确定运动矢量角度预测候选运动信息个数为5,增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1,表示可使用增强时域运动矢量预测和运动矢量角度预测;当增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0、或码流中不存在所述增强时域运动矢量预测和运动矢量角度预测允许标志时,确定运动矢量角度预测候选运动信息个数为0,增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0、或码流中不存在增强时域运动矢量预测和运动矢量角度预测允许标志,表示不应使用增强时域运动矢量预测和运动矢量角度预测。
示例性的,可以通过增强时域运动矢量预测和运动矢量角度预测允许标志来指示是否可以使用增强时域运动矢量预测和运动矢量角度预测。
示例性的,增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1,表示可使用增强时域运动矢量预测和运动矢量角度预测;增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,表示不应使用增强时域运动矢量预测和运动矢量角度预测。
示例性的,解码端设备接收到码流时,可以解析增强时域运动矢量预测和运动矢量角度预测允许标志的取值。
当增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1,即可使用增强时域运动矢量预测和运动矢量角度预测时,解码端设备可以确定NumOfMvapCand为5。
当增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,即不可使用增强时域运动矢量预测和运动矢量角度预测时,解码端设备可确定NumOfMvapCand为0。
示例性的,当解码端设备未从码流中解析到增强时域运动矢量预测和运动矢量角度预测允许标志时,可以确定增强时域运动矢量预测和运动矢量角度预测允许标志取值为0,即不可使用增强时域运动矢量预测和运动矢量角度预测,此时,解码端设备可以确定NumOfMvapCand为0。
请参见图9,为本申请实施例提供的一种编码方法的流程示意图,其中,该编码方法可以应用于编码端设备,如图9所示,该编码方法可以包括以下步骤:
步骤S900、构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值。
步骤S910、根据当前编码单元的运动信息,对当前编码单元进行运动补偿。
步骤S920、计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的代价值进行比较,选择最小的率失真代价值所对应的预测模式。
步骤S930、将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,传送给解码端。
如图10所示,步骤S930中,将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,可以通过以下步骤实现:
步骤S931、获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数。
步骤S932、根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
本申请实施例中,考虑到HMVP和MVAP允许产生的最大候选运动信息的个数并不固定,跳过模式或直接模式的运动信息索引值的取值范围也并不固定,因而,为了提高跳过模式或直接模式的运动信息索引值确定的灵活性,最大索引值(即maxVal)不再固定为11,而是可以根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数确定。
示例性的,当编码端设备需要对运动信息索引值进行编码时,可以获取NumOfMvapCand和NumOfHmvpCand。示例性的,编码端设备可以通过编码序列级高层语法,确定NumOfMvapCand和NumOfHmvpCand。
本申请实施例中,编码端设备可以根据NumOfMvapCand和NumOfHmvpCand,对当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
在一些实施例中,步骤S932中,根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,可以包括:根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值;根据最大索引值,采用截断一元码的二值化方式编码所述当前编码单元的跳过模式或直接模式的运动信息索引值。
示例性的,当按照上述方式确定了NumOfMvapCand和NumOfHmvpCand时,编码端设备可以根据所确定的NumOfMvapCand和NumOfHmvpCand,确定最大索引值(即maxVal),并根据该maxVal,采用截断一元码的二值化方式编析当前编码单元的跳过模式或直接模式的运动信息索引值。
示例性的,根据所确定的NumOfMvapCand和NumOfHmvpCand确定的maxVal小于等于11。
示例性的,考虑到时域候选运动信息和MHBSKIP的候选运动信息的最大数量为4,而maxVal的取值为列表长度-1,因而,可以依据NumOfMvapCand和NumOfHmvpCand中的最大值,与3二者之和,确定maxVal。
示例性的,编码端设备可以依据以下方式确定maxVal:
maxVal=(3+Max(NumOfMvapCand,NumOfHmvpCand))
其中,由于Max(NumOfMvapCand,NumOfHmvpCand)≤8,因此,按照上述方式确定的maxVal≤11,根据该maxVal,采用截断一元码的二值化方式编码跳过模式或直接模式的运动信息索引值时,需要的比特数会小于或等于maxVal=11的情况下需要的比 特数,从而,利用本申请实施例提供的方式可以较大概率地减少编码跳过模式或直接模式的运动信息索引值所需比特数,减少编解码开销,提高编解码性能。
在一个示例中,上述根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值,可以包括:根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值。
示例性的,考虑到不同帧类型对应的MHBSKIP的候选运动信息的数量可以不同,例如,对于P图像,MHBSKIP的候选运动信息的数量为1个;对于B图像,MHBSKIP的候选运动信息的数量为3个。
因而,为了提高跳过模式或直接模式的运动信息索引值编码的灵活性,在对跳过模式或直接模式的运动信息索引值进行编码时,还可以考虑帧类型,即编码端设备可以根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定当前编码单元的跳过模式或直接模式的运动信息索引值。
示例性的,帧类型可以包括但不限于B图像或P图像。
示例性的,编码端设备可以根据运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值。
示例性的,考虑到对于P图像,MHBSKIP的候选运动信息的数量为1个;对于B图像,MHBSKIP的候选运动信息的数量为3个。
因而,在当前图像的帧类型为P图像的情况下,可以将NumOfMvapCand和NumOfHmvpCand中的最大值,与1二者之和,确定为maxVal。
在当前图像的帧类型为B图像的情况下,可以将NumOfMvapCand和NumOfHmvpCand中的最大值,与3二者之和,确定为maxVal。
由于对于帧类型为P图像的情况,MHBSKIP的候选运动信息的数量取值为1,与不考虑帧类型,而直接将MHBSKIP的候选运动信息的数量设置为3的实现方案相比,所确定的maxVal的取值会降低,从而,可以节省采用截断一元码的二值化方式对跳过模式或直接模式的运动信息索引值进行编码时的比特开销,提高编解码性能。
示例性的,当编码端设备按照上述方式确定了maxVal时,可以根据所确定的maxVal,采用截断一元码的二值化方式对当前编码单元的跳过模式或直接模式的运动信息索引值进行编码。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
为了提高索引值确定的灵活性,减少编码冗余从而提升编解码性能,本申请实施例的优化方案可以包括以下部分或全部:
首先,获取高层语法,得到运动矢量角度预测候选运动信息个数(NumOfMvapCand)和帧间预测候选历史运动信息个数(NumOfHmvpCand),获取当前图像的帧类型。
然后,根据当前图像的帧类型和NumOfMvapCand以及NumOfHmvpCand来解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
最后,获取ValidMvapModeNum,根据cu_subtype_index和ValidMvapModeNum来确定当前编码单元类型是MVAP模式还是HMVP模式。
实施例一、编码方法及编码装置
1.1、构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值。
1.2、根据当前编码单元的运动信息,对当前编码单元进行运动补偿;
1.3、计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的代价值进行比较,选择最小的率失真代价值所对应的预测模式;
1.4、将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式 的运动信息索引值携带进码流,传送给解码端。
实施例二、解码方法及解码装置
2.1、接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值;
2.2、构建跳过模式或直接模式的候选列表;
2.3、根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式;
2.4、根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿。
实施例三
编码过程:
(1)、编码序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、根据NumOfMvapCand以及NumOfHmvpCand来编码当前编码单元的跳过模式或直接模式的运动信息索引值,并携带进入码流。
解码过程:
(1)、通过解析序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、根据NumOfMvapCand以及NumOfHmvpCand来解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
实施例四
编码过程:
(1)、编码序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand。
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1;
其中,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0表明:当etmvp_mvap_enable_flag取值为1时,NumOfMvapCand的取值为5;当etmvp_mvap_enable_flag取值不为1,即etmvp_mvap_enable_flag取值为0时,NumOfMvapCand的取值为0(下同)。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、采用截断一元码的二值化方式编码当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index并携带进入码流。
示例性的,maxVal=(3+Max(NumOfMvapCand,NumOfHmvpCand))。
解码过程:
(1)、解析序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand。
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1;
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
示例性的,maxVal=(3+Max(NumOfMvapCand,NumOfHmvpCand))。
实施例五
编码过程:
(1)、编码序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、根据当前图像的帧类型、NumOfMvapCand以及NumOfHmvpCand来编码当前编码单元的跳过模式或直接模式的运动信息索引值,并携带进入码流。
解码过程:
(1)、通过解析序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、根据当前图像的帧类型、NumOfMvapCand以及NumOfHmvpCand来解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
实施例六
编码过程:
(1)、编码序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand。
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、采用截断一元码的二值化方式编码当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index并携带进入码流。
示例性的,maxVal=((PictureType==1)?(1:3)+Max(NumOfMvapCand,NumOfHmvpCand)),PictureType表示当前图像的帧类型,值为1表示当前图像为P图像。
解码过程:
(1)、解析序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand。
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
示例性的,maxVal=((PictureType==1)?(1:3)+Max(NumOfMvapCand,NumOfHmvpCand)),PictureType表示当前图像的帧类型,值为1表示当前图像为P图像。
其中,maxVal=((PictureType==1)?(1:3)+Max(NumOfMvapCand,NumOfHmvpCand))表明:当PictureType取值为1时,maxVal=1+Max(NumOfMvapCand,NumOfHmvpCand);当PictureType取值不为1时,maxVal=3+Max(NumOfMvapCand,NumOfHmvpCand)(下同)。
实施例七
编码过程:
(1)、编码序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、获取ValidMvapModeNum,根据当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index和ValidMvapModeNum来确定当前编码单元类型是Mvap模式还是HMVP模式。
(3)、根据NumOfMvapCand以及NumOfHmvpCand来编码cu_subtype_index,并携带进入码流。
解码过程:
(1)、通过解析序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、根据NumOfMvapCand以及NumOfHmvpCand来解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index;
(3)、获取ValidMvapModeNum,根据cu_subtype_index和ValidMvapModeNum来确定当前编码单元类型是Mvap模式还是HMVP模式。
实施例八
编码过程:
(1)、编码序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand。
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、获取有效角度预测模式数ValidMvapModeNum,如果CuSubTypeIndex大于等于N,则:
当ValidMvapModeNum大于0,且CuSubTypeIndex小于N+ValidMvapModeNum时,确定当前编码单元类型是MVAP模式;
当ValidMvapModeNum等于0,或,CuSubTypeIndex大于或等于N+ValidMvapModeNum时,确定当前编码单元类型是HMVP模式。
示例性的,若当前图像为P图像,则N=2,若当前图像为B图像,则N=4。
(3)、采用截断一元码的二值化方式编码当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index并携带进入码流。
示例性的,maxVal=(3+Max(NumOfMvapCand,NumOfHmvpCand))。
解码过程:
(1)、解析序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand。
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index;
示例性的,maxVal=(3+Max(NumOfMvapCand,NumOfHmvpCand))。
(3)、获取有效角度预测模式数ValidMvapModeNum,若CuSubTypeIndex大于等于N,则:
当ValidMvapModeNum大于0,且CuSubTypeIndex小于N+ValidMvapModeNum时,确定当前编码单元类型是MVAP模式;
当ValidMvapModeNum等于0,或,CuSubTypeIndex大于或等于N+ValidMvapModeNum时,确定当前编码单元类型是HMVP模式。
示例性的,若当前图像为P图像,则N=2;若当前图像为B图像,则N=4。
实施例九
编码过程:
(1)、编码序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、获取ValidMvapModeNum,根据当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index和ValidMvapModeNum来确定当前编码单元类型是Mvap模式还是HMVP模式。
(3)、根据当前图像的帧类型、NumOfMvapCand以及NumOfHmvpCand来编码cu_subtype_index,并携带进入码流。
解码过程:
(1)、通过解析序列级高层语法,获取运动矢量角度预测候选运动信息个数NumOfMvapCand和帧间预测候选历史运动信息个数NumOfHmvpCand;
(2)、根据当前图像的帧类型、NumOfMvapCand以及NumOfHmvpCand来解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index;
(3)、获取ValidMvapModeNum,根据cu_subtype_index和ValidMvapModeNum来确定当前编码单元类型是Mvap模式还是HMVP模式。
实施例十
编码过程:
(1)、编码序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand;
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、获取有效角度预测模式数ValidMvapModeNum,若CuSubTypeIndex大于等于N,则:
当ValidMvapModeNum大于0,且CuSubTypeIndex小于N+ValidMvapModeNum时,当前编码单元类型是Mvap模式;
当ValidMvapModeNum等于0,或,CuSubTypeIndex大于或等于N+ValidMvapModeNum时,当前编码单元类型是Hmvp模式。
示例性的,若当前图像为P图像,则N=2;若当前图像为B图像,则N=4。
(3)、采用截断一元码的二值化方式编码当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index并携带进入码流。
示例性的,maxVal=((PictureType==1)?(1:3)+Max(NumOfMvapCand,NumOfHmvpCand)),PictureType表示当前图像的帧类型,值为1表示当前图像为P图像。
解码过程:
(1)、解析序列级高层语法etmvp_mvap_enable_flag和num_of_hmvp_cand;
示例性的,NumOfMvapCand的取值为etmvp_mvap_enable_flag==1?5:0,其中etmvp_mvap_enable_flag取值范围是0~1。
示例性的,NumOfHmvpCand的取值为num_of_hmvp_cand,其中num_of_hmvp_cand取值范围是0~8。
(2)、采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值cu_subtype_index。
示例性的,maxVal=((PictureType==1)?(1:3)+Max(NumOfMvapCand,NumOfHmvpCand)),PictureType表示当前图像的帧类型,值为1表示当前图像为P图像。
(3)、获取有效角度预测模式数ValidMvapModeNum,若CuSubTypeIndex大于等于N,则:
当ValidMvapModeNum大于0,且CuSubTypeIndex小于N+ValidMvapModeNum时,当前编码单元类型是Mvap模式;
当ValidMvapModeNum等于0,或,CuSubTypeIndex大于或等于N+ValidMvapModeNum时,当前编码单元类型是Hmvp模式。
示例性的,若当前图像为P图像,则N=2;若当前图像为B图像,则N=4。
实施例十一
编码和解码序列级高层语法etmvp_mvap_enable_flag,控制ETMVP和MVAP。
示例性的,可以通过etmvp_mvap_enable_flag标识是否启用ETMVP和MVAP。
示例性的,语法描述可以如下表所示:
Figure PCTCN2022097124-appb-000004
语义描述:
增强时域运动矢量预测和运动矢量角度预测允许标志(etmvp_mvap_enable_flag):
二值变量。值为‘1’表示可使用增强时域运动矢量预测和运动矢量角度预测;值为‘0’表示不应使用增强时域运动矢量预测和运动矢量角度预测。EtmvpMvapEnableFlag的值等于etmvp_mvap_enable_flag的值。
示例性的,若位流中不存在etmvp_mvap_enable_flag,则EtmvpMvapEnableFlag的值为0。
若EtmvpMvapEnableFlag的值为1,NumOfMvapCand的值等于5;否则NumOfMvapCand的值等于0。
实施例十二
完成当前预测单元(即当前编码单元)的解码后,若当前预测单元是帧间预测单元且不是增强时域运动矢量预测单元且不是运动矢量角度预测单元且不是子块时域运动信息预测单元,以及,NumOfHmvpCand(可以更新的运动信息的数量)大于0时,根据当前预测块的运动信息、BgcFlag和BgcIndex更新历史运动信息表HmvpCandList;
否则,即NumOfHmvpCand=0、当前预测单元不是帧间预测单元、当前预测单元是增强时域运动矢量预测单元、当前预测单元是运动矢量角度预测单元、或当前预测单元是子块时域运动信息预测单元等条件中至少一个条件成立,不更新历史运动信息表。
实施例十三
完成当前预测单元(即当前块)的解码后,若当前预测单元是帧间预测单元且不是仿射预测单元且不是角度加权预测单元且不是增强时域运动矢量预测单元且不是运动矢量角度预测单元且不是子块时域运动信息预测单元,以及,NumOfHmvpCand(可以更新的运动信息的数量)大于0时,根据当前预测块的运动信息、BgcFlag和BgcIndex更新历史运动信息表HmvpCandList;否则,即NumOfHmvpCand=0、当前预测单元不是帧间预测单元、当前预测单元是仿射预测单元、当前预测单元是角度加权预测单元、当前预测单元是增强时域运动矢量预测单元、当前预测单元是运动矢量角度预测单元、或当前预测单元是子块时域运动信息预测单元等条件中至少一个条件成立,不更新历史运动信息表。
需要说明的是,上述实施例仅仅是本申请实施例的实现方式的具体示例,而并不是对本申请保护范围的限定,基于上述实施例,可以通过实施例之间的组合,或对实施例进行变型,得到新的实施例,其均应属于本申请的保护范围。
此外,上述各实施例编码端和解码端的实现流程可以相互参照。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。请参见图11,图11是本申请实施例提供的一种解码装置的结构示意图,其中,该解码装置可以包括:解码模块1110,用于接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值;构建模块1120,用于构建跳过模式或直接模式的候选列表;确定模块1130,用于根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式;补偿模块1140,用于根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿。其中,所述解码模块1110,具体用于获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定所述 当前编码单元的跳过模式或直接模式的运动信息索引值。
在一些实施例中,所述解码模块1110,具体用于通过解析序列级高层语法,获取所述运动矢量角度预测候选运动信息个数和所述帧间预测候选历史运动信息个数。
在一些实施例中,所述解码模块1110,具体用于解析增强时域运动矢量预测和运动矢量角度预测允许标志,根据所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值,确定所述运动矢量角度预测候选运动信息个数;以及,解析帧间预测候选历史运动信息个数索引,根据所述帧间预测候选历史运动信息个数索引的取值,确定所述帧间预测候选历史运动信息个数;其中,所述增强时域运动矢量预测和运动矢量角度预测允许标志用于指示同时开启增强时域运动矢量预测模式和运动矢量角度预测模式,或,同时关闭增强时域运动矢量预测模式和运动矢量角度预测模式。
在一些实施例中,所述确定模块1130,具体用于根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值。
在一些实施例中,所述确定模块1130,具体用于根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值;根据所述最大索引值,采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值。
在一些实施例中,所述确定模块1130,具体用于确定所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数中的最大值;若所述当前图像的帧类型为P图像,则将该最大值与1二者之和,确定为最大索引值;若所述当前图像的帧类型为B图像,则将该最大值与3二者之和,确定为最大索引值。
在一些实施例中,所述确定模块1130,具体用于根据有效角度预测模式数,以及所述跳过模式或直接模式的运动信息索引值,确定当前编码单元的预测模式是运动矢量角度预测模式还是基于历史信息的运动矢量预测模式。
在一些实施例中,所述确定模块1130,具体用于若所述跳过模式或直接模式的运动信息索引值大于或等于N,则:当所述有效角度预测模式数大于0,且所述跳过模式或直接模式的运动信息索引值小于N与所述有效角度预测模式数二者之和时,确定所述当前编码单元的预测模式为运动矢量角度预测模式;当所述有效角度预测模式数等于0,或,所述跳过模式或直接模式的运动信息索引值大于或等于N与所述有效角度预测模式数二者之和时,确定所述当前编码单元的预测模式为基于历史信息的运动矢量预测模式。
在一些实施例中,若当前图像的帧类型为P图像,则N=2;若当前图像的帧类型为B图像,则N=4。
在一些实施例中,所述确定模块1130,还用于当所述当前编码单元的预测模式为基于历史信息的运动矢量预测模式时,若所述当前编码单元为帧间预测单元且不是仿射预测单元且不是角度加权预测单元且不是增强时域运动矢量预测单元且不是运动矢量角度预测单元且不是子块时域运动信息预测单元,以及,所述帧间预测候选历史运动信息个数大于0,则更新历史运动信息表;否则,不更新所述历史运动信息表。
在一些实施例中,所述解码模块1110,具体用于当所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1时,确定所述运动矢量角度预测候选运动信息个数为5;其中,所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1,表示当前编码单元可使用增强时域运动矢量预测和运动矢量角度预测;当所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,或,码流中不存在所述增强时域运动矢量预测和运动矢量角度预测允许标志时,确定所述运动矢量角度预测候选运动信息个数为0;其中,所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,或,码流中不存在所述增强时域运动矢量预测和运动矢量角度预测允许标志,表示当前编码单元不应使用增强时域运动矢量预测和运动矢量角度预测。
请参见图12,图12是本申请实施例提供的一种编码装置的结构示意图,其中,该编码装置可以包括:构建模块1210,用于构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值;补偿模块1220,用于根据当前编码单元的运动信息,对当前编码单元进行运动补偿;确定模块1230,用于计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的代价值进行比较,选择最小的率失真代价值所对应的预测模式;编码模块1240,用于将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,传送给解码端。其中,所述编码模块1240,具体用于获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
在一些实施例中,所述编码模块1240,具体用于根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值;根据所述最大索引值,采用截断一元码的二值化方式编码所述当前编码单元的跳过模式或直接模式的运动信息索引值。
在一些实施例中,所述编码模块1240,具体用于根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值。
请参见图13,为本申请实施例提供的一种解码端设备的硬件结构示意图。该解码端设备可包括处理器1301、存储有机器可执行指令的机器可读存储介质1302。处理器1301与机器可读存储介质1302可经由系统总线1303通信。并且,通过读取并执行机器可读存储介质1302中与解码控制逻辑对应的机器可执行指令,处理器1301可执行上文描述的解码端设备的解码方法。
本文中提到的机器可读存储介质1302可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的解码端设备的解码方法。例如,所述机器可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
请参见图14,为本申请实施例提供的一种编码端设备的硬件结构示意图。该编码端设备可包括处理器1401、存储有机器可执行指令的机器可读存储介质1402。处理器1401与机器可读存储介质1402可经由系统总线1403通信。并且,通过读取并执行机器可读存储介质1402中与编码控制逻辑对应的机器可执行指令,处理器1401可执行上文描述的编码端设备的编码方法。
本文中提到的机器可读存储介质1402可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的编码端设备的编码方法。例如,所述机器可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘 和光数据存储设备等。在一些实施例中,还提供了一种摄像机设备,包括上述任一实施例中的解码装置和/或编码装置。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (21)

  1. 一种解码方法,其特征在于,包括:
    接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值;
    构建跳过模式或直接模式的候选列表;
    根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式;
    根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿;
    其中,所述解析当前编码单元的跳过模式或直接模式的运动信息索引值,包括:
    获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值。
  2. 根据权利要求1所述的方法,其特征在于,所述获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,包括:
    通过解析序列级高层语法,获取所述运动矢量角度预测候选运动信息个数和所述帧间预测候选历史运动信息个数。
  3. 根据权利要求2所述的方法,其特征在于,所述通过解析序列级高层语法,获取所述运动矢量角度预测候选运动信息个数和所述帧间预测候选历史运动信息个数,包括:
    解析增强时域运动矢量预测和运动矢量角度预测允许标志,根据所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值,确定所述运动矢量角度预测候选运动信息个数;以及,
    解析帧间预测候选历史运动信息个数索引,根据所述帧间预测候选历史运动信息个数索引的取值,确定所述帧间预测候选历史运动信息个数;
    其中,所述增强时域运动矢量预测和运动矢量角度预测允许标志用于指示同时开启增强时域运动矢量预测模式和运动矢量角度预测模式,或,同时关闭增强时域运动矢量预测模式和运动矢量角度预测模式。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值,包括:
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值。
  5. 根据权利要求4所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定所述当前编码单元的跳过模式或直接模式的运动信息索引值,包括:
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值;
    根据所述最大索引值,采用截断一元码的反二值化方式解析当前编码单元的跳过模式或直接模式的运动信息索引值。
  6. 根据权利要求5所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值,包括:
    确定所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数中的最大值;
    若所述当前图像的帧类型为P图像,则将该最大值与1二者之和,确定为最大索引 值;
    若所述当前图像的帧类型为B图像,则将该最大值与3二者之和,确定为最大索引值。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式,包括:
    根据有效角度预测模式数,以及所述跳过模式或直接模式的运动信息索引值,确定当前编码单元的预测模式是运动矢量角度预测模式还是基于历史信息的运动矢量预测模式。
  8. 根据权利要求7所述的方法,其特征在于,所述根据有效角度预测模式数,以及所述跳过模式或直接模式的运动信息索引值,确定当前编码单元的预测模式是运动矢量角度预测模式还是基于历史信息的运动矢量预测模式,包括:
    若所述跳过模式或直接模式的运动信息索引值大于或等于N,则:
    当所述有效角度预测模式数大于0,且所述跳过模式或直接模式的运动信息索引值小于N与所述有效角度预测模式数二者之和时,确定所述当前编码单元的预测模式为运动矢量角度预测模式;
    当所述有效角度预测模式数等于0,或,所述跳过模式或直接模式的运动信息索引值大于或等于N与所述有效角度预测模式数二者之和时,确定所述当前编码单元的预测模式为基于历史信息的运动矢量预测模式。
  9. 根据权利要求8所述的方法,其特征在于,若当前图像的帧类型为P图像,则N=2;若当前图像的帧类型为B图像,则N=4。
  10. 根据权利要求7-9任一项所述的方法,其特征在于,所述确定当前编码单元的预测模式之后,还包括:
    当所述当前编码单元的预测模式为基于历史信息的运动矢量预测模式时,若所述当前编码单元为帧间预测单元且不是仿射预测单元且不是角度加权预测单元且不是增强时域运动矢量预测单元且不是运动矢量角度预测单元且不是子块时域运动信息预测单元,以及,所述帧间预测候选历史运动信息个数大于0,则更新历史运动信息表;否则,不更新所述历史运动信息表。
  11. 根据权利要求3所述的方法,其特征在于,所述根据所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值,确定所述运动矢量角度预测候选运动信息个数,包括:
    当所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1时,确定所述运动矢量角度预测候选运动信息个数为5;其中,所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为1,表示当前编码单元可使用增强时域运动矢量预测和运动矢量角度预测;
    当所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,或,码流中不存在所述增强时域运动矢量预测和运动矢量角度预测允许标志时,确定所述运动矢量角度预测候选运动信息个数为0;其中,所述增强时域运动矢量预测和运动矢量角度预测允许标志的取值为0,或,码流中不存在所述增强时域运动矢量预测和运动矢量角度预测允许标志,表示当前编码单元不应使用增强时域运动矢量预测和运动矢量角度预测。
  12. 一种编码方法,其特征在于,包括:
    构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值;
    根据当前编码单元的运动信息,对当前编码单元进行运动补偿;
    计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的 代价值进行比较,选择最小的率失真代价值所对应的预测模式;
    将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,传送给解码端;
    其中,所述将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,包括:
    获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
  13. 根据权利要求12所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,包括:
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值;
    根据所述最大索引值,采用截断一元码的二值化方式编码所述当前编码单元的跳过模式或直接模式的运动信息索引值。
  14. 根据权利要求13所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,确定最大索引值,包括:
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值。
  15. 根据权利要求12所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,包括:
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值;
    根据所述最大索引值,采用截断一元码的二值化方式编码所述当前编码单元的跳过模式或直接模式的运动信息索引值。
  16. 根据权利要求15所述的方法,其特征在于,所述根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,以及当前图像的帧类型,确定最大索引值,包括:
    确定所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数中的最大值;
    若所述当前图像的帧类型为P图像,则将该最大值与1二者之和,确定为最大索引值;
    若所述当前图像的帧类型为B图像,则将该最大值与3二者之和,确定为最大索引值。
  17. 一种解码装置,其特征在于,包括:
    解码模块,用于接收码流,解析当前编码单元的跳过模式或直接模式的运动信息索引值;
    构建模块,用于构建跳过模式或直接模式的候选列表;
    确定模块,用于根据当前编码单元的跳过模式或直接模式的运动信息索引值和候选列表确定当前编码单元的预测模式;
    补偿模块,用于根据当前编码单元的预测模式获取当前编码单元的运动信息,对当前编码单元进行运动补偿;
    其中,所述解码模块,具体用于获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数, 确定所述当前编码单元的跳过模式或直接模式的运动信息索引值。
  18. 一种编码装置,其特征在于,包括:
    构建模块,用于构建跳过模式或直接模式的候选列表:按顺序遍历预测模式候选列表中的每一种预测模式,对于每一种预测模式,获取当前编码单元的运动信息和当前编码单元的跳过模式或直接模式的运动信息索引值;
    补偿模块,用于根据当前编码单元的运动信息,对当前编码单元进行运动补偿;
    确定模块,用于计算该预测模式对应的率失真代价值,并将该率失真代价值与其他候选预测模式的代价值进行比较,选择最小的率失真代价值所对应的预测模式;
    编码模块,用于将率失真代价值最小的预测模式对应的当前编码单元的跳过模式或直接模式的运动信息索引值携带进码流,传送给解码端;
    其中,所述编码模块,具体用于获取运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数;
    根据所述运动矢量角度预测候选运动信息个数和帧间预测候选历史运动信息个数,对所述当前编码单元的跳过模式或直接模式的运动信息索引值进行编码,并携带进码流。
  19. 一种解码端设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求1-11任一项所述的方法。
  20. 一种编码端设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求12-16任一项所述的方法。
  21. 一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现如权利要求1-11或12-16任一项所述的方法。
PCT/CN2022/097124 2021-06-30 2022-06-06 解码方法、编码方法、装置、设备及存储介质 WO2023273802A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US18/568,099 US20240276005A1 (en) 2021-06-30 2022-06-06 Decoding method and apparatus, coding method and apparatus, device, and storage medium
AU2022304788A AU2022304788A1 (en) 2021-06-30 2022-06-06 Decoding method and apparatus, coding method and apparatus, device, and storage medium
EP22831623.8A EP4333429A1 (en) 2021-06-30 2022-06-06 Decoding method and apparatus, coding method and apparatus, device, and storage medium
JP2023580585A JP7521137B2 (ja) 2021-06-30 2022-06-06 復号化方法、符号化方法、装置、デバイスおよび記憶媒体
KR1020247001702A KR20240012610A (ko) 2021-06-30 2022-06-06 디코딩 방법, 코딩 방법, 장치, 기기 및 저장매체
JP2024110195A JP2024124549A (ja) 2021-06-30 2024-07-09 復号化方法、符号化方法、装置、デバイスおよび記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110739455.5A CN114650418B (zh) 2021-06-30 2021-06-30 解码方法、编码方法、装置及设备
CN202110739455.5 2021-06-30

Publications (1)

Publication Number Publication Date
WO2023273802A1 true WO2023273802A1 (zh) 2023-01-05

Family

ID=78668981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/097124 WO2023273802A1 (zh) 2021-06-30 2022-06-06 解码方法、编码方法、装置、设备及存储介质

Country Status (8)

Country Link
US (1) US20240276005A1 (zh)
EP (1) EP4333429A1 (zh)
JP (2) JP7521137B2 (zh)
KR (1) KR20240012610A (zh)
CN (3) CN113709456B (zh)
AU (1) AU2022304788A1 (zh)
TW (1) TWI806650B (zh)
WO (1) WO2023273802A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709456B (zh) * 2021-06-30 2022-11-25 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质
CN114339231B (zh) * 2021-12-27 2023-10-27 杭州当虹科技股份有限公司 利用运动矢量快速跳Cu级模式选择的方法
CN117278763A (zh) * 2022-06-14 2023-12-22 中兴通讯股份有限公司 基于交互的编码方法、编码装置及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855998A (zh) * 2018-08-20 2020-02-28 华为技术有限公司 融合候选者列表构建方法、装置及的编/解方法及装置
US20200236352A1 (en) * 2011-09-28 2020-07-23 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding intra prediction mode
CN112073733A (zh) * 2019-06-11 2020-12-11 北京三星通信技术研究有限公司 基于运动矢量角度预测的视频编解码方法和装置
CN112565747A (zh) * 2019-09-26 2021-03-26 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备
CN113709456A (zh) * 2021-06-30 2021-11-26 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014005548A1 (en) 2012-07-05 2014-01-09 Mediatek Inc. Method and apparatus of unified disparity vector derivation for 3d video coding
US10284860B1 (en) * 2018-07-02 2019-05-07 Tencent America LLC Method and apparatus for video coding
US10735759B2 (en) * 2018-10-06 2020-08-04 Tencent America LLC Pairwise average motion vector prediction
CN111970512B (zh) * 2020-07-23 2023-09-29 浙江大华技术股份有限公司 编码方法、设备及具有存储功能的装置
CN112291565B (zh) * 2020-09-10 2021-09-14 浙江大华技术股份有限公司 视频编码方法及其相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200236352A1 (en) * 2011-09-28 2020-07-23 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding intra prediction mode
CN110855998A (zh) * 2018-08-20 2020-02-28 华为技术有限公司 融合候选者列表构建方法、装置及的编/解方法及装置
CN112073733A (zh) * 2019-06-11 2020-12-11 北京三星通信技术研究有限公司 基于运动矢量角度预测的视频编解码方法和装置
CN112565747A (zh) * 2019-09-26 2021-03-26 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备
CN113709456A (zh) * 2021-06-30 2021-11-26 杭州海康威视数字技术股份有限公司 解码方法、装置、设备及机器可读存储介质
CN113794877A (zh) * 2021-06-30 2021-12-14 杭州海康威视数字技术股份有限公司 解码方法、编码方法、装置、设备及机器可读存储介质

Also Published As

Publication number Publication date
KR20240012610A (ko) 2024-01-29
JP7521137B2 (ja) 2024-07-23
TWI806650B (zh) 2023-06-21
TW202304202A (zh) 2023-01-16
CN113709456B (zh) 2022-11-25
CN113794877B (zh) 2022-11-25
US20240276005A1 (en) 2024-08-15
JP2024124549A (ja) 2024-09-12
AU2022304788A1 (en) 2023-12-21
CN114650418A (zh) 2022-06-21
CN114650418B (zh) 2023-01-24
CN113794877A (zh) 2021-12-14
JP2024523635A (ja) 2024-06-28
CN113709456A (zh) 2021-11-26
EP4333429A1 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
WO2023273802A1 (zh) 解码方法、编码方法、装置、设备及存储介质
KR102076782B1 (ko) 적중률이 높은 mpm을 통한 영상의 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
KR20110044487A (ko) 계층적 부호화 단위의 크기에 따른 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US20110090952A1 (en) Directional Transforms for Video and Image Coding
KR20070005848A (ko) 인트라 예측 모드 결정 방법 및 장치
KR20110010324A (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR20080033813A (ko) 데이터 인코딩/디코딩 방법 및 장치
JP7494403B2 (ja) 復号方法、符号化方法、装置、デバイスおよび記憶媒体
JP2023179792A (ja) 復号化方法、符号化方法、装置、及びデバイス
JP2009049969A (ja) 動画像符号化装置及び方法並びに動画像復号化装置及び方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022831623

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2022304788

Country of ref document: AU

Ref document number: AU2022304788

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2022831623

Country of ref document: EP

Effective date: 20231130

ENP Entry into the national phase

Ref document number: 2022304788

Country of ref document: AU

Date of ref document: 20220606

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2023580585

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20247001702

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020247001702

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2023136249

Country of ref document: RU

NENP Non-entry into the national phase

Ref country code: DE