WO2018095313A1 - Method and apparatus for motion vector sign prediction in video coding - Google Patents

Method and apparatus for motion vector sign prediction in video coding Download PDF

Info

Publication number
WO2018095313A1
WO2018095313A1 PCT/CN2017/112140 CN2017112140W WO2018095313A1 WO 2018095313 A1 WO2018095313 A1 WO 2018095313A1 CN 2017112140 W CN2017112140 W CN 2017112140W WO 2018095313 A1 WO2018095313 A1 WO 2018095313A1
Authority
WO
WIPO (PCT)
Prior art keywords
candidate
current block
mvd
mvp
reconstructed
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2017/112140
Other languages
French (fr)
Inventor
Chih-Wei Hsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Priority to CN201780069192.3A priority Critical patent/CN109964484B/en
Priority to TW106140281A priority patent/TWI655864B/en
Priority to US16/462,559 priority patent/US10701392B2/en
Publication of WO2018095313A1 publication Critical patent/WO2018095313A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present invention relates to motion vector prediction for video coding.
  • the present invention relates to motion vector sign derivation or prediction to improve coding efficiency of motion vector coding.
  • High-Efficiency Video Coding is a new international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC) .
  • JCT-VC Joint Collaborative Team on Video Coding
  • HEVC is based on the hybrid block-based motion-compensated DCT-like transform coding architecture.
  • the basic unit for compression termed as coding unit (CU) , is a 2Nx2N square block, and each CU can be recursively split into four smaller CUs until the predefined minimum size is reached.
  • Each CU contains one or multiple prediction units (PUs) .
  • Intra prediction modes the spatial neighbouring reconstructed pixels can be used to generate the directional predictions.
  • Inter prediction modes the temporal reconstructed reference frames can be used to generate motion compensated predictions.
  • modes including Skip, Merge and Inter Advanced Motion Vector Prediction (AMVP) modes.
  • motion-compensated prediction is performed with transmitted motion vector differences (MVDs) that can be used together with Motion Vector Predictors (MVPs) for deriving motion vectors (MVs) .
  • MVPs Motion Vector Predictors
  • AMVP advanced motion vector prediction
  • an MVP index for MVP and the corresponding MVDs are required to be encoded and transmitted.
  • the Inter prediction direction to specify the prediction directions among bi-prediction, and uni-prediction related to list 0 (L0) and list 1 (L1) along with the reference frame index for each list should also be encoded and transmitted.
  • the residual signal is also omitted.
  • the Merge scheme is used to select a motion vector predictor among a Merge candidate set containing four spatial MVPs and one temporal MVP.
  • a method and apparatus of motion vector reconstruction in a video coding system based on one MVP (motion vector predictor) and one MVD (motion vector difference) are disclosed.
  • input data associated with a video sequence including a current block in a current picture are received.
  • An MVP from the input data for the current block is determined.
  • first magnitude and second magnitude of an MVD associated with the current block are determined.
  • Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD.
  • a template for the current block is determined, where the template is formed from neighbouring reconstructed pixels of the current block. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is evaluated. A target candidate MV position among all candidate reconstructed MV positions is selected based on one or more performance criteria including best template matching among all candidate reconstructed MV positions.
  • the current block is encoded or decoded using a target candidate MV corresponding to the target candidate MV position.
  • the template matching is evaluated based on a pre-determined criterion comprising SAD (sum of absolution differences) or SSD (sum of squared differences) .
  • the performance criteria further include other decoder side information comprising statistics of previous selected sign pair or previous MVP.
  • the template matching between the template for the current block and the corresponding template for each candidate reconstructed MV position is evaluated based on nearby integer pixel positions of the corresponding template if the MVP or the MVD has fractional-pel precision. In this case, if two corresponding templates for two candidate reconstructed MV positions fall into a same location, locations of said two corresponding templates are modified to become separate. Furthermore, the locations of the two corresponding templates can be modified to be on a left side and a right side of the MVP, or on an upper side and a lower side of the MVP.
  • the method may comprise pruning one or more candidate reconstructed MV positions based on distance between one MVP and one candidate reconstructed MV position, where if a specific candidate reconstructed MV position is closer to another MVP in a candidate MVP set than the MVP, the specific candidate reconstructed MV position is pruned and not evaluated for the template matching.
  • Whether to encode or decode the current block using the target candidate MV can be turned on or off explicitly by signalling a control flag. Alternatively, whether to encode or decode the current block using the target candidate MV can also be turned on or off implicitly. For example, whether to encode or decode the current block using the target candidate MV can be turned on or off based on a result of an exclusive OR operation applied to the first magnitude and the second magnitude of the MVD.
  • the selected sign pair corresponding to the target candidate MV position can be used as a predictor for encoding or decoding signs of the MVD.
  • a prediction hit condition corresponding to the signs of the MVD being equal to the selected sign pair can be coded using a single bit or the shortest codeword.
  • Other prediction conditions corresponding to the signs of the MVD being not equal to the selected sign pair can be coded using two or more bits, where the other prediction conditions include a horizontal flip condition, a vertical flip condition and a diagonal flip condition.
  • the bins generated for prediction conditions associated with blocks in the current picture can be context coded.
  • a first single sign from the current block can be combined with a second single sign from another block or another prediction list to form a joint sign pair, and a prediction hit condition corresponding to both the first single sign and the second single sign being correctly predicted can be coded using a single bit or the shortest codeword.
  • Other prediction conditions corresponding to at least one of the joint sign pair being not correctly predicted can be coded using two or more bits, where the other prediction conditions include a first single sign hit and a second single sign miss condition, a first single sign miss and a second single sign hit condition and both the first single sign miss and the second single sign miss condition.
  • aspects of the disclosure further provide a non-transitory computer readable medium storing program instructions for causing a processing circuit of an apparatus to perform a motion vector reconstruction method based on one MVP (motion vector predictor) and one MVD (motion vector difference) .
  • input data associated with a video sequence including a current block in a current picture are received.
  • An MVP from the input data for the current block is determined.
  • first magnitude and second magnitude of an MVD associated with the current block are determined.
  • Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD.
  • a template for the current block is determined, where the template is formed from neighbouring reconstructed pixels of the current block. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is evaluated.
  • a target candidate MV position among all candidate reconstructed MV positions is selected based on one or more performance criteria including best template matching among all candidate reconstructed MV positions.
  • the current block is encoded or decoded using a target candidate MV corresponding to the target candidate MV position.
  • Fig. 1 illustrates an example of motion vector (MV) reconstruction based on the motion vector predictor (MVP) and magnitudes of motion vector differences (MVDs) .
  • Fig. 2 illustrates an example of sign derivation for motion vector differences (MVDs) using template matching according to the present invention.
  • Fig. 3 illustrates an example of pruning one or more candidate sign positions using available information at the decoder side, such as the distance between a candidate sign position and motion vector predictors (MVP) including a current MVP and another MVP from the candidate MVP set.
  • MVP motion vector predictors
  • Fig. 4 illustrates an exemplary flowchart of video coding system incorporate an embodiment of the present invention, where the signs of motion vector differences (MVDs) are derived or predicted using template matching.
  • VMDs motion vector differences
  • MVD When a current block (or a prediction unit, PU) is coded in Inter AMVP mode, an MVP index and two MVDs for X and Y components are coded to represent the MVs.
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the magnitude part is always coded using context bin and the sign part is coded using bypass bin (i.e., with equal probability) .
  • bypass bin i.e., with equal probability
  • MVs are reconstructed using MVP and MVDs at the decoder side.
  • absMvdHor and absMvdVer are the absolute values (i.e., magnitudes) of the X and Y components of the MVD 110 respectively.
  • the circle labelled as MVP indicates the position pointed to by the MVP.
  • the four circles labelled with different sign pairs i.e., (+, +) , (+, -) , (-, +) , (-, -) ) correspond to four possible sign positions pointed to by the reconstructed MV.
  • the MVD may also refer to a vector with MVD X component and MVD Y component for convenience.
  • template matching method is used for the decoder to derive the correct sign position.
  • An example of deriving the correct sign position is shown in Fig. 2, where the MV of a current block (214) is to be decoded.
  • the neighbouring reconstructed pixels of current block 214 are used to form a template (210) .
  • the MVP can be derived at the decoder side according to MVP index.
  • the MVP will be selected from a candidate list and the index of the selected MVP is signalled in the bitstream.
  • the absMvdHor and absMvdVer are decoded at the decoder, the four possible positions of the reconstructed MV can be determined as shown by the four circles labelled with different sign pairs.
  • the corresponding templates at each possible reconstructed MV position can be formed.
  • the corresponding template (220) for possible position corresponding to (-, +) is shown.
  • the templates for three other possible positions can be determined.
  • the corresponding templates are formed with the same number of pixels, shape and distance as the template for the current block in order to perform the template matching.
  • template 210 is matched with template 220.
  • the best match position based on a predetermined criterion e.g. SAD or SSD
  • Any other information available at the decoder side can also be used to help the sign deriving process and to improve the correctness. For example, the previous statistics of the sign position, MVP position etc. can be used.
  • the templates for the four possible sign positions can be derived without using the exact MV precision.
  • the template positions can be derived using the nearest integer position.
  • the two integer-based template positions associated with the “-” and “+” signs in the X direction or the Y direction may fall into the same position, which may occur particularly for small absMvdHor or absMvdVer.
  • constraints or rules can be applied to make sure the two templates are apart from each other. For example, if two templates fall into the same position, one should be located at the left hand side of the MVP and the other should be located at the right hand side of the MVP. Alternatively, one should be located at the upper side of the MVP and the other should be located at the lower side of the MVP.
  • the available information at the decoder can be used to improve the correctness of the sign prediction derivation process.
  • Fig. 3 illustrates an example, where there are a total of two MVPs (e.g. MVP1 and MVP2) and MVP1 is used for the current block by the encoder.
  • MVP2 is in the candidate MVP set, but not selected by the encoder as the MVP for the current block.
  • one or more of the four possible MVD sign positions can be pruned according to the corresponding distances from a sign position to these two MVPs. As shown in this example, if the (-, +) position is used to reconstruct the MV, the resulted MV position will be closer to MVP2 position instead of MVP1 position.
  • the sign (-, +) position can be pruned since the encoder would favour a shorter distance (i.e., smaller MVD magnitude) between a sign position and the MVP position. If the (-, +) position is the correct position, the encoder would have selected MVP2 instead of MVP1. By pruning some of the sign positions, it can reduce the possibility of selecting a wrong sign position and also reduce the required computations for evaluating the template matching.
  • the sign derivation process can be signalled using one explicit flag to turn on and off.
  • the sign derivation process can be determined using implicit method to turn on and off. For example, to turn on the process when the XOR (i.e., exclusive OR operation) between the X component of the MVD and the Y component of the MVD results in an even number (i.e., “0” ) , and to turn off otherwise.
  • XOR i.e., exclusive OR operation
  • the derived sign position can be used a predictor.
  • the true MVD sign can be coded using residues.
  • Table 1 illustrates an example of a codeword table to code the sign residues using the sign predictors.
  • the codeword table if the predictor inferred by the derived sign process matches the true MVD sign position, only one bin or bin (i.e., “0” in Table 1) needs to be coded.
  • the original method will require two bins or bits (one for each sign) for the MVDs. If the predictor is wrong and is the true MVD sign position matches the diagonal sign position of the derived sign position (referred as Diagonal flipping for this condition) , more bins or bits (three in this example) are needed.
  • Table 1 also include horizontal flip prediction condition and vertical flip prediction condition.
  • the horizontal flip prediction condition refers to the condition that the true MVD sign position matches the other sign position in the horizontal direction of the derived sign position.
  • the vertical flip prediction condition refers to the condition that the true MVD sign position matches the other sign position in the vertical direction of the derived sign position.
  • the predictor matching the true MVD sign position i.e., a prediction hit condition corresponding to the signs of the MVD being equal to the selected sign pair
  • any one of the X component and Y component of the MVD is zero, there exist only one MVD sign and two possible sign positions for the non-zero components. In that case, only one code word is needed to indicate if the prediction is hit or not (i.e., miss) in Table 1.
  • the codeword table in Table 1 is still applicable. However, more efficient variation may be applied. Two single sign residues that may come from different prediction lists or different blocks can be combined into one and then use the codeword table in Table 2. In this situation, the code word table will represent different semantics as shown in Table 2.
  • the bits resulted from the sign residues can be taken into consideration during the mode decision in order to choose the best modes. Moreover, during the motion estimation for searching the MVs, it can also consider the sign residue bits for every MV position. In other words, the MV not only generates the better predictors for the current block, but also results in less coded bin for the MVD sign residues.
  • Fig. 4 illustrates an exemplary flowchart of video coding system incorporate an embodiment of the present invention, where the signs of motion vector differences (MVDs) are derived or predicted using template matching.
  • the steps shown in the flowchart, as well as other flowcharts in this disclosure, may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side and/or the decoder side.
  • the steps shown in the flowchart may also be implemented based on hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart.
  • input data associated with a video sequence including a current block in a current picture are received in step 410.
  • the input data may correspond to pixel data associated with a video sequence.
  • the input data may correspond to video bitstream or compressed data for the video sequence.
  • An MVP from the input data for the current block is determined in step 420.
  • the encoder may selects the MVP from a candidate MVP set and signal the MVP index associated with the selected MVP.
  • the decoder can selected the MVP from the candidate MVP set according to the MVP index.
  • the first magnitude and second magnitude of an MVD associated with the current block are determined in step 430.
  • the encoder can obtain the MVD from the difference between the current MV and the MVP.
  • the magnitudes of the MVD are signalled in the bitstream.
  • the decoder may recover the magnitudes of the MVD from the bitstream.
  • Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived in step 440, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD.
  • This same step is performed at the encoder as well as the decoder.
  • a template for the current block is determined in step 450, where the template is formed from neighbouring reconstructed pixels of the current block. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is then performed in step 460.
  • a target candidate MV position is selected among all candidate reconstructed MV positions based on one or more performance criteria including best template matching among all candidate reconstructed MV positions in step 470. Encoding or decoding is then applied to the current block using a target candidate MV corresponding to the target candidate MV position in step 480.
  • Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
  • an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein.
  • An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
  • DSP Digital Signal Processor
  • the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) .
  • These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
  • the software code or firmware code may be developed in different programming languages and different formats or styles.
  • the software code may also be compiled for different target platforms.
  • different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
  • Embodiment of the present invention as described above may be implemented in a video encoder and a video decoder.
  • the components of the video encoder and video decoder may be implemented by hardware components, one or more processors configured to execute program instructions stored in a memory, or a combination of hardware and processor.
  • a processor executes program instructions to control receiving of input data associated with a video sequence including a current block in a current picture.
  • the processor is equipped with a single or multiple processing cores.
  • the processor executes program instructions to perform functions in some components in the encoder and the decoder, and the memory electrically coupled with the processor is used to store the program instructions, information corresponding to the reconstructed images of blocks, and/or intermediate data during the encoding or decoding process.
  • the memory in some embodiment includes a non-transitory computer readable medium, such as a semiconductor or solid-state memory, a random access memory (RAM) , a read-only memory (ROM) , a hard disk, an optical disk, or other suitable storage medium.
  • the memory may also be a combination of two or more of the non-transitory computer readable medium listed above.

Landscapes

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

Abstract

A method and apparatus of motion vector reconstruction based on one MVP (motion vector predictor) and one MVD (motion vector difference) are disclosed. According to this method, input data associated with a video sequence including a current block in a current picture are received. Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is evaluated. A target candidate MV position among all candidate reconstructed MV positions is selected. The current block is encoded or decoded using a target candidate MV corresponding to the target candidate MV position.

Description

METHOD AND APPARATUS FOR MOTION VECTOR SIGN PREDICTION IN VIDEO CODING
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention claims priority to U.S. Provisional Patent Application, Serial No. 62/425,172, filed on November 22, 2016. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present invention relates to motion vector prediction for video coding. In particular, the present invention relates to motion vector sign derivation or prediction to improve coding efficiency of motion vector coding.
BACKGROUND
High-Efficiency Video Coding (HEVC) is a new international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC) . HEVC is based on the hybrid block-based motion-compensated DCT-like transform coding architecture. The basic unit for compression, termed as coding unit (CU) , is a 2Nx2N square block, and each CU can be recursively split into four smaller CUs until the predefined minimum size is reached. Each CU contains one or multiple prediction units (PUs) .
To achieve the best coding efficiency of hybrid coding architecture in HEVC, there are two kinds of prediction modes for each PU, which are Intra prediction and Inter prediction. For Intra prediction modes, the spatial neighbouring reconstructed pixels can be used to generate the directional predictions. There are up to 35 directions in HEVC. For Inter prediction modes, the temporal reconstructed reference frames can be used to generate motion compensated predictions. There are three different modes, including Skip, Merge and Inter Advanced Motion Vector Prediction (AMVP) modes.
When a PU is coded in Inter AMVP mode, motion-compensated prediction is performed with transmitted motion vector differences (MVDs) that can be used together with Motion Vector Predictors (MVPs) for deriving motion vectors (MVs) . To decide MVP in Inter AMVP mode, the  advanced motion vector prediction (AMVP) scheme is used to select a motion vector predictor among an AMVP candidate set including two spatial MVPs and one temporal MVP. Therefore, in AMVP mode, an MVP index for MVP and the corresponding MVDs are required to be encoded and transmitted. In addition, the Inter prediction direction to specify the prediction directions among bi-prediction, and uni-prediction related to list 0 (L0) and list 1 (L1) along with the reference frame index for each list should also be encoded and transmitted.
When a PU is coded in either Skip or Merge mode, no motion information is transmitted except for the Merge index of the selected candidate. That is because the Skip and Merge modes utilize motion inference methods (i.e., MV=MVP+MVD, where MVD is zero) to obtain the motion information from spatial neighbouring blocks (spatial candidates) or a temporal block (temporal candidate) located in a co-located picture where the co-located picture is the first reference picture in list 0 or list 1, which is signalled in the slice header. In the case of a Skip PU, the residual signal is also omitted. To decide the Merge index for the Skip and Merge modes, the Merge scheme is used to select a motion vector predictor among a Merge candidate set containing four spatial MVPs and one temporal MVP.
SUMMARY
A method and apparatus of motion vector reconstruction in a video coding system based on one MVP (motion vector predictor) and one MVD (motion vector difference) are disclosed. According to this method, input data associated with a video sequence including a current block in a current picture are received. An MVP from the input data for the current block is determined. Also, first magnitude and second magnitude of an MVD associated with the current block are determined. Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD. A template for the current block is determined, where the template is formed from neighbouring reconstructed pixels of the current block. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is evaluated. A target candidate MV position among all candidate reconstructed MV positions is selected based on one or more performance criteria including best template matching among all candidate reconstructed MV positions. The current block is encoded or decoded using a target candidate MV corresponding to the target candidate MV position.
The template matching is evaluated based on a pre-determined criterion comprising  SAD (sum of absolution differences) or SSD (sum of squared differences) . The performance criteria further include other decoder side information comprising statistics of previous selected sign pair or previous MVP. In one embodiment, the template matching between the template for the current block and the corresponding template for each candidate reconstructed MV position is evaluated based on nearby integer pixel positions of the corresponding template if the MVP or the MVD has fractional-pel precision. In this case, if two corresponding templates for two candidate reconstructed MV positions fall into a same location, locations of said two corresponding templates are modified to become separate. Furthermore, the locations of the two corresponding templates can be modified to be on a left side and a right side of the MVP, or on an upper side and a lower side of the MVP.
The method may comprise pruning one or more candidate reconstructed MV positions based on distance between one MVP and one candidate reconstructed MV position, where if a specific candidate reconstructed MV position is closer to another MVP in a candidate MVP set than the MVP, the specific candidate reconstructed MV position is pruned and not evaluated for the template matching.
Whether to encode or decode the current block using the target candidate MV can be turned on or off explicitly by signalling a control flag. Alternatively, whether to encode or decode the current block using the target candidate MV can also be turned on or off implicitly. For example, whether to encode or decode the current block using the target candidate MV can be turned on or off based on a result of an exclusive OR operation applied to the first magnitude and the second magnitude of the MVD.
The selected sign pair corresponding to the target candidate MV position can be used as a predictor for encoding or decoding signs of the MVD. A prediction hit condition corresponding to the signs of the MVD being equal to the selected sign pair can be coded using a single bit or the shortest codeword. Other prediction conditions corresponding to the signs of the MVD being not equal to the selected sign pair can be coded using two or more bits, where the other prediction conditions include a horizontal flip condition, a vertical flip condition and a diagonal flip condition. The bins generated for prediction conditions associated with blocks in the current picture can be context coded.
In another embodiment, if any of the first magnitude and the second magnitude of the MVD is zero, a first single sign from the current block can be combined with a second single sign from another block or another prediction list to form a joint sign pair, and a prediction hit condition corresponding to both the first single sign and the second single sign being correctly predicted can be coded using a single bit or the shortest codeword. Other prediction conditions corresponding to at least one of the joint sign pair being not correctly predicted can be coded using two or more bits,  where the other prediction conditions include a first single sign hit and a second single sign miss condition, a first single sign miss and a second single sign hit condition and both the first single sign miss and the second single sign miss condition.
Aspects of the disclosure further provide a non-transitory computer readable medium storing program instructions for causing a processing circuit of an apparatus to perform a motion vector reconstruction method based on one MVP (motion vector predictor) and one MVD (motion vector difference) . In some embodiment, input data associated with a video sequence including a current block in a current picture are received. An MVP from the input data for the current block is determined. Also, first magnitude and second magnitude of an MVD associated with the current block are determined. Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD. A template for the current block is determined, where the template is formed from neighbouring reconstructed pixels of the current block. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is evaluated. A target candidate MV position among all candidate reconstructed MV positions is selected based on one or more performance criteria including best template matching among all candidate reconstructed MV positions. The current block is encoded or decoded using a target candidate MV corresponding to the target candidate MV position.
BRIEF DESCRIPTION OF DRAWINGS
Fig. 1 illustrates an example of motion vector (MV) reconstruction based on the motion vector predictor (MVP) and magnitudes of motion vector differences (MVDs) .
Fig. 2 illustrates an example of sign derivation for motion vector differences (MVDs) using template matching according to the present invention.
Fig. 3 illustrates an example of pruning one or more candidate sign positions using available information at the decoder side, such as the distance between a candidate sign position and motion vector predictors (MVP) including a current MVP and another MVP from the candidate MVP set.
Fig. 4 illustrates an exemplary flowchart of video coding system incorporate an embodiment of the present invention, where the signs of motion vector differences (MVDs) are derived or predicted using template matching.
DETAILED DESCRIPTION
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
When a current block (or a prediction unit, PU) is coded in Inter AMVP mode, an MVP index and two MVDs for X and Y components are coded to represent the MVs. According to HEVC, for each MVD, magnitude and sign are coded separately using CABAC (Context-Adaptive Binary Arithmetic Coding) entropy coding. Due to different statistics, the magnitude part is always coded using context bin and the sign part is coded using bypass bin (i.e., with equal probability) . In this invention, a scheme to code (i.e., encode/decode) the MVD signs more efficiently is disclosed.
When MVP is used, MVs are reconstructed using MVP and MVDs at the decoder side. With the signs of MVDs un-knowing, there are four possibilities for each MV, as shown in Fig. 1. As shown in Fig. 1, absMvdHor and absMvdVer are the absolute values (i.e., magnitudes) of the X and Y components of the MVD 110 respectively. As shown in this example, if the signs of both X and Y components of the MVD are positive, then the MV can be derived using MVP plus MVD (i.e., MV = MVP + MVD) as indicated in Fig. 1. If the decoder can infer the correct sign position, there is no need to code the signs in the bitstream. In order to perform the decoding process correctly, the same sign derivation process will be performed at the encoder side as well. In Fig. 1, the circle labelled as MVP indicates the position pointed to by the MVP. The four circles labelled with different sign pairs (i.e., (+, +) , (+, -) , (-, +) , (-, -) ) correspond to four possible sign positions pointed to by the reconstructed MV. In this disclosure, the MVD may also refer to a vector with MVD X component and MVD Y component for convenience.
In one embodiment, template matching method is used for the decoder to derive the correct sign position. An example of deriving the correct sign position is shown in Fig. 2, where the MV of a current block (214) is to be decoded. The neighbouring reconstructed pixels of current block 214 are used to form a template (210) . The MVP can be derived at the decoder side according to MVP index. At the encoder side, the MVP will be selected from a candidate list and the index of the selected MVP is signalled in the bitstream. When the absMvdHor and absMvdVer are decoded at the decoder, the four possible positions of the reconstructed MV can be determined as shown by the four circles labelled with different sign pairs. The corresponding templates at each possible reconstructed MV position (also referred as “candidate reconstructed MV position” in this  disclosure) can be formed. In Fig. 2, the corresponding template (220) for possible position corresponding to (-, +) is shown. Similarly, the templates for three other possible positions can be determined. The corresponding templates are formed with the same number of pixels, shape and distance as the template for the current block in order to perform the template matching. For example, template 210 is matched with template 220. After the matching results for all four possible positions are determined, the best match position based on a predetermined criterion (e.g. SAD or SSD) can be inferred to be the final MVD sign position. Any other information available at the decoder side can also be used to help the sign deriving process and to improve the correctness. For example, the previous statistics of the sign position, MVP position etc. can be used.
In another embodiment, the templates for the four possible sign positions can be derived without using the exact MV precision. For example, if the MVs are coded using quarter-pixel precision, the template positions can be derived using the nearest integer position. However, the two integer-based template positions associated with the “-” and “+” signs in the X direction or the Y direction may fall into the same position, which may occur particularly for small absMvdHor or absMvdVer. If any two of these integer-based templates fall into a same position, constraints or rules can be applied to make sure the two templates are apart from each other. For example, if two templates fall into the same position, one should be located at the left hand side of the MVP and the other should be located at the right hand side of the MVP. Alternatively, one should be located at the upper side of the MVP and the other should be located at the lower side of the MVP.
In another embodiment, the available information at the decoder can be used to improve the correctness of the sign prediction derivation process. Fig. 3 illustrates an example, where there are a total of two MVPs (e.g. MVP1 and MVP2) and MVP1 is used for the current block by the encoder. In other words, MVP2 is in the candidate MVP set, but not selected by the encoder as the MVP for the current block. At the decoder side, one or more of the four possible MVD sign positions can be pruned according to the corresponding distances from a sign position to these two MVPs. As shown in this example, if the (-, +) position is used to reconstruct the MV, the resulted MV position will be closer to MVP2 position instead of MVP1 position. Therefore, the sign (-, +) position can be pruned since the encoder would favour a shorter distance (i.e., smaller MVD magnitude) between a sign position and the MVP position. If the (-, +) position is the correct position, the encoder would have selected MVP2 instead of MVP1. By pruning some of the sign positions, it can reduce the possibility of selecting a wrong sign position and also reduce the required computations for evaluating the template matching.
In another embodiment, the sign derivation process can be signalled using one explicit flag to turn on and off.
In another embodiment, the sign derivation process can be determined using implicit method to turn on and off. For example, to turn on the process when the XOR (i.e., exclusive OR operation) between the X component of the MVD and the Y component of the MVD results in an even number (i.e., “0” ) , and to turn off otherwise.
In another embodiment, the derived sign position can be used a predictor. The true MVD sign can be coded using residues. Table 1 illustrates an example of a codeword table to code the sign residues using the sign predictors. According to the codeword table, if the predictor inferred by the derived sign process matches the true MVD sign position, only one bin or bin (i.e., “0” in Table 1) needs to be coded. On the other hand, the original method will require two bins or bits (one for each sign) for the MVDs. If the predictor is wrong and is the true MVD sign position matches the diagonal sign position of the derived sign position (referred as Diagonal flipping for this condition) , more bins or bits (three in this example) are needed. However, no matter how many bins or bits are used in this sign residue coding, coding sign will no longer use bypass bin with equal probability. Instead, it can use context coding with more efficient adaptive probability update. Table 1 also include horizontal flip prediction condition and vertical flip prediction condition. The horizontal flip prediction condition refers to the condition that the true MVD sign position matches the other sign position in the horizontal direction of the derived sign position. The vertical flip prediction condition refers to the condition that the true MVD sign position matches the other sign position in the vertical direction of the derived sign position. In the example as shown in Table 1, the predictor matching the true MVD sign position (i.e., a prediction hit condition corresponding to the signs of the MVD being equal to the selected sign pair) is coded using shortest codeword.
Table 1.
  Code word
