WO2019068753A1 - Improved motion vector protection - Google Patents

Improved motion vector protection Download PDF

Info

Publication number
WO2019068753A1
WO2019068753A1 PCT/EP2018/076896 EP2018076896W WO2019068753A1 WO 2019068753 A1 WO2019068753 A1 WO 2019068753A1 EP 2018076896 W EP2018076896 W EP 2018076896W WO 2019068753 A1 WO2019068753 A1 WO 2019068753A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
candidate
hole
current block
neighboring
Prior art date
Application number
PCT/EP2018/076896
Other languages
French (fr)
Inventor
Ruoyang YU
Per Wennersten
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of WO2019068753A1 publication Critical patent/WO2019068753A1/en

Links

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • Certain embodiments of the present disclosure relate, in general, to video coding and more particularly to improved motion vector protection.
  • intra prediction removes redundancy in the spatial dimensions. It predicts a block using the previous decoded blocks within the current picture.
  • a picture consisting of only intra-predicted blocks is referred to as an intra picture.
  • Temporal prediction removes redundancy in temporal dimension. It predicts blocks of the current picture using blocks from previous decoded pictures.
  • the previous decoded pictures that are used for prediction are referred to as reference pictures.
  • the location of the referenced block inside the reference picture is indicated using a motion vector (MV).
  • MV motion vector
  • FIGURE 1 illustrates an example MV.
  • FIGURE 1 is a MV for the current block C.
  • the MVs can point to the fractional sample positions in the reference picture.
  • Those fractional samples are generated from the nearby integer samples using interpolation, which could be viewed as a weighted averaging process.
  • a picture that allows inter-predicted blocks is referred to as an inter picture.
  • Inter pictures may have several reference pictures. These reference pictures are usually grouped into two reference picture lists, list 0 and list 1. The reference pictures that display before the current picture are grouped into list 0. The reference pictures that display after the current picture are grouped into list 1.
  • Inter predicted blocks can have two prediction types, uni- and bi-prediction.
  • FIGURE 2 illustrates example uni- and bi- prediction.
  • Uni-prediction is achieved by predicting from one block in one reference picture.
  • Bi-prediction is achieved by predicting from two blocks in one or two reference pictures.
  • the corresponding prediction block is a blending of the two reference blocks.
  • the default blending method in HEVC takes the average of the two blocks.
  • the encoder would search for the best prediction block within the reference picture that yields the smallest Rate- Distortion (RD) cost.
  • the RD cost is calculated as D + ⁇ * R.
  • the D (Distortion) measures the similarity between the prediction block and current block.
  • the R (Rate) is usually an estimation of the final bits to be spent on encoding the corresponding MV.
  • the A is a tradeoff parameter between R and D.
  • FIGURE 3 illustrates possible spatial positions for fetching neighboring MVs. Specifically, FIGURE 3 shows the spatially neighboring positions: left (L), top(T), top-right(TR), left- bottom (LB) and top-left (TL).
  • FIGURE 4 illustrates intra blocks breaking the continuity of MV inside an inter picture.
  • the MV field discontinuity issue may also be introduced by uni-predicted inter blocks inside a B-picture. As uni-predicted inter blocks only contains MV for one direction, the previous MV for the other direction will not be carried on even though it might be very relevant for future inter blocks.
  • FIGURE 5 illustrates a uni-predicted inter block breaking continuity of MV inside a B-picture.
  • Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges by proposing two schemes for countering the motion vector (MV) discontinuity introduced by intra blocks or uni-predicted inter blocks.
  • MV motion vector
  • a method for improved motion vector (MV) prediction includes identifying a hole of a MV field inside an inter picture in a video sequence.
  • the hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture.
  • the method includes deriving a list of a plurality of MV candidates for the block in the video sequence, selecting a particular MV candidate from the list of the plurality of MV candidates, and filling in the hole of the MV field when the hole is introduced.
  • a device for improved MV prediction includes memory storing instructions and processing circuitry operable to execute the instructions to cause the device to identify a hole of a MV field inside an inter picture in a video sequence.
  • the hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture.
  • a list of a plurality of MV candidates is determined for the block in the video sequence.
  • a particular MV candidate form the list of the plurality of MV candidates, and the hole of the MV field is filled in when the hole is introduced.
  • a method for improved MV prediction includes identifying a hole of a MV field in a video sequence when encoding or decoding a current block of the video sequence.
  • the hole of the MV field includes a previously encoded or decoded block in the video sequence that does not contain a MV.
  • the hole of the MV field is counted by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
  • a device for improved MV prediction includes memory storing instructions and processing circuitry operable to execute the instructions to cause the device to identify a hole of a MV field in a video sequence when encoding or decoding a current block of the video sequence.
  • the hole of the MV field includes a previously encoded or decoded block in the video sequence that does not contain a MV.
  • the hole of the MV field is counted by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
  • Certain embodiments may provide one or more of the following technical advantages).
  • an advantage of certain embodiments may include improved compression efficiency from better MV prediction.
  • an advantage of certain embodiments may include improved subjective quality for inter pictures. For example, certain embodiments may alleviate penalties on MV prediction so that more blocks can be coded using inter mode, which may reduce the intra flicking artefacts.
  • Certain embodiments may include none, some, or all of these advantages. Certain embodiments may include other advantages, as would be understood by a person having ordinary skill in the art.
  • FIGURE 1 illustrates an example motion vector (MV);
  • FIGURE 2 illustrates example uni- and bi- prediction
  • FIGURE 3 illustrates possible spatial positions for fetching neighboring MVs
  • FIGURE 4 illustrates intra blocks breaking the continuity of MV inside an inter picture
  • FIGURE 5 illustrates a uni-predicted inter block breaking continuity of MV inside a B- picture
  • FIGURE 6 illustrates an example of right and bottom pixels in a 4x4 block with corresponding weights, according to certain embodiments
  • FIGURE 7 illustrates a faster jumping approach, according to certain embodiments.
  • FIGURE 8 illustrates an example method for improving MV prediction, according to certain embodiments
  • FIGURE 9 illustrates an example method for countering the hole when the hole is first introduced, according to certain embodiments.
  • FIGURE 10 illustrates another example method for countering the hole when encoding or decoding a future inter block, according to certain embodiments
  • FIGURE 11 illustrates an example virtual computing device for improving MV prediction, according to certain embodiments
  • FIGURE 12 illustrates another method for improved MV prediction, according to certain embodiments.
  • FIGURE 13 illustrates another example virtual computing device for improving MV prediction, according to certain embodiments
  • FIGURE 14 illustrates another method for improved MV prediction, according to certain embodiments.
  • FIGURE 15 illustrates another example virtual computing device for improving MV prediction, according to certain embodiments.
  • FIGURE 16 illustrates an exemplary network node, in accordance with certain embodiments
  • FIGURE 17 illustrates an exemplary wireless device, in accordance with certain embodiments.
  • FIGURE 18 illustrate an example network node, according to certain embodiments
  • FIGURE 19 illustrates an exemplary radio network controller or core network node, in accordance with certain embodiments.
  • Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges by proposing schemes for countering the motion vector (MV) discontinuity introduced by intra blocks or uni-predicted inter blocks.
  • the schemes counter the holes of MV fields inside a picture. It is achieved by either filling in the holes when they are introduced or by jumping through the holes when the previous MVs are needed.
  • a MV for each intra or uni-predicted inter block may be selected and stored.
  • the stored MV can be used for prediction.
  • the search range for fetching the neighboring MVs may be increased to consider new neighboring positions that are not necessarily the closest. Accordingly, there are, proposed herein, various embodiments which address one or more of the issues disclosed herein.
  • a method for improved motion vector (MV) prediction in a transmitter includes identifying a hole of a motion vector field inside a picture in a video sequence and countering the hole of the MV field.
  • a method for countering the hole of the MV field when the hole is introduced.
  • the method includes deriving a list of MV candidates for a block of pictures in the video sequence.
  • a MV candidate may be selected from the list and stored.
  • the MV candidate may be used for prediction in at least one future inter block.
  • a method for countering the hole of the MV field by jumping through the hole when encoding or decoding a future inter block.
  • the method includes increasing a search range or the allowed positions for fetching one or more neighboring MVs.
  • a transmitter for improved MV prediction.
  • the transmitter includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
  • a receiver for improved MV prediction.
  • the receiver includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
  • an encoder for improved MV prediction.
  • the encoder includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
  • a decoder for improved MV prediction.
  • the decoder includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
  • FIGURES 1-15 of the drawings like numerals being used for like and corresponding parts of the various drawings.
  • a first scheme may be used to fill in the MV holes when the MV holes are introduced.
  • the scheme is invoked directly after encoding or decoding the block that introduces such a hole.
  • the scheme consists of deriving a list of MV candidates for the block, selecting one of them, and storing it to allow future inter blocks to utilize it for prediction.
  • a MV for each intra or uni-predicted inter block may be selected and stored for use for prediction for future inter blocks.
  • the derivation of MV candidates list may follow the general neighboring MV derivation process.
  • an approach is to select the first candidate inside the list for simplicity.
  • selection schemes may be applied to decide the MV candidates for storing.
  • one possible scheme includes choosing the MV that is closest to the average of all the neighboring candidates.
  • motion compensation may be applied for each candidate. The candidate that results in the smallest difference between the motion- compensated block and the current block's reconstruction may be selected. To compare the difference, metrics like SAD or SATD could be considered, in particular embodiments.
  • FIGURE 6 illustrates an example of right and bottom pixels in a 4x4 block with corresponding weights, according to certain embodiments.
  • the pixels indicated with the circles correspond to the right and bottom boundaries and might be more related to the pixels of the future blocks. According to a particular embodiment, only those pixels may be used for comparing the difference. Alternatively, higher weights may be assigned to the differences coming from those pixels.
  • One benefit of only considering some pixels is that fewer pixels are needed and the generation of those pixels may be skipped during motion compensation.
  • the second scheme includes jumping through the MV holes when encoding or decoding a future inter block.
  • the scheme increases the search range or the allowed positions for fetching the neighboring MVs to consider new neighboring positions that are not necessarily the closest. This approach may provide larger gains compared to the first scheme. However, it is slightly more complex.
  • a particular embodiment includes tracing all the previous inter coded blocks in inverse decoding order. For each of encountered block, its spatial distance to the current block may be calculated. The MV from the block that is closest to be the additional candidate for predicting current MV may be selected. Additionally or alternatively, one may prioritize MVs with signs that they might be better to use for prediction than the other MVs. For example, one sign may be that the encountered inter block does not contain any residual information. The idea is that good MVs would give good predictions. Thus, such an approach requires less or no residual information to be encoded.
  • a simplified approach would be to include the candidates that are closest in terms of straight horizontal or straight vertical spatial distance, respectively. As when inversely tracing the blocks in horizontal or vertical direction, it is certain that the encountered block would be at its block boundary. Thus, using the corresponding block's width or height information would make it possible to jump through several columns or lines for faster fetching.
  • FIGURE 7 illustrates a faster jumping approach.
  • a threshold on the distance of tracing back may be imposed since it is likely that the relevance of MV decreases with increasing distance.
  • the simplified approach with tracing back distance of 1 CTU size gives the best gain vs. complexity trade-off.
  • the second scheme may also be applied for blocks that already have inter coded neighbors, as it may increase the likelihood of finding the most relevant MV predictor.
  • FIGURE 8 illustrates an example method 100 for improving MV prediction, according to certain embodiments.
  • the method is performed by a transmitter, which may include a wireless device or a network node, according to particular embodiments.
  • the method may be performed by a receiver, which may include wireless device or a network node, according to particular embodiments.
  • the method may be performed by an encoder.
  • the method may be performed by a decoder
  • the method 100 includes identifying a hole of a motion vector field inside a picture in a video sequence.
  • step 104 the hole of the MV field is countered.
  • the step of countering the hole includes filling the hole when the hole is first introduced.
  • FIGURE 9 illustrates a method for countering the hole when the hole is first introduced.
  • the hole may be filled during or just after encoding or decoding.
  • the method begins at step 202 when a list of MV candidates for a block of pictures in the video sequence is derived.
  • a MV candidate is selected from the list.
  • the selected MV candidate is stored.
  • the first MV candidate in the list may be selected.
  • a MV candidate that is closest to an average of all the neighboring candidates may be selected.
  • motion compensation may be applied for each MV candidate and the MV candidate that results in a smallest difference between a motion-compensated block and a current block's reconstruction may be selected.
  • the MV candidate is used for prediction in at least one future inter block.
  • the step of countering the hole may include jumping through the hole when encoding or decoding a future inter block.
  • FIGURE 10 illustrates a method for countering the hole when encoding or decoding a future inter block.
  • a search range or the allowed positions for fetching one or more neighboring MVs is increased. In a particular embodiment, this may include tracing previous inter coded blocks in an inverse decoding order, calculating a spatial distance to the current block, and selecting the MV candidate that is closest to the additional candidate for predicting a current MV.
  • MVs may be prioritized based on a sign that indicate the MVs are better for prediction such as for example where an encountered inter block does not contain any residual information.
  • FIGURE 11 illustrates an example virtual computing device 400 for improving MV prediction, according to certain embodiments.
  • virtual computing device 400 may include modules for performing steps similar to those described above with regard to the method illustrated and described in FIGURE 8.
  • virtual computing device 400 may include an identifying module 410, a countering module 420, and any other suitable modules for improving MV prediction.
  • one or more of the modules may be implemented using processing circuitry 1020 of FIGURE 17 or processing 1120 of FIGURE 18, discussed below.
  • the functions of two or more of the various modules may be combined into a single module.
  • the identifying module 410 may perform the identifying functions of virtual computing device 400. For example, in a particular embodiment, identifying module 410 may identify a hole of a motion vector field inside a picture in a video sequence.
  • the countering module 420 may perform the countering functions of virtual computing device 400. For example, in a particular embodiment, countering module 420 may counter the hole of the MV field.
  • virtual computing device 400 may include additional components beyond those shown in FIGURE 11 that may be responsible for providing certain aspects of the functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above).
  • the various different types of radio nodes for performing the functionality may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
  • FIGURE 12 illustrates another method for improved MV prediction, according to certain embodiments.
  • the method is performed by an encoder.
  • the method is performed by a decoder.
  • the method begins at step 510 when a hole of a MV field is identified inside an inter picture in a video sequence.
  • the hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture.
  • the block in the video sequence is an intra block.
  • an inter B picture allows a block to have two MVs pointing to two reference pictures.
  • an intra block does not contain any MV for any reference picture
  • the block is a uni-predicted inter block inside the video sequence.
  • a uni-predicted inter block only contains a MV for one reference picture.
  • the uni-predicted inter block does not contain a MV for the other reference picture.
  • a list of a plurality of MV candidates is derived for the block in the video sequence.
  • a particular MV candidate is selected from the list of the plurality of MV candidates, at step 530.
  • the method may further include storing the particular MV candidate and using the particular MV candidate for prediction in at least one additional block within the video sequence.
  • the particular MV candidate may be the particular MV candidate that is listed first in the list of the plurality of MV candidates.
  • the particular MV candidate may be the particular MV candidate that is closest to an average of the plurality of MV candidates, where each of the plurality of MV candidates is associated with one of a plurality of neighboring blocks that are adjacent to the block.
  • selecting the particular MV candidate may include applying motion compensation for each of the plurality of MV candidates and selecting the particular MV candidate that results in a smallest difference between a motion-compensated block and a reconstruction of the current block.
  • motion compensation is a process where an encoder or decoder uses MV to fetch a corresponding block from the reference picture that the MV points to.
  • a motion compensated block is generated.
  • the particular MV candidate with the smallest difference between the motion-compensated block and the reconstruction of the current block is referring to the accumulated pixel value differences between the two.
  • only the pixels that are adjacent to the right boundary and the bottom boundary of the block are used in determining the particular MV candidate with the smallest difference between the motion compensated block and the current block. Additionally or alternatively, at least one pixel that is adjacent to the right boundary or the bottom boundary of the block is assigned a higher weight than at least one pixel that is not adjacent to the right boundary or the bottom boundary.
  • the method may further include, for an uni- predicted inter block, scaling the MV of the block to another direction and selecting the particular MV candidate from the list of the plurality of MV candidates that differs a most from the MV after scaling.
  • the accumulated absolute difference between corresponding components of two MVs, MVO and MVl may be calculated to measure the difference between the two MVs as follows:
  • Diff Abs(MvO_x - Mvl_x) + Abs(MvO_x - Mvl_y)
  • a MV contains two components, x and y, which signal horizontal displacement and vertical displacement, respectively.
  • three values are needed. First, the current picture's picture order count (POCA) is needed. Second, a first reference picture's picture order count (POC0) is needed. Finally, a second reference picture's picture order count (POC1) is needed. For an uni-predicted block, assuming its MV pointing to the first reference picture, the MV (MV new) to the second reference picture should be (denoting the two components for MV new as MV new x and MV_new_y):
  • MV_new_x MV_x * (POC1 - POCA) / (POC0 - POCA).
  • MV_new_y MV_y * (POC1 - POCA) / (POC0 - POCA).
  • the two components of a MV are scaled according to the temporal picture distances.
  • the hole of the MV field is filled with the particular MV candidate when the hole is introduced.
  • the hole may be introduced during encoding or decoding of the video sequence.
  • filling in the hole of the MV field may include deriving a list of a plurality of MV candidates for the block in the video sequence and selecting a MV candidate from the list of the plurality of MV candidates. The selected the MV candidate may be stored and used for prediction in at least one additional block within the video sequence.
  • FIGURE 13 illustrates an example virtual computing device 600 for improving MV prediction, according to certain embodiments.
  • virtual computing device 600 may include modules for performing steps similar to those described above with regard to the method illustrated and described in FIGURE 12.
  • virtual computing device 600 may include an identifying module 610, a deriving module 620, a selecting module 630, a filling module 640, and any other suitable modules for improving MV prediction.
  • one or more of the modules may be implemented using processing circuitry 1020 of FIGURE 17 or processing 1120 of FIGURE 18, discussed below.
  • the functions of two or more of the various modules may be combined into a single module.
  • the identifying module 610 may perform the identifying functions of virtual computing device 600. For example, in a particular embodiment, identifying module 610 may identify a hole of a MV field inside an inter picture in a video sequence.
  • the hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture.
  • the deriving module 620 may perform the deriving functions of virtual computing device 600. For example, in a particular embodiment, deriving module 620 may derive a list of a plurality of MV candidates for the block in the sequence.
  • the selecting module 630 may perform the selecting functions of virtual computing device 600. For example, in a particular embodiment, selecting module 630 may select a particular MV candidate from the list of the plurality of MV candidates.
  • the filling module 640 may perform the filling functions of virtual computing device 600. For example, in a particular embodiment, filling module 640 may fill the hole of the MV field with the particular MV candidate when the hole is introduced
  • virtual computing device 600 may include additional components beyond those shown in FIGURE 13 that may be responsible for providing certain aspects of the functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above).
  • the various different types of radio nodes for performing the functionality may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
  • FIGURE 14 illustrates another method for improved MV prediction, according to certain embodiments.
  • the method is performed by an encoder.
  • the method is performed by a decoder.
  • the method begins at step 710 when a hole of a MV field in an inter picture of a video sequence is identified when encoding or decoding a current block of the inter picture.
  • the hole of the MV field includes a previously encoded or decoded block in the inter picture that does not contain a MV.
  • the hole of the MV field is countered by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
  • countering the hole of the MV field includes tracing a plurality of previously encoded or decoded blocks in an inverse decoding order. For each of the plurality of previously encoded or decoded blocks, a spatial distance to the current block is calculated. The MV candidate is selected that is associated with a particular one of the plurality of previously encoded or decoded blocks that is closest to the current block. The particular block that is closest to the current block may be the block that has a lowest calculated spatial distance from the current block, in a particular embodiment.
  • a threshold on a distance of tracing back is imposed when tracing the plurality of previously encoded or decoded blocks.
  • the inverse decoding order for tracing the plurality of previously encoded or decoded blocks is: a left neighboring block relative to the current block, a top neighboring block relative to the current block, a top-right neighboring block relative to the current block, a left-bottom neighboring block relative to the current block, and a top-left neighboring block relative to the current block.
  • the at least one neighboring MV used to predict the candidate MV is associated with a block of the video sequence that is not adjacent to the current block.
  • the block that is not adjacent to the current block is adjacent to one of: a left neighboring block relative to the current block, a top neighboring block relative to the current block, a top-right neighboring block to the current block, a left- bottom neighboring block to the current block, or a top-left neighboring block to the current block.
  • countering the hole of the MV field comprises prioritizing a MV having a sign that indicates that the previously encoded or decoded block does not contain any residual information.
  • the method further includes, for each of the at least one neighboring MVs, measuring a straight horizontal spatial distance or straight vertical spatial distance relative to the current block.
  • the candidate MV may be selected from the at least one neighboring MVs that have a straight horizontal spatial distance or a straight vertical spatial distance less than a threshold.
  • FIGURE 15 illustrates another example virtual computing device 800 for improving MV prediction, according to certain embodiments.
  • virtual computing device 800 may include modules for performing steps similar to those described above with regard to the method illustrated and described in FIGURE 14.
  • virtual computing device 800 may include an identifying module 810, a countering module 820, and any other suitable modules for improving MV prediction.
  • one or more of the modules may be implemented using processing circuitry 1020 of FIGURE 17 or processing 1120 of FIGURE 18, discussed below.
  • the functions of two or more of the various modules may be combined into a single module.
  • the identifying module 810 may perform the identifying functions of virtual computing device 800. For example, in a particular embodiment, when encoding or decoding a current block inside an inter picture of a video sequence, identifying module 810 may identify a hole of a MV field in the inter picture.
  • the hole of the MV field includes a previously encoded or decoded block in the inter picture that does not contain a MV.
  • the countering module 820 may perform the countering functions of virtual computing device 800. For example, in a particular embodiment, countering module 820 may counter the hole of the MV field by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
  • virtual computing device 800 may include additional components beyond those shown in FIGURE 14 that may be responsible for providing certain aspects of the functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above).
  • the various different types of radio nodes for performing the functionality may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
  • FIGURE 16 is a block diagram illustrating an embodiment of a network 900 for improving MV prediction, in accordance with certain embodiments.
  • Network 900 includes one or more wireless devices 910A-C, which may be interchangeably referred to as wireless devices 910 or UEs 910, and network nodes 915A-C, which may be interchangeably referred to as network nodes 915 or eNodeBs 915, radio network controller 920, and a core network node 930.
  • a wireless device 910 may communicate with network nodes 915 over a wireless interface.
  • wireless device 91 OA may transmit wireless signals to one or more of network nodes 915, and/or receive wireless signals from one or more of network nodes 915.
  • the wireless signals may contain voice traffic, data traffic, control signals, and/or any other suitable information.
  • an area of wireless signal coverage associated with a network node 915 may be referred to as a cell.
  • wireless devices 910 may have D2D capability.
  • wireless devices 910 may be able to receive signals from and/or transmit signals directly to another wireless device 910.
  • wireless device 91 OA may be able to receive signals from and/or transmit signals to wireless device 910B.
  • network nodes 915 may interface with a radio network controller 920.
  • Radio network controller 920 may control network nodes 915 and may provide certain radio resource management functions, mobility management functions, and/or other suitable functions.
  • radio network controller 920 may interface with core network node 930 via an interconnecting network.
  • the interconnecting network may refer to any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding.
  • the interconnecting network may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof.
  • PSTN public switched telephone network
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • Internet a local, regional, or global communication or computer network
  • wireline or wireless network such as the Internet
  • enterprise intranet an enterprise intranet, or any other suitable communication link, including combinations thereof.
  • Core network node 930 may manage the establishment of communication sessions and provide various other functionality for wireless communication device 910.
  • Wireless communication device 910 exchanges certain signals with core network node 930 using the non-access stratum layer.
  • NAS non-access stratum
  • signals between wireless communication device 910 and core network node 930 pass transparently through network nodes 920.
  • example embodiments of network 900 may include one or more wireless devices 910, and one or more different types of network nodes capable of communicating (directly or mdirectly) with wireless devices 910.
  • Wireless device 910 may refer to any type of wireless device communicating with a node and/or with another wireless device in a cellular or mobile communication system.
  • wireless device 910 examples include a mobile phone, a smart phone, a PDA (Personal Digital Assistant), a portable computer (e.g., laptop, tablet), a sensor, a modem, a machine-type-communication (MTC) device / machine- to-machine (M2M) device, laptop embedded equipment (LEE), laptop mounted equipment (LME), USB dongles, a D2D capable device, or another device that can provide wireless communication.
  • MTC machine-type-communication
  • M2M machine- to-machine
  • LME laptop mounted equipment
  • USB dongles a D2D capable device, or another device that can provide wireless communication.
  • a wireless device 910 may also be referred to as UE, a station (STA), a device, or a terminal in some embodiments.
  • STA station
  • a device or a terminal in some embodiments.
  • generic terminology, "radio network node” is used.
  • Network node may comprise a Node B, base station (BS), multi-standard radio (MSR) radio node such as MSR BS, eNode B, network controller, radio network controller (RNC), base station controller (BSC), relay donor node controlling relay, base transceiver station (BTS), access point (AP), transmission points, transmission nodes, RRU, RRH, nodes in distributed antenna system (DAS), core network node (e.g. MSC, MME etc.), O&M, OSS, SON, positioning node (e.g. E- SMLC), MDT, or any suitable network node.
  • BS base station
  • MSR multi-standard radio
  • Each of wireless communication device 910, network node 915, radio network controller 920, and core network node 930 include any suitable combination of hardware and/or software.
  • Example embodiments of network nodes 915, wireless devices 910, and other network nodes (such as radio network controller or core network node) are described in more detail with respect to FIGURES 13, 14, and 15, respectively.
  • FIGURE 16 illustrates a particular arrangement of network 900
  • network 900 may include any suitable number of wireless devices 910 and network nodes 915, as well as any additional elements suitable to support communication between wireless devices or between a wireless device and another communication device (such as a landline telephone).
  • wireless communication device 910, network node 920, and core network node 930 use any suitable radio access technology, such as long term evolution (LTE), LTE- Advanced, UMTS, HSPA, GSM, cdma2000, WiMax, WiFi, another suitable radio access technology, or any suitable combination of one or more radio access technologies.
  • LTE long term evolution
  • FIGURE 17 a block schematic of an exemplary wireless device 910 for improving MV prediction, in accordance with certain embodiments.
  • Wireless device 910 may refer to any type of wireless device communicating with a node and/or with another wireless device in a cellular or mobile communication system.
  • Examples of wireless device 910 include a mobile phone, a smart phone, a PDA (Personal Digital Assistant), a portable computer (e.g., laptop, tablet), a sensor, a modem, an MTC device / machine-to-machine (M2M) device, laptop embedded equipment (LEE), laptop mounted equipment (LME), USB dongles, a D2D capable device, or another device that can provide wireless communication.
  • M2M machine-to-machine
  • LME laptop mounted equipment
  • USB dongles a D2D capable device, or another device that can provide wireless communication.
  • a wireless device 910 may also be referred to as UE, a station (ST A), a device, or a terminal in some embodiments.
  • Wireless device 910 includes transceiver 1010, processing circuitry 1020, and memory 1030.
  • transceiver 1010 facilitates transmitting wireless signals to and receiving wireless signals from network node 915 (e.g., via antenna 1040), processing circuitry 1020 (e.g., which may include one or more processors) executes instructions to provide some or all of the functionality described above as being provided by wireless device 910, and memory 1030 stores the instructions executed by processing circuitry 1020.
  • Processing circuitry 1020 may include any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform some or all of the described functions of wireless device 910, such as the functions of UE 910 (i.e., wireless device 910) described herein. For example, in general, processing circuitry may identify and counter a hole of a motion vector field inside a picture in a video sequence, as described herein.
  • processing circuitry 1020 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, one or more application specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs) and/or other logic.
  • Memory 1030 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, algorithms, code, tables, etc. and/or other instructions capable of being executed by a processor.
  • Examples of memory 1030 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by processor 1020.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • mass storage media for example, a hard disk
  • removable storage media for example, a Compact Disk (CD) or a Digital Video Disk (DVD)
  • CD Compact Disk
  • DVD Digital Video Disk
  • wireless device 910 may optionally include additional components beyond those shown in FIGURE 17 that may be responsible for providing certain aspects of the wireless device's functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solution described above).
  • -Input devices include mechanisms for entry of data into wireless device 910.
  • input devices may include input mechanisms, such as a microphone, input elements, a display, etc.
  • Output devices may include mechanisms for outputting data in audio, video, and/or hard copy format.
  • output devices may include a speaker, a display, etc.
  • FIGURE 18 is a block schematic of an exemplary network node 915 for improving MV prediction, in accordance with certain embodiments.
  • Network node 915 may be any type of radio network node or any network node that communicates with a UE and/or with another network node.
  • network node 915 examples include an gNB, eNodeB, a node B, a base station, a wireless access point (e.g., a Wi-Fi access point), a low power node, a base transceiver station (BTS), relay, donor node controlling relay, transmission points, transmission nodes, remote RF unit (RRU), remote radio head (RRH), multi-standard radio (MSR) radio node such as MSR BS, nodes in distributed antenna system (DAS), O&M, OSS, SON, positioning node (e.g., E-SMLC), MDT, or any other suitable network node.
  • Network nodes 915 may be deployed throughout network 900 as a homogenous deployment, heterogeneous deployment, or mixed deployment.
  • a homogeneous deployment may generally describe a deployment made up of the same (or similar) type of network nodes 915 and/or similar coverage and cell sizes and inter-site distances.
  • a heterogeneous deployment may generally describe deployments using a variety of types of network nodes 915 having different cell sizes, transmit powers, capacities, and inter-site distances.
  • a heterogeneous deployment may include a plurality of low-power nodes placed throughout a macro-cell layout.
  • Mixed deployments may include a mix of homogenous portions and heterogeneous portions.
  • Network node 915 may include one or more of transceiver 1120, processing circuitry 1120 (e.g., which may include one or more processors), memory 1130, and network interface 1140.
  • transceiver 1120 facilitates transmitting wireless signals to and receiving wireless signals from wireless device 910 (e.g., via antenna 1150)
  • processing circuitry 1120 executes instructions to provide some or all of the functionality described above as being provided by a network node 915
  • memory 1130 stores the instructions executed by processing circuitry 1120
  • network interface 1140 communicates signals to backend network components, such as a gateway, switch, router, Internet, Public Switched Telephone Network (PSTN), core network nodes or radio network controllers, etc.
  • PSTN Public Switched Telephone Network
  • Processing circuitry 1120 may include any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform some or all of the described functions of network node 915, as described herein. For example, in general, processing circuitry 1120 may cause network node to identify and counter a hole of a motion vector field inside a picture in a video sequence. In some embodiments, processing circuitry 1120 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, and/or other logic.
  • CPUs central processing units
  • microprocessors one or more applications, and/or other logic.
  • Memory 1130 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, algorithms, code, tables, etc. and/or other instructions capable of being executed by a processor.
  • Examples of memory 1130 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • mass storage media for example, a hard disk
  • removable storage media for example, a Compact Disk (CD) or a Digital Video Disk (DVD)
  • CD Compact Disk
  • DVD Digital Video Disk
  • network interface 1140 is communicatively coupled to processing circuitry 1120 and may refer to any suitable device operable to receive input for network node 915, send output from network node 915, perform suitable processing of the input or output or both, communicate to other devices, or any combination of the preceding.
  • Network interface 1140 may include appropriate hardware (e.g., port, modem, network interface card, etc.) and software, including protocol conversion and data processing capabilities, to communicate through a network.
  • network node 915 may include additional components beyond those shown in FIGURE 18 that may be responsible for providing certain aspects of the radio network node's functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above).
  • the various different types of network nodes may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
  • FIGURE 19 is a block schematic of an exemplary radio network controller or core network node 800, in accordance with certain embodiments.
  • network nodes can include a mobile switching center (MSC), a serving GPRS support node (SGSN), a mobility management entity (MME), a radio network controller (RNC), a base station controller (BSC), and so on.
  • the radio network controller or core network node includes processing circuitry 1220 (e.g., which may include one or more processors), memory 1230, and network interface 1240.
  • processing circuitry 1220 executes instructions to provide some or all of the functionality described above as being provided by the network node
  • memory 1230 stores the instructions executed by processing circuitry 1220
  • network interface 1240 communicates signals to any suitable node, such as a gateway, switch, router, Internet, Public Switched Telephone Network (PSTN), network nodes 915, radio network controllers or core network nodes, etc.
  • PSTN Public Switched Telephone Network
  • Processing circuitry 1220 may include any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform some or all of the described functions of the radio network controller or core network node.
  • processing circuitry 1220 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, and/or other logic.
  • CPUs central processing units
  • microprocessors one or more applications, and/or other logic.
  • Memory 1230 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, algorithms, code, tables, etc. and/or other instructions capable of being executed by a processor.
  • Examples of memory 1230 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • mass storage media for example, a hard disk
  • removable storage media for example, a Compact Disk (CD) or a Digital Video Disk (DVD)
  • CD Compact Disk
  • DVD Digital Video Disk
  • network interface 1240 is communicatively coupled to processing circuitry 1220 and may refer to any suitable device operable to receive input for the network node, send output from the network node, perform suitable processing of the input or output or both, communicate to other devices, or any combination of the preceding.
  • Network interface 1240 may include appropriate hardware (e.g., port, modem, network interface card, etc.) and software, including protocol conversion and data processing capabilities, to communicate through a network.
  • network node may include additional components beyond those shown in FIGURE 19 that may be responsible for providing certain aspects of the network node's functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solution described above).
  • a method by a transmitter for improved motion vector (MV) prediction comprises
  • countering the hole of the MV field comprises filling in the hole when the hole is introduced
  • the hole is introduced during encoding or decoding
  • countering the hole of the MV field comprises deriving a list of MV candidates for a block of pictures in the video sequence, selecting a MV candidate from the list, storing the selected MV candidate, and using the MV candidate for prediction in at least one future inter block,
  • selecting the MV candidate comprises selecting a first MV candidate from the list
  • the MV candidate comprises selecting a MV candidate that is closest to an average of all the neighboring candidates
  • selecting the MV candidate comprises applying motion compensation for each MV candidate and selecting the MV candidate that results in a smallest difference between a motion-compensated block and a current block's reconstruction,
  • pixels that are close to a right boundary and a bottom boundary of the block may be emphasized in the selection of the MV candidate, optionally, only the pixels that are adjacent to the right boundary and the bottom boundary may be used in a comparison of a difference between a motion compensated block and the current block,
  • pixels that are adjacent to the right boundary and the bottom boundary may be assigned a higher weight as compared to pixels that are not adjacent to the right boundary or the bottom boundary,
  • the method further includes, for an uni-predicted inter block, scaling the MV of a current block to another direction and selecting the MV candidate of the MV candidate list that differs the most from the scaled MV, optionally, countering the hole of the MV field comprises jumping through the hole when encoding or decoding a future inter block,
  • countering the hole of the MV field comprises increasing a search range or the allowed positions for fetching one or more neighboring MVs
  • countering the hole of the MV field comprises tracing previous inter coded blocks in an inverse decoding order, for each of the previous inter coded blocks calculating a spatial distance to the current block, and selecting the MV candidate that is closest to the additional candidate for predicting a current MV
  • countering the hole of the MV field comprises prioritizing MVs that, based on a sign, may be better to use for prediction
  • countering the hole of the MV field comprises including as MV candidates those that are closet in terms of straight horizontal or straight vertical spatial distance,
  • countering the hole of the MV field comprises using a width or height of a block to jump through several columns or lines for faster fetching
  • a transmitter for improved motion vector (MV) prediction comprises a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform any of embodiments described above.
  • the transmitter comprises at least one of a wireless device, a network node, an encoder, and a decoder.
  • a non-transitory computer readable medium stores instructions that are executable by a processor to perform any of the example embodiments described above.
  • a computer program product comprises a non- transitory computer readable medium storing computer readable program code.
  • the computer readable program code comprises program code for performing any of the embodiments described above.
  • a method by a receiver for improved MV prediction comprises
  • the hole of the MV field comprises filling in the hole when the hole is introduced
  • the hole is introduced during encoding or decoding
  • countering the hole of the MV field comprises deriving a list of MV candidates for a block of pictures in the video sequence, selecting a MV candidate from the list; storing the selected MV candidate; and using the MV candidate for prediction in at least one future inter block,
  • selecting the MV candidate comprises selecting a first MV candidate from the list
  • selecting the MV candidate comprises selecting a MV candidate that is closest to an average of all the neighboring candidates
  • selecting the MV candidate comprises applying motion compensation for each MV candidate and selecting the MV candidate that results in a smallest difference between a motion-compensated block and a current block's reconstruction
  • pixels that are close to a right boundary and a bottom boundary of the block may be emphasized in the selection of the MV candidate
  • pixels that are adjacent to the right boundary and the bottom boundary may be used in a comparison of a difference between a motion compensated block and the current block
  • pixels that are adjacent to the right boundary and the bottom boundary may be assigned a higher weight as compared to pixels that are not adjacent to the right boundary or the bottom boundary,
  • the method further includes scaling the MV of a current block to another direction and selecting the MV candidate of the MV candidate list that differs the most from the scaled MV,
  • countering the hole of the MV field comprises jumping through the hole when encoding or decoding a future inter block
  • countering the hole of the MV field comprises increasing a search range or the allowed positions for fetching one or more neighboring MVs
  • countering the hole of the MV field comprises tracing previous inter coded blocks in an inverse decoding order, for each of the previous inter coded blocks calculating a spatial distance to the current block, and selecting the MV candidate that is closest to the additional candidate for predicting a current MV,
  • countering the hole of the MV field comprises prioritizing MVs that, based on a sign, may be better to use for prediction
  • countering the hole of the MV field comprises including as MV candidates those that are closet in terms of straight horizontal or straight vertical spatial distance,
  • countering the hole of the MV field comprises using a width or height of a block to jump through several columns or lines for faster fetching.
  • a receiver for improved MV prediction comprises a memory storing instructions and processing circuitry operable to execute the instructions to cause the receiver to perform any of embodiments described above.
  • the receiver comprises at least one of a wireless device, a network node, an encoder, and a decoder.
  • a non-transitory computer readable medium stores instructions that are executable by a processor to perform any of the example embodiments described above.
  • a computer program product comprises a non- transitory computer readable medium storing computer readable program code.
  • the computer readable program code comprises program code for performing any of the methods of example embodiments described above.

