WO2020168509A1 - Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique - Google Patents

Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique Download PDF

Info

Publication number
WO2020168509A1
WO2020168509A1 PCT/CN2019/075685 CN2019075685W WO2020168509A1 WO 2020168509 A1 WO2020168509 A1 WO 2020168509A1 CN 2019075685 W CN2019075685 W CN 2019075685W WO 2020168509 A1 WO2020168509 A1 WO 2020168509A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
block
reference motion
unit
prediction
Prior art date
Application number
PCT/CN2019/075685
Other languages
English (en)
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/075685 priority Critical patent/WO2020168509A1/fr
Publication of WO2020168509A1 publication Critical patent/WO2020168509A1/fr

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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the embodiments of the present invention relate to the field of video image technology, and in particular to a video encoding method, video decoding method, device, and electronic equipment.
  • inter-frame prediction uses the time of video image Correlation, using adjacent coded image blocks in the reference image to predict the current image block, which can effectively remove video temporal redundancy.
  • the principle is to find the best image block for the current image block among the coded image blocks in the previous reference image.
  • Matching block reference block
  • MV motion vector
  • the video codec can use the reconstructed spatial and/or temporal motion vectors of neighboring blocks to generate a motion vector candidate list.
  • inter-frame prediction use the appropriate motion vector selected from the candidate list for the current image block. Make predictions.
  • the embodiments of the present invention provide a video encoding method, a video decoding method, a device, and an electronic device, which can improve the accuracy of motion vector correction, thereby effectively performing video encoding and decoding.
  • a video encoding device wherein the device includes:
  • An encoding unit configured to perform inter-frame prediction on a current block according to a reference motion vector to obtain a prediction block, and perform encoding according to the current block and the prediction block;
  • a reconstruction unit configured to obtain a reconstruction block of the current block according to the prediction block
  • a correction unit configured to correct the reference motion vector after the reconstruction unit obtains the reconstruction block
  • the coding unit uses the modified reference motion vector and the reconstructed block to perform inter-frame prediction on other blocks.
  • a video decoding device wherein the device includes:
  • a decoding unit which is used to decode the encoded data of the encoded current block; according to the decoding result and the reference motion vector, perform inter-frame prediction to obtain a prediction block;
  • a reconstruction unit configured to obtain a reconstruction block of the current block according to the prediction block
  • a correction unit configured to correct the reference motion vector after the reconstruction unit obtains the reconstruction block
  • the decoding unit uses the corrected reference motion vector and the reconstructed block to perform inter-frame prediction on other blocks.
  • an electronic device including: an encoder, which includes the video encoding device as described in the first aspect; and/or, a decoder, which includes as in the second aspect The video decoding device.
  • the beneficial effect of the embodiment of the present invention is that the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • FIG. 1 is a schematic diagram of a video encoding device according to Embodiment 1 of the present invention.
  • FIG. 2 is a schematic diagram of the structure of a correction unit in Embodiment 1 of the present invention.
  • Fig. 3 is an example diagram of a modified motion vector in embodiment 1 of the present invention.
  • Embodiment 4 is an example diagram of a second predetermined number of pixels in Embodiment 1 of the present invention.
  • Fig. 5 is a diagram showing an example of bidirectional reference motion vector correction in Embodiment 1 of the present invention.
  • Fig. 6 is a schematic diagram of a video encoding device according to Embodiment 1 of the present invention.
  • Fig. 7 is a schematic diagram of an encoder according to Embodiment 2 of the present invention.
  • FIG. 8 is a schematic diagram of a video decoding device according to Embodiment 3 of the present invention.
  • FIG. 9 is a schematic diagram of a video decoding device according to Embodiment 3 of the present invention.
  • Figure 10 is a schematic diagram of a decoder according to Embodiment 4 of the present invention.
  • Figure 11 is a schematic diagram of a video encoding method according to Embodiment 5 of the present invention.
  • FIG. 12 is a schematic diagram of step 1103 of Embodiment 5 of the present invention.
  • Figure 13 is a schematic diagram of a video decoding method according to Embodiment 6 of the present invention.
  • FIG. 14 is a schematic diagram of an electronic device according to Embodiment 7 of the present invention.
  • the terms “first”, “second”, etc. are used to distinguish different elements in terms of numelations, but they do not indicate the spatial arrangement or temporal order of these elements. These elements should not be used by these terms. Limited.
  • the term “and/or” includes any and all combinations of one or more of the associated listed terms.
  • the terms “comprising”, “including”, “having” and the like refer to the existence of the stated features, elements, elements or components, but do not exclude the presence or addition of one or more other features, elements, elements or components.
  • Fig. 1 is a schematic diagram of a video encoding device according to an embodiment of the present invention. As shown in Figure 1, the device 100 includes:
  • the coding unit 101 is configured to perform inter-frame prediction on a current block according to a reference motion vector to obtain a prediction block, and perform coding according to the current block and the prediction block;
  • a reconstruction unit 102 configured to obtain a reconstruction block of the current block according to the prediction block
  • the correction unit 103 is configured to correct the reference motion vector after the reconstruction unit obtains the reconstruction block;
  • the encoding unit 101 uses the corrected reference motion vector and the reconstructed block to perform inter-frame prediction on other blocks.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video coding and decoding.
  • the input video stream is composed of multiple consecutive frame images.
  • Each frame of image can be split into at least one processing unit block in advance.
  • the video encoding device uses one processing unit block as a unit to split the image into each The processing unit block performs processing.
  • the frame image can be composed of multiple coding tree units, and each coding tree unit can be split into coding units (CU) according to a quadtree or other structure, and the prediction unit (PU) or transformation unit (TU) can be further divided from the CU.
  • the processing unit block can be a prediction unit (PU), a transformation unit (TU) or a coding unit (CU).
  • the “block” mentioned in this embodiment can be Is PU or TU or CU.
  • the inter-frame prediction refers to predicting the current block of the current frame image (the processing unit block currently to be processed) with reference to at least one previous frame image and/or at least one subsequent frame image, thereby generating a prediction block.
  • the encoding unit 101 encodes the difference between the prediction block and the current block.
  • the frame referred to in encoding or decoding the current frame image is referred to as a reference frame.
  • the encoding unit 101 may use the inter-frame prediction and encoding methods in the prior art to process the current block, as described below with an example.
  • the existing motion estimation algorithm can be used to select a reference frame for the current block, and select the reference block corresponding to the current block in the reference frame.
  • the relative offset between the reference block and the current block in the spatial position is called Motion vector.
  • the motion vector includes horizontal offset and vertical offset.
  • a motion vector competition mechanism is currently used, that is, the motion vector (MV) candidate list can be selected Reference motion vector, where the motion vector in the candidate list is a set of motion vectors of adjacent blocks in the spatial domain and/or motion vectors of corresponding blocks in adjacent frames in the time domain. Therefore, optionally, the device may also include : (Optional, not shown) a selection unit for selecting the reference motion vector from the motion vector candidate list.
  • the inter-frame prediction can use the merge mode or the advanced motion vector prediction mode.
  • an MV candidate list can be established for the current block.
  • the candidate list includes the motion of neighboring blocks in the spatial domain.
  • Vector and/or motion vector of the corresponding block in the adjacent frame in the time domain traverse each MV in the candidate list, and calculate the rate-distortion cost , Select the least costly motion vector as the reference motion vector of the merge mode; for example, when the advanced motion vector prediction mode is applied, the difference from the previous merge mode is that it needs to process candidate motion vectors to filter out two motions
  • the vectors constitute the MV candidate list, and perform motion estimation to obtain the reference motion vector.
  • the candidate motion vector list is a list0; when the inter-frame prediction is bidirectional prediction (for example, B frame), the candidate motion vector list is Two, namely list0 and list1.
  • the reference block is superimposed with the reference motion vector to obtain a prediction block in the motion compensation process.
  • the coding unit 101 subtracts the prediction block from the current block, that is, calculates the difference between pixel values in the block, and This generates prediction residuals.
  • the coding unit 101 performs change processing on the prediction residuals to obtain transform coefficients. For example, discrete sine transform or discrete cosine transform is used to transform the prediction residuals.
  • the coding unit 101 may also quantize the transformed prediction residuals (ie transform coefficients), and the coding unit 101 may perform entropy coding on the quantization results (for example, context adaptive binary arithmetic coding CABAC), output bit stream.
  • the encoding unit 101 may also encode the motion information required for decoding the bitstream.
  • the motion information includes a reference frame index, a reference motion vector index, or MVD.
  • the reconstruction unit 102 may perform inverse quantization and inverse transformation processing on the above prediction residuals, thereby reconstructing the prediction residuals, and inversely quantize and inversely quantize the prediction blocks generated by the inter-frame prediction and the inverse-transformed predictions.
  • the residuals are added to obtain the reconstructed block of the current block.
  • the processing of the inverse quantization and inverse transform can refer to the prior art, which will not be repeated here.
  • the correction unit 103 corrects the reference motion vector after the reconstruction unit 102 acquires the reconstructed block; in this way, since the reconstructed block is closer to the original current block, Compared with the method of correcting the reference motion vector before reconstructing the block, the accuracy of the motion vector correction can be further improved, thereby effectively performing video encoding and decoding.
  • the correction unit 103 will be described below with reference to FIGS. 2-3.
  • FIG. 2 is a schematic diagram of the structure of the correction unit 103
  • FIG. 3 is a schematic diagram of a corrected motion vector.
  • the correction unit 103 includes:
  • a processing module 201 configured to shift the reference block of the reference frame corresponding to the reference motion vector to at least one direction by a first predetermined number of pixel values
  • a calculation module 202 which is used to calculate the sum of absolute differences between the second predetermined number of pixels in the reconstructed block and the corresponding pixels of the offset reference block;
  • the correction module 203 is configured to determine the corrected reference motion vector according to the offset reference block corresponding to the smallest sum of absolute differences.
  • the reference block of the reference frame corresponding to the reference motion vector is determined according to the motion estimation and motion compensation in the aforementioned inter prediction process, and the processing module 201 points the reference block to at least one direction.
  • Offset the first predetermined number of pixel values as shown in the dashed box in Figure 3, can be offset by one pixel value in the horizontal and/or vertical direction, but this embodiment is not limited to this, and can also be offset by at least two Pixel values, etc.
  • the calculation module 202 calculates the sum of absolute differences (SAD) between the second predetermined number of pixels in the reconstructed block and the corresponding pixels of the shifted reference block, and the calculation module 203 calculates according to the reconstruction block.
  • the size of the building block determines the second predetermined number of pixels. For example, when the size of the reconstructed block is greater than a predetermined area, the calculation module 203 uses the pixels in the predetermined area of the reconstructed block as the second predetermined number of pixels.
  • the area is an edge area, or an area at a predetermined location, and this embodiment is not limited to this.
  • FIG. 4 is a schematic diagram of the second predetermined number of pixels, as shown in FIG. 4 , Set the predetermined area to 16 ⁇ 16, when the size of the reconstructed block is less than 16 ⁇ 16, all pixels in the reconstructed block are regarded as the second predetermined number of pixels, and when the size of the reconstructed block is greater than 16 ⁇ 16,
  • the pixels in the edge area of the reconstructed block with a width of 2 pixels up, down, left, and right are taken as the second predetermined number of pixels.
  • the up, down, left, and right directions are only examples. In actual calculations, it can be at least one of the directions.
  • the edge area is also an example. For example, it may be 1 pixel wide or more than 2 pixels wide. This embodiment is not limited to this.
  • the apparatus 100 may further include:
  • the judging unit 104 is (optional), which is used to judge whether the reference motion vector has been corrected; and, when the judgment result of the judging unit 104 is that it has not been corrected, the correction unit 103 corrects the reference motion vector. For example, the judging unit 104 can judge whether the reference motion vector has been corrected according to the set flag.
  • the device 100 may further include a setting unit (not shown in the figure).
  • the setting unit may set a correction flag for each reference motion vector, the correction flag indicating whether the reference motion vector has been corrected, for example, in the correction When the flag is 0, it indicates that the reference motion vector has not been corrected; when the correction flag is 1, it indicates that the reference motion vector has been corrected.
  • the judging unit 104 can check the correction flag of the reference motion vector, where the flag is 1. At this time, the reference motion vector is not corrected. On the contrary, as shown in Figure 3, the reference motion vector is corrected.
  • the reference motion vector when the inter-frame prediction is unidirectional prediction, the reference motion vector is a unidirectional reference motion vector, and the correction unit 103 modifies the unidirectional reference motion vector (that is, the unidirectional reference motion vector in list0 is corrected).
  • the reference motion vector is a bidirectional reference motion vector (including the forward reference motion vector and the backward reference motion vector), and the correction unit 103 is the forward reference motion vector And the backward reference motion vector for correction.
  • Figure 5 is a schematic diagram of the two-way reference motion vector correction. As shown in Figure 5, the forward reference motion vector MV0 in list0 is corrected to obtain MV0', and the backward reference motion vector MV1 in list1 is corrected to obtain MV1'.
  • the corrected reference motion vector is used to replace the corresponding reference motion vector before correction in the motion vector candidate list; and the encoding unit 101 uses the corrected reference motion vector and the reconstructed block (as other The reference block of the block inter-frame prediction) is used to perform inter-frame prediction on other blocks.
  • the process of this inter-frame prediction is as described above and will not be repeated here.
  • the modified reference motion vector and the reconstructed block (as a reference block for the inter prediction of other blocks) can be used for inter prediction by other blocks, but it does not mean that the modified reference motion vector and the The reconstructed block is used for inter-frame prediction of all remaining uncoded blocks.
  • the coding unit 101 selects the reconstructed block as the reference block, and the selection unit selects the modified reference
  • the encoding unit 101 uses the modified reference motion vector and the reconstructed block to perform inter-frame prediction on a block to obtain a prediction block.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • the video encoding device may perform filtering processing on the reconstructed block to reduce the difference between the reconstructed block and the original current block.
  • Fig. 6 is a schematic diagram of the structure of a video encoding device in this embodiment. As shown in Fig. 6, the device 600 includes: an encoding unit 601, a reconstruction unit 602, a filtering unit 603, and a correction unit 604. The implementation of the construction unit 602 is the same as the encoding unit 101 and the reconstruction unit 102 in FIG. 1, and will not be repeated here.
  • the filtering unit 603 is used to perform filtering processing on the reconstructed block; the filtering processing includes: deblocking filtering (deblock) and pixel adaptive compensation (SAO), the specific implementation of which can refer to the prior art
  • deblocking filtering can remove the block distortion generated at the boundary between each block in the reconstructed image.
  • SAO applies the offset difference between the residual block of the deblocking filter and the original image, and uses the offset Application in the form of offset, edge offset, etc.
  • the correction unit 604 corrects the reference motion vector after the filtering unit 603 performs filtering processing on the reconstructed block; in another embodiment, after the reconstructed block is obtained, the correction unit 604, before the filtering unit 603 performs filtering processing on the reconstructed block, correct the reference motion vector.
  • the device 600 may further include: a judgment unit (optional, not shown), which is used to judge whether the reference motion vector has been revised; and, the judgment result of the judgment unit When it has not been corrected, the correction unit 604 corrects the reference motion vector.
  • a judgment unit optional, not shown
  • the correction unit 604 corrects the reference motion vector.
  • reference may be made to the judgment unit 104, which will not be repeated here.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • Embodiment 2 of the present invention provides an encoder, which may be included in an electronic device used for video processing, or may be one or some parts or components of the electronic device, including the video in Embodiment 1. Encoding device, its content is incorporated here, and will not be repeated here.
  • Embodiment 2 of the present invention also provides an encoder.
  • the encoder may be included in an electronic device used for video processing, or may be one or some parts or components of the electronic device. This embodiment 2 and the embodiment 1 The same content will not be repeated.
  • Figure 7 is a schematic diagram of the encoder structure of the second embodiment.
  • the encoder 700 includes: a predictor 701, a transform and quantizer 702, an entropy encoder 703, an inverse transform and inverse quantizer 704, and a filter 705 (Optional), corrector 706, subtractor 707, adder 708, memory 709.
  • the implementation of the predictor 701, transform and quantizer 702, entropy encoder 703, inverse transform and inverse quantizer 704, subtractor 707, and adder 708 can refer to the encoding unit 101 and The reconstruction unit 102.
  • the predictor 701 includes an inter predictor that performs inter prediction and an intra predictor that performs intra prediction.
  • the predictor 701 performs prediction processing on the divided block of the frame image to generate a prediction block.
  • the predictor can determine whether the prediction performed on the corresponding block is inter-frame prediction or intra-frame prediction, and can determine the prediction mode of inter-frame prediction.
  • the prediction block and the current block are passed through the subtractor 707 to obtain the prediction residual, and the prediction residual is input into the transform and quantizer 702, transform coefficients are created and quantized, and the quantization result is input to the entropy
  • the encoder 703, optionally, the motion information described in Embodiment 1 may also be input into the entropy encoder.
  • the entropy encoder 703 performs entropy coding on the input data and outputs a bit stream.
  • the specific entropy coding method can refer to the prior art, which will not be repeated here; the inverse transform and inverse quantizer 704 performs inverse quantization and inverse transform on the aforementioned quantization result After processing, the prediction residual is added by the adder 708 to generate a reconstructed block.
  • the implementation of the filter 705 can refer to the filtering unit 603 in Embodiment 1, and perform the following processing on the reconstructed block: deblocking filtering (deblock) and pixel adaptive compensation (SAO), optionally,
  • deblock deblocking filtering
  • SAO pixel adaptive compensation
  • the filter 705 may not perform a filtering operation.
  • the implementation of the corrector 706 can refer to the correcting unit 103 or the correcting unit 604 in Embodiment 1, to correct the reference motion vector after obtaining the reconstructed block, or to correct the reconstructed block after filtering.
  • the corrector 706 may also include the function of the judging unit 104, which is not limited in this embodiment.
  • the specific correction method refer to Embodiment 1, which will not be repeated here.
  • the memory 709 may store the generated reconstruction block (or filtered reconstruction block) and the corrected reference motion vector, and the reconstruction block and motion vector stored in the memory 709 may be provided to the execution
  • the predictor 701 for inter prediction is used for inter prediction of other blocks.
  • the functions of the predictor 701, transform and quantizer 702, entropy encoder 703, inverse transform and inverse quantizer 704, filter 705, corrector 706, subtractor 707, and adder 708 can be integrated into In the central processing unit, video encoding is performed under the control of the processor.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • FIG. 8 is a schematic diagram of the video decoding device according to an embodiment of the present invention. As shown in Figure 8, the device includes:
  • the decoding unit 801 is configured to decode the encoded data of the current block after encoding; perform inter-frame prediction according to the decoding result and the reference motion vector to obtain a prediction block;
  • a reconstruction unit 802 configured to obtain a reconstruction block of the current block according to the prediction block
  • the correction unit 803 is configured to correct the reference motion vector after the reconstruction unit obtains the reconstruction block;
  • the decoding unit 801 uses the corrected reference motion vector and the reconstructed block to perform inter-frame prediction on other blocks.
  • the encoded data of the current block after encoding may be the bitstream after entropy encoding described in Embodiment 1, and the decoding unit 801 may perform entropy decoding on the bitstream to obtain the decoding result, and the specific entropy decoding
  • the method corresponds to the method of entropy coding. For details, please refer to the prior art, which will not be repeated here.
  • the decoding unit 801 performs inter-frame prediction according to the decoding result and the reference motion vector to generate a prediction block.
  • the inter-frame prediction process at the decoding end can refer to the prior art, which can use the video encoding device provided
  • the motion information of the inter-frame prediction of the current block for example, the reference motion vector used in the inter-frame prediction of the encoding end, the reference frame index and other information
  • the decoding result to generate the prediction block.
  • the reconstruction unit 802 performs inverse quantization and inverse transformation on the decoding result to restore the prediction residual, adds the prediction residual to the prediction block, obtains the reconstructed block of the current block, and inversely quantizes the sum. Please refer to Embodiment 1 for the inverse transformation processing, which will not be repeated here.
  • the apparatus 800 may further include:
  • the judging unit (optional, not shown) is used to judge whether the reference motion vector has been corrected; and when the judgment result of the judging unit is that it has not been corrected, the correction unit 803 corrects the reference motion vector.
  • the judgment unit 104 For the specific implementation manner, reference may be made to the judgment unit 104, which will not be repeated here.
  • the corrected reference motion vector is used to replace the corresponding reference motion vector before correction in the motion vector candidate list; and the decoding unit 801 uses the corrected reference motion vector and the reconstructed block (as other The reference block of the block inter-frame prediction) is used to perform inter-frame prediction on other blocks.
  • the process of this inter-frame prediction is as described above and will not be repeated here.
  • the modified reference motion vector and the reconstructed block (as a reference block for the inter prediction of other blocks) can be used for inter prediction by other blocks, but it does not mean that the modified reference motion vector and the The reconstructed block is used for inter-frame prediction of all remaining undecoded blocks.
  • the decoding unit 801 selects the reconstructed block and the reference motion vector, the decoding unit 801 uses The modified reference motion vector and the reconstructed block perform inter-frame prediction on the block to obtain a prediction block.
  • Fig. 9 is a schematic diagram of a structure of a video encoding device in this embodiment.
  • the device 900 includes: a decoding unit 901, a reconstruction unit 902, a filtering unit 903, and a correction unit 904.
  • the implementation of the construction unit 902 is the same as the decoding unit 801 and the reconstruction unit 802 in FIG. 8, and will not be repeated here.
  • the filtering unit 903 is used to perform filtering processing on the reconstructed block; the filtering processing includes: deblocking filtering (deblock) and pixel adaptive compensation (SAO), the specific implementation of which can refer to the prior art
  • deblocking filtering can remove the block distortion generated at the boundary between each block in the reconstructed image.
  • SAO applies the offset difference between the residual block of the deblocking filter and the original image, and uses the offset Application in the form of offset, edge offset, etc.
  • the correction unit 904 corrects the reference motion vector after the filtering unit 903 performs filtering processing on the reconstructed block; in another embodiment, after obtaining the reconstructed block, the correction unit 904, before the filtering unit 903 performs filtering processing on the reconstructed block, correct the reference motion vector.
  • the apparatus 900 may further include:
  • the judging unit (optional, not shown) is used to judge whether the reference motion vector has been corrected; and when the judgment result of the judging unit is that it has not been corrected, the correction unit 904 corrects the reference motion vector.
  • the judgment unit 104 For the specific implementation manner, reference may be made to the judgment unit 104, which will not be repeated here.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • Embodiment 4 of the present invention provides a decoder, which may be included in an electronic device used for video processing, or may be one or some parts or components of the electronic device, which includes the video in Embodiment 3.
  • the content of the decoding device is incorporated here, and will not be repeated here.
  • Embodiment 4 of the present invention also provides a decoder.
  • the decoder may be included in an electronic device used for video processing, or may be a certain or some parts or components of the electronic device.
  • This embodiment 4 and the embodiments 3 The same content will not be repeated.
  • Figure 10 is a schematic diagram of the decoder structure of the fourth embodiment.
  • the decoder 1000 includes: an entropy decoder 1001, an inverse transform and inverse quantizer 1002, a predictor 1003, a filter 1004 (optional), and a correction
  • the implementation of the entropy decoder 1001, the inverse transform and inverse quantizer 1002, the predictor 1003, and the adder 1006 can refer to the decoding unit 801 and the reconstruction unit 802 in Embodiment 3.
  • the entropy decoder 1001 decodes the encoded data (bit stream) of the encoded current block to generate a prediction residual with quantized frequency coefficients.
  • it can also decode the motion information of the current block.
  • the predictor 1003 can, based on the motion information, The same scheme as the predictor in the encoder of Embodiment 2 is used to predict the current block, and the obtained prediction block is input to the adder 1006.
  • the prediction residual obtained by the inverse transform and inverse quantizer 1002 inversely quantizes and decodes is input to the adder 1006 after inverse transform processing to superimpose the prediction block to generate a reconstructed block of the current block.
  • the implementation of the filter 1004 can refer to the filtering unit 903 in Embodiment 3 to perform the following processing on the reconstructed block: deblocking filtering (deblock) and pixel adaptive compensation (SAO).
  • deblock deblocking filtering
  • SAO pixel adaptive compensation
  • the implementation of the corrector 1005 can refer to the correcting unit 803 or the correcting unit 904 in Embodiment 3 to correct the reference motion vector after obtaining the reconstructed block, or to correct the reconstructed block after filtering.
  • the corrector 1005 may also include the function of the judging unit 104, which is not limited in this embodiment, and the specific correction method is described in Embodiment 1, which will not be repeated here.
  • the memory 1007 may store the filtered reconstructed block and the corrected reference motion vector, and the reconstructed block and motion vector stored in the memory 1007 may be provided to the predictor 1003 that performs inter prediction. Used for inter prediction of other blocks.
  • the functions of the aforementioned entropy decoder 1001, inverse transform and inverse quantizer 1002, predictor 1003, filter 1004 (optional), modifier 1005, and adder 1006 can be integrated into the central processing unit.
  • Video decoding is performed under the control of the processor.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • FIG. 11 is a schematic diagram of the video encoding method of the embodiment of the present invention. As shown in Figure 11, the method includes:
  • Step 1101 Perform inter-frame prediction on the current block according to the reference motion vector to obtain a prediction block, and perform encoding according to the current block and the prediction block;
  • Step 1102 Obtain a reconstructed block of the current block according to the predicted block
  • Step 1103 after obtaining the reconstructed block, correct the reference motion vector; and the corrected reference motion vector and the reconstructed block can be used for inter-frame prediction of other blocks.
  • the implementation of the above steps 1101-1103 can refer to the encoding unit 101, the reconstruction unit 102, and the correction unit 103 in the video encoding device in Embodiment 1, and will not be repeated here.
  • the above steps 1101-1103 are the encoding process of the current block. After completion, the steps 1101-1103 are repeated for the next block of the current block until the encoding of all the blocks divided in multiple frame images is completed.
  • Fig. 12 is a flowchart of the correction step in step 1103 in this embodiment. As shown in Fig. 12, the correction step includes:
  • Step 1201 Shift the reference block of the reference frame corresponding to the reference motion vector to at least one direction by a first predetermined number of pixel values
  • Step 1202 Calculate the sum of absolute differences between the second predetermined number of pixels in the reconstructed block and the corresponding pixels of the offset reference block;
  • Step 1203 Determine a corrected reference motion vector according to the offset reference block corresponding to the smallest sum of absolute differences.
  • steps 1201-1203 please refer to the processing module 201, the calculation module 202, and the correction module 203 in the embodiment 1, which will not be repeated here.
  • the method may further include (optional): step 1200, judging whether the reference motion vector has been corrected; and, when the judgment result is that it has not been corrected, steps 1201-1203 are executed, otherwise the correction is skipped step.
  • step 1200 judging whether the reference motion vector has been corrected; and, when the judgment result is that it has not been corrected, steps 1201-1203 are executed, otherwise the correction is skipped step.
  • each reference motion vector has a correction flag, and the correction flag indicates whether the reference motion vector has been corrected.
  • the reference motion vector when the inter prediction is a unidirectional prediction, the reference motion vector is a unidirectional reference motion vector, and the unidirectional reference motion vector is corrected in steps 1201-1203; the inter prediction is bidirectional During prediction, the reference motion vector is a bidirectional reference motion vector (including a forward reference motion vector and a backward reference motion vector), and the forward reference motion vector and the backward reference motion vector are corrected in steps 1201-1203.
  • the method may further include:
  • Step 1103' filter the reconstructed block; that is, after the reconstructed block is obtained in step 1102, perform this step 1103'.
  • the above step 1103 can be performed before step 1103' or after step 1103', That is, after filtering the reconstructed block, the reference motion vector is corrected. This embodiment is not limited by this.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • FIG. 13 is a schematic diagram of the video decoding method of the embodiment of the present invention. As shown in Figure 13, the method includes:
  • Step 1301 Decode the encoded data of the current block after encoding; perform inter-frame prediction according to the decoding result and the reference motion vector to obtain a prediction block;
  • Step 1302 Obtain a reconstructed block of the current block according to the predicted block
  • Step 1303 After the reconstructed block is acquired, the reference motion vector is corrected; and the corrected reference motion vector and the reconstructed block are used for inter-frame prediction of other blocks.
  • the implementation of the above steps 1301-1303 can refer to the decoding unit 801, the reconstruction unit 802, and the correction unit 803 in the video decoding device in Embodiment 3, which will not be repeated here.
  • steps 1301-1303 are the decoding process of the current block. After completion, steps 1301-1303 are repeated for the next block of the current block until the decoding of all the blocks divided in multiple frame images is completed.
  • step 1303 for the specific implementation of the above step 1303, reference may be made to step 1103 in embodiment 5 and FIG. 12, which will not be repeated here.
  • the method may further include:
  • Step 1303' perform filtering processing on the reconstructed block; that is, after the reconstructed block is obtained in step 1302, perform this step 1303'.
  • the above-mentioned step 1303 can be performed before step 1303' or after step 1303', That is, after filtering the reconstructed block, the reference motion vector is corrected. This embodiment is not limited by this.
  • the accuracy of the motion vector correction can be improved by performing the motion vector correction after the reconstructed block is obtained, thereby effectively performing video encoding and decoding.
  • the embodiment of the present invention also provides an electronic device that performs image processing or video processing, including the encoder in Embodiment 2 and/or the decoder in Embodiment 4, the content of which is incorporated here and will not be omitted here Repeat.
  • Fig. 14 is a schematic diagram of an electronic device according to an embodiment of the present invention.
  • the electronic device 1400 may include: a processor 1401 and a memory 1402; the memory 1402 is coupled to the processor 1401.
  • the memory 1402 can store various data; in addition, it also stores an information processing program 1403, and the program 1403 is executed under the control of the processor 1401.
  • the electronic device 1400 may be used as an encoder, and the functions of the video encoding apparatus 100 or 600 may be integrated into the processor 1401.
  • the processor 1401 may be configured to implement the video encoding method described in Embodiment 5.
  • the processor 1401 may be configured to perform the following control: perform inter-frame prediction on the current block to obtain a prediction block according to the reference motion vector, and perform encoding according to the current block and the prediction block; obtain the current block according to the prediction block After obtaining the reconstructed block, the reference motion vector is corrected; and the corrected reference motion vector and the reconstructed block are used for inter prediction of other blocks.
  • the electronic device 1400 may be used as a decoder, and the functions of the video decoding apparatus 800 or 900 may be integrated into the processor 1401.
  • the processor 1401 may be configured to implement the video decoding method described in Embodiment 6.
  • the processor 1401 may be configured to perform the following control: decode the encoded data of the encoded current block; perform inter-frame prediction according to the decoding result and the reference motion vector to obtain a prediction block; obtain the current block according to the prediction block After obtaining the reconstructed block, the reference motion vector is corrected; and the corrected reference motion vector and the reconstructed block are used for inter prediction of other blocks.
  • the electronic device 1400 may further include: an input/output (I/O) device 1404, a display 1405, etc.; wherein the functions of the above-mentioned components are similar to those of the prior art, and will not be repeated here. It is worth noting that the electronic device 1400 does not necessarily include all the components shown in FIG. 14; in addition, the electronic device 1400 may also include components not shown in FIG. 14, and related technologies can be referred to.
  • I/O input/output
  • An embodiment of the present invention provides a computer-readable program, wherein when the program is executed in an encoder or an electronic device, the program causes the encoder or an electronic device to execute the video encoding method described in Embodiment 5.
  • An embodiment of the present invention provides a storage medium storing a computer-readable program, wherein the computer-readable program enables an encoder or an electronic device to execute the video encoding method described in Embodiment 5.
  • An embodiment of the present invention provides a computer-readable program, wherein when the program is executed in a decoder or an electronic device, the program causes the decoder or an electronic device to execute the video decoding method described in Embodiment 6.
  • An embodiment of the present invention provides a storage medium storing a computer-readable program, wherein the computer-readable program enables a decoder or an electronic device to execute the video decoding method described in Embodiment 6.
  • the above devices and methods of the present invention can be implemented by hardware, or by hardware combined with software.
  • the present invention relates to such a computer-readable program, when the program is executed by a logic component, the logic component can realize the above-mentioned device or constituent component, or the logic component can realize the above-mentioned various methods Or steps.
  • the present invention also relates to storage media for storing the above programs, such as hard disks, magnetic disks, optical disks, DVDs, flash memory, and the like.
  • the method/device described in conjunction with the embodiments of the present invention may be directly embodied as hardware, a software module executed by a processor, or a combination of the two.
  • one or more of the functional block diagrams and/or one or more combinations of the functional block diagrams shown in the figure may correspond to each software module of the computer program flow or each hardware module.
  • These software modules can respectively correspond to the steps shown in the figure.
  • These hardware modules can be implemented by curing these software modules by using a field programmable gate array (FPGA), for example.
  • FPGA field programmable gate array
  • the software module can be located in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable disk, CD-ROM or any other form of storage medium known in the art.
  • a storage medium may be coupled to the processor, so that the processor can read information from the storage medium and write information to the storage medium; or the storage medium may be a component of the processor.
  • the processor and the storage medium may be located in the ASIC.
  • the software module can be stored in the memory of the mobile terminal, or can be stored in a memory card that can be inserted into the mobile terminal.
  • the software module can be stored in the MEGA-SIM card or a large-capacity flash memory device.
  • One or more of the functional blocks and/or one or more combinations of the functional blocks described in the drawings can be implemented as general-purpose processors, digital signal processors (DSPs) for performing the functions described in the present invention. ), Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component or any appropriate combination thereof.
  • DSPs digital signal processors
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • One or more of the functional blocks described in the drawings and/or one or more combinations of the functional blocks can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, or multiple micro-processing Processor, one or more microprocessors in communication with the DSP, or any other such configuration.