Prediction hit 0
Horizontal flip 10
Vertical flip 110
Diagonal flip 111
In another embodiment, when any one of the X component and Y component of the MVD is zero, there exist only one MVD sign and two possible sign positions for the non-zero components. In that case, only one code word is needed to indicate if the prediction is hit or not (i.e., miss) in Table 1. The codeword table in Table 1 is still applicable. However, more efficient variation  may be applied. Two single sign residues that may come from different prediction lists or different blocks can be combined into one and then use the codeword table in Table 2. In this situation, the code word table will represent different semantics as shown in Table 2.
Table 2.
  Code word
Both hit 0
The first hit and the second miss 10
The first miss and the second hit 110
Both miss 111
In another embodiment, at the encoder side, the bits resulted from the sign residues can be taken into consideration during the mode decision in order to choose the best modes. Moreover, during the motion estimation for searching the MVs, it can also consider the sign residue bits for every MV position. In other words, the MV not only generates the better predictors for the current block, but also results in less coded bin for the MVD sign residues.
Fig. 4 illustrates an exemplary flowchart of video coding system incorporate an embodiment of the present invention, where the signs of motion vector differences (MVDs) are derived or predicted using template matching. The steps shown in the flowchart, as well as other flowcharts in this disclosure, may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side and/or the decoder side. The steps shown in the flowchart may also be implemented based on hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data associated with a video sequence including a current block in a current picture are received in step 410. At the encoder side, the input data may correspond to pixel data associated with a video sequence. At the decoder side, the input data may correspond to video bitstream or compressed data for the video sequence. An MVP from the input data for the current block is determined in step 420. As is known in video coding, the encoder may selects the MVP from a candidate MVP set and signal the MVP index associated with the selected MVP. The decoder can selected the MVP from the candidate MVP set according to the MVP index. The first magnitude and second magnitude of an MVD associated with the current block are determined in step 430. The encoder can obtain the MVD from the difference between the current MV and the MVP. The magnitudes of the MVD are signalled in the bitstream. The decoder may recover the magnitudes of the MVD from the bitstream.  Candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD are derived in step 440, where each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD. This same step is performed at the encoder as well as the decoder. A template for the current block is determined in step 450, where the template is formed from neighbouring reconstructed pixels of the current block. Template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position is then performed in step 460. A target candidate MV position is selected among all candidate reconstructed MV positions based on one or more performance criteria including best template matching among all candidate reconstructed MV positions in step 470. Encoding or decoding is then applied to the current block using a target candidate MV corresponding to the target candidate MV position in step 480.
The flowchart shown is intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also  involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention. Embodiment of the present invention as described above may be implemented in a video encoder and a video decoder. The components of the video encoder and video decoder may be implemented by hardware components, one or more processors configured to execute program instructions stored in a memory, or a combination of hardware and processor. For example, a processor executes program instructions to control receiving of input data associated with a video sequence including a current block in a current picture. The processor is equipped with a single or multiple processing cores. In some examples, the processor executes program instructions to perform functions in some components in the encoder and the decoder, and the memory electrically coupled with the processor is used to store the program instructions, information corresponding to the reconstructed images of blocks, and/or intermediate data during the encoding or decoding process. The memory in some embodiment includes a non-transitory computer readable medium, such as a semiconductor or solid-state memory, a random access memory (RAM) , a read-only memory (ROM) , a hard disk, an optical disk, or other suitable storage medium. The memory may also be a combination of two or more of the non-transitory computer readable medium listed above.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (20)

  1. A method of motion vector reconstruction in a video coding system based on one MVP (motion vector predictor) and one MVD (motion vector difference) , the method comprising:
    receiving input data associated with a video sequence including a current block in a current picture;
    determining an MVP from the input data for the current block;
    determining first magnitude and second magnitude of an MVD associated with the current block;
    deriving candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD, wherein each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD;
    determining a template for the current block, wherein the template is formed from neighbouring reconstructed pixels of the current block;
    evaluating template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position;
    selecting a target candidate MV position among all candidate reconstructed MV positions based on one or more performance criteria including best template matching among all candidate reconstructed MV positions; and
    encoding or decoding the current block using a target candidate MV corresponding to the target candidate MV position.
  2. The method of claim 1, wherein the template matching is evaluated based on a pre-determined criterion comprising SAD (sum of absolution differences) or SSD (sum of squared differences) .
  3. The method of claim 1, wherein said one or more performance criteria further include other decoder side information comprising statistics of previous selected sign pair or previous MVP.
  4. The method of claim 1, wherein the template matching between the template for the current block and the corresponding template for each candidate reconstructed MV position is evaluated based on nearby integer pixel positions of the corresponding template if the MVP or the MVD has fractional-pel precision.
  5. The method of claim 4, wherein if two corresponding templates for two candidate reconstructed MV positions fall into a same location, locations of said two corresponding templates are modified to become separate.
  6. The method of claim 5, wherein said locations of said two corresponding templates are  modified to be on a left side and a right side of the MVP, or on an upper side and a lower side of the MVP.
  7. The method of claim 1, further comprising pruning one or more candidate reconstructed MV positions based on distance between one MVP and one candidate reconstructed MV position, wherein if a specific candidate reconstructed MV position is closer to another MVP in a candidate MVP set than the MVP, the specific candidate reconstructed MV position is pruned and not evaluated for the template matching.
  8. The method of claim 1, wherein whether to encode or decode the current block using the target candidate MV is turned on or off explicitly by signalling a control flag.
  9. The method of claim 1, wherein whether to encode or decode the current block using the target candidate MV is turned on or off implicitly.
  10. The method of claim 9, wherein whether to encode or decode the current block using the target candidate MV is turned on or off based on a result of an exclusive OR operation applied to the first magnitude and the second magnitude of the MVD.
  11. The method of claim 1, wherein selected sign pair corresponding to the target candidate MV position is used as a predictor for encoding or decoding signs of the MVD.
  12. The method of claim 11, wherein a prediction hit condition corresponding to the signs of the MVD being equal to the selected sign pair is coded using shortest codeword.
  13. The method of claim 11, wherein a prediction hit condition corresponding to the signs of the MVD being equal to the selected sign pair is coded using a single bit.
  14. The method of claim 13, wherein other prediction conditions corresponding to the signs of the MVD being not equal to the selected sign pair are coded using two or more bits, wherein said other prediction conditions include a horizontal flip condition, a vertical flip condition and a diagonal flip condition.
  15. The method of claim 14, wherein bins generated for prediction conditions associated with blocks in the current picture are context coded.
  16. The method of claim 1, wherein if any of the first magnitude and the second magnitude of the MVD is zero, a first single sign from the current block is combined with a second single sign from another block or from the current block in another prediction list to form a joint sign pair.
  17. The method of claim 16, wherein a prediction hit condition corresponding to both the first single sign and the second single sign being correctly predicted is coded using a single bit or a shortest codeword.
  18. The method of claim 16, wherein other prediction conditions corresponding to at least one of the joint sign pair being not correctly predicted are coded using two or more bits, wherein said other  prediction conditions include a first single sign hit and a second single sign miss condition, a first single sign miss and a second single sign hit condition and both the first single sign miss and the second single sign miss condition.
  19. An apparatus for motion vector reconstruction in a video coding system based on one MVP (motion vector predictor) and one MVD (motion vector difference) , the apparatus comprising one or more electronic devices or processors configured to:
    receive input data associated with a video sequence including a current block in a current picture;
    determine an MVP from the input data for the current block;
    determine first magnitude and second magnitude of an MVD associated with the current block;
    derive candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD, wherein each candidate reconstructed MV position is derived as a vector sum of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD;
    determine a template for the current block, wherein the template is formed from neighbouring reconstructed pixels of the current block;
    evaluate template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position;
    select a target candidate MV position among all candidate reconstructed MV positions based on one or more performance criteria including best template matching among all candidate reconstructed MV positions; and
    encode or decode the current block using a target candidate MV corresponding to the target candidate MV position.
  20. A non-transitory computer readable medium storing program instructions causing a processing circuit of an apparatus to perform a motion vector reconstruction method based on one MVP (motion vector predictor) and one MVD (motion vector difference) , and the method comprising:
    receiving input data associated with a video sequence including a current block in a current picture;
    determining an MVP from the input data for the current block;
    determining first magnitude and second magnitude of an MVD associated with the current block;
    deriving candidate reconstructed MV (motion vector) positions corresponding to all candidate sign pairs of the MVD, wherein each candidate reconstructed MV position is derived as a vector sum  of the MVP and the first magnitude and the second magnitude of the MVD with one candidate sign pair of the MVD;
    determining a template for the current block, wherein the template is formed from neighbouring reconstructed pixels of the current block;
    evaluating template matching between the template for the current block and a corresponding template for each candidate reconstructed MV position;
    selecting a target candidate MV position among all candidate reconstructed MV positions based on one or more performance criteria including best template matching among all candidate reconstructed MV positions; and
    encoding or decoding the current block using a target candidate MV corresponding to the target candidate MV position.
PCT/CN2017/112140 2016-11-22 2017-11-21 Method and apparatus for motion vector sign prediction in video coding Ceased WO2018095313A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201780069192.3A CN109964484B (en) 2016-11-22 2017-11-21 Method and apparatus for motion vector symbol prediction in video coding
TW106140281A TWI655864B (en) 2016-11-22 2017-11-21 Method and device for motion vector symbol prediction in video coding
US16/462,559 US10701392B2 (en) 2016-11-22 2017-11-21 Method and apparatus for motion vector sign prediction in video coding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662425172P 2016-11-22 2016-11-22
US62/425,172 2016-11-22

Publications (1)

Publication Number Publication Date
WO2018095313A1 true WO2018095313A1 (en) 2018-05-31

Family

ID=62196152

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/112140 Ceased WO2018095313A1 (en) 2016-11-22 2017-11-21 Method and apparatus for motion vector sign prediction in video coding

Country Status (4)

Country Link
US (1) US10701392B2 (en)
CN (1) CN109964484B (en)
TW (1) TWI655864B (en)
WO (1) WO2018095313A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019235896A1 (en) * 2018-06-07 2019-12-12 주식회사 윌러스표준기술연구소 Video signal processing method and apparatus using adaptive motion vector resolution
CN110620932A (en) * 2018-06-19 2019-12-27 北京字节跳动网络技术有限公司 Mode dependent motion vector difference accuracy set
CN113676737A (en) * 2021-08-02 2021-11-19 上海影谱科技有限公司 GPU-based efficient video encoder and encoding method
CN113785579A (en) * 2019-04-25 2021-12-10 北京字节跳动网络技术有限公司 Constraint on motion vector difference
US11653020B2 (en) 2018-09-19 2023-05-16 Beijing Bytedance Network Technology Co., Ltd Fast algorithms for adaptive motion vector resolution in affine mode
US11812028B2 (en) 2019-06-25 2023-11-07 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
US12058367B2 (en) 2019-01-31 2024-08-06 Beijing Bytedance Network Technology Co., Ltd Context for coding affine mode adaptive motion vector resolution
US12108072B2 (en) 2019-01-31 2024-10-01 Beijing Bytedance Network Technology Co., Ltd. Fast algorithms for symmetric motion vector difference coding mode

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10701391B2 (en) * 2017-03-23 2020-06-30 Qualcomm Incorporated Motion vector difference (MVD) prediction
TWI859156B (en) * 2018-09-08 2024-10-21 大陸商北京字節跳動網絡技術有限公司 Affine mode in video coding and decoding
US20230094825A1 (en) * 2021-09-28 2023-03-30 Qualcomm Incorporated Motion vector difference sign prediction for video coding
US12382057B2 (en) * 2021-10-21 2025-08-05 Tencent America LLC Interdependence between adaptive resolution of motion vector difference and signaling/derivation of motion vector-related parameters
WO2023091775A1 (en) 2021-11-22 2023-05-25 Beijing Dajia Internet Information Technology Co., Ltd. Decoder side motion information derivation
WO2023131546A1 (en) * 2022-01-04 2023-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Motion vector difference derivation
CN119234423A (en) * 2022-04-29 2024-12-31 联发科技股份有限公司 Method and apparatus for decoder-side motion derivation in video codec systems
US12506875B2 (en) * 2022-10-19 2025-12-23 Tencent America LLC Method and apparatus for motion vector coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130003849A1 (en) * 2011-07-01 2013-01-03 Qualcomm Incorporated Video coding using adaptive motion vector resolution
CN104519363A (en) * 2013-09-26 2015-04-15 汤姆逊许可公司 Video encoding/decoding methods, corresponding computer programs and video encoding/decoding devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101441905B1 (en) * 2009-11-18 2014-09-24 에스케이텔레콤 주식회사 Method and apparatus for motion vector coding / decoding using candidate prediction motion vector set selection and image coding / decoding method and apparatus using the same
US20140078249A1 (en) * 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of frame-packed stereoscopic 3d video data for video coding
US20140092962A1 (en) 2012-10-01 2014-04-03 Sony Corporation Inter field predictions with hevc
US20160301941A1 (en) 2013-09-09 2016-10-13 Nec Corporation Video-encoding device, video-encoding method, and program
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130003849A1 (en) * 2011-07-01 2013-01-03 Qualcomm Incorporated Video coding using adaptive motion vector resolution
CN104519363A (en) * 2013-09-26 2015-04-15 汤姆逊许可公司 Video encoding/decoding methods, corresponding computer programs and video encoding/decoding devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
STANKOWSKI, JAKUB ET AL.: "Analysis of Compressed Data Stream Content in HEVC Video Encoder", INTL JOURNAL OF ELECTRONICS AND TELECOMMUNICATIONS, vol. 61, no. 2, 30 June 2015 (2015-06-30), pages 121 - 127, XP055488610 *
SZE, VIVIENNE ET AL.: "High Throughput CABAC Entropy Coding in HEVC", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, 31 December 2012 (2012-12-31), pages 1778 - 1791, XP011487151 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706440B2 (en) 2018-06-07 2023-07-18 Wilus Institute Of Standards And Technology Inc. Video signal processing method and apparatus using adaptive motion vector resolution
CN112237001A (en) * 2018-06-07 2021-01-15 韦勒斯标准与技术协会公司 Video signal processing method and apparatus using adaptive motion vector resolution
US11166040B2 (en) 2018-06-07 2021-11-02 Wilus Institute Of Standards And Technology Inc. Video signal processing method and apparatus using adaptive motion vector resolution
WO2019235896A1 (en) * 2018-06-07 2019-12-12 주식회사 윌러스표준기술연구소 Video signal processing method and apparatus using adaptive motion vector resolution
CN112237001B (en) * 2018-06-07 2024-04-12 韦勒斯标准与技术协会公司 Video signal processing method and apparatus using adaptive motion vector resolution
US12101501B2 (en) 2018-06-07 2024-09-24 Wilus Institute Of Standards And Technology Inc. Video signal processing method and apparatus using adaptive motion vector resolution
CN110620932B (en) * 2018-06-19 2022-11-08 北京字节跳动网络技术有限公司 Mode-dependent motion vector difference accuracy set
US11477458B2 (en) 2018-06-19 2022-10-18 Beijing Bytedance Network Technology Co., Ltd. Mode dependent motion vector difference precision set
CN110620932A (en) * 2018-06-19 2019-12-27 北京字节跳动网络技术有限公司 Mode dependent motion vector difference accuracy set
US12022087B2 (en) 2018-06-19 2024-06-25 Beijing Bytedance Network Technology Co., Ltd Mode dependent motion vector difference precision set
US12278985B2 (en) 2018-09-19 2025-04-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
US11653020B2 (en) 2018-09-19 2023-05-16 Beijing Bytedance Network Technology Co., Ltd Fast algorithms for adaptive motion vector resolution in affine mode
US12058367B2 (en) 2019-01-31 2024-08-06 Beijing Bytedance Network Technology Co., Ltd Context for coding affine mode adaptive motion vector resolution
US12108072B2 (en) 2019-01-31 2024-10-01 Beijing Bytedance Network Technology Co., Ltd. Fast algorithms for symmetric motion vector difference coding mode
CN113785579A (en) * 2019-04-25 2021-12-10 北京字节跳动网络技术有限公司 Constraint on motion vector difference
US11909982B2 (en) 2019-04-25 2024-02-20 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
CN113785579B (en) * 2019-04-25 2023-10-20 北京字节跳动网络技术有限公司 Constraint on motion vector differences
US11812028B2 (en) 2019-06-25 2023-11-07 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
US12126808B2 (en) 2019-06-25 2024-10-22 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
US12401797B2 (en) 2019-06-25 2025-08-26 Beijing Bytedance Network Technology Co., Ltd. Restrictions on motion vector difference
CN113676737A (en) * 2021-08-02 2021-11-19 上海影谱科技有限公司 GPU-based efficient video encoder and encoding method

