CN110650344B - Method and device for generating merging candidate list, electronic equipment and storage medium - Google Patents

Method and device for generating merging candidate list, electronic equipment and storage medium Download PDF

Info

Publication number
CN110650344B
CN110650344B CN201910865514.6A CN201910865514A CN110650344B CN 110650344 B CN110650344 B CN 110650344B CN 201910865514 A CN201910865514 A CN 201910865514A CN 110650344 B CN110650344 B CN 110650344B
Authority
CN
China
Prior art keywords
block
mer
merging candidate
candidate list
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910865514.6A
Other languages
Chinese (zh)
Other versions
CN110650344A (en
Inventor
陈漪纹
王祥林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202111547049.5A priority Critical patent/CN114205593B/en
Priority to CN202111550312.6A priority patent/CN114205594B/en
Publication of CN110650344A publication Critical patent/CN110650344A/en
Application granted granted Critical
Publication of CN110650344B publication Critical patent/CN110650344B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

The utility model discloses a method, a device, an electronic device and a storage medium for generating a merging candidate list, which relate to the technical field of video coding and decoding, and the method comprises the following steps: determining a spatial neighboring candidate block of the CU, which is not in the same motion estimation region MER as the CU, and is coded as an available block; building a merge candidate list for the CU based on the available blocks. According to the method, the spatial adjacent candidate blocks which are not in the same MER are limited, and the coded spatial adjacent candidate blocks are used as available blocks, so that the dependency between different CUs is reduced when a merging candidate list is constructed, and the video coding and decoding efficiency is improved.

Description

Method and device for generating merging candidate list, electronic equipment and storage medium
Cross Reference to Related Applications
This application claims priority from U.S. patent application filed on 14/09.2018, entitled "Motion Estimation Region for the New Merge Candidates", and having application number 62/731,614, the entire contents of which are incorporated herein by reference.
Technical Field
The present disclosure relates to the field of video encoding and decoding technologies, and in particular, to a method and an apparatus for generating a merge candidate list, an electronic device, and a storage medium.
Background
Video coding techniques are performed in accordance with one or more video coding standards. Video Coding standards include multifunctional Video Coding (VVC), Joint Exploration Test Model (JEM), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), Moving Picture Experts Group (MPEG), and the like.
The image division structure divides an input video image into blocks called Coding Tree Units (CTUs), and one CTU is divided into a plurality of Coding Units (CUs), and each CU can be coded in an Intra mode (Intra mode), an Inter mode (Inter mode), a merge mode (merge mode), and other modes. However, the inventors found that the generation efficiency of the merging candidate list in the related art becomes a bottleneck of the video encoding and decoding process, so that the video encoding and decoding efficiency is low.
Disclosure of Invention
The present disclosure provides a method, an apparatus, an electronic device, and a storage medium for generating a merge candidate list, which are used to at least solve the problem of interdependence between different CUs when building a merge candidate list in the related art.
According to a first aspect of the embodiments of the present disclosure, there is provided a method for generating a merge candidate list, including:
determining, for a CU, a spatial neighboring candidate block that is not in a same Motion Estimation Region (MER) as the CU and is encoded as a usable block from among spatial neighboring candidate blocks of the CU;
building a merge candidate list for the CU based on the available blocks.
In one embodiment, the method further comprises:
constructing an unavailable block from a spatial neighboring candidate block at the same MER as the CU and an uncoded spatial neighboring candidate block not at the same MER as the CU, and determining an alternative block of the unavailable block based on a positional relationship of the unavailable block to the CU;
the constructing a merge candidate list for the CU based on the available blocks comprises:
constructing a merge candidate list for the CU based on the available blocks and the alternative blocks.
In one embodiment, the determining an alternative block of the unavailable block based on the location relationship of the unavailable block to the CU comprises:
if x < xc&&y<ycThen, then
Figure BDA0002201152500000021
If x < xcThen, then
Figure BDA0002201152500000022
y'=y;
If y < ycThen x' ═ x;
Figure BDA0002201152500000023
wherein, x is a coordinate value of the unavailable block on a first coordinate axis at a preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; said xcThe coordinate value of the first coordinate axis of the CU at the preset position is obtained; said ycThe coordinate value of the second coordinate axis of the CU at the preset position is obtained; the x' is a coordinate value of a first coordinate axis of the alternative block at a preset position; y' is a coordinate value of a second coordinate axis of the alternative block at a preset position; the w is a width value of the MER; the h is a height value of the MER; c is a specified value.
In one embodiment, before determining, for a coding unit, CU, from spatial neighboring candidate blocks of the CU, that is not in a same motion estimation region, MER, as the CU, and an encoded spatial neighboring candidate block as a usable block, the method further comprises:
determining the merging candidate mode as at least one of the following designated merging candidate modes: MER-based affine merging candidates, MER-based non-adjacent spatial merging candidates, and MER-based spatio-temporal merging candidates.
In one embodiment, if the merge candidate is the MER-based affine merge candidate, before constructing the merge candidate list of the CU based on the available block and the alternative block, the method further includes:
taking the spatial adjacent blocks located at the merge candidate positions of the MER as additional blocks;
constructing a merge candidate list for the CU based on the available blocks and the alternative blocks, comprising:
constructing a merge candidate list for the CU based on the available block, the alternative block, and the additional block.
In one embodiment, if the merge candidate is a merge candidate based on a Motion Vector Prediction (MVP), the method further includes:
after all CUs within the MER are reconstructed, a Motion Vector (MV) buffer used to construct a merge candidate list is updated.
In one embodiment, the method further comprises:
determining that the size of the MER is less than or equal to a first preset threshold before determining a merging candidate mode employing the designated merging candidate mode or the history-based MVP; or the like, or, alternatively,
determining that the size of the CU is greater than or equal to a second preset threshold;
wherein the first preset threshold is greater than the second preset threshold.
In one embodiment, the method further comprises:
if the MER size is larger than the first preset threshold, disabling the specified merging candidate mode or the history-based MVP merging candidate mode; or;
and if the size of the CU is smaller than the second preset threshold, forbidding the historical MVP merging candidates.
According to a second aspect of embodiments of the present disclosure, an apparatus for generating a merge candidate list, the apparatus comprising:
a determining unit configured to determine, for a Coding Unit (CU), a spatial neighboring candidate block that is not in the same Motion Estimation Region (MER) as the CU and is encoded, as an available block, from among spatial neighboring candidate blocks of the CU;
a construction unit configured to construct a merge candidate list of the CU based on the available blocks.
In one embodiment, the apparatus further comprises: an alternative block determination unit configured to constitute an unavailable block from a spatial neighboring candidate block that is at the same MER as the CU and an uncoded spatial neighboring candidate block that is not at the same MER as the CU, determine an alternative block of the unavailable block based on a positional relationship of the unavailable block with the CU;
the construction unit configured to:
constructing a merge candidate list for the CU based on the available blocks and the alternative blocks.
In one embodiment, the alternative block determination unit is configured to:
if x < xc&&y<ycThen, then
Figure BDA0002201152500000041
If x < xcThen, then
Figure BDA0002201152500000042
y′=y;
If y < ycThen x' ═ x;
Figure BDA0002201152500000043
wherein, x is a coordinate value of the unavailable block on a first coordinate axis at a preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; said xcThe coordinate value of the first coordinate axis of the CU at the preset position is obtained; said ycThe coordinate value of the second coordinate axis of the CU at the preset position is obtained; the x' is a coordinate value of a first coordinate axis of the alternative block at a preset position; y' is a coordinate value of a second coordinate axis of the alternative block at a preset position; the w is a width value of the MER; the h is a height value of the MER; c is a specified value.
In one embodiment, further comprising: a merging candidate determination unit configured to determine, for a coding unit CU, a merging candidate that is not in the same motion estimation region MER as the CU and is encoded before a spatial neighboring candidate block of the CU is used as a usable block, the merging candidate being at least one of the following designated merging candidates: MER-based affine merging candidates, MER-based non-adjacent spatial merging candidates, and MER-based spatio-temporal merging candidates.
In one embodiment, if the merge candidate is the MER-based affine merge candidate, the constructing unit constructs a merge candidate list of the CU based on the available block and the alternative block, and then includes:
an additional block determination unit configured to take, as an additional block, a spatial neighboring block located at a merging candidate position of the MER;
the construction unit configured to:
constructing a merge candidate list for the CU based on the available block, the alternative block, and the additional block.
In one embodiment, if the merge candidate is a merge candidate for predicting MVP based on historical motion vectors, the apparatus further comprises: an update unit configured to update a motion vector MV buffer for constructing a merge candidate list after all CUs within the MER are reconstructed.
In one embodiment, the apparatus further comprises: an adoption mode determination unit configured to determine that the size of the MER is less than or equal to a first preset threshold before determining to adopt the designated merging candidate mode or the history-based MVP merging candidate mode; or the like, or, alternatively,
determining that the size of the CU is greater than or equal to a second preset threshold;
wherein the first preset threshold is greater than the second preset threshold.
In one embodiment, the apparatus further comprises: a mode disabling unit configured to disable the designated merging candidate mode or the history-based MVP merging candidate mode if the MER size is greater than the first preset threshold; or;
and if the size of the CU is smaller than the second preset threshold, forbidding the historical MVP merging candidates.
According to a third aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of the first aspect.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer storage medium storing computer-executable instructions for performing the method according to the first aspect.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
the utility model discloses a method, a device, an electronic device and a storage medium for generating a merging candidate list, which relates to the technical field of video coding and video compression, and the method comprises the following steps: and for the coding unit CU, after determining a motion estimation region MER which is not in the same position as the CU from the spatial adjacent candidate blocks of the CU, and taking the coded spatial adjacent candidate blocks as available blocks, constructing a combination candidate list of the CU based on the available blocks. According to the method, the spatial adjacent candidate blocks which are not in the same MER are limited, and the coded spatial adjacent candidate blocks are used as available blocks, so that the dependency between different CUs is reduced when the merging candidate list is constructed, the merging candidate lists of all CUs can be executed in parallel, the construction efficiency of the merging candidate lists is improved, and the efficiency of video coding and decoding is further improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
Fig. 1 is a schematic flowchart of a method for generating a merge candidate list according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram of an available block for generating a merge candidate list according to an embodiment of the disclosure;
fig. 3 is a schematic diagram of an available block for generating a merge candidate list according to an embodiment of the disclosure;
fig. 4 is a schematic diagram of an alternative block for generating a merge candidate list according to an embodiment of the disclosure;
fig. 5 is a schematic diagram of an additional block for generating a merge candidate list according to an embodiment of the disclosure;
fig. 6 is a schematic structural diagram of an apparatus for generating a merge candidate list according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
The inventors found that, for a CU to rely on motion vectors reconstructed after decoding by other CUs adjacent to the CU when constructing a merge candidate list, so that efficiency of video encoding and video decoding is reduced, a method for generating the merge candidate list is provided based on the embodiment of the present disclosure.
Referring to fig. 1, a method for generating a merge candidate list according to an embodiment of the present disclosure includes:
step 101: for a coding unit, CU, from among spatial neighboring candidate blocks of the CU, a spatial neighboring candidate block that is not in the same motion estimation region MER as the CU is determined, and the coded spatial neighboring candidate block is taken as a usable block.
Step 102: a merge candidate list for the CU is constructed based on the available blocks.
According to the method, the spatial adjacent candidate blocks which are not in the same MER with the CU are used for constructing the merging candidate block for the CU, so that the selected available block does not comprise the dependent adjacent CU, the dependency between different CUs is reduced when constructing the merging candidate list, the merging candidate lists of all CUs can be executed in parallel, the constructing efficiency of the merging candidate list is improved, and the efficiency of video coding and decoding is further improved.
To more clearly illustrate the method described in fig. 1, this can be described with reference to fig. 2, where the diagram includes four MERs, where CU1 and CU2 are located in the same MER, CU3, CU4, CU5, CU6 and CU7 are located in the same MER, CU8 is located in another MER, CU9 and CU10 are located in the same MER, where the spatially adjacent candidate blocks of CU1 are A, B, C, D, E and A, B, C, D, E are all encoded, where A, B, C, D, E is not in the MER where CU1 is located, so A, B, C, D, E can be used as the construction of the CU1 merge candidate list.
Referring to fig. 3, the spatial neighboring candidate blocks of CU5 are a1, B1, C1, D1, and E1, and a1, B1, C1, and E1 are all coded and D1 is not coded, where a1 and E1 are both located in the MER in which CU1 is located but not in the MER in which CU5 is located, so a1 and E1 can both be used as CU5 to construct a usable block of the merged candidate list.
In one embodiment, the unavailable block is formed by a spatial neighboring candidate block at the same MER as the CU and an uncoded spatial neighboring candidate block not at the same MER as the CU, and an alternative block of the unavailable block is determined based on a positional relationship of the unavailable block to the CU. A merge candidate list of CUs is constructed based on the available blocks and the alternative blocks.
Usually, the length of the merge candidate list is fixed, for example, the length is fixed to 6, if the motion vectors of the spatial neighboring candidate blocks are placed in the merge candidate list, there is a vacancy in the merge candidate list, which results in a waste of resources of signal merge index bits. However, the merging candidate list can be filled by constructing an alternative block, and the signal merge index bit resource is fully utilized.
In one embodiment, it should be noted that the coordinate values of the unavailable block at the preset position include a first coordinate value and a second coordinate value, the coordinate values of the CU at the preset position include a third coordinate value and a fourth coordinate value, and the coordinate values of the alternative block at the preset position include a fifth coordinate value and a sixth coordinate value, wherein the first coordinate value, the third coordinate value and the fifth coordinate value are all located on the first coordinate axis; the second coordinate value, the fourth coordinate value and the sixth coordinate value are all located on the second coordinate axis, such as: the first coordinate axis is an abscissa of the image, and the second coordinate axis is an ordinate of the image. The preset position of the unavailable block is the position of the upper left corner, the preset position of the CU is also the position of the upper left corner, and the preset position of the alternative block is also the position of the upper left corner, based on which the positional relationship between the unavailable block and the CU can include the following three cases:
case one, if x < xc&&y<ycThen, then
Figure BDA0002201152500000081
Case two, if x < xcThen, then
Figure BDA0002201152500000082
y'=y;
Case three, if y < ycThen x' ═ x;
Figure BDA0002201152500000083
wherein x is a coordinate value of the first coordinate axis of the unavailable block at the preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; x is the number ofcThe coordinate value of the first coordinate axis of the CU at the preset position is shown; y iscThe coordinate value of a second coordinate axis of the CU at a preset position is shown; x' is a coordinate value of the first coordinate axis of the alternative block at the preset position; y' is a coordinate value of the second coordinate axis of the alternative block at the preset position; w is the width value of MER; h is the height value of MER; c is a specified value. In practice, the specified value may be 1 pixel.
The following is a detailed description of the three cases described above:
in case one, if the first coordinate value is smaller than the third coordinate value and the second coordinate value is smaller than the fourth coordinate value, determining the ratio of the first coordinate value to the width value of the MER, after rounding down the ratio, multiplying the rounding result by the width value of the MER, and subtracting the specified value from the obtained product to obtain a result which is used as a fifth coordinate value of the preset position of the alternative block; and the number of the first and second electrodes,
determining the ratio of the second coordinate value to the height value of the MER, after rounding the ratio downwards, multiplying the rounding result by the height value of the MER, and taking the result obtained by subtracting the specified value from the product as a sixth coordinate value of the preset position of the alternative block; see fig. 4, where an alternative block E1 to the unavailable block E of CU6 is calculated in the manner described above, where c takes the value 1,
Figure BDA0002201152500000091
is the largest integer less than or equal to x.
Determining the ratio of the first coordinate value to the width value of the MER if the first coordinate value is smaller than the third coordinate value, multiplying the rounding result by the width value of the MER after rounding the ratio downwards, and taking the result obtained by subtracting the specified value from the product as a fifth coordinate value of the preset position of the alternative block; and determining that the second coordinate value is a sixth coordinate value of the preset position of the alternative block.
In practice, see fig. 4, where an alternative block B1 to the unavailable block B of CU6 is calculated in the manner described above, where c is 1,
Figure BDA0002201152500000092
is the largest integer less than or equal to x.
Determining that the first coordinate value is a fifth coordinate value of the preset position of the alternative block if the second coordinate value is smaller than the fourth coordinate value; and determining the ratio of the second coordinate value to the height value of the MER, after rounding the ratio downwards, multiplying the rounding result by the height value of the MER, and taking the result obtained by subtracting the specified value from the product as the sixth coordinate value of the preset position of the alternative block.
By the method, the alternative blocks of the unavailable blocks can be effectively calculated, the available blocks are increased when the merging candidate list of the CU is constructed, and further, the bit resources of the signal merge index are fully utilized.
In one embodiment, before determining, for a coding unit CU, that is not at the same MER as the CU from among spatial neighboring candidate blocks of the CU and an encoded spatial neighboring candidate block is a usable block, it may be further determined whether a merging candidate is at least one of the following designated merging candidates: MER-based affine merging candidates, MER-based non-adjacent spatial merging candidates, and MER-based space-time domain merging candidates; if the determination result is that the merging candidate mode is specified, the merging candidate list of each CU can be generated in parallel by using an available block scheme.
As described above, it is equivalent to implement improvement of the tool for specifying the merging candidate manner, and needless to say, in implementation, the merging candidate manner is not limited as long as the merging candidate manner in which CUs in the same MER region have dependency when the merging candidate list is constructed is applied to the embodiment of the present disclosure.
In one embodiment, if the merge candidate is an MER-based affine merge candidate, an additional block may be further used to construct the merge candidate list, where the additional block may be a spatial neighboring block located at a merge candidate position of the MER, and then the merge candidate list may be constructed based on the available block, the alternative block, and the additional block together to construct the merge candidate list of the CU.
Referring to fig. 5, it can be found that the additional blocks of the MERs of CU3, CU4, CU5, CU6, and CU7 are a ', B ', C ', D ', and E ', and these five additional blocks can be CU3, CU4, CU5, CU6, and CU7 respectively used to construct the corresponding merge candidate list.
By the method, more spatial-domain adjacent blocks can be obtained to construct a merging candidate list when the MER-based affine merging candidate exists, so that the signal merge index bit resource is fully utilized, and the waste of the signal merge index bit resource is avoided.
In an embodiment, if the merge candidate mode is a merge candidate mode of predicting MVP based on a historical motion vector, in order to improve the generation efficiency of the merge candidate list in the merge candidate mode, in implementation, the motion vector MV buffer used for constructing the merge candidate list may be updated after all CUs in the MER are reconstructed. In this embodiment, the information stored in the MV buffer is not information of other CUs in the same MER, and thus the construction of the merge candidate list of different CUs in the same MER is independent of other CUs, so that the merge candidate lists can be generated in parallel, and the generation efficiency of the merge candidate lists is improved.
Note that, when the merge candidate of the MVP is calculated by the history-based motion vector, the available block may not be calculated, and the MV buffer may be updated after all the CUs in the same MER region are reconstructed. As shown in fig. 4, CU3, CU4, CU5, CU6, and CU7 are located in the same MER, and after the reconstruction of CU3, the MV buffer is not updated until all CUs in the MER are completely reconstructed.
In one embodiment, to further improve the generation efficiency of the merge candidate list, when constructing the merge candidate list, it may be determined that the size of the MER is less than or equal to a first preset threshold; or when the size of the CU is determined to be larger than or equal to a second preset threshold, determining to adopt a specified combination candidate mode or a combination candidate mode based on history MVP. The first preset threshold is larger than the second preset threshold. In addition, after selecting a merging candidate mode adopting a specified merging candidate mode or a history-based MVP, determining that the size of the MER is less than or equal to a first preset threshold; or when the size of the CU is determined to be larger than or equal to a second preset threshold, the merging candidate list is generated for each CU component in a parallel mode provided by the disclosure. Based on this embodiment, the selection of the merging candidate may be more reasonable.
In addition, it is further noted that different CUs in the same MER may select different merging candidates to construct the merging candidate list according to requirements. The second preset threshold mentioned above is associated with the size of MER, such as: the MER can be set to be one fourth of the MER, but can be set according to actual requirements in specific applications, and is not particularly limited.
Correspondingly, if the MER size is larger than the first preset threshold, the corresponding mode may be selected for each CU to construct the merging mutually selected list by disabling the designated merging candidate mode or the history-based MVP merging candidate mode. The forbidden notification can be sent through a signal corresponding to the corresponding merge candidate list, for example, the corresponding affine merge candidate, and all grammars related to the affine merge candidate are not signaled to achieve the forbidden purpose. Similarly, all syntaxes associated with history-based MVP merge candidates are not signaled, all syntaxes associated with non-adjacent spatial merge candidates are not signaled, and all syntaxes associated with spatio-temporal merge candidates are not signaled to reach a merge candidate that disables the corresponding approach.
The granularity of the corresponding disabling may also be CU-level, for example, if the size of the CU is smaller than the second preset threshold, the combining candidate specifying the combining candidate mode or the history-based MVP is disabled. In this way, each CU may select another suitable merging candidate according to actual situations. The disabling mode can be realized in the above-mentioned non-signaling mode, and is not described in detail here.
By the method, a proper merging candidate mode can be reasonably selected, and the merging candidate list can be flexibly constructed.
Referring to fig. 6, the present disclosure provides an apparatus for generating a merge candidate list, the apparatus including: a determination unit 61 and a construction unit 62.
The determining unit 61 is configured to determine, for the coding unit CU, a spatial neighboring candidate block that is not in the same motion estimation region MER as the CU and is already coded, from among the spatial neighboring candidate blocks of the CU, as a usable block.
A construction unit 62 configured to construct the merging candidate list of the CUs based on the available blocks.
In one embodiment, the apparatus further comprises: an alternative block determination unit configured to constitute an unavailable block from a spatial neighboring candidate block that is at the same MER as the CU and an uncoded spatial neighboring candidate block that is not at the same MER as the CU, determine an alternative block of the unavailable block based on a positional relationship of the unavailable block with the CU;
the construction unit configured to:
constructing a merge candidate list for the CU based on the available blocks and the alternative blocks.
In one embodiment, the alternative block determination unit is configured to:
if x < xc&&y<ycThen, then
Figure BDA0002201152500000121
If x < xcThen, then
Figure BDA0002201152500000122
y'=y;
If y < ycThen x' ═ x;
Figure BDA0002201152500000123
wherein, x is a coordinate value of the unavailable block on a first coordinate axis at a preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; said xcThe coordinate value of the first coordinate axis of the CU at the preset position is obtained; said ycThe coordinate value of the second coordinate axis of the CU at the preset position is obtained; the x' is a coordinate value of a first coordinate axis of the alternative block at a preset position; y' is a coordinate value of a second coordinate axis of the alternative block at a preset position; the w is a width value of the MER; the h is a height value of the MER; c is a specified value.
In one embodiment, further comprising: a merging candidate determination unit configured to determine, for a coding unit CU, a merging candidate that is not in the same motion estimation region MER as the CU and is encoded before a spatial neighboring candidate block of the CU is used as a usable block, the merging candidate being at least one of the following designated merging candidates: MER-based affine merging candidates, MER-based non-adjacent spatial merging candidates, and MER-based spatio-temporal merging candidates.
In one embodiment, if the merge candidate is the MER-based affine merge candidate, the constructing unit constructs a merge candidate list of the CU based on the available block and the alternative block, and then includes:
an additional block determination unit configured to take, as an additional block, a spatial neighboring block located at a merging candidate position of the MER;
the construction unit configured to:
constructing a merge candidate list for the CU based on the available block, the alternative block, and the additional block.
In one embodiment, if the merge candidate is a merge candidate for predicting MVP based on historical motion vectors, the apparatus further comprises: an update unit configured to update a motion vector MV buffer for constructing a merge candidate list after all CUs within the MER are reconstructed.
In one embodiment, the apparatus further comprises: an adoption mode determination unit configured to determine that the size of the MER is less than or equal to a first preset threshold before determining to adopt the designated merging candidate mode or the history-based MVP merging candidate mode; or the like, or, alternatively,
determining that the size of the CU is greater than or equal to a second preset threshold;
wherein the first preset threshold is greater than the second preset threshold.
In one embodiment, the apparatus further comprises: a mode disabling unit configured to disable the designated merging candidate mode or the history-based MVP merging candidate mode if the MER size is greater than the first preset threshold; or;
and if the size of the CU is smaller than the second preset threshold, forbidding the historical MVP merging candidates.
Having described the method and apparatus for generating a merge candidate list in the exemplary embodiments of the present disclosure, an electronic device of another exemplary embodiment of the present disclosure is described next.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible implementations, an electronic device in accordance with the present disclosure may include at least one processor, and at least one memory. Wherein the memory stores program code which, when executed by the processor, causes the processor to perform the steps of the method of generating a merge candidate list according to various exemplary embodiments of the present disclosure described above in this specification. For example, the processor may perform steps 101-102 as shown in FIG. 1.
The electronic device 130 according to this embodiment of the present disclosure is described below with reference to fig. 7. The electronic device 130 shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, the electronic device 130 is in the form of a general purpose computing device. The components of the electronic device 130 may include, but are not limited to: the at least one processor 131, the at least one memory 132, and a bus 133 that connects the various system components (including the memory 132 and the processor 131).
Bus 133 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
The memory 132 may include readable media in the form of volatile memory, such as Random Access Memory (RAM)1321 and/or cache memory 1322, and may further include Read Only Memory (ROM) 1323.
Memory 132 may also include a program/utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
The electronic device 130 may also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), with one or more devices that enable target objects to interact with the electronic device 130, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 130 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 135. Also, the electronic device 130 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via the network adapter 136. As shown, network adapter 136 communicates with other modules for electronic device 130 over bus 133. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
In some possible embodiments, various aspects of the method for generating a merge candidate list provided by the present disclosure may also be implemented in the form of a program product including program code for causing a computer device to perform the steps in the method for generating a merge candidate list according to various exemplary embodiments of the present disclosure described above in this specification when the program product is run on the computer device, for example, an electronic device may perform steps 101-102 as shown in fig. 1.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product for generating a merge candidate list of embodiments of the present disclosure may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a computing device. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the target object computing device, partly on the target object apparatus, as a stand-alone software package, partly on the target object computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the target object electronic equipment through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to external electronic equipment (e.g., through the internet using an internet service provider).
It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, the features and functions of two or more units described above may be embodied in one unit, in accordance with embodiments of the present disclosure. Conversely, the features and functions of one unit described above may be further divided into embodiments by a plurality of units.
Further, while the operations of the disclosed methods are depicted in the drawings in a particular order, this does not require or imply that these operations must be performed in the particular order shown, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (12)

