WO2021056217A1 - Video processing method and apparatus - Google Patents

Video processing method and apparatus Download PDF

Info

Publication number
WO2021056217A1
WO2021056217A1 PCT/CN2019/107604 CN2019107604W WO2021056217A1 WO 2021056217 A1 WO2021056217 A1 WO 2021056217A1 CN 2019107604 W CN2019107604 W CN 2019107604W WO 2021056217 A1 WO2021056217 A1 WO 2021056217A1
Authority
WO
WIPO (PCT)
Prior art keywords
indication information
technology
current
block
prof
Prior art date
Application number
PCT/CN2019/107604
Other languages
French (fr)
Chinese (zh)
Inventor
马思伟
孟学苇
郑萧桢
王苫社
Original Assignee
北京大学
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京大学, 深圳市大疆创新科技有限公司 filed Critical 北京大学
Priority to PCT/CN2019/107604 priority Critical patent/WO2021056217A1/en
Priority to CN201980066899.8A priority patent/CN112868236A/en
Publication of WO2021056217A1 publication Critical patent/WO2021056217A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Definitions

  • This application relates to the field of video coding and decoding, and more specifically, to a video processing method and device.
  • the motion vector in the inter-frame prediction process is generally determined based on the traditional motion model (translational motion model).
  • traditional motion model translational motion model
  • the inter prediction technology gradually introduces an affine technology on the basis of the traditional technology.
  • the prediction refinement with optical flow for affine mode (PROF) technology used in the affine mode is a technology introduced on the basis of the Affine mode, and the prediction result can be improved on the basis of the Affine mode.
  • PROF technology can sometimes be called affine motion optical flow technology.
  • the current PROF technology is not perfect and needs to be further optimized.
  • This application provides a video processing method and device to optimize the PROF technology.
  • a video processing method including: determining two reconstructed blocks of a current block in a bidirectional prediction mode; adjusting the pixel values of the two reconstructed blocks using PROF technology; and using preset weights
  • the pixel values of the two reconstructed blocks are weighted and averaged to obtain the final reconstructed block of the current block; wherein, in the process of determining the final reconstructed block, the pixels of the two reconstructed blocks are determined
  • the value and/or the value of the weight are controlled so that the product of the pixel value of the two reconstructed blocks and the weight does not exceed a preset numerical value representation range.
  • a video processing method including: determining whether the current block uses the PROF technology; if the current block uses the PROF technology, prohibiting the current block from using the BCW technology.
  • a video processing method including: determining whether a current block meets a preset condition; when the current block meets the preset condition, prohibiting the current block from using the PROF technology.
  • a video processing method including: generating first indication information of a current slice, the first indication information being used to indicate whether the current slice adopts the PROF technology; and encoding the first slice in a bitstream One instruction information.
  • a video processing method including: obtaining first indication information of a current slice from a code stream, where the first indication information is used to indicate whether the current slice adopts the PROF technology; An indication information to decode the current slice.
  • a video processing device including: a memory, configured to store instructions; a processor, configured to execute the execution stored in the memory to perform the following operations: determine that the current block is in two-way prediction mode Reconstruct the block; use the PROF technology to adjust the pixel values of the two reconstructed blocks; use the preset weight to perform a weighted average on the pixel values of the two reconstructed blocks to obtain the final reconstruction of the current block Block; wherein, in the process of determining the final reconstructed block, the pixel values of the two reconstructed blocks and/or the value of the weight are controlled so that the pixel values of the two reconstructed blocks The product of the weight and the weight does not exceed the preset numerical representation range.
  • a video processing device including: a memory for storing instructions; a processor for executing the execution stored in the memory to perform the following operations: determine whether the current block uses PROF technology; if The current block uses the PROF technology, and the current block is prohibited from using the BCW technology.
  • a video processing device including: a memory, configured to store instructions; a processor, configured to execute the execution stored in the memory to perform the following operations: determine whether the current block meets a preset condition; When the current block meets the preset condition, the current block is prohibited from using the PROF technology.
  • a video processing device including: a memory for storing instructions; a processor for executing the execution stored in the memory to perform the following operations: generating first indication information of the current stripe, so The first indication information is used to indicate whether the current slice adopts the PROF technology; the first indication information is encoded in a code stream.
  • a video processing device including: a memory for storing instructions; a processor for executing the execution stored in the memory to perform the following operations: obtaining the first slice of the current slice from the code stream Indication information, the first indication information is used to indicate whether the current slice adopts the PROF technology; according to the first indication information, the current slice is decoded.
  • a computer-readable storage medium stores instructions that, when run on a computer, cause the computer to execute the methods described in the above aspects.
  • a computer program product containing instructions which when run on a computer, causes the computer to execute the methods described in the above aspects.
  • Figure 1 is a schematic flow diagram of the video encoding process.
  • Fig. 2 is an example diagram of a motion vector of a control point.
  • Fig. 3 is a diagram showing an example of a motion vector in an affine mode.
  • FIG. 4 is a schematic flowchart of a video processing method provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a possible implementation manner of step S420 in FIG. 4.
  • FIG. 6 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • FIG. 8 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • FIG. 9 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a video processing device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • This application can be applied to a variety of video coding standards, such as H.264, high efficiency video coding (HEVC), universal video coding (VVC), audio video coding standard, AVS), AVS+, AVS2 and AVS3, etc.
  • video coding standards such as H.264, high efficiency video coding (HEVC), universal video coding (VVC), audio video coding standard, AVS), AVS+, AVS2 and AVS3, etc.
  • the video coding process mainly includes prediction, transformation, quantization, entropy coding and other parts.
  • Prediction is an important part of mainstream video coding technology. Prediction can be divided into intra-frame prediction and inter-frame prediction. Inter-frame prediction mainly includes motion estimation and motion compensation processes. An example of the motion compensation process is given below.
  • the coding area may also be referred to as a coding tree unit (CTU).
  • the size of the CTU may be, for example, 64 ⁇ 64 or 128 ⁇ 128 (the unit is a pixel, and the unit is omitted for similar descriptions below).
  • Each CTU can be divided into square or rectangular image blocks.
  • the image block may also be referred to as a coding unit (CU), and the current CU to be encoded will be referred to as the current block in the following.
  • CU coding unit
  • a reference frame (usually a reconstructed frame near the time domain) can be searched for similar blocks of the current block as the prediction block of the current block.
  • the relative displacement between the current block and the prediction block is called a motion vector (MV).
  • the process of obtaining the motion vector is the process of motion estimation.
  • Motion compensation can be understood as the process of using motion vectors and reference frames to obtain a prediction block.
  • the prediction block obtained by this process may be different from the original current block. Therefore, the residual difference between the prediction block and the current block can be transformed and quantized After the operation is passed to the decoding end.
  • the encoding end also transmits the motion vector information to the decoding end. In this way, the decoder can reconstruct the current block through the motion vector, the reference frame of the current block, the prediction block, and the residual of the current block.
  • the process described above is the general process of inter prediction.
  • Inter prediction modes may include advanced motion vector prediction (AMVP) mode, merge mode, and skip.
  • AMVP advanced motion vector prediction
  • the MVP can be determined first. After the MVP is obtained, the starting point of the motion estimation can be determined according to the MVP, and the motion search is performed near the starting point. After the search is completed, the optimal MV is obtained.
  • the MV determines the reference block in With reference to the position in the image, the reference block is subtracted from the current block to obtain the residual block, and the MV is subtracted from the MVP to obtain the motion vector difference (MVD), and the MVD is transmitted to the decoder through the code stream.
  • the MVP For the Merge mode, you can determine the MVP first, and directly determine the MVP as the MV. Among them, in order to obtain the MVP, you can first obtain an MVP candidate list as described above. In the MVP candidate list, you can include at least one candidate MVP, and each candidate MVP can correspond to an index. The encoding end is in the MVP candidate list. After selecting the MVP, the MVP index can be written into the code stream, and the decoder can find the MVP corresponding to the index from the MVP candidate list according to the index, so as to realize the decoding of the image block.
  • Skip mode is a special case of Merge mode. After obtaining the MV according to the Merge mode, if the encoder determines that the current block is basically the same as the reference block, then there is no need to transmit residual data, only the index of the MVP needs to be passed, and a flag can be further passed, which can indicate that the current block can be Obtained directly from the reference block.
  • Inter-frame prediction mainly includes inter-frame prediction modes such as forward prediction, backward prediction, and bidirectional prediction.
  • Forward prediction is to use frames before the current frame ("historical frames") to predict the current frame.
  • Backward prediction is to use frames after the current frame (“future frame”) to predict the current frame.
  • Bidirectional prediction uses not only "historical frames” but also "future frames” to predict the current frame.
  • the motion vector in the inter-frame prediction process is generally determined based on the traditional motion model (translational motion model).
  • traditional motion model translational motion model
  • the inter prediction technology gradually introduces an affine technology on the basis of the traditional technology.
  • the motion field of an image block can be derived from the motion vectors of two control points (CP) or three control points.
  • a motion model based on two control points can be called a four-parameter Affine motion model, based on three control points
  • the motion model of can be called the six-parameter Affine motion model.
  • the Affine mode generally does not take the entire coding block as the processing object, but divides the entire coding block into sub-blocks (or called sub-CU, or sub-CU), and takes the sub-blocks as the processing object.
  • the size of each sub-block is generally 4x4. Therefore, in the Affine mode, a coding block does not have only one MV, but each sub-block in the coding block has its own corresponding MV.
  • the MV of the sub-block in the coding block can be calculated from the MV (control point motion vector, CPMV) of the two control points in FIG. 2. Therefore, for the Affine mode, CPMV information can be written in the code stream.
  • the MV of the sub-block at the position (x, y) can be calculated by the following formula (1):
  • the MV of the sub-block at the position (x, y) is calculated by the following formula (2):
  • (mv 0x , mv 0y ) is the MV of the control point at the upper left corner of the sub-block
  • (mv 1x , mv 1y ) is the MV of the control point at the upper right corner of the sub-block
  • (mv 2x , mv 2y ) is the lower left of the sub-block MV of the corner control point
  • (x, y) is the position of the sub-block in the current block.
  • a coding block will have a sports field similar to the sports field shown in FIG. 3.
  • the motion compensation process can be used to obtain the prediction block of each sub-block.
  • the size of the sub-blocks of the chrominance component and the luminance component are both 4x4, and the motion vector of the chrominance component 4x4 block can be obtained by averaging the motion vector of the corresponding 4x4 luminance component.
  • PROF technology is a technology introduced on the basis of the Affine model, which can improve the prediction results on the basis of the Affine model.
  • PROF technology can sometimes be called affine motion optical flow technology.
  • the implementation process of PROF technology is introduced below.
  • the pixel value of the reconstructed block can be expressed by the following formula (9):
  • the current block adopts the bidirectional prediction mode
  • two reconstructed blocks will be obtained.
  • the final reconstructed block needs to be calculated based on the two reconstructed blocks.
  • the first is bi-prediction with CU-level weight (BCW), and the second is non-BCW.
  • the current block of bidirectional prediction adopts the method of averaging two reconstructed blocks to obtain the final reconstructed block.
  • the bidirectionally predicted current block adopts a weighted average of two reconstructed blocks to obtain the final reconstructed block, and different current blocks may have different weights.
  • the weighted prediction method of BCW can be expressed by the following formula (10):
  • I′(i,j) ((rec1(i,j)+ ⁇ rec1(i,j))*(8-w)+(rec2(i,j)+ ⁇ rec2(i,j))*w+4 )>>3(10)
  • I'(i,j) represents the final reconstructed block
  • rec1 and rec2 represent two reconstructed blocks determined based on the Affine mode
  • ⁇ rec1 and ⁇ rec2 represent the pixel adjustment amount of the reconstructed block calculated by the optical flow method (replacement).
  • the calculation method of the pixel adjustment amount of the building block can be referred to the above formula (5));
  • w represents the weight;
  • (i, j) represents the pixel point.
  • the value of w can be set to the following five types: w ⁇ -2,3,4,5,10 ⁇ ; for non-low-delay frames, you can Set the value of w to the following three types: w ⁇ 3,4,5 ⁇ .
  • the value range of rec1 and rec2 will generally be limited in advance to a smaller range. Therefore, the product of rec1 and (8-w), or the product of rec2 and w will generally not exceed the preset value.
  • the set value represents the range.
  • the value of rec1 or rec2 is generally limited to A value between 0-1023, in other words, rec1 or rec2 can be represented by 10 bits.
  • w or (8-w) is generally represented by 3 bits. It can be seen that the product of rec1 and (8-w), or the product of rec2 and w is at most 13 bits, not more than 16 bits.
  • the standard does not limit the values of ⁇ rec1 and ⁇ rec2. Therefore, the multiplication operation between ⁇ rec1 or ⁇ rec2 and the weight may cause overflow. For example, assuming that the value of ⁇ rec1 is large, 14 bits are required for representation, and the weight needs 3 bits for representation, then the result of the multiplication operation in formula (10) needs 17 bits to be represented, which will exceed the preset numerical representation range (The value identification range corresponding to 16 bits), which leads to overflow problems.
  • FIG. 4 is a schematic flowchart of a video processing method provided by an embodiment of the present application.
  • the method in FIG. 4 can be executed by an encoding device or a decoding device.
  • the method in FIG. 4 includes step S410 to step S430.
  • step S410 two reconstructed blocks of the current block in the bidirectional prediction mode are determined.
  • the two reconstructed blocks may be, for example, reconstructed blocks obtained by using Affine mode prediction.
  • step S420 the pixel values of the two reconstructed blocks are adjusted using the PROF technology.
  • the pixel value of each of the two reconstruction blocks can be adjusted according to the above formula (9).
  • step S430 the pixel values of the two reconstructed blocks are weighted and averaged using preset weights to obtain the final reconstructed block of the current block.
  • Step S420 and step S430 can be implemented separately, or can be implemented together by the above formula (10).
  • the embodiment of the present application controls the pixel values and/or weights of the two reconstructed blocks so that the product of the pixel values and weights of the two reconstructed blocks does not exceed the preset value.
  • the value of indicates the range, which can solve the overflow problem mentioned above, thereby improving the friendliness of hardware implementation.
  • the preset numerical representation range can be set by predefining the maximum number of bits (or the maximum bit width) allowed to represent a numerical value. For example, if a pre-defined numerical value represents the maximum number of bits used is 16 bits, represents the range of the preset values may be located between -216 and 216.
  • the adjustment value of the pixel value of the reconstructed block may be controlled to achieve the purpose of controlling the pixel value of the reconstructed block, so that The product of the pixel value and the weight of the reconstructed block does not exceed the preset numerical representation range.
  • An example is given below with reference to FIG. 5.
  • step S420 may include step S422 to step S426.
  • step S422 the adjustment amount of the pixel value of the reconstructed block is determined.
  • step S424 if the number of bits occupied by the adjustment of the pixel value of the reconstructed block is greater than N, the adjustment of the pixel value of the reconstructed block is cropped so that the bit of the adjustment of the pixel value of the reconstructed block occupies The number is less than or equal to N.
  • N is less than or equal to M-K.
  • M can represent the number of bits required for the preset value to represent the range, and K can represent the number of bits required for the weight.
  • N is less than or equal to 13.
  • N can be set to 13, or N can be set to 12 or 11.
  • step S426 the pixel value of the reconstructed block is adjusted according to the adjustment amount of the pixel value of the reconstructed block after cropping.
  • I′(i,j) (rec1(i,j)+clip( ⁇ rec1(i,j),N))*W1+((rec2(i,j)+clip( ⁇ rec2i,j,N)*W2 ( 11)
  • clip( ⁇ rec1(i,j),N) can be implemented using the following formula (12) (it should be understood that clip( ⁇ rec2(i,j),N) can also be implemented in a similar way, here only clip( ⁇ rec1(i, j), N) is an example for illustration):
  • Equation (12) if the value of ⁇ rec1(i,j) exceeds the boundary value of the preset numerical representation range, its value is forcibly set to the boundary value of the preset numerical representation range. Equation (12) gives a possible clipping method, and other implementation methods can also be used. For example, if the value of ⁇ rec1(i,j) exceeds the boundary value of the preset numerical representation range, its value can also be forcibly set to a value within the preset numerical representation range, instead of being set to a boundary value.
  • the adjustment amount of the pixel value of the reconstructed block may not be cropped first, and the adjustment amount of the reconstructed block may be used first.
  • the adjustment amount of the pixel value adjusts the pixel value of the reconstructed block, and then crops the adjusted pixel value so that the product of the pixel value of the cropped reconstructed block and its corresponding weight does not exceed the preset numerical value. range.
  • the pixel value and weight of the reconstructed block can also be cropped at the same time, or the number of bits occupied by the weight can be limited, so that the pixel value of the reconstructed block and its corresponding weight The product of does not exceed the preset numerical range.
  • FIG. 4 and FIG. 5 prevent the overflow problem that may be caused by using the BCW technology based on the PROF technology by controlling the values of pixels and/or weights.
  • the embodiment of the present application is not limited to this, and another possible implementation manner is given below in conjunction with FIG. 6.
  • FIG. 6 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • the method in FIG. 6 may include step S610 and step S620.
  • step S610 it is determined whether the current block adopts the PROF technology.
  • step S620 if the current block adopts the PROF technology, the current block is prohibited from adopting the BCW technology.
  • the current block may adopt bidirectional prediction. If the current block calculates two reconstructed blocks based on the PROF technology, the non-BCW mode is used to directly calculate the average value of the two reconstructed blocks.
  • the reason for the overflow during the PROF process is described in detail above: after the introduction of the BCW technology on the basis of the PROF technology, the result of the multiplication operation between the pixel value and the weight value may exceed the preset numerical representation range.
  • the embodiment of Fig. 6 first determines whether the PROF technology is used in the current block. If the PROF technology is used, the BCW technology is directly disabled, thereby avoiding the overflow problem from the source. In addition, this can also simplify the implementation of PROF technology.
  • the method in FIG. 6 can also be replaced with or further include: determining whether the current block uses the BCW technology; if the current block uses the BCW technology, prohibiting the current block from using the PROF technology.
  • FIG. 7 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • the method in FIG. 7 can be executed by an encoding device or a decoding device.
  • the method in FIG. 7 may include step S710 and step S720.
  • step S710 it is determined whether the current block satisfies a preset condition.
  • the preset condition may be a condition related to the size of the current block.
  • the preset condition may be that the product of the width and height of the current block is less than or equal to a preset value (such as 128 or 256).
  • the preset condition may be that the product of the width and height of the current block is no longer within the preset size range.
  • the preset condition may be that the width or height of the current block is less than or equal to a preset value.
  • the preset condition may also be a condition related to the prediction mode of the pixel value of the reconstructed block of the current block.
  • the preset condition may be that the pixel value of the reconstructed block of the current block is predicted using a weighted prediction manner.
  • the weighted prediction can be a weighted prediction at the coding block level (such as the above BCW), or it can be a weighted prediction at the slice level.
  • Strip-level weighted prediction is called WP (weighted prediction), which is a prediction technology designed for gradual video content.
  • the so-called gradual video content may be, for example, as the video is played, the brightness of the video frame gradually becomes darker.
  • WP can be used for one-way prediction or two-way prediction.
  • w 0 , w 1 represent weights
  • o 0 , o 1 represent offset values.
  • these parameters are all strip-level parameters.
  • step S720 when the current block meets the preset condition, the current block is prohibited from using the PROF technology.
  • the embodiment of the present application disables the PROF technology for a specific current block, thereby simplifying the design of the PROF and improving the efficiency of coding and decoding.
  • Video encoding will form a bit stream.
  • the data in the code stream is usually organized together according to a certain format.
  • a code stream may include one or more sequences; a sequence may include one or more slices; and a slice may include one or more coding blocks.
  • the appropriate technology is usually selected from PROF, bi-directional optical flow (BDOF), decoder-side motion vector refinement (DMVR) and other technologies according to the actual situation.
  • the sequence-level switch of BDOF can be used to indicate whether a certain sequence adopts BDOF technology
  • the strip-level switch of BDOF can be used to indicate whether a certain strip adopts BDOF technology.
  • PROF the current standard does not provide a strip-level switch, resulting in the design of PROF is not flexible enough.
  • FIG. 8 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • the method in FIG. 8 may be executed by an encoding device.
  • the method in FIG. 8 may include step S810 and step S820.
  • step S810 first indication information of the current stripe is generated, and the first indication information is used to indicate whether the current stripe adopts the PROF technology.
  • the first indication information can be understood as a strip-level switch of the PROF technology, through which a strip can be flexibly configured whether the PROF technology can be applied to a strip.
  • step S820 the first indication information is encoded in the code stream.
  • the first indication information may simultaneously indicate whether the current slice adopts the BDOF technology.
  • PROF technology can share the same strip-level switches with BDOF technology.
  • the strip also adopts the BDOF technology; when a certain strip does not adopt the PROF technology, the strip also does not adopt the BDOF technology.
  • the code stream may also include second indication information that is independent of the first indication information, and the second indication information may be used to indicate that the current slice uses the DMVR technology. That is to say, in this embodiment, PROF technology and BDOF technology share the same strip-level switch, while DMVR uses a separate strip-level switch.
  • the first indication information may simultaneously indicate whether the current slice adopts the DMVR technology.
  • PROF technology can share the same strip-level switch with DMVR technology.
  • the code stream may also include second indication information that is independent of the first indication information, and the second indication information may be used to indicate that the current slice uses the BDOF technology. That is to say, in this embodiment, PROF technology and DMVR technology share the same strip-level switch, while BDOF uses a separate strip-level switch.
  • the embodiment of the present application sets a common strip-level switch for the PROF technology and the DMVR technology, and this setting can simplify the coding and decoding processing logic.
  • the first indication information may simultaneously indicate whether the current slice adopts the BDOF technology and the DMVR technology.
  • PROF technology can share the same strip-level switch with BDOF technology and DMVR technology.
  • the strip also adopts BDOF technology and DMVR technology.
  • the embodiment of the present application sets a common strip-level switch for PROF technology, BDOF technology, and DMVR technology. This setting can simplify the processing logic of encoding and decoding.
  • the code stream may also include second indication information and third indication information.
  • the first indication information, the second indication information, and the third indication information may be independent of each other.
  • the second indication information may be used to indicate whether the current slice adopts the BDOF technology
  • the third indication information may be used to indicate whether the current slice adopts the DMVR technology.
  • the PROF technology, BDOF technology, and DMVR technology respectively use independent strip-level switches.
  • independent strip-level switches are set for PROF technology, BDOF technology, and DMVR technology, so that the encoding end can select more flexibly according to actual conditions.
  • FIG. 9 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
  • the method in FIG. 9 may be executed by a decoding device.
  • the method in FIG. 9 may include step S910 and step S920.
  • step S910 first indication information of the current slice is obtained from the code stream, where the first indication information is used to indicate whether the current slice adopts the PROF technology.
  • step S920 the current slice is decoded according to the first indication information.
  • the first indication information also indicates whether the current slice adopts BDOF technology and/or DMVR technology.
  • the first indication information also indicates whether the current slice adopts DMVR technology
  • the code stream also includes second indication information independent of the first indication information, and the second indication information is used to indicate whether the current slice adopts BDOF technology.
  • the first indication information also indicates whether the current slice adopts BDOF technology
  • the code stream also includes second indication information independent of the first indication information, and the second indication information is used to indicate whether the current slice adopts DMVR technology.
  • the bitstream also includes second indication information and third indication information.
  • the first indication information, the second indication information, and the third indication information are independent of each other, and the second indication information is used to indicate whether the current slice adopts BDOF technology.
  • the third indication information is used to indicate whether the current stripe adopts the DMVR technology.
  • FIG. 10 is a schematic structural diagram of a video processing device provided by an embodiment of the present application.
  • the apparatus 1000 in FIG. 10 includes a memory 1010 and a processor 1020.
  • the memory 1010 can be used to store instructions.
  • the processor 1020 may be configured to execute the execution stored in the memory to perform the following operations: determine the two reconstruction blocks of the current block in the bidirectional prediction mode; use PROF technology to adjust the pixel values of the two reconstruction blocks Use preset weights to weighted and average the pixel values of the two reconstructed blocks to obtain the final reconstructed block of the current block; wherein, in the process of determining the final reconstructed block, the two reconstructed blocks are The pixel value of the reconstructed block and/or the value of the weight are controlled so that the product of the pixel value of the two reconstructed blocks and the weight does not exceed a preset numerical representation range.
  • the use of the PROF technology to adjust the pixel values of the two reconstructed blocks includes: determining the adjustment amount of the pixel value of the reconstructed block; if the adjustment amount of the pixel value of the reconstructed block is If the number of bits occupied is greater than N, the adjustment amount of the pixel value of the reconstruction block is cropped so that the number of bits occupied by the adjustment amount of the pixel value of the reconstruction block is less than or equal to N, where N is less than or Equal to MK, where M is the number of bits required to represent the range of the preset value, and K is the number of bits required to represent the weight; according to the adjustment of the pixel value of the reconstructed block after cropping, The pixel value of the reconstructed block is adjusted.
  • N 13.
  • both of the reconstructed blocks are reconstructed blocks obtained by using affine mode prediction.
  • FIG. 11 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • the apparatus 1100 in FIG. 11 includes a memory 1110 and a processor 1120.
  • the memory 1110 can be used to store instructions.
  • the processor 1120 may be configured to execute the execution stored in the memory to perform the following operations: determine whether the current block adopts the PROF technology; if the current block adopts the PROF technology, prohibit the current block from adopting the BCW technology.
  • the processor 1120 may also be configured to perform the following operations: if the current block uses the BCW technology, prohibit the current block from using the PROF technology.
  • FIG. 12 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • the apparatus 1200 in FIG. 12 includes a memory 1210 and a processor 1220.
  • the memory 1210 can be used to store instructions.
  • the processor 1220 may be configured to execute the execution stored in the memory to perform the following operations: determine whether the current block meets a preset condition; when the current block meets the preset condition, prohibit the current block from using the PROF technology.
  • the preset condition is a condition related to the size of the current block.
  • the preset condition is that the product of the width and height of the current block is less than or equal to a preset value.
  • the preset value is 128.
  • the preset condition is a condition related to a prediction mode of the pixel value of the reconstructed block of the current block.
  • the preset condition is that the pixel value of the reconstructed block of the current block is predicted using a weighted prediction manner.
  • the weighted prediction mode is a coding block level or slice level weighted prediction mode.
  • FIG. 13 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • the apparatus 1300 in FIG. 13 includes a memory 1310 and a processor 1320.
  • the memory 1310 can be used to store instructions.
  • the processor 1320 may be configured to execute the execution stored in the memory to perform the following operations: generate first indication information of the current stripe, the first indication information being used to indicate whether the current stripe adopts the PROF technology; The first indication information is encoded in the stream.
  • the first indication information also indicates whether the current stripe adopts BDOF technology and/or DMVR technology.
  • the first indication information also indicates whether the current slice adopts the DMVR technology
  • the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses BDOF technology.
  • the first indication information also indicates whether the current slice adopts the BDOF technology
  • the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses DMVR technology.
  • the code stream further includes second indication information and third indication information, the first indication information, the second indication information, and the third indication information are independent of each other, and the second indication information It is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
  • FIG. 14 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
  • the apparatus 1400 in FIG. 14 includes a memory 1410 and a processor 1420.
  • the memory 1410 can be used to store instructions.
  • the processor 1420 may be configured to execute the execution stored in the memory to perform the following operations: obtain the first indication information of the current stripe from the code stream, the first indication information being used to indicate whether the current stripe adopts PROF Technology; According to the first indication information, the current slice is decoded.
  • the first indication information also indicates whether the current stripe adopts BDOF technology and/or DMVR technology.
  • the first indication information also indicates whether the current slice adopts the DMVR technology
  • the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses BDOF technology.
  • the first indication information also indicates whether the current slice adopts the BDOF technology
  • the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses DMVR technology.
  • the code stream further includes second indication information and third indication information, the first indication information, the second indication information, and the third indication information are independent of each other, and the second indication information It is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
  • the computer may be implemented in whole or in part by software, hardware, firmware or any other combination.
  • software it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)), etc.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.

Landscapes

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

Abstract

Provided by the present application are a video processing method and apparatus. The method comprises: determining two reconstruction blocks of a current block that are in a bidirectional prediction mode; using a PROF technique to adjust a pixel value of the two reconstruction blocks; and using a preset weight to perform weight averaging on the pixel value of the two reconstruction blocks so as to obtain a final reconstruction block of the current block. During the process of determining the final reconstruction block, a pixel value and/or weight value of the two reconstruction blocks is controlled, so that the product of multiplication of the pixel value and the weight of the two reconstruction blocks does not exceed a preset numerical display range. The described solution provided by the present application may optimize a PROF technique.

Description

视频处理方法和装置Video processing method and device
版权申明Copyright statement
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。The content disclosed in this patent document contains copyrighted material. The copyright belongs to the copyright owner. The copyright owner does not object to anyone copying the patent document or the patent disclosure in the official records and archives of the Patent and Trademark Office.
技术领域Technical field
本申请涉及视频编解码领域,并且更为具体地,涉及一种视频处理方法和装置。This application relates to the field of video coding and decoding, and more specifically, to a video processing method and device.
背景技术Background technique
传统技术中,帧间预测过程中的运动矢量一般基于传统的运动模型(平移运动模型)确定。然而,在现实世界中,除了平移运动之外,还有很多种其他类型的运动形式,比如缩放、旋转、透视运动等无规则的运动形式。因此,帧间预测技术在传统技术基础上逐渐引入了仿射(affine)技术。In the traditional technology, the motion vector in the inter-frame prediction process is generally determined based on the traditional motion model (translational motion model). However, in the real world, in addition to translational motion, there are many other types of motion, such as zoom, rotation, perspective motion and other irregular motion forms. Therefore, the inter prediction technology gradually introduces an affine technology on the basis of the traditional technology.
用于仿射模式的具有光流的预测改进(prediction refinement with optical flow for affine mode,PROF)技术是在Affine模式基础上引入的一种技术,可以在Affine模式基础上对预测结果进行改善。PROF技术有时也可称为仿射运动光流技术。The prediction refinement with optical flow for affine mode (PROF) technology used in the affine mode is a technology introduced on the basis of the Affine mode, and the prediction result can be improved on the basis of the Affine mode. PROF technology can sometimes be called affine motion optical flow technology.
目前的PROF技术还不够完善,需要进一步优化。The current PROF technology is not perfect and needs to be further optimized.
发明内容Summary of the invention
本申请提供一种视频处理方法和装置,以优化PROF技术。This application provides a video processing method and device to optimize the PROF technology.
第一方面,提供一种视频处理方法,包括:确定当前块在双向预测模式下的两个重构块;利用PROF技术对两个所述重构块的像素值进行调整;利用预设的权重对两个所述重构块的像素值进行加权平均,得到所述当前块的最终重构块;其中,在确定所述最终重构块的过程中,对两个所述重构块的像素值和/或所述权重的取值进行控制,使得两个所述重构块的像素值和所述权重的乘积不超出预设的数值表示范围。In a first aspect, a video processing method is provided, including: determining two reconstructed blocks of a current block in a bidirectional prediction mode; adjusting the pixel values of the two reconstructed blocks using PROF technology; and using preset weights The pixel values of the two reconstructed blocks are weighted and averaged to obtain the final reconstructed block of the current block; wherein, in the process of determining the final reconstructed block, the pixels of the two reconstructed blocks are determined The value and/or the value of the weight are controlled so that the product of the pixel value of the two reconstructed blocks and the weight does not exceed a preset numerical value representation range.
第二方面,提供一种视频处理方法,包括:确定所述当前块是否采用 PROF技术;如果所述当前块采用PROF技术,禁止所述当前块采用BCW技术。In a second aspect, a video processing method is provided, including: determining whether the current block uses the PROF technology; if the current block uses the PROF technology, prohibiting the current block from using the BCW technology.
第三方面,提供一种视频处理方法,包括:判断当前块是否满足预设条件;当所述当前块满足预设条件时,禁止所述当前块采用PROF技术。In a third aspect, a video processing method is provided, including: determining whether a current block meets a preset condition; when the current block meets the preset condition, prohibiting the current block from using the PROF technology.
第四方面,提供一种视频处理方法,包括:生成当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;在码流中编码所述第一指示信息。In a fourth aspect, a video processing method is provided, including: generating first indication information of a current slice, the first indication information being used to indicate whether the current slice adopts the PROF technology; and encoding the first slice in a bitstream One instruction information.
第五方面,提供一种视频处理方法,包括:从码流中获取当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;根据所述第一指示信息,对所述当前条带进行解码。In a fifth aspect, a video processing method is provided, including: obtaining first indication information of a current slice from a code stream, where the first indication information is used to indicate whether the current slice adopts the PROF technology; An indication information to decode the current slice.
第六方面,提供一种视频处理装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的执行,以执行如下操作:确定当前块在双向预测模式下的两个重构块;利用PROF技术对两个所述重构块的像素值进行调整;利用预设的权重对两个所述重构块的像素值进行加权平均,得到所述当前块的最终重构块;其中,在确定所述最终重构块的过程中,对两个所述重构块的像素值和/或所述权重的取值进行控制,使得两个所述重构块的像素值和所述权重的乘积不超出预设的数值表示范围。In a sixth aspect, there is provided a video processing device, including: a memory, configured to store instructions; a processor, configured to execute the execution stored in the memory to perform the following operations: determine that the current block is in two-way prediction mode Reconstruct the block; use the PROF technology to adjust the pixel values of the two reconstructed blocks; use the preset weight to perform a weighted average on the pixel values of the two reconstructed blocks to obtain the final reconstruction of the current block Block; wherein, in the process of determining the final reconstructed block, the pixel values of the two reconstructed blocks and/or the value of the weight are controlled so that the pixel values of the two reconstructed blocks The product of the weight and the weight does not exceed the preset numerical representation range.
第七方面,提供一种视频处理装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的执行,以执行如下操作:确定所述当前块是否采用PROF技术;如果所述当前块采用PROF技术,禁止所述当前块采用BCW技术。In a seventh aspect, a video processing device is provided, including: a memory for storing instructions; a processor for executing the execution stored in the memory to perform the following operations: determine whether the current block uses PROF technology; if The current block uses the PROF technology, and the current block is prohibited from using the BCW technology.
第八方面,提供一种视频处理装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的执行,以执行如下操作:判断当前块是否满足预设条件;当所述当前块满足预设条件时,禁止所述当前块采用PROF技术。In an eighth aspect, there is provided a video processing device, including: a memory, configured to store instructions; a processor, configured to execute the execution stored in the memory to perform the following operations: determine whether the current block meets a preset condition; When the current block meets the preset condition, the current block is prohibited from using the PROF technology.
第九方面,提供一种视频处理装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的执行,以执行如下操作:生成当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;在码流中编码所述第一指示信息。In a ninth aspect, a video processing device is provided, including: a memory for storing instructions; a processor for executing the execution stored in the memory to perform the following operations: generating first indication information of the current stripe, so The first indication information is used to indicate whether the current slice adopts the PROF technology; the first indication information is encoded in a code stream.
第十方面,提供一种视频处理装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的执行,以执行如下操作:从码流中获取 当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;根据所述第一指示信息,对所述当前条带进行解码。In a tenth aspect, a video processing device is provided, including: a memory for storing instructions; a processor for executing the execution stored in the memory to perform the following operations: obtaining the first slice of the current slice from the code stream Indication information, the first indication information is used to indicate whether the current slice adopts the PROF technology; according to the first indication information, the current slice is decoded.
第十一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。In an eleventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores instructions that, when run on a computer, cause the computer to execute the methods described in the above aspects.
第十二方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。In a twelfth aspect, a computer program product containing instructions is provided, which when run on a computer, causes the computer to execute the methods described in the above aspects.
附图说明Description of the drawings
图1是视频编码过程的大致流程示意图。Figure 1 is a schematic flow diagram of the video encoding process.
图2是控制点的运动矢量的示例图。Fig. 2 is an example diagram of a motion vector of a control point.
图3是仿射模式的运动矢量的示例图。Fig. 3 is a diagram showing an example of a motion vector in an affine mode.
图4是本申请一个实施例提供的视频处理方法的示意性流程图。FIG. 4 is a schematic flowchart of a video processing method provided by an embodiment of the present application.
图5是图4中的步骤S420的一种可能的实现方式的示意性流程图。FIG. 5 is a schematic flowchart of a possible implementation manner of step S420 in FIG. 4.
图6是本申请另一实施例提供的视频处理方法的示意性流程图。FIG. 6 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
图7是本申请又一实施例提供的视频处理方法的示意性流程图。FIG. 7 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
图8是本申请又一实施例提供的视频处理方法的示意性流程图。FIG. 8 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
图9是本申请又一实施例提供的视频处理方法的示意性流程图。FIG. 9 is a schematic flowchart of a video processing method provided by another embodiment of the present application.
图10是本申请一个实施例提供的视频处理装置的示意性结构图。FIG. 10 is a schematic structural diagram of a video processing device provided by an embodiment of the present application.
图11是本申请另一实施例提供的视频处理装置的示意性结构图。FIG. 11 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
图12是本申请又一实施例提供的视频处理装置的示意性结构图。FIG. 12 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
图13是本申请又一实施例提供的视频处理装置的示意性结构图。FIG. 13 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
图14是本申请又一实施例提供的视频处理装置的示意性结构图。FIG. 14 is a schematic structural diagram of a video processing device provided by another embodiment of the present application.
具体实施方式detailed description
本申请可应用于多种视频编码标准,如H.264,高效率视频编码(high efficiency video coding,HEVC),通用视频编码(versatile video coding,VVC),音视频编码标准(audio video coding standard,AVS),AVS+,AVS2以及AVS3等。This application can be applied to a variety of video coding standards, such as H.264, high efficiency video coding (HEVC), universal video coding (VVC), audio video coding standard, AVS), AVS+, AVS2 and AVS3, etc.
如图1所示,视频编码过程主要包括预测、变换、量化、熵编码等部分。预测是主流视频编码技术的重要组成部分。预测可以分为帧内预测和帧间预 测。帧间预测主要包含运动估计和运动补偿过程。下面对运动补偿过程进行举例说明。As shown in Figure 1, the video coding process mainly includes prediction, transformation, quantization, entropy coding and other parts. Prediction is an important part of mainstream video coding technology. Prediction can be divided into intra-frame prediction and inter-frame prediction. Inter-frame prediction mainly includes motion estimation and motion compensation processes. An example of the motion compensation process is given below.
例如,对于一帧图像,可以先将其划分成一个或多个编码区域。该编码区域也可称为编码树单元(coding tree unit,CTU)。CTU的尺寸例如可以是64×64,也可以是128×128(单位为像素,后文的类似描述均省略单位)。每个CTU可以划分成方形或矩形的图像块。该图像块也可称为编码单元(coding unit,CU),后文会将待编码的当前CU称为当前块。For example, for a frame of image, it can be divided into one or more coding regions. The coding area may also be referred to as a coding tree unit (CTU). The size of the CTU may be, for example, 64×64 or 128×128 (the unit is a pixel, and the unit is omitted for similar descriptions below). Each CTU can be divided into square or rectangular image blocks. The image block may also be referred to as a coding unit (CU), and the current CU to be encoded will be referred to as the current block in the following.
在对当前块进行帧间预测时,可以从参考帧(一般是时域附近的已重构帧)中寻找当前块的相似块,作为当前块的预测块。当前块与预测块之间的相对位移称为运动矢量(motion vector,MV)。运动矢量的获取过程即为运动估计过程。运动补偿可以理解为利用运动矢量和参考帧得到预测块的过程,此过程得到的预测块可能与原始的当前块有一定的差别,因此,可以将预测块和当前块的残差经过变换、量化等操作之后传递至解码端。除此之外,编码端还将运动矢量的信息传递至解码端。这样一来,解码端通过运动矢量、当前块的参考帧、预测块和当前块的残差,可以重构出当前块。以上描述的过程即为帧间预测的大致过程。When performing inter-frame prediction on the current block, a reference frame (usually a reconstructed frame near the time domain) can be searched for similar blocks of the current block as the prediction block of the current block. The relative displacement between the current block and the prediction block is called a motion vector (MV). The process of obtaining the motion vector is the process of motion estimation. Motion compensation can be understood as the process of using motion vectors and reference frames to obtain a prediction block. The prediction block obtained by this process may be different from the original current block. Therefore, the residual difference between the prediction block and the current block can be transformed and quantized After the operation is passed to the decoding end. In addition, the encoding end also transmits the motion vector information to the decoding end. In this way, the decoder can reconstruct the current block through the motion vector, the reference frame of the current block, the prediction block, and the residual of the current block. The process described above is the general process of inter prediction.
帧间预测模式可以包括高级运动向量预测(advanced motion vector prediction,AMVP)模式、合并(merge)模式和跳过(skip)。Inter prediction modes may include advanced motion vector prediction (AMVP) mode, merge mode, and skip.
对于AMVP模式而言,可以先确定MVP,在得到MVP之后,可以根据MVP确定运动估计的起始点,在起始点附近,进行运动搜索,搜索完毕之后得到最优的MV,由MV确定参考块在参考图像中的位置,参考块减去当前块得到残差块,MV减去MVP得到运动矢量差值(motion vector difference,MVD),并将该MVD通过码流传输给解码端。For the AMVP mode, the MVP can be determined first. After the MVP is obtained, the starting point of the motion estimation can be determined according to the MVP, and the motion search is performed near the starting point. After the search is completed, the optimal MV is obtained. The MV determines the reference block in With reference to the position in the image, the reference block is subtracted from the current block to obtain the residual block, and the MV is subtracted from the MVP to obtain the motion vector difference (MVD), and the MVD is transmitted to the decoder through the code stream.
对于Merge模式而言,可以先确定MVP,并直接将MVP确定为MV。其中,为了得到MVP,可以先获取一个如前所述的MVP候选列表,在MVP候选列表中,可以包括至少一个候选MVP,每个候选MVP可以对应有一个索引,编码端在从MVP候选列表中选择MVP之后,可以将该MVP索引写入到码流中,则解码端可以按照该索引从MVP候选列表中找到该索引对应的MVP,以实现对图像块的解码。For the Merge mode, you can determine the MVP first, and directly determine the MVP as the MV. Among them, in order to obtain the MVP, you can first obtain an MVP candidate list as described above. In the MVP candidate list, you can include at least one candidate MVP, and each candidate MVP can correspond to an index. The encoding end is in the MVP candidate list. After selecting the MVP, the MVP index can be written into the code stream, and the decoder can find the MVP corresponding to the index from the MVP candidate list according to the index, so as to realize the decoding of the image block.
Skip模式是Merge模式的一种特例。按照Merge模式得到MV之后,如果编码器确定当前块和参考块基本一样,那么不需要传输残差数据,只需 要传递该MVP的索引,以及进一步地可以传递一个标志,该标志可以表明当前块可以直接从参考块得到。Skip mode is a special case of Merge mode. After obtaining the MV according to the Merge mode, if the encoder determines that the current block is basically the same as the reference block, then there is no need to transmit residual data, only the index of the MVP needs to be passed, and a flag can be further passed, which can indicate that the current block can be Obtained directly from the reference block.
帧间预测主要包括前向预测、后向预测、双向预测等帧间预测模式。前向预测是利用当前帧之前的帧(“历史帧”)对当前帧进行预测。后向预测是利用当前帧之后的帧(“将来帧”)对当前帧进行预测。双向预测是不仅利用“历史帧”,也利用“将来帧”对当前帧进行预测。Inter-frame prediction mainly includes inter-frame prediction modes such as forward prediction, backward prediction, and bidirectional prediction. Forward prediction is to use frames before the current frame ("historical frames") to predict the current frame. Backward prediction is to use frames after the current frame ("future frame") to predict the current frame. Bidirectional prediction uses not only "historical frames" but also "future frames" to predict the current frame.
传统技术中,帧间预测过程中的运动矢量一般基于传统的运动模型(平移运动模型)确定。然而,在现实世界中,除了平移运动之外,还有很多种其他类型的运动形式,比如缩放、旋转、透视等无规则的运动形式。因此,帧间预测技术在传统技术基础上逐渐引入了仿射(affine)技术。如图2所示,在Affine模式下,一个图像块的运动场可以通过两个控制点(control point,CP)或三个控制点的运动矢量导出。由于每个控制点的运动矢量可以由两个参数(x方向的参数和y方向的参数)表示,因此基于两个控制点的运动模型可以称为四参数的Affine运动模型,基于三个控制点的运动模型可以称为六参数的Affine运动模型。In the traditional technology, the motion vector in the inter-frame prediction process is generally determined based on the traditional motion model (translational motion model). However, in the real world, in addition to translational motion, there are many other types of motion, such as zoom, rotation, perspective and other irregular motion forms. Therefore, the inter prediction technology gradually introduces an affine technology on the basis of the traditional technology. As shown in FIG. 2, in the Affine mode, the motion field of an image block can be derived from the motion vectors of two control points (CP) or three control points. Since the motion vector of each control point can be represented by two parameters (parameters in the x direction and parameters in the y direction), a motion model based on two control points can be called a four-parameter Affine motion model, based on three control points The motion model of can be called the six-parameter Affine motion model.
Affine模式一般不以整个编码块为处理对象,而是会将整个编码块划分为子块(或称子CU,或sub-CU),并以子块为处理对象。其中,每个子块的大小一般为4x4。因此,在Affine模式下,一个编码块并非仅有一个MV,而是编码块中的每一个子块具有各自对应的MV。编码块中的子块的MV可以通过图2中两个控制点的MV(control point motion vector,CPMV)计算得出。因此,对于Affine模式,可以在码流中写入CPMV的信息。The Affine mode generally does not take the entire coding block as the processing object, but divides the entire coding block into sub-blocks (or called sub-CU, or sub-CU), and takes the sub-blocks as the processing object. Among them, the size of each sub-block is generally 4x4. Therefore, in the Affine mode, a coding block does not have only one MV, but each sub-block in the coding block has its own corresponding MV. The MV of the sub-block in the coding block can be calculated from the MV (control point motion vector, CPMV) of the two control points in FIG. 2. Therefore, for the Affine mode, CPMV information can be written in the code stream.
对于四参数的Affine运动模型,位于(x,y)位置的子块的MV可以通过以下公式(1)计算得到:For the four-parameter Affine motion model, the MV of the sub-block at the position (x, y) can be calculated by the following formula (1):
Figure PCTCN2019107604-appb-000001
Figure PCTCN2019107604-appb-000001
对于六参数的Affine运动模型,位于(x,y)位置的子块的MV通过以下公式(2)计算得到:For the six-parameter Affine motion model, the MV of the sub-block at the position (x, y) is calculated by the following formula (2):
Figure PCTCN2019107604-appb-000002
Figure PCTCN2019107604-appb-000002
其中,(mv 0x,mv 0y)为子块的左上角控制点的MV,(mv 1x,mv 1y)为子块的右上角控制点的MV,(mv 2x,mv 2y)为子块的左下角控制点的MV,(x,y) 为子块在当前块中的位置。 Among them, (mv 0x , mv 0y ) is the MV of the control point at the upper left corner of the sub-block, (mv 1x , mv 1y ) is the MV of the control point at the upper right corner of the sub-block, (mv 2x , mv 2y ) is the lower left of the sub-block MV of the corner control point, (x, y) is the position of the sub-block in the current block.
经过上述公式的计算,一个编码块会具有与图3所示的运动场类似的运动场。在计算得到每一个子块的MV之后,可以利用运动补偿的过程得到每一个子块的预测块。色度分量和亮度分量的子块的大小都是4x4,色度分量4x4块的运动矢量可以由其对应的4x4的亮度分量的运动矢量平均得到。After the calculation of the above formula, a coding block will have a sports field similar to the sports field shown in FIG. 3. After the MV of each sub-block is calculated, the motion compensation process can be used to obtain the prediction block of each sub-block. The size of the sub-blocks of the chrominance component and the luminance component are both 4x4, and the motion vector of the chrominance component 4x4 block can be obtained by averaging the motion vector of the corresponding 4x4 luminance component.
PROF技术是在Affine模式基础上引入的一种技术,其可以在Affine模式基础上对预测结果进行改善。PROF技术有时也可称为仿射运动光流技术。下面对PROF技术的实现过程进行介绍。The PROF technology is a technology introduced on the basis of the Affine model, which can improve the prediction results on the basis of the Affine model. PROF technology can sometimes be called affine motion optical flow technology. The implementation process of PROF technology is introduced below.
首先,对当前块进行Affine模式预测,得到重构块I(i,j),其中,(i,j)表示重构块中的像素的像素值。First, perform Affine mode prediction on the current block to obtain a reconstructed block I(i, j), where (i, j) represents the pixel value of the pixel in the reconstructed block.
接着,采用如下公式(3)和(4)计算重构块的像素梯度值:Then, the following formulas (3) and (4) are used to calculate the pixel gradient value of the reconstructed block:
g x(i,j)=I(i+1,j)-I(i-1,j)(3) g x (i,j)=I(i+1,j)-I(i-1,j)(3)
g y(i,j)=I(i,j+1)-I(i,j-1)(4) g y (i,j)=I(i,j+1)-I(i,j-1)(4)
接着,通过光流计算公式(5),计算重构块的像素调整量:Next, calculate the pixel adjustment amount of the reconstructed block by the optical flow calculation formula (5):
ΔI(i,j)=g x(i,j)*Δv x(i,j)+g y(i,j)*Δv y(i,j)(5) ΔI(i,j)=g x (i,j)*Δv x (i,j)+g y (i,j)*Δv y (i,j)(5)
式(5)中的Δv x和Δv y可以通过以下公式(6)计算: Δv x and Δv y in formula (5) can be calculated by the following formula (6):
Figure PCTCN2019107604-appb-000003
Figure PCTCN2019107604-appb-000003
对于4参数模型,公式(6)中的c、f、e、d满足如下公式(7):For the 4-parameter model, c, f, e, and d in formula (6) satisfy the following formula (7):
Figure PCTCN2019107604-appb-000004
Figure PCTCN2019107604-appb-000004
对于6参数模型,公式(6)中的c、f、e、d满足如下公式(8):For the 6-parameter model, c, f, e, and d in formula (6) satisfy the following formula (8):
Figure PCTCN2019107604-appb-000005
Figure PCTCN2019107604-appb-000005
经过上述PROF处理,重构块的像素值可以通过下式(9)表示:After the above PROF processing, the pixel value of the reconstructed block can be expressed by the following formula (9):
I′(i,j)=I(i,j)+ΔI(i,j)(9)I′(i,j)=I(i,j)+ΔI(i,j)(9)
如果当前块采用双向预测模式,会得到两个重构块,接着,需要根据两个重构块,计算最终的重构块。If the current block adopts the bidirectional prediction mode, two reconstructed blocks will be obtained. Then, the final reconstructed block needs to be calculated based on the two reconstructed blocks.
根据两个重构块计算最终的重构块的方式主要有两种。第一种为双向预测(bi-prediction with CU-level weight,BCW),第二种为非BCW。There are two main ways to calculate the final reconstructed block based on the two reconstructed blocks. The first is bi-prediction with CU-level weight (BCW), and the second is non-BCW.
在非BCW模式下,双向预测的当前块采用两个重构块取平均的方式得到最终的重构块。In the non-BCW mode, the current block of bidirectional prediction adopts the method of averaging two reconstructed blocks to obtain the final reconstructed block.
在BCW模式下,双向预测的当前块采用两个重构块加权平均的方式得到最终的重构块,不同当前块可能会有不同的权重。BCW的加权预测方式可以采用如下公式(10)表示:In the BCW mode, the bidirectionally predicted current block adopts a weighted average of two reconstructed blocks to obtain the final reconstructed block, and different current blocks may have different weights. The weighted prediction method of BCW can be expressed by the following formula (10):
I′(i,j)=((rec1(i,j)+Δrec1(i,j))*(8-w)+(rec2(i,j)+Δrec2(i,j))*w+4)>>3(10)I′(i,j)=((rec1(i,j)+Δrec1(i,j))*(8-w)+(rec2(i,j)+Δrec2(i,j))*w+4 )>>3(10)
I′(i,j)代表最终的重构块,rec1和rec2代表基于Affine模式确定的两个重构块;Δrec1和Δrec2代表利用光流法计算得到的重构块的像素的调整量(重构块的像素调整量的计算方式可以参见上文中的公式(5));w代表权重;(i,j)代表像素点。I'(i,j) represents the final reconstructed block, rec1 and rec2 represent two reconstructed blocks determined based on the Affine mode; Δrec1 and Δrec2 represent the pixel adjustment amount of the reconstructed block calculated by the optical flow method (replacement). The calculation method of the pixel adjustment amount of the building block can be referred to the above formula (5)); w represents the weight; (i, j) represents the pixel point.
权重的取值和设置方式可以有多种。例如,对于低延时(lowdelay)类型的帧,可以将w的取值设置为如下五种:w∈{-2,3,4,5,10};对于非低延时类型的帧,可以将w的取值设置为如下三种:w∈{3,4,5}。There are many ways to select and set the weight. For example, for low-delay frames, the value of w can be set to the following five types: w∈{-2,3,4,5,10}; for non-low-delay frames, you can Set the value of w to the following three types: w∈{3,4,5}.
如果在PROF的实现过程中采用BCW技术(即上述公式(10)),则在运算过程中可能会出现溢出问题。下面分析溢出出现的原因。If the BCW technology (that is, the above formula (10)) is used in the implementation of PROF, an overflow problem may occur during the operation. The reason for the overflow is analyzed below.
在公式(10)中,rec1和rec2的取值范围一般会预先被限制在一个较小的范围,因此,rec1与(8-w)的乘积,或者rec2与w的乘积一般均不会超过预设的数值表示范围。In formula (10), the value range of rec1 and rec2 will generally be limited in advance to a smaller range. Therefore, the product of rec1 and (8-w), or the product of rec2 and w will generally not exceed the preset value. The set value represents the range.
以预设的数值表示范围为16比特对应的数值表示范围为例(即一个数值最多通过16比特进行表示,其最大值为2 16),标准中,rec1或rec2的取值一般会被限制在0-1023之间的某个数值,换句话说,rec1或rec2通过10比特即可表示。w或(8-w)一般通过3比特即可表示。由此可见,rec1与(8-w)的乘积,或者rec2与w的乘积最多为13比特,不会超过16比特。 Take the preset numerical representation range of 16 bits as an example (that is, a numerical value can be represented by 16 bits at most, and its maximum value is 2 16 ). In the standard, the value of rec1 or rec2 is generally limited to A value between 0-1023, in other words, rec1 or rec2 can be represented by 10 bits. w or (8-w) is generally represented by 3 bits. It can be seen that the product of rec1 and (8-w), or the product of rec2 and w is at most 13 bits, not more than 16 bits.
但是,标准中并未对Δrec1和Δrec2的取值进行限制,因此,Δrec1或Δrec2与权重之间的乘法操作可能会导致溢出问题。例如,假设Δrec1的取值较大,需要14比特进行表示,权重需要3比特进行表示,则公式(10)中的乘法操作的结果需要17比特才能表示,这样就会超出预设的数值表示范围(16 比特对应的数值标识范围),导致溢出问题。However, the standard does not limit the values of Δrec1 and Δrec2. Therefore, the multiplication operation between Δrec1 or Δrec2 and the weight may cause overflow. For example, assuming that the value of Δrec1 is large, 14 bits are required for representation, and the weight needs 3 bits for representation, then the result of the multiplication operation in formula (10) needs 17 bits to be represented, which will exceed the preset numerical representation range (The value identification range corresponding to 16 bits), which leads to overflow problems.
为了解决上述溢出问题,下面结合图4,对本申请实施例进行详细描述。In order to solve the above overflow problem, the embodiments of the present application will be described in detail below in conjunction with FIG. 4.
图4是本申请一个实施例提供的视频处理方法的示意性流程图。图4的方法可以由编码装置执行,也可以由解码装置执行。图4的方法包括步骤S410至步骤S430。FIG. 4 is a schematic flowchart of a video processing method provided by an embodiment of the present application. The method in FIG. 4 can be executed by an encoding device or a decoding device. The method in FIG. 4 includes step S410 to step S430.
在步骤S410,确定当前块在双向预测模式下的两个重构块。In step S410, two reconstructed blocks of the current block in the bidirectional prediction mode are determined.
该两个重构块例如可以是利用Affine模式预测得到的重构块。The two reconstructed blocks may be, for example, reconstructed blocks obtained by using Affine mode prediction.
在步骤S420,利用PROF技术对两个重构块的像素值进行调整。In step S420, the pixel values of the two reconstructed blocks are adjusted using the PROF technology.
例如,可以根据上文中的公式(9)对两个重构块中的每个重构像素块的像素值进行调整。For example, the pixel value of each of the two reconstruction blocks can be adjusted according to the above formula (9).
在步骤S430,利用预设的权重对两个重构块的像素值进行加权平均,得到当前块的最终重构块。In step S430, the pixel values of the two reconstructed blocks are weighted and averaged using preset weights to obtain the final reconstructed block of the current block.
步骤S420和步骤S430可以分开实现,也可以通过上文中的公式(10)一起实现。Step S420 and step S430 can be implemented separately, or can be implemented together by the above formula (10).
在确定最终重构块的过程中,本申请实施例对两个重构块的像素值和/或权重的取值进行控制,使得两个重构块的像素值和权重的乘积不超出预设的数值表示范围,这样可以解决上文提及的溢出问题,从而提高硬件实现的友好性。In the process of determining the final reconstructed block, the embodiment of the present application controls the pixel values and/or weights of the two reconstructed blocks so that the product of the pixel values and weights of the two reconstructed blocks does not exceed the preset value. The value of indicates the range, which can solve the overflow problem mentioned above, thereby improving the friendliness of hardware implementation.
预设的数值表示范围可以通过预先定义表示一个数值所允许采用的最大比特数(或最大位宽)而设定。例如,如果预先定义表示一个数值所允许采用的最大比特数为16比特,则预设的数值表示范围可以位于-2 16和2 16之间。 The preset numerical representation range can be set by predefining the maximum number of bits (or the maximum bit width) allowed to represent a numerical value. For example, if a pre-defined numerical value represents the maximum number of bits used is 16 bits, represents the range of the preset values may be located between -216 and 216.
对两个重构块的像素值和/或权重的取值进行控制的方式有多种,本申请实施例对此并不限定。下面给出几种可能的实现方式。There are many ways to control the values of the pixel values and/or weights of the two reconstructed blocks, which are not limited in the embodiment of the present application. Several possible implementations are given below.
可选地,作为一种可能的实现方式,在执行步骤S420的过程中,可以通过控制重构块的像素值的调整量的取值,以达到控制重构块的像素值的目的,从而使得重构块的像素值和权重的乘积不超于预设的数值表示范围。下面结合图5进行举例说明。Optionally, as a possible implementation, in the process of performing step S420, the adjustment value of the pixel value of the reconstructed block may be controlled to achieve the purpose of controlling the pixel value of the reconstructed block, so that The product of the pixel value and the weight of the reconstructed block does not exceed the preset numerical representation range. An example is given below with reference to FIG. 5.
例如,如图5所示,步骤S420可以包括步骤S422至步骤S426。For example, as shown in FIG. 5, step S420 may include step S422 to step S426.
在步骤S422中,确定重构块的像素值的调整量。In step S422, the adjustment amount of the pixel value of the reconstructed block is determined.
在步骤S424中,如果重构块的像素值的调整量所占的比特数大于N, 对重构块的像素值的调整量进行裁剪,使重构块的像素值的调整量所占的比特数小于或等于N。In step S424, if the number of bits occupied by the adjustment of the pixel value of the reconstructed block is greater than N, the adjustment of the pixel value of the reconstructed block is cropped so that the bit of the adjustment of the pixel value of the reconstructed block occupies The number is less than or equal to N.
N小于或等于M-K。M可以表示预设的数值表示范围所需的比特数,K可以表示权重所需的比特数。N is less than or equal to M-K. M can represent the number of bits required for the preset value to represent the range, and K can represent the number of bits required for the weight.
以M=16,K=3为例,则N小于或等于13。比如,可以将N设置为13,也可以将N设置为12或11。Taking M=16 and K=3 as an example, then N is less than or equal to 13. For example, N can be set to 13, or N can be set to 12 or 11.
在步骤S426中,根据裁剪后的重构块的像素值的调整量,对重构块的像素值进行调整。In step S426, the pixel value of the reconstructed block is adjusted according to the adjustment amount of the pixel value of the reconstructed block after cropping.
图5的实现方式可以通过如下公式(11)表示:The implementation of Figure 5 can be expressed by the following formula (11):
I′(i,j)=(rec1(i,j)+clip(Δrec1(i,j),N))*W1+((rec2(i,j)+clip(Δrec2i,j,N)*W2   (11)I′(i,j)=(rec1(i,j)+clip(Δrec1(i,j),N))*W1+((rec2(i,j)+clip(Δrec2i,j,N)*W2 ( 11)
公式(11)与上文中提及的公式(10)的不同之处在于为Δrec1和Δrec2添加了裁剪操作。clip(Δrec1(i,j),N)可以采用如下公式(12)实现(应理解,clip(Δrec2(i,j),N)也可采用类似方式实现,这里仅以clip(Δrec1(i,j),N)为例进行说明):The difference between formula (11) and formula (10) mentioned above is that a clipping operation is added for Δrec1 and Δrec2. clip(Δrec1(i,j),N) can be implemented using the following formula (12) (it should be understood that clip(Δrec2(i,j),N) can also be implemented in a similar way, here only clip(Δrec1(i, j), N) is an example for illustration):
Figure PCTCN2019107604-appb-000006
Figure PCTCN2019107604-appb-000006
公式(12)中,如果Δrec1(i,j)的取值超出预设的数值表示范围的边界值,则将其取值强制设置为该预设的数值表示范围的边界值。公式(12)给出的是一种可能的裁剪方式,还可以采用其他实现方式。例如,如果Δrec1(i,j)的取值超出预设的数值表示范围的边界值,也可以将其取值强制设置为该预设的数值表示范围以内的数值,而不必设置成边界值。In formula (12), if the value of Δrec1(i,j) exceeds the boundary value of the preset numerical representation range, its value is forcibly set to the boundary value of the preset numerical representation range. Equation (12) gives a possible clipping method, and other implementation methods can also be used. For example, if the value of Δrec1(i,j) exceeds the boundary value of the preset numerical representation range, its value can also be forcibly set to a value within the preset numerical representation range, instead of being set to a boundary value.
可选地,作为另一种可能的实现方式,在计算得到重构块的像素值的调整量之后,可以先不对重构块的像素值的调整量进行裁剪,而是先利用重构块的像素值的调整量对重构块的像素值进行调整,然后再对调整后的像素值进行裁剪,以使得裁剪后的重构块的像素值与其对应的权重的乘积不超出预设的数值表示范围。Optionally, as another possible implementation manner, after the adjustment amount of the pixel value of the reconstructed block is calculated, the adjustment amount of the pixel value of the reconstructed block may not be cropped first, and the adjustment amount of the reconstructed block may be used first. The adjustment amount of the pixel value adjusts the pixel value of the reconstructed block, and then crops the adjusted pixel value so that the product of the pixel value of the cropped reconstructed block and its corresponding weight does not exceed the preset numerical value. range.
可选地,作为另一种可能的实现方式,也可以同时对重构块的像素值和权重进行裁剪,或者限制权重所占的比特位数,从而使得重构块的像素值与其对应的权重的乘积不超出预设的数值表示范围。Optionally, as another possible implementation, the pixel value and weight of the reconstructed block can also be cropped at the same time, or the number of bits occupied by the weight can be limited, so that the pixel value of the reconstructed block and its corresponding weight The product of does not exceed the preset numerical range.
图4和图5所示的实施例是通过控制像素和/或权重的取值来防止PROF 技术基础上采用BCW技术可能导致的溢出问题。但本申请实施例不限于此,下面结合图6,给出另一种可能的实现方式。The embodiments shown in FIG. 4 and FIG. 5 prevent the overflow problem that may be caused by using the BCW technology based on the PROF technology by controlling the values of pixels and/or weights. However, the embodiment of the present application is not limited to this, and another possible implementation manner is given below in conjunction with FIG. 6.
图6是本申请另一实施例提供的视频处理方法的示意性流程图。图6的方法可以包括步骤S610和步骤S620。FIG. 6 is a schematic flowchart of a video processing method provided by another embodiment of the present application. The method in FIG. 6 may include step S610 and step S620.
在步骤S610中,确定当前块是否采用PROF技术。In step S610, it is determined whether the current block adopts the PROF technology.
可以通过判断当前块是否满足采用PROF技术的条件,从而确定当前块是否采用PROF技术。当前块是否满足采用PROF技术的条件可以由协议预先设定,也可以根据实际需要自己定义,本申请实施例对此并不限定。It is possible to determine whether the current block adopts the PROF technology by judging whether the current block meets the conditions for adopting the PROF technology. Whether the current block satisfies the conditions for using the PROF technology can be pre-set by the protocol, or can be defined by itself according to actual needs, which is not limited in the embodiment of the application.
在步骤S620中,如果当前块采用PROF技术,禁止当前块采用BCW技术。In step S620, if the current block adopts the PROF technology, the current block is prohibited from adopting the BCW technology.
例如,当前块可以采用双向预测,如果当前块基于PROF技术计算出两个重构块,则采用非BCW模式,直接计算该两个重构块的平均值。For example, the current block may adopt bidirectional prediction. If the current block calculates two reconstructed blocks based on the PROF technology, the non-BCW mode is used to directly calculate the average value of the two reconstructed blocks.
上文详细描述了PROF过程中产生溢出的原因在于:在PROF技术基础上引入BCW技术后,像素值和权值之间的乘法操作的结果可能会超出预设的数值表示范围。图6实施例先确定当前块是否采用了PROF技术,如果采用了PROF技术,则直接禁用BCW技术,从而从源头上避免了溢出问题的产生。此外,这样也可以简化PROF技术的实现方式。The reason for the overflow during the PROF process is described in detail above: after the introduction of the BCW technology on the basis of the PROF technology, the result of the multiplication operation between the pixel value and the weight value may exceed the preset numerical representation range. The embodiment of Fig. 6 first determines whether the PROF technology is used in the current block. If the PROF technology is used, the BCW technology is directly disabled, thereby avoiding the overflow problem from the source. In addition, this can also simplify the implementation of PROF technology.
可选地,在另一个实施例中,图6的方法也可以替换为或进一步包括:确定当前块是否采用BCW技术;如果当前块采用BCW技术,禁止当前块采用PROF技术。Optionally, in another embodiment, the method in FIG. 6 can also be replaced with or further include: determining whether the current block uses the BCW technology; if the current block uses the BCW technology, prohibiting the current block from using the PROF technology.
可以通过判断当前块是否满足采用BCW技术的条件,从而确定当前块是否采用BCW技术。当前块是否满足采用BCW技术的条件可以由协议预先设定,也可以根据实际需要自己定义,本申请实施例对此并不限定。It is possible to determine whether the current block adopts the BCW technology by judging whether the current block meets the conditions for adopting the BCW technology. Whether the current block satisfies the conditions for adopting the BCW technology can be preset by the protocol, or can be defined by itself according to actual needs, which is not limited in the embodiment of the present application.
前文对PROF技术的实现方式进行了详细描述,PROF技术的实现过程需要进行大量的运算,如果所有的编码块均采用PROF技术进行处理,则会导致编解码端的实现过于复杂。下面结合图7,以简化PROF技术的实现过程。The previous article described the implementation of PROF technology in detail. The implementation process of PROF technology requires a lot of calculations. If all coding blocks are processed by PROF technology, the implementation of the codec will be too complicated. The following figure 7 is combined to simplify the implementation process of PROF technology.
图7是本申请又一实施例提供的视频处理方法的示意性流程图。图7的方法可以由编码装置执行,也可以由解码装置执行。图7的方法可以包括步骤S710和步骤S720。FIG. 7 is a schematic flowchart of a video processing method provided by another embodiment of the present application. The method in FIG. 7 can be executed by an encoding device or a decoding device. The method in FIG. 7 may include step S710 and step S720.
在步骤S710中,判断当前块是否满足预设条件。In step S710, it is determined whether the current block satisfies a preset condition.
本申请实施例对预设条件不做具体限定,可以根据实际需要设置。作为一个示例,预设条件可以是与当前块的尺寸相关的条件。例如,预设条件可以是当前块的宽和高的乘积小于或等于预设值(如128或256)。或者,预设条件可以是当前块的宽和高的乘积不再预设的尺寸范围内。或者,预设条件可以是当前块的宽或高小于或等于预设值。The embodiment of the present application does not specifically limit the preset conditions, and can be set according to actual needs. As an example, the preset condition may be a condition related to the size of the current block. For example, the preset condition may be that the product of the width and height of the current block is less than or equal to a preset value (such as 128 or 256). Or, the preset condition may be that the product of the width and height of the current block is no longer within the preset size range. Alternatively, the preset condition may be that the width or height of the current block is less than or equal to a preset value.
作为另一个示例,预设条件也可以是与当前块的重构块的像素值的预测方式有关的条件。例如,预设条件可以是当前块的重构块的像素值采用加权预测方式进行预测。该加权预测可以是编码块级别的加权预测(如上文中的BCW),也可以是条带级别的加权预测方式。As another example, the preset condition may also be a condition related to the prediction mode of the pixel value of the reconstructed block of the current block. For example, the preset condition may be that the pixel value of the reconstructed block of the current block is predicted using a weighted prediction manner. The weighted prediction can be a weighted prediction at the coding block level (such as the above BCW), or it can be a weighted prediction at the slice level.
条带级别的加权预测称为WP(weighted prediction),是为渐变型的视频内容设计的预测技术。所谓渐变型的视频内容例如可以是随着视频的播放,视频帧的亮度逐渐变暗。WP可用于单向预测,也可用于双向预测。Strip-level weighted prediction is called WP (weighted prediction), which is a prediction technology designed for gradual video content. The so-called gradual video content may be, for example, as the video is played, the brightness of the video frame gradually becomes darker. WP can be used for one-way prediction or two-way prediction.
对于单向预测,可以采用如下公式(13)进行加权预测:For one-way prediction, the following formula (13) can be used for weighted prediction:
P′=(w 0*P+o 0)   (13) P′=(w 0 *P+o 0 ) (13)
对于双向预测,可以采用如下公式(14)进行加权预测:For bidirectional prediction, the following formula (14) can be used for weighted prediction:
P bi-pred=(w 0*P 0+w 1*P 1+o 0+o 1)   (14) P bi-pred = (w 0 *P 0 +w 1 *P 1 +o 0 +o 1 ) (14)
其中w 0,w 1代表权重,o 0,o 1代表偏移值,与BCW不同的是,这些参数均是条带级的参数。 Among them, w 0 , w 1 represent weights, and o 0 , o 1 represent offset values. Unlike BCW, these parameters are all strip-level parameters.
在步骤S720中,当当前块满足预设条件时,禁止当前块采用PROF技术。In step S720, when the current block meets the preset condition, the current block is prohibited from using the PROF technology.
本申请实施例针对特定的当前块禁用PROF技术,从而简化了PROF的设计,提高了编解码的效率。The embodiment of the present application disables the PROF technology for a specific current block, thereby simplifying the design of the PROF and improving the efficiency of coding and decoding.
视频编码会形成码流。码流中的数据通常是按照一定的格式组织在一起的。例如,码流可以包括一个或多个序列(sequence);一个序列可以包括一个或多个条带(slice);一个条带可以包括一个或多个编码块。在视频编码过程中,通常会根据实际情况从PROF、双向光流(bi-directional optical flow,BDOF)、解码端运动矢量修正(decoder-side motion vector refinement,DMVR)等技术中选择合适的技术处理当前序列、当前条带或当前块。标准中针对BDOF、DMVR设置有序列级或条带级的开关。开关通常是一个指示信息,用于指示是否采用某种技术。例如,BDOF的序列级开关可用于指示某个序列是否采用BDOF技术;BDOF的条带级的开关可用于指示某个条带是否采 用BDOF技术。但是,针对PROF,目前标准中并未提供条带级的开关,导致PROF的设计不够灵活。Video encoding will form a bit stream. The data in the code stream is usually organized together according to a certain format. For example, a code stream may include one or more sequences; a sequence may include one or more slices; and a slice may include one or more coding blocks. In the video encoding process, the appropriate technology is usually selected from PROF, bi-directional optical flow (BDOF), decoder-side motion vector refinement (DMVR) and other technologies according to the actual situation. Current sequence, current strip or current block. There are sequence-level or strip-level switches for BDOF and DMVR in the standard. The switch is usually an indication information, used to indicate whether to use a certain technology. For example, the sequence-level switch of BDOF can be used to indicate whether a certain sequence adopts BDOF technology; the strip-level switch of BDOF can be used to indicate whether a certain strip adopts BDOF technology. However, for PROF, the current standard does not provide a strip-level switch, resulting in the design of PROF is not flexible enough.
为了解决上述问题,下面结合图8,对本申请实施例提供的视频处理方法进行详细描述。In order to solve the foregoing problem, the video processing method provided by the embodiment of the present application will be described in detail below in conjunction with FIG. 8.
图8是本申请又一实施例提供的视频处理方法的示意性流程图。图8的方法可以由编码装置执行。图8的方法可以包括步骤S810和步骤S820。FIG. 8 is a schematic flowchart of a video processing method provided by another embodiment of the present application. The method in FIG. 8 may be executed by an encoding device. The method in FIG. 8 may include step S810 and step S820.
在步骤S810中,生成当前条带的第一指示信息,第一指示信息用于指示当前条带是否采用PROF技术。In step S810, first indication information of the current stripe is generated, and the first indication information is used to indicate whether the current stripe adopts the PROF technology.
第一指示信息可以理解为PROF技术的条带级开关,通过该开关,可以对一个条带能否适用PROF技术进行灵活配置。The first indication information can be understood as a strip-level switch of the PROF technology, through which a strip can be flexibly configured whether the PROF technology can be applied to a strip.
在步骤S820中,在码流中编码第一指示信息。In step S820, the first indication information is encoded in the code stream.
可选地,在一些实施例中,第一指示信息可以同时指示了当前条带是否采用BDOF技术。换句话说,PROF技术可以与BDOF技术共用同一条带级的开关。当某个条带采用PROF技术时,该条带也采用BDOF技术;当某个条带不采用PROF技术时,该条带也不采用BDOF技术。此外,码流中还可以包括与第一指示信息相互独立的第二指示信息,第二指示信息可用于指示当前条带使用采用DMVR技术。也就是说,在该实施例中,PROF技术与BDOF技术共用同一条带级的开关,而DMVR采用一个单独的条带级开关。Optionally, in some embodiments, the first indication information may simultaneously indicate whether the current slice adopts the BDOF technology. In other words, PROF technology can share the same strip-level switches with BDOF technology. When a certain strip adopts the PROF technology, the strip also adopts the BDOF technology; when a certain strip does not adopt the PROF technology, the strip also does not adopt the BDOF technology. In addition, the code stream may also include second indication information that is independent of the first indication information, and the second indication information may be used to indicate that the current slice uses the DMVR technology. That is to say, in this embodiment, PROF technology and BDOF technology share the same strip-level switch, while DMVR uses a separate strip-level switch.
PROF技术和BDOF技术均运用了光流技术,二者在原理上更加相似,因此,本申请实施例为二者设置共用的条带级开关,这种设置方式不但可以简化编解码的处理逻辑,而且也更加合理。Both PROF technology and BDOF technology use optical flow technology, and the two are more similar in principle. Therefore, the embodiment of this application sets a common strip-level switch for both. This setting method can not only simplify the coding and decoding processing logic, but also And it's more reasonable.
可选地,在一些实施例中,第一指示信息可以同时指示了当前条带是否采用DMVR技术。换句话说,PROF技术可以与DMVR技术共用同一条带级的开关。当某个条带采用PROF技术时,该条带也采用DMVR技术;当某个条带不采用PROF技术时,该条带也不采用DMVR技术。此外,码流中还可以包括与第一指示信息相互独立的第二指示信息,第二指示信息可用于指示当前条带使用采用BDOF技术。也就是说,在该实施例中,PROF技术与DMVR技术共用同一条带级的开关,而BDOF采用一个单独的条带级开关。Optionally, in some embodiments, the first indication information may simultaneously indicate whether the current slice adopts the DMVR technology. In other words, PROF technology can share the same strip-level switch with DMVR technology. When a certain strip adopts PROF technology, this strip also adopts DMVR technology; when certain strip does not adopt PROF technology, this strip does not adopt DMVR technology either. In addition, the code stream may also include second indication information that is independent of the first indication information, and the second indication information may be used to indicate that the current slice uses the BDOF technology. That is to say, in this embodiment, PROF technology and DMVR technology share the same strip-level switch, while BDOF uses a separate strip-level switch.
本申请实施例为PROF技术和DMVR技术设置共用的条带级开关,这种设置可以简化编解码的处理逻辑。The embodiment of the present application sets a common strip-level switch for the PROF technology and the DMVR technology, and this setting can simplify the coding and decoding processing logic.
可选地,在一些实施例中,第一指示信息可以同时指示了当前条带是否采用BDOF技术和DMVR技术。换句话说,在该实施例中,PROF技术可以与BDOF技术、DMVR技术三者共用同一条带级的开关。当某个条带采用PROF技术时,该条带也采用BDOF技术和DMVR技术。Optionally, in some embodiments, the first indication information may simultaneously indicate whether the current slice adopts the BDOF technology and the DMVR technology. In other words, in this embodiment, PROF technology can share the same strip-level switch with BDOF technology and DMVR technology. When a certain strip adopts PROF technology, the strip also adopts BDOF technology and DMVR technology.
本申请实施例为PROF技术、BDOF技术、DMVR技术设置共用的条带级开关,这种设置可以简化编解码的处理逻辑。The embodiment of the present application sets a common strip-level switch for PROF technology, BDOF technology, and DMVR technology. This setting can simplify the processing logic of encoding and decoding.
可选地,在一些实施例中,码流中还可以包括第二指示信息和第三指示信息。第一指示信息、第二指示信息以及第三指示信息可以相互独立。第二指示信息可用于指示当前条带是否采用BDOF技术,第三指示信息可用于指示当前条带是否采用DMVR技术。换句话说,在该实施例中,PROF技术、BDOF技术、DMVR技术分别采用独立的条带级开关。本申请实施例为PROF技术、BDOF技术、DMVR技术设置相互独立的条带级开关,使得编码端可以根据实际情况更加灵活地进行选择。Optionally, in some embodiments, the code stream may also include second indication information and third indication information. The first indication information, the second indication information, and the third indication information may be independent of each other. The second indication information may be used to indicate whether the current slice adopts the BDOF technology, and the third indication information may be used to indicate whether the current slice adopts the DMVR technology. In other words, in this embodiment, the PROF technology, BDOF technology, and DMVR technology respectively use independent strip-level switches. In the embodiment of the application, independent strip-level switches are set for PROF technology, BDOF technology, and DMVR technology, so that the encoding end can select more flexibly according to actual conditions.
上文结合图8,对编码端的操作进行了介绍,下面结合图9,对解码端的操作进行详细的举例说明。应理解,编解码端的操作相互对应,因此,未详细描述的内容可以参见图8对应的实施例。The operation of the encoding end is described above in conjunction with FIG. 8, and the operation of the decoding end is described in detail below in conjunction with FIG. 9. It should be understood that the operations of the encoding and decoding ends correspond to each other, and therefore, the contents not described in detail can refer to the corresponding embodiment in FIG. 8.
图9是本申请又一实施例提供的视频处理方法的示意性流程图。图9的方法可以由解码装置执行。图9的方法可以包括步骤S910和步骤S920。FIG. 9 is a schematic flowchart of a video processing method provided by another embodiment of the present application. The method in FIG. 9 may be executed by a decoding device. The method in FIG. 9 may include step S910 and step S920.
在步骤S910中,从码流中获取当前条带的第一指示信息,第一指示信息用于指示当前条带是否采用PROF技术。In step S910, first indication information of the current slice is obtained from the code stream, where the first indication information is used to indicate whether the current slice adopts the PROF technology.
在步骤S920中,根据第一指示信息,对当前条带进行解码。In step S920, the current slice is decoded according to the first indication information.
可选地,第一指示信息同时指示了当前条带是否采用BDOF技术和/或DMVR技术。Optionally, the first indication information also indicates whether the current slice adopts BDOF technology and/or DMVR technology.
可选地,第一指示信息同时指示了当前条带是否采用DMVR技术,码流中还包括与第一指示信息相互独立的第二指示信息,第二指示信息用于指示当前条带是否采用BDOF技术。Optionally, the first indication information also indicates whether the current slice adopts DMVR technology, and the code stream also includes second indication information independent of the first indication information, and the second indication information is used to indicate whether the current slice adopts BDOF technology.
可选地,第一指示信息同时指示了当前条带是否采用BDOF技术,码流中还包括与第一指示信息相互独立的第二指示信息,第二指示信息用于指示当前条带是否采用DMVR技术。Optionally, the first indication information also indicates whether the current slice adopts BDOF technology, and the code stream also includes second indication information independent of the first indication information, and the second indication information is used to indicate whether the current slice adopts DMVR technology.
可选地,码流中还包括第二指示信息和第三指示信息,第一指示信息、第二指示信息以及第三指示信息相互独立,第二指示信息用于指示当前条带 是否采用BDOF技术,第三指示信息用于指示当前条带是否采用DMVR技术。Optionally, the bitstream also includes second indication information and third indication information. The first indication information, the second indication information, and the third indication information are independent of each other, and the second indication information is used to indicate whether the current slice adopts BDOF technology. , The third indication information is used to indicate whether the current stripe adopts the DMVR technology.
上文结合图1至图9,详细描述了本申请的方法实施例,下面结合图10至图14,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。The method embodiments of the present application are described in detail above with reference to FIGS. 1 to 9, and the device embodiments of the present application are described in detail below with reference to FIGS. 10 to 14. It should be understood that the description of the method embodiment and the description of the device embodiment correspond to each other, and therefore, the parts that are not described in detail may refer to the previous method embodiment.
图10是本申请一个实施例提供的视频处理装置的示意性结构图。图10的装置1000包括存储器1010和处理器1020。FIG. 10 is a schematic structural diagram of a video processing device provided by an embodiment of the present application. The apparatus 1000 in FIG. 10 includes a memory 1010 and a processor 1020.
存储器1010可用于存储指令。The memory 1010 can be used to store instructions.
处理器1020可用于执行所述存储器中存储的执行,以执行如下操作:确定当前块在双向预测模式下的两个重构块;利用PROF技术对两个所述重构块的像素值进行调整;利用预设的权重对两个所述重构块的像素值进行加权平均,得到所述当前块的最终重构块;其中,在确定所述最终重构块的过程中,对两个所述重构块的像素值和/或所述权重的取值进行控制,使得两个所述重构块的像素值和所述权重的乘积不超出预设的数值表示范围。The processor 1020 may be configured to execute the execution stored in the memory to perform the following operations: determine the two reconstruction blocks of the current block in the bidirectional prediction mode; use PROF technology to adjust the pixel values of the two reconstruction blocks Use preset weights to weighted and average the pixel values of the two reconstructed blocks to obtain the final reconstructed block of the current block; wherein, in the process of determining the final reconstructed block, the two reconstructed blocks are The pixel value of the reconstructed block and/or the value of the weight are controlled so that the product of the pixel value of the two reconstructed blocks and the weight does not exceed a preset numerical representation range.
可选地,所述利用PROF技术对两个所述重构块的像素值进行调整,包括:确定所述重构块的像素值的调整量;如果所述重构块的像素值的调整量所占的比特数大于N,对所述重构块的像素值的调整量进行裁剪,使所述重构块的像素值的调整量所占的比特数小于或等于N,其中,N小于或等于M-K,M为表示所述预设的数值表示范围所需的比特数,K为表示所述权重所需的比特数;根据裁剪后的所述重构块的像素值的调整量,对所述重构块的像素值进行调整。Optionally, the use of the PROF technology to adjust the pixel values of the two reconstructed blocks includes: determining the adjustment amount of the pixel value of the reconstructed block; if the adjustment amount of the pixel value of the reconstructed block is If the number of bits occupied is greater than N, the adjustment amount of the pixel value of the reconstruction block is cropped so that the number of bits occupied by the adjustment amount of the pixel value of the reconstruction block is less than or equal to N, where N is less than or Equal to MK, where M is the number of bits required to represent the range of the preset value, and K is the number of bits required to represent the weight; according to the adjustment of the pixel value of the reconstructed block after cropping, The pixel value of the reconstructed block is adjusted.
可选地,M=16,N≤13,K=3。Optionally, M=16, N≤13, and K=3.
可选地,N=13。Optionally, N=13.
可选地,两个所述重构块均是利用仿射模式预测得到的重构块。Optionally, both of the reconstructed blocks are reconstructed blocks obtained by using affine mode prediction.
图11是本申请另一实施例提供的视频处理装置的示意性结构图。图11的装置1100包括存储器1110和处理器1120。FIG. 11 is a schematic structural diagram of a video processing device provided by another embodiment of the present application. The apparatus 1100 in FIG. 11 includes a memory 1110 and a processor 1120.
存储器1110可用于存储指令。The memory 1110 can be used to store instructions.
处理器1120可用于执行所述存储器中存储的执行,以执行如下操作:确定所述当前块是否采用PROF技术;如果所述当前块采用PROF技术,禁止所述当前块采用BCW技术。The processor 1120 may be configured to execute the execution stored in the memory to perform the following operations: determine whether the current block adopts the PROF technology; if the current block adopts the PROF technology, prohibit the current block from adopting the BCW technology.
可选地,所述处理器1120还可用于执行以下操作:如果所述当前块采 用BCW技术,禁止所述当前块采用PROF技术。Optionally, the processor 1120 may also be configured to perform the following operations: if the current block uses the BCW technology, prohibit the current block from using the PROF technology.
图12是本申请又一实施例提供的视频处理装置的示意性结构图。图12的装置1200包括存储器1210和处理器1220。FIG. 12 is a schematic structural diagram of a video processing device provided by another embodiment of the present application. The apparatus 1200 in FIG. 12 includes a memory 1210 and a processor 1220.
存储器1210可用于存储指令。The memory 1210 can be used to store instructions.
处理器1220可用于执行所述存储器中存储的执行,以执行如下操作:判断当前块是否满足预设条件;当所述当前块满足预设条件时,禁止所述当前块采用PROF技术。The processor 1220 may be configured to execute the execution stored in the memory to perform the following operations: determine whether the current block meets a preset condition; when the current block meets the preset condition, prohibit the current block from using the PROF technology.
可选地,所述预设条件是与所述当前块的尺寸相关的条件。Optionally, the preset condition is a condition related to the size of the current block.
可选地,所述预设条件为所述当前块的宽和高的乘积小于或等于预设值。Optionally, the preset condition is that the product of the width and height of the current block is less than or equal to a preset value.
可选地,所述预设值为128。Optionally, the preset value is 128.
可选地,所述预设条件是与所述当前块的重构块的像素值的预测方式有关的条件。Optionally, the preset condition is a condition related to a prediction mode of the pixel value of the reconstructed block of the current block.
可选地,所述预设条件为所述当前块的重构块的像素值采用加权预测方式进行预测。Optionally, the preset condition is that the pixel value of the reconstructed block of the current block is predicted using a weighted prediction manner.
可选地,所述加权预测方式为编码块级别或条带级别的加权预测方式。Optionally, the weighted prediction mode is a coding block level or slice level weighted prediction mode.
图13是本申请又一实施例提供的视频处理装置的示意性结构图。图13的装置1300包括存储器1310和处理器1320。FIG. 13 is a schematic structural diagram of a video processing device provided by another embodiment of the present application. The apparatus 1300 in FIG. 13 includes a memory 1310 and a processor 1320.
存储器1310可用于存储指令。The memory 1310 can be used to store instructions.
处理器1320可用于执行所述存储器中存储的执行,以执行如下操作:生成当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;在码流中编码所述第一指示信息。The processor 1320 may be configured to execute the execution stored in the memory to perform the following operations: generate first indication information of the current stripe, the first indication information being used to indicate whether the current stripe adopts the PROF technology; The first indication information is encoded in the stream.
可选地,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术和/或DMVR技术。Optionally, the first indication information also indicates whether the current stripe adopts BDOF technology and/or DMVR technology.
可选地,所述第一指示信息同时指示了所述当前条带是否采用DMVR技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用BDOF技术。Optionally, the first indication information also indicates whether the current slice adopts the DMVR technology, and the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses BDOF technology.
可选地,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用DMVR技术。Optionally, the first indication information also indicates whether the current slice adopts the BDOF technology, and the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses DMVR technology.
可选地,所述码流中还包括第二指示信息和第三指示信息,所述第一指示信息、所述第二指示信息以及所述第三指示信息相互独立,所述第二指示 信息用于指示所述当前条带是否采用BDOF技术,所述第三指示信息用于指示所述当前条带是否采用DMVR技术。Optionally, the code stream further includes second indication information and third indication information, the first indication information, the second indication information, and the third indication information are independent of each other, and the second indication information It is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
图14是本申请又一实施例提供的视频处理装置的示意性结构图。图14的装置1400包括存储器1410和处理器1420。FIG. 14 is a schematic structural diagram of a video processing device provided by another embodiment of the present application. The apparatus 1400 in FIG. 14 includes a memory 1410 and a processor 1420.
存储器1410可用于存储指令。The memory 1410 can be used to store instructions.
处理器1420可用于执行所述存储器中存储的执行,以执行如下操作:从码流中获取当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;根据所述第一指示信息,对所述当前条带进行解码。The processor 1420 may be configured to execute the execution stored in the memory to perform the following operations: obtain the first indication information of the current stripe from the code stream, the first indication information being used to indicate whether the current stripe adopts PROF Technology; According to the first indication information, the current slice is decoded.
可选地,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术和/或DMVR技术。Optionally, the first indication information also indicates whether the current stripe adopts BDOF technology and/or DMVR technology.
可选地,所述第一指示信息同时指示了所述当前条带是否采用DMVR技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用BDOF技术。Optionally, the first indication information also indicates whether the current slice adopts the DMVR technology, and the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses BDOF technology.
可选地,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用DMVR技术。Optionally, the first indication information also indicates whether the current slice adopts the BDOF technology, and the code stream also includes second indication information that is independent of the first indication information, and the second indication information is used for To indicate whether the current strip uses DMVR technology.
可选地,所述码流中还包括第二指示信息和第三指示信息,所述第一指示信息、所述第二指示信息以及所述第三指示信息相互独立,所述第二指示信息用于指示所述当前条带是否采用BDOF技术,所述第三指示信息用于指示所述当前条带是否采用DMVR技术。Optionally, the code stream further includes second indication information and third indication information, the first indication information, the second indication information, and the third indication information are independent of each other, and the second indication information It is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数 据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, it can be implemented in the form of a computer program product in whole or in part. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions described in the embodiments of the present invention are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)), etc. .
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。A person of ordinary skill in the art may realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in this application. Should be covered within the scope of protection of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.

Claims (48)

  1. 一种视频处理方法,其特征在于,包括:A video processing method, characterized in that it comprises:
    确定当前块在双向预测模式下的两个重构块;Determine the two reconstructed blocks of the current block in the bidirectional prediction mode;
    利用PROF技术对两个所述重构块的像素值进行调整;Using PROF technology to adjust the pixel values of the two reconstructed blocks;
    利用预设的权重对两个所述重构块的像素值进行加权平均,得到所述当前块的最终重构块;其中,在确定所述最终重构块的过程中,对两个所述重构块的像素值和/或所述权重的取值进行控制,使得两个所述重构块的像素值和所述权重的乘积不超出预设的数值表示范围。The pixel values of the two reconstructed blocks are weighted and averaged using preset weights to obtain the final reconstructed block of the current block; wherein, in the process of determining the final reconstructed block, the two The pixel value of the reconstructed block and/or the value of the weight are controlled so that the product of the pixel value of the two reconstructed blocks and the weight does not exceed a preset numerical representation range.
  2. 根据权利要求1所述的方法,其特征在于,所述利用PROF技术对两个所述重构块的像素值进行调整,包括:The method according to claim 1, wherein the adjusting the pixel values of the two reconstructed blocks by using the PROF technology comprises:
    确定所述重构块的像素值的调整量;Determining the adjustment amount of the pixel value of the reconstructed block;
    如果所述重构块的像素值的调整量所占的比特数大于N,对所述重构块的像素值的调整量进行裁剪,使所述重构块的像素值的调整量所占的比特数小于或等于N,其中,N小于或等于M-K,M为表示所述预设的数值表示范围所需的比特数,K为表示所述权重所需的比特数;If the number of bits occupied by the adjustment amount of the pixel value of the reconstructed block is greater than N, the adjustment amount of the pixel value of the reconstructed block is cropped so that the adjustment amount of the pixel value of the reconstructed block accounts for The number of bits is less than or equal to N, where N is less than or equal to MK, M is the number of bits required to represent the preset value range, and K is the number of bits required to represent the weight;
    根据裁剪后的所述重构块的像素值的调整量,对所述重构块的像素值进行调整。The pixel value of the reconstructed block is adjusted according to the adjustment amount of the pixel value of the reconstructed block after cropping.
  3. 根据权利要求2所述的方法,其特征在于,M=16,N≤13,K=3。The method according to claim 2, wherein M=16, N≤13, and K=3.
  4. 根据权利要求3所述的方法,其特征在于,N=13。The method according to claim 3, wherein N=13.
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,两个所述重构块均是利用仿射模式预测得到的重构块。The method according to any one of claims 1 to 4, wherein the two reconstructed blocks are both reconstructed blocks obtained by using affine mode prediction.
  6. 一种视频处理方法,其特征在于,包括:A video processing method, characterized in that it comprises:
    确定当前块是否采用PROF技术;Determine whether the current block uses PROF technology;
    如果所述当前块采用PROF技术,禁止所述当前块采用BCW技术。If the current block uses the PROF technology, the current block is prohibited from using the BCW technology.
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:The method according to claim 6, wherein the method further comprises:
    如果所述当前块采用BCW技术,禁止所述当前块采用PROF技术。If the current block uses the BCW technology, the current block is prohibited from using the PROF technology.
  8. 一种视频处理方法,其特征在于,包括:A video processing method, characterized in that it comprises:
    判断当前块是否满足预设条件;Determine whether the current block meets the preset conditions;
    当所述当前块满足预设条件时,禁止所述当前块采用PROF技术。When the current block meets a preset condition, the current block is prohibited from using the PROF technology.
  9. 根据权利要求8所述的方法,其特征在于,所述预设条件是与所述当前块的尺寸相关的条件。8. The method according to claim 8, wherein the preset condition is a condition related to the size of the current block.
  10. 根据权利要求9所述的方法,其特征在于,所述预设条件为所述当前块的宽和高的乘积小于或等于预设值。The method according to claim 9, wherein the preset condition is that the product of the width and height of the current block is less than or equal to a preset value.
  11. 根据权利要求10所述的方法,其特征在于,所述预设值为128。The method according to claim 10, wherein the preset value is 128.
  12. 根据权利要求8所述的方法,其特征在于,所述预设条件是与所述当前块的重构块的像素值的预测方式有关的条件。The method according to claim 8, wherein the preset condition is a condition related to a prediction mode of the pixel value of the reconstructed block of the current block.
  13. 根据权利要求12所述的方法,其特征在于,所述预设条件为所述当前块的重构块的像素值采用加权预测方式进行预测。The method according to claim 12, wherein the preset condition is that the pixel value of the reconstructed block of the current block is predicted using a weighted prediction method.
  14. 根据权利要求13所述的方法,其特征在于,所述加权预测方式为编码块级别或条带级别的加权预测方式。The method according to claim 13, wherein the weighted prediction mode is a coding block level or slice level weighted prediction mode.
  15. 一种视频处理方法,其特征在于,包括:A video processing method, characterized in that it comprises:
    生成当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;Generating first indication information of the current strip, where the first indication information is used to indicate whether the current strip adopts the PROF technology;
    在码流中编码所述第一指示信息。Encoding the first indication information in a code stream.
  16. 根据权利要求15所述的方法,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术和/或DMVR技术。The method according to claim 15, wherein the first indication information also indicates whether the current slice adopts BDOF technology and/or DMVR technology.
  17. 根据权利要求16所述的方法,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用DMVR技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用BDOF技术。The method according to claim 16, wherein the first indication information also indicates whether the current slice adopts DMVR technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current slice adopts the BDOF technology.
  18. 根据权利要求16所述的方法,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用DMVR技术。The method according to claim 16, wherein the first indication information also indicates whether the current slice adopts BDOF technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current stripe adopts the DMVR technology.
  19. 根据权利要求15所述的方法,其特征在于,所述码流中还包括第二指示信息和第三指示信息,所述第一指示信息、所述第二指示信息以及所述第三指示信息相互独立,所述第二指示信息用于指示所述当前条带是否采用BDOF技术,所述第三指示信息用于指示所述当前条带是否采用DMVR技术。The method according to claim 15, wherein the code stream further includes second indication information and third indication information, the first indication information, the second indication information, and the third indication information Independent of each other, the second indication information is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
  20. 一种视频处理方法,其特征在于,包括:A video processing method, characterized in that it comprises:
    从码流中获取当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;Acquiring first indication information of the current slice from the code stream, where the first indication information is used to indicate whether the current slice adopts the PROF technology;
    根据所述第一指示信息,对所述当前条带进行解码。According to the first indication information, the current slice is decoded.
  21. 根据权利要求20所述的方法,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术和/或DMVR技术。The method according to claim 20, wherein the first indication information also indicates whether the current slice adopts BDOF technology and/or DMVR technology.
  22. 根据权利要求21所述的方法,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用DMVR技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用BDOF技术。The method according to claim 21, wherein the first indication information also indicates whether the current slice adopts DMVR technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current slice adopts the BDOF technology.
  23. 根据权利要求21所述的方法,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用DMVR技术。The method according to claim 21, wherein the first indication information also indicates whether the current slice adopts BDOF technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current stripe adopts the DMVR technology.
  24. 根据权利要求20所述的方法,其特征在于,所述码流中还包括第二指示信息和第三指示信息,所述第一指示信息、所述第二指示信息以及所述第三指示信息相互独立,所述第二指示信息用于指示所述当前条带是否采用BDOF技术,所述第三指示信息用于指示所述当前条带是否采用DMVR技术。The method according to claim 20, wherein the code stream further includes second indication information and third indication information, the first indication information, the second indication information, and the third indication information Independent of each other, the second indication information is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
  25. 一种视频处理装置,其特征在于,包括:A video processing device, characterized in that it comprises:
    存储器,用于存储指令;Memory, used to store instructions;
    处理器,用于执行所述存储器中存储的执行,以执行如下操作:The processor is configured to execute the execution stored in the memory to perform the following operations:
    确定当前块在双向预测模式下的两个重构块;Determine the two reconstructed blocks of the current block in the bidirectional prediction mode;
    利用PROF技术对两个所述重构块的像素值进行调整;Using PROF technology to adjust the pixel values of the two reconstructed blocks;
    利用预设的权重对两个所述重构块的像素值进行加权平均,得到所述当前块的最终重构块;其中,在确定所述最终重构块的过程中,对两个所述重构块的像素值和/或所述权重的取值进行控制,使得两个所述重构块的像素值和所述权重的乘积不超出预设的数值表示范围。The pixel values of the two reconstructed blocks are weighted and averaged using preset weights to obtain the final reconstructed block of the current block; wherein, in the process of determining the final reconstructed block, the two The pixel value of the reconstructed block and/or the value of the weight are controlled so that the product of the pixel value of the two reconstructed blocks and the weight does not exceed a preset numerical representation range.
  26. 根据权利要求25所述的装置,其特征在于,所述利用PROF技术对两个所述重构块的像素值进行调整,包括:The device according to claim 25, wherein the adjusting the pixel values of the two reconstructed blocks by using the PROF technology comprises:
    确定所述重构块的像素值的调整量;Determining the adjustment amount of the pixel value of the reconstructed block;
    如果所述重构块的像素值的调整量所占的比特数大于N,对所述重构块的像素值的调整量进行裁剪,使所述重构块的像素值的调整量所占的比特数小于或等于N,其中,N小于或等于M-K,M为表示所述预设的数值表示范 围所需的比特数,K为表示所述权重所需的比特数;If the number of bits occupied by the adjustment amount of the pixel value of the reconstructed block is greater than N, the adjustment amount of the pixel value of the reconstructed block is cropped so that the adjustment amount of the pixel value of the reconstructed block accounts for The number of bits is less than or equal to N, where N is less than or equal to MK, M is the number of bits required to represent the preset value range, and K is the number of bits required to represent the weight;
    根据裁剪后的所述重构块的像素值的调整量,对所述重构块的像素值进行调整。The pixel value of the reconstructed block is adjusted according to the adjustment amount of the pixel value of the reconstructed block after cropping.
  27. 根据权利要求26所述的装置,其特征在于,M=16,N≤13,K=3。The device according to claim 26, wherein M=16, N≤13, and K=3.
  28. 根据权利要求27所述的装置,其特征在于,N=13。The device according to claim 27, wherein N=13.
  29. 根据权利要求25-28中任一项所述的装置,其特征在于,两个所述重构块均是利用仿射模式预测得到的重构块。The device according to any one of claims 25-28, wherein the two reconstructed blocks are both reconstructed blocks obtained by using affine mode prediction.
  30. 一种视频处理装置,其特征在于,包括:A video processing device, characterized in that it comprises:
    存储器,用于存储指令;Memory, used to store instructions;
    处理器,用于执行所述存储器中存储的执行,以执行如下操作:The processor is configured to execute the execution stored in the memory to perform the following operations:
    确定所述当前块是否采用PROF技术;Determine whether the current block uses PROF technology;
    如果所述当前块采用PROF技术,禁止所述当前块采用BCW技术。If the current block uses the PROF technology, the current block is prohibited from using the BCW technology.
  31. 根据权利要求30所述的装置,其特征在于,所述处理器还用于执行以下操作:The device according to claim 30, wherein the processor is further configured to perform the following operations:
    如果所述当前块采用BCW技术,禁止所述当前块采用PROF技术。If the current block uses the BCW technology, the current block is prohibited from using the PROF technology.
  32. 一种视频处理装置,其特征在于,包括:A video processing device, characterized in that it comprises:
    存储器,用于存储指令;Memory, used to store instructions;
    处理器,用于执行所述存储器中存储的执行,以执行如下操作:The processor is configured to execute the execution stored in the memory to perform the following operations:
    判断当前块是否满足预设条件;Determine whether the current block meets the preset conditions;
    当所述当前块满足预设条件时,禁止所述当前块采用PROF技术。When the current block meets a preset condition, the current block is prohibited from using the PROF technology.
  33. 根据权利要求32所述的装置,其特征在于,所述预设条件是与所述当前块的尺寸相关的条件。The apparatus according to claim 32, wherein the preset condition is a condition related to the size of the current block.
  34. 根据权利要求33所述的装置,其特征在于,所述预设条件为所述当前块的宽和高的乘积小于或等于预设值。The device according to claim 33, wherein the preset condition is that the product of the width and height of the current block is less than or equal to a preset value.
  35. 根据权利要求34所述的装置,其特征在于,所述预设值为128。The device of claim 34, wherein the preset value is 128.
  36. 根据权利要求32所述的装置,其特征在于,所述预设条件是与所述当前块的重构块的像素值的预测方式有关的条件。The apparatus according to claim 32, wherein the preset condition is a condition related to a prediction mode of the pixel value of the reconstructed block of the current block.
  37. 根据权利要求36所述的装置,其特征在于,所述预设条件为所述当前块的重构块的像素值采用加权预测方式进行预测。The device according to claim 36, wherein the preset condition is that the pixel value of the reconstructed block of the current block is predicted by using a weighted prediction method.
  38. 根据权利要求37所述的装置,其特征在于,所述加权预测方式为编码块级别或条带级别的加权预测方式。The apparatus according to claim 37, wherein the weighted prediction mode is a coding block level or slice level weighted prediction mode.
  39. 一种视频处理装置,其特征在于,包括:A video processing device, characterized in that it comprises:
    存储器,用于存储指令;Memory, used to store instructions;
    处理器,用于执行所述存储器中存储的执行,以执行如下操作:The processor is configured to execute the execution stored in the memory to perform the following operations:
    生成当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;Generating first indication information of the current strip, where the first indication information is used to indicate whether the current strip adopts the PROF technology;
    在码流中编码所述第一指示信息。Encoding the first indication information in a code stream.
  40. 根据权利要求39所述的装置,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术和/或DMVR技术。The apparatus according to claim 39, wherein the first indication information also indicates whether the current slice adopts BDOF technology and/or DMVR technology.
  41. 根据权利要求40所述的装置,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用DMVR技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用BDOF技术。The device according to claim 40, wherein the first indication information also indicates whether the current slice adopts DMVR technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current slice adopts the BDOF technology.
  42. 根据权利要求40所述的装置,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用DMVR技术。The device according to claim 40, wherein the first indication information also indicates whether the current slice adopts BDOF technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current stripe adopts the DMVR technology.
  43. 根据权利要求39所述的装置,其特征在于,所述码流中还包括第二指示信息和第三指示信息,所述第一指示信息、所述第二指示信息以及所述第三指示信息相互独立,所述第二指示信息用于指示所述当前条带是否采用BDOF技术,所述第三指示信息用于指示所述当前条带是否采用DMVR技术。The device according to claim 39, wherein the code stream further comprises second indication information and third indication information, the first indication information, the second indication information, and the third indication information Independent of each other, the second indication information is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
  44. 一种视频处理装置,其特征在于,包括:A video processing device, characterized in that it comprises:
    存储器,用于存储指令;Memory, used to store instructions;
    处理器,用于执行所述存储器中存储的执行,以执行如下操作:The processor is configured to execute the execution stored in the memory to perform the following operations:
    从码流中获取当前条带的第一指示信息,所述第一指示信息用于指示所述当前条带是否采用PROF技术;Acquiring first indication information of the current slice from the code stream, where the first indication information is used to indicate whether the current slice adopts the PROF technology;
    根据所述第一指示信息,对所述当前条带进行解码。According to the first indication information, the current slice is decoded.
  45. 根据权利要求44所述的装置,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术和/或DMVR技术。The apparatus according to claim 44, wherein the first indication information also indicates whether the current slice adopts BDOF technology and/or DMVR technology.
  46. 根据权利要求45所述的装置,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用DMVR技术,所述码流中还包括与第一指 示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用BDOF技术。The apparatus according to claim 45, wherein the first indication information also indicates whether the current slice adopts DMVR technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current slice adopts the BDOF technology.
  47. 根据权利要求45所述的装置,其特征在于,所述第一指示信息同时指示了所述当前条带是否采用BDOF技术,所述码流中还包括与第一指示信息相互独立的第二指示信息,所述第二指示信息用于指示所述当前条带是否采用DMVR技术。The apparatus according to claim 45, wherein the first indication information also indicates whether the current slice adopts BDOF technology, and the code stream further includes a second indication independent of the first indication information Information, the second indication information is used to indicate whether the current slice adopts the DMVR technology.
  48. 根据权利要求44所述的装置,其特征在于,所述码流中还包括第二指示信息和第三指示信息,所述第一指示信息、所述第二指示信息以及所述第三指示信息相互独立,所述第二指示信息用于指示所述当前条带是否采用BDOF技术,所述第三指示信息用于指示所述当前条带是否采用DMVR技术。The device according to claim 44, wherein the code stream further comprises second indication information and third indication information, the first indication information, the second indication information, and the third indication information Independent of each other, the second indication information is used to indicate whether the current slice adopts the BDOF technology, and the third indication information is used to indicate whether the current slice adopts the DMVR technology.
PCT/CN2019/107604 2019-09-24 2019-09-24 Video processing method and apparatus WO2021056217A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/107604 WO2021056217A1 (en) 2019-09-24 2019-09-24 Video processing method and apparatus
CN201980066899.8A CN112868236A (en) 2019-09-24 2019-09-24 Video processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/107604 WO2021056217A1 (en) 2019-09-24 2019-09-24 Video processing method and apparatus

Publications (1)

Publication Number Publication Date
WO2021056217A1 true WO2021056217A1 (en) 2021-04-01

Family

ID=75165956

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/107604 WO2021056217A1 (en) 2019-09-24 2019-09-24 Video processing method and apparatus

Country Status (2)

Country Link
CN (1) CN112868236A (en)
WO (1) WO2021056217A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100246680A1 (en) * 2009-03-26 2010-09-30 Dihong Tian Reference picture prediction for video coding
CN109792534A (en) * 2016-07-14 2019-05-21 三星电子株式会社 Video encoding/decoding method and its device and method for video coding and its device
CN110036638A (en) * 2017-01-04 2019-07-19 高通股份有限公司 Motion vector for bi-directional optical stream (BIO) is rebuild
US20190273937A1 (en) * 2018-03-01 2019-09-05 Arris Enterprises Llc System and Method of Motion Information Storage for Video Coding and Signaling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100246680A1 (en) * 2009-03-26 2010-09-30 Dihong Tian Reference picture prediction for video coding
CN109792534A (en) * 2016-07-14 2019-05-21 三星电子株式会社 Video encoding/decoding method and its device and method for video coding and its device
CN110036638A (en) * 2017-01-04 2019-07-19 高通股份有限公司 Motion vector for bi-directional optical stream (BIO) is rebuild
US20190273937A1 (en) * 2018-03-01 2019-09-05 Arris Enterprises Llc System and Method of Motion Information Storage for Video Coding and Signaling

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
J. LUO (INTERDIGITAL), Y. HE (INTERDIGITAL): "CE2-related: Prediction refinement with optical flow for affine mode", 14. JVET MEETING; 20190319 - 20190327; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 14 March 2019 (2019-03-14), XP030203187 *
W. CHEN (INTERDIGITAL): "Crosscheck of JVET-O0313: CE4-related: On Conditions for enabling PROF", 127. MPEG MEETING; 20190708 - 20190712; GOTHENBURG; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), 8 July 2019 (2019-07-08), XP030206942 *
X. XIU (KWAI), Y.-W. CHEN (KWAI), T.-C. MA (KWAI), H.-J. JHU (KWAI), X. WANG (KWAI INC.): "CE4-related: Harmonization of BDOF and PROF", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 7 July 2019 (2019-07-07), XP030220004 *
Y. HE (INTERDIGITAL): "Crosscheck of JVET-O0664: CE4-related: Simplifications on PROF", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 6 July 2019 (2019-07-06), XP030220294 *

Also Published As

Publication number Publication date
CN112868236A (en) 2021-05-28

Similar Documents

Publication Publication Date Title
TWI711300B (en) Signaling for illumination compensation
KR101524393B1 (en) Encoding method and device, decoding method and device, and computer-readable storage medium
KR101691199B1 (en) Method and apparatus for template matching prediction(tmp) in video encoding and decoding
WO2020140243A1 (en) Video image processing method and apparatus
GB2492778A (en) Motion compensated image coding by combining motion information predictors
WO2021056217A1 (en) Video processing method and apparatus
JP2022513492A (en) How to derive a constructed affine merge candidate
WO2020140216A1 (en) Video processing method and device
JPWO2020256048A5 (en)

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19946670

Country of ref document: EP

Kind code of ref document: A1