Landscapes

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

Abstract

Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique. L'appareil de codage vidéo comporte: une unité de codage servant à effectuer, d'après un vecteur de mouvement de référence, une prédiction inter-trames sur le bloc courant pour obtenir un bloc prédit, et à effectuer un codage d'après le bloc courant et le bloc prédit; une unité de reconstruction servant à acquérir, d'après le bloc prédit, un bloc reconstruit du bloc courant; et une unité de correction servant à corriger le vecteur de mouvement de référence après que l'unité de reconstruction a acquis le bloc reconstruit, l'unité de codage utilisant le vecteur de mouvement de référence corrigé et le bloc reconstruit pour effectuer une prédiction inter-trames sur d'autres blocs. Par conséquent, en corrigeant un vecteur de mouvement après qu'un bloc reconstruit a été obtenu, la précision de correction du vecteur de mouvement peut être améliorée, ce qui permet d'effectuer efficacement un codage et un décodage vidéo.
PCT/CN2019/075685 2019-02-21 2019-02-21 Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique WO2020168509A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/075685 WO2020168509A1 (fr) 2019-02-21 2019-02-21 Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/075685 WO2020168509A1 (fr) 2019-02-21 2019-02-21 Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique

Publications (1)

Publication Number Publication Date
WO2020168509A1 true WO2020168509A1 (fr) 2020-08-27