Abstract

According to certain embodiments, a method for improved motion vector (MV) prediction includes identifying a hole of a MV field inside an inter picture in a video sequence. The hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture. The method includes deriving a list of a plurality of MV candidates for the block in the video sequence, selecting a particular MV candidate from the list of the plurality of MV candidates, and filling in the hole of the MV field when the hole is introduced.

Description

IMPROVED MOTION VECTOR PROTECTION
TECHNICAL FIELD
Certain embodiments of the present disclosure relate, in general, to video coding and more particularly to improved motion vector protection.
BACKGROUND
Most existing video coding standards use block-based prediction and transform coding. Pictures in a "to-be-encoded" video sequence are divided into small blocks as base units for prediction. There are mainly two types of prediction, spatial prediction, and temporal prediction. For video sequences that are captured by camera in real-life, it is likely that redundant information exists either within a picture or across several pictures. The motivation of the two prediction methods is to exploit those redundancies in different dimensions to reduce the size of the video.
Spatial prediction, known as intra prediction, removes redundancy in the spatial dimensions. It predicts a block using the previous decoded blocks within the current picture. A picture consisting of only intra-predicted blocks is referred to as an intra picture.
Temporal prediction, known as inter prediction, removes redundancy in temporal dimension. It predicts blocks of the current picture using blocks from previous decoded pictures. The previous decoded pictures that are used for prediction are referred to as reference pictures. The location of the referenced block inside the reference picture is indicated using a motion vector (MV). Each MV consists of x and y components which represents the displacements between current block and the referenced block in x or y dimension.
FIGURE 1 illustrates an example MV. Specifically, FIGURE 1 is a MV for the current block C. To capture the displacement more accurately, the MVs can point to the fractional sample positions in the reference picture. Those fractional samples are generated from the nearby integer samples using interpolation, which could be viewed as a weighted averaging process. A picture that allows inter-predicted blocks is referred to as an inter picture.
Inter pictures may have several reference pictures. These reference pictures are usually grouped into two reference picture lists, list 0 and list 1. The reference pictures that display before the current picture are grouped into list 0. The reference pictures that display after the current picture are grouped into list 1.
Inter predicted blocks can have two prediction types, uni- and bi-prediction. FIGURE 2 illustrates example uni- and bi- prediction. Uni-prediction is achieved by predicting from one block in one reference picture. Bi-prediction is achieved by predicting from two blocks in one or two reference pictures. The corresponding prediction block is a blending of the two reference blocks. The default blending method in HEVC takes the average of the two blocks.
In practice, for an encoder to decide the MV for the current block, the encoder would search for the best prediction block within the reference picture that yields the smallest Rate- Distortion (RD) cost. The RD cost is calculated as D + λ * R. The D (Distortion) measures the similarity between the prediction block and current block. A common metric for calculating D is the sum of absolute difference SAD=∑\ PA(x,y) -PB(x,y) | , where the PA and PB are the pixel values in the two block A and B respectively. The R (Rate) is usually an estimation of the final bits to be spent on encoding the corresponding MV. The A is a tradeoff parameter between R and D.
When the best prediction block is found, its corresponding MV information needs to be signaled in the bitstream This is achieved using MV prediction technique. The technique first generates a list of MV candidates from some predefined neighboring positions, and then chooses one of the candidates to be the predictor for the current MV. The rationale is that the MV field inside a certain spatial or temporal region tends to be consistent and correlated. FIGURE 3 illustrates possible spatial positions for fetching neighboring MVs. Specifically, FIGURE 3 shows the spatially neighboring positions: left (L), top(T), top-right(TR), left- bottom (LB) and top-left (TL).
The availability of neighboring MVs directly impacts the performance of MV prediction. Unfortunately, there are some types of blocks which introduce discontinuities or "holes" to the MV fields which negatively affects MV prediction efficiency. One of them is intra blocks. The presence of an intra block would cause the previous relevant MVs to be forgotten and be unavailable for future prediction.
FIGURE 4 illustrates intra blocks breaking the continuity of MV inside an inter picture. As depicted, the current block has only intra spatial neighbors and is forced to use the default (0, 0) as MV predictor which results in delta MV = (1, 2). If the previous MV (1, 3) would be made available, then delta MV becomes (0, -1) which is cheaper to be signaled.
The MV field discontinuity issue may also be introduced by uni-predicted inter blocks inside a B-picture. As uni-predicted inter blocks only contains MV for one direction, the previous MV for the other direction will not be carried on even though it might be very relevant for future inter blocks.
FIGURE 5 illustrates a uni-predicted inter block breaking continuity of MV inside a B-picture. In the current MV prediction scheme, MV (-4, -5) would be scaled to (4, 5) for predicting the current MV. That gives a delta MV = (-5, -6). If the previous MV (-1, -1) would be made available, then delta MV becomes (0, 0).
There currently exist certain challenges. For example, the presence of intra blocks or uni-predicted inter blocks breaks MV field continuity and introduces penalties to the MV prediction of future inter blocks.
SUMMARY
Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges by proposing two schemes for countering the motion vector (MV) discontinuity introduced by intra blocks or uni-predicted inter blocks.
According to certain embodiments, a method for improved motion vector (MV) prediction includes identifying a hole of a MV field inside an inter picture in a video sequence. The hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture. The method includes deriving a list of a plurality of MV candidates for the block in the video sequence, selecting a particular MV candidate from the list of the plurality of MV candidates, and filling in the hole of the MV field when the hole is introduced.
According to certain embodiments, a device for improved MV prediction includes memory storing instructions and processing circuitry operable to execute the instructions to cause the device to identify a hole of a MV field inside an inter picture in a video sequence. The hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture. A list of a plurality of MV candidates is determined for the block in the video sequence. A particular MV candidate form the list of the plurality of MV candidates, and the hole of the MV field is filled in when the hole is introduced.
According to certain embodiments, a method for improved MV prediction includes identifying a hole of a MV field in a video sequence when encoding or decoding a current block of the video sequence. The hole of the MV field includes a previously encoded or decoded block in the video sequence that does not contain a MV. The hole of the MV field is counted by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
According to certain embodiments, a device for improved MV prediction includes memory storing instructions and processing circuitry operable to execute the instructions to cause the device to identify a hole of a MV field in a video sequence when encoding or decoding a current block of the video sequence. The hole of the MV field includes a previously encoded or decoded block in the video sequence that does not contain a MV. The hole of the MV field is counted by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block. Certain embodiments may provide one or more of the following technical advantages). As an example, an advantage of certain embodiments may include improved compression efficiency from better MV prediction. As another example, an advantage of certain embodiments may include improved subjective quality for inter pictures. For example, certain embodiments may alleviate penalties on MV prediction so that more blocks can be coded using inter mode, which may reduce the intra flicking artefacts.
Certain embodiments may include none, some, or all of these advantages. Certain embodiments may include other advantages, as would be understood by a person having ordinary skill in the art.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the disclosed embodiments and their features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
FIGURE 1 illustrates an example motion vector (MV);
FIGURE 2 illustrates example uni- and bi- prediction;
FIGURE 3 illustrates possible spatial positions for fetching neighboring MVs;
FIGURE 4 illustrates intra blocks breaking the continuity of MV inside an inter picture;
FIGURE 5 illustrates a uni-predicted inter block breaking continuity of MV inside a B- picture;
FIGURE 6 illustrates an example of right and bottom pixels in a 4x4 block with corresponding weights, according to certain embodiments;
FIGURE 7 illustrates a faster jumping approach, according to certain embodiments;
FIGURE 8 illustrates an example method for improving MV prediction, according to certain embodiments;
FIGURE 9 illustrates an example method for countering the hole when the hole is first introduced, according to certain embodiments;
FIGURE 10 illustrates another example method for countering the hole when encoding or decoding a future inter block, according to certain embodiments;
FIGURE 11 illustrates an example virtual computing device for improving MV prediction, according to certain embodiments;
FIGURE 12 illustrates another method for improved MV prediction, according to certain embodiments;
FIGURE 13 illustrates another example virtual computing device for improving MV prediction, according to certain embodiments;
FIGURE 14 illustrates another method for improved MV prediction, according to certain embodiments;
FIGURE 15 illustrates another example virtual computing device for improving MV prediction, according to certain embodiments;
FIGURE 16 illustrates an exemplary network node, in accordance with certain embodiments;
FIGURE 17 illustrates an exemplary wireless device, in accordance with certain embodiments;
FIGURE 18 illustrate an example network node, according to certain embodiments; and FIGURE 19 illustrates an exemplary radio network controller or core network node, in accordance with certain embodiments.
DETAILED DESCRIPTION
Certain aspects of the present disclosure and their embodiments may provide solutions to these or other challenges by proposing schemes for countering the motion vector (MV) discontinuity introduced by intra blocks or uni-predicted inter blocks. Specifically, according to certain embodiments, the schemes counter the holes of MV fields inside a picture. It is achieved by either filling in the holes when they are introduced or by jumping through the holes when the previous MVs are needed.
For example, according to a first scheme, a MV for each intra or uni-predicted inter block may be selected and stored. For future inter blocks, the stored MV can be used for prediction. As another example, according to a second scheme, the search range for fetching the neighboring MVs may be increased to consider new neighboring positions that are not necessarily the closest. Accordingly, there are, proposed herein, various embodiments which address one or more of the issues disclosed herein.
According to certain embodiments, a method is provided for improved motion vector (MV) prediction in a transmitter. The method includes identifying a hole of a motion vector field inside a picture in a video sequence and countering the hole of the MV field.
According to certain embodiments, a method is provided for countering the hole of the MV field when the hole is introduced. The method includes deriving a list of MV candidates for a block of pictures in the video sequence. A MV candidate may be selected from the list and stored. The MV candidate may be used for prediction in at least one future inter block.
According to certain embodiments, a method is provided for countering the hole of the MV field by jumping through the hole when encoding or decoding a future inter block. The method includes increasing a search range or the allowed positions for fetching one or more neighboring MVs.
According to certain embodiments, a transmitter is provided for improved MV prediction. The transmitter includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
According to certain embodiments, a receiver is provided for improved MV prediction. The receiver includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
According to certain embodiments, an encoder is provided for improved MV prediction. The encoder includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
According to certain embodiments, a decoder is provided for improved MV prediction. The decoder includes a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform the methods for improved MV prediction.
Particular embodiments are described in FIGURES 1-15 of the drawings, like numerals being used for like and corresponding parts of the various drawings.
According to certain embodiments, a first scheme may be used to fill in the MV holes when the MV holes are introduced. Thus, the scheme is invoked directly after encoding or decoding the block that introduces such a hole. According to a particular embodiment, the scheme consists of deriving a list of MV candidates for the block, selecting one of them, and storing it to allow future inter blocks to utilize it for prediction. Thus, in this manner, a MV for each intra or uni-predicted inter block may be selected and stored for use for prediction for future inter blocks.
According to certain embodiments, the derivation of MV candidates list may follow the general neighboring MV derivation process. Regarding how to select the desired one for storing, according to a particular embodiment, an approach is to select the first candidate inside the list for simplicity.
According to another embodiment, selection schemes may be applied to decide the MV candidates for storing. According to a particular embodiment, for example, one possible scheme includes choosing the MV that is closest to the average of all the neighboring candidates. In another example embodiment, motion compensation may be applied for each candidate. The candidate that results in the smallest difference between the motion- compensated block and the current block's reconstruction may be selected. To compare the difference, metrics like SAD or SATD could be considered, in particular embodiments.
According to certain embodiments, pixels that are close to the right and bottom boundaries may be emphasized. FIGURE 6 illustrates an example of right and bottom pixels in a 4x4 block with corresponding weights, according to certain embodiments. The pixels indicated with the circles correspond to the right and bottom boundaries and might be more related to the pixels of the future blocks. According to a particular embodiment, only those pixels may be used for comparing the difference. Alternatively, higher weights may be assigned to the differences coming from those pixels. One benefit of only considering some pixels is that fewer pixels are needed and the generation of those pixels may be skipped during motion compensation.
For uni-predicted inter blocks, in additional to the abovementioned approaches, one may scale the MV of the current block to the other direction and then select the MV inside the candidate list that differs the most from this scaled MV.
According to the second proposed scheme for countering the holes of MV fields inside a picture, the second scheme includes jumping through the MV holes when encoding or decoding a future inter block. In other words, the scheme increases the search range or the allowed positions for fetching the neighboring MVs to consider new neighboring positions that are not necessarily the closest. This approach may provide larger gains compared to the first scheme. However, it is slightly more complex.
A particular embodiment, for example, includes tracing all the previous inter coded blocks in inverse decoding order. For each of encountered block, its spatial distance to the current block may be calculated. The MV from the block that is closest to be the additional candidate for predicting current MV may be selected. Additionally or alternatively, one may prioritize MVs with signs that they might be better to use for prediction than the other MVs. For example, one sign may be that the encountered inter block does not contain any residual information. The idea is that good MVs would give good predictions. Thus, such an approach requires less or no residual information to be encoded.
A simplified approach would be to include the candidates that are closest in terms of straight horizontal or straight vertical spatial distance, respectively. As when inversely tracing the blocks in horizontal or vertical direction, it is certain that the encountered block would be at its block boundary. Thus, using the corresponding block's width or height information would make it possible to jump through several columns or lines for faster fetching.
FIGURE 7 illustrates a faster jumping approach. According to certain embodiments, a threshold on the distance of tracing back may be imposed since it is likely that the relevance of MV decreases with increasing distance. During tests, the simplified approach with tracing back distance of 1 CTU size gives the best gain vs. complexity trade-off. According to certain embodiments, the second scheme may also be applied for blocks that already have inter coded neighbors, as it may increase the likelihood of finding the most relevant MV predictor.
Both of the proposed first and second schemes for countering the holes of the MV field have been tested under JEM. During tests, the second scheme performed slightly better and showed an average bitrate reduction of 0.3%.
FIGURE 8 illustrates an example method 100 for improving MV prediction, according to certain embodiments. In a particular embodiment, the method is performed by a transmitter, which may include a wireless device or a network node, according to particular embodiments. In other embodiments, the method may be performed by a receiver, which may include wireless device or a network node, according to particular embodiments. In a particular embodiment, the method may be performed by an encoder. In other embodiments, the method may be performed by a decoder
At step 102, the method 100 includes identifying a hole of a motion vector field inside a picture in a video sequence.
At step 104, the hole of the MV field is countered.
According to certain embodiments implementing the first scheme described herein, the step of countering the hole includes filling the hole when the hole is first introduced. FIGURE 9 illustrates a method for countering the hole when the hole is first introduced. In a particular embodiment, for example, the hole may be filled during or just after encoding or decoding.
The method begins at step 202 when a list of MV candidates for a block of pictures in the video sequence is derived. At 204, a MV candidate is selected from the list. At step 206, the selected MV candidate is stored. In a particular embodiment, the first MV candidate in the list may be selected. In another embodiment, a MV candidate that is closest to an average of all the neighboring candidates may be selected. In still another embodiment, motion compensation may be applied for each MV candidate and the MV candidate that results in a smallest difference between a motion-compensated block and a current block's reconstruction may be selected.
At step 208, the MV candidate is used for prediction in at least one future inter block. According to certain other embodiments implementing the second scheme described herein, the step of countering the hole may include jumping through the hole when encoding or decoding a future inter block. FIGURE 10 illustrates a method for countering the hole when encoding or decoding a future inter block. At step 302, a search range or the allowed positions for fetching one or more neighboring MVs is increased. In a particular embodiment, this may include tracing previous inter coded blocks in an inverse decoding order, calculating a spatial distance to the current block, and selecting the MV candidate that is closest to the additional candidate for predicting a current MV. In another embodiment, MVs may be prioritized based on a sign that indicate the MVs are better for prediction such as for example where an encountered inter block does not contain any residual information.
In certain embodiments, the method for improving MV prediction, as described above may be performed by a virtual computing device. FIGURE 11 illustrates an example virtual computing device 400 for improving MV prediction, according to certain embodiments. In certain embodiments, virtual computing device 400 may include modules for performing steps similar to those described above with regard to the method illustrated and described in FIGURE 8. For example, virtual computing device 400 may include an identifying module 410, a countering module 420, and any other suitable modules for improving MV prediction. In some embodiments, one or more of the modules may be implemented using processing circuitry 1020 of FIGURE 17 or processing 1120 of FIGURE 18, discussed below. In certain embodiments, the functions of two or more of the various modules may be combined into a single module.
The identifying module 410 may perform the identifying functions of virtual computing device 400. For example, in a particular embodiment, identifying module 410 may identify a hole of a motion vector field inside a picture in a video sequence.
The countering module 420 may perform the countering functions of virtual computing device 400. For example, in a particular embodiment, countering module 420 may counter the hole of the MV field.
Other embodiments of virtual computing device 400 may include additional components beyond those shown in FIGURE 11 that may be responsible for providing certain aspects of the functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above). The various different types of radio nodes for performing the functionality may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
FIGURE 12 illustrates another method for improved MV prediction, according to certain embodiments. In a particular embodiment, the method is performed by an encoder. In another embodiment, the method is performed by a decoder.
The method begins at step 510 when a hole of a MV field is identified inside an inter picture in a video sequence. The hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture.
In a particular embodiment, the block in the video sequence is an intra block. For example, an inter B picture allows a block to have two MVs pointing to two reference pictures. However, an intra block does not contain any MV for any reference picture
In another embodiment, the block is a uni-predicted inter block inside the video sequence. As described above, a uni-predicted inter block only contains a MV for one reference picture. The uni-predicted inter block does not contain a MV for the other reference picture.
At step 520, a list of a plurality of MV candidates is derived for the block in the video sequence. A particular MV candidate is selected from the list of the plurality of MV candidates, at step 530.
In a particular embodiment, the method may further include storing the particular MV candidate and using the particular MV candidate for prediction in at least one additional block within the video sequence.
In a particular embodiment, the particular MV candidate may be the particular MV candidate that is listed first in the list of the plurality of MV candidates.
In another embodiment, the particular MV candidate may be the particular MV candidate that is closest to an average of the plurality of MV candidates, where each of the plurality of MV candidates is associated with one of a plurality of neighboring blocks that are adjacent to the block.
In still another embodiment, selecting the particular MV candidate may include applying motion compensation for each of the plurality of MV candidates and selecting the particular MV candidate that results in a smallest difference between a motion-compensated block and a reconstruction of the current block. For example, motion compensation is a process where an encoder or decoder uses MV to fetch a corresponding block from the reference picture that the MV points to. When applying motion compensation for each MV, a motion compensated block is generated. The particular MV candidate with the smallest difference between the motion-compensated block and the reconstruction of the current block is referring to the accumulated pixel value differences between the two.
In a particular embodiment, only the pixels that are adjacent to the right boundary and the bottom boundary of the block are used in determining the particular MV candidate with the smallest difference between the motion compensated block and the current block. Additionally or alternatively, at least one pixel that is adjacent to the right boundary or the bottom boundary of the block is assigned a higher weight than at least one pixel that is not adjacent to the right boundary or the bottom boundary.
In yet another particular embodiment, the method may further include, for an uni- predicted inter block, scaling the MV of the block to another direction and selecting the particular MV candidate from the list of the plurality of MV candidates that differs a most from the MV after scaling. For example, the accumulated absolute difference between corresponding components of two MVs, MVO and MVl, may be calculated to measure the difference between the two MVs as follows:
Diff = Abs(MvO_x - Mvl_x) + Abs(MvO_x - Mvl_y)
As another example, according to certain embodiments, a MV contains two components, x and y, which signal horizontal displacement and vertical displacement, respectively. When scaling a MV, three values are needed. First, the current picture's picture order count (POCA) is needed. Second, a first reference picture's picture order count (POC0) is needed. Finally, a second reference picture's picture order count (POC1) is needed. For an uni-predicted block, assuming its MV pointing to the first reference picture, the MV (MV new) to the second reference picture should be (denoting the two components for MV new as MV new x and MV_new_y):
MV_new_x = MV_x * (POC1 - POCA) / (POC0 - POCA).
MV_new_y = MV_y * (POC1 - POCA) / (POC0 - POCA).
In other words, the two components of a MV are scaled according to the temporal picture distances.
At step 540, the hole of the MV field is filled with the particular MV candidate when the hole is introduced. In a particular embodiment, the hole may be introduced during encoding or decoding of the video sequence. In a particular embodiment, filling in the hole of the MV field may include deriving a list of a plurality of MV candidates for the block in the video sequence and selecting a MV candidate from the list of the plurality of MV candidates. The selected the MV candidate may be stored and used for prediction in at least one additional block within the video sequence.
In certain embodiments, the method for improving MV prediction, as described above may be performed by a virtual computing device. FIGURE 13 illustrates an example virtual computing device 600 for improving MV prediction, according to certain embodiments. In certain embodiments, virtual computing device 600 may include modules for performing steps similar to those described above with regard to the method illustrated and described in FIGURE 12. For example, virtual computing device 600 may include an identifying module 610, a deriving module 620, a selecting module 630, a filling module 640, and any other suitable modules for improving MV prediction. In some embodiments, one or more of the modules may be implemented using processing circuitry 1020 of FIGURE 17 or processing 1120 of FIGURE 18, discussed below. In certain embodiments, the functions of two or more of the various modules may be combined into a single module.
The identifying module 610 may perform the identifying functions of virtual computing device 600. For example, in a particular embodiment, identifying module 610 may identify a hole of a MV field inside an inter picture in a video sequence. The hole of the MV field comprises a block in a current picture that does not contain a MV for at least one reference picture of the inter picture.
The deriving module 620 may perform the deriving functions of virtual computing device 600. For example, in a particular embodiment, deriving module 620 may derive a list of a plurality of MV candidates for the block in the sequence.
The selecting module 630 may perform the selecting functions of virtual computing device 600. For example, in a particular embodiment, selecting module 630 may select a particular MV candidate from the list of the plurality of MV candidates.
The filling module 640 may perform the filling functions of virtual computing device 600. For example, in a particular embodiment, filling module 640 may fill the hole of the MV field with the particular MV candidate when the hole is introduced
Other embodiments of virtual computing device 600 may include additional components beyond those shown in FIGURE 13 that may be responsible for providing certain aspects of the functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above). The various different types of radio nodes for performing the functionality may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
FIGURE 14 illustrates another method for improved MV prediction, according to certain embodiments. In a particular embodiment, the method is performed by an encoder. In a particular embodiment, the method is performed by a decoder.
The method begins at step 710 when a hole of a MV field in an inter picture of a video sequence is identified when encoding or decoding a current block of the inter picture. The hole of the MV field includes a previously encoded or decoded block in the inter picture that does not contain a MV.
At step 720, the hole of the MV field is countered by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
In a particular embodiment, countering the hole of the MV field includes tracing a plurality of previously encoded or decoded blocks in an inverse decoding order. For each of the plurality of previously encoded or decoded blocks, a spatial distance to the current block is calculated. The MV candidate is selected that is associated with a particular one of the plurality of previously encoded or decoded blocks that is closest to the current block. The particular block that is closest to the current block may be the block that has a lowest calculated spatial distance from the current block, in a particular embodiment.
In a particular embodiment, a threshold on a distance of tracing back is imposed when tracing the plurality of previously encoded or decoded blocks.
In a particular embodiment, the inverse decoding order for tracing the plurality of previously encoded or decoded blocks is: a left neighboring block relative to the current block, a top neighboring block relative to the current block, a top-right neighboring block relative to the current block, a left-bottom neighboring block relative to the current block, and a top-left neighboring block relative to the current block.
In a particular embodiment, the at least one neighboring MV used to predict the candidate MV is associated with a block of the video sequence that is not adjacent to the current block.
In a particular embodiment, the block that is not adjacent to the current block is adjacent to one of: a left neighboring block relative to the current block, a top neighboring block relative to the current block, a top-right neighboring block to the current block, a left- bottom neighboring block to the current block, or a top-left neighboring block to the current block.
In a particular embodiment, countering the hole of the MV field comprises prioritizing a MV having a sign that indicates that the previously encoded or decoded block does not contain any residual information.
In a particular embodiment, the method further includes, for each of the at least one neighboring MVs, measuring a straight horizontal spatial distance or straight vertical spatial distance relative to the current block. The candidate MV may be selected from the at least one neighboring MVs that have a straight horizontal spatial distance or a straight vertical spatial distance less than a threshold.
In certain embodiments, the method for improving MV prediction, as described above may be performed by a virtual computing device. FIGURE 15 illustrates another example virtual computing device 800 for improving MV prediction, according to certain embodiments. In certain embodiments, virtual computing device 800 may include modules for performing steps similar to those described above with regard to the method illustrated and described in FIGURE 14. For example, virtual computing device 800 may include an identifying module 810, a countering module 820, and any other suitable modules for improving MV prediction. In some embodiments, one or more of the modules may be implemented using processing circuitry 1020 of FIGURE 17 or processing 1120 of FIGURE 18, discussed below. In certain embodiments, the functions of two or more of the various modules may be combined into a single module.
The identifying module 810 may perform the identifying functions of virtual computing device 800. For example, in a particular embodiment, when encoding or decoding a current block inside an inter picture of a video sequence, identifying module 810 may identify a hole of a MV field in the inter picture. The hole of the MV field includes a previously encoded or decoded block in the inter picture that does not contain a MV.
The countering module 820 may perform the countering functions of virtual computing device 800. For example, in a particular embodiment, countering module 820 may counter the hole of the MV field by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
Other embodiments of virtual computing device 800 may include additional components beyond those shown in FIGURE 14 that may be responsible for providing certain aspects of the functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above). The various different types of radio nodes for performing the functionality may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
FIGURE 16 is a block diagram illustrating an embodiment of a network 900 for improving MV prediction, in accordance with certain embodiments. Network 900 includes one or more wireless devices 910A-C, which may be interchangeably referred to as wireless devices 910 or UEs 910, and network nodes 915A-C, which may be interchangeably referred to as network nodes 915 or eNodeBs 915, radio network controller 920, and a core network node 930. A wireless device 910 may communicate with network nodes 915 over a wireless interface. For example, wireless device 91 OA may transmit wireless signals to one or more of network nodes 915, and/or receive wireless signals from one or more of network nodes 915. The wireless signals may contain voice traffic, data traffic, control signals, and/or any other suitable information. In some embodiments, an area of wireless signal coverage associated with a network node 915 may be referred to as a cell. In some embodiments, wireless devices 910 may have D2D capability. Thus, wireless devices 910 may be able to receive signals from and/or transmit signals directly to another wireless device 910. For example, wireless device 91 OA may be able to receive signals from and/or transmit signals to wireless device 910B.
In certain embodiments, network nodes 915 may interface with a radio network controller 920. Radio network controller 920 may control network nodes 915 and may provide certain radio resource management functions, mobility management functions, and/or other suitable functions. In certain embodiments, radio network controller 920 may interface with core network node 930 via an interconnecting network. The interconnecting network may refer to any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding. The interconnecting network may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof.
Core network node 930 may manage the establishment of communication sessions and provide various other functionality for wireless communication device 910. Wireless communication device 910 exchanges certain signals with core network node 930 using the non-access stratum layer. In non-access stratum (NAS) signaling, signals between wireless communication device 910 and core network node 930 pass transparently through network nodes 920.
As described above, example embodiments of network 900 may include one or more wireless devices 910, and one or more different types of network nodes capable of communicating (directly or mdirectly) with wireless devices 910. Wireless device 910 may refer to any type of wireless device communicating with a node and/or with another wireless device in a cellular or mobile communication system. Examples of wireless device 910 include a mobile phone, a smart phone, a PDA (Personal Digital Assistant), a portable computer (e.g., laptop, tablet), a sensor, a modem, a machine-type-communication (MTC) device / machine- to-machine (M2M) device, laptop embedded equipment (LEE), laptop mounted equipment (LME), USB dongles, a D2D capable device, or another device that can provide wireless communication. A wireless device 910 may also be referred to as UE, a station (STA), a device, or a terminal in some embodiments. Also, in some embodiments, generic terminology, "radio network node" (or simply "network node") is used. It can be any kind of network node, which may comprise a Node B, base station (BS), multi-standard radio (MSR) radio node such as MSR BS, eNode B, network controller, radio network controller (RNC), base station controller (BSC), relay donor node controlling relay, base transceiver station (BTS), access point (AP), transmission points, transmission nodes, RRU, RRH, nodes in distributed antenna system (DAS), core network node (e.g. MSC, MME etc.), O&M, OSS, SON, positioning node (e.g. E- SMLC), MDT, or any suitable network node. Each of wireless communication device 910, network node 915, radio network controller 920, and core network node 930 include any suitable combination of hardware and/or software. Example embodiments of network nodes 915, wireless devices 910, and other network nodes (such as radio network controller or core network node) are described in more detail with respect to FIGURES 13, 14, and 15, respectively.
Although FIGURE 16 illustrates a particular arrangement of network 900, the present disclosure contemplates that the various embodiments described herein may be applied to a variety of networks having any suitable configuration. For example, network 900 may include any suitable number of wireless devices 910 and network nodes 915, as well as any additional elements suitable to support communication between wireless devices or between a wireless device and another communication device (such as a landline telephone). In certain embodiments, wireless communication device 910, network node 920, and core network node 930 use any suitable radio access technology, such as long term evolution (LTE), LTE- Advanced, UMTS, HSPA, GSM, cdma2000, WiMax, WiFi, another suitable radio access technology, or any suitable combination of one or more radio access technologies. For purposes of example, various embodiments may be described within the context of certain radio access technologies. However, the scope of the disclosure is not limited to the examples and other embodiments could use different radio access technologies.
FIGURE 17 a block schematic of an exemplary wireless device 910 for improving MV prediction, in accordance with certain embodiments. Wireless device 910 may refer to any type of wireless device communicating with a node and/or with another wireless device in a cellular or mobile communication system. Examples of wireless device 910 include a mobile phone, a smart phone, a PDA (Personal Digital Assistant), a portable computer (e.g., laptop, tablet), a sensor, a modem, an MTC device / machine-to-machine (M2M) device, laptop embedded equipment (LEE), laptop mounted equipment (LME), USB dongles, a D2D capable device, or another device that can provide wireless communication. A wireless device 910 may also be referred to as UE, a station (ST A), a device, or a terminal in some embodiments. Wireless device 910 includes transceiver 1010, processing circuitry 1020, and memory 1030. In some embodiments, transceiver 1010 facilitates transmitting wireless signals to and receiving wireless signals from network node 915 (e.g., via antenna 1040), processing circuitry 1020 (e.g., which may include one or more processors) executes instructions to provide some or all of the functionality described above as being provided by wireless device 910, and memory 1030 stores the instructions executed by processing circuitry 1020.
Processing circuitry 1020 may include any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform some or all of the described functions of wireless device 910, such as the functions of UE 910 (i.e., wireless device 910) described herein. For example, in general, processing circuitry may identify and counter a hole of a motion vector field inside a picture in a video sequence, as described herein. In some embodiments, processing circuitry 1020 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, one or more application specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs) and/or other logic.
Memory 1030 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, algorithms, code, tables, etc. and/or other instructions capable of being executed by a processor. Examples of memory 1030 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by processor 1020.
Other embodiments of wireless device 910 may optionally include additional components beyond those shown in FIGURE 17 that may be responsible for providing certain aspects of the wireless device's functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solution described above). =-Input devices include mechanisms for entry of data into wireless device 910. For example, input devices may include input mechanisms, such as a microphone, input elements, a display, etc. Output devices may include mechanisms for outputting data in audio, video, and/or hard copy format. For example, output devices may include a speaker, a display, etc.
FIGURE 18 is a block schematic of an exemplary network node 915 for improving MV prediction, in accordance with certain embodiments. Network node 915 may be any type of radio network node or any network node that communicates with a UE and/or with another network node. Examples of network node 915 include an gNB, eNodeB, a node B, a base station, a wireless access point (e.g., a Wi-Fi access point), a low power node, a base transceiver station (BTS), relay, donor node controlling relay, transmission points, transmission nodes, remote RF unit (RRU), remote radio head (RRH), multi-standard radio (MSR) radio node such as MSR BS, nodes in distributed antenna system (DAS), O&M, OSS, SON, positioning node (e.g., E-SMLC), MDT, or any other suitable network node. Network nodes 915 may be deployed throughout network 900 as a homogenous deployment, heterogeneous deployment, or mixed deployment. A homogeneous deployment may generally describe a deployment made up of the same (or similar) type of network nodes 915 and/or similar coverage and cell sizes and inter-site distances. A heterogeneous deployment may generally describe deployments using a variety of types of network nodes 915 having different cell sizes, transmit powers, capacities, and inter-site distances. For example, a heterogeneous deployment may include a plurality of low-power nodes placed throughout a macro-cell layout. Mixed deployments may include a mix of homogenous portions and heterogeneous portions.
Network node 915 may include one or more of transceiver 1120, processing circuitry 1120 (e.g., which may include one or more processors), memory 1130, and network interface 1140. In some embodiments, transceiver 1120 facilitates transmitting wireless signals to and receiving wireless signals from wireless device 910 (e.g., via antenna 1150), processing circuitry 1120 executes instructions to provide some or all of the functionality described above as being provided by a network node 915, memory 1130 stores the instructions executed by processing circuitry 1120, and network interface 1140 communicates signals to backend network components, such as a gateway, switch, router, Internet, Public Switched Telephone Network (PSTN), core network nodes or radio network controllers, etc.
Processing circuitry 1120 may include any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform some or all of the described functions of network node 915, as described herein. For example, in general, processing circuitry 1120 may cause network node to identify and counter a hole of a motion vector field inside a picture in a video sequence. In some embodiments, processing circuitry 1120 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, and/or other logic.
Memory 1130 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, algorithms, code, tables, etc. and/or other instructions capable of being executed by a processor. Examples of memory 1130 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information.
In some embodiments, network interface 1140 is communicatively coupled to processing circuitry 1120 and may refer to any suitable device operable to receive input for network node 915, send output from network node 915, perform suitable processing of the input or output or both, communicate to other devices, or any combination of the preceding. Network interface 1140 may include appropriate hardware (e.g., port, modem, network interface card, etc.) and software, including protocol conversion and data processing capabilities, to communicate through a network.
Other embodiments of network node 915 may include additional components beyond those shown in FIGURE 18 that may be responsible for providing certain aspects of the radio network node's functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solutions described above). The various different types of network nodes may include components having the same physical hardware but configured (e.g., via programming) to support different radio access technologies, or may represent partly or entirely different physical components.
FIGURE 19 is a block schematic of an exemplary radio network controller or core network node 800, in accordance with certain embodiments. Examples of network nodes can include a mobile switching center (MSC), a serving GPRS support node (SGSN), a mobility management entity (MME), a radio network controller (RNC), a base station controller (BSC), and so on. The radio network controller or core network node includes processing circuitry 1220 (e.g., which may include one or more processors), memory 1230, and network interface 1240. In some embodiments, processing circuitry 1220 executes instructions to provide some or all of the functionality described above as being provided by the network node, memory 1230 stores the instructions executed by processing circuitry 1220, and network interface 1240 communicates signals to any suitable node, such as a gateway, switch, router, Internet, Public Switched Telephone Network (PSTN), network nodes 915, radio network controllers or core network nodes, etc.
Processing circuitry 1220 may include any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform some or all of the described functions of the radio network controller or core network node. In some embodiments, processing circuitry 1220 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, and/or other logic.
Memory 1230 is generally operable to store instructions, such as a computer program, software, an application including one or more of logic, rules, algorithms, code, tables, etc. and/or other instructions capable of being executed by a processor. Examples of memory 1230 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or or any other volatile or non-volatile, non-transitory computer-readable and/or computer-executable memory devices that store information.
In some embodiments, network interface 1240 is communicatively coupled to processing circuitry 1220 and may refer to any suitable device operable to receive input for the network node, send output from the network node, perform suitable processing of the input or output or both, communicate to other devices, or any combination of the preceding. Network interface 1240 may include appropriate hardware (e.g., port, modem, network interface card, etc.) and software, including protocol conversion and data processing capabilities, to communicate through a network.
Other embodiments of the network node may include additional components beyond those shown in FIGURE 19 that may be responsible for providing certain aspects of the network node's functionality, including any of the functionality described above and/or any additional functionality (including any functionality necessary to support the solution described above).
EXAMPLE EMBODIMENTS
According to certain embodiments, a method by a transmitter for improved motion vector (MV) prediction comprises
• identifying a hole of a motion vector field inside a picture in a video sequence and
• countering the hole of the MV field optionally, countering the hole of the MV field comprises filling in the hole when the hole is introduced
optionally, the hole is introduced during encoding or decoding;
optionally, countering the hole of the MV field comprises deriving a list of MV candidates for a block of pictures in the video sequence, selecting a MV candidate from the list, storing the selected MV candidate, and using the MV candidate for prediction in at least one future inter block,
optionally, selecting the MV candidate comprises selecting a first MV candidate from the list,
optionally, the MV candidate comprises selecting a MV candidate that is closest to an average of all the neighboring candidates,
optionally, selecting the MV candidate comprises applying motion compensation for each MV candidate and selecting the MV candidate that results in a smallest difference between a motion-compensated block and a current block's reconstruction,
optionally, pixels that are close to a right boundary and a bottom boundary of the block may be emphasized in the selection of the MV candidate, optionally, only the pixels that are adjacent to the right boundary and the bottom boundary may be used in a comparison of a difference between a motion compensated block and the current block,
optionally, pixels that are adjacent to the right boundary and the bottom boundary may be assigned a higher weight as compared to pixels that are not adjacent to the right boundary or the bottom boundary,
optionally, the method further includes, for an uni-predicted inter block, scaling the MV of a current block to another direction and selecting the MV candidate of the MV candidate list that differs the most from the scaled MV, optionally, countering the hole of the MV field comprises jumping through the hole when encoding or decoding a future inter block,
optionally, countering the hole of the MV field comprises increasing a search range or the allowed positions for fetching one or more neighboring MVs, optionally, countering the hole of the MV field comprises tracing previous inter coded blocks in an inverse decoding order, for each of the previous inter coded blocks calculating a spatial distance to the current block, and selecting the MV candidate that is closest to the additional candidate for predicting a current MV,
• optionally, a threshold on a distance of tracing back is imposed,
• optionally, countering the hole of the MV field comprises prioritizing MVs that, based on a sign, may be better to use for prediction,
• optionally, the sign indicates that an encountered inter block does not contain any residual information,
• optionally, countering the hole of the MV field comprises including as MV candidates those that are closet in terms of straight horizontal or straight vertical spatial distance,
• optionally, countering the hole of the MV field comprises using a width or height of a block to jump through several columns or lines for faster fetching,
According to certain embodiments, a transmitter for improved motion vector (MV) prediction comprises a memory storing instructions and processing circuitry operable to execute the instructions to cause the transmitter to perform any of embodiments described above. Optionally, the transmitter comprises at least one of a wireless device, a network node, an encoder, and a decoder.
According to certain embodiments, a non-transitory computer readable medium stores instructions that are executable by a processor to perform any of the example embodiments described above.
According to certain embodiments, a computer program product comprises a non- transitory computer readable medium storing computer readable program code. The computer readable program code comprises program code for performing any of the embodiments described above.
According to certain embodiments, a method by a receiver for improved MV prediction comprises
• identifying a hole of a motion vector field inside a picture in a video sequence, and
• countering the hole of the MV field,
• optionally, the hole of the MV field comprises filling in the hole when the hole is introduced,
• optionally, the hole is introduced during encoding or decoding,
• optionally, countering the hole of the MV field comprises deriving a list of MV candidates for a block of pictures in the video sequence, selecting a MV candidate from the list; storing the selected MV candidate; and using the MV candidate for prediction in at least one future inter block,
• optionally, selecting the MV candidate comprises selecting a first MV candidate from the list,
• optionally, selecting the MV candidate comprises selecting a MV candidate that is closest to an average of all the neighboring candidates,
• optionally, selecting the MV candidate comprises applying motion compensation for each MV candidate and selecting the MV candidate that results in a smallest difference between a motion-compensated block and a current block's reconstruction,
• optionally, pixels that are close to a right boundary and a bottom boundary of the block may be emphasized in the selection of the MV candidate,
• optionally, only the pixels that are adjacent to the right boundary and the bottom boundary may be used in a comparison of a difference between a motion compensated block and the current block,
• optionally, pixels that are adjacent to the right boundary and the bottom boundary may be assigned a higher weight as compared to pixels that are not adjacent to the right boundary or the bottom boundary,
• optionally, for an uni-predicted inter block, the method further includes scaling the MV of a current block to another direction and selecting the MV candidate of the MV candidate list that differs the most from the scaled MV,
• optionally, countering the hole of the MV field comprises jumping through the hole when encoding or decoding a future inter block,
• optionally, countering the hole of the MV field comprises increasing a search range or the allowed positions for fetching one or more neighboring MVs,
• optionally, countering the hole of the MV field comprises tracing previous inter coded blocks in an inverse decoding order, for each of the previous inter coded blocks calculating a spatial distance to the current block, and selecting the MV candidate that is closest to the additional candidate for predicting a current MV,
• optionally, a threshold on a distance of tracing back is imposed,
• optionally, countering the hole of the MV field comprises prioritizing MVs that, based on a sign, may be better to use for prediction,
• optionally, the sign indicates that an encountered inter block does not contain any residual information,
• optionally, countering the hole of the MV field comprises including as MV candidates those that are closet in terms of straight horizontal or straight vertical spatial distance,
• optionally, countering the hole of the MV field comprises using a width or height of a block to jump through several columns or lines for faster fetching.
According to certain embodiments, a receiver for improved MV prediction comprises a memory storing instructions and processing circuitry operable to execute the instructions to cause the receiver to perform any of embodiments described above. Optionally, the receiver comprises at least one of a wireless device, a network node, an encoder, and a decoder.
According to certain embodiments, a non-transitory computer readable medium stores instructions that are executable by a processor to perform any of the example embodiments described above.
According to certain embodiments, a computer program product comprises a non- transitory computer readable medium storing computer readable program code. The computer readable program code comprises program code for performing any of the methods of example embodiments described above.
Modifications, additions, or omissions may be made to the systems and apparatuses described herein without departing from the scope of the disclosure. The components of the systems and apparatuses may be integrated or separated. Moreover, the operations of the systems and apparatuses may be performed by more, fewer, or other components. Additionally, operations of the systems and apparatuses may be performed using any suitable logic comprising software, hardware, and/or other logic. As used in this document, "each" refers to each member of a set or each member of a subset of a set.
Modifications, additions, or omissions may be made to the methods described herein without departing from the scope of the disclosure. The methods may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order.
Although this disclosure has been described in terms of certain embodiments, alterations and permutations of the embodiments will be apparent to those skilled in the art. Accordingly, the above description of the embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are possible without departing from the spirit and scope of this disclosure.
ABBREVIATIONS
Abbreviation Explanation
lx RTT CDMA2000 lx Radio Transmission Technology
3GPP 3rd Generation Partnership Project
5G 5th Generation
ABS Almost Blank Subframe
ARQ Automatic Repeat Request
AWGN Additive White Gaussian Noise
BCCH Broadcast Control Channel
BCH Broadcast Channel
CA Carrier Aggregation
CC Carrier Component
CCCH SDU Common Control Channel SDU
CDMA Code Division Multiplexing Access
CGI Cell Global Identifier
CIR Channel Impulse Response
CP Cyclic Prefix CPICH Common Pilot Channel
CPICH Ec/No CPICH Received energy per chip divided by the power density in the band
CQI Channel Quality information
C-RNTI Cell RNTI
CSI Channel State Information
DCCH Dedicated Control Channel
DL Downlink
DM Demodulation
DMRS Demodulation Reference Signal
DRX Discontinuous Reception
DTX Discontinuous Transmission
DTCH Dedicated Traffic Channel
DUT Device Under Test
E-CID Enhanced Cell-ID (positioning method)
E-SMLC Evolved-Serving Mobile Location Centre
ECGI Evolved CGI
eNB E-UTRAN NodeB
ePDCCH enhanced Physical Downlink Control Channel
E-SMLC evolved Serving Mobile Location Center
E-UTRA Evolved UTRA
E-UTRAN Evolved UTRAN
FDD Frequency Division Duplex
FFS For Further Study
GERAN GSM EDGE Radio Access Network gNB Base station in NR.
GNSS Global Navigation Satellite System
GSM Global System for Mobile communication
HARQ Hybrid Automatic Repeat Request
HO Handover
HSPA High Speed Packet Access
HRPD High Rate Packet Data
LOS Line of Sight
LPP LTE Positioning Protocol
LTE Long-Term Evolution
MAC Medium Access Control
MBMS Multimedia Broadcast Multicast Services
MBSFN Multimedia Broadcast multicast service Single Frequency
Network
MBSFN ABS MBSFN Almost Blank Subframe
MDT Minimization of Drive Tests
MIB Master Information Block
MME Mobility Management Entity
MSC Mobile Switching Center
NPDCCH Narrowband Physical Downlink Control Channel
NR New Radio
OCNG OFDMA Channel Noise Generator
OFDM Orthogonal Frequency Division Multiplexing
OFDMA Orthogonal Frequency Division Multiple Access
OSS Operations Support System OTDOA Observed Time Difference of Arrival
O&M Operation and Maintenance
PBCH Physical Broadcast Channel
P-CCPCH Primary Common Control Physical Channel
PCell Primary Cell
PCFICH Physical Control Format Indicator Channel
PDCCH Physical Downlink Control Channel
PDP Profile Delay Profile
PDSCH Physical Downlink Shared Channel
PGW Packet Gateway
PfflCH Physical Hybrid-ARQ Indicator Channel
PLMN Public Land Mobile Network
PMI Pre coder Matrix Indicator
PRACH Physical Random Access Channel
PRS Positioning Reference Signal
PSS Primary Synchronization Signal
PUCCH Physical Uplink Control Channel
PUSCH Physical Uplink Shared Channel
RACH Random Access Channel
QAM Quadrature Amplitude Modulation
RAN Radio Access Network
RAT Radio Access Technology
RLM Radio Link Management
RNC Radio Network Controller
RNTI Radio Network Temporary Identifier RRC Radio Resource Control
RRM Radio Resource Management
RS Reference Signal
RSCP Received Signal Code Power
RSRP Reference Symbol Received Power OR
Reference Signal Received Power
RSRQ Reference Signal Received Quality OR
Reference Symbol Received Quality
RSSI Received Signal Strength Indicator
RSTD Reference Signal Time Difference
SCH Synchronization Channel
SCell Secondary Cell
SDU Service Data Unit
SFN System Frame Number
SGW Serving Gateway
SI System Information
SIB System Information Block
SNR Signal to Noise Ratio
SON Self Optimized Network
SS Synchronization Signal
SSS Secondary Synchronization Signal
TDD Time Division Duplex
TDOA Time Difference of Arrival
TOA Time of Arrival
TSS Tertiary Synchronization Signal
TTI Transmission Time Interval UE User Equipment
UL Uplink
UMTS Universal Mobile Telecommunication System
USIM Universal Subscriber Identity Module
UTDOA Uplink Time Difference of Arrival
UTRA Universal Terrestrial Radio Access
UTRAN Universal Terrestrial Radio Access Network
WCDMA Wide CDMA
WLAN Wide Local Area Network

Claims

1. A method for improved motion vector (MV) prediction comprises:
identifying a hole of a MV field inside an inter picture in a video sequence, the hole of the MV field comprising a block in a current picture that does not contain a MV for at least one reference picture of the inter picture;
deriving a list of a plurality of MV candidates for the block in the video sequence; selecting a particular MV candidate from the list of the plurality of MV candidates; and
filling in the hole of the MV field with the particular MV candidate when the hole is introduced.
2. The method of Claim 1 , wherein the block in the video sequence is an intra block.
3. The method of Claim 1, wherein the block is a uni-predicted inter block inside the video sequence.
4. The method of any one of Claims 1 to 3, wherein the hole is introduced during encoding or decoding of the video sequence.
5. The method of any of Claims 1 to 4, wherein filling in the hole of the MV field comprises:
storing the particular MV candidate selected from the list of the plurality of MV candidates; and
using the MV candidate for prediction in at least one additional block within the video sequence.
6. The method of any one of Claims 1 to 5, wherein selecting the particular MV candidate comprises selecting the particular MV candidate that is listed first in the list of the plurality of MV candidates.
7. The method of any one of Claims 1 to 5, wherein selecting the particular MV candidate comprises selecting the particular MV candidate that is closest to an average of the plurality of MV candidates, wherein each of the plurality of MV candidates is associated with one of a plurality of neighboring blocks that are adjacent to the block.
8. The method of any one of Claims 1 to 5, wherein selecting the particular MV candidate comprises:
applying motion compensation for each of the plurality of MV candidates; and selecting the particular MV candidate that results in a smallest difference between a motion-compensated block and a reconstruction of the current block.
9. The method of Claim 8, wherein only the pixels that are adjacent to the right boundary and the bottom boundary of the block are used in determining the particular MV candidate with the smallest difference between the motion compensated block and the current block.
10. The method of Claim 8, wherein at least one pixel that is adjacent to the right boundary or the bottom boundary of the block is assigned a higher weight than at least one pixel that is not adjacent to the right boundary or the bottom boundary.
11. The method of any one of Claims 1 to 5, further comprising:
for an uni-predicted inter block, scaling the MV of the block to another direction; and selecting the particular MV candidate from the list of the plurality of MV candidates that differs a most from the MV after scaling.
12. The method of any one of Claims 1 to 11, wherein the method is performed by an encoder.
13. The method of any one of Claims 1 to 11, wherein the method is performed by a decoder.
14. A non-transitory computer readable medium storing instructions that are executable by a processor to perform any of the example Claims 1 to 13.
15. A computer program product comprising a non-transitory computer readable medium storing computer readable program code, the computer readable program code comprises program code for performing any of the methods of example Claims 1 to 13.
16. A device for improved motion vector (MV) prediction comprising:
a memory storing instructions; and
processing circuitry operable to execute the instructions to cause the device to:
identify a hole of a MV field inside an inter picture in a video sequence, the hole of the MV field comprising a block in a current picture that does not contain a MV for at least one reference picture of the inter picture;
derive a list of a plurality of MV candidates for the block in the video sequence; select a particular MV candidate from the list of the plurality of MV candidates; and
fill in the hole of the MV field with the particular MV candidate when the hole is introduced.
17. The device of Claim 16, wherein the block in the video sequence is an intra block.
18. The device of Claim 16, wherein the block is a uni-predicted inter block inside the video sequence.
19. The device of any one of Claims 16 to 18, wherein the hole is introduced during encoding or decoding of the video sequence.
20. The device of any of Claims 16 to 19, wherein when filling in the hole of the MV field the processing circuitry is operable to execute the instructions to cause the device to:
store the particular MV candidate selected from the list of the plurality of MV candidates; and
use the particular MV candidate for prediction in at least one additional block within the video sequence.
The device of any one of Claims 16 to 20, wherein when selecting the particular MV candidate the processing circuity is operable to execute the instructions to cause the device to select the particular MV candidate that is listed first in the list of the plurality of MV candidates.
22. The device of any one of Claims 16 to 20, wherein when selecting the particular MV candidate the processing circuity is operable to execute the instructions to cause the device to select the particular MV candidate that is closest to an average of the plurality of MV candidates, wherein each of the plurality of MV candidates is associated with one of a plurality of neighboring blocks that are adjacent to the block.
23. The device of any one of Claims 16 to 20, wherein when selecting the particular MV candidate the processing circuity is operable to execute the instructions to cause the device to:
apply motion compensation for each of the plurality of MV candidates; and select the particular MV candidate that results in a smallest difference between a motion-compensated block and a reconstruction of the current block.
24. The device of Claim 23, wherein only the pixels that are adjacent to the right boundary and the bottom boundary of the block are used in determining the particular MV candidate with the smallest difference between the motion compensated block and the current block.
25. The device of Claim 23, wherein at least one pixel that is adjacent to the right boundary or the bottom boundary of the block is assigned a higher weight than at least one pixel that is not adjacent to the right boundary or the bottom boundary.
26. The device of any one of Claims 16 to 20, wherein the processing circuitry is operable to execute the instructions to cause the device to:
for an uni-predicted inter block, scale the MV of the block to another direction; and select the particular MV candidate from the list of the plurality of MV candidates that differs a most from the MV after scaling.
27. The device of any one of Claims 16 to 26, wherein the device an encoder.
28. The device of any one of Claims 16 to 26, wherein the device is a decoder.
29. A method for improved motion vector (MV) prediction comprises:
when encoding or decoding a current block inside an inter picture of a video sequence, identifying a hole of a MV field in the inter picture, the hole of the MV field comprising a previously encoded or decoded block in the inter picture that does not contain a MV for at least one reference picture of the inter picture; and
countering the hole of the MV field by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
30. The method of Claim 29, wherein countering the hole of the MV field comprises: tracing a plurality of previously encoded or decoded blocks in an inverse decoding order;
for each of the plurality of previously encoded or decoded blocks, calculating a spatial distance to the current block; and
select the MV candidate that is associated with a particular one of the plurality of previously encoded or decoded blocks that is closest to the current block.
31 The method of Claim 30, wherein a threshold on a distance of tracing back is imposed when tracing the plurality of previously encoded or decoded blocks.
32. The method of any one of Claims 30 to 31, wherein the inverse decoding order for tracing the plurality of previously encoded or decoded blocks is:
a left neighboring block relative to the current block,
a top neighboring block relative to the current block,
a top-right neighboring block relative to the current block,
a left-bottom neighboring block relative to the current block, and
a top-left neighboring block relative to the current block.
The method of any one of Claims 29 to 32, wherein the at least one neighboring MV used to predict the candidate MV is associated with a block of the video sequence that is not adjacent to the current block.
34. The method of Claim 33, wherein the block that is not adjacent to the current block is adjacent to one of:
a left neighboring block relative to the current block ,
a top neighboring block relative to the current block,
a top-right neighboring block to the current block,
a left-bottom neighboring block to the current block, or
a top-left neighboring block to the current block.
35. The method of any one of Claims 29 to 34, wherein countering the hole of the MV field comprises prioritizing a MV having a sign that indicates that the previously encoded or decoded block does not contain any residual information.
36. The method of any one of Claims 29 to 35, further comprising:
for each of the at least one neighboring MVs, measuring a straight horizontal spatial distance or straight vertical spatial distance relative to the current block; and
selecting the candidate MV from the at least one neighboring MVs that have a straight horizontal spatial distance or a straight vertical spatial distance less than a threshold.
37. The method of any one of Claims 29 to 36, wherein the method is performed by an encoder.
38. The method of any one of Claims 29 to 36, wherein the method is performed by a decoder.
39. A non-transitory computer readable medium storing instructions that are executable by a processor to perform any of Claims 29 to 38.
40. A computer program product comprising a non-transitory computer readable medium storing computer readable program code, the computer readable program code comprises program code for performing any of the methods of Claims 29 to 38.
41. A device for improved motion vector (MV) prediction comprising:
a memory storing instructions; and
processing circuitry operable to execute the instructions to cause the device to:
when encoding or decoding a current block inside an inter picture of a video sequence, identify a hole of a MV field in the inter picture, the hole of the MV field comprising a previously encoded or decoded block in the inter picture that does not contain a
MV for at least one reference picture of the inter picture; and
counter the hole of the MV field by increasing a search range for fetching at least one neighboring MV used to predict a candidate MV for the previously encoded or decoded block.
42. The device of Claim 41, wherein countering the hole of the MV field comprises: tracing a plurality of previously encoded or decoded blocks in an inverse decoding order;
for each of the plurality of previously encoded or decoded blocks, calculating a spatial distance to the current block; and
select the MV candidate that is associated with a particular one of the plurality of previously encoded or decoded blocks that is closest to the current block.
43. The device of Claim 42, wherein a threshold on a distance of tracing back is imposed when tracing the plurality of previously encoded or decoded blocks.
44. The device of any one of Claims 42 to 43, wherein the inverse decoding order for tracing the plurality of previously encoded or decoded blocks is:
a left neighboring block relative to the current block,
a top neighboring block relative to the current block,
a top-right neighboring block relative to the current block,
a left-bottom neighboring block relative to the current block, and
a top-left neighboring block relative to the current block.
45. The device of any one of Claims 41 to 44, wherein the at least one neighboring MV used to predict the candidate MV is associated with a block of the video sequence that is not adjacent to the current block.
46. The device of Claim 45, wherein the block that is not adjacent to the current block is adjacent to one of:
a left neighboring block relative to the current block,
a top neighboring block relative to the current block,
a top-right neighboring block to the current block,
a left-bottom neighboring block to the current block, or
a top-left neighboring block to the current block.
47. The device of any one of Claims 41 to 46, wherein when countering the hole of the MV field the processing circuitry is operable to execute the instructions to cause the device to prioritize a MV having a sign that indicates that the previously encoded or decoded block does not contain any residual information.
48. The device of any one of Claims 41 to 47, wherein the processing circuitry is operable to execute the instructions to cause the device to:
for each of the at least one neighboring MVs, measuring a straight horizontal spatial distance or straight vertical spatial distance relative to the current block; and
selecting the candidate MV from the at least one neighboring MVs that have a straight horizontal spatial distance or a straight vertical spatial distance less than a threshold.
49. The device of any one of Claims 41 to 48, wherein the device is an encoder.
50. The device of any one of Claims 41 to 48, wherein the device is a decoder.
PCT/EP2018/076896 2017-10-06 2018-10-03 Improved motion vector protection WO2019068753A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762568831P 2017-10-06 2017-10-06
US62/568,831 2017-10-06

Publications (1)

Publication Number Publication Date
WO2019068753A1 true WO2019068753A1 (en) 2019-04-11

Family

ID=63762534

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2018/076896 WO2019068753A1 (en) 2017-10-06 2018-10-03 Improved motion vector protection

Country Status (1)

Country Link
WO (1) WO2019068753A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020228560A1 (en) * 2019-05-15 2020-11-19 华为技术有限公司 Method and device for obtaining a list of candidate motion vectors, and codec

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHEN J ET AL: "Algorithm description of Joint Exploration Test Model 7 (JEM7)", 7. JVET MEETING; 13-7-2017 - 21-7-2017; TORINO; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JVET/,, no. JVET-G1001, 19 August 2017 (2017-08-19), XP030150980 *
DA LIU ET AL: "An Improved Motion Vector Prediction Scheme for Video Coding", 1 January 2006, ADVANCES IN MULTIMEDIA INFORMATION PROCESSING - PCM 2006 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 598 - 605, ISBN: 978-3-540-48766-1, XP019047743 *
WANG SUHONG ET AL: "Enhanced Motion Vector Prediction for Video Coding", 2018 IEEE FOURTH INTERNATIONAL CONFERENCE ON MULTIMEDIA BIG DATA (BIGMM), IEEE, 13 September 2018 (2018-09-13), pages 1 - 5, XP033424052, DOI: 10.1109/BIGMM.2018.8499100 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020228560A1 (en) * 2019-05-15 2020-11-19 华为技术有限公司 Method and device for obtaining a list of candidate motion vectors, and codec
US11516464B2 (en) 2019-05-15 2022-11-29 Huawei Technologies Co., Ltd. Method for obtaining candidate motion vector list, apparatus, encoder, and decoder
US11889061B2 (en) 2019-05-15 2024-01-30 Huawei Technologies Co., Ltd. Method for obtaining candidate motion vector list, apparatus, encoder, and decoder

Similar Documents

Publication Publication Date Title
US11683734B2 (en) Downlink measurement design in new radio
US20210385457A1 (en) Determining filter length for deblocking during encoding and/or decoding of video
JP7382332B2 (en) Subblock motion derivation and decoder side motion vector refinement for merge mode
US10694392B2 (en) Terminal device, base station device, and method
EP3689017B1 (en) Configuration of cell quality derivation parameters
EP2664202B1 (en) Methods and network nodes for signalling of complementary assistance data
US11310769B2 (en) Method, apparatus, and computer-readable medium for enhanced decoding of narrowband master information blocks (MIB-NB)
KR102246505B1 (en) Reference transmission point selection control for RSTD measurement
EP3577996A1 (en) A method for transmitting random access messages on non-anchor carriers
EP3607768B1 (en) Method of limiting needed beam measurement in cell re-selection
US20240098256A1 (en) Methods providing encoding and/or decoding of video using reference values and related devices
CN110741564A (en) Cell ranking in a multi-beam system
KR102615743B1 (en) Configuring narrowband positioning reference signals
US20220141885A1 (en) Random Access Procedure
WO2019069238A1 (en) Information block (ib) acquisition based on quasi-stationary ib content
CN113647127A (en) SSB-based measurement method and device
KR20230018472A (en) Method and system for reference signaling in a wireless communication network
WO2019068753A1 (en) Improved motion vector protection
EP3959919A1 (en) Providing beam information

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

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

Country of ref document: EP

Kind code of ref document: A1