1. A method of generating a merge candidate list, the method comprising:
determining, for a Coding Unit (CU), a spatial neighboring candidate block that is not in the same Motion Estimation Region (MER) as the CU and is coded as a usable block from among spatial neighboring candidate blocks of the CU;
constructing a merge candidate list for the CU based on the available blocks;
before determining, for a Coding Unit (CU), a spatial neighboring candidate block of the CU that is not in the same Motion Estimation Region (MER) as the CU and is encoded as a usable block, the method further comprises:
determining whether the merging candidate mode is a merging candidate mode for predicting MVP based on historical motion vectors;
and if the merging candidate mode is a merging candidate mode of predicting the MVP based on the historical motion vector, the method further comprises the following steps:
after reconstruction of all CUs within the MER, the motion vector MV buffer used to construct the merge candidate list is updated so that construction of different CU merge candidate lists in the same MER is independent of other CUs.
2. The method of claim 1, further comprising:
constructing an unavailable block from a spatial neighboring candidate block at the same MER as the CU and an uncoded spatial neighboring candidate block not at the same MER as the CU, and determining an alternative block of the unavailable block based on a positional relationship of the unavailable block to the CU;
the constructing a merge candidate list for the CU based on the available blocks comprises:
constructing a merge candidate list for the CU based on the available blocks and the alternative blocks.
3. The method of claim 2, wherein the determining the alternative block of the unavailable block based on a location relationship of the unavailable block and the CU comprises:
if x < xc&&y<ycThen, then
Figure FDA0003284088740000011
If x < xcThen, then
Figure FDA0003284088740000012
If y < ycThen, then
Figure FDA0003284088740000013
Wherein, x is a coordinate value of the unavailable block on a first coordinate axis at a preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; said xcThe coordinate value of the first coordinate axis of the CU at the preset position is obtained; said ycThe coordinate value of the second coordinate axis of the CU at the preset position is obtained; the x' is a coordinate value of a first coordinate axis of the alternative block at a preset position; y' is a coordinate value of a second coordinate axis of the alternative block at a preset position; the w is a width value of the MER; the h is a height value of the MER; c is a specified value.
4. The method of claim 1, further comprising:
determining that the size of the MER is less than or equal to a first preset threshold before determining a merging candidate mode for predicting MVP by using the history-based motion vector; or the like, or, alternatively,
determining that the size of the CU is greater than or equal to a second preset threshold;
wherein the first preset threshold is greater than the second preset threshold.
5. The method of claim 4, further comprising:
if the MER size is larger than the first preset threshold, forbidding the history-based MVP merging candidate mode; or the like, or, alternatively,
and if the size of the CU is smaller than the second preset threshold, disabling the history-based MVP merging candidate mode.
6. An apparatus for generating a merge candidate list, the apparatus comprising:
a determining unit configured to determine, for a Coding Unit (CU), a spatial neighboring candidate block that is not in the same Motion Estimation Region (MER) as the CU and is encoded, as an available block, from among spatial neighboring candidate blocks of the CU;
a construction unit configured to construct a merge candidate list of the CU based on the available blocks;
the device further comprises: a merging candidate determination unit configured to: determining whether a merging candidate is a merging candidate for predicting MVP based on historical motion vectors before determining that the spatial neighboring candidate block of the CU is not in the same motion estimation region MER as the CU and the encoded spatial neighboring candidate block is used as a usable block;
and if the merging candidate mode is a merging candidate mode of predicting the MVP based on the historical motion vector, the device further comprises:
an updating unit configured to update a motion vector, MV, buffer used for constructing a merging candidate list after all CUs within the MER are reconstructed, so that construction of a different CU merging candidate list in the same MER is independent of other CUs.
7. The apparatus of claim 6, further comprising:
an alternative block determination unit configured to constitute an unavailable block from a spatial neighboring candidate block that is at the same MER as the CU and an uncoded spatial neighboring candidate block that is not at the same MER as the CU, determine an alternative block of the unavailable block based on a positional relationship of the unavailable block with the CU;
the construction unit configured to:
constructing a merge candidate list for the CU based on the available blocks and the alternative blocks.
8. The apparatus of claim 7, wherein the alternative block determination unit is configured to:
if x < xc&&y<ycThen, then
Figure FDA0003284088740000031
If x < xcThen, then
Figure FDA0003284088740000032
If y < ycThen, then
Figure FDA0003284088740000033
Wherein, x is a coordinate value of the unavailable block on a first coordinate axis at a preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; said xcThe coordinate value of the first coordinate axis of the CU at the preset position is obtained; said ycThe coordinate value of the second coordinate axis of the CU at the preset position is obtained; the x' is a coordinate value of a first coordinate axis of the alternative block at a preset position; y' is a coordinate value of a second coordinate axis of the alternative block at a preset position; the w is a width value of the MER; the h is a height value of the MER; c is a specified value.
9. The apparatus of claim 6, further comprising:
an adoption manner determining unit configured to determine that a size of the MER is less than or equal to a first preset threshold before determining a merging candidate manner adopting the history-based MVP; or the like, or, alternatively,
determining that the size of the CU is greater than or equal to a second preset threshold;
wherein the first preset threshold is greater than the second preset threshold.
10. The apparatus of claim 9, further comprising:
a mode disabling unit configured to disable the history-based MVP merging candidate mode if the MER size is greater than the first preset threshold; or;
and if the size of the CU is smaller than the second preset threshold, disabling the history-based MVP merging candidate mode.
11. An electronic device, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.
12. A computer storage medium storing computer-executable instructions for performing the method of any one of claims 1-5.
CN201910865514.6A 2018-09-14 2019-09-12 Method and device for generating merging candidate list, electronic equipment and storage medium Active CN110650344B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111547049.5A CN114205593B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding
CN202111550312.6A CN114205594B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862731614P 2018-09-14 2018-09-14
US62/731,614 2018-09-14

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202111550312.6A Division CN114205594B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding
CN202111547049.5A Division CN114205593B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding

Publications (2)

Publication Number Publication Date
CN110650344A CN110650344A (en) 2020-01-03
CN110650344B true CN110650344B (en) 2022-01-21

Family

ID=69010485

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201910865514.6A Active CN110650344B (en) 2018-09-14 2019-09-12 Method and device for generating merging candidate list, electronic equipment and storage medium
CN202111547049.5A Active CN114205593B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding
CN202111550312.6A Active CN114205594B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202111547049.5A Active CN114205593B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding
CN202111550312.6A Active CN114205594B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding

Country Status (1)

Country Link
CN (3) CN110650344B (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding
US9247266B2 (en) * 2011-04-18 2016-01-26 Texas Instruments Incorporated Temporal motion data candidate derivation in video coding
GB2557516B (en) * 2011-09-23 2018-11-14 Kt Corp Method for inducing a merge candidate block and device using same
AU2015200359B2 (en) * 2011-09-23 2016-01-21 Kt Corporation Method for inducing a merge candidate block and device using same
EP2597872A3 (en) * 2011-11-23 2013-12-25 Humax Co., Ltd. Methods for encoding/decoding of video using common merging candidate set of asymmetric partitions
US9591312B2 (en) * 2012-04-17 2017-03-07 Texas Instruments Incorporated Memory bandwidth reduction for motion compensation in video coding
US9826244B2 (en) * 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
US9554150B2 (en) * 2013-09-20 2017-01-24 Qualcomm Incorporated Combined bi-predictive merging candidates for 3D video coding
US9432685B2 (en) * 2013-12-06 2016-08-30 Qualcomm Incorporated Scalable implementation for parallel motion estimation regions
CN108432250A (en) * 2016-01-07 2018-08-21 联发科技股份有限公司 The method and device of affine inter-prediction for coding and decoding video

Also Published As

Publication number Publication date
CN110650344A (en) 2020-01-03
CN114205593B (en) 2022-07-08
CN114205593A (en) 2022-03-18
CN114205594A (en) 2022-03-18
CN114205594B (en) 2022-12-27

Similar Documents

Publication Publication Date Title
TWI666926B (en) Block partitioning using tree structures
JP7351463B2 (en) Image encoding method and device, image decoding method and device, and program
RU2577207C2 (en) Video encoding method and device
KR102434319B1 (en) Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory access
JP7224005B2 (en) VIDEO PROCESSING METHOD, APPARATUS, NON-VOLATILE STORAGE MEDIUM, COMPUTER PROGRAM
CN111010581B (en) Motion vector information processing method and device, electronic equipment and storage medium
CN112534807A (en) Method and apparatus for multi-hypothesis mode referencing and constraining
WO2015052273A1 (en) Method and apparatus for displacement vector component prediction in video coding and decoding
CN110198440B (en) Method, apparatus and readable medium for determining coding prediction information and video coding
CN110832862A (en) Error tolerant and parallel processing of motion vector derivation at decoding end
US20200128256A1 (en) Method and apparatus for encoding or decoding a flag during video data encoding
JP6962193B2 (en) A recording medium that stores a moving image coding device, a moving image coding method, and a moving image coding program.
GB2519289A (en) Method and apparatus for displacement vector component transformation in video coding and decoding
CN110650344B (en) Method and device for generating merging candidate list, electronic equipment and storage medium
JP6992815B2 (en) Video coding device, video coding method and video coding program
JP5281597B2 (en) Motion vector prediction method, motion vector prediction apparatus, and motion vector prediction program
CN111225212B (en) Method and device for determining chrominance information of video block
TW202209894A (en) Methods and systems of adaptive geometric partitioning
JP2016134852A (en) Encoding apparatus, encoding method and program
JP5957513B2 (en) Video decoding method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant