Image processing method, processing device, and storage medium
Patent Information
- Application Number
- PCT/CN2025/083607
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-19
- Publication Date
- 2025-09-11
AI Technical Summary
In the prior art, the most likely mode list is constructed in the same configuration for different blocks for processing, resulting in low accuracy and high signaling consumption.
Determine the target pattern based on the characteristics of the current block, and optimize the generation and application of the most likely pattern list through feature matching and pattern list construction rules.
It improves the accuracy of block processing, reduces signaling consumption, and improves the efficiency of video encoding and decoding.
Smart Images

Figure CN2025083607_12092025_PF_FP_ABST
Abstract
Description
Image processing method, processing device and storage medium Technical Field
[0001] The present application relates to the field of image processing technology, and in particular to an image processing method, processing device and storage medium. Background Art
[0002] The existing High Efficiency Video Coding standard protocol (H.266 / VVC) proposes a video frame encoding technology, and the most probable list is widely used in encoding and / or decoding technology.
[0003] During the process of conceiving and implementing this application, the inventors discovered at least the following problems: For different blocks, the same construction method is used to construct a most probable list (e.g., a most probable mode list), and each block is then processed accordingly based on the most probable list. For example, during the prediction phase, the same default prediction mode and cost function calculation method are used for different blocks to construct a most probable mode list containing prediction modes, and then the prediction modes in the most probable mode list are used to predict the block. However, different blocks have different characteristics, resulting in poor performance of the most probable mode list for some blocks, low accuracy, and / or requiring a large amount of signaling.
[0004] The preceding description is intended to provide general background information and does not necessarily constitute prior art. Summary of the Invention
[0005] In response to the above technical problems, the present application provides an image processing method, a processing device and a storage medium, aiming to solve the technical problem of how to improve the accuracy of block processing and / or reduce signaling consumption.
[0006] The present application provides an image processing method, which can be applied to a processing device, comprising the steps of:
[0007] S10 , determining or obtaining at least one target mode according to the characteristics of the current block, and processing the current block according to the at least one target mode.
[0008] Optionally, the target mode includes at least one of an intra-frame prediction mode, an inter-frame prediction mode, an intra-frame block vector mode, an inter-frame block vector mode, an inter-frame partitioning mode, a cross-component prediction mode, a geometric partitioning mode, a spatial geometric partitioning mode and a block partitioning mode.
[0009] Optionally, the characteristics of the current block include at least one of the following:
[0010] a size parameter of at least one of a current block, a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block, and a candidate block;
[0011] Pixel features of at least one of a reference template, a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block of the current block;
[0012] Similarity between the reference template of the current block and at least one of neighbor pixels, non-neighbor pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels;
[0013] the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks;
[0014] A mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block.
[0015] Optionally, determining or obtaining at least one target mode according to the characteristics of the current block includes at least one of the following:
[0016] Determine or obtain at least one target mode based on at least one candidate mode determined or obtained according to the characteristics of the current block;
[0017] A most probable mode list including at least one candidate mode is determined or obtained according to the characteristics of the current block, and at least one target mode is determined or obtained according to the most probable mode list.
[0018] Optionally, the candidate mode includes at least one of a default mode, a neighbor block mode, a non-neighbor block mode, a co-located block mode, a time domain block mode, a default block mode, and a candidate block mode.
[0019] Optionally, determining or obtaining a most probable mode list including at least one candidate mode according to the characteristics of the current block includes:
[0020] Determine or obtain at least one list construction rule according to the characteristics of the current block;
[0021] A most probable pattern list is determined or obtained according to at least one list construction rule.
[0022] Optionally, at least one list construction rule is determined or obtained based on the characteristics of the current block, including at least one of the following:
[0023] If the feature of the current block satisfies the first condition, determining at least one list construction rule as a first list construction rule;
[0024] If the feature of the current block does not satisfy the first condition, the at least one list construction rule is determined to be a second list construction rule.
[0025] Optionally, if a size parameter of at least one of the current block, neighbor block, non-neighbor block, time domain block, cross-component block, default block and candidate block matches a preset size parameter threshold or a preset size parameter range, it is determined that the feature of the current block meets the first condition.
[0026] Optionally, if the pixel features of at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block match a preset pixel feature threshold or a preset pixel feature range, it is determined that the feature of the current block meets the first condition.
[0027] Optionally, if the similarity between the reference template of the current block and at least one of the neighboring pixels, non-neighboring pixels, co-located block pixels, time domain block pixels, cross-component block pixels, default block pixels and candidate block pixels matches a preset similarity threshold or a preset similarity interval, it is determined that the feature of the current block meets the first condition.
[0028] Optionally, if the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks matches a preset number or a preset number interval, it is determined that the feature of the current block meets the first condition.
[0029] Optionally, if the pattern of at least one of the neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block includes a preset pattern, it is determined that the feature of the current block meets the first condition.
[0030] Optionally, the first list construction rule includes at least one of the following:
[0031] The length of the most probable pattern list is the first length;
[0032] The default mode is located in the preset list position of the most likely mode list;
[0033] Determine or obtain a position of the at least one candidate mode in the most probable mode list by performing a cost calculation of the at least one candidate mode according to a first cost function;
[0034] Scan at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block according to a first order, and determine or obtain a most probable mode list according to a scanning result;
[0035] Determine or obtain a most probable mode list based on a selected first number of neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks;
[0036] Determine or obtain a most probable mode list based on at least one neighbor block, and / or non-neighbor block, and / or co-located block, and / or time domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to the first distance;
[0037] Taking blocks within the first range as neighboring blocks, determining or obtaining a most probable mode list based on at least one neighboring block;
[0038] Determine or obtain a list of most likely patterns based on preset sorting rules.
[0039] Optionally, the second list construction rule includes at least one of the following:
[0040] The length of the most probable pattern list is the second length;
[0041] Determine the position of the default mode in the most probable mode list according to a preset mode sorting rule;
[0042] Determine or obtain a position of the at least one candidate mode in the most probable mode list based on a result of calculating the cost of the at least one candidate mode according to the second cost function;
[0043] Determine or obtain a position of the at least one candidate mode in the most probable mode list based on a result of calculating the cost of the at least one candidate mode according to the first cost function and the second cost function;
[0044] Scan at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block according to a second order, and determine or obtain a most probable mode list according to a scanning result;
[0045] Determine or obtain a most probable mode list based on the selected second number of neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks;
[0046] Determine or obtain a most probable mode list based on at least one neighbor block, and / or non-neighbor block, and / or co-located block, and / or time domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to the second distance;
[0047] Taking blocks within the second range as neighboring blocks, and determining or obtaining a most probable pattern list based on at least one neighboring block;
[0048] Determine or obtain a list of most likely patterns based on a neural network.
[0049] Optionally, the image processing method further includes at least one of the following:
[0050] The first and second orders are different;
[0051] The first order and / or the second order are determined or obtained according to the position coordinates and / or size parameters of the target block and the current block.
[0052] The present application also provides a processing device, comprising:
[0053] The processing module is configured to determine or obtain at least one target mode according to the characteristics of the current block, and process the current block according to the at least one target mode.
[0054] The present application also provides a processing device, comprising: a memory and a processor, wherein an image processing program is stored in the memory, and when the image processing program is executed by the processor, the steps of any of the above-mentioned image processing methods are implemented.
[0055] The processing device in this application can be a smart terminal or a server.
[0056] The present application also provides a storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the above-mentioned image processing methods.
[0057] As described above, the image processing method of the present application can be applied to a processing device, including: determining or obtaining at least one target mode based on the characteristics of a current block, and processing the current block based on the at least one target mode. By processing the current block directly based on the at least one target mode determined based on the characteristics of the current block, the accuracy of block processing can be improved and / or signaling consumption can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] The accompanying drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for describing the embodiments. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without inventive work.
[0059] FIG1 is a schematic diagram of the hardware structure of a mobile terminal for implementing various embodiments of the present application;
[0060] FIG2 is a diagram of a communication network system architecture provided by an embodiment of the present application;
[0061] FIG3 is a schematic diagram of the hardware structure of a controller 140 provided in this application;
[0062] FIG4 is a schematic diagram of the hardware structure of a network node 150 provided in this application;
[0063] FIG5 is a schematic flow chart of an image processing method according to the first embodiment;
[0064] FIG6 is a schematic diagram of the encoding and decoding process in the image processing method;
[0065] FIG7 is an image block with a width and height size in an image processing method according to a fifth embodiment;
[0066] FIG8 is an image block of another width and height size in the image processing method according to the fifth embodiment;
[0067] FIG9 is an image block with another width and height size in the image processing method according to the fifth embodiment;
[0068] FIG10 is a schematic diagram of the texture of an image block in an image processing method according to the fifth embodiment;
[0069] FIG11 is a schematic diagram of the texture of another image block in the image processing method according to the fifth embodiment;
[0070] 12 is a schematic diagram of a construction process of a most probable pattern list in an image processing method according to a fifth embodiment;
[0071] FIG13 is a schematic diagram of an image block with neighboring blocks in an image processing method according to a fifth embodiment;
[0072] FIG14 is a schematic diagram of another image block with neighboring blocks in the image processing method according to the fifth embodiment;
[0073] 15 is a schematic diagram of another construction process of the most probable pattern list in the image processing method according to the fifth embodiment;
[0074] 16 is a schematic diagram of another construction process of the most probable pattern list in the image processing method according to the sixth embodiment;
[0075] 17 is a schematic diagram of a process of generating a most probable pattern list based on a neural network in an image processing method according to a seventh embodiment;
[0076] FIG18 is a schematic diagram of a processing module of a processing device.
[0077] The purpose of this application, its features, and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings. The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and the accompanying text are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of this application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0078] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0079] It should be noted that, in this document, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context of the specific embodiment.
[0080] It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this document, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the term "if" as used herein may be interpreted as "when...", "when...", or "in response to a determination." Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context indicates otherwise. It should be further understood that the terms "comprising" and "including" indicate the presence of the described features, steps, operations, elements, components, items, types, and / or groups, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, types, and / or groups. The terms "or," "and / or," "including at least one of the following," etc., used herein, may be interpreted as inclusive, or mean any one or any combination. For example, “comprising at least one of the following: A, B, C” means “any of the following: A; B; C; A and B; A and C; B and C; A and B and C”; and for another example, “A, B or C” or “A, B and / or C” means “any of the following: A; B; C; A and B; A and C; B and C; A and B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or operations are inherently mutually exclusive in some manner.
[0081] It should be understood that, although the various steps in the flowchart in the embodiment of the present application are shown in sequence according to the indication of the arrows, these steps are not necessarily performed in sequence in the order indicated by the arrows. Unless clearly stated herein, the execution of these steps is not strictly limited in order, and they can be performed in other orders. Moreover, at least a portion of the steps in the figure may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and their execution order is not necessarily performed in sequence, but can be performed in turn or alternately with at least a portion of other steps or sub-steps or stages of other steps.
[0082] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.
[0083] It should be noted that, in this article, step codes such as S10 are used for the purpose of expressing the corresponding content more clearly and concisely, and do not constitute a substantial limitation on the sequence.
[0084] It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application.
[0085] In the subsequent description, the use of suffixes such as "module", "component" or "unit" to represent elements is only for the purpose of facilitating the description of the present application and has no specific meaning. Therefore, "module", "component" or "unit" can be used interchangeably.
[0086] Smart terminals can be implemented in various forms. For example, the smart terminals described in this application may include smart terminals such as mobile phones, tablet computers, laptop computers, PDAs, portable media players (PMPs), navigation devices, wearable devices, smart bracelets, pedometers, etc., as well as fixed terminals such as digital TVs and desktop computers.
[0087] The subsequent description will be made by taking a mobile terminal as an example. It will be understood by those skilled in the art that, in addition to components specifically used for mobile purposes, the configuration according to the embodiments of the present application can also be applied to fixed-type terminals.
[0088] Please refer to Figure 1, which is a schematic diagram of the hardware structure of a mobile terminal for implementing various embodiments of the present application. The mobile terminal 100 may include components such as an RF (Radio Frequency) unit 101, a WiFi module 102, an audio output unit 103, an A / V (Audio / Video) input unit 104, a sensor 105, a display unit 106, a user input unit 107, an interface unit 108, a memory 109, a processor 110, and a power supply 111. Those skilled in the art will understand that the mobile terminal structure shown in Figure 1 does not limit the mobile terminal. The mobile terminal may include more or fewer components than shown, or may combine certain components, or arrange the components differently.
[0089] The following is a detailed introduction to the various components of the mobile terminal in conjunction with Figure 1:
[0090] The RF unit 101 can be used to send and receive information or receive signals during calls. Specifically, it receives downlink information from the base station and transmits it to the processor 110 for processing. It also transmits uplink data to the base station. Typically, the RF unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and more. Furthermore, the RF unit 101 can communicate with the network and other devices via wireless communication. The above-mentioned wireless communications can use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA2000 (Code Division Multiple Access 2000), WCDMA (Wideband Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access), FDD-LTE (Frequency Division Duplexing-Long Term Evolution), TDD-LTE (Time Division Duplexing-Long Term Evolution), 5G and 6G, etc.
[0091] WiFi is a short-range wireless transmission technology. A mobile terminal, through WiFi module 102, enables users to send and receive emails, browse web pages, and access streaming media, providing wireless broadband Internet access. Although FIG1 illustrates WiFi module 102, it is understood that it is not a required component of the mobile terminal and can be omitted as needed without altering the essence of the invention.
[0092] The audio output unit 103 can convert audio data received by the RF unit 101 or the WiFi module 102 or stored in the memory 109 into an audio signal and output it as sound when the mobile terminal 100 is in a call signal reception mode, a talk mode, a recording mode, a voice recognition mode, a broadcast reception mode, or the like. Furthermore, the audio output unit 103 can also provide audio output related to a specific function performed by the mobile terminal 100 (e.g., a call signal reception sound, a message reception sound, etc.). The audio output unit 103 may include a speaker, a buzzer, or the like.
[0093] The A / V input unit 104 is used to receive audio or video signals. The A / V input unit 104 may include a graphics processing unit (GPU) 1041 and a microphone 1042. The GPU 1041 processes image data of still images or videos captured by an image capture device (e.g., a camera) in video capture mode or image capture mode. The processed image frames may be displayed on the display unit 106. The image frames processed by the GPU 1041 may be stored in the memory 109 (or other storage medium) or transmitted via the RF unit 101 or the WiFi module 102. The microphone 1042 may receive sound (audio data) in operating modes such as phone call mode, recording mode, and voice recognition mode, and may process such sound into audio data. In phone call mode, the processed audio (voice) data may be converted into a format that can be transmitted to a mobile communication base station via the RF unit 101. The microphone 1042 may implement various types of noise cancellation (or suppression) algorithms to eliminate (or suppress) noise or interference generated during the reception and transmission of audio signals.
[0094] The mobile terminal 100 also includes at least one sensor 105, such as a light sensor, a motion sensor, and other sensors. Optionally, the light sensor includes an ambient light sensor and a proximity sensor. Optionally, the ambient light sensor can adjust the brightness of the display panel 1061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 1061 and / or the backlight when the mobile terminal 100 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that can be configured in the mobile phone, such as fingerprint sensors, pressure sensors, iris sensors, molecular sensors, gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described here.
[0095] The display unit 106 is used to display information input by the user or information provided to the user. The display unit 106 may include a display panel 1061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0096] The user input unit 107 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the mobile terminal. Optionally, the user input unit 107 may include a touch panel 1071 and other input devices 1072. The touch panel 1071, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any other suitable object or accessory on or near the touch panel 1071) and drive the corresponding connection device according to a pre-set program. The touch panel 1071 may include two parts: a touch detection device and a touch controller. Optionally, the touch detection device detects the user's touch direction and detects the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 110. It can also receive commands sent by the processor 110 and execute them. In addition, the touch panel 1071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1071, the user input unit 107 may further include other input devices 1072. Optionally, the other input devices 1072 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, a joystick, etc., and the specifics are not limited here.
[0097] Optionally, the touch panel 1071 may overlay the display panel 1061. When the touch panel 1071 detects a touch operation on or near it, it transmits the information to the processor 110 to determine the type of touch event. The processor 110 then provides a corresponding visual output on the display panel 1061 based on the type of touch event. Although in FIG1 , the touch panel 1071 and the display panel 1061 are shown as two separate components to implement the input and output functions of the mobile terminal, in some embodiments, the touch panel 1071 and the display panel 1061 may be integrated to implement the input and output functions of the mobile terminal, which is not limited to this specific embodiment.
[0098] The interface unit 108 serves as an interface through which at least one external device can be connected to the mobile terminal 100. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 108 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the mobile terminal 100 or may be used to transmit data between the mobile terminal 100 and an external device.
[0099] Memory 109 can be used to store software programs and various data. Memory 109 may primarily include a program storage area and a data storage area. Optionally, the program storage area may store an operating system and at least one application required for a function (such as a sound playback function or an image playback function); the data storage area may store data generated based on the use of the mobile phone (such as audio data, a phone book, etc.). Furthermore, memory 109 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0100] Processor 110 is the control center of the mobile terminal, connecting all components of the mobile terminal using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 109 and accessing data stored in memory 109, it executes various functions of the mobile terminal and processes data, thereby providing overall monitoring of the mobile terminal. Processor 110 may include one or more processing units; preferably, processor 110 may integrate an application processor and a modem processor. Optionally, the application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 110.
[0101] The mobile terminal 100 may also include a power supply 111 (such as a battery) for supplying power to various components. Preferably, the power supply 111 may be logically connected to the processor 110 through a power management system, thereby managing functions such as charging, discharging, and power consumption through the power management system.
[0102] Although not shown in FIG. 1 , the mobile terminal 100 may further include a Bluetooth module, etc., which will not be described in detail here.
[0103] To facilitate understanding of the embodiments of the present application, the communication network system on which the mobile terminal of the present application is based is described below.
[0104] Please refer to Figure 2, which is a communication network system architecture diagram provided in an embodiment of the present application. The communication network system is an LTE system of universal mobile communication technology. The LTE system includes a UE (User Equipment) 201, an E-UTRAN (Evolved UMTS Terrestrial Radio Access Network) 202, an EPC (Evolved Packet Core) 203 and an operator's IP service 204, which are connected in sequence.
[0105] Optionally, UE201 may be the above-mentioned terminal 100, which will not be described in detail here.
[0106] E-UTRAN 202 includes eNodeB 2021 and other eNodeBs 2022 . Optionally, eNodeB 2021 may be connected to other eNodeBs 2022 via a backhaul (eg, an X2 interface). eNodeB 2021 is connected to EPC 203 , and eNodeB 2021 may provide access from UE 201 to EPC 203 .
[0107] EPC 203 may include an MME (Mobility Management Entity) 2031, an HSS (Home Subscriber Server) 2032, other MMEs 2033, an SGW (Serving Gate Way) 2034, a PGW (PDN Gate Way) 2035, and a PCRF (Policy and Charging Rules Function) 2036. Optionally, MME 2031 is a control node that processes signaling between UE 201 and EPC 203, providing bearer and connection management. HSS 2032 provides registers for managing functions such as the Home Location Register (not shown) and stores user-specific information such as service features and data rates. All user data can be sent through SGW2034, PGW2035 can provide IP address allocation and other functions for UE 201, PCRF2036 is the policy and charging control policy decision point for service data flow and IP bearer resources, and it selects and provides available policy and charging control decisions for the policy and charging execution function unit (not shown in the figure).
[0108] The IP service 204 may include the Internet, an intranet, an IMS (IP Multimedia Subsystem), or other IP services.
[0109] Although the above introduction takes the LTE system as an example, those skilled in the art should know that this application is not only applicable to the LTE system, but can also be applied to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, 5G and future new network systems (such as 6G), etc., which are not limited here.
[0110] FIG3 is a schematic diagram of the hardware structure of a controller 140 provided in this application. The controller 140 includes a memory 1401 and a processor 1402. The memory 1401 is used to store program instructions, and the processor 1402 is used to call the program instructions in the memory 1401 to execute the steps performed by the controller in the first embodiment of the above method. The implementation principles and beneficial effects are similar and will not be repeated here.
[0111] Optionally, the controller further includes a communication interface 1403, which can be connected to the processor 1402 via a bus 1404. The processor 1402 can control the communication interface 1403 to implement the receiving and sending functions of the controller 140.
[0112] Figure 4 is a schematic diagram of the hardware structure of a network node 150 provided in this application. Network node 150 includes: a memory 1501 and a processor 1502. Memory 1501 is used to store program instructions, and processor 1502 is used to call the program instructions in memory 1501 to execute the steps performed by the first node in the first embodiment of the above method. The implementation principles and beneficial effects are similar and will not be repeated here.
[0113] Optionally, the controller further includes a communication interface 1503, which can be connected to the processor 1502 via a bus 1504. The processor 1502 can control the communication interface 1503 to implement the receiving and sending functions of the network node 150.
[0114] The integrated modules implemented in the form of software function modules can be stored in a computer-readable storage medium. The software function modules stored in a storage medium include a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute some of the steps of the methods of various embodiments of the present application.
[0115] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a storage medium or transmitted from one storage medium to another storage medium. For example, the computer instructions can be transmitted from a website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state drive solid state disk, SSD), etc.
[0116] First embodiment
[0117] 5 , which is a flow chart of an image processing method according to a first embodiment, the image processing method of the embodiment of the present application can be applied to a processing device, including:
[0118] Step S10 , determining or obtaining at least one target mode according to the characteristics of the current block, and processing the current block according to the at least one target mode.
[0119] In this embodiment, the processing device can be a smart terminal, such as a mobile phone, a computer, etc., or a server, such as a local server or a cloud server. In this embodiment and this application, the processing device is mainly described as a smart terminal.
[0120] Optionally, the technical solution of this embodiment can be applied to the fields of image coding and decoding, video coding and decoding, hardware video coding and decoding, dedicated circuit video coding and decoding, real-time video coding and decoding, and so on.
[0121] To facilitate understanding, the codec architecture is briefly introduced first: Referring to Figure 6, in the codec framework, the input video frame can be divided into block operations to obtain at least one block, and each block is subjected to frame transformation processing through the frame transformation module. The transformed video frame is then input into the transformation, quantization, intra-frame prediction, inter-frame coding, inverse quantization, inverse transformation, loop filtering and other modules. The video frame processed by the quantization module is entropy encoded and output bits 01011100, etc. Motion estimation is performed based on the video frame obtained after loop filtering and the video frame after frame transformation processing to obtain motion information, and inter-frame prediction is performed based on the motion information.
[0122] Optionally, at the encoding end, the video frame is input to the frame processing module, which executes a certain selection rule and performs one or more operations including geometric transformation, downsampling, linear transformation, nonlinear transformation, and pre-filtering processing (in the case of filtering processing, there may be no mode information) on the frame, and then outputs the transformed frame. The transformed frame is input into subsequent transformation, quantization, intra-frame prediction, inter-frame coding, inverse quantization, inverse transformation and other modules. The above processing results are input into the frame inverse transformation module, which performs inverse geometric transformation, upsampling, filtering processing, etc. and then outputs the decoded image. Optionally, loop filtering can be regarded as part of the frame inverse transformation module.
[0123] Optionally, at the decoding end, the code stream is read, the transformation mode information is parsed out (in the case of filtering, there may be no mode information), the video stream is inverse quantized, transformed, inter-frame predicted, intra-frame predicted, etc., and the video frame (after transformation at the encoding end) is decoded. The above video frame is subjected to frame inverse transformation according to the mode information and the decoded image is output. The frame inverse transformation includes inverse geometric transformation, upsampling, filtering processing, etc. Optionally, loop filtering can be regarded as part of the frame inverse transformation module.
[0124] Optionally, during the encoding and decoding process, each link may use the most probable mode list for processing. For example, in the division stage, the most probable mode list is used to obtain the division mode to perform division processing on the current block. Optionally, in the prediction stage, the most probable mode list is used to obtain the prediction mode to perform prediction processing on the current block.
[0125] Optionally, the most probable mode list is constructed for all blocks (such as image blocks) using the same construction method, such as generating the most probable mode list by sorting according to the selected modes (such as prediction modes). However, since different blocks (such as image blocks) have many features and differences, such as different block sizes and textures, the most probable mode list may perform poorly on some blocks, have low accuracy, and / or consume more signaling, resulting in high cost of video encoding and / or decoding, and / or limiting the efficiency of video encoding and / or decoding.
[0126] Optionally, the block in this embodiment may be an image block, and may be at least one of a current block, a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block, and a candidate block.
[0127] Optionally, in this embodiment, a suitable target mode will be selected for processing based on the characteristics of the current block, so that when determining the corresponding target mode, the characteristics of the current block can be comprehensively considered, and then when the target mode is used to process the current block, the accuracy of processing the current block can be improved and / or signaling consumption can be reduced.
[0128] Optionally, the current block may be an image block. Optionally, it may be a different block in different stages of encoding and decoding, for example, in the division stage, it may be an image block to be divided; in the prediction stage, it may be an image block to be predicted, etc.
[0129] Optionally, the target mode includes at least one of an intra-frame prediction mode, an inter-frame prediction mode, an intra-frame block vector mode, an inter-frame block vector mode, an inter-frame partitioning mode, a cross-component prediction mode, a geometric partitioning mode, a spatial geometric partitioning mode and a block partitioning mode.
[0130] Optionally, at least one intra-frame prediction mode can be selected from at least one candidate intra-frame prediction mode corresponding to the current block according to the characteristics of the current block to determine or obtain at least one target mode, and intra-frame prediction processing can be performed on the current block according to the at least one target mode.
[0131] Optionally, at least one inter-frame prediction mode can be selected from at least one candidate inter-frame prediction mode corresponding to the current block according to the characteristics of the current block to determine or obtain at least one target mode, and inter-frame prediction processing can be performed on the current block according to the at least one target mode.
[0132] Optionally, at least one intra-block vector mode can be selected from at least one candidate intra-block vector mode corresponding to the current block according to the characteristics of the current block to determine or obtain at least one target mode, and intra-block vector processing can be performed on the current block according to the at least one target mode.
[0133] Optionally, at least one inter-frame block vector mode can be selected from at least one candidate inter-frame block vector mode corresponding to the current block based on the characteristics of the current block to determine or obtain at least one target mode, and inter-frame block vector processing can be performed on the current block based on the at least one target mode.
[0134] Optionally, at least one inter-frame division method can be selected from at least one candidate inter-frame division method corresponding to the current block according to the characteristics of the current block to determine or obtain at least one target mode, and inter-frame division processing can be performed on the current block according to the at least one target mode.
[0135] Optionally, at least one geometric division mode may be selected from at least one candidate geometric division mode corresponding to the current block according to the features of the current block to determine or obtain at least one target mode, and the current block may be geometrically divided according to the at least one target mode.
[0136] Optionally, at least one spatial geometric division mode can be selected from at least one candidate spatial geometric division mode corresponding to the current block based on the characteristics of the current block to determine or obtain at least one target mode, and spatial geometric division processing can be performed on the current block based on at least one target mode.
[0137] Optionally, at least one block partitioning method may be selected from at least one candidate block partitioning method corresponding to the current block according to the characteristics of the current block to determine or obtain at least one target mode, and block partitioning processing may be performed on the current block according to the at least one target mode.
[0138] Optionally, at least one cross-component prediction mode can be selected from at least one candidate cross-component prediction mode corresponding to the current block based on the characteristics of the current block to determine or obtain at least one target mode, and cross-component prediction processing can be performed on the current block based on the at least one target mode.
[0139] Optionally, when the processing device is an encoding end, at least one target mode may be determined or obtained according to the characteristics of the current block, and the current block may be processed according to the at least one target mode.
[0140] Optionally, when the processing device is a decoding end, at least one target mode may be determined or obtained according to the characteristics of the current block, and the current block may be processed according to the at least one target mode.
[0141] The technical solution of this embodiment can improve the accuracy of block processing and / or reduce signaling consumption by processing the current block directly according to at least one target mode determined based on the characteristics of the current block.
[0142] Second embodiment
[0143] Based on the first embodiment, a second embodiment is proposed.
[0144] In this embodiment, the characteristics of the current block include at least one of the following modes 1 to 5:
[0145] Mode 1: size parameter of at least one of the current block, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block, and candidate block;
[0146] Optionally, the neighbor block may be a block adjacent to the current block, and the neighbor block may include an adjacent block and a non-adjacent block.
[0147] Alternatively, the non-neighbor block may be a block that is not adjacent to the current block, and the non-neighbor block may include a non-adjacent block.
[0148] Optionally, the co-located block may be an image block in the co-located image with the same position and size as the current block to be processed (eg, to be predicted). Optionally, the co-located image may be an image in the reference image that is closest in time to the current image.
[0149] Optionally, the time domain block can be a block distinguished from the time domain, such as an image block in the previous frame. For example, if there is video data including three frames of images, the first frame of image is played in the first second, the second frame of image is played in the second second, and the third frame of image is played in the third second. If the image block being processed (such as predicted) at the current moment is the image block after the second frame of image is divided, then the time domain block can be determined to be the image block corresponding to it in the first frame of image.
[0150] Optionally, the cross-component block may be an image block in a different component from the current at least one image block:
[0151] For example, when the current at least one image block is an image block of the Y component, the cross-component block may be an image block of the U component and / or the V component;
[0152] For another example, if at least one current image block is an image block of a U component, the cross-component block may be an image block of a Y component and / or a V component;
[0153] For example, if the current at least one image block is an image block of a V component, the cross-component block may be an image block of a U component and / or a Y component.
[0154] Optionally, the default block may be a block set in advance, for example, a block with typical pixel features pre-set by an encoder and / or a decoder.
[0155] Optionally, the candidate block may be determined or generated according to a candidate motion vector or a candidate block vector of the current block.
[0156] Optionally, the candidate motion vector or candidate block vector may include a motion vector or block vector corresponding to at least one of a neighboring block, a non-neighboring block, a co-located block, a time domain block, a cross-component block and a default block, and may also include a motion vector or block vector corresponding to at least one of an upper adjacent pixel, an upper non-adjacent pixel, a left adjacent pixel, a left non-adjacent pixel, an upper left adjacent pixel and an upper left non-adjacent pixel of the current block, and may also include the motion vector or block vector of the current block, etc. The following only takes the motion vector or block vector of the current block as an example.
[0157] Optionally, block vector calculation may be performed on the current block, and the candidate block may be determined according to the block vector calculation result; or motion vector calculation may be performed on the current block, and the candidate block may be determined according to the motion vector calculation result.
[0158] Optionally, the size parameter may include at least one of the width, height, aspect ratio, block size and block area of the block, and may further include parameters related to the size parameters of the block (such as width, height or depth).
[0159] Optionally, at least one of the width, height, aspect ratio, block size, and block area of the current block may be used as the feature of the current block.
[0160] Optionally, at least one of the width, height, aspect ratio, block size, and block area of the neighboring block may be used as the feature of the current block.
[0161] Optionally, at least one of the width, height, aspect ratio, block size, and block area of the non-neighboring block may be used as the feature of the current block.
[0162] Optionally, at least one of the width, height, aspect ratio, block size, and block area of the co-located block may be used as the feature of the current block.
[0163] Optionally, at least one of the width, height, aspect ratio, block size and block area of the time domain block may be used as the feature of the current block.
[0164] Optionally, at least one of the width, height, aspect ratio, block size, and block area across the component blocks may be used as the feature of the current block.
[0165] Optionally, at least one of the width, height, aspect ratio, block size, and block area of the default block may be used as the feature of the current block.
[0166] Optionally, at least one of the width, height, aspect ratio, block size and block area of the candidate block may be used as a feature of the current block.
[0167] Optionally, the width, height, aspect-to-height ratio, block size and / or block area of at least one of the current block, neighboring block, non-neighboring block, co-located block, time domain block, cross-component block, default block and neighboring block can also be deformed (for example, format conversion, numerical conversion, addition or subtraction operations, etc.) to obtain the characteristics of the current block.
[0168] Through the technical solution of this embodiment, it is possible to use the size parameter of at least one of the current block, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block as the feature of the current block, and then process the current block according to the target mode determined or obtained based on the feature of the current block. This can ensure that the target mode is closely related to the size parameter of at least one of the current block, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block, thereby ensuring the accuracy of the determined or obtained target mode, improving the accuracy of block processing, and / or reducing signaling consumption.
[0169] Method 2: pixel features of at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block;
[0170] Optionally, the reference template of the current block can be determined or obtained based on neighboring pixels (such as adjacent pixels) or pixels of other components. For example, a pixel area including neighboring pixels located above, to the left and above the left of the current block can be used as a reference template.
[0171] Optionally, the reference template can be a pixel area within the same component in the same frame (such as a reconstructed or predicted pixel area), a pixel area within the same component in different frames, or a pixel area across components / different components in the same frame.
[0172] Optionally, the shape of the reference template may be a regular shape, such as a rectangle, or an irregular shape, such as a trapezoid.
[0173] Optionally, the pixel features may include the texture of the block (such as smoothness or sharpness), and may also include other features related to the pixels of the block, such as pixel values, or when the current block is a current block of a chrominance component, may include the brightness value of the current block, etc.
[0174] Optionally, the pixel features of the reference template of the current block may be approximated as the pixel features of the current block, and the pixel features of the current block may be used as the features of the current block.
[0175] Optionally, pixel features of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block, and a candidate block may be used as features of the current block.
[0176] Optionally, a reference template of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block and a candidate block may be determined, and pixel features of the reference template may be used as features of the current block.
[0177] Through the technical solution of this embodiment, it is possible to use the pixel features of at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block as the features of the current block, and then process the current block according to the target mode determined or obtained based on the features of the current block. This ensures that the target mode is closely related to the pixel features of at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block, thereby ensuring the accuracy of the determined or obtained target mode, improving the accuracy of block processing, and / or reducing signaling consumption.
[0178] Method three: similarity between the reference template of the current block and at least one of neighboring pixels, non-neighboring pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels;
[0179] Optionally, the neighbor pixel may be at least one pixel in a neighbor block.
[0180] Optionally, the non-neighbor pixel may be at least one pixel in a non-neighbor block.
[0181] Optionally, the co-located block pixel may be at least one pixel in the co-located block.
[0182] Optionally, the time-domain block pixel may be at least one pixel in the time-domain block.
[0183] Optionally, the cross-component block pixel may be at least one pixel in the cross-component block.
[0184] Optionally, the default block pixel may be at least one pixel in the default block.
[0185] Optionally, the candidate block pixel may be at least one pixel in the candidate block.
[0186] Optionally, the reference template of the current block can be approximated as the pixels of the current block, and then the similarity between the reference template of the current block and at least one of the neighboring pixels, non-neighboring pixels, co-located block pixels, time domain block pixels, cross-component block pixels, default block pixels and candidate block pixels is calculated.
[0187] Optionally, when performing similarity calculation, a pre-set similarity function can be used for calculation, such as calculating the absolute difference between the reference template of the current block and the neighboring pixels, and determining the similarity between the reference template of the current block and the neighboring pixels based on the absolute difference.
[0188] Optionally, when performing similarity calculation, a neural network can be used for determination, for example, the reference template of the current block and neighbor pixels, non-neighbor pixels, co-located block pixels, time domain block pixels, cross-component block pixels, default block pixels and candidate block pixels are directly input into the neural network, and the similarity between the reference template of the current block and the neighbor pixels, non-neighbor pixels, co-located block pixels, time domain block pixels, cross-component block pixels, default block pixels and candidate block pixels is output.
[0189] Through the technical solution of this embodiment, it is possible to consider the similarity between the reference template of the current block and at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks when determining or obtaining the target mode, thereby improving the accuracy of the determined or obtained target mode, improving the accuracy of block processing, and / or reducing signaling consumption.
[0190] Mode 4: the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time-domain blocks, cross-component blocks, default blocks, and candidate blocks;
[0191] Optionally, the number of neighboring blocks of the current block can be determined, such as by scanning the neighboring blocks in a certain order and determining the number of scanned neighboring blocks, such as by taking image blocks whose pixel distance to the current block is less than a preset pixel distance as neighboring blocks and determining the number of selected neighboring blocks, such as by taking image blocks within a certain range as neighboring blocks and determining the number of selected neighboring blocks.
[0192] Optionally, the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time-domain blocks, cross-component blocks, default blocks, and candidate blocks may be determined as the feature of the current block.
[0193] Through the technical solution of this embodiment, it is possible to consider the number of at least one of neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks when determining or obtaining the target mode, thereby ensuring that the target mode is more closely aligned with the current block, improving the accuracy of the determined or obtained target mode, improving the accuracy of block processing, and / or reducing signaling consumption.
[0194] Mode 5: a mode of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks.
[0195] Optionally, the mode may include at least one of an inter-frame prediction mode, an intra-frame block vector mode, an inter-frame block vector mode, an inter-frame partitioning mode, a cross-component prediction mode, a geometric partitioning mode, a spatial geometric partitioning mode and a block partitioning mode.
[0196] Optionally, for different stages of the video encoding and decoding process, the mode adopted by at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be used as the feature of the current block.
[0197] For example, in the inter-frame prediction stage, at least one of the inter-frame prediction mode used by neighboring blocks, the inter-frame prediction mode used by non-neighboring blocks, the inter-frame prediction mode used by co-located blocks, the inter-frame prediction mode used by time domain blocks, the inter-frame prediction mode used across component blocks, the inter-frame prediction mode used by the default block and the inter-frame prediction mode used by the candidate block can be used as a feature of the current block.
[0198] Through the technical solution of this embodiment, it is possible to consider at least one mode of neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks when determining or obtaining the target mode, thereby ensuring that the target mode is more closely aligned with the current block, improving the accuracy of the determined or obtained target mode, improving the accuracy of block processing, and / or reducing signaling consumption.
[0199] Third embodiment
[0200] Based on the first embodiment or the second embodiment, the third embodiment is proposed.
[0201] In this embodiment, determining or obtaining at least one target mode according to the characteristics of the current block includes the following method 6 and / or method 7:
[0202] Method six, determining or obtaining at least one target mode based on at least one candidate mode determined or obtained according to the characteristics of the current block;
[0203] Optionally, in different video encoding and decoding stages, the candidate modes correspond to different modes, such as inter-frame prediction mode, intra-frame block vector mode, inter-frame block vector mode, inter-frame partitioning mode, cross-component prediction mode, geometric partitioning mode, spatial geometric partitioning mode and block partitioning mode, etc.
[0204] Optionally, at least one candidate mode may be selected or determined from at least one candidate mode based on features of the current block. Optionally, the at least one candidate mode may be determined or obtained based on a mode adopted by at least one of a neighboring block, a non-neighboring block, a co-located block, a time-domain block, a cross-component block, a default block, and a candidate block, or may be determined or obtained in other ways, which are not limited herein.
[0205] Optionally, when the characteristics of the current block meet certain conditions, such as the third condition, a candidate mode can be selected from at least one preset candidate mode, and the selected candidate mode can be used as the target mode; or the target mode can be determined based on the selected candidate mode, such as a candidate mode that has a corresponding relationship with the selected candidate mode, or the selected candidate mode can be appropriately deformed to obtain the target mode.
[0206] Optionally, the third condition can be set according to user needs. For example, if the width-to-height ratio of the current block is greater than a preset ratio, it can be determined that the characteristics of the current block meet the third condition.
[0207] Optionally, the feature of the current block meeting the third condition may include at least one of the following:
[0208] A size parameter of at least one of the current block, the neighbor block, the non-neighbor block, the time domain block, the cross-component block, the default block, and the candidate block is greater than or less than a preset size parameter threshold;
[0209] Matching pixel features of at least one of a reference template, a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block, and a candidate block of the current block with preset pixel features;
[0210] The similarity between the reference template of the current block and at least one of neighboring pixels, non-neighboring pixels, co-located block pixels, time domain block pixels, cross-component block pixels, default block pixels, and candidate block pixels is greater than or less than a preset similarity threshold;
[0211] The number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks matches a preset number;
[0212] The mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block includes a preset mode.
[0213] Through the technical solution of this embodiment, at least one candidate mode can be determined or obtained based on the characteristics of the current block, and the target mode can be determined or obtained. The current block can be processed according to the target mode, which can ensure that the target mode is closely related to the characteristics of the current block, improve the accuracy of block processing, and / or reduce signaling consumption.
[0214] Method seven: determine or obtain a most probable mode list including at least one candidate mode according to the characteristics of the current block, and determine or obtain at least one target mode according to the most probable mode list.
[0215] Optionally, the most probable mode list including at least one candidate mode may be a most probable mode list including at least one inter-frame prediction mode, may be a most probable mode list including at least one intra-frame block vector mode, may be a most probable mode list including at least one inter-frame block vector mode, may be a most probable mode list including at least one inter-frame partitioning method, may be a most probable mode list including at least one cross-component prediction mode, may be a most probable mode list including at least one geometric partitioning mode, may be a most probable mode list including at least one spatial geometric partitioning mode, or may be a most probable mode list including at least one block partitioning method.
[0216] Optionally, a most probable pattern list including at least one candidate pattern is constructed or updated based on the characteristics of the current block. For example, at least one candidate pattern can be determined or obtained based on the characteristics of the current block, and the most probable pattern list can be determined or obtained based on the at least one candidate pattern. A rule for constructing the most probable pattern list can also be determined based on the characteristics of the current block, so as to determine or obtain the most probable pattern list according to the rule.
[0217] Optionally, at least one candidate mode may be selected from the most probable mode list as a target mode, and the current block may be processed according to the target mode.
[0218] Through the technical solution of this embodiment, the most probable mode list can be determined or obtained based on the characteristics of the current block, and then the current block can be processed based on at least one target mode determined or obtained from the most probable mode list. This can achieve a close association between the most probable mode list and the characteristics of the current block, ensure the accuracy of the most probable mode list, make the most probable mode list have a higher accuracy rate in the current block, and also make it possible to obtain a target mode closely associated with the current block based on the most probable mode list, thereby improving the accuracy of block processing and / or reducing signaling consumption.
[0219] Fourth embodiment
[0220] Based on any of the above embodiments, a fourth embodiment is proposed.
[0221] In this embodiment, the candidate mode includes at least one of a default mode, a neighbor block mode, a non-neighbor block mode, a co-located block mode, a time domain block mode, a default block mode, and a candidate block mode.
[0222] Optionally, when performing inter-frame prediction processing on the current block, the default mode may be the default inter-frame prediction mode, the mode of the neighbor block may be the inter-frame prediction mode of the neighbor block, the mode of the non-neighbor block may be the inter-frame prediction mode of the non-neighbor block, the mode of the co-located block may be the inter-frame prediction mode of the co-located block, the mode of the time domain block may be the inter-frame prediction mode of the time domain block, the mode of the default block may be the inter-frame prediction mode of the default block, and the mode of the candidate block may be the inter-frame prediction mode of the candidate block.
[0223] Optionally, when the current block is predicted according to BV (Block Vector), the default mode may be a default intra-frame block vector, the mode of the neighbor block may be an intra-frame block vector of the neighbor block, the mode of the non-neighbor block may be an intra-frame block vector of the non-neighbor block, the mode of the co-located block may be an intra-frame block vector of the co-located block, the mode of the time domain block may be an intra-frame block vector of the time domain block, the mode of the default block may be an intra-frame block vector of the default block, and the mode of the candidate block may be an intra-frame block vector of the candidate block.
[0224] Optionally, when the current block is predicted based on the inter-frame MV (Motion Vector), the default mode may be a default inter-frame block vector, the mode of the neighbor block may be the inter-frame block vector of the neighbor block, the mode of the non-neighbor block may be the inter-frame block vector of the non-neighbor block, the mode of the co-located block may be the inter-frame block vector of the co-located block, the mode of the time domain block may be the inter-frame block vector of the time domain block, the mode of the default block may be the inter-frame block vector of the default block, and the mode of the candidate block may be the inter-frame block vector of the candidate block.
[0225] Optionally, when performing inter-frame division processing on the current block, the default mode may be the default inter-frame division method, the mode of the neighbor block may be the inter-frame division method of the neighbor block, the mode of the non-neighbor block may be the inter-frame division method of the non-neighbor block, the mode of the co-located block may be the inter-frame division method of the co-located block, the mode of the time domain block may be the inter-frame division method of the time domain block, the mode of the default block may be the inter-frame division method of the default block, and the mode of the candidate block may be the inter-frame division method of the candidate block.
[0226] Optionally, when performing cross-component prediction processing on the current block, the default mode may be the default cross-component prediction mode, the mode of the neighbor block may be the cross-component prediction mode of the neighbor block, the mode of the non-neighbor block may be the cross-component prediction mode of the non-neighbor block, the mode of the co-located block may be the cross-component prediction mode of the co-located block, the mode of the time domain block may be the cross-component prediction mode of the time domain block, the mode of the default block may be the cross-component prediction mode of the default block, and the mode of the candidate block may be the cross-component prediction mode of the candidate block.
[0227] Optionally, when performing geometric partitioning processing on the current block, the default mode may be the geometric partitioning mode, the mode of the neighbor block may be the geometric partitioning mode of the neighbor block, the mode of the non-neighbor block may be the geometric partitioning mode of the non-neighbor block, the mode of the co-located block may be the geometric partitioning mode of the co-located block, the mode of the time domain block may be the geometric partitioning mode of the time domain block, the mode of the default block may be the geometric partitioning mode of the default block, and the mode of the candidate block may be the geometric partitioning mode of the candidate block.
[0228] Optionally, when performing spatial geometric division processing on the current block, the default mode may be the spatial geometric division mode, the mode of the neighbor block may be the spatial geometric division mode of the neighbor block, the mode of the non-neighbor block may be the spatial geometric division mode of the non-neighbor block, the mode of the co-located block may be the spatial geometric division mode of the co-located block, the mode of the time domain block may be the spatial geometric division mode of the time domain block, the mode of the default block may be the spatial geometric division mode of the default block, and the mode of the candidate block may be the spatial geometric division mode of the candidate block.
[0229] Optionally, when performing block division processing on the current block, the default mode can be the block division mode, the mode of the neighbor block can be the block division mode of the neighbor block, the mode of the non-neighbor block can be the block division mode of the non-neighbor block, the mode of the co-located block can be the block division mode of the co-located block, the mode of the time domain block can be the block division mode of the time domain block, the mode of the default block can be the block division mode of the default block, and the mode of the candidate block can be the block division mode of the candidate block.
[0230] Optionally, determining or obtaining a most probable mode list including at least one candidate mode according to the characteristics of the current block includes: determining or obtaining at least one list construction rule according to the characteristics of the current block, and determining or obtaining the most probable mode list according to the at least one list construction rule.
[0231] Optionally, the features of the current block are different, and the corresponding list construction rules are different.
[0232] Optionally, a correspondence between the features of the current block and at least one list construction rule can be established in advance. After the actual features of the current block are collected, at least one list construction rule can be determined or obtained based on the correspondence, and then the most likely pattern list can be constructed based on the at least one list construction rule to determine or obtain the most likely pattern list.
[0233] Optionally, the features of the current block are different, and the corresponding list construction rules may be different. For example, when the features of the current block include feature 1, the list construction rules may include list construction rule 1, and when the features of the current block include feature 2, the list construction rules may include list construction rule 2.
[0234] Optionally, the features of the current block are different, and the number of corresponding list construction rules may be different.
[0235] Optionally, the features of the current block are different, and the types of corresponding list construction rules are different.
[0236] Optionally, the features of the current block are different, and the content of the corresponding list construction rule is different.
[0237] For example, if the current block is a smooth area (such as the sky or background), the reliance on the Planar mode can be reduced, and the DIMD (Decoder-side Intra Mode Derivation) mode or other modes suitable for smooth areas can be given priority.
[0238] Optionally, if the current block has areas with complex textures (such as edges or densely textured areas), more modes of non-adjacent blocks (such as non-neighboring blocks) or weights of DIMD Blend Modes can be added. That is, the textures of the current block are different, and the corresponding list construction rules are different.
[0239] Optionally, the weights of DIMD Blend Modes can be dynamically adjusted based on the mode distribution and texture characteristics of neighboring blocks, non-neighboring blocks, etc., to make them more suitable for the dynamic characteristics of the current block.
[0240] Optionally, the length of the most probable pattern list may be dynamically adjusted according to the size of the current block, such as using more patterns for larger blocks and using fewer patterns for smaller blocks.
[0241] Optionally, the number of candidate modes may be dynamically adjusted according to the complexity of the block content of the current block, with more candidate modes used in complex areas and fewer candidate modes used in simple areas.
[0242] Optionally, the content of the default mode may be dynamically adjusted according to the block mode of the current block or the mode of neighboring blocks.
[0243] Optionally, a new default mode may be generated by combining the adjacent block mode and the DIMD mode to adapt to different video contents and scenes.
[0244] Optionally, after determining or obtaining at least one list construction rule based on the characteristics of the current block, candidate modes of the current block may be obtained, and a most probable mode list including at least one candidate mode may be constructed based on the at least one list construction rule.
[0245] Through the technical solution of this embodiment, the list construction rules for the most probable pattern list are determined or obtained based on the characteristics of the current block. That is, different characteristics of the current block correspond to different list construction rules, thereby resulting in different constructed most probable pattern lists. Because the most probable pattern list comprehensively considers the characteristics of the current block before construction, the accuracy of the most probable pattern list for the current block can be improved. It also allows the most probable pattern list to be used to obtain a target mode closely associated with the current block, thereby improving the accuracy of block processing and / or reducing signaling consumption.
[0246] Fifth embodiment
[0247] Based on any of the above embodiments, a fifth embodiment is proposed.
[0248] In this embodiment, determining or obtaining at least one list construction rule according to the characteristics of the current block includes the following method eight and / or method nine:
[0249] Method eight, if the feature of the current block satisfies the first condition, determining at least one list construction rule as the first list construction rule;
[0250] Optionally, the first condition may be a condition set in advance.
[0251] Optionally, the first condition may be set based on any feature of the current block.
[0252] Optionally, when constructing the most probable pattern list for the current block, the characteristics of the current block can be detected, and when it is determined that the characteristics of the current block meet the first condition, at least one list construction rule is selected from at least one list construction rule set in advance as the first list construction rule, and the most probable pattern list is constructed according to the first list construction rule.
[0253] Optionally, for the same type of list construction rules, at least one list construction rule can be selected as the first list construction rule based on the characteristics of the current block, and the most probable mode list can be determined or obtained based on the first list construction rule, and the current block can be processed based on the most probable mode list.
[0254] Through the technical solution of this embodiment, the construction of the most probable pattern list can be closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is determined to be the first list construction rule, which can improve the accuracy of the most probable pattern list constructed according to the first list construction rule in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0255] Optionally, the feature of the current block satisfies the first condition, which may include at least one of the following:
[0256] a size parameter of at least one of the current block, the neighbor block, the non-neighbor block, the time-domain block, the cross-component block, the default block, and the candidate block matches a size parameter threshold or a size parameter range;
[0257] The pixel feature of at least one of the reference template, neighbor block, non-neighbor block, co-located block, temporal block, cross-component block, default block, and candidate block of the current block matches the pixel feature threshold or the pixel feature range;
[0258] The similarity between the reference template of the current block and at least one of neighbor pixels, non-neighbor pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels is matched with a similarity threshold or a similarity interval;
[0259] The number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks matches the number or number interval;
[0260] The mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block includes a mode.
[0261] Optionally, satisfying the first condition may specifically include at least one of the following methods 10 to 14:
[0262] Method 10: If a size parameter of at least one of the current block, the neighboring block, the non-neighboring block, the time-domain block, the cross-component block, the default block, and the candidate block matches a preset size parameter threshold or a preset size parameter range, then it is determined that the feature of the current block meets the first condition;
[0263] Optionally, the preset size parameter threshold may be a size parameter threshold set in advance, such as a pre-set width, height, aspect ratio, block size, block area, etc.
[0264] Optionally, the preset size parameter range may be a size parameter range set in advance, such as a width range, a height range, an aspect ratio range, a block size range, a block area range, etc. set in advance.
[0265] Optionally, for the current block, when constructing the most probable mode list, an appropriate list construction rule can be selected to construct the most probable mode list based on the size parameters of at least one of the current block, neighbor block, non-neighbor block, time domain block, cross-component block, default block and candidate block.
[0266] Optionally, if size parameters of at least one of the current block, neighbor block, non-neighbor block, time domain block, cross-component block, default block and candidate block are different, their corresponding list construction rules may be different or the same.
[0267] Optionally, if the width of at least one of the current block, neighbor block, non-neighbor block, time domain block, cross-component block, default block and candidate block is greater than or less than the preset width, or the width is within the preset width range, or the height is greater than or less than the preset height, or the height is within the preset height range, or the aspect ratio is greater than or less than the preset aspect ratio, or the aspect ratio is within the preset aspect ratio range, or the block size is greater than or less than the preset block size, or the block size is within the preset block size range, or the block area is greater than or less than the preset block area, or is within the preset block area range, then it can be determined that the size parameter of at least one of the current block, neighbor block, non-neighbor block, time domain block, cross-component block, default block and candidate block matches the preset size parameter threshold or the predicted size parameter range, and it can be determined that the feature of the current block meets the first condition.
[0268] Alternatively, the following example uses the ratio of width to height of a block as a size parameter:
[0269] For example, the width of the block in Figure 7 is 32 and the height is 32, so the aspect ratio is 1:1;
[0270] For example, the width of the block in Figure 8 is 32 and the height is 64, so the aspect ratio is 1:2;
[0271] For example, the width of the block in FIG9 is 64 and the height is 32, so the aspect ratio is 2:1.
[0272] Optionally, since the width-to-height ratios of these three blocks are different, the corresponding most similar blocks are also different. For example, the most similar block of the block in Figure 8 may be located to the left of the current block, and the most similar block of the block in Figure 9 may be located above the current block. Therefore, different list construction rules can be used for these three blocks to construct the most likely pattern list.
[0273] Through the technical solution of this embodiment, it can be ensured that the most probable mode list is closely associated with the current block, and when the size parameter of at least one of the current block, neighboring block, non-neighboring block, time domain block, cross-component block, default block and candidate block matches the preset size parameter threshold or the preset size parameter range, it is determined that the characteristics of the current block meet the first condition, and then at least one list construction rule is determined to be the first list construction rule, and then the most probable mode list is constructed according to the list construction rule. This can improve the accuracy of the most probable mode list constructed according to the first list construction rule in the current block, and also enable the target mode closely associated with the current block to be obtained according to the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0274] Method eleven: If the pixel feature of at least one of the reference template, neighbor block, non-neighbor block, co-located block, temporal block, cross-component block, default block, and candidate block of the current block matches a preset pixel feature threshold or a preset pixel feature range, then it is determined that the feature of the current block meets the first condition;
[0275] Optionally, the pixel feature may refer to the above embodiment, and may be the texture of the block, the degree of texture transformation of the block, or the pixel value.
[0276] Optionally, the preset pixel feature threshold may be a pixel feature threshold set in advance, such as a texture of a block set in advance, a pixel type set in advance, a pixel value set in advance, and the like.
[0277] Optionally, the preset pixel feature range may be a pre-set pixel feature range, such as a pre-set block texture range, a pre-set pixel type range, a pre-set pixel value range, etc.
[0278] Optionally, when constructing the most probable mode list for the current block, an appropriate list construction rule may be selected based on pixel features of at least one of the current block's reference template, neighbor block, non-neighbor block, co-located block, temporal block, cross-component block, default block, and candidate block to construct the most probable mode list. Furthermore, if the pixel features of at least one of the current block's reference template, neighbor block, non-neighbor block, co-located block, temporal block, cross-component block, default block, and candidate block are different, the corresponding list construction rules may be different or the same.
[0279] Optionally, the reference template of the current block can be approximated as the pixel of the current block, and pixel feature collection can be performed for any one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block, and when it is detected that the collected pixel feature is greater than or less than a preset pixel feature threshold, it is determined that the collected pixel feature matches the preset pixel feature threshold, or when it is detected that the collected pixel feature is within a preset pixel feature range, it can be determined that the collected pixel feature matches the preset pixel feature range, and then it is determined that the feature of the current block meets the first condition.
[0280] For example, if the preset pixel feature threshold is that the texture of the block is balanced.
[0281] Optionally, if the texture of at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block is balanced, it can be determined that the feature of the current block meets the first condition.
[0282] Optionally, if at least one of the block's reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block is sharp, it can be determined that the feature of the current block does not meet the first condition.
[0283] Optionally, when the texture features of two blocks are different, it means that the modes adapted by the two blocks are different, so different construction methods can be used to construct the most probable mode list.
[0284] For example, as shown in Figures 10 and 11, there are two image blocks with different textures. The texture of the image block in Figure 10 changes quickly, while the texture of the image block in Figure 11 changes slowly.
[0285] Optionally, the pixel texture transformation speed of the block can be calculated according to the following method a and / or method b:
[0286] Method a, pixel gradient method;
[0287] Optionally, the pixel gradient represents the rate of change of pixel value in space.
[0288] Optionally, in an image or block, the larger the gradient of a pixel, the greater the difference between it and the surrounding pixels, the faster the pixel changes, that is, the faster the pixel texture changes; conversely, the smaller the gradient, the slower the pixel changes, that is, the slower the pixel texture changes.
[0289] Optionally, a pre-set pixel gradient algorithm may be used to calculate the pixel gradient of at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block.
[0290] Optionally, the pixel gradient algorithm may be performed using a Sobel operator, a Prewitt operator, a Laplacian operator, etc. The following only uses the Sobel operator as an example.
[0291] Optionally, if there is an image block I(x, y), the gradient in the horizontal direction x is G x and the gradient G in the vertical direction y y , the corresponding calculation formula can refer to the following formula 1 and formula 2:
[0292] Represents the convolution operation, which can be achieved by Calculate the magnitude of the gradient, which indicates how fast the pixel changes at that point.
[0293] Optionally, the pixel gradient amplitude calculation can be performed on at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block to determine the speed of the corresponding pixel texture transformation.
[0294] Method b, pixel variance method.
[0295] Alternatively, variance can measure the degree of dispersion in a set of data.
[0296] Optionally, in an image block, a larger variance of pixel values indicates a larger difference between pixel values, a relatively faster pixel change, and a faster pixel texture transformation; and / or, a smaller variance of pixel values indicates a smaller difference between pixel values, a relatively slower pixel change, and a slower pixel texture transformation.
[0297] Optionally, if the image block has n pixels, the pixel values are x1…x n , whose mean is The variance is Optionally, n is a positive integer.
[0298] Optionally, pixel variance may be calculated for at least one of the reference template, neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block of the current block, and the speed of pixel texture transformation may be determined based on the calculation result.
[0299] Through the technical solution of this embodiment, it can be ensured that the most probable mode list is closely related to the current block, and when the pixel features of at least one of the reference template, neighbor block, non-neighbor block, time domain block, cross-component block, default block and candidate block of the current block match the preset pixel feature threshold or the preset pixel feature range, it is determined that the features of the current block meet the first condition, and then at least one list construction rule is determined to be the first list construction rule, and then the most probable mode list is constructed according to the list construction rule. This can improve the accuracy of the most probable mode list constructed according to the first list construction rule in the current block, and also enable the target mode closely related to the current block to be obtained according to the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0300] Mode 12: If the similarity between the reference template of the current block and at least one of the neighboring pixels, non-neighboring pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels matches a preset similarity threshold or a preset similarity interval, then it is determined that the feature of the current block meets the first condition;
[0301] Optionally, the preset similarity threshold may be a similarity threshold set in advance.
[0302] Optionally, the preset similarity interval may be a similarity interval set in advance, including at least one similarity.
[0303] Optionally, when constructing the most probable mode list for the current block, an appropriate list construction rule may be selected based on the similarity between the current block's reference template and at least one of neighboring pixels, non-neighboring pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels to construct the most probable mode list. Different similarities may correspond to different list construction rules.
[0304] Optionally, the reference template of the current block can be used to approximate the reference block, and the similarity between the reference template of the current block and at least one of the neighboring pixels, non-neighboring pixels, co-located block pixels, time domain block pixels, cross-component block pixels, default block pixels and candidate block pixels can be determined through a similarity calculation function set in advance, and when the similarity is greater than or less than a preset similarity threshold, or the similarity is within a preset similarity interval, it is determined that the similarity matches the preset similarity threshold or the preset similarity interval, and then it is determined that the feature of the current block meets the first condition.
[0305] Optionally, a construction rule for constructing the most probable pattern list may be determined or obtained based on the reference template of the current block and the reference order of the neighboring blocks.
[0306] Optionally, as shown in FIG12 , the reference template of the current block may be determined or obtained by at least one neighboring block pixel, for example, by directly using at least one adjacent pixel or other component pixel as the reference template.
[0307] Optionally, the reference template of the current block and the pixels of the neighboring block (i.e., neighboring pixels) can be input into a similarity calculation module to perform similarity calculation, and it can be detected whether the calculated similarity is in the first interval. If so, the DIMD mode can be obtained, the DIMD algorithm can be executed, at least one mode can be obtained, and subsequent mode merging processing can be performed; and / or, if not, the default mode can be obtained for subsequent mode merging processing.
[0308] Optionally, when performing pattern merging processing, the DIMD mode or the default mode can be merged with other modes obtained by other modules to obtain a candidate pattern set. Optionally, if the candidate pattern set has 5 candidate patterns, the SAD can be calculated for the 5 candidate patterns (i.e., cost calculation is performed) to obtain 5 SAD values for the 5 patterns, namely: LM_CHROMA(CCLM)=23043, MMLM_CHROMA(CCCM)=132454, MDLM_L(CCLM)=13232, MMLM_CHROMA(CCLM)=433433, MDLM_T(GL-CCCM)=54545.
[0309] Optionally, these five SAD values can be sorted by SAD, for example, sorting them in ascending order of SAD value to obtain a most likely mode list (such as the candidate mode list in the figure). The most likely mode list includes MDLM_L (CCLM), LM_CHROMA (CCLM), MDLM_T (GL-CCCM), MMLM_CHROMA (CCCM), and MMLM_CHROMA (CCLM).
[0310] Optionally, the higher-ranked modes are represented using fewer bits to increase the coding rate.
[0311] Through the technical solution of this embodiment, it is possible to ensure that the most probable mode list is closely associated with the current block, and when the similarity between the reference template of the current block and at least one of the neighboring pixels, non-neighboring pixels, co-located block pixels, time-domain block pixels, cross-component block pixels, default block pixels and candidate block pixels matches a preset similarity threshold or a preset similarity interval, it is determined that the characteristics of the current block meet the first condition, and then at least one list construction rule is determined to be the first list construction rule, and then the most probable mode list is constructed according to the list construction rule. This can improve the accuracy of the most probable mode list constructed according to the first list construction rule in the current block, and also enable the target mode closely associated with the current block to be obtained according to the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0312] Mode 13: If the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time-domain blocks, cross-component blocks, default blocks, and candidate blocks matches a preset number or a preset number range, then it is determined that the feature of the current block meets the first condition;
[0313] Optionally, for the current block, when constructing the most probable mode list, an appropriate list construction rule can be selected to construct the most probable mode list based on the number of at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks corresponding to the current block.
[0314] Optionally, the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks is different, and the corresponding list construction rules may be different or the same.
[0315] Optionally, a quantity statistics can be performed on at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks corresponding to the current block. If the statistical quantity is greater than or less than a preset quantity, or the statistical quantity is within a preset quantity range, it can be determined that the statistical quantity matches the preset quantity or the preset quantity range, and then it is determined that the characteristics of the current block meet the first condition.
[0316] Optionally, the following example illustrates that the number of neighbor blocks is different and the corresponding list construction rules are different: as shown in FIG13 , the current block has 7 neighbor blocks, and as shown in FIG14 , the current block has 2 neighbor blocks. It can be clearly seen that the number of neighbor blocks corresponding to the two current blocks in FIG13 and FIG14 is different, and the blank image block in FIG13 and FIG14 is the current block.
[0317] Optionally, the different numbers of neighboring blocks between the two blocks may represent different pixel texture regularities of their corresponding neighboring blocks, which may represent that the texture of the current block is very different, and the applicable modes may be very different. That is, the current block in Figure 13 and the current block in Figure 14 can respectively adopt different list construction rules to construct their respective corresponding most likely mode lists.
[0318] Optionally, the current block in FIG13 may adopt the first list construction rule to determine or obtain the most probable mode list, and the current block in FIG14 may adopt the second list construction rule to determine or obtain the most probable mode list.
[0319] Optionally, the current block in FIG13 may adopt the second list construction rule to determine or obtain the most probable mode list, and the current block in FIG14 may adopt the first list construction rule to determine or obtain the most probable mode list.
[0320] Through the technical solution of this embodiment, it can be ensured that the most probable mode list is closely related to the current block, and when the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks matches a preset number or a preset number range, it is determined that the characteristics of the current block meet the first condition, and then at least one list construction rule is determined to be the first list construction rule, and then the most probable mode list is constructed according to the list construction rule. This can improve the accuracy of the most probable mode list constructed according to the first list construction rule in the current block, and also enable the target mode closely related to the current block to be obtained according to the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0321] Mode 14: If the pattern of at least one of the neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block includes a preset pattern, it is determined that the feature of the current block meets the first condition.
[0322] Optionally, the preset mode may be any mode set in advance. Optionally, different encoding and decoding stages correspond to different preset modes.
[0323] Optionally, when performing inter-frame prediction processing on the current block, the preset mode can be an inter-frame prediction mode set in advance, for example, at least one inter-frame prediction mode of at least one of a neighboring block, a non-neighboring block, a co-located block, a time domain block, a cross-component block, a default block and a candidate block can be selected as the preset mode.
[0324] Optionally, when performing inter-frame block vector processing on the current block, at least one inter-frame block vector mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block and a candidate block can be selected as a preset mode.
[0325] Optionally, when performing intra-frame block vector processing on the current block, at least one intra-frame block vector mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block and a candidate block can be selected as a preset mode.
[0326] Optionally, when performing inter-frame division on the current block, at least one of the inter-frame division methods of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be selected as a preset mode.
[0327] Optionally, when performing cross-component prediction on the current block, at least one cross-component prediction mode of at least one of neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be selected as a preset mode.
[0328] Optionally, when geometrically dividing the current block, at least one geometric division mode of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be selected as a preset mode.
[0329] Optionally, when performing spatial geometric division on the current block, at least one of the spatial geometric division modes of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be selected as a preset mode.
[0330] Optionally, when dividing the current block, at least one of the block division methods of neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block can be selected as the preset mode.
[0331] Optionally, when constructing the most probable pattern list for the current block, the pattern of at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be collected, and it can be checked whether the collected patterns include preset patterns. If so, it can be determined that the characteristics of the current block meet the first condition, and then at least one list construction rule can be determined to be the first list construction rule, and the most probable pattern list can be constructed according to the first list construction rule, and then the most probable pattern list is used to process the current block.
[0332] Through the technical solution of this embodiment, it can be ensured that the most probable mode list is closely related to the current block, and when the mode of at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks matches the preset mode, it is determined that the characteristics of the current block meet the first condition, and then at least one list construction rule is determined to be the first list construction rule, and then the most probable mode list is constructed according to the list construction rule. This can improve the accuracy of the most probable mode list constructed according to the first list construction rule in the current block, and also enable the target mode closely related to the current block to be obtained according to the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0333] Method nine: if the feature of the current block does not satisfy the first condition, then determine at least one list construction rule as the second list construction rule.
[0334] Optionally, when constructing the most probable pattern list of the current block, the characteristics of the current block can be detected, and when it is determined that the characteristics of the current block do not meet the first condition, at least one list construction rule can be selected as the second list construction rule from the at least one list construction rule set for extraction, and the most probable pattern list can be constructed according to the second list construction rule.
[0335] Optionally, in the scenario where the feature of the current block does not satisfy the first condition, at least one of the following methods 1 to 5 may be included:
[0336] Mode 1: If a size parameter of at least one of the current block, the neighboring block, the non-neighboring block, the time-domain block, the cross-component block, the default block, and the candidate block does not match a preset size parameter threshold or a preset size parameter range, it is determined that the feature of the current block does not meet the first condition;
[0337] Mode 2: If the pixel feature of at least one of the reference template, neighbor block, non-neighbor block, co-located block, temporal block, cross-component block, default block, and candidate block of the current block does not match a preset pixel feature threshold or a preset pixel feature range, it is determined that the feature of the current block does not meet the first condition;
[0338] Mode 3: If the similarity between the reference template of the current block and at least one of the neighboring pixels, non-neighboring pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels does not match a preset similarity threshold or a preset similarity interval, it is determined that the feature of the current block does not meet the first condition;
[0339] Mode 4: If the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks does not match a preset number or a preset number range, it is determined that the feature of the current block does not meet the first condition;
[0340] Mode 5: If the pattern of at least one of the neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block does not include a preset pattern, it is determined that the feature of the current block does not meet the first condition.
[0341] Optionally, when constructing the most probable pattern list for the current block, at least one different first condition may be set.
[0342] Optionally, if some features of the current block meet some of the first conditions, and some features of the current block do not meet some of the conditions, the most likely pattern list can be determined or obtained based on at least one first list construction rule and at least one second list construction rule. For example, when constructing the most likely pattern list, at least one first list construction rule and at least one second list construction rule are used to construct it, and the most likely pattern list is obtained, and then the current block is processed according to the most likely pattern list.
[0343] Optionally, if the characteristics of the current block meet all the first conditions, the most likely pattern list can be determined or obtained according to at least one first list construction rule, such as using at least one first list construction rule to construct the most likely pattern list, and then processing the current block according to the constructed most likely pattern list.
[0344] Optionally, if the characteristics of the current block do not meet any of the first conditions, the most likely pattern list can be determined or obtained based on at least one second list construction rule, such as using at least one second list construction rule to construct the most likely pattern list, and then processing the current block based on the constructed most likely pattern list.
[0345] Optionally, as shown in FIG15 , if the current block CU and its neighboring blocks are known, the current block information and / or the neighboring block information may be input into a feature extraction module for feature extraction to obtain features of the current block.
[0346] Optionally, the current block information and / or the neighbor block information may include pixels of the neighbor block, etc.
[0347] Optionally, the selector module in Figure 15 can select the switch to different list construction rules (such as list construction 1, list construction i and list construction n, etc.) according to the characteristics of the current block, so as to construct the most likely pattern list according to different list construction rules.
[0348] Through the technical solution of this embodiment, the construction of the most probable pattern list can be closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is determined to be the second list construction rule, which can improve the accuracy of the most probable pattern list constructed according to the second list construction rule in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0349] Sixth embodiment
[0350] Based on any of the above embodiments, a sixth embodiment is proposed.
[0351] In this embodiment, the first list construction rule includes at least one of the following modes 15 to 22:
[0352] Mode 15, the length of the most probable pattern list is the first length;
[0353] Optionally, the first length may be any length set in advance and is not limited here.
[0354] Optionally, the length of the most probable pattern list may be limited, such as 6 at the first level and 16 at the second level.
[0355] Optionally, if it is necessary to construct a most probable mode list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet at least one scenario condition of Method 10 to Method 14, the first list construction rule can be used to construct the most probable mode list with the length of the most probable mode list being the first length, and after determining that the most probable mode list is obtained, the current block can be processed according to the most probable mode list, such as predicting or dividing the current block.
[0356] Through the technical solution of this embodiment, it can be ensured that the length of the most probable pattern list is closely related to the characteristics of the current block. When the characteristics of the current block meet the first condition, the first list construction rule for constructing the most probable pattern list includes the length of the most probable pattern list being the first length, so that the accuracy of processing the current block according to the most probable pattern list is guaranteed, and / or the signaling consumption is reduced.
[0357] Mode 16: The default mode is located at a preset list position in the most probable mode list;
[0358] Optionally, the default mode may be a mode set in advance, which may be at least one of a neighbor block mode, a non-neighbor block mode, a co-located block mode, a time domain block mode, a default block mode, and a candidate block mode.
[0359] Optionally, the default mode can also be set based on user needs, and different modes can be set as default modes in different encoding and decoding stages, such as inter-frame prediction mode, intra-frame block vector mode, inter-frame block vector mode, inter-frame partitioning mode, cross-component prediction mode, geometric partitioning mode, spatial geometric partitioning mode and / or block partitioning mode.
[0360] Optionally, the preset list position may be a list position set in advance based on user needs, such as the head list position (ie, the first position) of the most probable pattern list.
[0361] Optionally, if it is necessary to construct a most probable mode list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet the scenario conditions of at least one of methods 10 to 14, at least one of methods 15 to 16 can be used as the first list construction rule, and the most probable mode list can be constructed according to the first list construction rule. For example, the first list construction rule is used to construct the most probable mode list with the default mode located at a preset list position in the most probable mode list.
[0362] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to sixteen, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0363] Method 17: determining or obtaining a position of the at least one candidate mode in the most probable mode list by calculating the cost of the at least one candidate mode according to the first cost function;
[0364] Optionally, the first cost function can be a cost function set in advance, such as SAD (Sum of Absolute Differences), SATD (Sum of Transformed Absolute Differences), MRSAD (Mean Removal SAD), MRSATD (Mean-Removed Sum of Absolute Transformed Differences), etc.
[0365] Optionally, a first cost function may be used to perform cost calculation on at least one candidate mode to obtain a calculated cost, which is used as a calculation result.
[0366] Optionally, when calculating the cost of at least one candidate mode, the SAD method can be used for calculation. For example, SAD = Sum|Org-Pred| can be used for calculation, where Pred is the predicted block, Org is the original block, and Sum|| is the sum of the absolute values of all values. For example, the absolute value of the difference between the pixel values at the same position in the original block and the predicted block is first determined, and then the sum of the absolute values corresponding to all positions in the original block and the predicted block is calculated.
[0367] Optionally, if it is necessary to construct a most probable pattern list for the current block, when it can be determined that the characteristics of the current block meet the scenario conditions of at least one of methods 10 to 14, at least one of methods 15 to 17 can be used as the first list construction rule, and the most probable pattern list can be constructed according to the first list construction rule.
[0368] For example, the most probable pattern list can be constructed using the first list construction rule as method seventeen, which can be to calculate the cost of at least one candidate pattern according to the first cost function, and then sort the costs in ascending order according to the calculation results (i.e., costs) of at least one candidate pattern, and determine the position of at least one candidate pattern in the most probable pattern list according to the sorting results, for example, the candidate pattern ranked first is at the first place in the most probable pattern list.
[0369] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to seventeen, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0370] Mode 18: Scan at least one of at least one neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block, and candidate block according to the first order, and determine or obtain a most probable mode list according to the scanning result;
[0371] Optionally, the first order may be a scanning order set in advance, for example, when scanning neighboring blocks, the neighboring blocks above the current block are scanned first.
[0372] Optionally, taking neighbor blocks as an example, the center distances from the centers of all neighbor blocks to the center of the current block can be calculated, and all center distances can be arranged in order from small to large to obtain the order of neighbor blocks. The order of these neighbor blocks can be used as the first order.
[0373] Optionally, the first order corresponding to the neighboring blocks, the first order corresponding to the non-neighboring blocks, the first order corresponding to the co-located blocks, the first order corresponding to the time domain blocks, the first order corresponding to the cross-component blocks and the first order corresponding to the candidate blocks may be the same or different, or may be partially the same and partially different.
[0374] Optionally, the scanning result may include at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block scanned in the first order.
[0375] Optionally, at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block, and a candidate block may be scanned in a first order to obtain a scanning result.
[0376] Optionally, based on the scanning results, a corresponding pattern can be obtained in at least one scanned neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and / or candidate block, and the most likely pattern list can be determined or obtained based on the obtained pattern.
[0377] Optionally, at least one of the patterns of at least one scanned neighbor block, at least one non-neighbor block, at least one co-located block, at least one time domain block, at least one cross-component block, at least one default block, and at least one candidate block can be obtained, and a cost calculation can be performed. The position of each pattern in the most probable pattern list is determined based on the cost calculation result, for example, the pattern with the lowest cost is sorted at the first place in the most probable pattern list.
[0378] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet the scenario conditions of at least one of Methods 10 to 14, at least one of Methods 15 to 18 can be used as the first list construction rule, and the most probable pattern list can be constructed according to the first list construction rule.
[0379] Optionally, the order of selecting neighbor blocks can be determined according to the block size. As shown in Figure 16, there is a current block (i.e., CU) and 7 neighbor blocks (i.e., AL, A, AR, L1, L2, L3 and BL). Optionally, the width and height of the current block can be input into the selector module as shown in Figure 16. The selector module executes different list construction methods according to the input width and height, that is, the switch of the selector module will select different neighbor scanning orders.
[0380] Optionally, when width:height>1, that is, the width is greater than the height, the neighbor block closest to the current block is the block above, then the block on the left, and so on. According to the nearest most similar principle, the scanning order of the neighbor blocks A, L1, L3, AL, and AR can be obtained, and they are executed as the neighbor scanning order 1. Then, the module for extracting the block pattern is scanned according to the neighbor scanning order 1 to obtain the mode of at least one neighbor block, such as the angle prediction mode, and the mode of the scanned at least one neighbor block can be cost calculated and sorted to obtain the most likely mode list.
[0381] Optionally, when width:height=1, that is, the width is equal to the height, the neighbor blocks closest to the current block are the block above and the block on the left, followed by the upper left, lower left and upper right blocks, etc. According to the nearest most similar principle, the scanning order of the neighbor blocks L3, L1, A, AR, AL can be obtained, and it is executed as the neighbor scanning order 2. Then, the module for extracting the block pattern is scanned according to the neighbor scanning order 2 to obtain the mode of at least one neighbor block, such as the angle prediction mode, and the mode of the scanned at least one neighbor block can be cost calculated and sorted to obtain the most likely mode list.
[0382] Optionally, when width:height < 1, that is, the width is smaller than the height, the neighbor block closest to the current block is the block on the left, then the block above, and so on. According to the nearest most similar principle, the scanning order of the neighbor blocks L1, L3, L2, A, and AR can be obtained and executed as the neighbor scanning order 3. Then, the module for extracting the block pattern is scanned according to the neighbor scanning order 3 to obtain the mode of at least one neighbor block, such as the angle prediction mode, and the mode of the scanned at least one neighbor block can be cost calculated and sorted to obtain the most likely mode list.
[0383] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to eighteen, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0384] Mode 19: determining or obtaining a most probable mode list based on the selected first number of neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks;
[0385] Optionally, the first number may be a number of blocks set in advance.
[0386] Optionally, at least two of the first number corresponding to neighbor blocks, the first number corresponding to non-neighbor blocks, the first number corresponding to co-located blocks, the first number corresponding to time domain blocks, the first number corresponding to cross-component blocks, the first number corresponding to default blocks, and the first number corresponding to candidate blocks may be the same or different.
[0387] Optionally, corresponding patterns can be obtained based on at least one of the selected first number of neighbor blocks, the first number of non-neighbor blocks, the first number of co-located blocks, the first number of time domain blocks, the first number of cross-component blocks, the first number of default blocks and the first number of candidate blocks, such as patterns of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks, and the most likely pattern list can be determined or obtained based on the obtained patterns.
[0388] Optionally, a cost calculation may be performed on the obtained patterns, and the position of each pattern in the most probable pattern list may be determined based on the cost calculation result, for example, the pattern with the smallest cost may be ranked first in the most probable pattern list.
[0389] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to nineteen, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0390] Mode 20: Determine or obtain a most probable mode list based on at least one neighbor block, and / or non-neighbor block, and / or co-located block, and / or time domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to the first distance;
[0391] Optionally, the first distance may be a distance set in advance, such as a pixel distance.
[0392] Optionally, the first distance may be determined or obtained according to a distance function set in advance. Optionally, the distance function may be a deformation of the pixel distance, such as the square of the pixel distance.
[0393] For example, if you need to calculate the distance from pixel 1 (x0, y0) to pixel 2 (x1, y1), you can use the distance function to calculate, that is, according to (x0-x1) 2 +(y0-y1) 2 Calculate the distance from pixel 1 to pixel 2.
[0394] Optionally, taking neighbor blocks as an example, the distance from at least one pixel in the neighbor block to at least one pixel in the reference template of the current block can be calculated according to a distance function, and used as the distance from the neighbor block to the current block. Neighbor blocks can be selected based on the distance, such as selecting the first five neighbor blocks closest to each other, to determine or obtain a list of most likely patterns.
[0395] Optionally, at least two of the first distance corresponding to the neighboring block, the first distance corresponding to the non-neighboring block, the first distance corresponding to the co-located block, the first distance corresponding to the time domain block, the first distance corresponding to the cross-component block, the first distance corresponding to the default block and the first distance corresponding to the candidate block may be the same or different.
[0396] Optionally, a corresponding pattern can be obtained from at least one neighbor block, at least one non-neighbor block, at least one co-located block, at least one time domain block, at least one cross-component block, at least one default block and at least one candidate block selected according to the first distance, such as a pattern of at least one of the neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block, and the most likely pattern list can be determined or obtained based on the obtained pattern.
[0397] Optionally, a cost calculation may be performed on the obtained patterns, and the position of each pattern in the most probable pattern list may be determined based on the cost calculation result, for example, the pattern with the smallest cost may be ranked first in the most probable pattern list.
[0398] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet the scenario conditions of at least one of methods 10 to 14, at least one of methods 15 to 20 can be used as the first list construction rule, and the most probable pattern list can be constructed according to the first list construction rule.
[0399] Through the technical solution of this embodiment, the construction of the most probable pattern list can be closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to twenty, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0400] Method 21: using blocks within the first range as neighboring blocks, and determining or obtaining a most probable pattern list based on at least one neighboring block;
[0401] Optionally, the first range may be a pixel range set in advance, and there is at least one block within the first range.
[0402] Optionally, in the prediction stage, the first range may be determined among the reconstructed or predicted pixels above the current block, the reconstructed or predicted pixels to the left, and the reconstructed or predicted pixels above and to the left of the current block.
[0403] Optionally, when determining the neighboring blocks of the current block, the blocks within the first range from the current block starting from the current block can be regarded as neighboring blocks, and the mode of the neighboring blocks can be determined. The most likely mode list can be determined or obtained based on the mode of the neighboring blocks, for example, the most likely mode list includes the mode of the neighboring blocks.
[0404] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet the scenario conditions of at least one of methods 10 to 14, at least one of methods 15 to 21 can be used as the first list construction rule, and the most probable pattern list can be constructed according to the first list construction rule.
[0405] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to twenty-one, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0406] Method 22: Determine or obtain the most likely pattern list according to a preset sorting rule.
[0407] Optionally, the preset sorting rule may be a sorting rule set in advance, such as sorting the candidate patterns from small to large according to the cost values of the candidate patterns.
[0408] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet the scenario conditions of at least one of Methods 10 to 14, at least one of Methods 15 to 22 can be used as the first list construction rule, and the most probable pattern list can be constructed according to the first list construction rule.
[0409] Optionally, for example, if the first list construction rule is to determine or obtain the most probable mode list according to a preset sorting rule, then after obtaining the candidate modes of the current block, the candidate modes can be sorted according to the preset sorting rule to determine or obtain the most probable mode list.
[0410] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods fifteen to twenty-two, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0411] Seventh embodiment
[0412] The seventh embodiment is proposed based on any one of the first to sixth embodiments.
[0413] In this embodiment, the second list construction rule includes at least one of the following methods 23 to 31:
[0414] Mode 23, the length of the most probable pattern list is the second length;
[0415] Optionally, the second length may be a list length set in advance, optionally, different from the first length, and optionally, the number of the second lengths may be at least one.
[0416] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block meet at least one of methods 1 to 5, a second list construction rule can be used to construct the most probable pattern list with the length of the most probable pattern list being the second length, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0417] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be jointly constructed according to the first list construction rule and the second list construction rule.
[0418] Optionally, when the first list construction rule includes method 15, the second list construction rule cannot include method 23. When the first list construction rule does not include method 15 but includes at least one of methods 16 to 22, the second list construction rule includes method 23. In other words, the length of the most probable pattern list can be selected from method 15 and method 23 based on the characteristics of the current block to construct the most probable pattern list.
[0419] Through the technical solution of this embodiment, it can be ensured that the length of the most probable pattern list is closely related to the characteristics of the current block. When the characteristics of the current block do not meet the first condition, the first list construction rule for constructing the most probable pattern list may include the length of the most probable pattern list being the second length, thereby ensuring the accuracy of processing the current block according to the most probable pattern list and / or reducing signaling consumption.
[0420] Method 24, determining the position of the default mode in the most probable mode list according to a preset mode sorting rule;
[0421] Optionally, the preset pattern sorting rule may be a pre-set sorting rule, for example, the patterns may be sorted according to their costs, and may be the same as or different from the preset sorting rule.
[0422] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to twenty-four to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0423] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be jointly constructed according to the first list construction rule and the second list construction rule.
[0424] Optionally, when the first list construction rule includes method 16, the second list construction rule cannot include method 24 but may include method 23. When the first list construction rule does not include method 16 but includes at least one of methods 15 and 17 through 22, the second list construction rule includes at least one of methods 23 through 24. In other words, for the position of the default mode in the most probable mode list, one of methods 24 and 16 can be selected based on the characteristics of the current block to construct the most probable mode list.
[0425] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to twenty-four, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0426] Mode 25: determining or obtaining a position of the at least one candidate mode in the most probable mode list by calculating the cost of the at least one candidate mode according to the second cost function;
[0427] Optionally, the second cost function may be a cost function set in advance. Optionally, different from the first cost function, it may be at least one of SAD (Sum of Absolute Differences), SATD (Sum of Transformed Absolute Differences), MRSAD (Mean Removal SAD), MRSATD (Mean-Removed Sum of Absolute Transformed Differences), etc.
[0428] Optionally, a second cost function may be used to perform cost calculation on at least one candidate mode to obtain a calculated cost, which is used as the corresponding calculation result.
[0429] Optionally, the calculation results (i.e., costs) of at least one candidate pattern can be sorted in ascending order of cost, and the position of at least one candidate pattern in the most likely pattern list can be determined based on the sorting results, for example, the candidate pattern ranked first is placed first in the most likely pattern list.
[0430] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to twenty-five to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0431] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be jointly constructed according to the first list construction rule and the second list construction rule.
[0432] Optionally, when the first list construction rule includes method seventeen, the second list construction rule may not include method twenty-five, but may include at least one of methods twenty-three to twenty-four; and / or, when the first list construction rule does not include method seventeen, but includes method fifteen, method sixteen, and at least one of methods seventeen to twenty-two, the second list construction rule may include at least one of methods twenty-three to twenty-five, that is, the selection of the cost function for calculating the cost of the candidate mode can be determined based on the characteristics of the current block.
[0433] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable mode list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to twenty-five, which can improve the accuracy of the most probable mode list finally constructed in the current block, and also enable the target mode closely associated with the current block to be obtained based on the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0434] Mode 26: determining or obtaining a position of at least one candidate mode in the most probable mode list based on a result of calculating the cost of at least one candidate mode using the first cost function and the second cost function;
[0435] Optionally, the first cost function and the second cost function may be used simultaneously to calculate the cost of at least one candidate mode to obtain a corresponding calculation result, where the calculation result includes the cost of the at least one candidate mode.
[0436] Optionally, for the same candidate mode, the first cost function can be used for cost calculation, and the second cost function can be used for cost calculation, and then the cost of the candidate mode can be determined based on the calculation results of the two cost calculations, such as selecting the maximum or minimum calculation result as the cost of the candidate mode.
[0437] Optionally, the candidate patterns may be sorted according to their costs, and the position of the at least one candidate pattern in the most probable pattern list may be determined according to the sorting result.
[0438] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to twenty-six to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0439] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be jointly constructed according to the first list construction rule and the second list construction rule.
[0440] Optionally, when the first list construction rule includes method 17, the second list construction rule may not include at least one of methods 25 to 26, and may include at least one of methods 23 to 24. Optionally, when the first list construction rule does not include method 17, the second list construction rule may include at least one of methods 23 to 26.
[0441] Optionally, the selection of the cost function for calculating the cost of the candidate mode may be determined according to the characteristics of the current block.
[0442] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to twenty-six, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0443] Mode 27: Scan at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block according to the second order, and determine or obtain a most probable mode list according to the scanning result;
[0444] Optionally, the second order may be a scanning order set in advance, optionally different from the first order. For example, when scanning neighboring blocks, if the first order is to prioritize scanning neighboring blocks above the current block, the second order may be to prioritize scanning neighboring blocks to the left of the current block.
[0445] Optionally, the second orders corresponding to at least two items of the neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks may be different or the same.
[0446] Optionally, at least one of at least one neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block can be scanned according to the second order to obtain the corresponding pattern, and the most likely pattern list can be determined or obtained based on the obtained pattern.
[0447] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to twenty-seven to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0448] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be constructed jointly according to the first list construction rule and the second list construction rule.
[0449] Optionally, when the first list construction rule includes method eighteen, the second list construction rule may not include method twenty-seven, and may include at least one of methods twenty-three to twenty-six.
[0450] Optionally, when the first list construction rule does not include the eighteenth method, the second list construction rule may include at least one of the twenty-third to twenty-seventh methods.
[0451] Optionally, the scanning order of at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be determined or obtained based on the characteristics of the current block, such as when the current block meets the first condition, scanning is performed in a first order, and / or, when the current block does not meet the first condition, scanning is performed in a second order.
[0452] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to twenty-seven, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0453] Mode 28: determining or obtaining a most probable mode list according to a selected second number of neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks;
[0454] Optionally, the second number may be a number of blocks set in advance, optionally different from the first number.
[0455] Optionally, the second quantities corresponding to at least two of the neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks may be different or the same.
[0456] Optionally, a second number of selected neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks can be determined, and at least one corresponding pattern can be determined, and then the most likely pattern list can be determined or obtained based on the at least one pattern.
[0457] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to twenty-eight to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0458] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be constructed jointly according to the first list construction rule and the second list construction rule.
[0459] Optionally, when the first list construction rule includes method 19, the second list construction rule may not include method 28, but may include at least one of methods 23 to 27.
[0460] Optionally, when the first list construction rule does not include the nineteenth method, the second list construction rule may include at least one of the twenty-third to twenty-eighth methods.
[0461] Optionally, the number of selections for at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks can be determined or obtained based on the characteristics of the current block, such as when the current block meets the first condition, selection is made according to the first number, and / or, when the current block does not meet the first condition, selection is made according to the second number.
[0462] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to twenty-eight, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0463] Mode 29: Determine or obtain a most probable mode list based on at least one neighbor block, and / or non-neighbor block, and / or co-located block, and / or time domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to the second distance;
[0464] Optionally, the second distance may be a distance set in advance, such as a pixel distance, and optionally, different from the first distance.
[0465] Optionally, the second distance may be determined or obtained according to a pre-set distance function, and the distance function may be a deformation of the pixel distance, such as the square of the pixel distance.
[0466] For example, if you need to calculate the distance from pixel 1 (x0, y0) to pixel 2 (x1, y1), you can use the distance function to calculate, that is, according to (x0-x1) 2 +(y0-y1) 2 Calculate the distance from pixel 1 to pixel 2.
[0467] Optionally, taking neighbor blocks as an example, the distance from at least one pixel in the neighbor block to at least one pixel in the reference template of the current block can be calculated according to a distance function, and used as the distance from the neighbor block to the current block. Neighbor blocks can be selected based on the distance, such as selecting the first five neighbor blocks closest to each other, to determine or obtain a list of most likely patterns.
[0468] Optionally, the second distances corresponding to at least two of the neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks and candidate blocks may be different or the same.
[0469] Optionally, neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks selected based on the second distance can be determined, and at least one corresponding pattern can be determined, and then the most likely pattern list can be determined or obtained based on the at least one pattern.
[0470] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to twenty-nine to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0471] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be constructed jointly according to the first list construction rule and the second list construction rule.
[0472] Optionally, when the first list construction rule includes method 20, the second list construction rule may not include method 29, but may include at least one of methods 23 to 29.
[0473] Optionally, when the first list construction rule does not include method 20, the second list construction rule may include at least one of methods 23 to 29.
[0474] Optionally, the selection distance for at least one of a neighboring block, a non-neighboring block, a co-located block, a time domain block, a cross-component block, a default block and a candidate block can be determined or obtained based on the characteristics of the current block, for example, when the current block meets the first condition, the selection is made according to the first distance, and / or, when the current block does not meet the first condition, the selection is made according to the second distance.
[0475] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to twenty-nine, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0476] Method 30, taking blocks within the second range as neighboring blocks, and determining or obtaining a most probable pattern list based on at least one neighboring block;
[0477] Optionally, the second range may be a pixel range set in advance, optionally, there is at least one block within the second range, and optionally, the second range is different from the first range.
[0478] Optionally, when determining neighbor blocks of the current block, blocks starting from the current block and within a second range from the current block may be used as neighbor blocks, and a most probable pattern list may be determined or obtained based on the patterns of the neighbor blocks.
[0479] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods twenty-three to thirty to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0480] Optionally, if there is a feature of the current block that satisfies at least one of methods 1 to 5, and there is also a feature of the current block that satisfies at least one of methods 10 to 14, the most likely pattern list can be constructed jointly according to the first list construction rule and the second list construction rule.
[0481] Optionally, when the first list construction rule includes method 21, the second list construction rule may not include method 30, but may include at least one of methods 23 to 30.
[0482] Optionally, when the first list construction rule does not include the twenty-first method, the second list construction rule may include at least one of the twenty-third to the thirty methods.
[0483] Optionally, the selection range for at least one of the neighboring block, non-neighboring block, co-located block, time domain block, cross-component block, default block and candidate block can be determined or obtained based on the characteristics of the current block, for example, when the current block meets the first condition, the selection is made according to the first range, and / or, when the current block does not meet the first condition, the selection is made according to the second range.
[0484] Optionally, according to a preset range / distance parameter, for example, a region within 128 pixels above the current block or a region 128 pixels away from the center of the current block, all blocks within the range / distance are acquired.
[0485] Optionally, the preset range parameter may be the first range or the second range.
[0486] Optionally, the distance parameter may be the first distance or the second distance.
[0487] Optionally, all blocks within the range / distance can be scanned according to a scanning order (such as the first order, or the second order, or a preset order) until a set number, such as 6 or 22, is reached, and the patterns of the scanned blocks are used as candidate patterns, and a cost calculation is performed on at least one candidate pattern, and the patterns are sorted according to the cost calculation results to determine or obtain a most likely pattern list, which includes at least one sorted candidate pattern.
[0488] Optionally, the priorities of all blocks within the range / distance can be determined or obtained based on the size parameters (such as size or area) and position parameters (such as pixel coordinates, and the distance between the current block) of all blocks within the range / distance. For example, the closer the distance to the current block, the higher the priority of the block, or the larger the size parameter, the higher the priority of the block, etc. Then, based on the priorities of all blocks within the range / distance, all blocks within the range / distance are sorted in descending order of priority to obtain a scanning order, and the patterns of all blocks within the range / distance are obtained in sequence according to the scanning order until a set number, such as 6 or 22, is reached, and the patterns of the scanned blocks are used as candidate patterns, and a cost calculation is performed on at least one candidate pattern, and the patterns are sorted according to the cost calculation results to determine or obtain a most likely pattern list, and the most likely pattern list includes at least one sorted candidate pattern.
[0489] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to thirty, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0490] Method 31, determining or obtaining a list of most likely patterns based on a neural network.
[0491] Optionally, the neural network can be pre-configured, such as a convolutional neural network, a federated neural network, etc.
[0492] Optionally, the features of the current block can be input into a neural network, and a list of most likely patterns can be output.
[0493] Optionally, if it is necessary to construct a most probable pattern list for the current block, the characteristics of the current block can be determined, and when the characteristics of the current block satisfy at least one of methods 1 to 5, the second list construction rule can be used as at least one of methods 23 to 31 to construct the most probable pattern list, and after determining that the most probable pattern list is obtained, the current block can be processed according to the most probable pattern list.
[0494] Optionally, if the characteristics of the current block satisfy at least one of methods 1 to 5, and the characteristics of the current block satisfy at least one of methods 10 to 14, the most likely pattern list can be constructed together according to the first list construction rules and the second list construction rules.
[0495] For example, taking the prediction stage as an example of using a neural network to determine or obtain the most likely pattern list, as shown in FIG17 , in an image frame, there are blocks to be predicted, as well as adjacent blocks adjacent to the blocks to be predicted that have completed encoding and decoding, and non-adjacent non-adjacent blocks. Optionally, the neighboring blocks include adjacent blocks and non-adjacent blocks, and the non-neighboring blocks include non-adjacent blocks.
[0496] Optionally, the block to be predicted may be the current block Pred, the adjacent blocks may be TL1, T1, L1, LB1, and the non-adjacent blocks may be TL3, T2, TR2, TL2, TR1, L2, and LB2. A list with prediction mode indexes is constructed based on the prediction modes corresponding to the adjacent blocks and the prediction modes corresponding to the non-adjacent blocks. A list with reference pixel blocks is constructed based on the pixel blocks corresponding to the adjacent blocks and the pixel blocks corresponding to the non-adjacent blocks, and a neural network is introduced. Various modules are provided in the neural network, such as:
[0497] Convolutional layer conv, 1x1, 32;
[0498] Convolution layer conv, 3x3, 32; Pooling layer Pooling;
[0499] Convolutional layer conv, 1x1, 64; convolutional layer conv, 3x3, 64, pooling layer Pooling;
[0500] Convolutional layer conv, 1x1, 128;
[0501] Convolutional layer conv, 3x3, 128, pooling layer Pooling;
[0502] Fully connected layer FC, 1024;
[0503] Fully connected layer FC, 1024;
[0504] Fully connected layer FC, 16.
[0505] By inputting the prediction mode index and reference pixel block into the neural network for mode probability (unnormalized) processing, sorting and screening, the candidate mode list is output and used as the most likely mode list.
[0506] If prediction modes are obtained from the encoded and decoded blocks, including prediction modes of adjacent blocks and prediction modes of non-adjacent blocks, and there are 15 prediction modes in total, the corresponding mode index numbers are 1 to 15. If for the current block in Figure 17, a total of 10 prediction modes (1, 13, 7, 5, 9, 12, 4, 15, 8, 2) are obtained, then these 10 prediction modes and the blocks they belong to are integrated and converted into an NxM regular matrix, which is a data format that can be recognized by the convolutional neural network.
[0507] Optionally, a padding operation is performed on the matrix elements for which no prediction mode exists (the block where the prediction mode exists has not been encoded or decoded), such as a zero-padding process, to obtain the prediction mode index matrix shown in FIG17 .
[0508] Optionally, similar to the prediction mode index matrix, pixels are obtained from the coded and decoded blocks, i.e., neighboring block pixels, and filling operations are performed on the matrix elements where no pixels exist (the blocks where they exist have not yet been coded and decoded), such as padding with 0, to obtain the reference pixel block shown in FIG17 .
[0509] Optionally, the prediction mode index matrix and the reference pixel block are input into a neural network, which is provided with 12 layers, optionally, 6 CNN layers (convolution kernel size is 1x1 or 3x3, the number of output channels is 32 or 64 or 128), 3 pooling layers, and 3 fully connected layers (FC). The final output is 15 unnormalized probabilities p1-p15 (representing the probabilities of adopting 15 candidate modes). The above 15 probabilities p1-p15 are sorted from large to small, for example, the top 5 largest probabilities are taken to construct a candidate prediction mode list, which is the candidate list [2,12,3,1,7] shown in Figure 17.
[0510] Through the technical solution of this embodiment, it is possible to achieve a construction of the most probable pattern list that is closely associated with the characteristics of the current block, and when the characteristics of the current block do not meet the first condition, at least one list construction rule is a first list construction rule, and the first list construction rule may include at least one of methods twenty-three to thirty-one, which can improve the accuracy of the most probable pattern list finally constructed in the current block, and also enable the target pattern closely associated with the current block to be obtained based on the most probable pattern list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0511] Eighth embodiment
[0512] Based on any of the above embodiments, an eighth embodiment is proposed.
[0513] In this embodiment, the image processing method further includes at least one of the following:
[0514] The first and second orders are different;
[0515] The first order and / or the second order are determined or obtained according to the position coordinates and / or size parameters of the target block and the current block.
[0516] Optionally, the target block may be at least one of a neighbor block, a non-neighbor block, a co-located block, a time-domain block, a cross-component block, a default block, and a candidate block.
[0517] Optionally, the first order and the second order may be two different scanning orders.
[0518] Optionally, when the characteristics of the current block meet the first condition, the first order can be selected as the scanning order to scan at least one neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and / or candidate block.
[0519] Optionally, when the characteristics of the current block do not meet the first condition, the second order can be selected as the scanning order to scan at least one neighboring block, non-neighboring block, co-located block, time domain block, cross-component block, default block and / or candidate block.
[0520] Optionally, the distance between the target block and the current block can be determined or obtained based on the position coordinates of the target block and the current block, and sorted according to the distance between each target block and the current block, such as sorting from small to large, or sorting from large to small, and the sorting result is used as the first order or the second order.
[0521] Optionally, a distance function may be used to calculate the position coordinates of the current block and the target block to obtain the distance between the target block and the current block. Optionally, the distance function may be determined based on a deformation of the pixel distance, such as based on the square of the pixel distance.
[0522] Optionally, the first order and / or the second order may also be determined or obtained according to size parameters of the target block and the current block.
[0523] Optionally, the scanning order may be determined according to the size parameter of the target block and the size parameter of the current block, for example, the target block having a size parameter larger than the size parameter of the current block is scanned preferentially.
[0524] Optionally, the distance between the target block and the current block can be determined or obtained based on the position coordinates of the target block and the current block, and the target blocks can be sorted according to the distance between each target block and the current block (for example, sorted according to the nearest first principle) to obtain a first sorting result. The weight corresponding to each target block can also be determined or obtained based on the size parameters of the target block and the current block, and the first sorting result can be adjusted according to the weight to obtain a second sorting result, and the second sorting result can be used as the first order or the second order.
[0525] Optionally, if the size parameter of the target block is larger than the size parameter of the current block, the weight corresponding to the target block is determined to be the first weight.
[0526] Optionally, if the size parameter of the target block is smaller than or equal to the size parameter of the current block, the weight corresponding to the target block is determined to be the second weight.
[0527] Optionally, the first weight may be greater than the second weight or less than the second weight, which is not limited here.
[0528] Through the technical solution of this embodiment, the construction of the most probable mode list can be closely associated with the characteristics of the current block, and the first order and / or second order can be determined or obtained based on the position coordinates and / or size parameters of the target block and the current block, and the first order or second order is selected based on the characteristics of the current block to scan at least one of at least one neighboring block, non-neighboring block, co-located block, time domain block, cross-component block, default block and candidate block. The most probable mode list is determined or obtained based on the scanning results, which can improve the accuracy of the most probable mode list in the current block, and also enable the target mode closely associated with the current block to be obtained based on the most probable mode list, which can improve the accuracy of block processing and / or reduce signaling consumption.
[0529] The present application also provides a processing device, referring to FIG. 18 . FIG. 18 is a schematic diagram of the functional modules of the processing device of the present application, which can be provided in or on a processing device. The processing device includes:
[0530] The processing module A10 is configured to determine or obtain at least one target mode according to the characteristics of the current block, and process the current block according to the at least one target mode.
[0531] Optionally, the target mode includes at least one of an intra prediction mode, an inter prediction mode, an intra block vector mode, an inter block vector mode, an inter partitioning mode, a cross-component prediction mode, a geometric partitioning mode, a spatial geometric partitioning mode, and a block partitioning mode, and / or the feature of the current block includes at least one of the following:
[0532] a size parameter of at least one of a current block, a neighbor block, a non-neighbor block, a co-located block, a time domain block, a cross-component block, a default block, and a candidate block;
[0533] Pixel features of at least one of a reference template, a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block of the current block;
[0534] Similarity between the reference template of the current block and at least one of neighbor pixels, non-neighbor pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels;
[0535] the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks;
[0536] A mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block.
[0537] Optionally, the processing module A10 is configured to perform at least one of the following:
[0538] Determine or obtain at least one target mode based on at least one candidate mode determined or obtained according to the characteristics of the current block;
[0539] A most probable mode list including at least one candidate mode is determined or obtained according to the characteristics of the current block, and at least one target mode is determined or obtained according to the most probable mode list.
[0540] Optionally, the candidate mode includes at least one of a default mode, a mode of a neighboring block, a mode of a non-neighboring block, a mode of a co-located block, a mode of a time-domain block, a mode of a default block, and a mode of a candidate block, and / or determining or obtaining a most probable mode list including at least one candidate mode based on features of the current block includes:
[0541] Determine or obtain at least one list construction rule according to the characteristics of the current block;
[0542] A most probable pattern list is determined or obtained according to at least one list construction rule.
[0543] Optionally, at least one list construction rule is determined or obtained based on the characteristics of the current block, including at least one of the following:
[0544] If the feature of the current block satisfies the first condition, determining at least one list construction rule as a first list construction rule;
[0545] If the feature of the current block does not satisfy the first condition, the at least one list construction rule is determined to be a second list construction rule.
[0546] Optionally, the processing module A10 is configured to perform at least one of the following:
[0547] If a size parameter of at least one of the current block, the neighbor block, the non-neighbor block, the time domain block, the cross-component block, the default block, and the candidate block matches a preset size parameter threshold or a preset size parameter range, determining that the feature of the current block meets the first condition;
[0548] If a pixel feature of at least one of a reference template, a neighboring block, a non-neighboring block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block of the current block matches a preset pixel feature threshold or a preset pixel feature range, it is determined that the feature of the current block meets the first condition;
[0549] If the similarity between the reference template of the current block and at least one of neighboring pixels, non-neighboring pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels matches a preset similarity threshold or a preset similarity interval, it is determined that the feature of the current block meets the first condition;
[0550] If the number of at least one of neighbor blocks, non-neighbor blocks, co-located blocks, time domain blocks, cross-component blocks, default blocks, and candidate blocks matches a preset number or a preset number interval, determining that the feature of the current block meets the first condition;
[0551] If the mode of at least one of the neighbor block, non-neighbor block, co-located block, time domain block, cross-component block, default block and candidate block includes a preset mode, it is determined that the feature of the current block meets the first condition.
[0552] Optionally, the first list construction rule includes at least one of the following:
[0553] The length of the most probable pattern list is the first length;
[0554] The default mode is located in the preset list position of the most likely mode list;
[0555] Determine or obtain a position of the at least one candidate mode in the most probable mode list based on a result of calculating the cost of the at least one candidate mode according to the first cost function;
[0556] Scan at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block according to a first order, and determine or obtain a most probable mode list according to a scanning result;
[0557] Determine or obtain a most probable mode list based on a selected first number of neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks;
[0558] Determine or obtain a most probable mode list based on at least one neighbor block, and / or non-neighbor block, and / or co-located block, and / or time domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to the first distance;
[0559] Taking blocks within the first range as neighboring blocks, determining or obtaining a most probable mode list based on at least one neighboring block;
[0560] Determine or obtain a list of most likely patterns based on preset sorting rules.
[0561] Optionally, the second list construction rule includes at least one of the following:
[0562] The length of the most probable pattern list is the second length;
[0563] Determine the position of the default mode in the most probable mode list according to a preset mode sorting rule;
[0564] Determine or obtain a position of the at least one candidate mode in the most probable mode list based on a result of calculating the cost of the at least one candidate mode according to the second cost function;
[0565] Determine or obtain a position of the at least one candidate mode in the most probable mode list based on a result of calculating the cost of the at least one candidate mode according to the first cost function and the second cost function;
[0566] Scan at least one of at least one neighbor block, a non-neighbor block, a co-located block, a time domain block, an inter-component block, a default block, and a candidate block according to a second order, and determine or obtain a most probable mode list according to a scanning result;
[0567] Determine or obtain a most probable mode list based on the selected second number of neighbor blocks, and / or non-neighbor blocks, and / or co-located blocks, and / or time domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks;
[0568] Determine or obtain a most probable mode list based on at least one neighbor block, and / or non-neighbor block, and / or co-located block, and / or time domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to the second distance;
[0569] Taking blocks within the second range as neighboring blocks, and determining or obtaining a most probable pattern list based on at least one neighboring block;
[0570] Determine or obtain a list of most likely patterns based on a neural network.
[0571] Optionally, the first order and the second order are different.
[0572] Optionally, the processing module A10 is further configured to determine or obtain the first order and / or the second order according to the position coordinates and / or size parameters of the target block and the current block.
[0573] The processing device provided in the embodiment of the present application has similar implementation principles and beneficial effects to the technical solutions shown in the above-mentioned corresponding method embodiments, and will not be described in detail here.
[0574] An embodiment of the present application further provides a processing device, including a memory and a processor. The memory stores an image processing program, and when the image processing program is executed by the processor, the steps of the image processing method in any of the above embodiments are implemented.
[0575] An embodiment of the present application further provides a storage medium on which an image processing program is stored. When the image processing program is executed by a processor, the steps of the image processing method in any of the above embodiments are implemented.
[0576] In the embodiments of the processing device and storage medium provided in this application, all technical features of any of the above-mentioned image processing method embodiments may be included. The expanded and explained contents of the specification are basically the same as those of the embodiments of the above-mentioned methods and will not be repeated here.
[0577] An embodiment of the present application further provides a computer program product, which includes computer program code. When the computer program code runs on a computer, the computer executes the methods in the various possible implementation modes described above.
[0578] An embodiment of the present application also provides a chip, including a memory and a processor, wherein the memory is used to store computer programs, and the processor is used to call and run the computer programs from the memory, so that a device equipped with the chip executes the methods in the various possible implementation modes as described above.
[0579] It is understood that the above scenarios are merely examples and do not limit the application scenarios of the technical solutions provided in the embodiments of this application. The technical solutions of this application can also be applied to other scenarios. For example, those skilled in the art will appreciate that with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application will also be applicable to similar technical problems.
[0580] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0581] The steps in the method of the embodiment of the present application can be adjusted in order, combined and deleted according to actual needs.
[0582] The units in the device of the embodiment of the present application can be merged, divided and deleted according to actual needs.
[0583] In this application, the same or similar terminology, technical solutions and / or application scenario descriptions are generally only described in detail the first time they appear. When they appear again later, they are generally not repeated for the sake of brevity. When understanding the technical solutions and other contents of this application, for the same or similar terminology, technical solutions and / or application scenario descriptions that are not described in detail later, you can refer to the previous relevant detailed descriptions.
[0584] In this application, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0585] The various technical features of the technical solution of this application can be combined arbitrarily. In order to make the description concise, not all possible combinations of the various technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0586] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as mentioned above, and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, controlled terminal, or network device, etc.) to execute the method of each embodiment of the present application.
[0587] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a storage medium or transmitted from one storage medium to another storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a storage disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state storage disk Solid State Disk (SSD)).
[0588] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. An image processing method, wherein, Including steps: S10. Determine or obtain at least one target mode according to the characteristics of the current block, and process the current block according to the at least one target mode.
2. The method according to claim 1, wherein, The target mode includes at least one of an intra prediction mode, an inter prediction mode, an intra block vector mode, an inter block vector mode, an inter partitioning method, a cross-component prediction mode, a geometric partitioning mode, a spatial geometric partitioning mode, and a block partitioning method, and / or, the characteristics of the current block include at least one of the following: The size parameter of at least one of the current block, a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block; The pixel characteristics of at least one of the reference template of the current block, a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block; The similarity between the reference template of the current block and at least one of neighbor pixels, non-neighbor pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels; The number of at least one of a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block; The mode of at least one of a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block.
3. The method according to claim 1, wherein, Determining or obtaining at least one target mode according to the characteristics of the current block includes at least one of the following: Determine or obtain at least one target mode according to at least one candidate mode determined or obtained according to the characteristics of the current block; Determine or obtain a most likely mode list including at least one candidate mode according to the characteristics of the current block, and determine or obtain at least one target mode according to the most likely mode list.
4. The method according to claim 3, wherein, The candidate mode includes at least one of a default mode, the mode of a neighbor block, the mode of a non-neighbor block, the mode of a co-located block, the mode of a temporal block, the mode of a default block, and the mode of a candidate block, and / or, determining or obtaining a most likely mode list including at least one candidate mode according to the characteristics of the current block includes: Determine or obtain at least one list construction rule according to the characteristics of the current block; Determine or obtain the most likely mode list according to the at least one list construction rule.
5. The method according to claim 4, wherein Determining or obtaining at least one list construction rule according to the characteristics of the current block includes at least one of the following: If the characteristics of the current block satisfy the first condition, determine at least one list construction rule as the first list construction rule; If the characteristics of the current block do not satisfy the first condition, determine at least one list construction rule as the second list construction rule.
6. The method according to claim 5, wherein, The characteristics of the current block satisfying the first condition include at least one of the following: The size parameter of at least one of the current block, a neighbor block, a non-neighbor block, a temporal block, a cross-component block, a default block, and a candidate block matches a preset size parameter threshold or a preset size parameter range; The pixel characteristics of at least one of the reference template of the current block, a neighbor block, a non-neighbor block, a co-located block, a temporal block, a cross-component block, a default block, and a candidate block match a preset pixel characteristic threshold or a preset pixel characteristic range; The similarity between the reference template of the current block and at least one of neighbor pixels, non-neighbor pixels, co-located block pixels, temporal block pixels, cross-component block pixels, default block pixels, and candidate block pixels matches a preset similarity threshold or a preset similarity interval; The quantity of at least one of a neighboring block, a non-neighboring block, a co-located block, a time-domain block, a cross-component block, a default block, and a candidate block matches a preset quantity or a preset quantity range; The pattern of at least one of a neighboring block, a non-neighboring block, a co-located block, a time-domain block, a cross-component block, a default block, and a candidate block includes a preset pattern.
7. The method according to claim 5, wherein, The first list construction rule includes at least one of the following: The length of the most likely pattern list is a first length; The default pattern is located at a preset list position in the most likely pattern list; Based on the calculation result of calculating the cost of at least one candidate pattern according to a first cost function, determine or obtain the position of at least one candidate pattern in the most likely pattern list; Scan at least one of a neighboring block, a non-neighboring block, a co-located block, a time-domain block, a cross-component block, a default block, and a candidate block according to a first order, and determine or obtain the most likely pattern list according to the scan result; Based on the selected first quantity of neighboring blocks, and / or non-neighboring blocks, and / or co-located blocks, and / or time-domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks, determine or obtain the most likely pattern list; Based on at least one neighboring block, and / or non-neighboring block, and / or co-located block, and / or time-domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to a first distance, determine or obtain the most likely pattern list; Use the blocks within a first range as neighboring blocks, and determine or obtain the most likely pattern list based on at least one neighboring block; Determine or obtain the most likely pattern list according to a preset sorting rule.
8. The method according to claim 5, wherein The second list construction rule includes at least one of the following: The length of the most likely pattern list is a second length; Determine the position of the default pattern in the most likely pattern list according to a preset pattern sorting rule; Based on the calculation result of calculating the cost of at least one candidate pattern according to a second cost function, determine or obtain the position of at least one candidate pattern in the most likely pattern list; Based on the calculation results of calculating the costs of at least one candidate pattern according to the first cost function and the second cost function, determine or obtain the position of at least one candidate pattern in the most likely pattern list; Scan at least one of a neighboring block, a non-neighboring block, a co-located block, a time-domain block, a cross-component block, a default block, and a candidate block according to a second order, and determine or obtain the most likely pattern list according to the scan result; Based on the selected second quantity of neighboring blocks, and / or non-neighboring blocks, and / or co-located blocks, and / or time-domain blocks, and / or cross-component blocks, and / or default blocks, and / or candidate blocks, determine or obtain the most likely pattern list; Based on at least one neighboring block, and / or non-neighboring block, and / or co-located block, and / or time-domain block, and / or cross-component block, and / or default block, and / or candidate block selected according to a second distance, determine or obtain the most likely pattern list; Use the blocks within a second range as neighboring blocks, and determine or obtain the most likely pattern list based on at least one neighboring block; Determine or obtain the most likely pattern list according to a neural network.
9. The method according to claim 8, wherein, It also includes at least one of the following: The first order and the second order are different; Based on the position coordinates and / or size parameters of the target block and the current block, determine or obtain the first order and / or the second order.
10. A processing device, wherein, Includes: A memory and a processor, wherein an image processing program is stored on the memory, and when the image processing program is executed by the processor, the steps of the image processing method as claimed in claim 1 are implemented.
11. A storage medium, wherein, A computer program is stored on the storage medium, and when the computer program is executed by a processor, the steps of the image processing method as claimed in claim 1 are implemented.
Citation Information
Patent Citations
Block Size Adaptive Directional Intra Prediction
CN107454403A
Intra-frame prediction mode determination method, intelligent coding method and intelligent decoding method
CN116320438A
Video coding method and apparatus using selective multiple reference lines
CN118975231A
Method and apparatus of processing a video signal
US20180035121A1