Family

ID=72143310

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/075685 WO2020168509A1 (fr) 2019-02-21 2019-02-21 Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique

Country Status (1)

Country Link
WO (1) WO2020168509A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103329537A (zh) * 2011-01-21 2013-09-25 Sk电信有限公司 基于预测运动矢量索引编码产生/恢复运动信息的设备和方法及用于使用该运动信息进行视频编码/解码的设备和方法
US20160080770A1 (en) * 2008-03-07 2016-03-17 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
CN109155847A (zh) * 2016-03-24 2019-01-04 英迪股份有限公司 用于编码/解码视频信号的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160080770A1 (en) * 2008-03-07 2016-03-17 Sk Planet Co., Ltd. Encoding system using motion estimation and encoding method using motion estimation
CN103329537A (zh) * 2011-01-21 2013-09-25 Sk电信有限公司 基于预测运动矢量索引编码产生/恢复运动信息的设备和方法及用于使用该运动信息进行视频编码/解码的设备和方法
CN109155847A (zh) * 2016-03-24 2019-01-04 英迪股份有限公司 用于编码/解码视频信号的方法和装置

Similar Documents

Publication Publication Date Title
KR101422422B1 (ko) Dmvd 처리 향상을 위한 시스템 및 방법
JP5801363B2 (ja) 符号化及び復号化のための装置及び方法並びにコンピュータプログラム
KR101947142B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
US20110032990A1 (en) Apparatus and method for deblocking filtering image data and video decoding apparatus and method using the same
US8804826B2 (en) Methods and devices for incorporating deblocking into encoded video
CN112385211A (zh) 用于视频编码和解码的运动补偿
WO2019114721A1 (fr) Dispositif et procédé de prédiction inter-trames destinés à des données vidéo
WO2011099428A1 (fr) Procédé de codage prédictif pour vecteur de mouvement, procédé de décodage prédictif pour vecteur de mouvement, dispositif de codage vidéo, dispositif de décodage vidéo, et programmes correspondants
US20130089136A1 (en) Spatial Intra Prediction Estimation Based on Mode Suppression in Macroblocks of a Video Frame
JP5938424B2 (ja) 画像ブロックを再構成および符号化する方法
Abou-Elailah et al. Improved side information generation for distributed video coding
JP2023063506A (ja) 構築されたアフィンマージ候補を導出する方法
KR101443865B1 (ko) 인터 예측 방법 및 장치
WO2020168509A1 (fr) Procédé et appareil de codage vidéo, procédé et appareil de décodage vidéo, et dispositif électronique
AU2016316317B2 (en) Method and apparatus of prediction offset derived based on neighbouring area in video coding
JP2024512647A (ja) 明示的な動きシグナリングを用いた幾何学的分割
Abou-Elailah et al. Successive refinement of motion compensated interpolation for transform-domain distributed video coding
US11290739B2 (en) Video processing methods and apparatuses of determining motion vectors for storage in video coding systems
JP7228980B2 (ja) 予測画像補正装置、画像符号化装置、画像復号装置、及びプログラム
JP7034363B2 (ja) 画像復号装置、画像復号方法及びプログラム
JP7083971B1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7061737B1 (ja) 画像復号装置、画像復号方法及びプログラム
JP7387806B2 (ja) 画像復号装置、画像復号方法及びプログラム
KR101802304B1 (ko) 하다마드 변환을 이용한 부호화 방법 및 이러한 방법을 사용하는 장치

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

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

Country of ref document: EP

Kind code of ref document: A1