WO2021056454A1 - 当前块的预测方法及装置、设备、存储介质 - Google Patents

当前块的预测方法及装置、设备、存储介质 Download PDF

Info

Publication number
WO2021056454A1
WO2021056454A1 PCT/CN2019/108684 CN2019108684W WO2021056454A1 WO 2021056454 A1 WO2021056454 A1 WO 2021056454A1 CN 2019108684 W CN2019108684 W CN 2019108684W WO 2021056454 A1 WO2021056454 A1 WO 2021056454A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
reference block
mirror
absolute error
error value
Prior art date
Application number
PCT/CN2019/108684
Other languages
English (en)
French (fr)
Inventor
梁凡
曹健
Original Assignee
Oppo广东移动通信有限公司
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=75166351&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2021056454(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN201980100387.9A priority Critical patent/CN114402616A/zh
Priority to KR1020227013874A priority patent/KR20220066166A/ko
Priority to PCT/CN2019/108684 priority patent/WO2021056454A1/zh
Priority to JP2022518879A priority patent/JP7448641B2/ja
Publication of WO2021056454A1 publication Critical patent/WO2021056454A1/zh
Priority to US17/704,443 priority patent/US12003764B2/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the embodiments of the present application relate to electronic technology, and relate to, but are not limited to, a prediction method, device, device, and storage medium of the current block.
  • the Intra Block Copy (IBC) mode can take advantage of the feature of many repeated regions, it still performs intra prediction based on the translational motion model.
  • IBC mode of the translation model all pixels in a coding block share the same block vector (Block Vector, BV), and the reference block and the coding block are completely consistent.
  • Block Vector Block Vector
  • the embodiments of the present application provide a prediction method and device, equipment, and storage medium of the current block.
  • the technical solutions of the embodiments of the present application are implemented as follows:
  • an embodiment of the present application provides a method for predicting a current block for use in a video image encoder, including: obtaining mode information of a mirrored intra-block copy mode when it is determined that it is in a non-merged mode of intra-frame block copy; according to Mode information, to determine whether to perform mirror transformation on the reference block; when the result of the determination is to perform mirror transformation on the reference block, perform mirror transformation on the reference block to obtain the prediction block of the current block.
  • an embodiment of the present application provides a prediction method for a current block, which is used in a video image decoder, including: parsing a code stream to obtain mode information of a mirrored intra-frame block copy mode; and judging whether to use a reference block according to the mode information Perform mirror transformation; when the judgment result is to perform mirror transformation on the reference block, perform mirror transformation on the reference block to construct the prediction block of the current block.
  • an embodiment of the present application provides a prediction device for a current block, including: a first determining module configured to obtain mode information of a mirrored intra block copy mode when it is determined that it is in a non-merged mode of intra block copy;
  • the first judgment module is configured to: judge whether to perform mirror transformation on the reference block according to the mode information;
  • the first prediction module is configured to: when the judgment result is mirror transformation on the reference block, perform mirror transformation on the reference block to obtain the current block Prediction block.
  • an embodiment of the present application provides a prediction device for a current block, including: a parsing module configured to: parse a code stream to obtain mode information of a block copy mode in a mirrored frame; and a second judgment module configured to: according to the mode Information, determining whether to perform mirror transformation on the reference block; the second prediction module is configured to perform mirror transformation on the reference block when the result of the determination is mirror transformation on the reference block to construct a prediction block of the current block.
  • an embodiment of the present application provides an electronic device, including a memory and a processor.
  • the memory stores a computer program that can run on the processor.
  • the processor executes the program, the current block prediction method in the first aspect is implemented Steps, or the steps in the method for predicting the current block in the second aspect are implemented when the program is executed.
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored.
  • the steps in the method for predicting the current block in the first aspect are implemented, or when the program is executed.
  • the steps in the prediction method of the current block in the second aspect are implemented.
  • the mode information of the mirrored intra-frame block copy mode is obtained; according to the mode information, it is determined whether to perform mirror transformation on the reference block; when the result of the determination is that the reference block is subjected to mirror transformation During mirror transformation, the reference block is mirrored to obtain the prediction block of the current block; in this way, the current block is predicted by the mirror flip method to achieve better prediction results, reduce prediction errors, and improve video coding efficiency.
  • Figure 1 is a schematic diagram of the mapping relationship between coding units and reference units in the related art
  • Fig. 2 is a schematic diagram of pixels inside a reference block and an encoding block in the related art
  • FIG. 3 is a schematic diagram of IBC not working well in related technologies
  • FIG. 4 is a schematic diagram of the composition structure of a network architecture according to an embodiment of the application.
  • FIG. 5 is a schematic diagram of an implementation process of a method for predicting a current block provided by an embodiment of the application
  • FIG. 6 is a schematic diagram of the implementation process of another current block prediction method provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of horizontal mirror flip provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of vertical mirror flip provided by an embodiment of the application.
  • FIG. 9 is a schematic diagram of the function of the IBC-Mirror Mode provided by an embodiment of the application.
  • FIG. 10 is a schematic diagram of an implementation process of a method for predicting a current block according to another embodiment of the application.
  • FIG. 11 is a schematic diagram of the implementation process of another current block prediction method provided by another embodiment of this application.
  • FIG. 12 is a schematic diagram of the inference flow of IBC-Mirror Mode provided by an embodiment of the application.
  • FIG. 13 is a schematic diagram of the composition structure of a current block prediction apparatus provided by an embodiment of the application.
  • FIG. 15 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the application.
  • first ⁇ second ⁇ third referred to in the embodiments of this application only distinguishes similar objects, and does not represent a specific order for the objects. Understandably, “first ⁇ second ⁇ third” "When permitted, the specific order or sequence can be interchanged, so that the embodiments of the present application described herein can be implemented in a sequence other than those illustrated or described herein.
  • Rate-distortion cost Rdcost Rate-distortion Cost
  • the IBC mode is turned on when encoding the screen content sequence, and the BV is used to establish the reference relationship between the current coding unit and the reference unit, so as to predict the pixels of the current coding unit.
  • the reference block In IBC mode, the reference block must be located in the coded area of the current frame, and must be located in the CTU adjacent to or on the left of the current coded block.
  • the reference relationship is shown in Figure 1. Among them, Cur_blk is used to indicate the current coding block, and Ref_blk is used to indicate the reference coding block. Cur_pic is used to represent the current image.
  • the IBC mode performs motion estimation based on the translational motion model, that is, all pixels in the coding block share the same BV. Because it is a translational model, the coding block and the reference block are exactly the same, that is, the width, height, and corresponding position of each pixel value of the coding block and the reference block are the same, as shown in Figure 2(a) and Figure 2(b).
  • 2(a) corresponds to the reference block
  • Figure 2(b) corresponds to the coding block.
  • the size of both the reference block and the coding block is 4*4, and the pixels in the corresponding positions within the two the same.
  • the IBC mode can take advantage of the feature of multiple repeated regions, it is still based on a translational motion model for intra-frame prediction.
  • the IBC mode of the translation model all pixels in a coding block share the same BV, and the reference block and the coding block are exactly the same.
  • the IBC mode based on the translational motion model cannot make good use of this feature for encoding.
  • the encoder in order to meet the image quality, in the IBC mode based on translational motion, the encoder will tend to divide an object into small units, and use the translational motion of the small units to approximate the mirror motion. This division and prediction method will bring a lot of redundant information, such as division information, which affects compression performance.
  • most of the 26 common letters in the screen content sequence have mirror or mirror-like features, such as A, B, C, D, E, H, I, K, M, O, T, U, V, W, X, Y, etc.
  • the traditional IBC mode to encode the character "A”
  • FIG. 4 is a schematic structural diagram of the network architecture of an embodiment of the application.
  • the network architecture includes one or more electronic devices 11 to 1K and a communication network 01, wherein the electronic device 11 to 1K can be used for video interaction through the communication network 01.
  • the electronic device may be various types of devices with video coding and decoding functions.
  • the electronic device may include a mobile phone, a tablet computer, a personal computer, a television, a server, and the like.
  • the electronic device has a video codec function, including a video image encoder and/or a video image decoder.
  • the embodiment of the present application provides a method for predicting a current block.
  • the functions implemented by the method can be implemented by invoking program code by a processor in an electronic device.
  • the program code can be stored in a computer storage medium. It can be seen that the electronic device at least Including processor and storage medium.
  • the embodiment of the present application provides a prediction method of the current block, which is applied to a video image encoder. As shown in FIG. 5, the method includes the following steps:
  • Step 201 When it is determined that it is in the non-merged mode of intra-frame block copying, obtain mode information of the mirrored intra-frame block copy mode.
  • the video image encoder may determine whether it is in the non-Merge mode of intra block copy or the Merge mode of intra block copy according to the merge flag Merge Flag. When the video image encoder determines that it is in the non-merged mode of intra-frame block copying, it acquires the mode information of the mirrored intra-frame block copy mode.
  • Step 202 Determine whether to perform mirror transformation on the reference block according to the mode information.
  • the reference block is located in the current image where the current block is located; or, the reference block is located in an image that has been coded before the current image is coded.
  • performing mirror transformation on the reference block includes performing horizontal mirror transformation on the reference block or performing vertical mirror transformation on the reference block.
  • the video image encoder may determine whether to perform mirror transformation on the reference block according to the mode information, and what kind of mirror transformation is performed on the reference block, such as horizontal mirror transformation or vertical mirror transformation.
  • Step 203 When the judgment result is that the reference block is mirrored, the reference block is mirrored to obtain the prediction block of the current block.
  • the video image encoder obtains the judgment result of performing mirror transformation on the reference block according to the mode information, and then performs mirror transformation on the reference block to obtain the prediction block of the current block.
  • the video image encoder obtains the judgment result of performing the horizontal mirror transformation on the reference block according to the mode information, and then performs the horizontal mirror transformation on the reference block to obtain the prediction block of the current block.
  • the video image encoder obtains the judgment result of performing the vertical mirror transformation on the reference block according to the mode information, and then performs the vertical mirror transformation on the reference block to obtain the prediction block of the current block.
  • IBC-Mirror Mode is proposed in the embodiments of this application.
  • IBC-Mirror Mode is based on the translation model of the IBC Intra Block Copy mode in the related technology, and adds "Horizontal Mirror Flip". And the "vertical mirror flip" function, so as to achieve better prediction results, reduce prediction errors, and improve the efficiency of video coding.
  • the prediction method of the current block determines that it is in the non-merged mode of intra-block copy, obtains the mode information of the mirrored intra-block copy mode; according to the mode information, determines whether to perform mirror transformation on the reference block; The judgment result is that when the reference block is mirrored, the reference block is mirrored to obtain the prediction block of the current block; in this way, the current block is predicted by the mirror flip method to achieve better prediction results, reduce prediction errors, and improve video Encoding efficiency.
  • the embodiment of the present application provides a prediction method of the current block, which is applied to a video image encoder. As shown in FIG. 6, the method includes the following steps:
  • Step 301 When it is determined that it is in the non-fusion mode, obtain a valid block vector.
  • the effective block vector indicates that the reference block referred to by the current block is in an effective coded reference area.
  • the video image encoder when it is in the non-Merge mode, it obtains a valid BV.
  • the IBC-Mirror Mode judgment is only performed in the non-merge mode of IBC.
  • the BV search process and the proposed IBC-Mirror Mode judgment process otherwise, the subsequent IBC mode BV search process and the proposed IBC-Mirror Mode judgment process are skipped.
  • Step 302 Acquire mode information according to the effective block vector.
  • the mode information can be called IBC-Mirror Mode.
  • obtaining mode information can be implemented by the following steps:
  • Step 302a Obtain the first pixel value of the reference block according to the effective block vector.
  • the video image encoder obtains the first pixel value of the reference block according to the effective BV, that is, the pixel information inside the reference block; here, PredBuf is used to represent the first pixel value of the reference block, and PredBuf can be understood as A W*H matrix that stores the pixel value at the corresponding position of the reference block.
  • Step 302b Obtain the predicted first pixel value of the current block.
  • OrgBuf the pixel value of the current coding block
  • OrgBuf is used to represent the first pixel value of the current block.
  • OrgBuf can be understood as a W*H matrix that stores the pixel value at the corresponding position of the current coding block.
  • Step 302c Determine a first absolute error value between the first pixel value of the current block and the first pixel value of the reference block.
  • the video image encoder calculates the absolute error value of OrgBuf and PredBuf when it obtains OrgBuf and PredBuf; for example, SAD can be used to calculate the absolute error value of OrgBuf and PredBuf; currently, it can also be used Other algorithms calculate the absolute error value of OrgBuf and PredBuf, for example, use the sum of squared error (Sum of Squared Difference, SSD) algorithm to calculate the absolute error value of OrgBuf and PredBuf.
  • the first absolute error value is represented by SAD_org.
  • Step 302d Determine mode information according to the first absolute error value.
  • step 302d determining the mode information according to the first absolute error value can be achieved by the following steps:
  • Step1 Obtain the position of the reference block according to the effective block vector.
  • the video image encoder obtains the position of the reference block according to the effective BV.
  • Step2 According to the position, flip the reference block according to the horizontal mirror image.
  • Step3 Obtain the second pixel value of the reference block after the horizontal mirror is flipped.
  • the video image encoder flips the reference block PredBuf according to the horizontal mirroring according to the above-mentioned position, and obtains the second pixel value of the reference block after the horizontal mirroring is flipped.
  • PredBuf_hor represents the second pixel value of the reference block.
  • Step4 According to the position, flip the reference block according to the vertical mirror image.
  • Step5 Obtain the third pixel value of the reference block after the vertical mirror flip.
  • the video image encoder flips the reference block PredBuf according to the vertical mirror image according to the above-mentioned position, and obtains the third pixel value of the reference block after the horizontal mirror flip.
  • PredBuf_ver represents the third pixel value of the reference block.
  • Step6 Determine the second absolute error value between the first pixel value and the second pixel value of the current block.
  • the video image encoder calculates the second absolute error value between OrgBuf and PredBuf_hor, such as the absolute error, denoted as SAD_hor.
  • Step7 Determine the third absolute error value between the first pixel value and the third pixel value of the current block.
  • the video image encoder calculates the third absolute error value between OrgBuf and PredBuf_ver, such as the absolute error, denoted as SAD_ver.
  • Step8 Determine the mode information according to the first absolute error value, the second absolute error value, and the third absolute error value.
  • the video image encoder determines mode information according to SAD_org, SAD_hor, and SAD_ver.
  • step 303 and step 304 may be selected, or step 303 and step 305 may be executed, or step 306 may be executed;
  • Step 303 When the minimum value among the first absolute error value, the second absolute error value, and the third absolute error value is not the first absolute error value, determine whether to perform mirror transformation on the reference block, and obtain a mirror transformation of the reference block critical result.
  • the video image encoder determines whether the minimum value of the first absolute error value, the second absolute error value, and the third absolute error value is not the first absolute error value according to SAD_org, SAD_hor, and SAD_ver, determines whether to mirror the reference block , Get the judgment result of mirror transformation on the reference block.
  • Step 304 When the minimum value among the first absolute error value, the second absolute error value, and the third absolute error value is the second absolute error value, the judgment result is that the reference block is subjected to a horizontal mirror transformation, and according to the position and the reference block For the first pixel value, the reference block is subjected to horizontal mirror transformation to obtain a prediction block.
  • the video image encoder determines that the minimum of the first absolute error value, the second absolute error value, and the third absolute error value is SAD_hor according to SAD_org, SAD_hor, and SAD_ver, the judgment result is that the reference block is subjected to horizontal mirror transformation, According to the position and the first pixel value of the reference block, a horizontal mirror transformation is performed on the reference block to obtain a prediction block.
  • a horizontal mirror transformation is performed on the reference block to obtain a prediction block.
  • the following steps may also be performed: according to the position and the first pixel value of the reference block, the parameters obtained by the horizontal mirror transformation of the reference block are encoded, and the code stream is written.
  • Step 305 When the minimum value among the first absolute error value, the second absolute error value, and the third absolute error value is the third absolute error value, the judgment result is that the reference block is subjected to vertical mirror transformation, based on the position and the reference block The first pixel value of the reference block is subjected to vertical mirror transformation to obtain the prediction block.
  • the video image encoder determines that the minimum of the first absolute error value, the second absolute error value, and the third absolute error value is SAD_ver according to SAD_org, SAD_hor, and SAD_ver, the judgment result is that the reference block is subjected to vertical mirror transformation, According to the position and the first pixel value of the reference block, a vertical mirror transformation is performed on the reference block to obtain a prediction block.
  • a vertical mirror transformation is performed on the reference block to obtain a prediction block.
  • Step 306 When the first absolute error value is less than the second absolute error value, and the first absolute error value is less than the third absolute error value, determine whether to perform mirror transformation on the reference block, and obtain a determination result of not performing mirror transformation on the reference block.
  • the video image encoder determines that the minimum value is SAD_org according to SAD_org, SAD_hor, and SAD_ver, it determines whether to perform mirror transformation on the reference block, and obtains a determination result of not performing mirror transformation on the reference block.
  • the video image encoder may also generate a mirror mode identifier and a mirror type identifier, a mirror mode identifier, and a mirror image type identifier according to the relationship between the first absolute error value, the second absolute error value, and the third absolute error value.
  • the image type identification is collectively referred to as mode information.
  • the following steps may also be performed: according to the position and the first pixel value of the reference block, the parameters obtained by the vertical mirror transformation of the reference block are encoded, and the code stream is written.
  • mirror flip can solve the problem of the complex motion of mirror flip in the encoding process.
  • the IBC mode based on the translational motion model cannot make good use of this.
  • One feature is the problem of coding, which improves coding efficiency.
  • 9(1) is a code block with the content of the character "A”, which has the characteristic of horizontal mirroring. If the coded block is in the upper left corner of the video sequence (you cannot refer to other coded blocks at this time), that is, it has not been coded with A before, or the coded block whose content is the character "A" is more than the reference range, the IBC mode will not work well. Play a role.
  • this embodiment of the application proposes an IBC-Mirror Mode.
  • This mode is added to the framework of the translation model of the IBC Intra Block Copy mode in the related art, with "horizontal mirror flip” and “vertical mirror flip” added. Function.
  • two CU-level flags are added to signal this mode, and only two flags will be transmitted in the non-Merge mode of the IBC, otherwise both are false by default.
  • one flag is mirrorFlag, true means that the CU uses mirror mode, false means not to use; the other flag is mirrorType, which will only be transmitted when mirrorFlag is true, otherwise the default is false, true means horizontal mirroring is used, and false means Using vertical mirror flip, it is understandable that the meaning of true and false can be interchanged, as long as the meaning of the codec is unified.
  • OrgBuf a W*H matrix that stores the pixel value corresponding to the current encoding block
  • PredBuf a W*H matrix that stores the pixel at the corresponding location of the reference block
  • the PredBuf is mirrored and flipped horizontally in the manner shown in Fig. 7(a) and Fig. 7(b) and stored in PredBuf_hor. Calculate the SAD between OrgBuf and PredBuf_hor and record it as SAD_hor.
  • the PredBuf is vertically mirrored and flipped in the manner shown in Fig. 8(a) and Fig. 8(b) and stored in PredBuf_ver. Calculate the SAD between OrgBuf and PredBuf_ver and record it as SAD_ver.
  • the minimum value is SAD_org, set both mirrorFlag and mirrorType to false, and determine not to mirror the reference block at this time; if the minimum value is SAD_hor, set mirrorFlag to true and mirrorType to true. At this time, determine the reference block Perform horizontal mirror transformation; if the minimum value is SAD_ver, set mirrorFlag to true and mirrorType to false. At this time, determine to perform vertical mirror transformation on the reference block.
  • the method for calculating the absolute error value may use methods other than SAD, which is not specifically limited in the embodiments of the present application.
  • the current IBC-Mirror Mode judgment process can be performed for blocks of all sizes.
  • this size can be limited or modified as needed. For example, it can also be set that only blocks with a size greater than or equal to 16*16 will be judged, and the mirrorFlag and mirrorType of other CUs that do not meet the size limit are defaulted to false and do not need to be transmitted.
  • it can be based on the video Content features design fast algorithms or skip algorithms to save coding time.
  • the BV corresponding to the smallest Rdcost, that is, the optimal BV, as well as mirrorFlag and mirrorType will be obtained. Then, the BV is stored in the PU according to the accuracy requirements, and the mirrorFlag and mirrorType are stored in CU.mirrorFlag and CU.mirrorType.
  • the Mirror mode can be used not only in the encoding of screen content (ie embedded in the IBC mode), but also in the inter-frame encoding process of the normal sequence.
  • a similar IBC-Mirror Mode judgment process can be performed, that is, the position of the reference block and the internal information can be obtained according to the MV. Pixel information.
  • SAD_org is calculated by the horizontal mirror inversion
  • SAD_ver is calculated by the vertical mirror inversion. Select the minimum value of SAD_org, SAD_hor, and SAD_ver, and assign values to mirrorFlag and mirrorType accordingly.
  • the subsequent motion compensation process is also similar, that is, the mirror flip corresponding to the reference block is performed according to the two CU-level flags.
  • the embodiment of the present application provides a prediction method of the current block, which is applied to a video image decoder. As shown in FIG. 10, the method includes the following steps:
  • Step 401 Parse the code stream to obtain mode information of the block copy mode in the mirror frame.
  • the video image decoder that is, the decoding end, parses the code stream to obtain mode information of the block copy mode in the mirror frame.
  • the mode information includes two Flags, CU.mirrorFlag and CU.mirrorType.
  • Step 402 Determine whether to perform mirror transformation on the reference block according to the mode information.
  • the video image decoder when the video image decoder obtains CU.mirrorFlag and CU.mirrorType, it judges whether to perform mirror transformation on the reference block according to CU.mirrorFlag and CU.mirrorType, and determines what to perform when mirror transformation is performed on the reference block. kind of mirror transformation.
  • the reference block is located in the current image where the current block is located; or, the reference block is located in an image that has been decoded before the current image is decoded.
  • Step 403 When the result of the judgment is to perform mirror transformation on the reference block, perform mirror transformation on the reference block to construct a prediction block of the current block.
  • the video image decoder when the video image decoder obtains the judgment result of performing mirror transformation on the reference block according to CU.mirrorFlag and CU.mirrorType, it performs mirror transformation on the reference block to construct a prediction block of the current block.
  • the prediction method of the current block analyzes the code stream to obtain the mode information of the block copy mode in the mirror frame; according to the mode information, it is judged whether to perform mirror transformation on the reference block; when the judgment result is to mirror the reference block During the transformation, the reference block is mirrored and transformed to construct the prediction block of the current block; in this way, the prediction block of the current block is obtained by fast decoding, which improves the decoding efficiency and decoding accuracy.
  • the embodiment of the present application provides a method for predicting a current block, which is applied to a video image decoder. As shown in FIG. 11, the method includes the following steps:
  • Step 501 Parse the code stream to obtain the mode information of the block copy mode in the mirror frame and the effective block vector of the current block.
  • the video image decoder parses the code stream to obtain the mode information of the block copy mode in the mirror frame and the effective BV of the current block.
  • Step 502 Obtain a mirroring mode identifier and a mirroring type identifier included in the mode information.
  • CU.mirrorFlag is used to represent the mirror mode identifier
  • CU.mirrorType is used to represent the mirror type identifier
  • the mirror image mode identifier and the mirror image type identifier are obtained by the video image encoder based on the magnitude relationship of the first absolute error value, the second absolute error value, and the third absolute error value.
  • the first absolute error value is the absolute error value between the first pixel value of the current block determined by the video image encoder and the first pixel value of the reference block
  • the second absolute error value is the current block determined by the video image encoder The absolute error value between the first pixel value and the second pixel value of the reference block
  • the third absolute error value is the difference between the first pixel value of the current block and the third pixel value of the reference block determined by the video image encoder Absolute error value.
  • Step 503 Determine whether to perform mirror transformation on the reference block according to the mirror mode identifier and the mirror type identifier.
  • step 503 judging whether to perform mirror transformation on the reference block according to the mirror mode identifier and the mirror type identifier can be implemented through the following steps:
  • Step 503a When the mirror mode identifier is the second identifier and the mirror type identifier is the second identifier, determine to perform horizontal mirror transformation on the reference block, and obtain the judgment result.
  • the video image decoder determines that both CU.mirrorFlag and CU.mirrorType are true, determines to perform horizontal mirror transformation on the reference block, and obtains the judgment result. Further, when the mirror image is transformed, step 505a is executed correspondingly.
  • Step 503b When the mirror mode identifier is the second identifier and the mirror type identifier is the first identifier, determine to perform vertical mirror transformation on the reference block, and obtain the judgment result.
  • the video image decoder determines that CU.mirrorFlag is true and CU.mirrorType is false, determines to perform vertical mirror transformation on the reference block, and obtains the judgment result. Further, when the mirror image is transformed, step 505b is executed correspondingly.
  • Step 504 When the result of the judgment is to perform mirror transformation on the reference block, obtain the position of the reference block and the first pixel value of the reference block according to the effective block vector.
  • the video image decoder performs motion compensation after decoding the effective BV.
  • the position of the reference block and the first pixel value of the reference block are obtained according to the effective BV.
  • Step 505 Perform mirror transformation on the reference block according to the position and the first pixel value of the reference block to construct a prediction block of the current block.
  • step 505 performs mirror transformation on the reference block according to the position and the first pixel value of the reference block to construct the prediction block of the current block, which can be implemented by the following steps:
  • Step 505a Perform a horizontal mirror transformation on the reference block according to the position and the first pixel value of the reference block to construct a prediction block of the current block of the current block.
  • Step 505b Perform a vertical mirror transformation on the reference block according to the position and the first pixel value of the reference block to construct a prediction block of the current block of the current block.
  • Step 506 When the mirror mode identifier is the first identifier and the mirror type identifier is the first identifier, determine not to perform mirror transformation on the reference block.
  • the video image decoder determines that both CU.mirrorFlag and CU.mirrorType are false, and determines not to perform mirror transformation on the reference block.
  • CU.mirrorFlag and CU.mirrorType are both false, no conversion; CU.mirrorFlag and CU.mirrorType are both true, the reference block is mirrored horizontally; CU.mirrorFlag is true, CU.mirrorType is false, and the reference block is mirrored vertically.
  • CU.mirrorFlag and CU.mirrorType are set to sign (signal) IBC-Mirror Mode.
  • IBC-MirrorMode MODE_IBC
  • one flag is CU.mirrorFlag
  • true means that the CU uses mirror mode
  • false means not to use
  • the other flag is mirrorType, which will only be transmitted when mirrorFlag is true, otherwise the default is false
  • true means horizontal mirroring is used.
  • False means vertical mirroring is used; understandably, the meanings of true and false can be interchanged, as long as the meaning of the codec is unified.
  • IBC-Mirror Mode adds the functions of "Horizontal Mirror Flip” and “Vertical Mirror Flip” based on the translation model of IBC Intra Block Copy mode in related technologies to achieve better predictions The effect is to reduce the prediction error and improve the efficiency of video coding.
  • the current block prediction method provided by the embodiment of the application can be used in common scenarios of screen content encoding such as document online sharing, game live broadcast, remote desktop, online game, etc., and has a good application prospect.
  • the embodiment of the present application provides a current block prediction device.
  • the modules included in the device can be implemented by a processor in an electronic device; of course, it can also be implemented by a specific logic circuit;
  • the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA).
  • CPU central processing unit
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • FIG. 13 is a schematic diagram of the composition structure of the prediction device for the current block in an embodiment of the application.
  • the prediction device 700 for the current block includes a first The determination module 701, the first judgment module 702, and the first prediction module 703, wherein:
  • the first determining module 701 is configured to obtain mode information of the mirrored intra-block copy mode when it is determined that it is in the non-fused mode of intra-frame block copy.
  • the first judgment module 702 is configured to judge whether to perform mirror transformation on the reference block according to the mode information.
  • the first prediction module 703 is configured to perform a mirror transformation on the reference block to obtain a prediction block of the current block when the judgment result is that the reference block is mirrored.
  • the first determining module 701 is configured to: when determining that it is in the non-fusion mode, obtain a valid block vector; wherein, the valid block vector indicates that the reference block referred to by the current block is in a valid coded reference area; Block vector to obtain mode information.
  • the first determining module 701 is configured to: obtain the first pixel value of the reference block according to the effective block vector; obtain the predicted first pixel value of the current block; determine the first pixel value and reference value of the current block The first absolute error value between the first pixel values of the block; according to the first absolute error value, the mode information is determined.
  • the first determining module 701 is configured to: obtain the position of the reference block according to the effective block vector; according to the position, flip the reference block according to the horizontal mirror; obtain the second pixel value of the reference block after the horizontal mirror flip; According to the position, flip the reference block according to the vertical mirror; obtain the third pixel value of the reference block after the vertical mirror flip; determine the second absolute error value between the first pixel value and the second pixel value of the current block; determine the current The third absolute error value between the first pixel value and the third pixel value of the block; the mode information is determined according to the first absolute error value, the second absolute error value, and the third absolute error value.
  • the first judging module 702 is configured to: when the smallest value among the first absolute error value, the second absolute error value, and the third absolute error value is not the first absolute error value, determine whether to compare the reference block Perform mirror transformation to obtain the judgment result of mirror transformation on the reference block.
  • the first determining module 702 is configured to determine whether to perform mirror transformation on the reference block when the first absolute error value is less than the second absolute error value, and the first absolute error value is less than the third absolute error value , Get the judgment result of not mirroring the reference block.
  • the first prediction module 703 is configured to: when the minimum value among the first absolute error value, the second absolute error value, and the third absolute error value is the second absolute error value, the judgment result is a reference
  • the block is subjected to horizontal mirror transformation, and according to the position and the first pixel value of the reference block, the reference block is subjected to horizontal mirror transformation to obtain a prediction block.
  • the first prediction module 703 is configured to: when the smallest value among the first absolute error value, the second absolute error value, and the third absolute error value is the third absolute error value, the judgment result is a reference
  • the block is subjected to vertical mirror transformation, and according to the position and the first pixel value of the reference block, the reference block is subjected to vertical mirror transformation to obtain a prediction block.
  • the prediction device 700 of the current block further includes a first processing module configured to: encode the parameters obtained by performing the horizontal mirror transformation on the reference block according to the position and the first pixel value of the reference block, and write Into the code stream.
  • the first processing module is configured to encode the parameters obtained by the vertical mirror transformation of the reference block according to the position and the first pixel value of the reference block, and write it into the code stream.
  • the reference block is located in the current image where the current block is located; or, the reference block is located in an image that has been coded before the current image is coded.
  • FIG. 14 is a schematic diagram of the composition structure of a prediction device for a current block according to an embodiment of the application.
  • the prediction device 800 for the current block includes a parsing module 801.
  • the parsing module 801 is configured to parse the code stream to obtain mode information of the block copy mode in the mirrored frame.
  • the second judgment module 802 is configured to judge whether to perform mirror transformation on the reference block according to the mode information.
  • the second prediction module 803 is configured to perform a mirror transformation on the reference block when the result of the judgment is to perform a mirror transformation on the reference block to construct a prediction block of the current block.
  • the second judging module 802 is configured to: acquire the image mode identification and the image type identification included in the mode information; wherein the image mode identification and the image type identification are based on the first absolute error value and the first absolute error value of the video image encoder.
  • the second absolute error value and the third absolute error value are obtained by the magnitude relationship;
  • the first absolute error value is the absolute error value between the first pixel value of the current block determined by the video image encoder and the first pixel value of the reference block
  • the second absolute error value is the current block determined by the video image encoder The absolute error value between the first pixel value and the second pixel value of the reference block.
  • the third absolute error value is the difference between the first pixel value of the current block and the third pixel value of the reference block determined by the video image encoder Absolute error value
  • the mirror mode identifier and the mirror type identifier it is determined whether to perform mirror transformation on the reference block.
  • the parsing module 801 is configured to obtain the effective block vector of the current block when parsing the code stream.
  • the second prediction module 803 is configured to obtain the position of the reference block and the first pixel value of the reference block according to the effective block vector when the judgment result is that the reference block is mirrored;
  • the reference block is mirrored and transformed to construct the prediction block of the current block.
  • the second judgment module 802 is configured to: when the mirror mode identifier is the second identifier and the mirror type identifier is the second identifier, determine to perform horizontal mirror transformation on the reference block to obtain the determination result.
  • the second prediction module 803 is configured to perform horizontal mirror transformation on the reference block according to the position and the first pixel value of the reference block to construct a prediction block of the current block of the current block.
  • the second judging module 802 is configured to: when the mirroring mode identifier is the second identifier and the mirroring type identifier is the first identifier, determine to perform a vertical mirror transformation on the reference block to obtain the determination result.
  • the second prediction module 803 is configured to perform a vertical mirror transformation on the reference block according to the position and the first pixel value of the reference block to construct a prediction block of the current block of the current block.
  • the second judgment module 802 is configured to determine not to perform mirror transformation on the reference block when the mirror mode identifier is the first identifier and the mirror type identifier is the first identifier.
  • the reference block is located in the current image where the current block is located; or, the reference block is located in an image that has been decoded before the current image is decoded.
  • the technical solutions of the embodiments of the present application can be embodied in the form of software products in essence or the parts that contribute to related technologies.
  • the computer software products are stored in a storage medium and include several instructions to enable An electronic device (which may be a mobile phone, a tablet computer, a desktop computer, a server, a TV, an audio player, etc.) executes all or part of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory (Read Only Memory, ROM), magnetic disk or optical disk and other media that can store program codes. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
  • FIG. 15 is a schematic diagram of a hardware entity of an electronic device according to an embodiment of the application.
  • the electronic device 900 includes a memory 901 and a processor 902.
  • the memory 901 stores a computer program that can be run on the processor 902, and the processor 902 implements the steps in the current block prediction method provided in the foregoing embodiment when the processor 902 executes the program.
  • the memory 901 is configured to store instructions and applications executable by the processor 902, and can also cache data to be processed or processed by the processor 902 and each module in the electronic device 900 (for example, image data, audio data, etc.). , Voice communication data and video communication data), which can be implemented through flash memory (FLASH) or random access memory (Random Access Memory, RAM).
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps in the current block prediction method provided in the foregoing embodiments are implemented.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, such as: multiple units or components can be combined, or It can be integrated into another system, or some features can be ignored or not implemented.
  • the coupling, or direct coupling, or communication connection between the components shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms. of.
  • the units described above as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the functional units in the embodiments of the present application can be all integrated into one processing unit, or each unit can be individually used as a unit, or two or more units can be integrated into one unit;
  • the unit can be implemented in the form of hardware, or in the form of hardware plus software functional units.
  • the foregoing program can be stored in a computer readable storage medium.
  • the execution includes The steps of the foregoing method embodiment; and the foregoing storage medium includes various media that can store program codes, such as a mobile storage device, a read only memory (Read Only Memory, ROM), a magnetic disk, or an optical disk.
  • ROM Read Only Memory
  • the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it may also be stored in a computer readable storage medium.
  • the computer software products are stored in a storage medium and include several instructions to enable An electronic device (which may be a mobile phone, a tablet computer, a desktop computer, a server, a TV, an audio player, etc.) executes all or part of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: removable storage devices, ROMs, magnetic disks or optical discs and other media that can store program codes.
  • the mode information of the mirrored intra-frame block copy mode is obtained; according to the mode information, it is determined whether to perform mirror transformation on the reference block; when the result of the determination is that the reference block is subjected to mirror transformation During mirror transformation, the reference block is mirrored to obtain the prediction block of the current block; in this way, the current block is predicted by the mirror flip method to achieve better prediction results, reduce prediction errors, and improve video coding efficiency.

