CN114205594B - Method and apparatus for video encoding and method and apparatus for video decoding - Google Patents

Method and apparatus for video encoding and method and apparatus for video decoding Download PDF

Info

Publication number
CN114205594B
CN114205594B CN202111550312.6A CN202111550312A CN114205594B CN 114205594 B CN114205594 B CN 114205594B CN 202111550312 A CN202111550312 A CN 202111550312A CN 114205594 B CN114205594 B CN 114205594B
Authority
CN
China
Prior art keywords
mer
block
candidate
blocks
constructing
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
CN202111550312.6A
Other languages
Chinese (zh)
Other versions
CN114205594A (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
Publication of CN114205594A publication Critical patent/CN114205594A/en
Application granted granted Critical
Publication of CN114205594B publication Critical patent/CN114205594B/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

Abstract

The present disclosure discloses a method and apparatus for video encoding and a method and apparatus for video decoding. The method comprises the following steps: determining, for a coding unit, CU, a motion estimation region MER that is not in the same region as the CU from spatial neighboring candidate blocks of the CU, and the coded spatial neighboring candidate blocks as available blocks; 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 apparatus for video encoding and method and apparatus for video decoding
The application is a divisional application of invention applications with application numbers of 201910865514.6, application dates of 2019, 9, 12 and entitled "method and device for generating merging candidate list, electronic equipment and storage medium".
Technical Field
The present invention 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 may 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 at a different MER from 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 to the unavailable block based on the location relationship of the unavailable block to the CU comprises:
if x < x c &&y<y c Then, then
Figure BDA0003417326240000021
If x < x c Then, then
Figure BDA0003417326240000022
y'=y;
If y < y c Then, then
Figure BDA0003417326240000023
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 x c The coordinate value of the first coordinate axis of the CU at the preset position is obtained; y is c The coordinate value of the second coordinate axis of the CU at the preset position; 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; the 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 merging candidate list for the CU based on the available blocks, the alternative blocks, and the additional blocks.
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 a combination thereof,
determining that the size of the CU is larger 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 building 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 < x c &&y<y c Then, then
Figure BDA0003417326240000041
If x < x c Then, then
Figure BDA0003417326240000042
y'=y;
If y < y c Then, then
Figure BDA0003417326240000043
Wherein, x is a coordinate value of a first coordinate axis of the unavailable block at a preset position; y is a coordinate value of the unavailable block on a second coordinate axis at a preset position; said x is c The coordinate value of the first coordinate axis of the CU at the preset position is obtained; said y c The coordinate value of the second coordinate axis of the CU at the preset position; 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 the merge candidate list of the CU based on the available block and the alternative block, and before the constructing unit:
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 larger 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 present 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 present 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, 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 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 need 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 according to an 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 merging candidate list of CUs 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.
For a clearer illustration of the method described in fig. 1, this can be illustrated with reference to fig. 2, where the diagram includes four MERs, where CU1 and CU2 are located at the same MER, CU3, CU4, CU5, CU6 and CU7 are located at the same MER, CU8 is located at another MER, CU9 and CU10 are located at the same MER, where the spatial neighboring 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 are not in the MER where CU1 is located, and thus a, B, C, D, E can all be used as the construction of the CU1 merging 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 encoded and D1 is not encoded, wherein A1 and E1 are both located in the MER of CU1 but not in the MER of CU5, so A1 and E1 can both be used as available blocks for CU5 to construct the merging 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 at a different MER than the CU, and an alternative block to 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 < x c &&y<y c Then, then
Figure BDA0003417326240000081
Case two, if x < x c Then, then
Figure BDA0003417326240000082
y'=y;
Case three, if y < y c Then, then
Figure BDA0003417326240000083
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 of c The coordinate value of the first coordinate axis of the CU at the preset position; y is c The coordinate value of a second coordinate axis of the CU at a preset position is shown; x' isSelecting a coordinate value of a block on a first coordinate axis at a 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:
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 unusable block E of CU6 is calculated in the manner described above, where c takes the value 1,
Figure BDA0003417326240000091
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 the second coordinate value as 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 has a value of 1,
Figure BDA0003417326240000092
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 the coding unit CU, that is not at the same MER as the CU from the spatial neighboring candidate blocks of the CU and that the coded spatial neighboring candidate block is an available block, it may be further determined whether the merging candidate is at least one of the following specified 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 the scheme of available blocks.
In this way, it is equivalent to implement an improvement on the tool for specifying the merging candidate manner based on the above, and it is needless to say that, in implementation, as long as the merging candidate manner in which CUs in the same MER region have dependency when constructing the merging candidate list is applied to the embodiment of the present disclosure, this is not limited.
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 seen 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 respectively used by CU3, CU4, CU5, CU6, and CU7 to construct the corresponding merging candidate list.
By the method, more airspace adjacent blocks can be obtained to construct a merging candidate list when the candidate is affine merged based on MER, so that the bit resource of the signal merge index is fully utilized, and the waste of the bit resource of the signal merge index is avoided.
In an embodiment, if the merge candidate mode is a merge candidate mode of predicting the MVP based on the 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 reconstructed, and the MV buffer is not updated.
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 the merging candidate mode adopting the designated merging candidate mode or the history-based MVP, determining that the size of the MER is less than or equal to a first preset threshold value; 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 should be further noted that different CUs in the same MER may select different merging candidate ways to construct a 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 greater than the first preset threshold, the corresponding mode may be selected for each CU to construct the merging co-selection list by disabling the designated merging candidate mode or the history-based MVP merging candidate mode. The forbidden notification may be sent through a signal corresponding to the corresponding merge candidate list, for example, corresponding to the affine merge candidate, and all syntaxes 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-temporal merge candidates are not signaled, and all syntaxes associated with spatial-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.
It should be noted that the determining unit 61 is configured to determine, for the coding unit CU, spatial neighboring candidate blocks that are not in the same motion estimation region MER as the CU and that have been encoded, from among the spatial neighboring candidate blocks of the CU, as available blocks.
A constructing unit 62 configured to construct a merging 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 < x c &&y<y c Then, then
Figure BDA0003417326240000121
If x < x c Then, then
Figure BDA0003417326240000122
y'=y;
If y < y c Then, then
Figure BDA0003417326240000123
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 x c The coordinate value of the first coordinate axis of the CU at the preset position; y is c The 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 space-time domain 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 a combination thereof,
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 couples 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 programs/utilities 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, to name a few.
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 diskette, 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 flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations 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 (8)

1. A method for video encoding, comprising:
dividing a video picture into a plurality of Coding Units (CU);
determining whether the merging candidate mode is an affine merging candidate based on the MER;
if the candidate merging mode is the MER-based affine merging candidate, aiming at a CU, determining a MER which is not in the same motion estimation region with the CU from spatial adjacent candidate blocks of the CU, taking the coded spatial adjacent candidate blocks as available blocks, and constructing a merging candidate list of the CU based on the available blocks;
if the merge candidate is not the MER-based affine merge candidate, for a CU, determining, from spatial neighboring candidate blocks of the CU, a MER that is not in the same motion estimation region as the CU and is an available block if it is determined that the CU is to be encoded in a merge mode, and constructing a merge candidate list for the CU based on the available block;
if the merging candidate mode is a merging candidate mode of predicting the MVP based on the historical motion vector, after all CUs in the MER are reconstructed, updating a motion vector MV buffer area for constructing a merging candidate list, so that the construction of different CU merging 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. An apparatus for video encoding, comprising:
at least one processor;
at least one memory storing computer-executable instructions,
wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the method for video encoding according to any one of claims 1 and 2.
4. A method for video decoding, comprising:
determining whether a merging candidate mode is an affine merging candidate based on a motion estimation region MER or not based on a syntax element in the bit stream;
if the merging candidate mode is the MER-based affine merging candidate, determining, for a Coding Unit (CU), a spatial neighboring candidate block which is not in the same motion estimation region MER as the CU and is coded as an available block from the spatial neighboring candidate blocks of the CU, and constructing a merging candidate list of the CU based on the available block;
if the merge candidate is not the MER-based affine merge candidate, for a CU, determining, from spatial neighboring candidate blocks of the CU, a MER that is not in the same motion estimation region as the CU and is an available block if it is determined that the CU is to be encoded in a merge mode, and constructing a merge candidate list for the CU based on the available block;
if the merging candidate mode is a merging candidate mode of predicting MVP based on historical motion vectors, updating a motion vector MV buffer area for constructing a merging candidate list after all CUs in the MER are reconstructed, so that the construction of different CU merging candidate lists in the same MER is independent of other CUs.
5. The method of claim 4, 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.
6. An apparatus for video decoding, comprising:
at least one processor;
at least one memory storing computer-executable instructions,
wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the method for video decoding of any one of claims 4 and 5.
7. A computer-readable storage medium, wherein instructions in the computer-readable storage medium, when executed by at least one processor, cause the at least one processor to perform the method for video encoding according to any one of claims 1 and 2.
8. A computer-readable storage medium, wherein instructions in the computer-readable storage medium, when executed by at least one processor, cause the at least one processor to perform the method for video decoding of any of claims 4 and 5.
CN202111550312.6A 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding Active CN114205594B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862731614P 2018-09-14 2018-09-14
US62/731,614 2018-09-14
CN201910865514.6A CN110650344B (en) 2018-09-14 2019-09-12 Method and device for generating merging candidate list, electronic equipment and storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910865514.6A Division CN110650344B (en) 2018-09-14 2019-09-12 Method and device for generating merging candidate list, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114205594A CN114205594A (en) 2022-03-18
CN114205594B true CN114205594B (en) 2022-12-27

Family

ID=69010485

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202111550312.6A Active CN114205594B (en) 2018-09-14 2019-09-12 Method and apparatus for video encoding and method and apparatus for video decoding
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

Family Applications After (2)

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

Country Status (1)

Country Link
CN (3) CN114205594B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104349170A (en) * 2011-09-23 2015-02-11 株式会社Kt Method for decoding video signals
CN108432250A (en) * 2016-01-07 2018-08-21 联发科技股份有限公司 The method and device of affine inter-prediction for coding and decoding video

Family Cites Families (8)

* 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
AU2015200359B2 (en) * 2011-09-23 2016-01-21 Kt Corporation Method for inducing a merge candidate block and device using same
EP2942961A1 (en) * 2011-11-23 2015-11-11 HUMAX Holdings 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104349170A (en) * 2011-09-23 2015-02-11 株式会社Kt Method for decoding video signals
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
CN114205593A (en) 2022-03-18
CN110650344B (en) 2022-01-21
CN114205593B (en) 2022-07-08
CN114205594A (en) 2022-03-18
CN110650344A (en) 2020-01-03

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
US20200092547A1 (en) Method and apparatus for processing a video signal
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
CN111010581B (en) Motion vector information processing method and device, electronic equipment and storage medium
US11206422B2 (en) Video image processing method and device
WO2015052273A1 (en) Method and apparatus for displacement vector component prediction in video coding and decoding
CN110832862B (en) Error tolerant and parallel processing of motion vector derivation at decoding end
JP6962193B2 (en) A recording medium that stores a moving image coding device, a moving image coding method, and a moving image coding program.
CN114205594B (en) Method and apparatus for video encoding and method and apparatus for video decoding
CN111225212B (en) Method and device for determining chrominance information of video block
CN112565789B (en) Video decoding and encoding method, device, computer readable medium and electronic equipment
TW202209894A (en) Methods and systems of adaptive geometric partitioning
JP5957513B2 (en) Video decoding method
WO2022047129A1 (en) Methods and systems for combined lossless and lossy coding
WO2022047117A1 (en) Methods and systems of adaptive geometric partitioning

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