Method for performing inter-frame prediction on coding block and related product thereof
By filtering the subset of geometric segmentation lines and predicting motion vector candidate sets, the geometric division mode to be searched is reduced, and the problem of increasing search time and storage space requirements in inter prediction mode in VVC is solved, and more efficient inter prediction coding is achieved .
Patent Information
- Application Number
- CN202310687422.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-09
- Publication Date
- 2024-12-10
AI Technical Summary
Due to the large number of geometric division modes, the inter prediction mode in VVC increases the search time and storage space requirements, which is difficult to effectively simplify.
By filtering out the geometric segmentation line subset and predicting motion vector candidate set of the current encoding block, the number of geometric division modes to be searched is reduced, and the target geometric division mode is used for inter prediction encoding.
It significantly reduces the search time and storage space requirements in the inter prediction mode and improves coding efficiency.
Smart Images

Figure CN119110064A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the field of video coding technology. More specifically, the present disclosure relates to a method for performing inter-frame prediction on a coding block, a compiler, a computer program product, and a computer-readable storage medium. Background Art
[0002] Compared with the video coding standards released before it, the Versatile Video Coding (VVC) technology proposes a series of improvements to coding tree partitioning, intra-frame prediction, inter-frame prediction, transform quantization, entropy coding, and loop filtering.
[0003] Inter-frame prediction uses the correlation between video frames to remove temporal redundant information between video frames, so efficient inter-frame coding can improve video compression efficiency. However, since there are usually moving objects in videos, the prediction accuracy of the inter-frame prediction method that simply uses the same-position pixels of adjacent video frames as prediction values is low. In order to capture the geometric characteristics of the coding block in specific situations such as objects in different motion states in natural images, VVC's inter-frame prediction adds a geometric partitioning mode (GPM) to improve the accuracy of the inter-frame prediction block.
[0004] However, in the GPM mode search stage of VVC, due to the large number of directions of geometric partition lines and motion information, a large number of geometric partition patterns to be searched can be formed, which greatly increases the search time consumed in the inter-frame prediction mode. In addition, a large number of geometric partition patterns to be searched also require a large amount of storage space, and the hardware requirements for the compiler are also high.
[0005] In view of this, there is an urgent need to provide a simplified inter-frame prediction solution to shorten the pattern search time and reduce the storage space requirements for the compiler. Summary of the invention
[0006] In order to at least solve one or more technical problems mentioned above, the present disclosure proposes a simplified inter-frame prediction solution in multiple aspects.
[0007] In a first aspect, the present disclosure provides a method for performing inter-frame prediction encoding on a coding block, comprising: traversing the inter-frame prediction blocks that are spatially adjacent to the current coding block to screen out a geometric partitioning line subset and a predicted motion vector candidate set of the current coding block; wherein the geometric partitioning line subset is a subset obtained by screening based on the spatial adjacent relationship between the coding block and its adjacent inter-frame prediction blocks on the basis of the geometric partitioning line candidate set; in response to the geometric partitioning line subset not being an empty set, screening based on multiple geometric partitioning patterns formed by the geometric partitioning line subset and the predicted motion vector candidate set to obtain a target geometric partitioning pattern; and performing inter-frame prediction encoding on the current coding block using the target geometric partitioning pattern.
[0008] In a second aspect, the present disclosure provides a computer-readable storage medium having stored thereon a computer program code for performing inter-frame prediction coding on a coding block, and when the computer program code is executed by a processing device, the method of the aforementioned first aspect is executed.
[0009] In a third aspect, the present disclosure provides a computer program product, comprising a computer program for performing inter-frame prediction encoding on a coding block, wherein when the computer program is executed by a processor, the method of the aforementioned first aspect is implemented.
[0010] In a fourth aspect, the present disclosure provides a compiler, comprising: a candidate set screening module, for traversing the inter-frame prediction blocks spatially adjacent to the current coding block to screen out a geometric partition line subset and a predicted motion vector candidate set of the current coding block, wherein the geometric partition line subset is a subset obtained by screening based on the spatial adjacent relationship between the coding block and its adjacent inter-frame prediction blocks on the basis of the geometric partition line candidate set; a geometric partition screening module, for screening, in response to the geometric partition line subset being not an empty set, a plurality of geometric partition patterns formed by the geometric partition line subset and the predicted motion vector candidate set to obtain a target geometric partition pattern; and an inter-frame prediction coding module, for performing inter-frame prediction coding on the current coding block using the target geometric partition pattern.
[0011] In a fifth aspect, the present disclosure provides an integrated circuit device, comprising the compiler of the fourth aspect.
[0012] In a sixth aspect, the present disclosure provides a board comprising the integrated circuit device of the fifth aspect.
[0013] Through the method for inter-frame prediction of coding blocks provided above, the disclosed embodiment can obtain the domain information of the current coding block from the inter-frame prediction block that is spatially adjacent to the current coding block and has been encoded through the inter-frame prediction mode, and based on the spatial adjacent relationship between the current coding block and the current inter-frame prediction block, a subset of geometric partition lines is screened out from the geometric partition line candidate set, so that the number of geometric partition patterns formed by it and the predicted motion vector candidate set is greatly reduced, thereby greatly reducing the search time consumed by the current coding block in the inter-frame prediction mode. At the same time, since the inter-frame prediction method reduces the number of geometric partition patterns to be screened, the storage space requirements for the compiler are also reduced accordingly. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] By reading the following detailed description with reference to the accompanying drawings, the above and other objects, features and advantages of the exemplary embodiments of the present disclosure will become readily understood. In the accompanying drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:
[0015] Figure 1 A schematic diagram of the structure of a board 10 according to an embodiment of the present disclosure is shown;
[0016] Figure 2 The structure diagram of the combined processing device 20 in the chip 101 of this embodiment is shown;
[0017] Figure 3 A flowchart of an inter-frame prediction encoding method 300 according to an embodiment of the present disclosure is shown;
[0018] Figure 4 A schematic diagram showing a spatial neighbor relationship according to an embodiment of the present disclosure;
[0019] Figure 5 A flowchart of a method 500 for selecting a geometric segmentation line subset according to an embodiment of the present disclosure is shown;
[0020] Figure 6 A schematic diagram showing an effective segmentation line according to some embodiments of the present disclosure;
[0021] Figure 7 A schematic diagram showing an invalid segmentation line according to some embodiments of the present disclosure;
[0022] Figure 8 Schematic diagrams showing invalid dividing lines according to other embodiments of the present disclosure;
[0023] Fig. 9 shows a schematic diagram of 64 geometric segmentation lines according to some embodiments of the present disclosure;
[0024] Fig.10 A schematic diagram showing a geometric segmentation line classification table according to some embodiments of the present disclosure is shown;
[0025] Fig.11 A flowchart of a method 1100 for screening a candidate set of predicted motion vectors according to some embodiments of the present disclosure is shown;
[0026] Fig.12 A flowchart of a method 1200 for inserting a spatial prediction motion vector according to some embodiments of the present disclosure is shown;
[0027] Fig.13 A flowchart of a geometric partitioning pattern screening method 1300 according to some embodiments of the present disclosure is shown;
[0028] Fig.14 The test results of the HEVC test sequence under the low delay (LB, Low Delay B) coding structure according to the embodiment of the present disclosure are shown;
[0029] Fig.15 The test results of the HEVC test sequence under the random access (RA) coding structure according to the embodiment of the present disclosure are shown;
[0030] Fig.16 A schematic diagram of the structure of a compiler 1600 according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of the present disclosure to clearly and completely describe the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0032] It should be understood that the terms "include" and "comprising" used in the specification and claims of the present disclosure indicate the presence of described features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections thereof.
[0033] It should also be understood that the terms used in this disclosure are only for the purpose of describing specific embodiments and are not intended to limit the disclosure. As used in this disclosure and claims, the singular forms of "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be further understood that the term "and / or" used in this disclosure and claims refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations.
[0034] As used in this specification and claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0035] The specific implementation of the present disclosure is described in detail below with reference to the accompanying drawings.
[0036] Figure 1 FIG. 1 is a schematic diagram showing the structure of a board 10 according to an embodiment of the present disclosure. Figure 1 As shown, the board 10 includes a chip 101, which is a system-on-chip (SoC), or system on chip, integrating one or more combined processing devices. The combined processing device is a computing unit used to support various encoding and decoding algorithms to meet the processing requirements in computer vision, speech, natural language processing, data mining and other field scenarios.
[0037] The chip 101 is connected to an external device 103 via an external interface device 102. The external device 103 is, for example, a server, a computer, a camera, a display, a mouse, a keyboard, a network card, or a wifi interface. The data to be processed can be transmitted from the external device 103 to the chip 101 via the external interface device 102. The calculation result of the chip 101 can be transmitted back to the external device 103 via the external interface device 102. According to different application scenarios, the external interface device 102 can have different interface forms, such as a high-speed peripheral component interconnect interface (Peripheral Component Interconnect Express, PCIe), etc.
[0038] The board 10 also includes a storage device 104 for storing data, which includes one or more storage units 105. The storage device 104 is connected to the control device 106 and the chip 101 through a bus and transmits data. The control device 106 in the board 10 is configured to control the state of the chip 101. To this end, in an application scenario, the control device 106 may include a microcontroller (MCU).
[0039] Figure 2 FIG. 2 shows a structural diagram of the combined processing device 20 in the chip 101 of this embodiment. Figure 2 As shown, the combined processing device 20 includes a computing device 201 , an interface device 202 , a processing device 203 and a dynamic random access memory (DRAM) 204 .
[0040] The computing device 201 is configured to execute user-specified operations, and is mainly implemented as a single-core intelligent processor or a multi-core intelligent processor to divide the video frame into coding blocks. It can interact with the processing device 203 through the interface device 202 to jointly complete the user-specified operations.
[0041] The interface device 202 is used to transmit data and control instructions between the computing device 201 and the processing device 203. For example, the computing device 201 can obtain input data from the processing device 203 via the interface device 202 and write it into the storage device on the computing device 201 chip. Further, the computing device 201 can obtain control instructions from the processing device 203 via the interface device 202 and write them into the control cache on the computing device 201 chip. Alternatively or optionally, the interface device 202 can also read data from the storage device on the computing device 201 chip and transmit it to the processing device 203. For example, the processing device 203 can read the coding block in the computing device 201 and perform subsequent processing on it.
[0042] The processing device 203, as a general processing device, performs basic control including but not limited to data handling, starting and / or stopping the computing device 201, etc. For example, the processing device 203 can also perform inter-frame prediction coding on the coding block in the computing device 201. According to different implementations, the processing device 203 can be a central processing unit (CPU), a graphics processing unit (GPU) or one or more types of processors in other general and / or special processors. These processors include but are not limited to digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc., and their number can be determined according to actual needs. Further, the processing device 203 can be loaded with a compiler or a compiler program, which is used to use the coding block output by the computing device 201 as input data, and after executing the corresponding compiler program, the inter-frame prediction coding of the coding block is completed.
[0043] As mentioned above, only the computing device 201 of the present disclosure can be considered to have a single-core structure or a homogeneous multi-core structure. However, when the computing device 201 and the processing device 203 are considered together, the two are considered to form a heterogeneous multi-core structure.
[0044] The dynamic random access memory 204 is used to store data to be processed. It is a double data rate (DDR) memory, and its size is usually 16G or larger. It is used to store data of the computing device 201 and / or the processing device 203.
[0045] In the GPM mode search stage of VVC, due to the large number of directions of geometric partition lines and motion information, a large number of geometric partition patterns to be searched can be constituted, which greatly increases the search time consumed in the inter-frame prediction mode and also takes up a large amount of storage space of the compiler.
[0046] In view of this, the presently disclosed embodiment provides an inter-frame prediction scheme, which completes the screening of a subset of geometric partition lines based on the information provided by the inter-frame prediction blocks spatially adjacent to the current coding block, thereby achieving the effect of reducing the number of geometric partitioning patterns, reducing the time spent on searching for geometric patterns, and freeing up a large amount of storage space for the compiler.
[0047] In this embodiment, the compiler carried by the processing device 203 is used to perform inter-frame prediction coding on the coding block. Figure 3 A flowchart of an inter-frame prediction encoding method 300 according to an embodiment of the present disclosure is shown.
[0048] like Figure 3 As shown, in step S301, the inter-frame prediction blocks spatially adjacent to the current coding block are traversed to filter out a geometric partition line subset and a predicted motion vector candidate set of the current coding block.
[0049] In this embodiment, the inter-frame prediction block refers to the coding unit (CU) predicted by the inter-frame prediction mode. In video coding technology, there are intra-frame prediction and inter-frame prediction. The intra-frame prediction mode uses the spatial correlation of video frames and uses the boundary pixels of the adjacent reconstructed blocks in the current frame as reference pixels to predict the pixels of the current block, thereby achieving the purpose of removing spatial redundancy. In contrast, the inter-frame prediction mode is that the block to be encoded in the current video frame uses the correlation between two video frames to remove the temporal redundant information between video frames.
[0050] The geometric segmentation line subset is a subset obtained by screening the geometric segmentation line candidate set based on the spatial neighbor relationship between the coding block and its adjacent inter-frame prediction blocks. The geometric segmentation line candidate set is a set of potential geometric segmentation lines of the current coding block.
[0051] For example: The GPM in the H.266 / VVC video codec standard stipulates that 360° is quantized into 24 angles at unequal intervals based on a large amount of experimental statistical data, and a maximum of 4 offsets are provided at each angle, thereby combining a total of 64 division modes. The 64 division modes correspond to 64 geometric division lines, each of which can divide a CU into two non-rectangular sub-CUs, corresponding to the video frame. The geometric division line can divide the boundaries between different objects in the video frame for unidirectional prediction. If the inter-frame prediction coding method of this embodiment is implemented based on the H.266 / VVC video codec standard, the 64 geometric division lines defined by the standard can be used as a candidate set of geometric division lines.
[0052] It should be noted that the candidate set of geometric segmentation lines may be a complete set of the above 64 geometric segmentation lines, or a set of less than or more than 64 geometric segmentation lines, depending on the referenced industry standards or application requirements.
[0053] In this embodiment, the spatial neighbor relationship of the current coding block includes at least one of the following: left adjacent, top adjacent, upper left adjacent, upper right adjacent, and lower left adjacent. For ease of understanding, Figure 4 FIG. 1 is a schematic diagram showing a spatial neighbor relationship according to an embodiment of the present disclosure. Figure 4 As shown, the spatial adjacent relationships between the inter-frame prediction blocks A0, A1, B0, B1 and B2 and the current coding block CU0 are left adjacent, lower left adjacent, upper adjacent, upper right adjacent and upper left adjacent, respectively.
[0054] It should be noted that Figure 4 The sizes of the inter-frame prediction blocks A0, A1, B0, B1 and B2 do not constitute a limitation to the present disclosure. In practical applications, the sizes of the inter-frame prediction blocks may be different from each other. Figure 4 The inter-frame prediction blocks A0, A1, B0, B1 and B2 may not exist at the same time. For example, the inter-frame prediction blocks may exist in the following situations:
[0055] B2, A0 and A1 are the same coding block;
[0056] A0 and A1 are the same coding block;
[0057] B2 and A0 are the same coding block;
[0058] B2 and B0 are the same coding block;
[0059] B0 and B1 are the same coding block;
[0060] B2, B0 and B1 are the same coding block.
[0061] It should be noted that the above-described examples are cases where inter-frame prediction blocks may exist, that is, this embodiment is for Figure 4 There is no strict limit on the size and number of the inter-frame prediction blocks. In practical applications, the number of inter-frame prediction blocks that are spatially adjacent to the current coding block CU0 may be less than 5.
[0062] Since the boundary line of an object is continuous in the same video frame, there will be relevant information between the geometric partition lines of adjacent CUs based on this continuity. Figure 4 Taking A0 and CU0 in the figure as an example, if the geometric dividing line in A0 is a horizontal line, then the possibility that the geometric dividing line in CU0 is vertical is extremely low, because under the spatial adjacent relationship between A0 and CU0, the horizontal geometric dividing line and the vertical geometric dividing line are difficult to connect to form a continuous boundary.
[0063] In view of the above related information, the inter-frame prediction block spatially adjacent to the current coding block provides domain information for the current coding block and provides a reference for screening the geometric segmentation line subset.
[0064] In step S302, in response to the geometric partition line subset not being an empty set, a plurality of geometric partition patterns consisting of the geometric partition line subset and the predicted motion vector candidate set are screened to obtain a target geometric partition pattern.
[0065] When the screened geometric segmentation line subset is a non-empty set, it indicates that step S301 has completed a valid screening action. In this case, a geometric partitioning pattern can be generated based on the screened geometric segmentation line subset.
[0066] Specifically, each geometric partition line in the geometric partition line subset is combined with each predicted motion vector in the predicted motion vector candidate set, and each combination is a geometric partition pattern.
[0067] In the existing inter-frame prediction scheme, taking the H.266 / VVC video codec standard as an example, the GPM mode search stage needs to search each geometric partition pattern generated by 64 geometric partitioning lines. Assuming that the number of predicted motion vectors in the predicted motion vector candidate set is 6, and the predicted motion vectors are different from each other, then the GPM mode search stage needs to search 64×6×5 times for the two non-rectangular coding blocks obtained by dividing the 64 geometric partitioning lines.
[0068] After the subset screening in step S301, the number of geometric segmentation lines is reduced, so that the number of generated geometric segmentation patterns is also reduced, thereby reducing the time consumed in the search.
[0069] Furthermore, if after step S301 is executed, the geometric partitioning line subset is an empty set, this embodiment may also include step S304, in response to the geometric partitioning line subset being an empty set, screening is performed based on multiple geometric partitioning patterns composed of the geometric partitioning line candidate set and the predicted motion vector candidate set to obtain the target geometric partitioning pattern.
[0070] When the geometric partitioning line subset obtained by screening is an empty set, it means that the inter-frame prediction block adjacent to the current coding block space cannot provide domain information, and the screening action of step S301 is invalid. In this case, any geometric partitioning line may be the geometric partitioning line of the current coding block, so it is necessary to generate multiple geometric partitioning patterns based on the geometric partitioning line candidate set and the predicted motion vector candidate set.
[0071] Furthermore, in practical applications, the reasons why the inter-frame prediction blocks spatially adjacent to the current coding block cannot provide domain information may include: the CUs spatially adjacent to the current coding block are not encoded in the inter-frame prediction mode, or the geometric dividing lines of the inter-frame prediction blocks spatially adjacent to the current coding block are special, and the geometric dividing lines in any direction cannot form a continuous boundary line with them, etc.
[0072] In step S303, inter-frame prediction coding is performed on the current coding block using the target geometric partitioning mode.
[0073] In this embodiment, the principle of inter-frame prediction coding is as follows: the target geometric division mode provides a geometric division line of the current coding block, which divides the current coding block into two coding sub-blocks. In addition, the target geometric division mode also provides predicted motion vectors of different video frames. The two coding sub-blocks can refer to the predicted motion vectors of these different video frames for predictive coding. The prediction methods used include: macroblock division method, bidirectional selection method, reference list selection method, etc., which are not limited here.
[0074] The inter-frame prediction coding method shown in the above embodiment reduces the number of geometric partitioning patterns to be searched by screening the geometric partitioning line subset, thereby reducing the search time and releasing the required storage space. In this method, the screening method of the geometric partitioning line subset can be as follows: Figure 5 shown. Figure 5 A flowchart of a method 500 for screening a subset of geometric partition lines according to an embodiment of the present disclosure is shown.
[0075] In step S501, the current inter-frame prediction block is accessed.
[0076] In this embodiment, the inter-frame prediction blocks can be accessed in a fixed access order. Figure 4 Taking the spatial neighbor relationship diagram shown as an example, the inter-frame prediction blocks can be accessed in the order of B1-A1-B0-A0-B2, or the inter-frame prediction blocks can be accessed randomly.
[0077] It should be noted that since the CU spatially adjacent to the current coding block may not be encoded in the inter-frame prediction mode, for example, the CU adjacent to the current coding block is encoded in the intra-frame prediction mode, then during the traversal, the adjacent CU will not be accessed, that is to say, the number of inter-frame prediction blocks accessed during the traversal process is between 0 and 5, and is not fixed to 5 or other values.
[0078] In step S502, the spatial neighbor relationship between the current inter-frame prediction block and the current coding block is identified.
[0079] In this embodiment, the spatial adjacent relationships include the following: upper adjacent, left adjacent, upper right adjacent, lower left adjacent, and upper left adjacent.
[0080] In step S503, the category to which the geometric partition line of the current inter-frame prediction block belongs under the spatial neighbor relationship is determined.
[0081] In this embodiment, the geometric segmentation lines in the geometric segmentation line candidate set are divided into several categories, and the classification standards are different for different spatial neighbor relationships.
[0082] Assuming that the spatial adjacent relationship between the current inter-frame prediction block and the current coding block is upper adjacent, the geometric partition lines in the geometric partition line candidate set need to be classified according to the upper adjacent classification standard, and step S503 needs to determine which category the geometric partition line of the current inter-frame prediction block belongs to in the upper adjacent classification category.
[0083] Further, based on any of the foregoing embodiments, the geometric segmentation line candidate set may include valid segmentation lines and invalid segmentation lines, wherein the invalid segmentation lines are geometric segmentation lines other than the valid segmentation lines in the geometric segmentation line candidate set, which is equivalent to dividing the geometric segmentation lines in the geometric segmentation line candidate set into valid and invalid categories.
[0084] Specifically, taking one of the spatial adjacent relationships as an example, the conditions that an effective segmentation line needs to meet are as follows:
[0085] Under this spatial neighbor relationship, the extension line of the effective dividing line intersects with the boundary of the current coding block, and the area ratio of two partitions obtained by dividing the current coding block by the extension line of the effective dividing line is within a preset ratio range.
[0086] The intersection of the extension line of the effective dividing line and the boundary of the current coding block indicates that there is at least one geometric dividing line in the current coding block that can be connected to the extension line of the effective dividing line, which can reflect the continuity of the object boundary between the two CUs.
[0087] Figure 6 A schematic diagram of an effective segmentation line according to some embodiments of the present disclosure is shown. Figure 7 A schematic diagram of an invalid split line according to some embodiments of the present disclosure is shown.
[0088] Figure 6 The solid line portion shown is the geometric dividing line of the upper left adjacent inter-frame prediction block B2. Figure 6 The dashed line shown is the extension of the geometric dividing line. In practical applications, the dashed line may form the boundary line of an object in the video frame with the solid line, that is, Figure 6 The dashed line portion shown has the possibility of being a potential geometric partition line of the current coding block CU0.
[0089] and Figure 7 In the example, the geometric dividing line of the inter-frame prediction block B2 ( Figure 7 The extended line ( Figure 7 The dotted line shown in FIG2 ) cannot intersect with the current coding block CU0, so there is no geometric dividing line in CU0 that can be connected to the geometric dividing line and form a continuous boundary line of an object. Therefore, for CU0, the geometric dividing line of the inter-frame prediction block B2 cannot provide effective information for the screening of the geometric dividing line subset. Therefore, the geometric dividing line of the inter-frame prediction block B2 ( Figure 7 The solid line portion shown) is an invalid dividing line.
[0090] The purpose of setting a preset ratio range is to prevent the area difference between the two partitions obtained by dividing the current coding block from being too large. For example, the preset ratio range can be set to [0.2, 2]. If the area difference between the two partitions is too large, it means that the extension line of the effective dividing line is close to the boundary of the current coding block. In this case, even if there are two different objects in the current coding block, but one of the objects occupies a very small area, even if it is ignored, it will not cause a large amount of image data loss. However, considering this boundary will add at least one more geometric dividing line to be searched, and each additional geometric dividing line to be searched will increase the number of searches for the geometric division pattern by at least 6×5 times, which increases the workload of the GPM search.
[0091] Figure 8 Schematic diagrams of invalid dividing lines according to other embodiments of the present disclosure are shown.
[0092] like Figure 8 As shown, although the geometric dividing line of the inter-frame prediction block B2 ( Figure 8 The extended line ( Figure 8 The dotted line part shown in the figure intersects with the current coding block CU0, but the areas of the two regions obtained by dividing CU0 are very different. It can also be considered that the geometric dividing line of the inter-frame prediction block B2 provides the following information: in the current coding block CU0, the proportion of a certain object is extremely small.
[0093] Then even if we ignore this potential geometric dividing line in CU0 ( Figure 8 The dotted line shown in the figure has little impact on the image data of CU0, but this potential geometric segmentation line ( Figure 8 Considering the dotted line portion as a possibility will increase the number of searches for the geometric division pattern by at least 6×5 times, and the computational cost is greater than the cost of image data loss. Therefore, in this embodiment, such geometric division lines ( Figure 8 The solid line portion shown) is regarded as an invalid dividing line.
[0094] The above introduces the classification criteria for classification according to validity and invalidity. In practical applications, valid segmentation lines can be further classified, for example, further divided into first-class valid segmentation lines and second-class valid segmentation lines. Based on this, the geometric segmentation lines in the geometric segmentation line candidate set are divided into three categories: first-class valid, second-class valid and invalid.
[0095] According to different spatial adjacent relationships, the classification standards of the first type of effective dividing lines and the second type of effective dividing lines are also different. The specific classification standards are explained below.
[0096] For the two spatial adjacent relationships of upper adjacent and left adjacent, the first type of effective dividing lines and the second type of effective dividing lines are distinguished according to the following classification standards:
[0097] The deviation angle between the first type of effective dividing line and the relative azimuth line is smaller than the preset angle, the deviation angle between the second type of effective dividing line and the relative azimuth line is smaller than the preset angle, and the deviation directions corresponding to the first type of effective dividing line and the second type of effective dividing line are opposite.
[0098] It should be noted that the relative orientation line is a straight line in the relative orientation pointed to by the spatial adjacent relationship between the current inter-frame prediction block and the current coding block. For example, if the current inter-frame prediction block is adjacent to the current coding block above, the relative orientation line refers to a straight line in the north-south orientation, that is, a vertical line; if the current inter-frame prediction block is adjacent to the current coding block on the left, the relative orientation line refers to a straight line in the east-west orientation, that is, a horizontal line.
[0099] The deviation direction refers to the rotation direction corresponding to the deviation angle at which the effective dividing line coincides with the relative orientation line, and the rotation direction includes clockwise and counterclockwise.
[0100] It should be further explained that the first type of effective dividing line and the second type of effective dividing line are only for the convenience of distinguishing the two categories. When dividing in actual applications, the two categories can be swapped.
[0101] For the three spatial adjacent relationships of upper left adjacent, upper right adjacent and lower left adjacent, the first type of effective dividing lines and the second type of effective dividing lines are distinguished according to the following classification method:
[0102] The geometric dividing lines of two spatially adjacent inter-frame prediction blocks in the historical data are used as references to complete the classification of the first type of effective dividing lines and the second type of effective dividing lines.
[0103] For example, search the historical data for a coding block with an upper left adjacent inter-frame prediction block, and determine the geometric dividing line between the coding block and the upper left adjacent inter-frame prediction block. According to the historical data, it can be considered that these two geometric dividing lines can be classified into the same category, and so on. After completing the search of all historical data, the classification result under the spatial adjacent relationship of upper left adjacent can be obtained.
[0104] The classification results corresponding to the upper right adjacent and lower left adjacent can also be generated in the above manner.
[0105] It can be understood that, for the three spatial adjacent relationships of upper left adjacent, upper right adjacent and lower left adjacent, the classification results of the first type of effective dividing lines and the second type of effective dividing lines are based on empirical values generated by historical data.
[0106] It should be further explained that, in actual application, for the two spatial adjacent relationships of upper adjacent and left adjacent, the classification results of the first type of effective dividing lines and the second type of effective dividing lines may also be empirical values generated based on historical data.
[0107] In step S504, a subset of geometric segmentation lines is screened out based on the geometric segmentation lines corresponding to the categories.
[0108] In this embodiment, if the categories include valid and invalid, the specific implementation process of step S504 is as follows:
[0109] If the geometric segmentation line of the current inter-frame prediction block is a valid segmentation line, then when screening the geometric segmentation line subset in the geometric segmentation line candidate set, the invalid segmentation line corresponding to the valid segmentation line is excluded. In fact, this operation can also be understood as adding the valid segmentation lines of the same category to the geometric segmentation line subset;
[0110] If the geometric segmentation line of the current inter-frame prediction block is an invalid segmentation line, all geometric segmentation lines in the geometric segmentation line candidate set are inserted into the geometric segmentation line subset.
[0111] It can be understood that if the geometric segmentation lines in the geometric segmentation line candidate set are divided into two categories: valid and invalid, then the geometric segmentation line subset screened in the above embodiment is a set of valid segmentation lines.
[0112] If the valid category is further divided into the first category valid and the second category valid, the specific implementation process of step S504 can further include two implementation scenarios: one is for the upper adjacent and left adjacent inter-frame prediction blocks; the other is for the upper left adjacent, lower left adjacent and upper right adjacent inter-frame prediction blocks.
[0113] For the upper adjacent and left adjacent inter-frame prediction blocks, if the geometric dividing line of the current inter-frame prediction block belongs to the first type of valid dividing line, then the first type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are all inserted into the geometric dividing line subset; if the geometric dividing line of the current inter-frame prediction block belongs to the second type of valid dividing line, then the second type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are all inserted into the geometric dividing line subset.
[0114] For the inter-frame prediction blocks adjacent to the upper left, lower left and upper right, if the geometric dividing lines of the current inter-frame prediction block belong to both the first and second valid dividing lines, then the first and second valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are both inserted into the geometric dividing line subset; if the geometric dividing lines of the current inter-frame prediction block only belong to the first valid dividing lines, then the first valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are all inserted into the geometric dividing line subset; if the geometric dividing lines of the current inter-frame prediction block only belong to the second valid dividing lines, then the second valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are all inserted into the geometric dividing line subset.
[0115] In step S505, after the current inter-frame prediction block is updated, the access step is returned to be executed until the traversal is completed.
[0116] Each time an inter-frame prediction block is accessed, a round of geometric partition line screening is completed based on the information provided by the currently accessed inter-frame prediction block. After the inter-frame prediction blocks adjacent to the current coding block space are traversed, a subset of geometric partition lines can be obtained through several rounds of screening.
[0117] To facilitate understanding by those skilled in the art, an exemplary classification result is provided below by taking the 64 geometric segmentation lines specified in the H.266 / VVC video coding standard as an example.
[0118] Fig. 9 A schematic diagram of 64 geometric segmentation lines according to some embodiments of the present disclosure is shown. Fig. 9 The numbers in represent the numbers of the geometric dividing lines.
[0119] Fig.10 A schematic diagram of a geometric segmentation line classification table according to some embodiments of the present disclosure is shown. It should be noted that the first type of effective segmentation line and the second type of effective segmentation line are only used to distinguish different types of geometric segmentation lines. In fact, the first type of effective segmentation line and the second type of effective segmentation line can be swapped.
[0120] based on Fig.10 The geometric dividing line classification table shown, assuming that the spatial adjacent relationship between the current inter-frame prediction block and the current coding block is upper adjacent, is classified according to the classification results in the first column of the classification table. Assuming that the geometric dividing line of the current inter-frame prediction block is determined to be numbered 28, then the geometric dividing lines belonging to the same category include: 28-35 and 58-63. When screening the geometric dividing line subset, the geometric dividing lines numbered 28-35 and 58-63 are inserted into the geometric dividing line subset.
[0121] After accessing the next inter-frame prediction block, the spatial neighbor relationship has changed, and the reference classification result has also changed accordingly. Assuming that the spatial neighbor relationship between the next inter-frame prediction block and the current coding block is lower left adjacent, the classification is performed according to the classification result in the third column of the classification table. Assuming that the geometric dividing line of the current inter-frame prediction block is still numbered 28, then the geometric dividing line of the current inter-frame prediction block belongs to both the first category and the second category. When screening the geometric dividing line subset, the first category valid dividing lines numbered 20-35 and the second category valid dividing lines numbered 20, 24, 28, 32 and 52-63 are all inserted into the geometric dividing line subset.
[0122] Referring to the above screening process, it can be found that in actual application, there will be a situation where the geometric dividing lines inserted into the geometric dividing line subset are repeated. For example, the geometric dividing line numbered 63 is inserted into the geometric dividing line subset under the spatial adjacent relationship of the upper adjacent and the lower left adjacent. Therefore, in some embodiments, a redundancy check step is set before executing the geometric dividing line insertion step, specifically including: determining whether the geometric dividing line to be inserted currently exists in the current geometric dividing line subset, in response to the geometric dividing line existing in the current geometric dividing line subset, the geometric dividing line insertion step is not executed; in response to the geometric dividing line not existing in the current geometric dividing line subset, the geometric dividing line insertion step is executed.
[0123] Through the above redundancy check steps, the geometric segmentation line numbered 63 is inserted into the geometric segmentation line subset under the spatial adjacent relationship of upper adjacent, and is skipped under the spatial adjacent relationship of lower left adjacent.
[0124] The above embodiments have described in detail the process of selecting the geometric partition line subset. In the present disclosure, the geometric partition pattern also needs to be generated based on the predicted motion vector in the predicted motion vector candidate set.
[0125] In a video frame, a moving object may cover multiple coding blocks, and these coding blocks may have similar motion information. Then the predicted motion information of the current block can be obtained by using the motion information of the adjacent blocks. At the same time, due to the continuity of the object's motion, the motion vector also has a strong correlation between adjacent frames in the time domain. Therefore, the motion information of the current coding block can be predicted based on the motion information of the previously encoded spatial adjacent blocks or temporal adjacent blocks.
[0126] In inter-frame coding, a motion vector (MV) is used to represent the relative displacement between the current coding block and the best matching block in its reference image.
[0127] In order to reduce the number of bits used to encode motion information, the spatial correlation between adjacent blocks can be used to predict the motion information of the current coding block based on the motion information of the spatially adjacent coded blocks, and then the prediction difference is encoded, thereby effectively reducing the number of bits representing the motion information. Based on this, in the process of encoding the MV of the current block, the MV of the current coding block is first predicted using the MV of the spatially adjacent coded blocks, and then the predicted value of the MV, that is, the motion vector difference (MVD, Motion Vector Difference) between the predicted motion vector (MVP, Motion Vector Prediction) and the true estimate of the MV is encoded, thereby effectively reducing the number of bits for encoding the MV.
[0128] The H.266 / VVC video codec standard provides a Merge mode for inter-frame coding, which directly uses the motion information of adjacent blocks as candidate MVPs and takes the best one as the motion information of the current coding block. The Merge mode has the following characteristics: The Merge mode is a type of inter-frame coding mode that uses spatially adjacent reconstructed coding blocks. In this mode, the MV of the current coding block is equal to the MVP, and this MVP is the best motion information among the adjacent blocks.
[0129] For the conventional inter-frame prediction mode, the encoder needs to write the MVD into the bitstream, but for the Merge mode, the MVD is already determined to be 0, so there is no need to provide bits to write it into the bitstream. The decoder needs to know which adjacent block provides the MV of the coded block encoded using the Merge mode.
[0130] There are many adjacent blocks to the current coding block, such as the left adjacent block, the upper adjacent block, the lower left adjacent block, the upper right adjacent block and the upper left adjacent block, etc., which generates a large number of candidate MVPs, from which a candidate set of predicted motion vectors for the current coding block can be constructed.
[0131] Since only one candidate MVP will be selected from the predicted motion vector candidate set as the MV of the current coding block, in the actual process, the encoder only needs to write the index value of the candidate MVP in the predicted motion vector candidate set into the bitstream. When decoding, the decoder constructs the same predicted motion vector candidate set in the same way, and adds the index value parsed from the bitstream to obtain the motion information of the current coding block, thereby completing the predictive coding of the current coding block.
[0132] Based on this, this disclosure provides Fig.11 The method for screening the predicted motion vector candidate set is shown. Fig.11 A flowchart of a method 1100 for screening a candidate set of predicted motion vectors according to some embodiments of the present disclosure is shown.
[0133] In step S1101 , the predicted motion vectors are inserted into the predicted motion vector candidate set in descending order of priority.
[0134] In this embodiment, the candidate set of predicted motion vectors includes at least one of the following predicted motion vectors: a spatial predicted motion vector, a temporal predicted motion vector, a historical predicted motion vector, a paired average predicted motion vector, and a zero-valued predicted motion vector. Among these predicted motion vectors, the priorities of the spatial predicted motion vector, the temporal predicted motion vector, the historical predicted motion vector, the paired average predicted motion vector, and the zero-valued predicted motion vector are reduced in sequence.
[0135] The spatial domain prediction motion vector is the motion information of the five adjacent blocks that are adjacent to the current coding block, adjacent to the left, adjacent to the upper left, adjacent to the upper right, and adjacent to the lower left. However, not all of the MVs of these five adjacent blocks can be used to construct a candidate set of predicted motion vectors. For example, assuming that the current coding block is located at the boundary of the video frame, one or more adjacent blocks themselves do not exist, then the MV of the non-existent adjacent block must be unavailable. For another example, although the adjacent block of the current coding block exists, it may use intra-frame coding mode, so there is no MV information, so it is unavailable.
[0136] To this end, some embodiments of the present disclosure also provide a method for inserting a spatial prediction motion vector into a prediction motion vector candidate set, which requires traversing the inter-frame prediction blocks spatially adjacent to the current coding block in a preset order to insert the spatial prediction motion vector into the prediction motion vector candidate set.
[0137] The specific execution steps of this method can be as follows Fig.12 As shown, Fig.12 A flowchart of a spatial prediction motion vector insertion method 1200 according to some embodiments of the present disclosure is shown.
[0138] In step S1201, the current inter-frame prediction block is accessed, and its predicted motion vector is used as a spatial domain predicted motion vector and inserted into a predicted motion vector candidate set.
[0139] In Merge mode, the motion information of the current inter-frame prediction block is the predicted motion vector of the current inter-frame prediction block.
[0140] In step S1202, it is determined whether the spatial candidate end condition is met.
[0141] If yes, execute step S1203;
[0142] If not, execute step S1204 and then return to step S1201.
[0143] In this embodiment, the spatial candidate end condition includes that the number of the current spatial prediction motion vector reaches 4 or the current inter-frame prediction block is in the last order in a preset order.
[0144] Specifically, when constructing a predicted motion vector candidate set, the preset order can be as follows: prioritize access to the upper neighboring block, then access the left neighboring block, the upper right neighboring block, the lower left neighboring block, and the upper left neighboring block in sequence. In this process, if the visited adjacent block is not encoded in the inter-frame prediction mode, it is skipped.
[0145] The spatial candidate end condition sets that the insertion step of the spatial prediction motion vector will be ended when the number of current spatial prediction motion vectors reaches 4, indicating that the prediction motion vector candidate set is constructed, and the MVP of the upper left neighboring block exists as a substitute spatial prediction motion vector. Only when one or more of the upper neighboring block, left neighboring block, upper right neighboring block and lower left neighboring block cannot provide a valid MVP, the MVP of the upper left neighboring block is inserted into the prediction motion vector candidate set.
[0146] In step S1203, the step of inserting the spatial prediction motion vector is ended.
[0147] In step S1204, the current inter-frame prediction block is updated to the next inter-frame prediction block in a preset order.
[0148] According to the above-mentioned spatial prediction motion vector insertion process, it can be determined that in a prediction motion vector candidate set, the number of spatial prediction motion vectors is at most 4 and at least 0, for example, the five spatial neighboring blocks of the current coding block are not encoded in inter-frame prediction mode.
[0149] Furthermore, in the process of inserting the spatial prediction motion vector, duplication of the spatial prediction motion vector may also occur. To address this situation, in some embodiments, a redundant check step will be further provided, specifically including: determining whether the spatial prediction motion vector to be inserted exists in the current prediction motion vector candidate set; in response to the spatial prediction motion vector existing in the current prediction motion vector candidate set, the step of inserting the spatial prediction motion vector is not executed; if the spatial prediction motion vector does not exist in the current prediction motion vector candidate set, the step of inserting the spatial prediction motion vector is executed.
[0150] The time domain predicted motion vector refers to the MVP predicted by using the predicted motion vector of the block in the same position as the current block to be encoded in the temporally adjacent video frame. The block in the same position as the current block to be encoded is also called the co-located CU.
[0151] The POC value refers to picture order count, which is an identification number of the video frame in the order of playback. The video frame where the co-located CU is located is called the co-located video frame. The POC values of the reference video frame of the co-located CU and the co-located video frame, and the POC values of the reference video frame of the current CU and the video frame where the current CU is located are often not equal. Therefore, under normal circumstances, the time domain predicted motion vector cannot be directly used with the MV of the co-located CU, but needs to be scaled according to the positional relationship of the reference video frame.
[0152] Specifically, the temporal prediction motion vector MVP of the current coding block CU0 is cu0 It can be calculated as follows:
[0153] MVP cu0 =(t b / t d )*MV col ;
[0154] Among them, MV col is the MV of the same CU, t b Represents the POC value between the current video frame and its reference video frame, t d Indicates the POC value between the co-located video frame and its reference video frame.
[0155] The historical predicted motion vector is a history-based MVP. Similar to the predicted motion vector candidate set, the historical predicted motion vector stores the motion information of the previously encoded block in a historical predicted motion vector candidate set with a maximum length of 5 for constructing and obtaining the historical predicted motion vector.
[0156] The pairwise average predicted motion vector is obtained by averaging the MVPs in the constructed historical predicted motion vector candidate set in pairs.
[0157] The MV value of a zero-value predicted motion vector is (0,0).
[0158] Similar to the historical prediction motion vector candidate set, the prediction motion vector candidate set also has a maximum length requirement, namely, a preset set length. For example, in the H.266 / VVC video coding standard, the maximum length of the prediction motion vector candidate set is specified to be 6.
[0159] Based on this, in some embodiments, Fig.11 The method for screening a candidate set of predicted motion vectors shown may further include step S1102, in response to the candidate set of predicted motion vectors reaching a preset set length, stopping inserting predicted motion vectors to obtain a candidate set of predicted motion vectors.
[0160] An example of this embodiment is given below to illustrate the screening process of the predicted motion vector candidate set:
[0161] First, visit the upper adjacent block, the left adjacent block, the upper right adjacent block, the lower left adjacent block, and the upper left adjacent block in this order;
[0162] In the above access process, assuming that the upper neighboring block, the left neighboring block, the upper right neighboring block and the lower left neighboring block all have valid MVs, the MVs of these four neighboring blocks are inserted into the predicted motion vector candidate set; assuming that only the upper neighboring block does not have a valid MV, the MVs of the four neighboring blocks of the left neighboring block, the upper right neighboring block, the lower left neighboring block and the upper left neighboring block are inserted into the predicted motion vector candidate set; assuming that only the upper neighboring block and the left neighboring block do not have a valid MV, the MVs of the three neighboring blocks of the upper right neighboring block, the lower left neighboring block and the upper left neighboring block are inserted into the predicted motion vector candidate set;
[0163] Next, take the case where only the upper adjacent block does not have a valid MV as an example. At this time, there are already 3 prediction motion vectors in the prediction motion vector candidate set, that is, the length of the prediction motion vector candidate set is 3. Then, according to the maximum length limit of the prediction motion vector candidate set, it can be determined that there are only 3 vacant positions left in the prediction motion vector candidate set. Then, in descending order of priority, first determine whether there is a valid time domain prediction motion vector that can be inserted into the prediction motion vector candidate set. If so, after the time domain prediction motion vector is inserted, there are only 2 vacant positions left in the prediction motion vector candidate set.
[0164] Then, in descending order of priority, it is determined whether there is a valid historical predicted motion vector that can be inserted into the predicted motion vector candidate set. If so, after the historical predicted motion vector is inserted, only one vacant position is left in the predicted motion vector candidate set.
[0165] Then determine whether there is a valid paired average predicted motion vector. If not, the predicted motion vector candidate set has not reached the maximum length and there is one free position left, which is filled with a zero-valued predicted motion vector.
[0166] Similar to the spatial domain predicted motion vector, when constructing a predicted motion vector candidate set, a redundancy check step may also be set before inserting the predicted motion vector to avoid inserting duplicate predicted motion vectors into the predicted motion vector candidate set.
[0167] After completing the screening of the predicted motion vector candidate set and the geometric partition line subset, multiple geometric partition patterns can be combined, and then the GPM pattern search phase is entered.
[0168] The GPM mode of VVC can be summarized into two stages: geometric partitioning and inter-frame prediction based on block fusion. Specifically, the geometric partitioning line in the geometric partitioning mode is used to separate the two objects in different motion states in the current coding block, and then the predicted motion vectors in the predicted motion vector candidate set are used to predict the motion information of different objects, and finally motion compensation is performed to complete the inter-frame prediction coding of the current coding block.
[0169] In the GPM pattern search phase, the above process needs to be performed on multiple geometric partition patterns respectively, and the geometric partition pattern with the smallest loss is selected.
[0170] The present disclosure provides a method for screening geometric partition patterns with gradually decreasing granularity, which utilizes different error parameters to screen geometric partition patterns one by one.
[0171] Fig.13 A flowchart of a geometric partitioning pattern screening method 1300 according to some embodiments of the present disclosure is shown.
[0172] like Fig.13 As shown, in step S1301, a preliminary screening geometric partition pattern set is screened out from multiple geometric partition patterns using the Sum of Absolute Difference (SAD).
[0173] SAD is the sum of the absolute errors between the predicted block and the current coding block. It only reflects the time domain difference of the residual, affects the Peak Signal to Noise Ratio (PSNR), and cannot effectively reflect the size of the bitstream. However, since the coding bit rate lacks the coding of the residual, the cost J (mode) value corresponding to the mode can be directly obtained after motion estimation, which greatly reduces the computational complexity.
[0174] Specifically, step S1301 needs to sort multiple geometric partition patterns in order of SAD from small to large, and then take the first M geometric partition patterns in the sorting to form a preliminary screening geometric partition pattern set.
[0175] It should be noted that M is a positive integer, and the value can be set or adjusted according to actual conditions, for example, M is set to 60.
[0176] In step S1302, the sum of absolute transformed differences (SATD) is used to filter out a second screening geometric partitioning pattern set from the primary screening geometric partitioning pattern set.
[0177] SATD is the sum of the absolute values of the predicted residuals after the residuals are subjected to the Hadamard transform, which can also be called the sum of absolute transformation differences. In most cases, SATD has a more accurate evaluation effect than SAD, but because SATD has one more transformation step than SAD, the computational complexity increases.
[0178] Specifically, step S1302 needs to sort the geometric division patterns in the primary screening geometric division pattern in the order of SATD from small to large, and then take the first N geometric division patterns in the sorting to form a second screening geometric division pattern set.
[0179] It should be noted that N is a positive integer, and the value can be set or adjusted according to actual conditions, for example, N is set to 8.
[0180] In step S1303, rate-distortion optimization is performed on the two-screen geometric partitioning pattern set to obtain a target geometric partitioning pattern.
[0181] Rate Distortion Optimization (RDO) is a cost function scheme proposed based on rate distortion theory. Its main idea is to consider the constraints of both bit rate and distortion when calculating the cost function, so as to ensure low bit rate while ensuring low distortion.
[0182] In practical applications, step S1303 may be implemented in the following manner:
[0183] By encoding the current coding block with a geometric partitioning pattern, the corresponding coding bit rate R and distortion D can be obtained, and the combination of the two forms an RD working point. By repeating the above encoding process with multiple geometric partitioning patterns, different RD working points can be obtained, forming a curve R(D) with a horizontal coordinate of D and a vertical coordinate of R.
[0184] The screening process is thus converted to solving the following problem based on the curve R(D): Under the condition that the coding bit rate R does not exceed the maximum bit rate Rmax, the distortion D is minimized, that is, min{D} is solved, and the constraint condition is R≤Rmax. The geometric partitioning mode of the RD working point corresponding to min{D} is the target geometric partitioning mode.
[0185] Furthermore, when calculating SAD, in order to reduce the amount of computation, the prediction block partitions on both sides of the geometric dividing line will be directly spliced into a prediction block of the same size as the current coding block, and edge fusion calculation is not performed near the geometric dividing line.
[0186] When calculating SATD, edge fusion calculation is performed near the geometric segmentation line, including:
[0187] Generate a prediction block for the current coding block using a geometric partitioning pattern;
[0188] Perform edge fusion calculation on the prediction block partitions on both sides of the geometric segmentation line in the prediction block;
[0189] Calculate the SATD between the current coding block and the edge-fused prediction block.
[0190] The geometric partition line in the geometric partition mode can divide the current coding block into two areas. After the two areas are predicted and encoded using their respective predicted motion vectors, two non-rectangular prediction block partitions are obtained. The edges of the two partitions need to be weighted averaged to obtain the prediction value around the geometric partition line. Exemplarily, the edge fusion calculation can be performed by using an integer fusion matrix, where the integer fusion matrix contains weights in the value range of 0 to 8, and the weights of the fusion matrix depend on the displacement between the prediction position and the partition boundary.
[0191] The geometric partitioning pattern screening method provided in this embodiment includes three stages: SAD screening, SATD screening, and RDO screening. The screening accuracy of these three stages increases step by step, and the computational complexity also increases step by step. In the SAD screening stage, given that the screening amount is large, error parameters with smaller computational complexity are preferred. In the RDO screening stage, given that the screening amount has been reduced to a smaller range, RDO with higher accuracy is preferred for screening, which is compatible with the speed requirements and accuracy requirements of the GPM pattern search stage.
[0192] In the experimental stage, the present disclosure also tests the effectiveness of the simplified inter-frame prediction scheme provided in the previous embodiment, and obtains the following results: Fig.14 and Fig.15 The test results are shown.
[0193] Fig.14 The test results of the HEVC test sequence under the low delay (LB, Low Delay B) coding structure according to the embodiment of the present disclosure are shown. Fig.15 The test results of the HEVC test sequence under the random access (RA) coding structure according to the embodiment of the present disclosure are shown.
[0194] It should be noted that Fig.14 and Fig.15The standard video sequence test set provided by the international organization when developing H.265 / HEVC is used. There are 6 categories in total, including Class A to Class F. The resolutions of Class A to Class E are 2560x1600, 1920x1080, 832x480, 416x240, and 1280x720, respectively. In each type of video test sequence, different video sequences have specific texture conditions. For example, PeopleOnStreet in Class A has a non-homogeneous texture and violent motion. For example, ParkScene in Class B has a homogeneous and flat texture.
[0195] It should be noted that Fig.14 and Fig.15 The texture conditions of other video sequences in the can be referred to the contents in the following document CommonHM test conditions and reference configuration, which will not be elaborated here.
[0196] Class F is a type of supplementary video test sequence. The resolution of each video sequence in this class is different. Specifically, the resolution of the Chinaspeed video sequence is 1024x768, the frame rate is 30fps, and it contains a total of 500 frames; the resolution of the BasketballDrillText video sequence is 832x480, the frame rate is 50fps, and it contains a total of 500 frames; the resolution of the SlideEditing video sequence is 1280x720, the frame rate is 30fps, and it contains a total of 300 frames; the resolution of the SlideShow video sequence is 1280x720, the frame rate is 20fps, and it contains a total of 500 frames.
[0197] Using the standard video sequence test set mentioned above, the bit rate saving of the simplified inter-frame prediction scheme of the disclosed embodiment can be expressed as BDBR. SDSR stands for Delta bit rate is a video codec quality evaluation. Fig.14 and Fig.15 The Y column represents the bit rate saving of the Y channel, the U column represents the bit rate saving of the U channel, the V column represents the bit rate saving of the V channel, and the YUV column represents the bit rate saving of the Y channel, U channel, and V channel after the weighted average of the weights of 6:1:1. The setting of the YUV column takes into account that the Y channel has richer image information than the U channel and the V channel, and the information provided accounts for a larger proportion, and its impact on the bit rate saving is greater.
[0198] In addition, Fig.14 and Fig.15 In , EncT and DecT represent the relative encoding time and relative decoding time respectively. Fig.14 and Fig.15 From the test results shown, it can be seen that when encoding the HEVC test sequence in the low-latency scenario and the random access scenario, the relative encoding time is 101.4838% and 100.5584% respectively, that is, the encoding end search time fluctuates in a small range. In practical applications, the encoding end search time can be regarded as remaining unchanged.
[0199] according to Fig.14 and Fig.15 From the test results shown, we can know that when encoding the HEVC test sequence in the low-latency scenario, the Y channel, U channel and V channel save 2.96860%, 3.91128% and 3.65523% of the bitstream respectively; when encoding the HEVC test sequence in the random access scenario, the Y channel, U channel and V channel save 1.32592%, 2.06952% and 1.77330% of the bitstream respectively. Based on this, Fig.14 and Fig.15 The test results show that the simplified inter-frame prediction scheme of the disclosed embodiment can achieve the purpose of saving bit rate while maintaining the search time at the encoding end unchanged and the quality of the reconstructed video sequence unchanged.
[0200] It should be further explained that since the time to decode a video sequence is short, on the order of seconds, the statistical data of the decoding time fluctuates. Fig.14 and Fig.15 It can be used as a reference only.
[0201] Another embodiment of the present disclosure also utilizes the compiler carried by the processing device 203 to perform inter-frame prediction coding on the coding block. The compiler carried by the processing device 203 of this embodiment has the following features: Fig.16 The modules shown. Fig.16 A schematic diagram of the structure of a compiler 1600 according to an embodiment of the present disclosure is shown. Fig.16 As shown, the compiler includes a candidate set screening module 1601, a geometric partition screening module 1602 and an inter-frame prediction coding module 1603.
[0202] The candidate set screening module 1601 is used to traverse the inter-frame prediction blocks spatially adjacent to the current coding block to screen out the geometric partition line subset and the predicted motion vector candidate set of the current coding block, specifically to implement the operation of step S301; the geometric partition screening module 1602 is connected to the candidate set screening module 1601, and is used to respond to the fact that the geometric partition line subset is not an empty set, to screen based on multiple geometric partition patterns formed by the geometric partition line subset and the predicted motion vector candidate set to obtain a target geometric partition pattern, specifically to implement the operation of step S302; the inter-frame prediction coding module 1603 is connected to the geometric partition screening module 1602, and is used to perform inter-frame prediction coding on the current coding block using the target geometric partition pattern, specifically to implement the operation of step S303.
[0203] Fig.16 The modules of the embodiment perform operations in sequence based on data dependencies, thereby achieving efficient inter-frame prediction coding.
[0204] Another embodiment of the present disclosure is a computer-readable storage medium having stored thereon a computer program code for performing inter-frame prediction coding on a coding block. When the computer program code is executed by a processor, the following is performed: Figure 3 , 5 , 11, 12 and 13. In some implementation scenarios, the above-mentioned integrated unit can be implemented in the form of a software program module. If implemented in the form of a software program module and sold or used as an independent product, the integrated unit can be stored in a computer-readable memory. Based on this, when the scheme of the present disclosure is embodied in the form of a software product (such as a computer-readable storage medium), the software product can be stored in a memory, which may include several instructions to enable a computer device (such as a personal computer, a server or a network device, etc.) to perform some or all of the steps of the method of the present disclosure embodiment. The aforementioned memory may include, but is not limited to, various media that can store program codes, such as a USB flash drive, a flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0205] Another embodiment of the present disclosure is a computer program product, including a computer program for performing inter-frame prediction coding on a coding block, wherein when the computer program is executed by a processor, the aforementioned Figure 3 , 5 , 11, 12 and 13 are steps of the method shown.
[0206] The above-mentioned embodiment can be implemented by using a computer program. The purpose of executing the computer program is to solve the technical problem that the GPM pattern search stage in VVC is time-consuming and occupies a large amount of storage space. Running a computer program on a computer to control or process an external object (the number of geometric division patterns to be searched) reflects a technical means that follows the laws of nature, which greatly reduces the number of geometric division patterns to be searched, improves the efficiency of the GPM pattern search stage, and reduces the storage space occupied by hardware devices.
[0207] According to different application scenarios, the electronic equipment or device disclosed herein may include servers, cloud servers, server clusters, data processing devices, robots, computers, printers, scanners, tablet computers, smart terminals, PC devices, IoT terminals, mobile terminals, mobile phones, driving recorders, navigators, sensors, cameras, cameras, video cameras, projectors, watches, headphones, mobile storage, wearable devices, visual terminals, automatic driving terminals, transportation, household appliances, and / or medical equipment. The transportation includes airplanes, ships and / or vehicles; the household appliances include televisions, air conditioners, microwave ovens, refrigerators, rice cookers, humidifiers, washing machines, electric lights, gas stoves, and range hoods; the medical equipment includes magnetic resonance imaging, ultrasound machines and / or electrocardiographs. The electronic equipment or device disclosed herein may also be applied to the Internet, IoT, data centers, energy, transportation, public administration, manufacturing, education, power grids, telecommunications, finance, retail, construction sites, and medical fields. Further, the electronic equipment or device disclosed herein may also be used in cloud, edge, and terminal applications related to artificial intelligence, big data, and / or cloud computing. In one or more embodiments, the electronic device or device according to the disclosed solution can be applied to cloud devices (such as cloud servers), while the electronic device or device with low power consumption can be applied to terminal devices and / or edge devices (such as smart phones or cameras). In one or more embodiments, the hardware information of the cloud device and the hardware information of the terminal device and / or edge device are compatible with each other, so that according to the hardware information of the terminal device and / or edge device, appropriate hardware resources can be matched from the hardware resources of the cloud device to simulate the hardware resources of the terminal device and / or edge device, so as to complete the unified management, scheduling and collaborative work of end-to-end or cloud-edge-to-end.
[0208] It should be noted that, for the purpose of simplicity, the present disclosure describes some methods and embodiments thereof as a series of actions and combinations thereof, but those skilled in the art will appreciate that the scheme of the present disclosure is not limited by the order of the actions described. Therefore, based on the disclosure or teaching of the present disclosure, those skilled in the art will appreciate that some of the steps therein may be performed in other orders or simultaneously. Further, those skilled in the art will appreciate that the embodiments described in the present disclosure may be regarded as optional embodiments, i.e., the actions or modules involved therein may not necessarily be necessary for the implementation of one or some of the schemes of the present disclosure. In addition, depending on the different schemes, the present disclosure also has different focuses on the description of some embodiments. In view of this, those skilled in the art may appreciate the parts that are not described in detail in a certain embodiment of the present disclosure, and may also refer to the relevant descriptions of other embodiments.
[0209] In terms of specific implementation, based on the disclosure and teaching of this disclosure, those skilled in the art can understand that several embodiments disclosed in this disclosure can also be implemented by other methods not disclosed herein. For example, with respect to the various units in the electronic device or device embodiment described above, this article splits them on the basis of considering the logical function, and there may be other splitting methods in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features or functions in the units or components can be selectively disabled. In terms of the connection relationship between different units or components, the connection discussed in the above text in conjunction with the accompanying drawings can be a direct or indirect coupling between units or components. In some scenarios, the aforementioned direct or indirect coupling involves a communication connection using an interface, wherein the communication interface can support electrical, optical, acoustic, magnetic or other forms of signal transmission.
[0210] In the present disclosure, the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units. The aforementioned components or units may be located in the same location or distributed on multiple network units. In addition, according to actual needs, some or all of the units may be selected to achieve the purpose of the scheme of the present disclosure embodiment. In addition, in some scenarios, multiple units in the present disclosure embodiment may be integrated into one unit or each unit may exist physically separately.
[0211] In some other implementation scenarios, the above-mentioned integrated unit can also be implemented in the form of hardware, that is, a specific hardware circuit, which may include digital circuits and / or analog circuits, etc. The physical implementation of the hardware structure of the circuit may include but is not limited to physical devices, and the physical devices may include but are not limited to devices such as transistors or memristors. In view of this, the various devices (such as computing devices or other processing devices) described in this article can be implemented by appropriate hardware processors, such as central processing units, GPUs, FPGAs, DSPs, and ASICs. Furthermore, the aforementioned storage unit or storage device can be any appropriate storage medium (including magnetic storage media or magneto-optical storage media, etc.).
[0212] The foregoing content can be better understood in accordance with the following terms:
[0213] Clause A1. A method for performing inter-frame prediction encoding on a coding block, comprising: traversing the inter-frame prediction blocks that are spatially adjacent to the current coding block to screen out a geometric partitioning line subset and a predicted motion vector candidate set of the current coding block; wherein the geometric partitioning line subset is a subset obtained by screening based on the spatial adjacent relationship between the coding block and its adjacent inter-frame prediction blocks on the basis of the geometric partitioning line candidate set; in response to the geometric partitioning line subset not being an empty set, screening based on multiple geometric partitioning patterns formed by the geometric partitioning line subset and the predicted motion vector candidate set to obtain a target geometric partitioning pattern; and performing inter-frame prediction encoding on the current coding block using the target geometric partitioning pattern.
[0214] Clause A2. The method according to Clause A1, wherein the traversal step includes: accessing the current inter-frame prediction block; identifying the spatial neighbor relationship between the current inter-frame prediction block and the current coding block; determining the category to which the geometric partition line of the current inter-frame prediction block belongs under the spatial neighbor relationship; filtering out a subset of geometric partition lines based on the geometric partition lines corresponding to the category; and returning to execute the access step after updating the current inter-frame prediction block until the traversal is completed.
[0215] Clause A3. According to the method described in Clause A1 or A2, for the spatial adjacent relationship between each coding block and its adjacent inter-frame prediction block, the geometric dividing line candidate set includes valid dividing lines and invalid dividing lines; under the spatial adjacent relationship, the extension line of the valid dividing line intersects with the boundary of the current coding block, and the area ratio of the two partitions obtained by the extension line of the valid dividing line dividing the current coding block is within a preset ratio range; the invalid dividing line is a geometric dividing line other than the valid dividing line in the geometric dividing line candidate set.
[0216] Clause A4. The method according to clause A3, wherein the step of screening the geometric segmentation line subset includes: if the geometric segmentation line of the current inter-frame prediction block is a valid segmentation line, then when screening the geometric segmentation line subset in the geometric segmentation line candidate set, excluding the invalid segmentation line corresponding to the valid segmentation line.
[0217] Clause A5. The method according to clause A3, wherein the step of screening the geometric segmentation line subset comprises: if the geometric segmentation line of the current inter-frame prediction block is an invalid segmentation line, then all geometric segmentation lines in the geometric segmentation line candidate set are inserted into the geometric segmentation line subset.
[0218] Clause A6. The method according to Clause A4, wherein the valid dividing lines include: a first type of valid dividing lines and a second type of valid dividing lines; if the spatial adjacent relationship between the current coding block and the current inter-frame prediction block is adjacent to the top or adjacent to the left, then the screening step of the geometric dividing line subset includes: if the geometric dividing lines of the current inter-frame prediction block belong to the first type of valid dividing lines, then all the first type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are inserted into the geometric dividing line subset; if the geometric dividing lines of the current inter-frame prediction block belong to the second type of valid dividing lines, then all the second type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are inserted into the geometric dividing line subset.
[0219] Clause A7. The method according to Clause A4, wherein the valid dividing lines include: a first type of valid dividing lines and a second type of valid dividing lines; if the spatial adjacent relationship between the current coding block and the current inter-frame prediction block is upper right adjacent, lower left adjacent or upper left adjacent, then the screening step of the geometric dividing line subset includes: if the geometric dividing lines of the current inter-frame prediction block belong to both the first type of valid dividing lines and the second type of valid dividing lines, then the first type of valid dividing lines and the second type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are both inserted into the geometric dividing line subset; if the geometric dividing lines of the current inter-frame prediction block only belong to the first type of valid dividing lines, then the first type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are all inserted into the geometric dividing line subset; if the geometric dividing lines of the current inter-frame prediction block only belong to the second type of valid dividing lines, then the second type of valid dividing lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are all inserted into the geometric dividing line subset.
[0220] Clause A8. The method according to any one of clauses A4 to A7, before the step of inserting the geometric dividing line, further includes: in response to the geometric dividing line existing in the current geometric dividing line subset, not executing the step of inserting the geometric dividing line.
[0221] Clause A9. The method according to clause A1, wherein the candidate set of predicted motion vectors includes at least one of the following predicted motion vectors: a spatial predicted motion vector, a temporal predicted motion vector, a historical predicted motion vector, a pairwise average predicted motion vector and a zero-valued predicted motion vector.
[0222] Clause A10. The method according to Clause A9, wherein the step of screening the predicted motion vector candidate set includes: inserting the predicted motion vector into the predicted motion vector candidate set in order of priority from high to low; wherein among the predicted motion vectors, the priorities of the spatial domain predicted motion vector, the temporal domain predicted motion vector, the historical predicted motion vector, the paired average predicted motion vector and the zero-value predicted motion vector decrease in sequence.
[0223] Clause A11. The method according to clause A10, wherein the step of screening the candidate set of predicted motion vectors further comprises: in response to the candidate set of predicted motion vectors reaching a preset set length, stopping inserting the predicted motion vectors to obtain the candidate set of predicted motion vectors.
[0224] Clause A12. The method according to clause A9, wherein the step of inserting the spatial prediction motion vector comprises: traversing the inter-frame prediction blocks spatially adjacent to the current coding block in a preset order to insert the spatial prediction motion vector into the prediction motion vector candidate set.
[0225] Clause A13. The method according to Clause A12, wherein the step of traversing the inter-frame prediction blocks spatially adjacent to the current coding block in a preset order includes: accessing the current inter-frame prediction block, and inserting its predicted motion vector as the spatial prediction motion vector into the predicted motion vector candidate set; in response to the spatial candidate end condition being met, ending the step of inserting the spatial prediction motion vector; and in response to the spatial candidate end condition not being met, accessing the next inter-frame prediction block in the preset order, and inserting its predicted motion vector as the spatial prediction motion vector into the predicted motion vector candidate set, and returning to determine whether the spatial candidate end condition is met; wherein the spatial candidate end condition includes that the number of current spatial prediction motion vectors reaches 4 or the current inter-frame prediction block is at the end of the preset order.
[0226] Clause A14. According to the method described in Clause A12 or A13, the step of inserting the spatial prediction motion vector also includes: in response to the spatial prediction motion vector existing in the current prediction motion vector candidate set, the step of inserting the spatial prediction motion vector is not performed.
[0227] Clause A15. The method according to Clause A1, wherein the step of screening geometric partition patterns includes: using absolute error and SAD to screen out a primary screening geometric partition pattern set from multiple geometric partition patterns; using the sum of absolute transformation differences SATD to screen out a secondary screening geometric partition pattern set from the primary screening geometric partition pattern set; and performing rate-distortion optimization on the secondary screening geometric partition pattern set to obtain a target geometric partition pattern.
[0228] Clause A16. The method according to Clause A15, wherein the screening step of the preliminary screening geometric partition pattern set includes: sorting multiple geometric partition patterns in order of SAD from small to large; and taking the first M geometric partition patterns in the sorting to form a preliminary screening geometric partition pattern set; wherein M is a positive integer.
[0229] Clause A17. The method according to Clause A15, wherein the screening step of the second screening geometric division pattern set includes: sorting the geometric division patterns in the initial screening geometric division pattern in order from small to large according to SATD; and taking the first N geometric division patterns in the sorting to form a second screening geometric division pattern set; wherein N is a positive integer.
[0230] Clause A18. According to the method described in Clause A15 or A17, in the screening step of the two-screen geometric partitioning pattern set, the calculation step of SATD under each geometric partitioning pattern includes: using the geometric partitioning pattern to generate a prediction block of the current coding block; wherein the prediction block includes a geometric partitioning line in the geometric partitioning pattern; performing edge fusion calculation on the prediction block partitions on both sides of the geometric partitioning line in the prediction block; and calculating the SATD between the current coding block and the prediction block after edge fusion.
[0231] Clause A19. The method according to clause A1 further includes, before the step of screening the geometric partitioning pattern, combining each geometric partitioning line in the geometric partitioning line subset with each predicted motion vector in the predicted motion vector candidate set to obtain multiple geometric partitioning patterns.
[0232] Clause A20. The method according to Clause A1 further includes, after the traversal step: in response to the geometric partition line subset being an empty set, screening multiple geometric partition patterns consisting of a geometric partition line candidate set and a predicted motion vector candidate set to obtain a target geometric partition pattern.
[0233] Clause A21. A computer-readable storage medium having stored thereon a computer program code for performing inter-frame prediction coding on a coding block, wherein when the computer program code is executed by a processing device, the method described in any one of clauses A1 to 20 is executed.
[0234] Clause A22. A computer program product, comprising a computer program for performing inter-frame prediction encoding on a coding block, wherein when the computer program is executed by a processor, the steps of the method described in any one of clauses A1 to 20 are implemented.
[0235] Clause A23. A compiler comprises a candidate set screening module, which is used to traverse the inter-frame prediction blocks spatially adjacent to the current coding block to screen out a geometric partition line subset and a candidate set of predicted motion vectors of the current coding block, wherein the geometric partition line subset is a subset obtained by screening based on the spatial adjacent relationship between the coding block and its adjacent inter-frame prediction blocks on the basis of the geometric partition line candidate set; a geometric partition screening module, which is used to screen multiple geometric partition patterns consisting of the geometric partition line subset and the candidate set of predicted motion vectors in response to the geometric partition line subset not being an empty set to obtain a target geometric partition pattern; and an inter-frame prediction coding module, which is used to perform inter-frame prediction coding on the current coding block using the target geometric partition pattern.
[0236] Clause A24. An integrated circuit device comprising the compiler of clause A23.
[0237] Clause A25. A card comprising the integrated circuit device of clause 24.
[0238] The embodiments of the present disclosure are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present disclosure. The description of the above embodiments is only used to help understand the method of the present disclosure and its core idea. At the same time, for those skilled in the art, according to the ideas of the present disclosure, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on the present disclosure.
Claims
1. A method for performing inter-frame prediction coding on a coding block, It is characterized in that include: Traversing the inter-frame prediction blocks spatially adjacent to the current coding block to filter out a geometric partition line subset and a candidate set of predicted motion vectors of the current coding block; The geometric segmentation line subset is a subset obtained by screening based on the geometric segmentation line candidate set and based on the spatial neighbor relationship between the coding block and its adjacent inter-frame prediction blocks; In response to the geometric segmentation line subset not being an empty set, a plurality of geometric segmentation patterns formed by the geometric segmentation line subset and the predicted motion vector candidate set are screened to obtain a target geometric segmentation pattern; as well as The target geometric partitioning mode is used to perform inter-frame prediction coding on the current coding block.
2. The method according to claim 1, It is characterized in that The traversal steps include: Access the current inter-frame prediction block; Identify the spatial neighbor relationship between the current inter-frame prediction block and the current coding block; Determine the category to which the geometric segmentation line of the current inter-frame prediction block belongs under the spatial neighbor relationship; Filtering out the geometric segmentation line subset based on the geometric segmentation lines corresponding to the categories; and After updating the current inter-frame prediction block, the access step is returned to be executed until the traversal is completed.
3. The method according to claim 1 or 2, It is characterized in that With respect to the spatial neighbor relationship between each coding block and its adjacent inter-frame prediction block, the geometric segmentation line candidate set includes valid segmentation lines and invalid segmentation lines; Under the spatial adjacent relationship, the extension line of the effective dividing line intersects with the boundary of the current coding block, and the area ratio of two partitions obtained by dividing the current coding block by the extension line of the effective dividing line is within a preset ratio range; The invalid segmentation line is a geometric segmentation line in the geometric segmentation line candidate set except the valid segmentation line.
4. The method according to claim 3, It is characterized in that The step of screening the geometric segmentation line subset comprises: If the geometric dividing line of the current inter-frame prediction block is a valid dividing line, then when screening the geometric dividing line subset in the geometric dividing line candidate set, the invalid dividing line corresponding to the valid dividing line is excluded.
5. The method according to claim 3, It is characterized in that The step of screening the geometric segmentation line subset comprises: If the geometric dividing line of the current inter-frame prediction block is an invalid dividing line, all the geometric dividing lines in the geometric dividing line candidate set are inserted into the geometric dividing line subset.
6. The method according to claim 4, It is characterized in that The effective dividing lines include: a first type of effective dividing lines and a second type of effective dividing lines; if the spatial adjacent relationship between the current coding block and the current inter-frame prediction block is upper adjacent or left adjacent, the screening step of the geometric dividing line subset includes: If the geometric segmentation line of the current inter-frame prediction block belongs to the first type of valid segmentation line, all the first type of valid segmentation lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are inserted into the geometric segmentation line subset; If the geometrical dividing line of the current inter-frame prediction block belongs to the second type of valid dividing line, then all the second type of valid dividing lines in the spatial adjacent relationship corresponding to the current inter-frame prediction block are inserted into the geometrical dividing line subset.
7. The method according to claim 4, It is characterized in that The effective dividing lines include: a first type of effective dividing lines and a second type of effective dividing lines; if the spatial adjacent relationship between the current coding block and the current inter-frame prediction block is upper right adjacent, lower left adjacent or upper left adjacent, the screening step of the geometric dividing line subset includes: If the geometric dividing line of the current inter-frame prediction block belongs to both the first type of valid dividing line and the second type of valid dividing line, insert both the first type of valid dividing line and the second type of valid dividing line under the spatial adjacent relationship corresponding to the current inter-frame prediction block into the geometric dividing line subset; If the geometric segmentation lines of the current inter-frame prediction block belong only to the first type of valid segmentation lines, then all the first type of valid segmentation lines under the spatial adjacent relationship corresponding to the current inter-frame prediction block are inserted into the geometric segmentation line subset; If the geometrical dividing lines of the current inter-frame prediction block belong only to the second type of valid dividing lines, then all the second type of valid dividing lines in the spatial adjacent relationship corresponding to the current inter-frame prediction block are inserted into the geometrical dividing line subset.
8. The method according to any one of claims 4 to 7, It is characterized in that Before the step of inserting the geometric segmentation line, the method further includes: In response to the geometric segmentation line existing in the current geometric segmentation line subset, the step of inserting the geometric segmentation line is not performed.
9. The method according to claim 1, It is characterized in that The predicted motion vector candidate set includes at least one of the following predicted motion vectors: a spatial domain predicted motion vector, a temporal domain predicted motion vector, a historical predicted motion vector, a pairwise average predicted motion vector and a zero-value predicted motion vector.
10. The method according to claim 9, It is characterized in that The step of screening the candidate set of predicted motion vectors comprises: The predicted motion vector is inserted into the predicted motion vector candidate set in order of priority from high to low; among the predicted motion vectors, the priorities of the spatial domain predicted motion vector, the temporal domain predicted motion vector, the historical predicted motion vector, the paired average predicted motion vector and the zero-value predicted motion vector decrease in sequence.
11. The method according to claim 10, It is characterized in that The step of screening the candidate set of predicted motion vectors further includes: In response to the predicted motion vector candidate set reaching a preset set length, inserting the predicted motion vector is stopped to obtain the predicted motion vector candidate set.
12. The method according to claim 9, It is characterized in that The step of inserting the spatial domain prediction motion vector comprises: The inter-frame prediction blocks spatially adjacent to the current coding block are traversed in a preset order to insert the spatial domain prediction motion vector into the prediction motion vector candidate set.
13. The method according to claim 12, It is characterized in that The step of traversing the inter-frame prediction blocks spatially adjacent to the current coding block in a preset order comprises: Access the current inter-frame prediction block, and use its predicted motion vector as the spatial domain predicted motion vector, and insert it into the predicted motion vector candidate set; In response to the spatial candidate end condition being met, ending the step of inserting the spatial prediction motion vector; and In response to the spatial candidate end condition not being met, access the next inter-frame prediction block in the preset order, and use its predicted motion vector as the spatial prediction motion vector, insert it into the predicted motion vector candidate set, and then return to determine whether the spatial candidate end condition is met; wherein the spatial candidate end condition includes that the number of current spatial prediction motion vectors reaches 4 or the current inter-frame prediction block is in the last order in the preset order.
14. The method according to claim 12 or 13, It is characterized in that The step of inserting the spatial domain prediction motion vector also includes: In response to the spatial prediction motion vector existing in the current prediction motion vector candidate set, the step of inserting the spatial prediction motion vector is not performed.
15. The method according to claim 1, It is characterized in that The step of screening the geometric partitioning pattern comprises: Using absolute error and SAD to select a preliminary screening geometric partitioning pattern set from the multiple geometric partitioning patterns; Using the sum of absolute transformation differences SATD to select a second screening geometric partitioning pattern set from the primary screening geometric partitioning pattern set; and The rate-distortion optimization is performed on the two-screen geometric partitioning pattern set to obtain the target geometric partitioning pattern.
16. The method according to claim 15, It is characterized in that The screening step of the initial screening geometric partitioning pattern set comprises: Sort the plurality of geometric partitioning modes in ascending order of SAD; and The first M geometric partition patterns after sorting are taken to form the preliminary screening geometric partition pattern set; wherein M is a positive integer.
17. The method according to claim 15, It is characterized in that The screening step of the two-screen geometric partitioning pattern set includes: sorting the geometric partitioning patterns in the preliminary screening geometric partitioning patterns in order of SATD from small to large; and Take the first N geometric partition patterns in the sort to form a two-sieve geometric partition pattern set; where N is a positive integer.
18. The method according to claim 15 or 17, It is characterized in that In the screening step of the two-screen geometric partitioning mode set, the calculation step of SATD under each geometric partitioning mode includes: Generate a prediction block of the current coding block using the geometric partitioning mode; wherein the prediction block includes a geometric partitioning line in the geometric partitioning mode; performing edge fusion calculation on the prediction block partitions on both sides of the geometric partition line in the prediction block; and Calculate the SATD between the current coding block and the edge-fused prediction block.
19. The method according to claim 1, It is characterized in that Before the screening step of the geometric partitioning mode, the method further includes: Each geometric partition line in the geometric partition line subset is combined with each predicted motion vector in the predicted motion vector candidate set to obtain the plurality of geometric partition patterns.
20. The method according to claim 1, It is characterized in that After the traversal step, the method further includes: In response to the geometric partition line subset being an empty set, a plurality of geometric partition patterns formed by the geometric partition line candidate set and the predicted motion vector candidate set are screened to obtain a target geometric partition pattern.
21. A computer-readable storage medium having stored thereon a computer program code for performing inter-frame prediction coding on a coding block, wherein when the computer program code is executed by a processing device, the method according to any one of claims 1 to 20 is executed.
22. A computer program product comprising a computer program for performing inter-frame prediction encoding on a coding block, It is characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 20 are implemented.
23. A compiler, It is characterized in that include: A candidate set screening module, used for traversing the inter-frame prediction blocks spatially adjacent to the current coding block, to screen out a geometric segmentation line subset and a candidate set of predicted motion vectors of the current coding block, wherein the geometric segmentation line subset is a subset obtained by screening based on the spatial adjacent relationship between the coding block and its adjacent inter-frame prediction blocks on the basis of the geometric segmentation line candidate set; A geometric partition screening module, configured to screen, in response to the geometric partition line subset not being an empty set, a plurality of geometric partition patterns formed by the geometric partition line subset and the predicted motion vector candidate set to obtain a target geometric partition pattern; The inter-frame prediction coding module is used to perform inter-frame prediction coding on the current coding block using the target geometric partitioning mode.
24. An integrated circuit device comprising a compiler according to claim 23.
25. A card comprising the integrated circuit device according to claim 24.