Landscapes

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

Abstract

本申请实施例公开了当前块的预测方法及装置、设备、存储介质,其中,所述方法包括:确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块。

Description

当前块的预测方法及装置、设备、存储介质 技术领域
本申请实施例涉及电子技术,涉及但不限于当前块的预测方法及装置、设备、存储介质。
背景技术
帧内块复制(Intra Block Copy,IBC)模式虽然能利用重复区域多的特性,但仍然是基于平移运动模型进行帧内预测。在平移模型IBC模式中,一个编码块中所有的像素共享同一个块向量(Block Vector,BV),参考块和编码块完全一致。
然而,在编码的过程中,存在镜像翻转这一复杂运动情况,基于平移运动模型的IBC模式不能很好地利用这一特性进行编码。
发明内容
本申请实施例提供当前块的预测方法及装置、设备、存储介质。本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种当前块的预测方法,用于视频图像编码器,包括:确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块。
第二方面,本申请实施例提供一种当前块的预测方法,用于视频图像解码器,包括:解析码流,获得镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换,构造当前块的预测块。
第三方面,本申请实施例提供一种当前块的预测装置,包括:第一确定模块,配置为:确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;第一判断模块,配置为:根据模式信息,判断是否对参考块进行镜像变换;第一预测模块,配置为:当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块。
第四方面,本申请实施例提供一种当前块的预测装置,包括:解析模块,配置为:解析码流,获得镜像帧内块复制模式的模式信息;第二判断模块,配置为:根据模式信息,判断是否对参考块进行镜像变换;第二预测模块,配置为:当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换,构造当前块的预测块。
第五方面,本申请实施例提供一种电子设备,包括存储器和处理器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时实现第一方面中当前块的预测方法中的步骤,或者执行程序时实现第二方面中当前块的预测方法中的步骤。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面中当前块的预测方法中的步骤,或者执行程序时实现第二方面中当前块的预测方法中的步骤。
本申请实施例中,确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块;如此,采用镜像翻转的方式对当前块进行预测,实现更好的预测结果,降低预测误差,提升视频编码的效率。
附图说明
图1为相关技术中编码单元和参考单元的映射关系示意图;
图2为相关技术中参考块和编码块内部的像素示意图;
图3为相关技术中IBC不能很好工作的示意图;
图4为本申请实施例网络架构的组成结构示意图;
图5为本申请实施例提供的一种当前块的预测方法的实现流程示意图;
图6为本申请实施例提供的另一种当前块的预测方法的实现流程示意图;
图7为本申请实施例提供的水平镜像翻转的示意图;
图8为本申请实施例提供的竖直镜像翻转的示意图;
图9为本申请实施例提供的IBC-Mirror Mode发挥作用的示意图;
图10为本申请另一实施例提供的一种当前块的预测方法的实现流程示意图;
图11为本申请另一实施例提供的另一种当前块的预测方法的实现流程示意图;
图12为本申请实施例提供的IBC-Mirror Mode的推断流程示意图;
图13为本申请实施例提供的一种当前块的预测装置的组成结构示意图;
图14为本申请另一实施例提供的一种当前块的预测装置的组成结构示意图;
图15为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)屏幕内容编码,(Screen Content Coding,SCC)。
2)帧内块复制(Intra Block Copy,IBC)。
3)率失真代价Rdcost:Rate-distortion Cost。
4)绝对误差和(Sum of Absolute Differences,SAD)。
5)块向量(Block Vector,BV)。
6)镜像帧内块复制模式(IBC-Mirror Mode)。
7)编码树单元(Coding Tree Unit,CTU)。
8)编码单元(Coding Unit,CU)。
9)预测单元(Prediction Unit,PU)。
相关技术中,IBC模式在针对屏幕内容序列进行编码时打开,利用BV建立当前编码单元到参考单元之间的参考关系,从而对当前编码单元的像素进行预测。在IBC模式下,参考块必须处于当前帧的已编码区域,且必须位于当前编码块所在或左边相邻的CTU。参考关系如图1所示。其中,Cur_blk用于表示当前编码块,Ref_blk用于表示参考编码块。Cur_pic用于表示当前图像。
IBC模式基于平移运动模型进行运动估计,也就是说,编码块中的所有像素共用相同的BV。由于是平动模型,所以编码块和参考块完全相同,即编码块和参考块宽、高以及对应位置的每个像素值都相同,如图2(a)和图2(b)所示。
其中,2(a)对应于参考块,图2(b)对应于编码块,该实施例中,参考块与编码块两者的大小均为4*4,而且,两者内部对应位置的像素相同。
IBC模式虽然能利用重复区域多的特性,但仍然是基于平移运动模型进行帧内预测。在平移模型IBC模式中,一个编码块中所有的像素共享同一个BV,参考块和编码块完全一致。但是,在屏幕内容编码序列中,存在镜像翻转这一复杂运动情况,基于平移运动模型的IBC模式不能很好地利用这一特性进行编码。此外,为了满足图像质量,基于平移运动的IBC模式下,编码器会倾向于将一个物体划分为很小的单元,利用小单元的平移运动近似模拟镜像运动。这种划分和预测方法会带来很多冗余信息如划分信息,影响压缩性能。
比如,屏幕内容序列常见的26个字母中,很大部分拥有镜像或类似镜像的特点,如A、B、C、D、E、H、I、K、M、O、T、U、V、W、X、Y等。如图3所示,若用传统的IBC模式来编码字符“A”,必须参考之前已经编码的字符“A”,若二者相距较远,超出BV的搜索范围,则该已编码块不能作为参考块,IBC模式便不能很好地工作,影响压缩效率。
本实施例先提供一种网络架构,图4为本申请实施例网络架构的结构示意图,如图4所示,该网络架构包括一个或多个电子设备11至1K和通信网络01,其中电子设备11至1K可以通过通信网络01进行视频交互。电子设备在实施的过程中可以为各种类型的具有视频编解码功能的设备,例如,电子设备可以包括手机、平板电脑、个人计算机、电视机、服务器等。电子设备具有视频编解码功能,包括视频图像编码器和/或视频图像解码器。
本申请实施例提供一种当前块的预测方法,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
基于前述内容,本申请的实施例提供一种当前块的预测方法,应用于视频图像编码器,参照图5所示,该方法包括以下步骤:
步骤201、确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息。
本申请实施例中,视频图像编码器可以根据融合标记Merge Flag确定处于帧内块复制的非Merge模式还是处于帧内块复制的Merge模式。当视频图像编码器确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息。
步骤202、根据模式信息,判断是否对参考块进行镜像变换。
本申请实施例中,参考块位于当前块所在的当前图像中;或者,参考块位于当前图像编码之前已经编码的图像中。
这里,对参考块进行镜像变换包括对参考块进行水平镜变换或者对参考块进行竖直镜变换。
本申请实施例中,视频图像编码器可以根据模式信息,判断是否对参考块进行镜像变换,以及对参考块进行何种镜像变换如水平镜变换或者竖直镜变换。
步骤203、当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块。
本申请实施例中,视频图像编码器根据模式信息,得到对参考块进行镜像变换的判断结果后,对参考块进行镜像变换得到当前块的预测块。
示例性的,视频图像编码器根据模式信息,得到对参考块进行水平镜像变换的判断结果后,对参考块进行水平镜像变换得到当前块的预测块。
又一示例性的,视频图像编码器根据模式信息,得到对参考块进行竖直镜像变换的判断结果后,对参考块进行竖直镜像变换得到当前块的预测块。
也就是说,针对屏幕内容编码,本申请实施例中提出了一种IBC-Mirror Mode,IBC-Mirror Mode在相关技术中IBC Intra Block Copy模式的平移模型的基础上,新增“水平镜像翻转”和“竖直镜像翻转”的功能,从而达到更好的预测效果,降低预测误差,提升视频编码的效率。
本申请实施例所提供的当前块的预测方法,确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块;如此,采用镜像翻转的方式对当前块进行预测,实现更好的预测结果,降低预测误差,提升视频编码的效率。
基于前述内容,本申请的实施例提供一种当前块的预测方法,应用于视频图像编码器,参照图6所示,该方法包括以下步骤:
步骤301、确定处于非融合模式时,获取有效块向量。
其中,有效块向量表征当前块所参考的参考块处于有效的已编码参考区域。
本申请实施例中,视频图像编码器确定处于非Merge模式时,获取有效BV。在视频图像编码器即编码端,只有在IBC的非merge模式下才会进行IBC-Mirror Mode的判断。进入IBC的非merge模式后,按照原先流程先进行IBC的基于全局Hash-based Search,如果Hash-based Search没有搜索到有效BV,即BV=(0,0),则进入下一步的IBC mode的BV搜索流程以及提出的IBC-Mirror Mode的判断流程;否则,跳过后续的IBC mode的BV搜索流程以及提出的IBC-Mirror Mode的判断流程。
示例性的,在IBC mode每次为当前编码块(大小为W*H)搜索到一个有效BV=(x,y),即此时的BV不等于(0,0),说明当前块所参考的参考块处于有效的已编码参考区域。
步骤302、根据有效块向量,获取模式信息。
这里,模式信息可以称为IBC-Mirror Mode。
本申请实施例中,步骤302根据有效块向量,获取模式信息可以通过如下步骤实现:
步骤302a、根据有效块向量,获取参考块的第一像素值。
本申请实施例中,视频图像编码器根据有效BV,获取到参考块的第一像素值,即参考块的内部的像素信息;这里,用PredBuf表示参考块的第一像素值,PredBuf可以理解为一个W*H的矩阵,存储参考块对应位置的像素值。
步骤302b、获取预测的当前块的第一像素值。
本申请实施例中,假设当前编码块的像素值为OrgBuf,并用OrgBuf表示当前块的 第一像素值,OrgBuf可以理解为一个W*H的矩阵,存储当前编码块对应位置的像素值。
步骤302c、确定当前块的第一像素值和参考块的第一像素值之间的第一绝对误差值。
本申请实施例中,视频图像编码器在获取到OrgBuf和PredBuf的情况下,计算OrgBuf和PredBuf的绝对误差值;示例性的,可以采用SAD计算OrgBuf和PredBuf的绝对误差值;当前,还可以采用其他算法计算OrgBuf和PredBuf的绝对误差值,如采用误差平方和算法(Sum of Squared Difference,SSD)计算OrgBuf和PredBuf的绝对误差值。这里,第一绝对误差值用SAD_org表示。
步骤302d、根据第一绝对误差值,确定模式信息。
本申请实施例中,步骤302d根据第一绝对误差值,确定模式信息可以通过如下步骤实现:
Step1、根据有效块向量,获取参考块的位置。
这里,视频图像编码器根据有效BV,获取参考块的位置。
Step2、根据位置,按照水平镜像翻转参考块。
Step3、获取水平镜像翻转后的参考块的第二像素值。
这里,视频图像编码器根据上述位置,按照水平镜像翻转参考块PredBuf,获取水平镜像翻转后的参考块的第二像素值,这里,用PredBuf_hor表示参考块的第二像素值。
Step4、根据位置,按照竖直镜像翻转参考块。
Step5、获取竖直镜像翻转后的参考块的第三像素值。
这里,视频图像编码器根据上述位置,按照竖直镜像翻转参考块PredBuf,获取水平镜像翻转后的参考块的第三像素值,这里,用PredBuf_ver表示参考块的第三像素值。
Step6、确定当前块的第一像素值和第二像素值之间的第二绝对误差值。
这里,视频图像编码器计算OrgBuf和PredBuf_hor之间的第二绝对误差值如绝对误差,记作SAD_hor。
Step7、确定当前块的第一像素值和第三像素值之间的第三绝对误差值。
这里,视频图像编码器计算OrgBuf和PredBuf_ver之间的第三绝对误差值如绝对误差,记作SAD_ver。
Step8、根据第一绝对误差值、第二绝对误差值以及第三绝对误差值,确定模式信息。
这里,视频图像编码器在获得SAD_org、SAD_hor以及SAD_ver的情况下,视频图像编码器根据SAD_org、SAD_hor以及SAD_ver确定模式信息。
本申请实施例中,在步骤302根据有效块向量,获取模式信息之后,可以选择执行步骤303和步骤304,或者执行步骤303和步骤305,或者执行步骤306;
步骤303、当第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值不是第一绝对误差值时,判断是否对参考块进行镜像变换,得到对参考块进行镜像变换的判断结果。
这里,视频图像编码器根据SAD_org、SAD_hor以及SAD_ver确定第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值不是第一绝对误差值时,判断是否对参考块进行镜像变换,得到对参考块进行镜像变换的判断结果。
步骤304、当第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值是第二绝对误差值时,判断结果为对参考块进行水平镜像变换,根据位置和参考块的第一像素值,对参考块进行水平镜像变换得到预测块。
进一步地,视频图像编码器根据SAD_org、SAD_hor以及SAD_ver确定第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值是SAD_hor时,判断结果为对参考块进行水平镜像变换,根据位置和参考块的第一像素值,对参考块进行水平镜像 变换得到预测块。这里,确定是水平镜像翻转时,编码块和参考块对应关系如图7(a)和图7(b)所示。
本申请其他实施例中,还可以执行如下步骤:根据位置和参考块的第一像素值,对参考块进行水平镜像变换得到的参数进行编码,并写入码流。
步骤305、当第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值是第三绝对误差值时,判断结果为对参考块进行竖直镜像变换,根据位置和参考块的第一像素值,对参考块进行竖直镜像变换得到预测块。
这里,视频图像编码器根据SAD_org、SAD_hor以及SAD_ver确定第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值是SAD_ver时,判断结果为对参考块进行竖直镜像变换,根据位置和参考块的第一像素值,对参考块进行竖直镜像变换得到预测块。这里,确定是竖直镜像翻转时,编码块和参考块对应关系如图8(a)和图8(b)所示。
步骤306、当第一绝对误差值小于第二绝对误差值,且第一绝对误差值小于第三绝对误差值时,判断是否对参考块进行镜像变换,得到不对参考块进行镜像变换的判断结果。
这里,视频图像编码器根据SAD_org、SAD_hor以及SAD_ver确定最小值是SAD_org时,判断是否对参考块进行镜像变换,得到不对参考块进行镜像变换的判断结果。
本申请其他实施例中,视频图像编码器还可以根据第一绝对误差值、第二绝对误差值以及第三绝对误差值三者的大小关系,生成镜像模式标识和镜像类型标识,镜像模式标识和镜像类型标识统称为模式信息。
本申请其他实施例中,还可以执行如下步骤:根据位置和参考块的第一像素值,对参考块进行竖直镜像变换得到的参数进行编码,并写入码流。
如图9(1)至图9(4)所示,镜像翻转可以很好地解决在编码的过程中,存在镜像翻转这一复杂运动情况,基于平移运动模型的IBC模式不能很好地利用这一特性进行编码的问题,提高编码效率。其中,9(1)是一个内容为字符“A”的编码块,具有水平镜像的特点。如果该编码块处于视频序列的左上角(此时无法参考其他编码块)即之前没有编过A,或者和其他内容为字符“A”的已编码块相距超过参考范围,IBC模式不能很好地发挥作用。然而,加入IBC-Mirror Mode后,在编码该编码块的右半部分(b)时,可以把9(2)对应的左半边(a)先做水平镜像翻转得到9(3)对应的图像,再将9(3)对应的图像作为(b)的参考块,得到9(4),这样做可以明显提高预测的精度。
基于前述实施例,以采用SAD的方式计算绝对误差为例,对本申请实施例所提供的当前块的预测方法应用于编码端(编码端对应于视频图像编码器)的过程作出进一步的说明;
基于前述内容可知,本申请实施例提出一种IBC-Mirror Mode,该模式在相关技术中的IBC Intra Block Copy模式的平移模型的框架内,新增“水平镜像翻转”和“竖直镜像翻转”的功能。
本申请实施例中,增加两个CU级的flag来标记(signal)该模式,在IBC的非Merge模式下才会传输两个flag,否则默认都为false。其中,一个flag为mirrorFlag,true表示该CU使用镜像模式,false表示不使用;另外一个flag为mirrorType,只有在mirrorFlag为true时才会传输,否则默认为false,true表示使用水平镜像翻转,false表示使用竖直镜像翻转,可以理解的,true和false的意义可以互换,只要编解码端的意义统一即可。
在编码端,只有在IBC的非merge模式下才会进行IBC-Mirror Mode的判断。进入IBC的非merge模式后,按照原先流程先进行IBC的基于全局哈希表的搜索(Hash-based  Search),如果Hash-based Search没有搜索到有效BV,即BV=(0,0),则进入下一步的IBC mode的BV搜索流程以及提出的IBC-Mirror Mode的判断流程;否则,跳过后续的IBC mode的BV搜索流程以及提出的IBC-Mirror Mode的判断流程。
本申请实施例中提出的IBC-Mirror Mode的判断流程是指如下流程:
在IBC mode每次为当前编码块(大小为W*H)搜索到一个有效BV=(x,y)之后,先根据BV=(x,y)获取到参考块的位置以及内部的像素信息。假设当前编码块的像素值为OrgBuf(一个W*H的矩阵,存储当前编码块对应位置的像素值),参考块的像素值为PredBuf(一个W*H的矩阵,存储参考块对应位置的像素值)。
这里,首先,计算OrgBuf和PredBuf之间的SAD,记作SAD_org。
其次,按照图7(a)和图7(b)的方式水平镜像翻转PredBuf,存储在PredBuf_hor中。计算OrgBuf和PredBuf_hor之间的SAD,记作SAD_hor。
接着,按照图8(a)和图8(b)的方式竖直镜像翻转PredBuf,存储在PredBuf_ver中。计算OrgBuf和PredBuf_ver之间的SAD,记作SAD_ver。
再次,选取SAD_org,SAD_hor,SAD_ver的最小值。
最后,如果最小值是SAD_org,则令mirrorFlag和mirrorType都为false,此时确定不对参考块进行镜像变换;如果最小值是SAD_hor,则令mirrorFlag为true,mirrorType为true,此时,确定对参考块进行水平镜像变换;如果最小值是SAD_ver,则令mirrorFlag为true,mirrorType为false,此时,确定对参考块进行竖直镜像变换。
本申请其他实施例中,计算绝对误差值的方法可以采用除了SAD以外的方法,本申请实施例对此不作具体限定。
本申请其他实施例中,基于前述内容可知,当前对所有大小的块都可以进行IBC-Mirror Mode的判断流程。但是这个大小可以有所限制,也可以根据需要修改。例如,也可以设置只有大小大于等于16*16的块才进行该判断,其他不满足大小限制的CU的mirrorFlag和mirrorType都默认为false,不需要传输。
本申请其他实施例中,基于前述内容可知,当前是对IBC mode下搜索到的每一个有效BV=(x,y)都进行IBC-Mirror Mode的判断流程,本实施例中,可以根据视频的内容特性设计快速算法或者跳过算法,节省编码时间。
进一步地,在IBC mode的BV搜索流程结束时,会得出最小Rdcost对应的BV即最优BV,以及mirrorFlag和mirrorType。然后,按照精度的要求把BV存储到PU中,把mirrorFlag和mirrorType存储到CU.mirrorFlag和CU.mirrorType中。
然后,按照视频编码的流程进行运动补偿。在运动补偿时,根据上述步骤获得的最优BV=(x,y)获取到参考块的位置以及内部的像素信息。然后再结合CU.mirrorFlag和CU.mirrorType这两个flag,决定是否对这个参考块进行变换。CU.mirrorFlag和CU.mirrorType都为false,不变换;CU.mirrorFlag和CU.mirrorType都为true,参考块水平镜像翻转;CU.mirrorFlag为true且CU.mirrorType为false,参考块竖直镜像翻转。之后的流程和原先编码流程保持一致,此处不再赘述。
需要说明的是,Mirror模式不仅可以用在屏幕内容编码中(即嵌入在IBC mode中),也可以运用在正常序列的帧间编码流程中。类似地,在帧间编码为当前编码块搜索到每一个有效MV=(x,y)后,都可以进行类似的IBC-Mirror Mode的判断流程,即根据MV获取到参考块的位置以及内部的像素信息。计算SAD_org。然后,再水平镜像翻转计算SAD_hor,竖直镜像翻转计算SAD_ver。选取SAD_org,SAD_hor,SAD_ver的最小值,并对应地给mirrorFlag和mirrorType进行赋值。后续的运动补偿过程也是相似的,即根据这两个CU级别的flag进行参考块对应的镜像翻转即可。
基于前述内容,本申请的实施例提供一种当前块的预测方法,应用于视频图像解码 器,参照图10所示,该方法包括以下步骤:
步骤401、解析码流,获得镜像帧内块复制模式的模式信息。
本申请实施例中,视频图像解码器即解码端解析码流,获得镜像帧内块复制模式的模式信息。这里,模式信息包括CU.mirrorFlag、CU.mirrorType这两个Flag。
步骤402、根据模式信息,判断是否对参考块进行镜像变换。
本申请实施例中,视频图像解码器获得CU.mirrorFlag、CU.mirrorType的情况下,根据CU.mirrorFlag、CU.mirrorType判断是否对参考块进行镜像变换,以及确定对参考块进行镜像变换时执行何种镜像变换。
本申请实施例中,参考块位于当前块所在的当前图像中;或者,参考块位于当前图像解码之前已经解码的图像中。
步骤403、当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换,构造当前块的预测块。
本申请实施例中,视频图像解码器根据CU.mirrorFlag、CU.mirrorType,得到对参考块进行镜像变换的判断结果时,对参考块进行镜像变换,构造当前块的预测块。
本申请实施例所提供的当前块的预测方法,解析码流,获得镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换,构造当前块的预测块;如此,快速解码得到当前块的预测块,提升解码效率和解码准确率。
基于前述内容,本申请的实施例提供一种当前块的预测方法,应用于视频图像解码器,参照图11所示,该方法包括以下步骤:
步骤501、解析码流,获得镜像帧内块复制模式的模式信息和当前块的有效块向量。
本申请实施例中,视频图像解码器解析码流,获得镜像帧内块复制模式的模式信息和当前块的有效BV。
步骤502、获取模式信息包括的镜像模式标识和镜像类型标识。
这里,用CU.mirrorFlag表示镜像模式标识、用CU.mirrorType表示镜像类型标识。
其中,镜像模式标识和镜像类型标识是视频图像编码器基于第一绝对误差值、第二绝对误差值以及第三绝对误差值三者的大小关系得到的。
其中,第一绝对误差值是视频图像编码器确定的当前块的第一像素值和参考块的第一像素值之间的绝对误差值,第二绝对误差值是视频图像编码器确定的当前块的第一像素值和参考块的第二像素值之间的绝对误差值,第三绝对误差值是视频图像编码器确定的当前块的第一像素值和参考块的第三像素值之间的绝对误差值。
步骤503、根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换。
本申请实施例中,步骤503根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换可以通过如下步骤实现:
步骤503a、当镜像模式标识为第二标识且镜像类型标识为第二标识时,确定对参考块进行水平镜像变换,得到判断结果。
本申请实施例中,视频图像解码器确定CU.mirrorFlag和CU.mirrorType都为true,确定对参考块进行水平镜像变换,得到判断结果。进一步地,在镜像变换的时,对应执行步骤505a。
步骤503b、当镜像模式标识为第二标识且镜像类型标识为第一标识时,确定对参考块进行竖直镜像变换,得到判断结果。
本申请实施例中,视频图像解码器确定CU.mirrorFlag为true,CU.mirrorType为false,确定对参考块进行竖直镜像变换,得到判断结果。进一步地,在镜像变换的时,对应执行步骤505b。
步骤504、当判断结果为对参考块进行镜像变换时,根据有效块向量获取参考块的位置和参考块的第一像素值。
本申请实施例中,视频图像解码器在解码得到有效BV后,进行运动补偿,在运动补偿时,根据有效BV获取参考块的位置和参考块的第一像素值。
步骤505、根据位置和参考块的第一像素值,对参考块进行镜像变换,构造当前块的预测块。
本申请实施例中,步骤505根据位置和参考块的第一像素值,对参考块进行镜像变换,构造当前块的预测块,可以通过如下步骤实现:
步骤505a、根据位置和参考块的第一像素值,对参考块进行水平镜像变换,构造当前块的当前块的预测块。
步骤505b、根据位置和参考块的第一像素值,对参考块进行竖直镜像变换,构造当前块的当前块的预测块。
步骤506、当镜像模式标识为第一标识且镜像类型标识为第一标识时,确定不对参考块进行镜像变换。
本申请实施例中,视频图像解码器确定CU.mirrorFlag和CU.mirrorType都为false,确定不对参考块进行镜像变换。
基于前述实施例,对本申请实施例所提供的当前块的预测方法应用于解码端(解码段对应于视频图像解码器)的过程作出进一步的说明;
解码端解码出当前编码块的BV以及CU.mirrorFlag、CU.mirrorType这两个flag。然后进行运动补偿。在运动补偿时,根据BV=(x,y)获取到参考块的位置以及内部的像素信息。然后再结合CU.mirrorFlag和CU.mirrorType这两个flag,决定是否对这个参考块进行变换。CU.mirrorFlag和CU.mirrorType都为false,不变换;CU.mirrorFlag和CU.mirrorType都为true,参考块水平镜像翻转;CU.mirrorFlag为true,CU.mirrorType为false,参考块竖直镜像翻转。
本申请其他实施例中,对IBC-Mirror Mode的推断过程作出进一步的说明,参照图12所示,
如上文所述,设置两个CU级的flag(CU.mirrorFlag和CU.mirrorType)来标记(signal)IBC-Mirror Mode,在IBC的非Merge模式下(cu.predMode==MODE_IBC,且pu.mergeFlag==false)才会传输两个flag,否则默认都为false。其中,一个flag为CU.mirrorFlag,true表示该CU使用镜像模式,false表示不使用;另外一个flag为mirrorType,只有在mirrorFlag为true时才会传输,否则默认为false,true表示使用水平镜像翻转,false表示使用竖直镜像翻转;可以理解地,true和false的意义可以互换,只要编解码端的意义统一即可。
本申请实施例能够获得以下有益效果:
1)针对屏幕内容编码,IBC-Mirror Mode在相关技术中IBC Intra Block Copy模式的平移模型的基础上,新增“水平镜像翻转”和“竖直镜像翻转”的功能,从而达到更好的预测效果,降低预测误差,提升视频编码的效率。
2)本申请实施例所提供的当前块的预测方法可以用于文档线上分享、游戏直播、远程桌面、在线游戏等屏幕内容编码常见的场景,有着较好的应用前景。
基于前述的实施例,本申请实施例提供一种当前块的预测装置,该装置所包括的各模块,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图13为本申请实施例当前块的预测装置的组成结构示意图,如图13所示,所述当 前块的预测装置700(当前块的预测装置700与前述的视频图像编码器对应)包括第一确定模块701、第一判断模块702和第一预测模块703,其中:
第一确定模块701,配置为:确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息。
第一判断模块702,配置为:根据模式信息,判断是否对参考块进行镜像变换。
第一预测模块703,配置为:当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块。
在其他实施例中,第一确定模块701,配置为:确定处于非融合模式时,获取有效块向量;其中,有效块向量表征当前块所参考的参考块处于有效的已编码参考区域;根据有效块向量,获取模式信息。
在其他实施例中,第一确定模块701,配置为:根据有效块向量,获取参考块的第一像素值;获取预测的当前块的第一像素值;确定当前块的第一像素值和参考块的第一像素值之间的第一绝对误差值;根据第一绝对误差值,确定模式信息。
在其他实施例中,第一确定模块701,配置为:根据有效块向量,获取参考块的位置;根据位置,按照水平镜像翻转参考块;获取水平镜像翻转后的参考块的第二像素值;根据位置,按照竖直镜像翻转参考块;获取竖直镜像翻转后的参考块的第三像素值;确定当前块的第一像素值和第二像素值之间的第二绝对误差值;确定当前块的第一像素值和第三像素值之间的第三绝对误差值;根据第一绝对误差值、第二绝对误差值以及第三绝对误差值,确定模式信息。
在其他实施例中,第一判断模块702,配置为:当第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值不是第一绝对误差值时,判断是否对参考块进行镜像变换,得到对参考块进行镜像变换的判断结果。
在其他实施例中,第一判断模块702,配置为:当第一绝对误差值小于第二绝对误差值,且第一绝对误差值小于第三绝对误差值时,判断是否对参考块进行镜像变换,得到不对参考块进行镜像变换的判断结果。
在其他实施例中,第一预测模块703,配置为:当第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值是第二绝对误差值时,判断结果为对参考块进行水平镜像变换,根据位置和参考块的第一像素值,对参考块进行水平镜像变换得到预测块。
在其他实施例中,第一预测模块703,配置为:当第一绝对误差值、第二绝对误差值以及第三绝对误差值中的最小值是第三绝对误差值时,判断结果为对参考块进行竖直镜像变换,根据位置和参考块的第一像素值,对参考块进行竖直镜像变换得到预测块。
在其他实施例中,所述当前块的预测装置700还包括第一处理模块,配置为:根据位置和参考块的第一像素值,对参考块进行水平镜像变换得到的参数进行编码,并写入码流。
在其他实施例中,第一处理模块,配置为:根据位置和参考块的第一像素值,对参考块进行竖直镜像变换得到的参数进行编码,并写入码流。
在其他实施例中,参考块位于当前块所在的当前图像中;或者,参考块位于当前图像编码之前已经编码的图像中。
图14为本申请实施例当前块的预测装置的组成结构示意图,如图14所示,所述当前块的预测装置800(当前块的预测装置800与前述的视频图像解码器对应)包括解析模块801、第二判断模块802和第二预测模块803,其中:
解析模块801,配置为:解析码流,获得镜像帧内块复制模式的模式信息。
第二判断模块802,配置为:根据模式信息,判断是否对参考块进行镜像变换。
第二预测模块803,配置为:当判断结果为对参考块进行镜像变换时,对参考块进 行镜像变换,构造当前块的预测块。
在其他实施例中,第二判断模块802,配置为:获取模式信息包括的镜像模式标识和镜像类型标识;其中,镜像模式标识和镜像类型标识是视频图像编码器基于第一绝对误差值、第二绝对误差值以及第三绝对误差值三者的大小关系得到的;
其中,第一绝对误差值是视频图像编码器确定的当前块的第一像素值和参考块的第一像素值之间的绝对误差值,第二绝对误差值是视频图像编码器确定的当前块的第一像素值和参考块的第二像素值之间的绝对误差值,第三绝对误差值是视频图像编码器确定的当前块的第一像素值和参考块的第三像素值之间的绝对误差值;
根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换。
在其他实施例中,解析模块801,配置为:在解析码流时,还获得当前块的有效块向量。
在其他实施例中,第二预测模块803,配置为:当判断结果为对参考块进行镜像变换时,根据有效块向量获取参考块的位置和参考块的第一像素值;
根据位置和参考块的第一像素值,对参考块进行镜像变换,构造当前块的预测块。
在其他实施例中,第二判断模块802,配置为:当镜像模式标识为第二标识且镜像类型标识为第二标识时,确定对参考块进行水平镜像变换,得到判断结果。
在其他实施例中,第二预测模块803,配置为:根据位置和参考块的第一像素值,对参考块进行水平镜像变换,构造当前块的当前块的预测块。
在其他实施例中,第二判断模块802,配置为:当镜像模式标识为第二标识且镜像类型标识为第一标识时,确定对参考块进行竖直镜像变换,得到判断结果。
在其他实施例中,第二预测模块803,配置为:根据位置和参考块的第一像素值,对参考块进行竖直镜像变换,构造当前块的当前块的预测块。
在其他实施例中,第二判断模块802,配置为:当镜像模式标识为第一标识且镜像类型标识为第一标识时,确定不对参考块进行镜像变换。
在其他实施例中,参考块位于当前块所在的当前图像中;或者,参考块位于当前图像解码之前已经解码的图像中。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的当前块的预测方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、台式机、服务器、电视机、音频播放器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图15为本申请实施例的一种电子设备的硬件实体示意图,如图15所示,所述电子设备900包括存储器901和处理器902,所述存储器901存储有可在处理器902上运行的计算机程序,所述处理器902执行所述程序时实现上述实施例中提供的当前块的预测方法中的步骤。
需要说明的是,存储器901配置为存储由处理器902可执行的指令和应用,还可以缓存待处理器902以及电子设备900中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问 存储器(Random Access Memory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的当前块的预测方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是手机、平板电脑、台式机、服务器、电视机、音频播放器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组 合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;根据模式信息,判断是否对参考块进行镜像变换;当判断结果为对参考块进行镜像变换时,对参考块进行镜像变换得到当前块的预测块;如此,采用镜像翻转的方式对当前块进行预测,实现更好的预测结果,降低预测误差,提升视频编码的效率。

Claims (22)

  1. 一种当前块的预测方法,用于视频图像编码器,包括:
    确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;
    根据所述模式信息,判断是否对参考块进行镜像变换;
    当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换得到当前块的预测块。
  2. 根据权利要求1所述方法,所述确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息,包括:
    确定处于所述非融合模式时,获取有效块向量;其中,所述有效块向量表征当前块所参考的所述参考块处于有效的已编码参考区域;
    根据所述有效块向量,获取所述模式信息。
  3. 根据权利要求2所述方法,所述根据所述有效块向量,获取所述模式信息,包括:
    根据所述有效块向量,获取所述参考块的第一像素值;
    获取预测的所述当前块的第一像素值;
    确定所述当前块的第一像素值和所述参考块的第一像素值之间的第一绝对误差值;
    根据所述第一绝对误差值,确定所述模式信息。
  4. 根据权利要求3所述方法,所述根据所述第一绝对误差值,确定所述模式信息,包括:
    根据所述有效块向量,获取所述参考块的位置;
    根据所述位置,按照水平镜像翻转所述参考块;
    获取水平镜像翻转后的所述参考块的第二像素值;
    根据所述位置,按照竖直镜像翻转所述参考块;
    获取竖直镜像翻转后的所述参考块的第三像素值;
    确定所述当前块的第一像素值和所述第二像素值之间的第二绝对误差值;
    确定所述当前块的第一像素值和所述第三像素值之间的第三绝对误差值;
    根据所述第一绝对误差值、所述第二绝对误差值以及所述第三绝对误差值,确定所述模式信息。
  5. 根据权利要求4所述方法,所述根据所述模式信息,判断是否对参考块进行镜像变换,包括:
    当所述第一绝对误差值、所述第二绝对误差值以及所述第三绝对误差值中的最小值不是所述第一绝对误差值时,判断是否对参考块进行镜像变换,得到对所述参考块进行镜像变换的判断结果。
  6. 根据权利要求4所述方法,所述根据所述模式信息,判断是否对参考块进行镜像变换,包括:
    当所述第一绝对误差值小于所述第二绝对误差值,且所述第一绝对误差值小于所述第三绝对误差值时,判断是否对参考块进行镜像变换,得到不对所述参考块进行镜像变换的判断结果。
  7. 根据权利要求5所述方法,所述当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换得到当前块的预测块,包括:
    当所述第一绝对误差值、所述第二绝对误差值以及所述第三绝对误差值中的最小值是所述第二绝对误差值时,所述判断结果为对所述参考块进行水平镜像变换,根据所述 位置和所述参考块的第一像素值,对所述参考块进行水平镜像变换得到所述预测块。
  8. 根据权利要求5所述方法,所述当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换得到当前块的预测块,包括:
    当所述第一绝对误差值、所述第二绝对误差值以及所述第三绝对误差值中的最小值是所述第三绝对误差值时,所述判断结果为对所述参考块进行竖直镜像变换,根据所述位置和所述参考块的第一像素值,对所述参考块进行竖直镜像变换得到所述预测块。
  9. 根据权利要求7所述的方法,还包括:
    根据所述位置和所述参考块的第一像素值,对所述参考块进行水平镜像变换得到的参数进行编码,并写入码流。
  10. 根据权利要求8所述的方法,还包括:
    根据所述位置和所述参考块的第一像素值,对所述参考块进行竖直镜像变换得到的参数进行编码,并写入码流。
  11. 根据权利要求1至10任一项所述的方法,所述参考块位于所述当前块所在的当前图像中;或者,所述参考块位于当前图像编码之前已经编码的图像中。
  12. 一种当前块的预测方法,用于视频图像解码器,包括:
    解析码流,获得镜像帧内块复制模式的模式信息;
    根据所述模式信息,判断是否对参考块进行镜像变换;
    当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换,构造当前块的预测块。
  13. 根据权利要求12所述方法,所述根据所述模式信息,判断是否对参考块进行镜像变换,包括:
    获取所述模式信息包括的镜像模式标识和镜像类型标识;其中,所述镜像模式标识和所述镜像类型标识是视频图像编码器基于第一绝对误差值、第二绝对误差值以及第三绝对误差值三者的大小关系得到的;
    其中,所述第一绝对误差值是所述视频图像编码器确定的所述当前块的第一像素值和所述参考块的第一像素值之间的绝对误差值,所述第二绝对误差值是所述视频图像编码器确定的所述当前块的第一像素值和所述参考块的第二像素值之间的绝对误差值,所述第三绝对误差值是所述视频图像编码器确定的所述当前块的第一像素值和所述参考块的第三像素值之间的绝对误差值;
    根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换。
  14. 根据权利要求13所述方法,所述方法在解析码流时,还获得所述当前块的有效块向量;
    相应的,所述当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换,构造当前块的预测块,包括:
    当判断结果为对所述参考块进行镜像变换时,根据所述有效块向量获取所述参考块的位置和所述参考块的第一像素值;
    根据所述位置和所述参考块的第一像素值,对所述参考块进行镜像变换,构造当前块的预测块。
  15. 根据权利要求14所述方法,所述根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换,包括:
    当所述镜像模式标识为第二标识且所述镜像类型标识为第二标识时,确定对所述参考块进行水平镜像变换,得到判断结果;
    相应的,所述根据所述位置和所述参考块的第一像素值,对所述参考块进行镜像变换,构造当前块的预测块,包括:
    根据所述位置和所述参考块的第一像素值,对所述参考块进行水平镜像变换,构造当前块的当前块的预测块。
  16. 根据权利要求14所述方法,所述根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换,包括:
    当所述镜像模式标识为第二标识且所述镜像类型标识为第一标识时,确定对所述参考块进行竖直镜像变换,得到判断结果;
    相应的,所述根据所述位置和所述参考块的第一像素值,对所述参考块进行镜像变换,构造当前块的预测块,包括:
    根据所述位置和所述参考块的第一像素值,对所述参考块进行竖直镜像变换,构造当前块的当前块的预测块。
  17. 根据权利要求13所述方法,所述根据镜像模式标识和镜像类型标识,判断是否对参考块进行镜像变换,包括:
    当所述镜像模式标识为第一标识且所述镜像类型标识为第一标识时,确定不对所述参考块进行镜像变换。
  18. 根据权利要求12至17任一项所述的方法,所述参考块位于所述当前块所在的当前图像中;或者,所述参考块位于当前图像解码之前已经解码的图像中。
  19. 一种当前块的预测装置,包括:
    第一确定模块,配置为:确定处于帧内块复制的非融合模式时,获取镜像帧内块复制模式的模式信息;
    第一判断模块,配置为:根据所述模式信息,判断是否对参考块进行镜像变换;
    第一预测模块,配置为:当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换得到当前块的预测块。
  20. 一种当前块的预测装置,包括:
    解析模块,配置为:解析码流,获得镜像帧内块复制模式的模式信息;
    第二判断模块,配置为:根据所述模式信息,判断是否对参考块进行镜像变换;
    第二预测模块,配置为:当判断结果为对所述参考块进行镜像变换时,对所述参考块进行镜像变换,构造当前块的预测块。
  21. 一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至11任一项所述当前块的预测方法中的步骤,或者执行所述程序时实现权利要求12至18任一项所述当前块的预测方法中的步骤。
  22. 一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至11任一项所述当前块的预测方法中的步骤,或者执行所述程序时实现权利要求12至18任一项所述当前块的预测方法中的步骤。
PCT/CN2019/108684 2019-09-27 2019-09-27 当前块的预测方法及装置、设备、存储介质 WO2021056454A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201980100387.9A CN114402616A (zh) 2019-09-27 2019-09-27 当前块的预测方法及装置、设备、存储介质
KR1020227013874A KR20220066166A (ko) 2019-09-27 2019-09-27 현재 블록의 예측 방법 및 예측 장치, 디바이스, 저장 매체
PCT/CN2019/108684 WO2021056454A1 (zh) 2019-09-27 2019-09-27 当前块的预测方法及装置、设备、存储介质
JP2022518879A JP7448641B2 (ja) 2019-09-27 2019-09-27 現在のブロックの予測方法及び予測装置、デバイス、記憶媒体
US17/704,443 US12003764B2 (en) 2019-09-27 2022-03-25 Prediction method for current block and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/108684 WO2021056454A1 (zh) 2019-09-27 2019-09-27 当前块的预测方法及装置、设备、存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/704,443 Continuation US12003764B2 (en) 2019-09-27 2022-03-25 Prediction method for current block and electronic device

Publications (1)

Publication Number Publication Date
WO2021056454A1 true WO2021056454A1 (zh) 2021-04-01

Family

ID=75166351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/108684 WO2021056454A1 (zh) 2019-09-27 2019-09-27 当前块的预测方法及装置、设备、存储介质

Country Status (5)

Country Link
US (1) US12003764B2 (zh)
JP (1) JP7448641B2 (zh)
KR (1) KR20220066166A (zh)
CN (1) CN114402616A (zh)
WO (1) WO2021056454A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114788271A (zh) * 2020-01-03 2022-07-22 英特尔公司 具有多种块内拷贝模式的视频编码

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702954A (zh) * 2013-12-05 2015-06-10 华为技术有限公司 视频编码方法及装置
CN105917650A (zh) * 2014-01-03 2016-08-31 微软技术许可有限责任公司 视频和图像编码/解码中的块向量预测
CN107079161A (zh) * 2014-09-01 2017-08-18 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
US20170289566A1 (en) * 2014-09-26 2017-10-05 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
CN109996080A (zh) * 2017-12-31 2019-07-09 华为技术有限公司 图像的预测方法、装置及编解码器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172972B2 (en) 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
CN102915553B (zh) 2012-09-12 2016-02-10 珠海金山网络游戏科技有限公司 一种3d游戏视频拍摄系统及其方法
US10368092B2 (en) * 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
BR112016018814A8 (pt) 2014-03-04 2020-06-23 Microsoft Technology Licensing Llc dispositivo de computação, método em dispositivo de computação com decodificador de vídeo ou decodificador de imagem e meio legível por computador
WO2015139175A1 (en) 2014-03-17 2015-09-24 Mediatek Singapore Pte. Ltd. Improved block copying

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702954A (zh) * 2013-12-05 2015-06-10 华为技术有限公司 视频编码方法及装置
CN105917650A (zh) * 2014-01-03 2016-08-31 微软技术许可有限责任公司 视频和图像编码/解码中的块向量预测
CN107079161A (zh) * 2014-09-01 2017-08-18 寰发股份有限公司 用于屏幕内容以及视频编码的帧内图片块复制的方法
US20170289566A1 (en) * 2014-09-26 2017-10-05 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
CN109996080A (zh) * 2017-12-31 2019-07-09 华为技术有限公司 图像的预测方法、装置及编解码器

Also Published As

Publication number Publication date
KR20220066166A (ko) 2022-05-23
US20220217399A1 (en) 2022-07-07
JP7448641B2 (ja) 2024-03-12
US12003764B2 (en) 2024-06-04
JP2022553623A (ja) 2022-12-26
CN114402616A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US11343534B2 (en) Method and device for obtaining motion vector of video image
CN110290388B (zh) 帧内预测方法、视频编码方法、计算机设备及存储装置
US20170374379A1 (en) Picture prediction method and related apparatus
WO2017005146A1 (zh) 视频编码和解码方法、视频编码和解码装置
BR112021006152B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
JP2019505144A (ja) ビデオコーディングのためのフィルタのための幾何学的変換
WO2022104498A1 (zh) 帧内预测方法、编码器、解码器以及计算机存储介质
US10542277B2 (en) Video encoding
WO2021238546A1 (zh) 视频编码方法、视频播放方法、相关设备及介质
US11483561B2 (en) Transform method in picture block encoding, inverse transform method in picture block decoding, and apparatus
KR20130130695A (ko) 복수의 프로세서를 사용하여 비디오 프레임을 인코딩하는 방법 및 시스템
WO2022052533A1 (zh) 编码方法、解码方法、编码器、解码器以及编码系统
WO2020216294A1 (zh) 图像预测方法、装置和计算机可读存储介质
WO2018040869A1 (zh) 一种帧间预测编码方法及装置
WO2020042604A1 (zh) 视频编码器、视频解码器及相应方法
WO2022116574A1 (zh) 基于二次多项式的运动矢量预测方法、系统及计算机介质
WO2021056454A1 (zh) 当前块的预测方法及装置、设备、存储介质
KR20050117728A (ko) 움직임 예측 방법 및 그 장치
US20170013262A1 (en) Rate control encoding method and rate control encoding device using skip mode information
WO2021238396A1 (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
US20200413103A1 (en) Context modeling method and apparatus of split flag
US20230396780A1 (en) Illumination compensation method, encoder, and decoder
JP7437426B2 (ja) インター予測方法および装置、機器、記憶媒体
WO2022116119A1 (zh) 一种帧间预测方法、编码器、解码器及存储介质
TW202139707A (zh) 幀間預測方法、編碼器、解碼器以及儲存媒介

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19946275

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022518879

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20227013874

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 19946275

Country of ref document: EP

Kind code of ref document: A1