Also Published As

Publication number Publication date
CN109964484B (en) 2021-11-09
US20190289317A1 (en) 2019-09-19
US10701392B2 (en) 2020-06-30
TW201826799A (en) 2018-07-16
TWI655864B (en) 2019-04-01
CN109964484A (en) 2019-07-02

Similar Documents

Publication Publication Date Title
US10701392B2 (en) Method and apparatus for motion vector sign prediction in video coding
US11159788B2 (en) Method and apparatus of enhanced Intra Block Copying mode for video coding
US10412407B2 (en) Method and apparatus of inter prediction using average motion vector for video coding
KR102711349B1 (en) Constructing a history-based list of motion candidates for on-screen block copying
CA2995507C (en) Method and apparatus of decoder side motion derivation for video coding
US10701393B2 (en) Method and apparatus of reordering motion vector prediction candidate set for video coding
US10257536B2 (en) Method of temporal derived bi-directional motion vector for motion vector prediciton
US10097850B2 (en) Method and apparatus for removing redundancy in motion vector predictors
WO2018099269A1 (en) Method and apparatus of merge mode derivation for video coding
US20170310988A1 (en) Method of Motion Vector Predictor or Merge Candidate Derivation in Video Coding
CN105898325B (en) Method and device for deriving motion vector predictor candidate item set
US20180255316A1 (en) Method and Apparatus for Deriving Temporal Motion Vector Prediction
US11381838B2 (en) Method and apparatus of improved merge with motion vector difference for video coding
US11503329B2 (en) Method and apparatus of simplified sub-mode for video coding
US10298951B2 (en) Method and apparatus of motion vector prediction

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

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

Country of ref document: EP

Kind code of ref document: A1