Processing method, processing device and storage medium
By employing a filtering model to determine the filtering result of the pixel to be filtered, the problem of unsatisfactory pixel filtering effect in video coding standards is solved, thereby improving encoding/decoding quality and image quality.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SHENZHEN TRANSSION HLDG CO LTD
- Filing Date
- 2026-01-15
- Publication Date
- 2026-07-30
AI Technical Summary
The filtering effect of pixels in the intra-frame prediction and/or inter-frame prediction processes in existing video coding standards is not ideal, resulting in poor encoding and decoding quality in the video encoding and decoding process.
By employing at least one filtering model, the filtering effect of pixels is improved by determining the filtering result of the pixels to be filtered, including the reference pixel, the filtering model, the filtering weights, and the processing order.
It improves the encoding and decoding quality during video encoding and decoding processes, enhances image quality through improved filtering, and suppresses residual distortion.
Smart Images

Figure CN2026072903_30072026_PF_FP_ABST
Abstract
Description
Processing methods, processing equipment and storage media Technical Field
[0001] This application relates to the field of image processing technology, specifically to a processing method, processing device, and storage medium. Background Technology
[0002] The existing video coding standard (H.266 / VVC) proposes a video frame coding technique, for example, when encoding and decoding video frames, each frame is divided into different blocks and subjected to filtering and encoding / decoding processing.
[0003] In conceiving and implementing this application, the inventors discovered at least the following problem: the filtering effect on pixels is not ideal during intra-frame prediction and / or inter-frame prediction, which leads to poor encoding and decoding quality during video encoding and / or decoding.
[0004] The preceding description is intended to provide general background information and does not necessarily constitute prior art.
[0005] Application content
[0006] To address the aforementioned technical problems, this application provides a processing method, processing device, and storage medium that can improve the filtering effect of pixels, thereby supporting the improvement of encoding and / or decoding quality during video encoding and / or decoding processes.
[0007] This application provides a processing method applicable to a processing device, comprising the following steps:
[0008] S10, Based on at least one filtering model, determine or obtain at least one filtering result for the pixel to be filtered.
[0009] Optionally, step S10 includes at least one of the following:
[0010] Based on at least one filtering model and a reference pixel, determine or obtain at least one filtering result for the pixel to be filtered;
[0011] Based on the first model and / or the second model determined or obtained from at least one filtering model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0012] Based on at least one filtering model and at least one filtering weight, determine or obtain at least one filtering result for the pixel to be filtered;
[0013] Based on at least one filtering model and at least one filtering process order, at least one filtering result of the pixel to be filtered is determined or obtained.
[0014] Optionally, the method further includes at least one of the following:
[0015] The first filtering result of the pixel to be filtered is determined or obtained based on the first model;
[0016] The second filtering result of the pixel to be filtered is determined or obtained according to the second model;
[0017] The first model includes: at least one model parameter;
[0018] The second model includes: at least one model parameter;
[0019] At least one filtering order is determined or obtained based on the order in which the reconstructed values and / or filtered values of the pixels to be filtered in the current block are determined;
[0020] At least one filtering process sequence corresponds to at least one filtering model;
[0021] At least one filter weight is determined or obtained based on at least one of the following: at least one filter result, the correlation between the reference pixel and the pixel to be filtered, and the syntax element obtained from the bitstream.
[0022] Optionally, the method further includes at least one of the following:
[0023] At least one filtering result is determined or obtained based on the first filtering result, the second filtering result, and at least one filtering weight;
[0024] At least one filtering result is determined or obtained based on the first filtering result and the second model;
[0025] At least one filtering result is determined or obtained based on the second filtering result and the first model;
[0026] The input pixels and / or output pixels of the first model are determined or obtained based on at least one of the following: the reconstructed value of the reference pixel, the filtered value of the reference pixel, the reconstructed value of the pixel to be filtered, the filtered value of the pixel to be filtered, and the second filtering result.
[0027] The input pixels and / or output pixels of the second model are determined or obtained based on at least one of the following: the reconstructed value of the reference pixel, the filtered value of the reference pixel, the reconstructed value of the pixel to be filtered, the filtered value of the pixel to be filtered, and the first filtering result;
[0028] At least one filtering process sequence corresponds to the position of the input pixels and / or output pixels of the first model;
[0029] At least one filtering process sequence corresponds to the position of the input pixels and / or output pixels of the second model.
[0030] Optionally, at least one filter weight is determined or obtained based on at least one of the following:
[0031] At least one filtering result determines or obtains the residual energy;
[0032] The proportion of abnormal pixels is determined or obtained from at least one filtering result;
[0033] At least one filtering result determines or obtains the filtered correction energy.
[0034] Optionally, at least one model parameter is determined or obtained based on at least one of the following:
[0035] Reconstructed value of the reference pixel;
[0036] The filtered value of the reference pixel;
[0037] The reconstructed value of the pixel to be filtered;
[0038] The filtered value of the pixel to be filtered;
[0039] The pixel is determined or obtained by the motion vector and / or block vector of the pixel to be filtered;
[0040] Pixels are determined or obtained by the motion vectors and / or block vectors of pixels within a preset area;
[0041] Pixels determined or obtained through the motion vectors and / or block vectors of pixels within the current block;
[0042] Pixels are determined or obtained by using motion vectors and / or block vectors of pixels within a preset range.
[0043] Optionally, the pixels to be filtered are located in a preset area.
[0044] Optionally, at least one model parameter is determined or obtained based on at least one of the following:
[0045] Linear equation system;
[0046] Nonlinear equations;
[0047] The reconstructed value and / or the filtered value of the pixel to be filtered are used as the output pixel.
[0048] The input pixel is at least one of the following: a pixel determined or obtained by motion vectors and / or block vectors of pixels within a preset region; a pixel determined or obtained by motion vectors and / or block vectors of pixels within the current block; a pixel determined or obtained by motion vectors and / or block vectors of pixels within a preset range; a pixel determined or obtained by motion vectors and / or block vectors of the pixel to be filtered; a reconstructed value of a reference pixel; a filtered value of a reference pixel; a reconstructed value of the pixel to be filtered; and a filtered value of the pixel to be filtered.
[0049] Optionally, the reference pixel is determined or obtained based on at least one of the following:
[0050] Filtering sequence;
[0051] The distance between the candidate reference pixel and the pixel to be filtered;
[0052] The position of the candidate reference pixel;
[0053] At least one type of filtering model;
[0054] Pixels have been reconstructed;
[0055] Predicted pixels;
[0056] Reconstructed pixels within the current block;
[0057] Predicted pixels within the current block;
[0058] Pixels in the same component and / or pixels across components of the pixel to be filtered;
[0059] Motion vectors and / or block vectors of the pixels to be filtered;
[0060] The motion vector and / or block vector of the pixels within the current block;
[0061] Motion vectors and / or block vectors of pixels within a preset range;
[0062] At least one of the following: the pixel above the current block, the non-adjacent pixel above the current block, the pixel to the left of the current block, the non-adjacent pixel to the left of the current block, the pixel above the left of the current block, and the non-adjacent pixel above the left of the current block;
[0063] The adjacent and / or non-adjacent regions of the current block;
[0064] The first component image block and / or the second component image block of the current block;
[0065] The current block's default block, neighboring block, non-neighboring block, co-occurring block, and temporal block are at least one of the following:
[0066] The adjacent and / or neighboring pixels of at least one combination of pixels to be filtered in the current block.
[0067] This application also provides a processing device, including: a memory and a processor, wherein the memory stores a processing program, and when the processing program is executed by the processor, it implements the steps of any of the processing methods described above.
[0068] This application also provides a storage medium storing a computer program that, when executed by a processor, implements the steps of any of the processing methods described above.
[0069] As described above, the processing method of this application includes: determining or obtaining at least one filtering result for the pixel to be filtered based on at least one filtering model. The technical solution of this application can improve the filtering effect of pixels, thereby supporting the improvement of encoding and / or decoding quality in the video encoding and / or decoding process. Attached Figure Description
[0070] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, those skilled in the art can obtain other drawings based on these drawings without any creative effort.
[0071] Figure 1 is a schematic diagram of the hardware structure of a mobile terminal implementing various embodiments of this application;
[0072] Figure 2 is a communication network system architecture diagram provided in an embodiment of this application;
[0073] Figure 3 is a schematic diagram of the hardware structure of a controller 140 provided in this application;
[0074] Figure 4 is a schematic diagram of the hardware structure of a network node 150 provided in this application;
[0075] Figure 5 is a flowchart illustrating the processing method according to the first embodiment;
[0076] Figure 6 is a schematic diagram of the encoder's encoding process in the image processing method according to the first embodiment;
[0077] Figure 7 is a schematic diagram of the decoding process of the decoder in the image processing method according to the first embodiment;
[0078] Figure 8 is a schematic diagram of the scanning sequence according to the second embodiment;
[0079] Figure 9 is a schematic diagram of the scanning sequence according to the second embodiment of the vertical grating scanning sequence;
[0080] Figure 10 is a schematic diagram of the scanning sequence according to the second embodiment, showing the diagonal grating scanning sequence;
[0081] Figure 11 is a schematic diagram of the scanning sequence according to the second embodiment, showing the anti-diagonal grating scanning sequence;
[0082] Figure 12 is a flowchart illustrating the processing method according to the third embodiment;
[0083] Figure 13 is a schematic flowchart of the processing method according to the third embodiment;
[0084] Figure 14 is a schematic flowchart of the processing method according to the third embodiment;
[0085] Figure 15 is a schematic diagram of the processing module of the processing device.
[0086] The realization of the objectives, functional features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. The accompanying drawings have illustrated specific embodiments of this application, which will be described in more detail below. These drawings and textual descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concepts of this application to those skilled in the art through reference to specific embodiments. Detailed Implementation
[0087] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0088] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, components, features, and elements with the same names in different embodiments of this application may have the same meaning or different meanings, the specific meaning of which must be determined by its interpretation in that specific embodiment or further in conjunction with the context of that specific embodiment.
[0089] It should be understood that although the terms first, second, third, etc., may be used herein to describe various information, this information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another; 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 word "if," as used herein, can be interpreted as "when," "when," or "in response to determination." Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to also include the plural forms unless the context indicates otherwise. It should be further understood that the terms "comprising" or "including" indicate the presence of the stated feature, step, operation, element, component, item, kind, and / or group, but do not exclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, kinds, and / or groups. The terms “or,” “and / or,” and “including at least one of the following” as used in this application may be interpreted as inclusive, or mean any one or any combination thereof. For example, “including at least one of the following: A, B, C” means “any one of the following: A; B; C; A and B; A and C; B and C; A and B and C”, or “A, B or C” or “A, B and / or C” means “any one of the following: A; B; C; A and B; A and C; B and C; A and B and C”. Exceptions to this definition will only occur if the combination of elements, functions, steps, or operations is inherently mutually exclusive in some way.
[0090] It should be understood that although the steps in the flowcharts of this application's embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.
[0091] Depending on the context, the words “if” or “suppose” as used here can be interpreted as “when” or “in response to determination” or “in response to detection.” Similarly, depending on the context, the phrases “if determination” or “if detection (of the stated condition or event)” can be interpreted as “when determination” or “in response to determination” or “when detection (of the stated condition or event)” or “in response to detection (of the stated condition or event).”
[0092] It should be noted that step designations such as S10 are used in this application for the purpose of more clearly and concisely describing the corresponding content, and do not constitute a substantial limitation on the order.
[0093] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0094] In the following description, the use of suffixes such as "module," "part," or "unit" to denote elements is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, "module," "part," or "unit" may be used interchangeably.
[0095] It should be noted that in this application, letter codes such as N are used, and unless otherwise specified, their values range from 0 to positive integers.
[0096] The processing device can be implemented in various forms. For example, the processing device described in this application may include processing devices such as mobile phones, servers, tablet computers, laptops, handheld computers, personal digital assistants (PDAs), portable media players (PMPs), navigation devices, wearable devices, smart bracelets, pedometers, and fixed terminals such as digital TVs and desktop computers.
[0097] The following description will use a mobile terminal as an example. Those skilled in the art will understand that, apart from elements specifically designed for mobile purposes, the construction according to the embodiments of this application can also be applied to fixed-type terminals.
[0098] Please refer to Figure 1, which is a schematic diagram of the hardware structure of a mobile terminal implementing various embodiments of this application. The mobile terminal 100 may include: 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, etc. Those skilled in the art will understand that the mobile terminal structure shown in Figure 1 does not constitute a limitation on the mobile terminal. The mobile terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0099] The following section, with reference to Figure 1, provides a detailed description of each component of the mobile terminal:
[0100] The radio frequency unit 101 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and processes it with the processor 110; and / or transmits uplink data to the base station. Typically, the radio frequency unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc. In addition, the radio frequency unit 101 can also communicate with networks and other devices wirelessly. The aforementioned wireless communications may 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.
[0101] WiFi is a short-range wireless transmission technology. Mobile terminals using WiFi module 102 can help users send and receive emails, browse web pages, and access streaming media, providing wireless broadband internet access. Although Figure 1 shows WiFi module 102, it is understood that it is not an essential component of the mobile terminal and can be omitted as needed without altering the essence of the invention.
[0102] The audio output unit 103 can convert audio data received by the radio frequency unit 101 or the WiFi module 102 or stored in the memory 109 into audio signals and output them as sound when the mobile terminal 100 is in call signal receiving mode, call mode, recording mode, voice recognition mode, broadcast receiving mode, etc. Furthermore, the audio output unit 103 can also provide audio output related to specific functions performed by the mobile terminal 100 (e.g., call signal receiving sound, message receiving sound, etc.). The audio output unit 103 may include a speaker, a buzzer, etc.
[0103] 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 acquired by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on the display unit 106. The image frames processed by the GPU 1041 can be stored in the memory 109 (or other storage medium) or transmitted via the radio frequency unit 101 or the WiFi module 102. The microphone 1042 can receive sound (audio data) in operating modes such as telephone call mode, recording mode, and voice recognition mode, and can process such sound into audio data. The processed audio (voice) data can be converted into a format that can be transmitted to a mobile communication base station via the radio frequency unit 101 in telephone call mode. The microphone 1042 can 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.
[0104] 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 ambient light level, and the proximity sensor can turn off the display panel 1061 and / or backlight when the mobile terminal 100 is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the phone's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc. Other sensors that may be configured in the phone, such as fingerprint sensors, pressure sensors, iris sensors, molecular sensors, gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be described in detail here.
[0105] 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.
[0106] User input unit 107 can be used to receive input numerical or character information, and generate key signal inputs related to user settings and function control of the mobile terminal. Optionally, user input unit 107 may include touch panel 1071 and other input devices 1072. Touch panel 1071, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 1071), and drive corresponding connection devices according to a pre-set program. Touch panel 1071 may include a touch detection device and a touch controller. Optionally, the touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, sends it to processor 110, and can receive and execute commands sent by processor 110. In addition, 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 also include other input devices 1072. Optionally, other input devices 1072 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc., without being specifically limited here.
[0107] Optionally, the touch panel 1071 may cover 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. Subsequently, the processor 110 provides corresponding visual output on the display panel 1061 according to the type of touch event. Although in FIG. 1, the touch panel 1071 and the display panel 1061 are implemented as two independent components to realize the input and output functions of the mobile terminal, in some embodiments, the touch panel 1071 and the display panel 1061 can be integrated to realize the input and output functions of the mobile terminal. The specific implementation is not limited here.
[0108] Interface unit 108 serves as an interface through which at least one external device can connect to 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, and so on. Interface unit 108 may be used to receive input from external devices (e.g., data information, power, etc.) and transmit the received input to one or more elements within mobile terminal 100, or it may be used to transmit data between mobile terminal 100 and external devices.
[0109] The memory 109 can be used to store software programs and various data. The memory 109 may primarily include a program storage area and a data storage area. Optionally, the program storage area may store the operating system, applications required for at least one function (such as sound playback, image playback, etc.), etc.; the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory 109 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0110] The processor 110 is the control center of the mobile terminal. It connects various parts of the mobile terminal via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 109, and by calling data stored in the memory 109, it performs various functions and processes data of the mobile terminal, thereby providing overall monitoring of the mobile terminal. The processor 110 may include one or more processing units; preferably, the processor 110 may integrate an application processor and a modem processor. Optionally, the application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 110.
[0111] The mobile terminal 100 may also include a power supply 111 (such as a battery) that supplies power to various components. Preferably, the power supply 111 can be logically connected to the processor 110 through a power management system, thereby enabling functions such as charging, discharging and power consumption management through the power management system.
[0112] Although not shown in Figure 1, the mobile terminal 100 may also include a Bluetooth module, etc., which will not be described in detail here.
[0113] To facilitate understanding of the embodiments of this application, the communication network system on which the mobile terminal of this application is based is described below.
[0114] Please refer to Figure 2, which is a communication network system architecture diagram provided in an embodiment of this application. The communication network system is an LTE system based on the 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 the operator's IP services 204, which are connected in sequence.
[0115] Optionally, UE201 can be the aforementioned terminal 100, which will not be described in detail here.
[0116] E-UTRAN202 includes eNodeB2021 and other eNodeB2022, etc. Optionally, eNodeB2021 can connect to other eNodeB2022 via backhaul (e.g., X2 interface), and eNodeB2021 connects to EPC203, providing access from UE201 to EPC203.
[0117] EPC203 may include MME (Mobility Management Entity) 2031, HSS (Home Subscriber Server) 2032, other MMEs 2033, SGW (Serving Gateway) 2034, PGW (Packet Data Network Gateway) 2035, and PCRF (Policy and Charging Rules Function) 2036, etc. Optionally, MME2031 is the control node that handles signaling between UE201 and EPC203, providing bearer and connection management. HSS2032 is used to provide registers to manage functions such as the Home Location Register (not shown in the figure) and stores user-specific information such as service characteristics and data rates. All user data can be sent through SGW2034. PGW2035 can provide UE 201 IP address allocation and other functions. PCRF2036 is the policy and charging control decision point for service data flow and IP bearer resources. It selects and provides available policy and charging control decisions for the policy and charging enforcement function unit (not shown in the figure).
[0118] IP services 204 may include the Internet, intranet, IMS (IP Multimedia Subsystem), or other IP services.
[0119] Although the above description uses 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 also to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, 5G and future new network systems (such as 6G), etc., without limitation.
[0120] Figure 3 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 principle and beneficial effects are similar, and will not be described again here.
[0121] 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.
[0122] Figure 4 is a schematic diagram of the hardware structure of a network node 150 provided in this application. The network node 150 includes a memory 1501 and a processor 1502. The memory 1501 is used to store program instructions, and the processor 1502 is used to call the program instructions in the memory 1501 to execute the steps performed by the first node in the above method embodiment. The implementation principle and beneficial effects are similar, and will not be described again here.
[0123] 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.
[0124] The integrated modules described above, implemented as software functional modules, can be stored in a computer-readable storage medium. These software functional modules, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods of the various embodiments of this application.
[0125] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. 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. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. 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 integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk, SSD), etc.
[0126] First Embodiment
[0127] Referring to Figure 5, which is a flowchart illustrating the processing method according to the first embodiment, the processing method of this application embodiment can be applied to a processing device, including step S10:
[0128] Step S10: Determine or obtain at least one filtering result for the pixel to be filtered based on at least one filtering model.
[0129] In this embodiment, the processing device can be a smart terminal, such as a mobile phone or a computer, and / or the processing device can be 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.
[0130] Optionally, the technical solution of this embodiment can be applied to fields such as image encoding and decoding, video encoding and decoding, hardware video encoding and decoding, dedicated circuit video encoding and decoding, and / or real-time video encoding and decoding.
[0131] Optionally, the pixels to be filtered are located in the current block and / or a preset area.
[0132] Optionally, the preset region is located in the current block.
[0133] Optionally, the pixel to be filtered refers to the reconstructed pixel obtained after inverse transformation, inverse quantization and / or superposition of the prediction signal during the reconstruction stage of video decoding and / or encoding, but which has not yet undergone the filtering process of the embodiments of this application.
[0134] Optionally, the prediction mode used by the pixel to be filtered in this application embodiment can be a traditional intra-frame prediction mode and / or inter-frame prediction mode, or an improved intra-frame prediction mode and / or inter-frame prediction mode. This application embodiment does not limit this.
[0135] Optionally, the preset region can be a number of local sub-regions, such as windows, where the coding tree unit (CTU) and / or other image blocks are divided into several local sub-regions according to a preset size and shape when filtering image or video frames. Each sub-region can be an independent filtering unit. The size, shape and / or division method of the preset region is fixed and / or configurable in the coding standard or specific implementation, such as a 4×4, 8×8 or 16×16 pixel square block.
[0136] Optionally, the processing device can acquire video image data from a video source, segment each frame of the video image data to obtain at least one image block, wherein the image block in which encoding processing is being performed in the at least one image block is the current block, and at least one pixel in the current block in which encoding processing is being performed is the pixel to be filtered.
[0137] Optionally, the processing device can decode the data in the bitstream to obtain at least one image block, wherein the image block in which decoding is being performed is the current block, and at least one pixel in the current block in which decoding is being performed is the pixel to be filtered.
[0138] Optionally, the processing device can acquire video image data from a video source, segment each frame of the video image data to obtain at least one image block, wherein the image block in which filtering is being performed is the current block, and at least one pixel in the current block in which filtering is being performed is the pixel to be filtered.
[0139] Optionally, the processing device can decode the data in the bitstream to obtain at least one image block, wherein the image block in which filtering is being performed is the current block, and at least one pixel in the current block in which filtering is being performed is the pixel to be filtered.
[0140] Optionally, the current block can be the current coding block or the current decoding block. The current coding block refers to the image block that is currently being encoded and processed in the encoder, while the current decoding block refers to the image block that is currently being reconstructed in the decoder.
[0141] Optionally, the current block can be a Coding Tree Unit (CTU), a Coding Unit (CU), and / or a Macroblock.
[0142] Optionally, the filtering result of the pixel to be filtered can be the filtered pixel, which is the filtered value of the position corresponding to the pixel to be filtered in the current block and / or preset area.
[0143] Optionally, the pixels to be filtered are processed according to at least one filtering model to determine or obtain at least one filtering result.
[0144] Optionally, at least one filtering result includes: the pixel to be filtered, the filtering result of a preset region and / or the current block.
[0145] Optionally, filtering process refers to applying a series of signal post-processing operations to the reconstructed pixels obtained by inverse quantization and / or inverse transformation during the image reconstruction stage, in order to suppress visual distortions introduced by compression (such as blockiness, ringing, blurring and / or noise), improve subjective visual quality and / or enhance the accuracy of subsequent inter-frame prediction.
[0146] Optionally, filtering is typically performed as part of the coding loop (i.e., "loop filtering"), and its output is used for display and / or as a reference frame in subsequent coding.
[0147] Optionally, the filtering process includes at least one of the following: Deblocking Filter (DB), Sample Adaptive Offset (SAO), Bilateral Filter (BIF), and Adaptive Loop Filter (ALF).
[0148] Optionally, the DB mode is used to eliminate discontinuities between adjacent coded blocks caused by block-based transform coding and / or quantization, known as “blocking artifacts.” This process reduces artificial block artifacts by smoothing pixel values at block boundaries, while preserving the real image edges.
[0149] Optionally, the BIF mode is an edge-preserving nonlinear smoothing filter method designed to further suppress high-frequency noise and ringing artifacts while avoiding blurring the true edge structure in the image. This process utilizes the dual constraints of spatial proximity and pixel value similarity to achieve adaptive local smoothing.
[0150] Optionally, SAO mode is a non-linear compensation mechanism based on pixel classification, used to correct systematic pixel value deviations (such as ringing, overshoot and / or undershoot) that still exist after DB processing. Its core idea is to assign corresponding offsets to pixel categories with different local structural features in order to approximate the original signal.
[0151] Optionally, the ALF mode is a linear adaptive filtering technique based on the Wiener filtering principle. It dynamically selects the optimal filter to enhance local regions by minimizing the mean square error (MSE) between the reconstructed image and the original image.
[0152] Optionally, the processing method in this application embodiment can be an ALF mode and / or an improved ALF mode, applied to the reconstructed pixels after SAO mode processing (that is, the reconstructed pixels after SAO mode processing are used as the pixels to be filtered), to further improve image quality and suppress residual distortion.
[0153] Optionally, the processing method of this application embodiment can replace the traditional ALF mode, and / or be used as a sub-mode of the traditional ALF mode, and / or be combined with the traditional ALF mode when applied to the encoder and / or decoder. For example, it can correct the results of the traditional ALF mode. This application embodiment does not limit this.
[0154] Optionally, the filtering model is a model used to determine or obtain the filtered value of the pixel to be filtered. For example, the filtering model can be at least one of the following: a linear model, a nonlinear model, and / or a gradient model.
[0155] Optionally, at least one filtering model in the embodiments of this application can be an improved ALF model, applied to ALF mode and / or an improved ALF mode.
[0156] Optionally, at least one filtering model in the embodiments of this application can compete with and / or combine with traditional filtering models (e.g., traditional ALF model, SAO model, DB model and / or BIF model). When determining to adopt at least one filtering model in the embodiments of this application, the above steps S10 and / or subsequent steps can be performed.
[0157] Alternatively, if applied to an encoder, the execution steps of the traditional ALF mode include:
[0158] Divide the current CTU into at least one preset region (i.e., window), where the preset region is a sub-block of a fixed size (e.g., 4×4, 8×8, 16×16 pixels);
[0159] For at least one preset region, a classification index is calculated based on its local image features (including but not limited to gradient direction, gradient magnitude, texture activity, or edge intensity). Based on the classification index, the preset region is mapped to a category in a predefined category set, which contains at least one category (e.g., 25 categories).
[0160] For at least one active class in the class set, a set of optimal ALF filter coefficients is trained by minimizing the rate distortion cost based on the residual between the original image and the reconstructed image without ALF filtering. (e.g., the 12 free coefficients of a 7×7 diamond-shaped symmetric filter are solved using the Wiener filtering criterion.)
[0161] For at least one preset region, select the filter that minimizes the rate distortion cost from the candidate filter set and record its corresponding filter index.
[0162] Write the filter index, filter coefficients (or their quantization form), and ALF enable flag into the video bitstream for use by the decoder.
[0163] Using the selected ALF filter coefficients, a two-dimensional convolutional filtering operation is performed on the reconstructed pixels within the preset area to generate an ALF-enhanced reference image for subsequent inter-frame prediction and display.
[0164] Alternatively, if applied to a decoder, the execution steps of the traditional ALF mode include:
[0165] Divide the current CTU into at least one preset region (i.e., window), where the preset region is a sub-block of a fixed size (e.g., 4×4, 8×8, 16×16 pixels);
[0166] For at least one preset region, a classification index is calculated based on its local image features (including but not limited to gradient direction, gradient magnitude, texture activity, or edge intensity). Based on the classification index, the preset region is mapped to a category in a predefined category set, which contains at least one category (e.g., 25 categories).
[0167] Parse the filter index corresponding to the category from the bitstream, and obtain the corresponding ALF filter coefficients from the global filter coefficient set (e.g., a 7×7 diamond-shaped symmetric filter consisting of 12 free coefficients) based on the filter index;
[0168] Using the acquired ALF filter coefficients, a two-dimensional convolutional filtering operation is performed on all pixels within the preset area. The filtering operation covers the neighborhood window centered on the current pixel and processes all preset areas within the CTU in sequence according to the raster scan order.
[0169] The filtered pixels are used as the final reconstructed output for display and / or as a reference image for subsequent inter-frame prediction.
[0170] Optionally, at least one filtering model in the embodiments of this application can be an adaptive loop filter and / or a cross-component filter.
[0171] Optionally, the adaptive loop filter is essentially a parameterized filtering model. Its function is to use the reconstructed reference pixels to generate the filtered value of at least one pixel to be filtered within the current block through a configurable mathematical structure (such as a linear filter or regression function). The behavior of the adaptive loop filter is determined by a set of predefined and / or adaptive model parameters. These parameters together define the input range, structure, calculation method and / or applicable conditions of the adaptive loop filter, thereby forming diverse ALF variants to adapt to different texture features.
[0172] Optionally, the cross-component filter can derive its coefficients from the neighboring reconstructed regions of the current block, and / or inherit the coefficients from previously encoded image blocks, and perform filtering by the cross-component filter in the order of prediction processing.
[0173] Optionally, the filtering model includes at least one model parameter, which defines the input range, structure, calculation method, and / or applicable conditions of the filtering model.
[0174] Optionally, the model parameters include at least one of the following:
[0175] Number of filter categories: The total number of categories used for classifying the preset region (e.g., 25 categories, more than 25 categories, etc.). Each category corresponds to a set of independent filter coefficients to adapt to different local texture features (such as edge direction, flat area or dense texture area).
[0176] Number of filter taps: This is the number of independent filter coefficients involved in the filtering calculation. This value can be determined by the symmetry of the filter and the support structure (for example, a 7×7 diamond template corresponds to 12 taps). The higher the number of taps, the stronger the model's expressive power and the more complex the local signal structure it can fit. However, it also increases the computational complexity and the risk of overfitting.
[0177] Filter coefficients: These are a set of numerical parameters used in the loop filtering process to weight and combine reference pixels to generate pixel values for correction processing. The filter coefficients determine the contribution weight of the reconstructed neighboring pixels to the current pixel to be filtered.
[0178] Filter template size: The size of the spatial neighborhood range sampled from the reconstructed image, i.e. the size of the input window on which the filtering operation depends (e.g., 5×5, 7×7 pixels), which determines the receptive field of the filter.
[0179] Reference region type: refers to the configuration of the reference pixel sampling region used when constructing the filter;
[0180] Maximum block size: This is the maximum coding block size allowed to be applied by the loop filtering model (e.g., 128×128 pixels). Blocks exceeding this size will be divided into multiple sub-blocks for separate processing. This parameter is used to control the filtering granularity and memory access efficiency.
[0181] Component identifier: Used to indicate the image component that the current filtering model is applied to, including the luminance component (Y), the chrominance blue difference component (Cb), and / or the chrominance red difference component (Cr). Different components can be configured with independent sets of model parameters.
[0182] The pattern index is a syntax value used to uniquely identify a filter pattern within the set of filter patterns.
[0183] Optionally, at least one of the above model parameters can be dynamically selected and / or combined to determine or obtain at least one filtering model.
[0184] Referring to Figure 6, when the processing device is an encoder on the encoding side, the encoder can receive video data input from a video source. For example, the encoder receives video images from the video source, determines the image to be predicted in the video images, divides the image to be predicted into at least one image block, the image block includes a luma block and a chroma block, and performs prediction processing on at least one image block using the temporal and / or spatial correlation between video images, including intra-frame prediction processing and / or inter-frame prediction processing. Intra-frame prediction processing and / or inter-frame prediction processing each include at least one prediction mode. For the above prediction modes, the encoder uses, for example, rate-distortion cost to determine the prediction mode finally adopted by at least one image block. For example, it calculates the rate-distortion cost corresponding to at least one prediction mode and / or the rate-distortion cost of combining several prediction modes to determine the minimum rate-distortion cost from at least one rate-distortion cost. The prediction mode corresponding to the minimum rate-distortion cost and / or the combination of prediction modes is the prediction mode finally adopted by the image block, and the prediction mode includes intra-frame prediction mode and / or inter-frame prediction mode.
[0185] Optionally, if the prediction block corresponding to the image block is determined or obtained, the pixel value of the pixel sample in the original image block corresponding to the image block is subtracted from the predicted value of the corresponding pixel sample in the prediction block to obtain the residual value of the pixel sample and / or the residual block corresponding to the original image block. The residual block can be transformed and / or quantized and encoded by an entropy encoder to form an encoded bit stream.
[0186] Optionally, the transformed and / or quantized residual block can be added to the prediction block determined or obtained through the prediction mode to obtain the reconstructed block. The reconstructed block can also be subjected to loop filtering to reduce distortion.
[0187] Optionally, the loop filtering process includes: deblocking filtering, adaptive sampling offset and / or adaptive loop filtering, and after the loop filtering process is performed, the reconstructed block after the loop filtering process is stored according to the coded image buffer.
[0188] Optionally, the encoded bitstream may include prediction parameters and related auxiliary information corresponding to a determined prediction mode, and / or filtering parameters and related auxiliary information corresponding to a determined filtering mode, and the aforementioned prediction parameters and / or filtering parameters are packaged into the encoded bitstream after entropy encoding.
[0189] Optionally, the loop filtering process may include the improved ALF mode proposed in the embodiments of this application.
[0190] Optionally, if the improved ALF mode proposed in the embodiments of this application is adopted, the auxiliary information includes indication information about the improved ALF mode proposed in the embodiments of this application.
[0191] Referring to Figure 7, when the processing device is a decoder on the decoding side, after receiving the encoded bit stream, the decoder's entropy decoding unit will parse and / or decode the encoded bit stream to obtain transform coefficients. The decoder's inverse transform unit and inverse quantization unit will perform inverse transform and inverse quantization processing on the transform coefficients to obtain residual blocks.
[0192] Optionally, the decoding unit of the decoder parses and decodes the encoded bitstream to obtain prediction parameters and related auxiliary information. The prediction processing unit of the decoder uses the prediction parameters to perform prediction processing to determine the prediction block corresponding to the residual block. The prediction processing includes intra-frame prediction processing and / or inter-frame prediction processing, which includes a combination of one or more prediction modes.
[0193] Optionally, the prediction result (i.e., prediction block) of the image block is determined or obtained according to the prediction mode indicated by the auxiliary information, and the determined or obtained residual block and prediction block (including prediction luminance block and / or prediction chrominance block) are added together to obtain the reconstructed block.
[0194] Optionally, the decoder can perform loop filtering on the reconstructed blocks according to the filtering mode indicated by the auxiliary information to reduce distortion and improve video quality. The reconstructed blocks after loop filtering are further combined into a decoded image and stored in the decoded image buffer or output as a decoded video signal.
[0195] Optionally, the loop filtering process includes: deblocking filtering, adaptive sampling offset, and / or adaptive loop filtering.
[0196] Optionally, the loop filtering process may include the improved ALF mode proposed in the embodiments of this application.
[0197] In this embodiment, filtering the pixels to be filtered using at least one filtering model can improve the filtering effect of the pixels, thereby supporting the improvement of encoding and / or decoding quality in the video encoding and / or decoding process.
[0198] Second Embodiment
[0199] Based on the first embodiment described above, a second embodiment is proposed.
[0200] In this embodiment, step S10 includes at least one of the following steps S11 and S14:
[0201] Step S11: Based on at least one filtering model and a reference pixel, determine or obtain at least one filtering result for the pixel to be filtered;
[0202] Optionally, the pixel to be filtered, as a preliminary reconstruction result, contains the main content of the original signal, but is affected by quantization and / or transformation distortion. The reference pixel introduced in this application embodiment carries local structure and / or statistical characteristic information related to the pixel to be filtered, which can reflect the signal distribution law of the image in this area. By modeling the correlation between the two, the filtering model (i.e. filter) can adaptively suppress noise, repair edges and / or enhance details, thereby improving the filtering effect of the pixel to be filtered.
[0203] Optionally, the reference pixel is a pixel that carries local structural and / or statistical characteristic information related to the pixel to be filtered, which can provide a basis for distortion correction of the pixel to be filtered, and / or, the reference pixel can be used as an input feature of the filtering model to calculate the filtered output value of the pixel to be filtered.
[0204] Optionally, the reference pixel is a reconstructed pixel that has been superimposed with residuals and / or processed by pre-filtering (e.g., SAO).
[0205] In this embodiment, by using a reference pixel-based filtering process, the filtering not only relies on a single pixel value but can also utilize richer information, thereby effectively improving the filtering effect.
[0206] Optionally, the reference pixel includes at least one of the following: a1 to a5
[0207] Method a1, the pixel to be filtered;
[0208] Optionally, the pixel to be filtered can be used as a reference pixel to determine the filtering result of the pixel to be filtered. This is because the goal of filtering is to suppress quantization noise and / or ringing distortions based on the existing reconstructed values of the current pixel (i.e. the pixel to be filtered) and / or its neighborhood through methods such as weighted averaging. If the pixel to be filtered is excluded and only its surrounding pixels are used, it is equivalent to forcibly covering the current value with the neighborhood, which can easily lead to over-smoothing, edge blurring and / or the introduction of deviations. However, the embodiments of this application use the pixel to be filtered as a reference pixel, which can preserve the main structure of the original signal and appropriately fuse neighborhood information, thereby achieving a balance between noise reduction and fidelity preservation.
[0209] Optionally, the pixel values of the reference pixel include: the reconstructed value and / or predicted value of the pixel to be filtered.
[0210] Optionally, based on at least one filtering model and the pixel to be filtered, at least one filtering result for the pixel to be filtered is determined or obtained.
[0211] Optionally, in prediction processing, although the prediction mode can reflect the local texture direction, the reference pixel corresponding to the prediction mode must be a reconstructed pixel and / or a predicted pixel other than the pixel to be predicted. It is used to generate the prediction signal. In contrast, in filtering processing, the reference pixels it depends on include reconstructed pixels inside and / or around the current block (including the pixel to be filtered itself). It is used to post-process the reconstructed signal with distortion. Therefore, prediction processing and filtering processing have essential differences in signal source, processing stage and / or optimization objective.
[0212] In this embodiment, by using the pixel to be filtered as the reference pixel, the main structure of the original signal can be preserved, while neighborhood information can be appropriately fused, thereby achieving a balance between noise reduction and fidelity preservation and improving the filtering effect.
[0213] Method a2: Adjacent pixels within the current block;
[0214] Optionally, the pixel to be filtered is located in the current block, and the adjacent pixels in the current block refer to the pixels that are directly adjacent to the pixel to be filtered within the current block and have been reconstructed.
[0215] Optionally, the pixel to be filtered is located in a preset region, which is located in the current block, and the reference pixel may include adjacent pixels within the preset region.
[0216] Optionally, the pixel value of the reference pixel includes at least one of the reconstructed value, predicted value, and filtered value of the neighboring pixels in the current block.
[0217] Optionally, the filtering order of the reference pixel can be earlier than that of the pixel to be filtered. That is, the filtering order of the adjacent pixels in the current block of the reference pixel is earlier than that of the pixel to be filtered. This can make the content of the reference pixel more stable and / or the noise more controllable, and reduce the quantization distortion and / or residual interference that may be introduced by using unfiltered pixels.
[0218] Alternatively, pixels that are filtered later in the order of filtering (i.e., unfiltered pixels) can be selected as reference pixels. Although these pixels have not undergone the current filtering process, their reconstructed values (e.g., after DB and / or SAO processing) have been determined, preserving more original local signal details and high-frequency information, and can provide rich and / or realistic local context for the filtering model.
[0219] Optionally, at least one filtering result for the pixel to be filtered can be determined or obtained based on at least one filtering model and the neighboring pixels in the current block.
[0220] In this embodiment, neighboring pixels within the current block are highly spatially correlated with the pixel to be filtered and / or share the same prediction mode and / or residual characteristics. Therefore, selecting them as reference pixels can more accurately capture local texture structure and / or edge direction, thereby improving the filtering effect on the pixel.
[0221] Method a3: Neighboring pixels within the current block;
[0222] Optionally, the pixel to be filtered is located in the current block, and the neighboring pixels in the current block refer to the reconstructed pixels that are spatially close to the pixel to be filtered but may not be directly adjacent to it.
[0223] Optionally, the pixel value of the reference pixel includes at least one of the reconstructed value, predicted value, and filtered value of neighboring pixels within the current block.
[0224] Optionally, the pixel to be filtered is located in a preset area, which is located in the current block, and the reference pixel may include neighboring pixels within the preset area.
[0225] Optionally, at least one filtering result for the pixel to be filtered can be determined or obtained based on at least one filtering model and neighboring pixels within the current block.
[0226] In this embodiment, by using neighboring pixels within the current block as reference pixels for the pixel to be filtered, richer local information can be provided while maintaining high correlation, thereby improving the filtering effect on the pixel and thus supporting the improvement of encoding and / or decoding quality in the video encoding and / or decoding process.
[0227] Method a4: Pixels within the adjacent reference region of the current block;
[0228] Optionally, pixels in the adjacent reference region of the current block refer to reconstructed pixels in the reference region located outside the current block but adjacent to the boundary of the current block, such as pixels in the row above, column to the left and / or upper left region of the current block.
[0229] Optionally, the pixel value of the reference pixel includes at least one of the reconstructed value, predicted value, and filtered value of pixels in the adjacent reference region of the current block.
[0230] Optionally, the pixel to be filtered is located in a preset region, which is located in the current block, and the reference pixel may include pixels in the reference region adjacent to the preset region.
[0231] Optionally, at least one filtering result of the pixel to be filtered can be determined or obtained based on at least one filtering model and the pixels in the adjacent reference region of the current block.
[0232] In this embodiment, by using pixels in the adjacent reference region of the current block as reference pixels for the pixel to be filtered, directional and intensity continuity information across block boundaries can be provided, improving the filtering effect on the pixel, and thus supporting the improvement of encoding and / or decoding quality in the video encoding and / or decoding process.
[0233] Method a5: Pixels within the non-adjacent reference region of the current block.
[0234] Optionally, pixels in non-adjacent reference regions of the current block refer to reconstructed pixels in reference regions that have no direct spatial adjacency to the current block (e.g., separated from the current block by multiple coding tree units).
[0235] Optionally, the pixel value of the reference pixel includes at least one of the reconstructed value, predicted value, and filtered value of pixels in the non-adjacent reference region of the current block.
[0236] Optionally, the pixel to be filtered is located in a preset region, which is located in the current block, and the reference pixel may include pixels in non-adjacent reference regions of the preset region.
[0237] Optionally, pixels in the non-adjacent reference region of the current block can be reconstructed pixels that have a strong statistical and / or semantic correlation with the pixel to be filtered, as determined by content analysis (such as similar textures, repeating patterns, and / or gradient matching). For example, repeating icons in screen content, periodic texture regions in natural images, etc.
[0238] Optionally, the non-adjacent reference region of the current block can be a reference region that is not adjacent to the current block, determined by motion vectors and / or block vectors.
[0239] Optionally, the motion vector and / or block vector can be the motion vector and / or block vector of at least one of the pixels to be filtered, pixels within the current block, and pixels within a preset range.
[0240] Optionally, based on at least one filtering model and the pixels in the non-adjacent reference region of the current block, at least one filtering result of the pixel to be filtered is determined or obtained.
[0241] Optionally, based on at least one filtering model and a reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained. The reference pixel includes at least one of the following: the pixel to be filtered, adjacent pixels in the current block, neighboring pixels in the current block, pixels in the adjacent reference area of the current block, and pixels in the non-adjacent reference area of the current block.
[0242] In this embodiment, by using pixels in the non-adjacent reference region of the current block as reference pixels for the pixel to be filtered, the spatial limitations of traditional causal neighborhoods can be overcome. This introduces distant reconstructed pixels that are similar in texture, structure and / or semantics to the pixel to be filtered, the current block and / or the preset region as reference information, thereby improving the filtering effect on the pixel and thus supporting the improvement of encoding and decoding quality in the video encoding and / or decoding process.
[0243] Optionally, the method for determining or obtaining the reference pixel includes at least one of the following methods b1 to b17:
[0244] Method b1, filtering processing order;
[0245] Optionally, the filtering order is the order in which the filter values of the pixels to be filtered in the current block are determined.
[0246] Optionally, at least one filtering process order is determined or obtained based on the order in which the reconstructed values and / or filtered values of the pixels to be filtered in the current block are determined.
[0247] Optionally, at least one filtering process order includes the order in which the filtered values of the pixels to be filtered in the current block are determined, and the at least one filtering process order is determined or obtained according to the order in which the reconstructed values of the pixels to be filtered in the current block are determined.
[0248] Optionally, the order in which the filtered values of the pixels to be filtered in the current block are determined is used as at least one filtering process order, and / or the order in which the reconstructed values of the pixels to be filtered in the current block are determined is used as at least one filtering process order.
[0249] Optionally, determining the order of the filtered values of the pixels to be filtered in the current block refers to the predefined spatial order in which the positions of the pixels to be filtered in the current block are traversed and / or processed when the current block is being filtered. The filtering order determines the order in which each pixel is filtered and can also implicitly specify which other pixels have been filtered and can be used as valid reference pixels when a certain pixel position is being processed.
[0250] Optionally, determining the order of the reconstructed values of the pixels to be filtered in the current block refers to the order in which the pixels in the current block complete the reconstruction operation of prediction and residual superposition during the reconstruction stage. It can also implicitly specify which other pixels have been reconstructed and can be used as valid reference pixels when processing a certain pixel position.
[0251] Optionally, determining or obtaining the filtering order based on the order of the reconstructed values of the pixels to be filtered in the current block can avoid noise interference introduced by reconstruction uncertainty, and / or enable the filtering to make full use of the reconstructed local structural information, improve edge fidelity and / or texture restoration capability, and obtain a more stable and / or higher quality filtering effect.
[0252] Optionally, if the filtering order is determined or obtained according to the order in which the reconstructed values of the pixels to be filtered in the current block are determined, then the reconstructed pixels that are processed before the pixels to be filtered are determined as reference pixels. Based on at least one filtering model and the reference pixels, at least one filtering result of the pixels to be filtered is determined or obtained. This can avoid noise interference caused by reconstruction uncertainty and / or enable the filtering to make full use of the reconstructed local structural information, thereby improving the filtering effect.
[0253] Optionally, if the filtering process order is determined or obtained based on the order in which the filtered value and reconstructed value of the pixel to be filtered in the current block are determined, then the pixel whose reconstructed value and filtered value are determined first in the filtering process order (i.e., the filtered and reconstructed pixel) is used as the reference pixel. Based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained. This can make the content of the reference pixel more stable and / or the noise more controllable, and reduce the quantization distortion and / or residual interference that may be introduced by using unfiltered pixels.
[0254] Optionally, if the filtering order is determined or obtained based on the order in which the filtered value and reconstructed value of the pixel to be filtered in the current block are determined, then the pixel whose reconstructed value is determined first and whose filtered value is processed later (i.e., the unfiltered reconstructed pixel) can also be selected as the reference pixel. Based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered can be determined or obtained. Although such pixels have not undergone the current filtering process, their reconstructed values (e.g., processed by DB and / or SAO) have been determined, preserving more original local signal details and high-frequency information, which can provide rich and / or real local context for the filtering model.
[0255] Optionally, a reference pixel is determined or obtained according to the filtering process order, and at least one filtering result of the pixel to be filtered is determined or obtained according to at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0256] Optionally, based on the filtering processing order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained; a reference pixel is determined or obtained from the candidate reference pixels based on the filtering order distance; and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel.
[0257] Optionally, the filtering order distance refers to the number of filtering steps (i.e., the number of pixels processed in between) between a candidate reference pixel and the pixel to be filtered under a given filtering processing order. For example, if pixel A is processed in step 5 and pixel B to be filtered is processed in step 8 according to the filtering processing order, the filtering order distance from A to B can be represented by 3.
[0258] Optionally, based on the filtering process order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained, and the candidate reference pixel whose filtering order distance is less than a preset distance threshold is determined as the reference pixel for filtering process, and / or the candidate reference pixel with the smallest filtering order distance is determined as the reference pixel for filtering process.
[0259] Optionally, based on the filtering processing order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained, and the candidate reference pixel whose filtering order distance is less than a preset distance threshold is determined as the reference pixel for filtering processing. The reference pixel may include: pixels whose reconstructed value is determined before the pixel to be filtered in the filtering processing order, and whose filtered value is determined before and / or after the pixel to be filtered.
[0260] Optionally, since the filtering process is applied to the reconstructed (predicted + residual determined) signal, its input pixel value is fixed before the filtering begins and does not depend on the output causality of the filtering itself. Therefore, according to the filtering process order, the pixel whose filter value is determined before and / or after the pixel to be filtered can be selected as the reference pixel.
[0261] Optionally, the filtering order distance between the candidate reference pixel and the pixel to be filtered can be determined or obtained according to the filtering processing order. Based on at least one of the filtering order distance, the type of at least one filtering model, the distance between the candidate reference pixel and the pixel to be filtered (e.g., geometric distance), and the position of the candidate reference pixel, a target candidate reference combination can be determined or obtained from the candidate reference combination. The candidate reference pixels in the target candidate reference combination are determined as reference pixels for filtering processing.
[0262] Optionally, candidate reference pixels are combined according to the filtering order distance to determine or obtain the candidate reference combination and its total filtering order distance. For example, if the distance between candidate reference pixel A and the pixel to be filtered is 3, and the distance between candidate reference pixel B and the pixel to be filtered is 2, then the total filtering order distance of the candidate reference combination of candidate reference pixels A and B is 5. Based on the total filtering order distance of the candidate reference combination, the target candidate reference combination is determined or obtained, and the candidate reference pixels in the target candidate reference combination are determined as reference pixels for filtering processing.
[0263] Optionally, candidate reference combinations whose total filtering order distance is less than a preset distance threshold are determined as target candidate reference combinations, and / or, candidate reference combinations with the smallest total filtering order distance are determined as target candidate reference combinations.
[0264] Optionally, a target candidate reference combination can be determined or obtained from the candidate reference combination based on at least one of the following: the total distance of the filtering order of at least one candidate reference combination, the type of at least one filtering model, the distance (e.g., geometric distance) between the candidate reference pixel and the pixel to be filtered, and the position of the candidate reference pixel. The candidate reference pixels in the target candidate reference combination are then determined as reference pixels for filtering processing.
[0265] Optionally, the candidate reference pixels include at least one of the following: the pixel to be filtered, the neighboring pixel in the current block, the adjacent pixel in the current block, the pixel in the adjacent reference region of the current block, and the pixel in the non-adjacent reference region of the current block.
[0266] Optionally, based on the filtering processing order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained; based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold); based on the position of the first pixel, the reference priority of the first pixel is determined or obtained; based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel; and based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0267] Optionally, at least one filtering processing order corresponds to at least one filtering model. At least one filtering processing order is determined or obtained according to the type of at least one filtering model, and / or, the type of at least one filtering model is determined or obtained according to the at least one filtering processing order. The filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained according to the filtering processing order. A first pixel is determined or obtained from the candidate reference pixels according to the filtering order distance (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold). The reference priority of the first pixel is determined or obtained according to the position of the first pixel. A reference pixel is determined or obtained from the first pixel according to the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel. At least one filtering result of the pixel to be filtered is determined or obtained according to the at least one filtering model and the reference pixel.
[0268] In this embodiment, pixels with similar filtering orders (e.g., filtering order distance less than a preset distance threshold) are selected as reference pixels, which can more realistically reflect the continuity and / or structural consistency of local signals. Pixels whose filtering values are determined earlier provide a stable, enhanced context, which helps suppress accumulated noise. While pixels whose filtering values are determined later are not filtered, their reconstructed values retain the original high-frequency details and edge information, avoiding detail loss due to over-reliance on smoothed areas. By fusing complementary information from neighboring pixels, the filtering model can more accurately determine texture direction, edge intensity, and / or distortion type, thereby achieving a stronger filtering effect.
[0269] Optionally, the filtering process sequence includes at least one of the following methods b11 to b14:
[0270] Method b11, horizontal raster scanning sequence;
[0271] Optionally, if the filtering process is a horizontal grating scanning order, then a reference pixel is determined or obtained according to the horizontal grating scanning order, and at least one filtering result of the pixel to be filtered is determined or obtained according to at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0272] Optionally, the horizontal raster scan sequence refers to the predefined spatial traversal order in which each pixel position is processed sequentially from left to right and from top to bottom when filtering the current block. The horizontal raster scan sequence is row-based, that is, the filtering of all pixels in the first row is completed first, then the second row is moved on, and so on, until the entire block is processed.
[0273] Referring to Figure 8, the current block comprises 4×4 pixel positions, numbered from 0 to 15. When filtering the current block, the pixels are processed one by one in the order of "from left to right and from top to bottom", including: 0→1→2→3→......12→13→14→15. The arrows in Figure 8 indicate the order of filtering. Each row is from left to right, and the rows are from top to bottom. If the scanning order is the same as the order of determining the reconstructed pixel values, the pixel to be filtered can only use pixels before its number (i.e., already reconstructed) as reference pixels. If the scanning order represents the order of determining the filtered pixel values, the pixel to be filtered can use pixels before its number (i.e., already filtered) and / or pixels after its number (i.e., unfiltered) as reference pixels.
[0274] Optionally, the reference pixel can be the pixel closest to the pixel to be filtered in the filtering process order, i.e. the pixel with the smallest filtering order distance, and / or the reference pixel can be a pixel whose filtering order distance is less than a preset distance threshold. The filtering order distance refers to the number of filtering steps (i.e. the number of pixels processed in between) between the reference pixel and / or the candidate reference pixel and the pixel to be filtered in a given filtering process order.
[0275] Referring to Figure 8, if the filtering process sequence is the horizontal raster scan shown in Figure 8, which represents the order in which the pixel filtering values are determined, and pixel 2 is the pixel to be filtered, then pixels 1 and 3 are the pixels closest to the pixel to be filtered in the filtering process sequence. If pixel 8 is the pixel to be filtered, then pixels 7 and 9 are the pixels closest to the pixel to be filtered in the filtering process sequence. This is because after the filtering process of pixel 1 is completed, the filtering process of pixel 2 will start immediately, and after the filtering process of pixel 2 is completed, the filtering process of pixel 3 will start immediately. After the filtering process of pixel 7 is completed, the filtering process of pixel 8 will start immediately, and after the filtering process of pixel 8 is completed, the filtering process of pixel 9 will start immediately.
[0276] Optionally, if the filtering process includes a horizontal raster scanning order, then based on the horizontal raster scanning order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained; based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold); based on the position of the first pixel, the reference priority of the first pixel is determined or obtained; based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel; and based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0277] Optionally, at least one filtering processing order corresponds to at least one filtering model. Based on the type of at least one filtering model, at least one filtering processing order is determined or obtained (e.g., the at least one filtering processing order is determined or obtained as a horizontal raster scan order). And / or, based on at least one filtering processing order (e.g., the at least one filtering processing order is a horizontal raster scan order), the type of at least one filtering model is determined or obtained. Based on the horizontal raster scan order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained. Based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold). Based on the position of the first pixel, the reference priority of the first pixel is determined or obtained. Based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel. Based on the at least one filtering model and the reference pixel, the pixel to be filtered is filtered.
[0278] In this embodiment, a horizontal raster scanning order (from left to right, from top to bottom) is used as the filtering processing order. This is highly aligned with the prediction and / or reconstruction processing flow in video coding. When the filtering model processes the pixel to be filtered, it naturally obtains high-quality reference pixels that have been reconstructed and / or filtered in the areas to its left and / or above. These directions are the most frequently used reference areas in prediction processing. Therefore, the reference pixels may have a strong correlation and / or consistent texture structure with the pixel to be filtered. This helps the filtering model to more accurately capture local features such as horizontal / vertical edges and / or smooth areas, thereby improving the filtering effect.
[0279] Method b12, vertical raster scanning sequence;
[0280] Optionally, if the filtering process is a vertical grating scanning sequence, then a reference pixel is determined or obtained according to the vertical grating scanning sequence, and at least one filtering result of the pixel to be filtered is determined or obtained according to at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0281] Optionally, the vertical raster scan sequence refers to the predefined spatial traversal order in which each pixel position is processed sequentially from top to bottom and from left to right when filtering the current block. This order is column-based, meaning that the filtering of all pixels in the first column is completed first, then the second column is processed, and so on, until the entire block is processed.
[0282] Referring to Figure 9, the current block comprises 4×4 pixel positions, numbered from 0 to 15. When filtering the current block, the pixels are processed one by one in the order of "from top to bottom and from left to right", including: 0→1→2→3→......12→13→14→15. The arrows in Figure 9 indicate the order of filtering. Each column is from top to bottom, and the columns are from left to right. If the scanning order is the same as the order of determining the reconstructed pixel values, the pixel to be filtered can only use pixels before its number (i.e., already reconstructed) as reference pixels. If the scanning order represents the order of determining the filtered pixel values, the pixel to be filtered can use pixels before its number (i.e., already filtered) and / or pixels after its number (i.e., unfiltered) as reference pixels.
[0283] Optionally, the reference pixel can be the pixel closest to the pixel to be filtered in the filtering process order, i.e. the pixel with the smallest filtering order distance, and / or the reference pixel can be a pixel whose filtering order distance is less than a preset distance threshold. The filtering order distance refers to the number of filtering steps (i.e. the number of pixels processed in between) between the reference pixel and / or the candidate reference pixel and the pixel to be filtered in a given filtering process order.
[0284] Referring to Figure 9, if the filtering process sequence is the vertical raster scan shown in Figure 9, which represents the order in which the pixel filtering values are determined, and pixel 2 is the pixel to be filtered, then pixels 1 and 3 are the pixels closest to the pixel to be filtered in the filtering process sequence. If pixel 8 is the pixel to be filtered, then pixels 7 and 9 are the pixels closest to the pixel to be filtered in the filtering process sequence. This is because after the filtering process of pixel 1 is completed, the filtering process of pixel 2 will start immediately, and after the filtering process of pixel 2 is completed, the filtering process of pixel 3 will start immediately. After the filtering process of pixel 7 is completed, the filtering process of pixel 8 will start immediately, and after the filtering process of pixel 8 is completed, the filtering process of pixel 9 will start immediately.
[0285] Optionally, if the filtering process includes a vertical raster scanning order, then based on the vertical raster scanning order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained; based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold); based on the position of the first pixel, the reference priority of the first pixel is determined or obtained; based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel; and based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0286] Optionally, at least one filtering processing order corresponds to at least one filtering model. Based on the type of at least one filtering model, at least one filtering processing order is determined or obtained (e.g., the at least one filtering processing order is determined or obtained as a vertical raster scan order). And / or, based on at least one filtering processing order (e.g., the at least one filtering processing order is a vertical raster scan order), the type of at least one filtering model is determined or obtained. Based on the vertical raster scan order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained. Based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold). Based on the position of the first pixel, the reference priority of the first pixel is determined or obtained. Based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel. Based on the at least one filtering model and the reference pixel, the pixel to be filtered is filtered.
[0287] In this embodiment, the vertical raster scanning order (from top to bottom, from left to right) prioritizes processing the pixels above, so that the pixels to be filtered can make fuller use of the processed information in the columns directly above and / or adjacent to them. This order is suitable for areas dominated by vertical edges or vertical textures (such as building pillars, text columns, fences), which helps to maintain edge continuity along the vertical direction, reduce lateral blurring, and improve the filtering effect.
[0288] Method b13, diagonal raster scanning sequence;
[0289] Optionally, if the filtering process is a diagonal grating scanning order, then a reference pixel is determined or obtained according to the diagonal grating scanning order, and at least one filtering result of the pixel to be filtered is determined or obtained according to at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0290] Optionally, the diagonal raster scan (SCAN_DIAG) order refers to the predefined spatial traversal order in which the pixel positions on each diagonal are processed one by one, from the top left to the bottom right, when filtering the current block.
[0291] Referring to Figure 10, the current block comprises 4×4 pixel positions, numbered from 0 to 15. When filtering the current block, it is processed line by line in the order of "from the top left to the bottom right along the main diagonal", including: 0→1→2→3→......12→13→14→15. The arrows in Figure 10 indicate the order of filtering. The top left corner (0) is processed first, and then the process proceeds line by line to the bottom right. If the scanning order is the same as the order of determining the pixel reconstruction value, the pixel to be filtered can only use the pixels before its number (i.e., already reconstructed) as reference pixels. If the scanning order represents the order of determining the pixel filtering value, the pixel to be filtered can use the pixels before its number (i.e., already filtered) and / or the pixels after its number (i.e., not filtered) as reference pixels.
[0292] Optionally, the reference pixel can be the pixel closest to the pixel to be filtered in the filtering process order, i.e. the pixel with the smallest filtering order distance, and / or the reference pixel can be a pixel whose filtering order distance is less than a preset distance threshold. The filtering order distance refers to the number of filtering steps (i.e. the number of pixels processed in between) between the reference pixel and / or the candidate reference pixel and the pixel to be filtered in a given filtering process order.
[0293] Referring to Figure 10, if the filtering process order is the diagonal raster scanning order shown in Figure 10, which represents the order in which the pixel filtering values are determined, and pixel 2 is the pixel to be filtered, then pixels 1 and 3 are the pixels closest to the pixel to be filtered in the filtering process order. If pixel 8 is the pixel to be filtered, then pixels 7 and 9 are the pixels closest to the pixel to be filtered in the filtering process order. This is because after the filtering process of pixel 1 is completed, the filtering process of pixel 2 will start immediately, and after the filtering process of pixel 2 is completed, the filtering process of pixel 3 will start immediately. After the filtering process of pixel 7 is completed, the filtering process of pixel 8 will start immediately, and after the filtering process of pixel 8 is completed, the filtering process of pixel 9 will start immediately.
[0294] Optionally, if the filtering process includes a diagonal raster scanning order, then based on the diagonal raster scanning order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained; based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold); based on the position of the first pixel, the reference priority of the first pixel is determined or obtained; based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel; and based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0295] Optionally, at least one filtering processing order corresponds to at least one filtering model. Based on the type of at least one filtering model, at least one filtering processing order is determined or obtained (e.g., at least one filtering processing order is determined or obtained as a diagonal raster scan order). And / or, based on at least one filtering processing order (e.g., at least one filtering processing order is a diagonal raster scan order), the type of at least one filtering model is determined or obtained. Based on the diagonal raster scan order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained. Based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold). Based on the position of the first pixel, the reference priority of the first pixel is determined or obtained. Based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel. Based on the at least one filtering model and the reference pixel, the pixel to be filtered is filtered.
[0296] In this embodiment, the diagonal raster scanning sequence (advancing line by line along the main diagonal direction, i.e. from the top left to the bottom right) ensures that the reference pixels come from the top left region, naturally matching the edges or diagonal textures (such as roofs, slopes, motion trajectories) in the approximately 45° direction. Under this sequence, the filtering model can more accurately model the correlation of diagonal signals, effectively suppress ringing and / or blurring distributed along the diagonal, and enhance the ability to restore diagonal details.
[0297] Method b14, anti-diagonal raster scanning sequence.
[0298] Optionally, if the filtering process is an anti-diagonal raster scanning sequence, a reference pixel is determined or obtained according to the anti-diagonal raster scanning sequence, and at least one filtering result of the pixel to be filtered is determined or obtained according to at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0299] Optionally, the reverse diagonal scan order refers to the predefined spatial traversal order in which the pixel positions on each antidiagonal line are processed one by one from the upper right to the lower left when filtering the current block.
[0300] Referring to Figure 11, the current block comprises 4×4 pixel positions, numbered from 0 to 15. When filtering the current block, it is processed line by line in the order of "from the upper right to the lower left along the anti-diagonal line", including: 0→1→2→3→......12→13→14→15. The arrows in Figure 11 indicate the order of filtering. The upper right corner (0) is processed first, and then the process proceeds line by line to the lower left. If the scanning order is the same as the order of determining the pixel reconstruction value, the pixel to be filtered can only use the pixels before its number (i.e., already reconstructed) as reference pixels. If the scanning order represents the order of determining the pixel filtering value, the pixel to be filtered can use the pixels before its number (i.e., already filtered) and / or the pixels after its number (i.e., not filtered) as reference pixels.
[0301] Optionally, the reference pixel can be the pixel closest to the pixel to be filtered in the filtering process order, i.e. the pixel with the smallest filtering order distance, and / or the reference pixel can be a pixel whose filtering order distance is less than a preset distance threshold. The filtering order distance refers to the number of filtering steps (i.e. the number of pixels processed in between) between the reference pixel and / or the candidate reference pixel and the pixel to be filtered in a given filtering process order.
[0302] Referring to Figure 11, if the filtering process order is the anti-diagonal raster scanning order shown in Figure 11, which represents the order in which the pixel filtering values are determined, and pixel 2 is the pixel to be filtered, then pixels 1 and 3 are the pixels closest to the pixel to be filtered in the filtering process order. If pixel 8 is the pixel to be filtered, then pixels 7 and 9 are the pixels closest to the pixel to be filtered in the filtering process order. This is because after the filtering process of pixel 1 is completed, the filtering process of pixel 2 will start immediately, and after the filtering process of pixel 2 is completed, the filtering process of pixel 3 will start immediately. After the filtering process of pixel 7 is completed, the filtering process of pixel 8 will start immediately, and after the filtering process of pixel 8 is completed, the filtering process of pixel 9 will start immediately.
[0303] Optionally, if the filtering process includes an anti-diagonal raster scan order, then based on the anti-diagonal raster scan order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained; based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold); based on the position of the first pixel, the reference priority of the first pixel is determined or obtained; based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel; and based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0304] Optionally, at least one filtering processing order corresponds to at least one filtering model. Based on the type of the at least one filtering model, at least one filtering processing order is determined or obtained (e.g., at least one filtering processing order is determined or obtained as an anti-diagonal raster scan order). And / or, based on the at least one filtering processing order (e.g., at least one filtering processing order is an anti-diagonal raster scan order), the type of at least one filtering model is determined or obtained. Based on the anti-diagonal raster scan order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined or obtained. Based on the filtering order distance, a first pixel is determined or obtained from the candidate reference pixels (e.g., the first pixel is a candidate reference pixel whose filtering order distance is less than a preset distance threshold). Based on the position of the first pixel, the reference priority of the first pixel is determined or obtained. Based on the distance (e.g., geometric distance) between the first pixel and the pixel to be filtered and / or the reference priority of the first pixel, a reference pixel is determined or obtained from the first pixel. Based on the at least one filtering model and the reference pixel, the pixel to be filtered is filtered.
[0305] In this embodiment, the anti-diagonal raster scanning sequence (along the sub-diagonal direction, i.e., from the upper right to the lower left) prioritizes the use of pixels already processed on the upper right side, which is more suitable for processing structural features in the direction of about 135° (such as reverse tilted lines, fabric textures at specific angles). This sequence can improve the fidelity of reverse tilted edges and avoid edge breaks or artifact residues caused by mismatch in reference directions.
[0306] Method b2, the distance between the candidate reference pixel and the pixel to be filtered;
[0307] Optionally, a reference pixel is determined or obtained based on the distance between the candidate reference pixel and the pixel to be filtered, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0308] Alternatively, the candidate reference pixel is a pixel that may be used as a reference pixel for filtering.
[0309] Optionally, the candidate reference pixel includes at least one of the following: the pixel to be filtered, neighboring pixels within the current block, adjacent pixels within the current block, pixels within the adjacent reference region of the current block, pixels within the non-adjacent reference region of the current block, reconstructed pixels, reconstructed pixels within the current block, pixels of the same component and / or across components of the pixel to be filtered, pixels determined or obtained based on the motion vector and / or block vector of the pixel to be filtered, pixels determined or obtained based on the motion vector and / or block vector of pixels within the current block, pixels determined or obtained based on the motion vector and / or block vector of pixels within a preset range, pixels adjacent above the current block, non-adjacent above the current block, adjacent to the left, non-adjacent to the left, adjacent to the upper left, non-adjacent to the upper left, pixels in the adjacent region and / or non-adjacent region of the current block, pixels in the first component image block and / or the second component image block of the current block, pixels in the default block, neighboring block, non-neighboring block, co-located block, temporal block of the current block, and adjacent and neighboring pixels of at least one combination of pixels to be filtered in the current block.
[0310] Optionally, based on the distance between the candidate reference pixels and the pixel to be filtered, at least a portion of the candidate reference pixels are selected as reference pixels, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixels. The reference pixels include at least one of methods a1 to a5 in the second embodiment.
[0311] Optionally, the distance between the candidate reference pixel and the pixel to be filtered includes at least one of the following: Euclidean distance, Chebyshev distance, content-based similarity measure, and weighted distance.
[0312] Optionally, the Euclidean distance refers to the straight-line distance between the candidate reference pixel and the pixel to be filtered.
[0313] Optionally, the Chebyshev distance refers to the absolute value of the maximum coordinate difference between two points: the candidate reference pixel and the pixel to be filtered.
[0314] Optionally, content-based similarity measurement refers to a similarity measurement between candidate reference pixels and pixels to be filtered based on features such as color, brightness, and / or texture.
[0315] Optionally, weighted distance refers to assigning different weights to different directions, different coordinate axes and / or different features when calculating the distance between candidate reference pixels and the pixel to be filtered, so as to more accurately reflect their effective distance and / or perceived distance in a specific application scenario.
[0316] Optionally, according to the filtering processing order, a candidate reference pixel whose reconstructed value determination order is higher than that of the pixel to be filtered is determined from at least one of the pixel to be filtered, the neighboring pixel in the current block, the adjacent pixel in the current block, the pixel in the adjacent reference region of the current block, and the pixel in the non-adjacent reference region of the current block, such that the candidate reference pixel is a reconstructed pixel. According to the filtering processing order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined. According to the filtering order distance and / or distance (e.g., geometric distance) between the candidate reference pixel and the pixel to be filtered, a reference pixel is determined or obtained from the candidate reference pixels. According to at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0317] In this embodiment, since adjacent pixels in natural images usually have similar brightness, chromaticity and / or structural features, selecting a pixel that is closer to the pixel to be filtered as a reference pixel based on the distance between the candidate reference pixel and the pixel to be filtered can more effectively utilize the local spatial correlation of the image. This reference selection based on geometric proximity enables the filtering model to more accurately model local smooth regions and / or continuous edges, effectively suppress quantization noise, compress artifacts, and / or better preserve real details and boundary sharpness, thereby improving the filtering effect.
[0318] Method b3, the position of the candidate reference pixel;
[0319] Optionally, a reference pixel is determined or obtained based on the position of the candidate reference pixel, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0320] Optionally, the position of the candidate reference pixel refers to the spatial orientation and geometric layout of the candidate reference pixel relative to the pixel to be filtered and / or the current block, such as including the orientation category to which the candidate reference pixel belongs, namely the horizontal direction, the vertical direction and / or the diagonal direction.
[0321] Optionally, the candidate reference pixel includes at least one of the following: the pixel to be filtered, neighboring pixels within the current block, adjacent pixels within the current block, pixels within the adjacent reference region of the current block, pixels within the non-adjacent reference region of the current block, reconstructed pixels, reconstructed pixels within the current block, pixels of the same component and / or across components of the pixel to be filtered, pixels determined or obtained based on the motion vector and / or block vector of the pixel to be filtered, pixels determined or obtained based on the motion vector and / or block vector of pixels within the current block, pixels determined or obtained based on the motion vector and / or block vector of pixels within a preset range, pixels adjacent above the current block, non-adjacent above the current block, adjacent to the left, non-adjacent to the left, adjacent to the upper left, non-adjacent to the upper left, pixels in the adjacent region and / or non-adjacent region of the current block, pixels in the first component image block and / or the second component image block of the current block, pixels in the default block, neighboring block, non-neighboring block, co-located block, temporal block of the current block, and adjacent and neighboring pixels of at least one combination of pixels to be filtered in the current block.
[0322] Optionally, since textures, edges, and / or structures in the horizontal and / or vertical directions have a higher probability of appearing than those in the diagonal direction in natural images, pixels located in the horizontal and / or vertical directions generally have a stronger correlation. Therefore, in this embodiment of the application, reference pixels are determined or obtained based on the position of candidate reference pixels.
[0323] Optionally, the reference priority of the candidate reference pixel is determined or obtained based on the position of the candidate reference pixel, and the reference pixel is determined or obtained based on the reference priority. For example, the reference priority of candidate reference pixels in the horizontal and / or vertical directions is higher than the reference priority of candidate reference pixels in the diagonal direction.
[0324] Optionally, according to the filtering processing order, a candidate reference pixel whose reconstructed value determination order is higher than that of the pixel to be filtered is determined from at least one of the pixel to be filtered, adjacent pixels in the current block, neighboring pixels in the current block, pixels in the adjacent reference region of the current block, and pixels in the non-adjacent reference region of the current block, such that the candidate reference pixel is a reconstructed pixel. According to the position of the candidate reference pixel, the reference priority of the candidate reference pixel is determined or obtained. According to the filtering processing order, the filtering order distance between the candidate reference pixel and the pixel to be filtered is determined. According to at least one of the distance between the candidate reference pixel and the pixel to be filtered, the filtering order distance, and the reference priority of the candidate reference pixel, a reference pixel is determined or obtained from the candidate reference pixels. According to at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0325] In this embodiment, a reconstructed candidate reference pixel with better orientation (i.e., position) can be used as a reference pixel, so that the limited reference resources are focused on the position with the greatest filtering gain, thereby improving the filtering effect without increasing signaling overhead and computational burden.
[0326] Method b4, at least one filter model type;
[0327] Optionally, a reference pixel is determined or obtained based on the type of at least one filtering model, and at least one filtering result of the pixel to be filtered is determined or obtained based on the at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0328] Optionally, the type of filtering model can be a structural category of the model used to filter the pixels to be filtered, characterized by a specific dependency pattern on the spatial layout of the reference pixels. Different filtering model types can be set with at least one sampling template (i.e., a set of spatial locations of reference pixels) that matches their modeling capabilities. This template defines the source of reference pixels required by the filtering model when performing filtering.
[0329] Optionally, the sampling template refers to a preset geometric layout used to define the set of reference pixel spatial locations, while the filter shape refers to the two-dimensional spatial form presented by the template. Together, they determine how the filtering model extracts information from the reconstructed pixels.
[0330] Optionally, the sampling template includes at least one of the following: cross-shaped template, square template, asymmetric template, and sparse template.
[0331] Optionally, the spatial layout of the cross-shaped template can be as follows: reference pixels are concentrated on the horizontal and / or vertical axes centered on the pixel to be filtered, forming a cross structure. For example, in a 7×7 window, only positions that satisfy dx=0 or dy=0 (i.e., the same row or the same column) are retained, totaling about 13 sampling points (including the center). This is suitable for areas dominated by strong horizontal or vertical edges, such as building outlines, text, fences, table lines, etc.
[0332] Optionally, the spatial layout of the square template can be: the reference pixel covers a complete square neighborhood, such as all positions of 5×5 or 7×7, usually with rotational symmetry, and the sampling density is consistent in all directions. It is suitable for isotropic textures or flat areas, such as the sky, skin, uniform material surfaces, etc., without a clear dominant direction.
[0333] Optionally, the spatial layout of the asymmetric template can be asymmetrical in terms of the distribution of reference pixels, such as biased towards the upper left, lower right, or a certain quadrant. For example, the center pixel (i.e. the pixel to be filtered) and its upper left 3×3 area are retained, but the lower right is ignored. This is suitable for scenarios with causal constraints or distortion in a specific direction.
[0334] Alternatively, the spatial layout of a sparse template can be achieved by selecting only a small number of key locations as reference pixels within a larger window, such as sampling every other pixel, or retaining only the center and four corner points. The total number of taps is significantly less than that of a dense template (e.g., reduced from 12 taps to 5-6 taps).
[0335] Optionally, the type of at least one filtering model corresponds to at least one sampling template, and the sampling template represents a set of spatial locations of reference pixels. Therefore, the type of at least one filtering model determines which spatial location reference information the filtering model can most effectively utilize to determine or obtain reference pixels.
[0336] Optionally, the sampling template of at least one filtering model is determined or obtained based on the filtering order distance and / or geometric distance of at least one candidate reference pixel. For example, the reference pixel positions in the sampling template of the filtering model include the candidate reference pixel with the smallest filtering order distance and / or geometric distance to the pixel to be filtered.
[0337] Optionally, a sampling template is determined or obtained based on the type of at least one filtering model, a reference pixel is determined or obtained based on the sampling template, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel.
[0338] In this embodiment, different image content may have different dominant directions and / or structural characteristics (e.g., text lines are mainly horizontal, building facades are mainly vertical). If all filtering models are forced to use the same set of reference pixels (i.e., sampling templates), some models may be limited in performance due to input (i.e., reference pixels) mismatch. However, in this embodiment, a sampling template that matches the modeling paradigm is preset for each type of filtering model, and reference pixels are determined or obtained according to the type of at least one filtering model to ensure that the filtering model runs in its optimal context and improves the filtering effect.
[0339] Method b5, pixels already predicted;
[0340] Optionally, a reference pixel is determined or obtained based on the predicted pixel, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0341] Optionally, determining or obtaining a reference pixel based on a predicted pixel can be achieved by utilizing information implicit in the predicted pixel (such as prediction mode, prediction direction, reference region features, etc.). For example, based on the information implicit in the predicted pixel, the type of at least one filtering model, sampling template, parameters of at least one filtering model, etc., can be determined or obtained, and then the reference pixel can be determined or obtained based on this. Based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered can be determined or obtained. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0342] Optionally, a reference pixel can be determined or obtained based on a reference sample of the predicted pixel.
[0343] Optionally, the reference sampling is the set of boundary pixels extracted from the reconstructed region upon which the predicted pixels depend, and the sampling method thereof.
[0344] In this embodiment, since the prediction process implicitly includes the structural priors of the local image, such as edge direction, texture complexity, and / or cross-component correlation, reference pixels are determined or obtained using this information. For example, the type of at least one filtering model, sampling template, and parameters of at least one filtering model are determined or obtained using the above information. Based on this, reference pixels are determined or obtained. This can enhance edge preservation in strong edge regions and / or strengthen noise reduction in flat regions, avoiding detail blurring or artifact residue caused by "one-size-fits-all" filtering, and improving the filtering effect.
[0345] Method b6, pixels have been reconstructed;
[0346] Optionally, a reference pixel is determined or obtained based on the reconstructed pixel, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0347] Optionally, a reference pixel is determined or obtained from the reconstructed pixels based on at least one of the following: the position of the reconstructed pixel, the distance between the reconstructed pixel and the pixel to be filtered, and the type of at least one filtering model. Based on the at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0348] Optionally, reconstructed pixels refer to pixels that have completed the full reconstruction process.
[0349] Optionally, the reconstructed pixels include pixels outside the current block (such as traditional causal neighborhoods like the top row and left column) as well as pixels inside the current block that have been processed in the order determined by the filter value.
[0350] Optionally, the reconstructed pixels include pixel values processed by loop filtering.
[0351] Optionally, the loop filtering includes at least one of the following filtering techniques: Deblocking Filter (DB), Bilateral Filter (BIF), Sample Adaptive Offset (SAO), and Adaptive Loop Filter (ALF).
[0352] Optionally, reconstructed pixels refer to optimized pixel values obtained after further processing through a series of loop filtering steps, based on the initial pixel values formed during video encoding, quantization, dequantization, and prediction compensation. The loop filtering process may employ a deblocking filter (DB) to mitigate boundary discontinuities caused by inter-block prediction errors, i.e., the so-called "blocking effect," and / or use a bilateral filter (BIF), which can smooth the image while preserving edge details, and / or sample adaptive offset (SAO), which analyzes the image to determine whether pixel values in a specific mode need to be increased or decreased by a fixed offset, thereby more accurately restoring the quality of the original image, and / or apply adaptive loop filtering (ALF) to further improve the quality of the reconstructed image.
[0353] Alternatively, reconstructed pixels processed by loop filtering can provide more accurate reference information, which helps to improve the filtering effect.
[0354] Optionally, a reconstructed pixel can be used as a reference pixel, or the reference pixel can be determined or obtained by deriving or calculating from at least one reconstructed pixel.
[0355] In this embodiment, the reference pixel is determined or obtained based on the reconstructed pixel, which ensures the complete synchronization of the prediction process at the encoding / decoding end and avoids mismatch caused by using unreconstructed values. At the same time, since the reconstructed pixel contains a wide range of information, the filtering effect of the pixel can be improved.
[0356] Method b7, predicted pixels within the current block;
[0357] Optionally, a reference pixel is determined or obtained based on the predicted pixel in the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0358] Optionally, determining or obtaining a reference pixel based on the predicted pixels in the current block can be achieved by utilizing information implicit in the predicted pixels in the current block (such as prediction mode, prediction direction, reference region features, etc.). For example, based on the information implicit in the predicted pixels in the current block, the type of at least one filtering model, sampling template, parameters of at least one filtering model, etc., can be determined or obtained, and then the reference pixel can be determined or obtained based on this. Based on the at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered can be determined or obtained. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0359] Optionally, a reference pixel can be determined or obtained based on a reference sample of the predicted pixel within the current block.
[0360] Optionally, the predicted pixel in the current block refers to the pixel whose predicted value has been calculated in the current block.
[0361] In this embodiment, the predicted pixels within the current block can provide local context with high spatial correlation to the pixels to be filtered (such as the edge direction of adjacent pixels and small gradient changes), which can improve the filtering effect of the pixels.
[0362] Method b8, the reconstructed pixels within the current block;
[0363] Optionally, a reference pixel is determined or obtained based on the reconstructed pixels in the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0364] Optionally, a reference pixel is determined or obtained from the reconstructed pixels in the current block based on at least one of the following: the position of the reconstructed pixel in the current block, the distance between the reconstructed pixel in the current block and the pixel to be filtered, and the type of at least one filtering model. Based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained.
[0365] Optionally, the reconstructed pixels in the current block refer to the pixels in the current block that have completed the full reconstruction process.
[0366] Optionally, the reconstructed pixel includes pixel values processed by at least partial loop filtering. Optionally, the loop filtering includes at least one of the following filtering techniques: Deblocking Filter (DB), Bilateral Filter (BIF), Sample Adaptive Offset (SAO), and Adaptive Loop Filter (ALF).
[0367] Optionally, reconstructed pixels refer to optimized pixel values obtained after a series of loop filtering processes, based on the initial pixel values formed during video encoding, quantization, dequantization, and prediction compensation. The loop filtering process may employ a deblocking filter (DB) to mitigate boundary discontinuities caused by inter-block prediction errors, i.e., the so-called "blocking effect," and / or use a bilateral filter (BIF), which can smooth the image while preserving edge details, and / or sample adaptive offset (SAO), which analyzes the image to determine whether pixel values in a specific mode need to be increased or decreased by a fixed offset, thereby more accurately restoring the quality of the original image, and / or apply adaptive loop filtering (ALF) to further improve the quality of the reconstructed image.
[0368] Alternatively, reconstructed pixels processed by loop filtering can provide more accurate reference information, which helps to improve the filtering effect.
[0369] Optionally, the reconstructed pixels in the current block can be directly used as reference pixels, or the reference pixels can be determined or obtained by deriving or calculating at least one reconstructed pixel in the current block.
[0370] In this embodiment, the reconstructed pixels in the current block are spatially close to the pixels to be filtered, and they typically share highly consistent texture, brightness, and / or edge characteristics. Therefore, they can provide more accurate local priors than external reference pixels, thus improving the pixel filtering effect.
[0371] Method b9, pixels in the same component and / or pixels across components of the pixel to be filtered;
[0372] Optionally, a reference pixel is determined or obtained based on the same component pixels and / or cross component pixels of the pixel to be filtered, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0373] Optionally, a pixel of the same component refers to a reconstructed pixel that belongs to the same component as the pixel to be filtered. For example, if the pixel to be filtered is a luminance pixel, then its pixel of the same component is the reconstructed luminance pixel.
[0374] Optionally, the pixels with the same component as the pixel to be filtered belong to the same image block as the pixel to be filtered.
[0375] Optionally, a cross-component pixel refers to a reconstructed pixel that belongs to a different component than the pixel to be filtered. For example, if the pixel to be filtered is a luminance pixel, then its cross-component pixel is a reconstructed chrominance pixel.
[0376] Optionally, the same component pixels and / or cross component pixels of the pixel to be filtered can be directly used as reference pixels, or the same component pixels and / or cross component pixels of at least one pixel to be filtered can be derived or calculated to determine or obtain the reference pixel.
[0377] Optionally, at least one filtering model in the embodiments of this application can be an improved ALF model, for example, called ALF-CCCM (Cross-Component Convolutional Model). By constructing a local nonlinear model, it implicitly derives a set of optimal filter coefficients using the reconstructed pixels of the second component that are in the same position as the reconstructed pixels of the first component in the current coding block and the neighborhood information of the reconstructed pixels around the first component in the current block. This achieves efficient filtering of the reconstructed pixels of the first component in the current block based on the reconstructed pixels of the second component in the current block. The first component is the chrominance component and the second component is the luminance component.
[0378] Optionally, if at least one filtering model is ALF-CCCM, then the reference pixel is determined or obtained based on the cross-component pixels of the pixel to be filtered, which can realize efficient filtering of the chrominance pixels in the current block based on the luminance pixels in the current block, and determine or obtain at least one filtering result of the pixel to be filtered based on ALF-CCCM and the reference pixel.
[0379] In this embodiment, a method for determining or obtaining reference pixels by using the same component pixels and / or cross component pixels of the pixel to be filtered uses the same component pixels and / or cross component pixels associated with the pixel to be filtered as reference pixels. Since these pixels have a high similarity to the pixel to be filtered, the filtering effect of the pixel to be filtered can be improved.
[0380] Method b10, the motion vector and / or block vector of the pixel to be filtered;
[0381] Optionally, a reference pixel is determined or obtained based on the motion vector and / or block vector of the pixel to be filtered, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0382] Optionally, the motion vector (MV) of the pixel to be filtered refers to a two-dimensional displacement vector used to indicate the location of the best-matching region of the pixel in the time domain (i.e., in other decoded reference frames).
[0383] Optionally, the block vector (BV) of the pixel to be filtered refers to a two-dimensional displacement vector used to indicate the location of the best-matching region of the pixel to be filtered within the same frame (i.e., within the current image) in Intra Block Copy (IBC) and / or certain intra prediction extension modes.
[0384] Optionally, a reference pixel is determined or obtained based on the pixel determined or obtained through the motion vector and / or block vector of the pixel to be filtered, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel.
[0385] Optionally, at least one pixel position can be determined in the reference frame and / or the current frame based on the motion vector and / or block vector of the pixel to be filtered, and the reference pixel can be determined or obtained based on the pixel at that pixel position.
[0386] Optionally, the pixel determined or obtained by the motion vector and / or block vector of the pixel to be filtered can be directly used as the reference pixel, or the reference pixel can be determined or obtained by deriving or calculating the obtained at least one pixel.
[0387] In this embodiment, the method of determining or obtaining reference pixels through the motion vector and / or block vector of the pixel to be filtered uses the pixels associated with the pixel to be filtered, which are determined or obtained based on the motion vector and / or block vector of the pixel to be filtered, as reference pixels. Since these pixels have a high similarity to the pixel to be filtered, the filtering effect of the pixel to be filtered can be improved.
[0388] Method b11, the motion vector and / or block vector of the pixels within the current block;
[0389] Optionally, a reference pixel is determined or obtained based on the motion vector and / or block vector of the pixel in the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0390] Optionally, the motion vector (MV) of the current pixel in the block refers to a two-dimensional displacement vector used to indicate the position of the best-matching region of the current pixel in the time domain (i.e., in other decoded reference frames).
[0391] Optionally, the block vector (BV) of the current intra-block pixel refers to the two-dimensional displacement vector used to indicate the position of the best-matching region of the current intra-block pixel within the same frame (i.e., within the current image) in Intra Block Copy (IBC) and / or certain intra-prediction extension modes.
[0392] Optionally, a reference pixel is determined or obtained based on the pixel determined or obtained through the motion vector and / or block vector of the pixel in the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel.
[0393] Optionally, at least one pixel position can be determined in the reference frame and / or the current frame based on the motion vector and / or block vector of the pixels in the current block, and the reference pixel can be determined or obtained based on the pixel at that pixel position.
[0394] Optionally, a pixel determined or obtained by the motion vector and / or block vector of the pixel in the current block can be directly used as a reference pixel, or the reference pixel can be determined or obtained by deriving or calculating the acquired pixel.
[0395] In this embodiment, the method of determining or obtaining reference pixels by using the motion vectors and / or block vectors of pixels within the current block uses pixels associated with the pixel to be filtered as reference pixels. Since the current block often has highly consistent motion characteristics or structural repetition, the regions pointed to by the motion vectors and / or block vectors of different pixels within the current block may contain content with high similarity to the pixel to be filtered, thus improving the filtering effect of the pixel to be filtered.
[0396] Method b12, motion vectors and / or block vectors of pixels within a preset range;
[0397] Optionally, a reference pixel is determined or obtained based on the motion vector and / or block vector of the pixels within a preset range, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0398] Optionally, the motion vector (MV) of a pixel within a preset range refers to a two-dimensional displacement vector used to indicate the position of the best-matching region of a pixel within the preset range in the time domain (i.e., in other decoded reference frames).
[0399] Optionally, the block vector (BV) of a pixel within a preset range refers to a two-dimensional displacement vector used in Intra Block Copy (IBC) and / or certain intra-prediction extension modes to indicate the position of the best-matching region of a pixel within the preset range in the same frame (i.e., within the current image).
[0400] Optionally, the preset range refers to a finite neighborhood region defined in the current frame and / or reference frame with reference to the pixel to be filtered and / or the current block. Its boundary can be preset according to the block size and / or content characteristics of the current block.
[0401] Optionally, the preset range includes at least one of the following: the spatiotemporal adjacent regions of the current block (such as encoded blocks in the causal neighborhood of the top, left, upper left, upper right, etc.), the local window centered on the pixel to be filtered in the current frame (such as a square region of 5×5, 7×7 or 9×9 pixels), the extended search window at the corresponding position in the reference frame (such as a ±3 pixel region centered on the initial MV), the reconstructed current frame region, and a specific region in the reference frame.
[0402] Optionally, a reference pixel is determined or obtained based on the pixel determined or obtained by the motion vector and / or block vector of the pixel within a preset range, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel.
[0403] Optionally, at least one pixel position can be determined in the reference frame and / or the current frame based on the motion vector and / or block vector of pixels within a preset range, and the reference pixel can be determined or obtained based on the pixel at that pixel position.
[0404] Optionally, the pixel determined or obtained by the motion vector and / or block vector of the pixels within a preset range can be directly used as the reference pixel, or the reference pixel can be determined or obtained by deriving or calculating the acquired pixel.
[0405] In this embodiment, a method for determining or obtaining reference pixels by using motion vectors and / or block vectors of pixels within a preset range is used. Pixels associated with the pixel to be filtered, determined or obtained based on motion vectors and / or block vectors of pixels within a preset range, are used as reference pixels. Since these pixels have a high similarity to the pixel to be filtered, the filtering effect on the pixel to be filtered can be improved.
[0406] Method b13, at least one of the following: the upper adjacent pixel, the upper non-adjacent pixel, the left adjacent pixel, the left non-adjacent pixel, the upper left adjacent pixel, and the upper left non-adjacent pixel;
[0407] Optionally, a reference pixel is determined or obtained based on at least one of the above adjacent pixel, above non-adjacent pixel, left adjacent pixel, left non-adjacent pixel, upper left adjacent pixel, and upper left non-adjacent pixel of the current block. Based on at least one filtering model and the reference pixel, at least one filtering result of the pixel to be filtered is determined or obtained. The reference pixel includes at least one of the methods a1 to a5 in the second embodiment.
[0408] Optionally, the upper adjacent pixel can be a pixel that is in the same image frame as the current block and is located above and adjacent to the current block.
[0409] Optionally, the non-adjacent pixel above can be a pixel that is in the same image frame as the current block, and is located above the current block but not adjacent to it.
[0410] Optionally, the left adjacent pixel can be a pixel that is in the same image frame as the current block and is located to the left of the current block and adjacent to the current block.
[0411] Optionally, the non-adjacent pixel on the left can be a pixel that is in the same image frame as the current block and is located to the left of the current block but is not adjacent to the current block.
[0412] Optionally, the upper left adjacent pixel can be a pixel that is in the same image frame as the current block and is located in the upper left of the current block and adjacent to the current block.
[0413] Optionally, the non-adjacent pixel in the upper left corner can be a pixel that is in the same image frame as the current block and is located in the upper left corner of the current block but is not adjacent to the current block.
[0414] Optionally, at least one of the following: the upper adjacent pixel, the upper non-adjacent pixel, the left adjacent pixel, the left non-adjacent pixel, the upper left adjacent pixel, and the upper left non-adjacent pixel can be a reconstructed pixel.
[0415] Optionally, at least one of the following can be used as a reference pixel: the upper adjacent pixel, the upper non-adjacent pixel, the left adjacent pixel, the left non-adjacent pixel, the upper left adjacent pixel, and the upper left non-adjacent pixel. Alternatively, the reference pixel can be determined or obtained by deriving or calculating the at least one obtained pixel.
[0416] In this embodiment, a reference pixel is determined or obtained based on at least one of the following: the upper adjacent pixel, the upper non-adjacent pixel, the left adjacent pixel, the left non-adjacent pixel, the upper left adjacent pixel, and the upper left non-adjacent pixel of the current block. The pixel to be filtered has a pixel value that is highly similar to at least one of the following: the upper adjacent pixel, the upper non-adjacent pixel, the left adjacent pixel, the left non-adjacent pixel, the upper left adjacent pixel, and the upper left non-adjacent pixel of the current block. Based on this, these adjacent pixels and / or non-adjacent pixels are used as reference pixels for the pixel to be filtered, which can improve the filtering effect of the predicted pixel during the prediction process.
[0417] Method b14, the adjacent and / or non-adjacent regions of the current block;
[0418] Optionally, a reference pixel is determined or obtained based on the adjacent and / or non-adjacent regions of the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0419] Optionally, the adjacent region is an image region that is adjacent to the image region where the pixel to be filtered is located, such as an image region located above and / or to the left of the image region where the pixel to be filtered is located, and the non-adjacent region is an image region that is not adjacent to the image region where the pixel to be filtered is located.
[0420] Optionally, adjacent regions contain neighboring blocks, and non-adjacent regions contain non-neighboring blocks.
[0421] Optionally, at least one reconstructed pixel can be selected as a reference pixel in the adjacent and / or non-adjacent regions corresponding to the pixel to be filtered. Alternatively, the pixel value derived or calculated from the pixel value of the selected at least one reconstructed pixel can be used as the pixel value of the corresponding reference pixel.
[0422] Optionally, the reference pixels may be located entirely or partially in the current block where the pixel to be filtered is located. For example, some reference pixels may be located in the current block where the pixel to be filtered is located, and other reference pixels may be located in the adjacent and / or non-adjacent areas of the current block where the pixel to be filtered is located.
[0423] Optionally, the non-adjacent regions of the current block can be determined or obtained by the block vector and / or motion vector of the pixels to be filtered, the pixels within the current block, and / or the pixels within a preset range.
[0424] Optionally, a reference block is determined or obtained by using the block vector and / or motion vector of the pixel to be filtered, the pixel in the current block, and / or the pixel within a preset range, and the reference block is used as a non-adjacent region.
[0425] In this embodiment, by determining or obtaining a reference pixel with high similarity to the pixel to be filtered through the adjacent and / or non-adjacent regions of the current block, the filtering effect of the pixel to be filtered can be improved.
[0426] Method b15, the first component image block and / or the second component image block of the current block;
[0427] Optionally, a reference pixel is determined or obtained based on the first component image block and / or the second component image block of the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0428] Optionally, the first component image block can be an image block of the chroma component or an image block of the luminance component.
[0429] Optionally, the second component image block can be an image block of the chroma component or an image block of the luminance component.
[0430] Optionally, the first component image block and the second component image block are image blocks of different components.
[0431] Optionally, the pixel to be filtered is a luminance pixel, the first component image block is a luminance image block, and the second component image block is a chrominance image block.
[0432] Optionally, the position of the first component image block in the first component image corresponds to the position of the second component image block in the second component image. For example, the pixels of the image used to be displayed on the display have three color components in the YUV format, namely the luminance component Y, the chrominance component U, and the chrominance component V. Each image block of the image to be displayed corresponds to one luminance image block and two chrominance image blocks, and the luminance image block and the two chrominance image blocks correspond to each other. Similarly, in the YUV format, each image block of the video image captured by the camera also corresponds to one luminance image block and two chrominance image blocks.
[0433] Optionally, the pixels of the first component image block and / or the second component image block of the current block can be directly used as reference pixels, or the reference pixels can be determined or obtained by deriving or calculating the at least one obtained pixel.
[0434] Optionally, the first component image block is an image block with the same component as the current block, and the second component image block is an image block with a different component than the current block.
[0435] Optionally, at least one filtering model in the embodiments of this application can be an improved ALF model, for example, called ALF-CCCM (Cross-Component Convolutional Model). By constructing a local nonlinear model, it implicitly derives a set of optimal filter coefficients using the reconstructed pixels of the second component that are in the same position as the reconstructed pixels of the first component in the current coding block and the neighborhood information of the reconstructed pixels around the first component in the current block. This achieves efficient filtering of the reconstructed pixels of the first component in the current block based on the reconstructed pixels of the second component in the current block. The first component is the chrominance component and the second component is the luminance component.
[0436] Optionally, if at least one filtering model is ALF-CCCM, then the reference pixel is determined or obtained based on the second component image block, and at least one filtering result of the pixel to be filtered is determined or obtained based on ALF-CCCM and the reference pixel.
[0437] In this embodiment, the method of determining or obtaining reference pixels through the first component image block and / or the second component image block of the image block uses the pixels of each associated component as reference pixels. Since these pixels have a high similarity to the pixels to be filtered, the filtering effect of the pixels to be filtered can be improved.
[0438] Method b16, at least one of the following: the default block, neighboring block, non-neighboring block, co-occurring block, and temporal block of the current block;
[0439] Optionally, a reference pixel is determined or obtained based on at least one of the default block, neighboring block, non-neighboring block, co-located block and temporal block of the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of the methods a1 to a5 in the second embodiment.
[0440] Optionally, the default block can be a pre-set block, such as a block with typical pixel characteristics pre-set by the encoder and / or decoder.
[0441] Optionally, a neighboring block can be a block adjacent to the current block, and can be a block that has already been predicted or reconstructed.
[0442] Optionally, a non-neighbor block can be a block that is not adjacent to the current block, and can be a block that has already been predicted or reconstructed.
[0443] Optionally, the co-position block can be an image block in the co-position image that has the same position and size as the current block. Optionally, the co-position image can be the image in the reference image that is closest to the current image in time.
[0444] Optionally, the temporal block can be a block that is distinguished in the time domain, such as an image block in the previous frame. For example, if there is video data containing three frames of images, the first frame is played in the first second, the second frame is played in the second second, and the third frame is played in the third second, if the current block predicted at the current moment is the current block after dividing the second frame image, then the temporal block can be determined to be the image block corresponding to it in the first frame image.
[0445] Optionally, at least one pixel can be obtained from at least one of the default block, neighboring block, non-neighboring block, co-located block and temporal block corresponding to the current block. The obtained at least one pixel can be used as a reference pixel, or the obtained at least one pixel can be derived or calculated to obtain the reference pixel.
[0446] In this embodiment, the reference pixel is determined or obtained based on at least one of the default block, neighboring block, non-neighboring block, co-located block and temporal block corresponding to the current block, which ensures the effectiveness of the reference pixel and improves the filtering effect of the pixel to be filtered.
[0447] Method b17, the adjacent pixels and / or neighboring pixels of at least one combination of pixels to be filtered in the current block.
[0448] Optionally, a reference pixel is determined or obtained based on the adjacent pixels and / or neighboring pixels of at least one combination of pixels to be filtered in the current block, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and the reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0449] Optionally, at least one pixel to be filtered in the current block can be identified, and at least one adjacent pixel to be filtered can be combined to obtain a combination of pixels to be filtered.
[0450] Optionally, the combination of pixels to be filtered includes at least two adjacent pixels to be filtered.
[0451] Optionally, adjacent and / or neighboring pixels corresponding to the combination of pixels to be filtered can be determined in the current block.
[0452] Optionally, at least one of the above adjacent pixel, above non-adjacent pixel, left adjacent pixel, left non-adjacent pixel, upper left adjacent pixel, and upper left non-adjacent pixel in the pixel combination to be filtered can be used as the adjacent pixel and / or neighboring pixel of the pixel combination to be filtered.
[0453] Optionally, the pixel region where the pixel combination to be filtered is located can be determined, and at least one pixel in the adjacent and / or non-adjacent regions of the pixel region can be determined as the adjacent and / or neighboring pixels of the pixel combination to be filtered.
[0454] Optionally, at least one of the adjacent and / or neighboring pixels corresponding to the pixel combination to be filtered can be selected as the reference pixel for the pixel being predicted at the current time.
[0455] Optionally, a reference pixel can be determined based on the neighboring pixels of the pixel to be filtered or the neighboring pixels of the co-position of the pixel to be filtered. Optionally, the neighboring pixels include neighboring reconstructed pixels and / or neighboring filtered pixels.
[0456] Optionally, a reference pixel is determined or obtained based on at least one of the following: filtering order, distance between candidate reference pixels and the pixel to be filtered, position of candidate reference pixels, type of at least one filtering model, predicted pixels, reconstructed pixels, reconstructed pixels within the current block, predicted pixels within the current block, pixels of the same component and / or across components of the pixel to be filtered, motion vector and / or block vector of the pixel to be filtered, motion vector and / or block vector of pixels within the current block, motion vector and / or block vector of pixels within a preset range, and the upper adjacent pixels of the current block, and the upper non-adjacent pixels. The at least one of the following: a pixel, a left-adjacent pixel, a left-non-adjacent pixel, a top-left adjacent pixel and a top-left non-adjacent pixel, an adjacent region and / or a non-adjacent region of the current block, a first component image block and / or a second component image block of the current block, a default block of the current block, a neighboring block, a non-neighboring block, a co-located block and a temporal block, and a combination of at least one pixel to be filtered in the current block, adjacent pixels and / or neighboring pixels, are used to determine or obtain at least one filtering result for the pixel to be filtered based on at least one filtering model and a reference pixel. The reference pixel includes at least one of methods a1 to a5 in the second embodiment.
[0457] In this embodiment, reference pixels are determined or obtained by using the adjacent pixels and / or neighboring pixels of the pixel combination to be filtered obtained from at least one pixel combination to be filtered in the current block. Since these adjacent pixels and / or neighboring pixels have a high similarity to the pixel to be filtered, the filtering effect of the pixel to be filtered can be improved.
[0458] Step S12: Determine or obtain at least one filtering result for the pixel to be filtered based on the first model and / or the second model determined or obtained from at least one filtering model.
[0459] Optionally, a first model and / or a second model are determined or obtained from at least one filtering model, and at least one filtering result of the pixel to be filtered is determined or obtained based on the first model and / or the second model.
[0460] Optionally, the first model and / or the second model can be models with a higher degree of matching with the pixels to be filtered, thereby improving the filtering effect on the pixels by using the first model and / or the second model to perform filtering processing on the pixels to be filtered.
[0461] Optionally, at least one filtering result for the pixel to be filtered is determined or obtained based on the reference pixel and a first model and / or a second model determined or obtained from at least one filtering model.
[0462] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0463] Optionally, the first model can be at least one type of model in the filtering model, and different first models have at least partially different model parameters and at least partially different spatial dependencies on the reference pixel.
[0464] Optionally, the second model can be at least one type of filter model, and different second models have at least partially different model parameters and at least partially different spatial dependencies on the reference pixel.
[0465] Optionally, the first model and the second model are different; for example, at least some of the model parameters of the first model and the second model are different, the types of the first model and the second model are different, the sampling templates of the first model and the second model are different, etc.
[0466] Optionally, the first model includes at least one model parameter.
[0467] Optionally, the second model includes at least one model parameter.
[0468] Optionally, the model parameters include at least one of the following:
[0469] Number of filter categories: The total number of categories used for classifying the preset region (e.g., 25 categories). Each category corresponds to a set of independent filter coefficients to adapt to different local texture features (such as edge direction, flat areas or dense texture areas).
[0470] Number of filter taps: This is the number of independent filter coefficients involved in the filtering calculation. This value can be determined by the symmetry of the filter and the support structure (e.g., a 7×7 diamond template corresponds to 12 taps). The higher the number of taps, the stronger the model's expressive power and the more complex the local signal structure it can fit. However, it also increases the computational complexity and the risk of overfitting.
[0471] Filter coefficients: These are a set of numerical parameters used in the loop filtering process to weight and combine reference pixels to generate corrected pixel values. The filter coefficients determine the contribution weight of the reconstructed neighboring pixels to the current pixel to be filtered.
[0472] Filter template size: The size of the spatial neighborhood range sampled from the reconstructed image, i.e. the size of the input window on which the filtering operation depends (e.g., 5×5, 7×7 pixels), determines the receptive field of the filter;
[0473] Reference region type: refers to the configuration of the reference pixel sampling region used when constructing the filter;
[0474] Maximum block size: This is the maximum coding block size allowed to be applied by the loop filtering model (e.g., 128×128 pixels). Blocks exceeding this size will be divided into multiple sub-blocks for separate processing. This parameter is used to control the filtering granularity and memory access efficiency.
[0475] Component identifier: Used to indicate the image component that the current filtering model is applied to, including the luminance component (Y), the chrominance blue difference component (Cb), and / or the chrominance red difference component (Cr). Different components can be configured with independent sets of model parameters.
[0476] The pattern index is a syntax value used to uniquely identify a filter pattern within the set of filter patterns.
[0477] Optionally, at least one filtering result includes a first filtering result and / or a second filtering result.
[0478] Optionally, based on the first model and the reference pixel, the first filtering result of the pixel to be filtered is determined or obtained.
[0479] Optionally, a second filtering result for the pixel to be filtered can be determined or obtained based on the second model and the reference pixel.
[0480] Optionally, at least one filtering result may be determined or obtained based on the first filtering result and / or the second filtering result.
[0481] Optionally, the filtering result with better filtering effect can be selected from the first filtering result and the second filtering result as the filtering result of the pixel to be filtered.
[0482] Optionally, the first filtering result and the second filtering result are fused to determine or obtain a fusion result, and the fusion result is used as the filtering result of the pixel to be filtered.
[0483] Optionally, the first model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The first model may also include an improved ALF model according to the embodiments of this application.
[0484] Optionally, the second model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The second model may also include an improved ALF model according to the embodiments of this application.
[0485] Optionally, the improved ALF model in the embodiments of this application includes at least one of the EALF (Extrapolation Filter-based Adaptive Loop Filter) model and the ALF-CCCM model. The EALF model includes at least one of the EALF-S model and the EALF-T model. The ALF-CCCM model includes at least one of the ALF-CCCM-S model and the ALF-CCCM-T model.
[0486] Optionally, the first model is a traditional ALF model, such as the ALF-Y model, and the second model is an improved ALF model according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model.
[0487] Optionally, both the first model and the second model are improved ALF models according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model, and the first model and the second model are different.
[0488] Optionally, the EALF model in this application embodiment is a model that is independently constructed and solved on the image after SAO processing, which can eliminate the transmission of syntax elements of filter coefficients and / or indices, thereby reducing bit rate overhead.
[0489] Optionally, the ALF-CCCM model in this application embodiment can implicitly derive a set of optimal filter coefficients by utilizing the neighborhood information of the reconstructed pixels around the current coding block, thereby achieving efficient filtering of chrominance pixels within the current block based on luminance pixels within the current block.
[0490] Optionally, the EALF-T model in this application embodiment is based on the traditional approach that only relies on neighborhood reference pixels in the causal space, and introduces a sub-model in EALF that is determined or obtained by constructing training samples (e.g., input samples) from pixels determined or obtained by motion vectors (MV).
[0491] Optionally, the EALF-S model in this application embodiment is a sub-model in EALF that does not introduce pixels determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples). For example, the EALF-S model can use causal spatial neighborhood reference pixels and / or pixels determined or obtained by block vectors (BV) to construct training samples (e.g., input samples).
[0492] Optionally, the ALF-CCCM-T model in this application embodiment is a sub-model in the ALF-CCCM model that is determined or obtained by introducing pixels constructed from motion vectors (MV) to form training samples (e.g., input samples) based on the traditional model that only relies on causal spatial neighborhood reference pixels.
[0493] Optionally, the ALF-CCCM-S model in this application embodiment is a sub-model in the ALF-CCCM model that does not introduce pixels determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples). For example, the ALF-CCCM-S model can use causal spatial neighborhood reference pixels and / or pixels determined or obtained by block vectors (BV) to construct training samples (e.g., input samples).
[0494] Optionally, at least one filtering result for the pixel to be filtered can be determined or obtained based on the ALF-Y model, the improved ALF model, and the reference pixel.
[0495] Optionally, the selection of the filtering model (e.g., the selection of a first model and / or a second model) can be confirmed on a unit of at least one of frames, CTUs, and preset regions.
[0496] Optionally, the filtering model can be confirmed on a frame-by-frame basis. For example, it can be determined on a frame-by-frame basis which filtering model is enabled from at least one first candidate mode list. The first candidate mode list includes at least one filtering model, for example, the first candidate mode list includes at least one of the following: the traditional ALF model, the ALF-CCCM model (including the ALF-CCCM-S model and / or the ALF-CCCM-T model), and the EALF model (including the EALF-S model and / or the EALF-T model). If it is determined that the enabled filtering model is the first filtering model (e.g., EALF-T), it can be determined on a CTU and / or preset region basis which filtering model is enabled from at least one second candidate mode list. The second candidate mode list includes at least one sub-model (e.g., EALF-T-1, EALF-T-2, EALF-T-3, etc.) corresponding to the first filtering model (e.g., EALF-T-T). At least one model parameter of the at least one sub-model corresponding to the first filtering model is different.
[0497] Optionally, the first candidate model list includes a variety of filtering models with different modeling capabilities, such as at least one of the following: the traditional ALF model, the ALF-CCCM model (including the ALF-CCCM-S model and / or the ALF-CCCM-T model), and the EALF model (including the EALF-S model and / or the EALF-T model).
[0498] Optionally, the second candidate mode list includes multiple variants with the same structure but different at least some model parameters (e.g., EALF-T-1, EALF-T-2, EALF-T-3, etc.), and the differences may be reflected in the model coefficients, filter template shape, reference pixel range, feature dimension configuration and / or regularization strength.
[0499] Optionally, the same or different filtering models can be used for the CTU and / or the preset regions in the CTU. For example, the CTU includes a first preset region and a second preset region. The first preset region can be determined or obtained by a first model (e.g., the EALF-T model) to determine or obtain at least one filtering result of the pixels to be filtered in the first preset region. The first preset region can be determined or obtained by a second model (e.g., the EALF-S model) to determine or obtain at least one filtering result of the pixels to be filtered in the second preset region.
[0500] Optionally, in the actual encoding process, not all regions to be filtered may have valid motion vectors (for example, the region may belong to an intra-coded block, a skip mode block, and / or motion information may be unavailable). In this case, if the corresponding temporal reference pixel cannot be obtained, the feature terms of the corresponding temporal reference pixel can be set to zero when constructing the linear equation system (i.e., the relevant dimension in the feature vector is set to 0) and / or switched to a model other than the EALF-S model and the ALF-CCCM-S model. This can avoid interruption of modeling and / or filtering processing due to missing MV.
[0501] Optionally, the first model includes at least one of the following: a linear model, a nonlinear model, and a gradient model.
[0502] Optionally, the second model includes at least one of the following: a linear model, a nonlinear model, and a gradient model.
[0503] Alternatively, a linear model refers to a model that uses linear functions to model complex dependencies between pixels.
[0504] Alternatively, the linear model can have the form shown in Equation (I): y = ∑w i ×x i Formula (1);
[0505] y represents the output of the linear model (e.g., the filtering result of the pixel to be filtered), x i For the input of a linear model (such as a reference pixel), w i These are model parameters (such as filter coefficients).
[0506] Alternatively, a nonlinear model refers to a model that uses nonlinear functions to model complex dependencies between pixels.
[0507] Alternatively, the nonlinear model can have the form shown in Equation (II): Y N+1 =c11*Y1+c12*Y2+...+c1N*Y N +c21*P1+c22*P2+c23*P3+...+c2N*P N +c31*B Formula (II);
[0508] c11~c1N, c21~c2N, c31 are model parameters (such as filter coefficients), Y N+1 The output of the nonlinear model (such as the filtering result of the pixel to be filtered), Y1-Y N P1-P N B is the input to the nonlinear model (such as a reference pixel), Y1-Y N For linear terms, P1-P N B is a nonlinear term, and P1-P is a bias term. Optionally, P1-P NIt can be Y1-Y N The square value of .
[0509] Alternatively, a gradient model refers to a model that explicitly uses local gradient information (such as horizontal / vertical derivatives) to construct the filtered value.
[0510] Alternatively, the gradient model can have the form shown in Equation (III): Y N+1 =c11*Y1+c12*Y2+...+c1N*Y N Formula (III) is: +c21*GLX+c22*GLY+c31*B;
[0511] c11~c1N, c21~c2N, c31 are model parameters (such as filter coefficients), Y N+1 The output of the nonlinear model (such as the filtering result of the pixel to be filtered), Y1-Y N As inputs to a nonlinear model (such as a reference pixel), GLX and GLY are related to Y. N+1 The horizontal and / or vertical gradient of at least one adjacent pixel, where B is the bias term.
[0512] Optionally, the first model and / or the second model are determined or obtained based on the matching cost of at least one filtering model.
[0513] Optionally, the input to the above model can be the input to the various ALF models mentioned above, and the output of the above model can be the output of the various ALF models mentioned above.
[0514] Optionally, when the first model and / or the second model is an ALF model (e.g., a conventional ALF model and / or an EALF model), the input of the model includes luminance pixels, and the output of the model includes luminance pixels.
[0515] Optionally, when the first model and / or the second model is an ALF-CCCM model, the input of the model includes luminance pixels, and the output of the model includes chrominance pixels.
[0516] Optionally, the matching cost of the filtering model is used to measure the similarity and / or error between the filtering result determined or obtained by filtering the pixel to be filtered through the filtering model and the true value of the pixel to be filtered. For example, the matching cost of the filtering model includes: SAD (Sum of Absolute Differences), SATD (Sum of Absolute Transformed Differences), and / or MRSAD (Mean-Removed Sum of Absolute Differences).
[0517] Optionally, the smaller the SAD and / or SATD values, the higher the matching degree between the filtering model and the pixel to be filtered, and the higher the similarity and / or smaller the error between the filtering result determined or obtained by the filtering model and the pixel to be filtered. Conversely, the larger the SAD and / or SATD values, the lower the matching degree between the filtering model and the pixel to be filtered, and the higher the similarity and / or the larger the error between the filtering result determined or obtained by the filtering model and the pixel to be filtered.
[0518] Optionally, at least one filtering model is sorted according to the matching cost of at least one filtering model, and the filtering model with a high degree of matching with the pixel to be filtered is selected as the first model and / or the second model.
[0519] Optionally, based on the matching cost of at least one filtering model, a first model and / or a second model are determined or obtained from at least one filtering model, and based on the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0520] Optionally, based on the matching cost of at least one filtering model, a first model and / or a second model are determined or obtained from at least one filtering model, and based on a reference pixel, the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0521] In this embodiment, by determining or obtaining a first model and / or a second model that has a higher degree of matching with the pixel to be filtered from at least one filtering model, the filtering effect on the pixel is improved, thereby supporting the improvement of the encoding and / or decoding quality in the video encoding and / or decoding process.
[0522] Step S13: Determine or obtain at least one filtering result for the pixel to be filtered based on at least one filtering model and at least one filtering weight.
[0523] Optionally, at least one filtering result of the pixel to be filtered can be a fusion result. Therefore, at least one first result of the pixel to be filtered can be determined or obtained according to at least one filtering model, and at least one first result can be fused according to at least one filtering weight to determine or obtain at least one filtering result of the pixel to be filtered.
[0524] Optionally, at least one first result of the pixel to be filtered is determined or obtained based on at least one filtering model and a reference pixel, and the at least one first result is fused based on at least one filtering weight to determine or obtain at least one filtering result of the pixel to be filtered.
[0525] Optionally, at least one filtering result of the pixel to be filtered can be determined or obtained based on at least one filtering model, a reference pixel, and at least one filtering weight.
[0526] Optionally, the filter weights can be an adaptive intensity mixing factor used to control the contribution ratio of at least one filter result in the fusion (i.e., the filtered result).
[0527] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and a reference pixel, a first filtering result of the pixel to be filtered is determined or obtained; based on the second model and the reference pixel, a second filtering result of the pixel to be filtered is determined or obtained; based on the filtering weights, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result of the pixel to be filtered, wherein the first model and the second model are different.
[0528] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0529] Optionally, when there is a first filtering result P1 and a second filtering result P2, which can be determined or obtained by the first model and the second model respectively, the fusion processing result (i.e., at least one filtering result of the pixel to be filtered) P = w1P1 × w2P2, where w1 and w2 are filtering weights used to control the contribution ratio of the two filtering results in the fusion.
[0530] Optionally, the filter weights may include at least one of the following: weight coefficients, weight vectors, and weight matrices.
[0531] In this embodiment, at least one filtering result is fused by using at least one filtering weight, which can comprehensively utilize the advantages of different filtering models and improve the filtering effect of pixels.
[0532] Step S14: Determine or obtain at least one filtering result for the pixel to be filtered based on at least one filtering model and at least one filtering processing order.
[0533] Optionally, at least one filtering result of the pixel to be filtered can be determined or obtained based on at least one filtering model, at least one filtering process order and reference pixels.
[0534] Optionally, at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model, at least one filtering process order and at least one filtering weight.
[0535] Optionally, a reference pixel is determined or obtained according to at least one filtering process order, a first model and / or a second model is determined or obtained according to at least one filtering model, and at least one filtering result of the pixel to be filtered is determined or obtained according to the reference pixel and the first model and / or the second model.
[0536] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0537] Optionally, the filtering order is the order in which the filter values of the pixels to be filtered in the current block are determined.
[0538] Optionally, at least one filtering process order is determined or obtained based on the order in which the reconstructed values and / or filtered values of the pixels to be filtered in the current block are determined.
[0539] Optionally, at least one filtering process order includes the order in which the filtered values of the pixels to be filtered in the current block are determined, and the at least one filtering process order is determined or obtained according to the order in which the reconstructed values of the pixels to be filtered in the current block are determined.
[0540] Optionally, the order in which the filtered values of the pixels to be filtered in the current block are determined is used as at least one filtering process order, and / or the order in which the reconstructed values of the pixels to be filtered in the current block are determined is used as at least one filtering process order.
[0541] Optionally, at least one filtering result of the pixel to be filtered can be determined or obtained based on the reference pixel, the filtering order, and the first model and / or the second model.
[0542] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model, a reference pixel, and at least one filtering process order, a first filtering result of the pixel to be filtered is determined or obtained; based on the second model, a reference pixel, and at least one filtering process order, a second filtering result of the pixel to be filtered is determined or obtained; based on the filtering weights, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result of the pixel to be filtered, wherein the first model and the second model are different.
[0543] Optionally, at least one filtering process sequence corresponds to at least one filtering model.
[0544] Optionally, a first model and / or a second model are determined or obtained from at least one filtering model according to at least one filtering processing order, and / or at least one filtering processing order is determined or obtained according to the first model and / or the second model determined or obtained from at least one filtering model.
[0545] Optionally, the method for determining or obtaining the reference pixel according to at least one filtering process sequence can refer to method b1 in the second embodiment.
[0546] Optionally, the filtering process of at least one filtering model can be implemented based on its corresponding at least one filtering process sequence.
[0547] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model, a first filtering sequence corresponding to the first model is determined or obtained; based on the second model, a second filtering sequence corresponding to the second model is determined or obtained; based on the first model, a reference pixel, and the first filtering sequence, a first filtering result for the pixel to be filtered is determined or obtained; based on the second model, the reference pixel, and the second filtering sequence, a second filtering result for the pixel to be filtered is determined or obtained; based on the filtering weights, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered, wherein the first model and the second model are different.
[0548] Optionally, a first model and / or a second model are determined or obtained from at least one filtering model according to at least one filtering processing order; a first filtering result of the pixel to be filtered is determined or obtained according to the first model, the reference pixel and at least one filtering processing order; a second filtering result of the pixel to be filtered is determined or obtained according to the second model, the reference pixel and at least one filtering processing order; and the first filtering result and the second filtering result are fused according to the filtering weights to determine or obtain at least one filtering result of the pixel to be filtered, wherein the first model and the second model are different.
[0549] In this embodiment, filtering is implemented based on the filtering processing order, which enables at least one filtering model to preferentially utilize the processed neighborhood (such as left and top pixels) that are highly related to the space and / or content of the pixel to be filtered. These reference pixels have more stable signals because they have been reconstructed and / or filtered. This ordered dependence is more in line with the natural generation order of the local structure of the image, which helps the filtering model to accurately identify edge directions and texture features and improve the filtering effect.
[0550] Third Embodiment
[0551] Based on any of the above embodiments, a third embodiment is proposed.
[0552] In this embodiment, the processing method further includes at least one of the following methods c1 to c9:
[0553] In method c1, at least one filter weight is determined or obtained according to at least one of the following methods c11 to c13:
[0554] Method c11 requires at least one filtered result;
[0555] Optionally, at least one filtering weight is determined or obtained based on at least one filtering result, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and at least one filtering weight.
[0556] Optionally, at least one filter weight is determined or obtained based on at least one filter result determined or obtained through at least one filter model.
[0557] Optionally, at least one filter weight includes a weight value corresponding to at least one filter model.
[0558] Optionally, since different filtering models have different adaptability to local image content, the reliability of the filtering model in the current region can be evaluated by analyzing the local characteristics (such as gradient, residual and / or structural similarity) of the original signal determined or obtained according to different filtering models, and weights can be assigned accordingly. For example, more accurate and better matching filtering results can be given higher weights. This can effectively combine the advantages of multiple models, suppress distortion, and / or maximize the preservation of details, thereby improving the filtering effect.
[0559] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and a reference pixel, a first filtering result for the pixel to be filtered is determined or obtained; based on the second model and the reference pixel, a second filtering result for the pixel to be filtered is determined or obtained; based on the first filtering result and the second filtering result, at least one filtering weight is determined or obtained; based on the at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered, wherein the first model and the second model are different.
[0560] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0561] In this embodiment, the filtering weights determined based on the filtering results can adaptively balance the contribution of at least one filtered signal, making the fused filtering results more consistent with the content characteristics, avoiding over-smoothing and / or under-filtering, and improving the filtering effect.
[0562] Optionally, at least one filter weight is determined or obtained according to at least one of the following methods c111 to c113:
[0563] Method c111, at least one filtering result determines or obtains the residual energy;
[0564] Optionally, at least one filter weight is determined or obtained based on the residual energy determined or obtained through at least one filter result, and at least one filter result of the pixel to be filtered is determined or obtained based on at least one filter model and at least one filter weight.
[0565] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and a reference pixel, a first filtering result for the pixel to be filtered is determined or obtained; based on the second model and the reference pixel, a second filtering result for the pixel to be filtered is determined or obtained; based on the first filtering result and / or the second filtering result, residual energy is determined or obtained; based on the residual energy, at least one filtering weight is determined or obtained; based on the at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered, wherein the first model and the second model are different.
[0566] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0567] Optionally, residual energy refers to the difference between the filtered result output by a certain filtering model and the original reconstructed signal, and is used to quantify the fitting quality of the model in the current local region.
[0568] Alternatively, mathematically, for a linear filtering model, its residual energy (E) residual This can be represented as: Eresidual = x T A T Ax-2x T A T b;
[0569] A is the brightness neighborhood feature matrix, representing the output of the filtering model (e.g., the first filtering result and / or the second filtering result), x is the filtering model parameter vector, and b is the target brightness value vector, representing the pixel to be filtered.
[0570] Alternatively, the residual energy of the filtering model can be expressed as: E residual =‖Y-Y1‖ 2 ;
[0571] Y represents the original reconstructed signal (e.g., the reconstructed value of the pixel to be filtered output by SAO), and Y1 represents the output of the filtering model (e.g., the first filtering result and / or the second filtering result). The residual energy can directly reflect whether the correction of the pixel to be filtered by the filtering model is reasonable. That is, the smaller the residual energy, the closer the filtering result is to the ideal correction state of the original signal (i.e., effective noise reduction without introducing distortion), indicating that the model has higher adaptability.
[0572] Referring to Figure 12, a first model and a second model are determined or obtained based on at least one filtering model. Based on the first model, a first filtering result (Y1) of the pixel to be filtered is determined or obtained, where the pixel to be filtered is a reconstructed pixel after SAO processing. Based on the second model, a second filtering result (Y2) of the pixel to be filtered is determined or obtained. The first filtering result (Y1) is compared with the original reconstructed signal Y (i.e., the pixel value of the pixel to be filtered), and the residual energy between the two is calculated. The second filtering result (Y2) is compared with the original reconstructed signal Y (i.e., the pixel value of the pixel to be filtered), and the residual energy between the two is calculated. Based on the above at least one residual energy, the filtering weights corresponding to the first model and the second model are determined. Based on the at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result of the pixel to be filtered.
[0573] Optionally, since Y (i.e. the pixel value of the pixel to be filtered) is a reconstructed signal and all filtering models are known to the encoder and decoder, the residual energy can be calculated independently and consistently at both ends of the encoder and decoder without the need for additional signaling transmission.
[0574] Optionally, if the residual energy is small, it indicates that the quality of the filtering model is high (good fit), so the weight value in its filtering weight can be increased. If the residual energy is large, it indicates that the quality of the filtering model is poor (poor fit), so the weight value in its filtering weight can be decreased.
[0575] Optionally, the residual energy and the filter weights are negatively correlated and / or inversely proportional.
[0576] Optionally, the filtering weights for residual energy matching can be determined based on a preset residual energy threshold.
[0577] Optionally, the residual energy threshold can be 0.01 or 0.05, corresponding to 90% and 75% of the filter weights, respectively.
[0578] Optionally, the normalized residual energy can be compared with the residual energy threshold to set the filter weights.
[0579] Optionally, the reliability of each model can be objectively evaluated through residual energy, realizing an intelligent fusion strategy of "preserving when it should be preserved and smoothing when it should be smoothed", which can effectively suppress compression distortion while preserving image details to the greatest extent.
[0580] Optionally, since both the encoder and decoder use the same original reconstructed signal and the same predefined filtering model, the calculated residual energy is consistent. Therefore, the filtering weights can be generated locally and independently at both ends without the need to transmit the model selection flag and / or weight parameters in the bitstream, thus saving bit overhead.
[0581] In this embodiment, the residual energy is calculated based on the output of the filtering model as a criterion, and the model fitting quality is transformed into filtering weights. This achieves multi-model fusion without signaling, with causal consistency and / or content adaptation. This method suppresses compression distortion (such as ringing and block effects) while preserving image details and / or structural integrity to the greatest extent, thereby improving the filtering effect.
[0582] Method c112, at least one filtering result determines or obtains the proportion of abnormal pixels;
[0583] Optionally, at least one filtering weight is determined or obtained based on the proportion of abnormal pixels determined or obtained through at least one filtering result, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and at least one filtering weight.
[0584] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and a reference pixel, a first filtering result for the pixel to be filtered is determined or obtained; based on the second model and the reference pixel, a second filtering result for the pixel to be filtered is determined or obtained; based on the first filtering result and / or the second filtering result, the proportion of abnormal pixels is determined or obtained; based on the proportion of abnormal pixels, at least one filtering weight is determined or obtained; based on the at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered, wherein the first model and the second model are different.
[0585] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0586] Optionally, the abnormal pixel ratio (i.e., bad pixel ratio) refers to the proportion of pixels that are judged as abnormal pixels in the preset region and / or the current block where the pixel to be filtered is located, to the total number of pixels. It is used to quantify the degree and / or spatial concentration of the correction introduced by the filtering model in the current region (preset region and / or current block).
[0587] Optionally, abnormal pixels can be pixels whose absolute difference (i.e., residual) between the reconstructed pixel value and the pixel value of the filtering result determined or obtained by at least one filtering model is greater than a preset bad pixel judgment threshold.
[0588] Optionally, for a 10-bit depth video, the preset bad pixel judgment threshold is a pixel value offset by 75 from the pixel value of the corresponding reconstructed pixel. For example, if the pixel value of the reconstructed pixel is 350 and the filtering result is 450, then the filtering result is abnormal and the pixel is an abnormal pixel. If the filtering result is 240, then the filtering result is also abnormal and the pixel is an abnormal pixel. If the filtering result is 370, then the filtering result is normal and the pixel is a normal pixel.
[0589] Optionally, the abnormal pixel ratio is the percentage of abnormal pixels to the total pixel value in an image block or image region.
[0590] Optionally, if the proportion of abnormal pixels in the first filtering result is 10% and the proportion of abnormal pixels in the second filtering result is 5%, then the weight of the first filtering result is 66.6% and the weight of the second filtering result is 33.4%.
[0591] Optionally, the proportion of abnormal pixels is negatively correlated with and / or inversely proportional to the filtering weights.
[0592] Referring to Figure 8, pixel 15 in the preset area is the pixel to be filtered. Pixels 0-15 within the preset area are traversed, and the reconstructed pixel value Y and the output result Y of the filtering model are calculated for each pixel. k The absolute difference is compared with a preset defect detection threshold, and the conditions that are met (e.g., Y and Y) are statistically analyzed. k The number of bad pixels (where the absolute difference is greater than the preset bad pixel judgment threshold) is determined. For example, if pixels 0-3 in pixels 0-15 are judged as abnormal pixels, then the proportion of abnormal pixels is 1 / 4, and the corresponding filtering weight is selected according to this proportion.
[0593] Optionally, since the reconstructed pixel value and the filtering result are known to both the encoder and decoder, the proportion of abnormal pixels can be calculated independently and consistently at both ends, and the filtering weight does not need to be encoded and transmitted, saving bit overhead.
[0594] In this embodiment, unlike relying solely on residual energy, the proportion of anomalous pixels can reveal the spatial clustering characteristics of distortion and / or correction behavior, making the fusion strategy more spatially aware. And / or, the proportion of anomalous pixels is expressed as a percentage, with clear physical meaning, making it easy to set reasonable thresholds according to application scenarios. And / or, when a filtering model produces systematic deviations in complex areas (such as text or thin lines), even if the overall residual energy is not high, it may cause a large number of pixels to be incorrectly smoothed. In this case, a higher proportion of anomalous pixels can effectively trigger a conservative fusion strategy, prevent the loss of details, and improve subjective quality.
[0595] Method c113, at least one filtering result determines or obtains the filtered correction energy.
[0596] Optionally, the overall correction intensity (i.e., filtering correction energy) of the fusion result (i.e., the filtering result) relative to the original reconstructed signal (i.e. the pixel to be filtered) can be used to guide the allocation of filtering weights for each filtering model in the fusion process, thereby achieving global control and optimization of filtering behavior.
[0597] Optionally, at least one filter weight is determined or obtained based on the filter correction energy determined or obtained through at least one filter result, and at least one filter result of the pixel to be filtered is determined or obtained based on at least one filter model and at least one filter weight.
[0598] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and a reference pixel, a first filtering result for the pixel to be filtered is determined or obtained; based on the second model and the reference pixel, a second filtering result for the pixel to be filtered is determined or obtained; based on the first filtering result and / or the second filtering result, a filtering correction energy is determined or obtained; based on the filtering correction energy, at least one filtering weight is determined or obtained; based on the at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered, wherein the first model and the second model are different.
[0599] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0600] Optionally, the filtering correction energy is the difference energy between the final output pixel Y' after multi-model fusion and the original reconstructed pixel Y to be filtered, which can be expressed as |YY′||. 2 This indicates that the overall correction applied to the original signal by the entire filtering operation is measured.
[0601] Referring to Figure 12, a first model and a second model are determined or obtained based on at least one filtering model. Based on the first model, a first filtering result (Y1) of the pixel to be filtered is determined or obtained, where the pixel to be filtered is a reconstructed pixel after SAO processing. Based on the second model, a second filtering result (Y2) of the pixel to be filtered is determined or obtained. Based on at least one preset first weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result Y' of the pixel to be filtered. Based on Y' and Y, a filtering correction energy is determined. Based on the filtering correction energy, at least one filtering weight is determined. Based on the at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result of the pixel to be filtered.
[0602] Optionally, the filter correction energy is negatively correlated and / or inversely proportional to the filter weight.
[0603] In this embodiment, the filtering weight is determined based on the filtering correction energy, which can control the overall correction intensity, avoid large-scale pixel shift and / or loss of detail caused by excessive fusion, realize global control of filtering behavior, and improve the filtering effect.
[0604] Method c12, the correlation between the reference pixel and the pixel to be filtered;
[0605] Optionally, at least one filtering weight is determined or obtained based on the correlation between the reference pixel and the pixel to be filtered, and at least one filtering result of the pixel to be filtered is determined or obtained based on at least one filtering model and at least one filtering weight.
[0606] Optionally, based on the correlation between the reference pixel and the pixel to be filtered, at least one filtering weight is determined or obtained; based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and the reference pixel, a first filtering result for the pixel to be filtered is determined or obtained; based on the second model and the reference pixel, a second filtering result for the pixel to be filtered is determined or obtained; based on at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered, wherein the first model and the second model are different.
[0607] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0608] Optionally, the correlation between the reference pixel and the pixel to be filtered can be represented by the Pearson correlation coefficient between the reference pixel and the pixel to be filtered. The Pearson correlation coefficient ρ is used to measure the consistency between the two in terms of structural change trends.
[0609] Optionally, the mathematical definition of the Pearson correlation coefficient is:
[0610] Ri represents the reconstructed luminance pixel value of the i-th reference pixel. This represents the brightness reconstruction pixel value to be corrected (i.e. the pixel to be filtered) at the corresponding or associated position, where N is the number of pixel pairs involved in the calculation.
[0611] Optionally, the Pearson correlation coefficient ρ ranges from [-1, 1]. The closer its absolute value is to 1, the more consistent the brightness change trend of the pixel to be filtered in the current block and / or preset area is with the brightness change trend of the reference pixel. This indicates that the local structure has good spatial continuity and smoothness. In this case, the filtering model based on the reference pixel can effectively model the signal characteristics and has strong applicability. If the absolute value of the Pearson correlation coefficient ρ is smaller, it indicates that there are complex textures, edge breaks or noise interference in the local area, and the model fitting reliability is low.
[0612] Alternatively, in practical applications, to facilitate comparison and avoid floating-point operations, the square of the correlation coefficient ρ can be used. 2As a criterion, the following threshold rules can be set:
[0613] If ρ 2 A value greater than 0.81 is considered highly correlated and is assigned an aggressive filter weight (i.e., more dependent on the output of the filter model).
[0614] If ρ 2 >0.49, judged as medium-high correlation, and medium-strength fusion is adopted;
[0615] If ρ 2 A value greater than 0.25 indicates a low to medium correlation, and a more conservative strategy should be adopted.
[0616] Other cases are considered to have low correlation, and conservative filtering weights are used (mainly retaining the original reconstructed values).
[0617] In this embodiment, the filtering weight is determined or obtained based on the correlation between the reference pixel and the pixel to be filtered, which can effectively evaluate the structural continuity and model applicability of the local region. When the two are highly correlated, it indicates that the region to be filtered (e.g., the current block and / or the preset region) has a smooth or regular texture structure. The filtering model based on the reference pixel can accurately model the signal change trend. At this time, the aggressive fusion strategy can significantly improve the denoising effect. In low-correlation regions (such as complex edges or noisy regions), the filtering intensity can be reduced to avoid introducing distortion.
[0618] Method c13, the syntax element obtained from the code stream.
[0619] Alternatively, if the processing device is a decoder, syntax elements, such as flags, can be obtained from the bitstream, and at least one filter weight can be determined or obtained based on the flags.
[0620] Optionally, the correspondence between different flag bits and different filtering weights can be set in advance, and the corresponding flag bits can be determined according to the filtering weights selected by the encoder and encoded to obtain the corresponding bit stream. The decoder obtains the corresponding bit stream for decoding, and determines or obtains the filtering weights according to the flag bits obtained from the decoding. Based on at least one filtering model and at least one filtering weight, at least one filtering result of the pixel to be filtered can be determined or obtained.
[0621] Optionally, at least one filtering weight is determined or obtained based on the syntax elements obtained from the bitstream; a first model and a second model are determined or obtained based on at least one filtering model; a first filtering result of the pixel to be filtered is determined or obtained based on the first model and a reference pixel; a second filtering result of the pixel to be filtered is determined or obtained based on the second model and a reference pixel; and the first filtering result and the second filtering result are fused based on at least one filtering weight to determine or obtain at least one filtering result of the pixel to be filtered, wherein the first model and the second model are different.
[0622] In this embodiment, by determining or obtaining at least one filter weight based on the syntax elements obtained from the bitstream, it can be ensured that the filter weight obtained by the decoder is consistent with that in the encoder, thereby improving the filtering effect.
[0623] Method c2, at least one filtering processing sequence corresponds to at least one filtering model;
[0624] Optionally, at least one filtering process sequence corresponds to at least one filtering model.
[0625] Optionally, at least one filtering process order is determined or obtained based on at least one filtering model, and / or at least one filtering model is determined or obtained based on at least one filtering process order.
[0626] Optionally, at least one filtering process order is determined or obtained based on the type of at least one filtering model, and / or the type of at least one filtering model is determined or obtained based on the at least one filtering process order.
[0627] Optionally, a corresponding filtering order can be provided for different filtering models, so that the filtering model matches the filtering order in the spatial reference structure according to the input pixels (i.e., reference pixels) determined or obtained by the template it adopts.
[0628] Optionally, the correspondence between at least one filtering process sequence and at least one filtering model can be that the sampling template of at least one filtering process sequence and at least one filtering model is matched, and the sampling template defines the reference pixel spatial distribution required by the filtering model.
[0629] Optionally, the sampling template defines the geometric layout of the reference pixels required by the filtering model in the spatial domain, that is, it specifies which pixels should be used as input, while the position of the output pixel is usually the coordinate of the current pixel to be filtered.
[0630] Optionally, based on at least one filtering model, at least one filtering processing order adapted to it is determined or obtained, and the pixels to be filtered in the current block are filtered according to the filtering processing order. For the filtering processing of the pixels to be filtered, a reference pixel can be determined or obtained based on the sampling template of the filtering model, and the reference pixel is input into the filtering model for filtering processing to determine or obtain at least one filtering result.
[0631] Optionally, a filtering process order matching the pixel to be filtered and / or the current block is determined or obtained; at least one filtering model adapted to the filtering process order is determined or obtained; a reference pixel is determined or obtained according to the type of the at least one filtering model; the pixel to be filtered is filtered according to the reference pixel and the at least one filtering model; and at least one filtering result is determined or obtained.
[0632] In this embodiment, by corresponding to at least one filtering processing order and at least one filtering model, the reference pixels on which the pixel to be filtered depends are mostly pixels with similar filtering processing orders, thereby improving the filtering effect.
[0633] Method c3, at least one filtering result is determined or obtained based on the first filtering result, the second filtering result, and at least one filtering weight;
[0634] Optionally, at least one filtering result of the pixel to be filtered can be determined or obtained based on the first filtering result, the second filtering result, and at least one filtering weight.
[0635] Optionally, at least one filtering result of the pixel to be filtered can be a fusion result. Therefore, the first filtering result and the second filtering result can be fused according to at least one filtering weight to determine or obtain at least one filtering result of the pixel to be filtered.
[0636] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained, wherein the first model and the second model are different. Based on the first model and a reference pixel, a first filtering result is determined or obtained. Based on the second model and the reference pixel, a second filtering result is determined or obtained. Based on at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered.
[0637] Optionally, the first model includes at least one model, the second model includes at least one model, the first filtering result includes at least one result, and the second filtering result includes at least one filtering result.
[0638] Optionally, the first model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The first model may also include an improved ALF model according to the embodiments of this application.
[0639] Optionally, the second model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The second model may also include an improved ALF model according to the embodiments of this application.
[0640] Optionally, the improved ALF model in the embodiments of this application includes at least one of the EALF model and the ALF-CCCM model, the EALF model includes at least one of the EALF-S model and the EALF-T model, and the ALF-CCCM model includes at least one of the ALF-CCCM-S model and the ALF-CCCM-T model.
[0641] Optionally, the first model is a traditional ALF model, such as the ALF-Y model, and the second model is an improved ALF model according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model.
[0642] Optionally, both the first model and the second model are improved ALF models according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model, and the first model and the second model are different.
[0643] Optionally, the first model can focus on basic correction, while the second model can further repair residual distortion. By combining multiple models, the filtering effect can be improved.
[0644] Optionally, the first filtering result and / or the second filtering result may be further processed to determine or obtain a third filtering result. Based on at least one filtering weight, at least one of the first filtering result, the second filtering result and the third filtering result may be fused to determine or obtain at least one filtering result.
[0645] Optionally, at least one filter weight is determined or obtained according to at least one of modes c11 to c13 in the third embodiment, and / or modes c111 to c113.
[0646] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0647] Referring to Figure 12, a first model and a second model are determined or obtained based on at least one filtering model. A first filtering result (Y1) of the pixel to be filtered is determined or obtained based on the first model. A second filtering result (Y2) of the pixel to be filtered is determined or obtained based on the second model. The pixel to be filtered is a reconstructed pixel after SAO processing. The first filtering result (Y1) and the second filtering result (Y2) are fused based on at least one filtering weight to determine or obtain at least one filtering result (Y') of the pixel to be filtered.
[0648] In this embodiment, the first and second filtering results are fused by at least one filtering weight, which can make full use of the advantages of different filtering models and improve the filtering effect of pixels.
[0649] In method c4, at least one filtering result is determined or obtained based on the first filtering result and the second model;
[0650] Optionally, a first model and a second model are determined or obtained based on at least one filtering model, a first filtering result is determined or obtained based on the first model and a reference pixel, and at least one filtering result is determined or obtained based on the first filtering result, the reference pixel, and the second model.
[0651] Optionally, a reference pixel can be used as the input pixel of the first model to determine or obtain a first filtering result of the pixel to be filtered, and the first filtering result and the reference pixel can be used as the input pixel of the second model to determine or obtain a second filtering result of the pixel to be filtered. Based on the second filtering result, at least one filtering result of the pixel to be filtered can be determined or obtained.
[0652] Optionally, the second filtering result output by the second model can be determined as at least one filtering result for the pixel to be filtered.
[0653] Optionally, when the first filtering result output by the first model is used as the input of the second model, the noise and / or compression artifacts of the input pixels of the second model have been partially suppressed, and / or the local structure is clearer. Therefore, the quality of the input pixels of the second model is higher, which can improve the reliability of the reference.
[0654] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the first model and a reference pixel, a first filtering result is determined or obtained; based on the first filtering result, the reference pixel, and the second model, a second filtering result is determined or obtained; based on at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered.
[0655] Referring to Figure 13, based on at least one filtering model, a first model and a second model are determined or obtained. A reference pixel is used as the input pixel of the first model to determine or obtain a first filtering result (Y1) of the pixel to be filtered (Y). The reference pixel and the first filtering result (Y1) are used as the input pixels of the second model to determine or obtain at least one filtering result (Y') of the pixel to be filtered.
[0656] Optionally, the first model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The first model may also include an improved ALF model according to the embodiments of this application.
[0657] Optionally, the second model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The second model may also include an improved ALF model according to the embodiments of this application.
[0658] Optionally, the improved ALF model in the embodiments of this application includes at least one of the EALF model and the ALF-CCCM model, the EALF model includes at least one of the EALF-S model and the EALF-T model, and the ALF-CCCM model includes at least one of the ALF-CCCM-S model and the ALF-CCCM-T model.
[0659] Optionally, the first model is a traditional ALF model, such as the ALF-Y model, and the second model is an improved ALF model according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model.
[0660] Optionally, both the first model and the second model are improved ALF models according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model, and the first model and the second model are different.
[0661] Optionally, at least one filter weight is determined or obtained according to at least one of modes c11 to c13 in the third embodiment, and / or modes c111 to c113.
[0662] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0663] In this embodiment, when the first filtering result output by the first model is used as the input of the second model, the second model can utilize a higher quality input signal to improve the reference reliability, thereby supporting the improvement of the filtering effect.
[0664] In method c5, at least one filtering result is determined or obtained based on the second filtering result and the first model;
[0665] Optionally, a first model and a second model are determined or obtained based on at least one filtering model, a second filtering result is determined or obtained based on the second model and a reference pixel, and at least one filtering result is determined or obtained based on the second filtering result, the reference pixel, and the first model.
[0666] Optionally, a reference pixel can be used as the input pixel of the second model to determine or obtain a second filtering result for the pixel to be filtered. The second filtering result and the reference pixel can be used as the input pixel of the first model to determine or obtain a first filtering result for the pixel to be filtered. Based on the first filtering result, at least one filtering result for the pixel to be filtered can be determined or obtained.
[0667] Optionally, the first filtering result output by the first model is determined as at least one filtering result for the pixel to be filtered.
[0668] Optionally, when the second filtering result output by the second model is used as the input of the first model, the first model can operate on a signal with higher quality, less noise, and / or less distortion, thereby improving the filtering effect.
[0669] Optionally, based on at least one filtering model, a first model and a second model are determined or obtained; based on the second model and a reference pixel, a second filtering result is determined or obtained; based on the second filtering result, the reference pixel, and the first model, a first filtering result is determined or obtained; based on at least one filtering weight, the first filtering result and the second filtering result are fused to determine or obtain at least one filtering result for the pixel to be filtered.
[0670] Referring to Figure 14, based on at least one filtering model, a first model and a second model are determined or obtained. A reference pixel is used as the input pixel of the second model to determine or obtain a second filtering result (Y2) of the pixel to be filtered (Y). The reference pixel and the second filtering result (Y2) are used as the input pixel of the first model to determine or obtain at least one filtering result (Y') of the pixel to be filtered.
[0671] Optionally, the first model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The first model may also include an improved ALF model according to the embodiments of this application.
[0672] Optionally, the second model may include a conventional filtering model, such as a conventional ALF model, a conventional SAO model, a conventional DB model, a conventional BIF model, etc. The second model may also include an improved ALF model according to the embodiments of this application.
[0673] Optionally, the improved ALF model in the embodiments of this application includes at least one of the EALF model and the ALF-CCCM model, the EALF model includes at least one of the EALF-S model and the EALF-T model, and the ALF-CCCM model includes at least one of the ALF-CCCM-S model and the ALF-CCCM-T model.
[0674] Optionally, the first model is a traditional ALF model, such as the ALF-Y model, and the second model is an improved ALF model according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model.
[0675] Optionally, both the first model and the second model are improved ALF models according to the embodiments of this application, including at least one of the EALF model and the ALF-CCCM model, and the first model and the second model are different.
[0676] Optionally, at least one filter weight is determined or obtained according to at least one of modes c11 to c13 in the third embodiment, and / or modes c111 to c113.
[0677] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0678] In this embodiment, when the second filtering result output by the second model is used as the input of the first model, the first model can operate on a signal with higher quality, less noise and / or less distortion, thereby improving the filtering effect.
[0679] In method c6, the input pixels and / or output pixels of the first model are determined or obtained based on at least one of the following: the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the second filtering result.
[0680] Optionally, the first model is determined or obtained as the input pixel and / or the output pixel based on at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the second filtering result.
[0681] Optionally, at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the second filtering result is used as the input pixel of the first model, and the first filtering result of the pixel to be filtered is determined or obtained based on the output pixel of the first model.
[0682] Optionally, the output pixel of the first model is determined or obtained by model operation from its input pixels (i.e., at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the second filtering result).
[0683] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0684] In this embodiment, at least one filter model's input pixel and / or output pixel is determined or obtained by using the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the second filtering result. This establishes the filtering process on reliable and / or highly correlated information, thereby improving the filtering effect.
[0685] In method c7, the input pixels and / or output pixels of the second model are determined or obtained based on at least one of the following: the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the first filtering result;
[0686] Optionally, the second model is determined or obtained as the input pixel and / or the output pixel based on at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the first filtering result.
[0687] Optionally, at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the first filtering result is used as the input pixel of the second model, and the second filtering result of the pixel to be filtered is determined or obtained based on the output pixel of the second model.
[0688] Optionally, the output pixel of the second model is determined or obtained by model operation from its input pixels (i.e., at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the first filtering result).
[0689] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0690] In this embodiment, at least one filter model's input pixel and / or output pixel is determined or obtained by using the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the first filtering result. This establishes the filtering process on reliable and / or highly correlated information, thereby improving the filtering effect.
[0691] Method c8, at least one filtering process sequence corresponds to the position of the input pixels and / or output pixels of the first model;
[0692] Optionally, at least one filtering sequence corresponds to the position of the input pixels and / or output pixels of the first model, meaning that the filtering sequence used when performing filtering with the filtering model is designed to match the position distribution of the input pixels and / or output pixels of the specific filtering model, ensuring that when any output pixel is processed, the input pixels required by its sampling template have been reconstructed and are available in that sequence.
[0693] Optionally, there is a correspondence between the input pixels and / or output pixels of the first model and its sampling template. The sampling template defines the geometric layout of the reference pixels required by the filtering model in the spatial domain and explicitly specifies which pixels are used as inputs and / or outputs.
[0694] Optionally, the input pixel of the first model is determined or obtained based on at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the second filtering result.
[0695] Optionally, the position of the output pixel is usually the coordinates of the pixel to be filtered.
[0696] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0697] In this embodiment, by setting at least one filtering processing order corresponding to the positions of the input pixels and / or output pixels of the first model, the problem of unusable reference pixels and / or use of unreconstructed values caused by the mismatch between the filtering processing order and the sampling template (including the positions of input pixels and / or output pixels) can be avoided, and / or neighboring pixels that are highly correlated with the pixel to be filtered can be used as reliable input pixels, thereby improving the pixel filtering effect.
[0698] Method c9, at least one filtering process sequence corresponds to the position of the input pixels and / or output pixels of the second model;
[0699] Optionally, at least one filtering sequence corresponds to the position of the input pixels and / or output pixels of the second model, meaning that the filtering sequence used when performing filtering with the filtering model is designed to match the position distribution of the input pixels and / or output pixels of the specific filtering model, ensuring that when any output pixel is processed, the input pixels required by its sampling template have been reconstructed and are available in that sequence.
[0700] Optionally, there is a correspondence between the input pixels and / or output pixels of the second model and its sampling template. The sampling template defines the geometric layout of the reference pixels required by the filtering model in the spatial domain and explicitly specifies which pixels are used as inputs and / or outputs.
[0701] Optionally, the input pixel of the second model can be determined or obtained based on at least one of the reconstructed value of the reference pixel, the predicted value of the reference pixel, the reconstructed value of the pixel to be filtered, the predicted value of the pixel to be filtered, and the first filtering result.
[0702] Optionally, the position of the output pixel is usually the coordinates of the pixel to be filtered.
[0703] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0704] In this embodiment, by setting at least one filtering processing order corresponding to the positions of the input pixels and / or output pixels of the second model, the problem of unusable reference pixels and / or the use of unreconstructed values caused by the mismatch between the filtering processing order and the sampling template (including: the positions of input pixels and / or output pixels) can be avoided, and / or neighboring pixels that are highly correlated with the pixel to be filtered can be used as reliable input pixels, thereby improving the pixel filtering effect.
[0705] Fourth embodiment
[0706] Based on any of the above embodiments, a fourth embodiment is proposed.
[0707] In this embodiment, the first model includes at least one model parameter, and / or the second model includes at least one model parameter, and / or at least one filtering model includes at least one model parameter.
[0708] Optionally, at least one model parameter is determined or obtained according to at least one of the following methods d1 to d11:
[0709] Method d1, the reconstructed value of the reference pixel;
[0710] Optionally, at least one model parameter is determined or obtained based on the reconstructed value of the reference pixel. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0711] Optionally, the reconstructed value of the reference pixel refers to the final signal value of the reference pixel after the following steps: prediction → inverse residual transform / inverse quantization → reconstruction → deblocking filter (DBF) → SAO. It contains coding distortion, but has been preliminarily corrected by the preceding loop filter.
[0712] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0713] Optionally, at least one model parameter is determined or obtained based on the reconstructed value of the reference pixel. The method of determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model, can refer to step S13 in the second embodiment. The method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0714] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0715] Optionally, this application proposes an improved ALF mode, including: EALF model and / or ALF-CCCM model. The following explanation uses EALF model as an example. It does not require explicit transmission of filter coefficients between the encoder and decoder. Instead, the encoder and decoder can independently construct and solve the model on the SAO-processed image based on the same signal, thereby adaptively generating model coefficients (i.e. filter coefficients) suitable for the current region.
[0716] Optionally, the EALF model is constructed through the following steps:
[0717] Step S1: In the current coding tree unit (CTU), select a local region of a preset size as the filter coefficient determination window. The pixels in this window are the brightness reconstructed pixels after SAO processing, denoted as {Y(i,j)}, which are the pixels to be filtered.
[0718] Step S2: For each pixel position (i,j) in the window to be filtered, a system of linear and / or nonlinear equations is constructed, using itself (e.g., the reconstructed and / or predicted value of the pixel to be filtered) and its reference pixel (e.g., the reconstructed and / or predicted value of the reference pixel) as input samples (i.e., input pixels) and the reconstructed and / or predicted value of the pixel to be filtered as output samples (i.e., output pixels). Since the number of pixels in the window to be filtered is usually much larger than the number of filter taps, this system of equations is an overdetermined system of equations.
[0719] Step S3: Solve the above overdetermined equations using the least squares method to obtain the filter coefficients (i.e., model coefficients).
[0720] Optionally, the filter coefficient determination window and the filter window are the same size and position.
[0721] Optionally, the EALF model is constructed through the following steps:
[0722] Step S1: In the current coding tree unit (CTU), select a local region with a preset size larger than the window to be filtered as the filter coefficient determination window. The pixels in this window are the brightness reconstructed pixels after SAO processing, denoted as {Y(i,j)}, which are the pixels to be filtered.
[0723] Step S2: For each pixel position (i,j) in the window to be filtered, a system of linear and / or nonlinear equations is constructed, using itself (e.g., the reconstructed and / or predicted value of the pixel to be filtered) and its reference pixel (e.g., the reconstructed and / or predicted value of the reference pixel) as input samples (i.e., input pixels) and the reconstructed and / or predicted value of the pixel to be filtered as output samples (i.e., output pixels). Since the number of pixels in the window to be filtered is usually much larger than the number of filter taps, this system of equations is an overdetermined system of equations.
[0724] Step S3: Solve the above overdetermined equations using the least squares method to obtain the filter coefficients (i.e., model coefficients).
[0725] Optionally, the filter coefficient determination window is a reconstructed image region obtained by extending a predetermined row or column from the upper, lower, left, and right boundaries of the window to be filtered.
[0726] Optionally, the values of the predetermined row or column can be 1 row or 1 column, 2 rows or 2 columns, 3 rows or 3 columns, etc.
[0727] Optionally, filtering can be performed in the window to be filtered based on the determined EALF model.
[0728] Alternatively, while following the same processing flow, the encoder and decoder will use exactly the same input and output samples to independently calculate completely identical filter coefficients. Therefore, no additional signaling is required to indicate the filter type, index, and / or coefficient values, saving bit overhead.
[0729] Optionally, the EALF model in this application differs fundamentally from the EIP (Extrapolation Filter-based Intra Prediction) mode in intra-frame prediction in terms of technical implementation. EIP is used in the prediction stage, and its filter coefficients can only be calculated based on causal reference pixels outside the block to be predicted. It is strictly forbidden to use any pixels inside the block to be predicted to ensure coding causality. In contrast, the EALF in this application is applied in the loop filtering stage. Its filter coefficients are based on the reconstructed pixels inside the filter window after SAO processing and their reference pixels to jointly construct an equation system, which is then solved online by the least squares method. Since the pixels in the entire filter area have been reconstructed and are available during ALF processing, the pixels inside the window can be used as both the target signal and feature source for modeling. This is not feasible in intra-frame prediction. The two methods differ fundamentally in terms of information dependency range, processing stage, signal state, and modeling target.
[0730] Optionally, the EALF model in this application embodiment is a model that is independently constructed and solved on the image after SAO processing. Depending on the different input samples and / or output samples used to solve its model parameters, it may also include different model types, all of which belong to the improved ALF model in this application embodiment.
[0731] Optionally, the improved ALF model in the embodiments of this application includes at least one of the EALF model and the ALF-CCCM model, the EALF model includes at least one of the EALF-S model and the EALF-T model, and the ALF-CCCM model includes at least one of the ALF-CCCM-S model and the ALF-CCCM-T model.
[0732] Optionally, the improved ALF model (including the EALF model and / or the ALF-CCCM model) proposed in this application embodiment can replace the traditional ALF model, thereby saving the bitstream overhead required for model parameter transfer between the encoder and decoder, and / or improving the filtering effect. Alternatively, the improved ALF model proposed in this application embodiment can also be combined with the traditional ALF model for filtering processing, thereby improving the quality of the reconstructed image without increasing the bitstream burden.
[0733] Optionally, the first model includes an improved ALF model (including the EALF model and / or the ALF-CCCM model), and / or the second model includes an improved ALF model (including the EALF model and / or the ALF-CCCM model).
[0734] Optionally, a traditional ALF model is used as the first model, and an EALF model is used as the second model. A first filtering result is determined or obtained based on the traditional ALF model and the reference pixel. A second filtering result is determined or obtained based on the EALF model and the reference pixel. At least one filtering result is determined or obtained based on the first filtering result, the second filtering result, and at least one filtering weight.
[0735] Optionally, determining or obtaining at least one filtering result based on the first filtering result, the second filtering result, and at least one filtering weight can refer to method c3 in the third embodiment.
[0736] Optionally, at least one filter weight is determined or obtained according to at least one of modes c11 to c13 in the third embodiment, and / or modes c111 to c113.
[0737] Optionally, the input sample of the model is determined or obtained based on the reconstructed value of the reference pixel, at least one model parameter (e.g., model coefficient) is determined or obtained based on the input sample of the model, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) is determined or obtained based on the at least one model parameter, and at least one filtering result of the pixel to be filtered is determined or obtained based on the first model and / or the second model.
[0738] Optionally, the EALF model implements a signaling-free, highly adaptive loop filtering mechanism. The EALF model can directly replace the traditional ALF model, eliminating the transmission of syntax elements for filter coefficients and / or indices, reducing code rate overhead, and / or the EALF model can also work in conjunction with the traditional ALF model to correct the results of the traditional ALF model and improve the filtering effect.
[0739] In this embodiment, input samples are constructed based on the reconstructed values of reference pixels (i.e., the final signal after prediction, residual reconstruction, deblocking filtering, and SAO processing) to determine or obtain at least one model parameter, such that the obtained model parameter, for example, filter coefficients, can truly reflect the actual distortion characteristics of the current region, thereby achieving targeted correction and improving the filtering effect on the pixels to be filtered.
[0740] Method d2, the predicted value of the reference pixel;
[0741] Optionally, at least one model parameter is determined or obtained based on the predicted value of the reference pixel. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0742] Optionally, the predicted value of the reference pixel is a pixel value generated by intra-frame and / or inter-frame prediction modes, without superimposed residuals or subsequent reconstruction and / or filtering.
[0743] Optionally, based on the predicted value of the reference pixel, the reconstructed value of the reference pixel is determined or obtained, and based on the reconstructed value of the reference pixel, at least one model parameter is determined or obtained.
[0744] Optionally, based on the predicted value of the reference pixel, residual inverse transform / inverse quantization, reconstruction, DBF and / or SAO processing are performed on the reference pixel to determine or obtain the reconstructed value of the reference pixel.
[0745] Optionally, the reference pixel includes at least one of methods a1 to a5 in the second embodiment, and / or the reference pixel is determined or obtained by at least one of methods b1 to b17 in the second embodiment.
[0746] Optionally, at least one model parameter is determined or obtained based on the predicted value of the reference pixel. The method of determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model, can refer to step S13 in the second embodiment. The method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0747] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0748] Optionally, the input sample of the model is determined or obtained based on the predicted value of the reference pixel, at least one model parameter (e.g., model coefficient) is determined or obtained based on the input sample of the model, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) is determined or obtained based on the at least one model parameter, and at least one filtering result of the pixel to be filtered is determined or obtained based on the first model and / or the second model.
[0749] In this embodiment, input samples are constructed based on the predicted values of reference pixels (i.e., signals that have been predicted), and at least one model parameter is determined or obtained, which can improve the filtering effect on the pixels to be filtered.
[0750] Method d3, the reconstructed value of the pixel to be filtered;
[0751] Optionally, at least one model parameter is determined or obtained based on the reconstructed value of the pixel to be filtered. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0752] Optionally, the reconstructed value of the pixel to be filtered refers to the final signal value of the pixel after the following steps: prediction → inverse residual transform / inverse quantization → reconstruction → deblocking filter (DBF) → SAO. It contains coding distortion, but has been preliminarily corrected by the preceding loop filter.
[0753] Optionally, at least one model parameter is determined or obtained based on the reconstructed value of the pixel to be filtered. The method of determining or obtaining a first model and / or a second model based on the at least one model parameter and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment. The method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0754] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0755] Optionally, the input samples and / or output samples of the model are determined or obtained based on the reconstructed values of the pixels to be filtered; at least one model parameter (e.g., model coefficients) is determined or obtained based on the input samples and / or output samples of the model; a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) is determined or obtained based on the at least one model parameter; and at least one filtering result of the pixels to be filtered is determined or obtained based on the first model and / or the second model.
[0756] Optionally, the improved ALF model in this application embodiment includes: ALF-CCCM, which determines or obtains cross-component pixels of the pixel to be filtered based on the reconstructed value of the pixel to be filtered, takes the reconstructed value of the pixel to be filtered as the output sample, and takes at least one of the cross-component pixels, the reconstructed value of the pixel to be filtered, and a reference pixel as the input sample, determines or obtains at least one model parameter, determines or obtains a first model and / or a second model (e.g., the first model and / or the second model is an ALF-CCCM model) based on the at least one model parameter, and determines or obtains at least one filtering result of the pixel to be filtered based on the first model and / or the second model.
[0757] Alternatively, the ALF-CCCM model can also be constructed and solved independently by the encoder and decoder on the SAO-processed image without explicitly transmitting filter coefficients between the encoder and decoder. The training samples used for solving the model coefficients include cross-component pixels of the pixel to be filtered. ALF-CCCM can achieve efficient filtering of chrominance pixels within the current block based on the luminance pixels within the current block.
[0758] In this embodiment, an input sample is constructed based on the reconstructed value of the pixel to be filtered (i.e., the final signal after prediction, residual reconstruction, deblocking filtering and SAO processing have been completed), and at least one model parameter is determined or obtained, so that the obtained model parameter, such as the filter coefficient, can truly reflect the actual distortion characteristics of the current region, thereby achieving targeted correction and improving the filtering effect on the pixel to be filtered.
[0759] Method d4, the predicted value of the pixel to be filtered;
[0760] Optionally, at least one model parameter is determined or obtained based on the predicted value of the pixel to be filtered. The at least one model parameter includes parameters of at least one of the first model, the second model, and the at least one filtering model.
[0761] Optionally, the predicted value of the pixel to be filtered refers to the pixel value generated by the intra-frame and / or inter-frame prediction modes, without superimposed residuals and without subsequent reconstruction and / or filtering processing.
[0762] Optionally, based on the predicted value of the pixel to be filtered, the reconstructed value of the pixel to be filtered is determined or obtained, and based on the reconstructed value of the pixel to be filtered, at least one model parameter is determined or obtained.
[0763] Optionally, based on the predicted value of the pixel to be filtered, residual inverse transform / inverse quantization, reconstruction, DBF and / or SAO processing are performed on the pixel to be filtered to determine or obtain the reconstructed value of the pixel to be filtered.
[0764] Optionally, at least one model parameter is determined or obtained based on the predicted value of the pixel to be filtered. The method of determining or obtaining a first model and / or a second model based on the at least one model parameter and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment. The method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0765] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0766] Optionally, the input samples and / or output samples of the model are determined or obtained based on the predicted values of the pixels to be filtered; at least one model parameter (e.g., model coefficients) is determined or obtained based on the input samples and / or output samples of the model; a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) is determined or obtained based on the at least one model parameter; and at least one filtering result of the pixels to be filtered is determined or obtained based on the first model and / or the second model.
[0767] In this embodiment, input samples are constructed based on the predicted values of the pixels to be filtered (i.e., signals that have been predicted), and at least one model parameter is determined or obtained, which can improve the filtering effect on the pixels to be filtered.
[0768] Method d5, the pixel is determined or obtained based on the motion vector and / or block vector of the pixel to be filtered;
[0769] Optionally, based on the pixel determined or obtained from the motion vector and / or block vector of the pixel to be filtered, at least one model parameter is determined or obtained, and the at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0770] Alternatively, in the traditional ALF mode, the filtering model typically takes a linear form: y = w0x0 + w1x1 + ... + w n-1 x n-1 ;
[0771] y represents the pixels to be filtered, x0, x1, ..., x n-1 For the reconstructed pixels from the reference region, a feature vector is constructed, with weight coefficients w0, w1, ..., w n-1 As model parameters, they are obtained by solving based on local training samples (i.e., multiple x→y pairs) using the least squares method or other optimization algorithms. However, this method only relies on a fixed reference set with spatial proximity, making it difficult to capture non-local repeating structures or cross-frame similar content.
[0772] Optionally, to address the above-mentioned problems, embodiments of this application propose an extended input dimension approach. In addition to the original use of pixels in the reference region as sample data, pixels determined or obtained based on the motion vector and / or block vector of the pixel to be filtered are introduced as new input variables (x). These extended pixels can introduce stronger correlations because they have high structural and / or semantic similarity with the current block.
[0773] Optionally, the EALF model and / or ALF-CCCM model can be a pixel-determined or obtained filtering model based on the motion vector and / or block vector of the pixel to be filtered.
[0774] Optionally, the EALF model includes: a time-enhanced EALF-T model and / or a spatially enhanced EALF-S model.
[0775] Optionally, the ALF-CCCM model includes: a time-domain enhanced ALF-CCCM-T model and / or a spatially enhanced ALF-CCCM-S model.
[0776] Optionally, the EALF-T model and / or ALF-CCCM-T model are based on the traditional model that relies solely on causal spatial neighborhood reference pixels. They introduce pixels determined or obtained by motion vectors (MVs) to construct training samples (e.g., input samples). When constructing training samples for the model, in addition to the local neighborhood pixels reconstructed by SAO in the current frame, pixels indicated by the motion vectors of the pixels to be filtered can be extracted from the motion-compensated reference frame and used as additional feature inputs. Since these reference pixels are highly correlated with the current block in content (especially in static or slowly moving regions), the EALF-T model and / or ALF-CCCM-T model can accurately estimate the ideal reconstructed signal using cross-frame redundancy information, improving filtering performance. And / or since the motion vectors themselves are already transmitted in the bitstream for inter-frame prediction, temporal reference positions can be obtained without adding new signaling, ensuring consistent implementation at the encoder and decoder ends.
[0777] Optionally, the EALF-S model and / or ALF-CCCM-S model are models that do not introduce pixels determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples). For example, the EALF-S model and / or ALF-CCCM-S can use causal spatial neighborhood reference pixels and / or pixels determined or obtained by block vectors (BV) to construct training samples (e.g., input samples).
[0778] Optionally, when constructing training samples for the model, in addition to the local neighborhood pixels reconstructed by SAO in the current frame, matching block pixels pointed to by BV in the reconstructed region within the current frame can also be used as supplementary input features. Although these regions are not spatially continuous, they have high content similarity, enabling the EALF-S model and / or ALF-CCCM-S model to more accurately recover the repeated structures (such as icons, characters, and table lines) that have been compressed and destroyed, thereby improving the filtering effect. And / or, since the block vector already exists as a syntax element in IBC-supporting coding standards (such as VVC SCC), the construction of the EALF-S model and / or ALF-CCCM-S model can directly reuse its pointing position, achieving cross-regional collaborative filtering without additional overhead.
[0779] Optionally, if the filtering model is determined or obtained based on the pixel determined or obtained through the motion vector and / or block vector of the pixel to be filtered, then the filtering model can be the EALF-T model and / or the ALF-CCCM-T model.
[0780] Optionally, the method of determining or obtaining at least one model parameter based on the pixel determined or obtained according to the motion vector and / or block vector of the pixel to be filtered, determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment, and the method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0781] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0782] Optionally, the input samples of the model are determined or obtained based on the pixel determined or obtained by the motion vector and / or block vector of the pixel to be filtered. Based on the input samples of the model, at least one model parameter (e.g., model coefficients) is determined or obtained. Based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) are determined or obtained. Based on the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0783] Optionally, the EALF model may include an EALF-T model and an EALF-S model.
[0784] Optionally, the ALF-CCCM model may include an ALF-CCCM-T model and an ALF-CCCM-S model.
[0785] Optionally, for a filter coefficient determination window, during the training phase, if a pixel has no motion vector and / or block vector, then that pixel is used for training the EALF-S model; if a pixel has a motion vector and / or block vector, then that pixel is used for training the EALF-S model. That is, a filter coefficient determination window can use multiple filter models.
[0786] Optionally, for a window to be filtered, during the filtering stage, if a pixel has no motion vector and / or block vector, then the EALF-S model is used for filtering this pixel; if a pixel has a motion vector and / or block vector, then the EALF-S model is used for filtering this pixel. That is, a window to be filtered can use multiple filtering models.
[0787] In this embodiment, at least one model parameter of the filtering model is determined or obtained based on the motion vector and / or block vector of the pixel to be filtered. This breaks through the limitation of traditional ALF relying only on local causal neighborhoods, and incorporates non-local but highly correlated content and / or motion-consistent regions into the filtering model, thereby improving the filtering effect of the filtering model.
[0788] Method d6, the pixel is determined or obtained based on the motion vector and / or block vector of the pixel in the current block;
[0789] Optionally, based on the pixel determined or obtained from the motion vector and / or block vector of the pixel in the current block, at least one model parameter is determined or obtained, and the at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0790] Optionally, the EALF model and / or ALF-CCCM model can be a pixel-determined or filtered model determined or obtained based on the motion vector and / or block vector of the pixels in the current block.
[0791] Optionally, the EALF model includes: a time-enhanced EALF-T model and / or a spatially enhanced EALF-S model.
[0792] Optionally, the ALF-CCCM model includes: a time-domain enhanced ALF-CCCM-T model and / or a spatially enhanced ALF-CCCM-S model.
[0793] Optionally, the EALF-T model and / or ALF-CCCM-T model are models that, in addition to the traditional model that relies solely on reference pixels in the causal spatial neighborhood, introduce pixels that are determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples) to determine or obtain the model.
[0794] Optionally, the EALF-S model and / or ALF-CCCM-S model are models that do not introduce pixels determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples). For example, the EALF-S model can use causal spatial neighborhood reference pixels and / or pixels determined or obtained by block vectors (BV) to construct training samples (e.g., input samples).
[0795] Optionally, if the filtering model is determined or obtained based on pixels determined or obtained through the motion vector and / or block vector of pixels in the current block, the filtering model can be an EALF model and / or an ALF-CCCM model.
[0796] Optionally, the method of determining or obtaining at least one model parameter based on the pixel determined or obtained according to the motion vector and / or block vector of the pixel in the current block, determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment, and the method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0797] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0798] Optionally, the input samples of the model are determined or obtained based on the pixel determined or obtained by the motion vector and / or block vector of the pixel in the current block. Based on the input samples of the model, at least one model parameter (e.g., model coefficients) is determined or obtained. Based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) are determined or obtained. Based on the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0799] Optionally, the EALF model may include an EALF-T model and an EALF-S model.
[0800] Optionally, the ALF-CCCM model may include an ALF-CCCM-T model and an ALF-CCCM-S model.
[0801] Optionally, for a filter coefficient determination window, during the training phase, if a pixel has no motion vector and / or block vector, then that pixel is used for training the EALF-S model; if a pixel has a motion vector and / or block vector, then that pixel is used for training the EALF-S model. That is, a filter coefficient determination window can use multiple filter models.
[0802] Optionally, for a window to be filtered, during the filtering stage, if a pixel has no motion vector and / or block vector, then the EALF-S model is used for filtering this pixel; if a pixel has a motion vector and / or block vector, then the EALF-S model is used for filtering this pixel. That is, a window to be filtered can use multiple filtering models.
[0803] Optionally, embodiments of this application propose an extended input dimension approach, which introduces pixels determined or obtained based on the motion vectors and / or block vectors of pixels within the current block as new input variables (x) on the basis of the original reference region pixels as sample data. These extended pixels can introduce stronger correlations because they have high structural and / or semantic similarity with the current block.
[0804] In this embodiment, at least one model parameter of the filtering model is determined or obtained based on the motion vector and / or block vector of the pixels in the current block. This breaks through the limitation of traditional ALF relying only on local causal neighborhoods, and incorporates non-local but highly correlated content and / or motion-consistent regions into the filtering model, thereby improving the filtering effect of the filtering model.
[0805] Method d7, the pixels are determined or obtained by using the motion vectors and / or block vectors of pixels within a preset area;
[0806] Optionally, based on the pixels determined or obtained from the motion vectors and / or block vectors of pixels within a preset area, at least one model parameter is determined or obtained. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0807] Optionally, the EALF model and / or ALF-CCCM model can be a pixel determination or filtering model determined or obtained based on the motion vectors and / or block vectors of pixels within a preset region, wherein the pixel to be filtered is located within the preset region, and the preset region is located within the current block.
[0808] Optionally, the EALF model includes: a time-enhanced EALF-T model and / or a spatially enhanced EALF-S model.
[0809] Optionally, the ALF-CCCM model includes: a time-domain enhanced ALF-CCCM-T model and / or a spatially enhanced ALF-CCCM-S model.
[0810] Optionally, the EALF-T model and / or ALF-CCCM-T model are models that, in addition to the traditional model that relies solely on reference pixels in the causal spatial neighborhood, introduce pixels that are determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples) to determine or obtain the model.
[0811] Optionally, the EALF-S model and / or ALF-CCCM-S model are models that do not introduce pixels determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples). For example, the EALF-S model can use causal spatial neighborhood reference pixels and / or pixels determined or obtained by block vectors (BV) to construct training samples (e.g., input samples).
[0812] Optionally, if the filtering model is determined or obtained based on pixels determined or obtained through the motion vectors and / or block vectors of pixels within a preset region, then the filtering model can be an EALF model.
[0813] Optionally, the method of determining or obtaining at least one model parameter based on the pixel determined or obtained according to the motion vector and / or block vector of the pixel in the preset area, determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment, and the method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0814] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0815] Optionally, the input samples of the model are determined or obtained based on the pixel motion vectors and / or block vectors of the pixels within a preset area. Based on the input samples of the model, at least one model parameter (e.g., model coefficients) is determined or obtained. Based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) are determined or obtained. Based on the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0816] Optionally, embodiments of this application propose an extended input dimension approach, which introduces pixels determined or obtained based on motion vectors and / or block vectors of pixels within a preset region as new input variables (x) on the basis of the original reference region pixels as sample data. These extended pixels can introduce stronger correlations because they have high structural and / or semantic similarity with the current block.
[0817] In this embodiment, at least one model parameter of the filtering model is determined or obtained based on the motion vector and / or block vector of pixels within a preset area. This breaks through the limitation of traditional ALF relying only on local causal neighborhoods, and incorporates non-local but highly correlated content and / or motion-consistent regions into the filtering model, thereby improving the filtering effect of the filtering model.
[0818] Method d8 determines or obtains pixels based on the motion vectors and / or block vectors of pixels within a preset range.
[0819] Optionally, based on the pixels determined or obtained from the motion vectors and / or block vectors of pixels within a preset range, at least one model parameter is determined or obtained. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0820] Optionally, the EALF model and / or ALF-CCCM model can be a pixel-determined or filtered model based on the motion vectors and / or block vectors of pixels within a preset range, wherein the pixels to be filtered are located within the preset range, and the preset range is located within the current block.
[0821] Optionally, the EALF model includes: a time-enhanced EALF-T model and / or a spatially enhanced EALF-S model.
[0822] Optionally, the ALF-CCCM model includes: a time-domain enhanced ALF-CCCM-T model and / or a spatially enhanced ALF-CCCM-S model.
[0823] Optionally, the EALF-T model and / or ALF-CCCM-T model are based on the traditional model that relies solely on reference pixels in the causal spatial neighborhood. The model is determined or obtained by constructing training samples (e.g., input samples) from pixels determined or obtained by motion vectors (MV). The motion vectors include at least one of the following: pixels within a preset range, pixels within a preset region, pixels within the current block, and pixels to be filtered.
[0824] Optionally, the EALF-S model and / or ALF-CCCM-S model are models that do not introduce pixels determined or obtained by motion vectors (MV) to construct training samples (e.g., input samples). For example, the EALF-S model can use causal spatial neighborhood reference pixels and / or pixels determined or obtained by block vectors (BV) to construct training samples (e.g., input samples), where the block vector includes at least one of the following: pixels within a preset range, pixels within a preset region, pixels within the current block, and pixels to be filtered.
[0825] Optionally, if the filtering model is determined or obtained based on pixels determined or obtained through the motion vectors and / or block vectors of pixels within a preset range, then the filtering model can be an EALF model.
[0826] Optionally, the method of determining or obtaining at least one model parameter based on the pixel determined or obtained according to the pixel motion vector and / or block vector within a preset range, determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment, and the method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0827] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0828] Optionally, the input samples of the model are determined or obtained based on the pixel motion vectors and / or block vectors of pixels within a preset range. Based on the input samples of the model, at least one model parameter (e.g., model coefficients) is determined or obtained. Based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) are determined or obtained. Based on the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0829] Optionally, embodiments of this application propose an extended input dimension approach, which introduces pixels determined or obtained based on motion vectors and / or block vectors of pixels within a preset range as new input variables (x) on the basis of the original pixel data of the reference region. These extended pixels can introduce stronger correlations because they have high structural and / or semantic similarity with the current block.
[0830] In this embodiment, at least one model parameter of the filtering model is determined or obtained based on the motion vector and / or block vector of pixels within a preset range. This breaks through the limitation of traditional ALF relying only on local causal neighborhoods, and incorporates non-local but highly correlated content and / or motion-consistent regions into the filtering model, thereby improving the filtering effect of the filtering model.
[0831] Method d9, linear equation system;
[0832] Optionally, at least one model parameter is determined or obtained based on the system of linear equations. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0833] Optionally, the method of determining or obtaining at least one model parameter based on the linear equation system, determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment, and the method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0834] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0835] Optionally, based on the linear equations, at least one model parameter (e.g., model coefficients) is determined or obtained; based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) is determined or obtained; and based on the first model and / or the second model, at least one filtering result for the pixel to be filtered is determined or obtained.
[0836] Optionally, a set of linear equations with model parameters (e.g., model coefficients) as unknowns can be established based on the training samples. Then, the set of equations can be solved using analytical methods such as the least squares method to obtain the model coefficients, thus completing the construction of the model parameters.
[0837] Optionally, the training samples include at least one of the following: reconstructed value of a reference pixel, predicted value of a reference pixel, reconstructed value of a pixel to be filtered, predicted value of a pixel to be filtered, a pixel determined or obtained by motion vector and / or block vector of a pixel to be filtered, a pixel determined or obtained by motion vector and / or block vector of pixels within a preset region, a pixel determined or obtained by motion vector and / or block vector of pixels within the current block, and a pixel determined or obtained by motion vector and / or block vector of pixels within a preset range.
[0838] In this embodiment, the method of determining or obtaining at least one model parameter based on a system of linear equations has low computational complexity, and / or consistent model parameters can be independently generated on the encoder and decoder based on the same reconstructed pixels, without introducing additional signaling overhead, and / or improving the filtering effect.
[0839] Method d10, nonlinear equation system;
[0840] Optionally, at least one model parameter is determined or obtained based on the nonlinear equation set, and the at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0841] Optionally, the method of determining or obtaining at least one model parameter based on the nonlinear equation set, determining or obtaining a first model and / or a second model based on the at least one model parameter, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment, and the method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0842] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0843] Optionally, based on the nonlinear equations, at least one model parameter (e.g., model coefficients) is determined or obtained; based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) is determined or obtained; and based on the first model and / or the second model, at least one filtering result for the pixel to be filtered is determined or obtained.
[0844] Optionally, a set of nonlinear equations with model parameters (e.g., model coefficients) as unknowns can be established based on the training samples. Then, the set of equations can be solved by numerical optimization methods (such as Newton's method, gradient descent, etc.) to obtain the model coefficients, thus completing the construction of the model parameters.
[0845] Optionally, nonlinear modeling can more accurately characterize complex textures, strong edges, and / or nonlinear correlations between components, thereby improving the ability to correct higher-order distortions.
[0846] Optionally, the training samples include at least one of the following: reconstructed value of a reference pixel, predicted value of a reference pixel, reconstructed value of a pixel to be filtered, predicted value of a pixel to be filtered, a pixel determined or obtained by motion vector and / or block vector of a pixel to be filtered, a pixel determined or obtained by motion vector and / or block vector of pixels within a preset region, a pixel determined or obtained by motion vector and / or block vector of pixels within the current block, and a pixel determined or obtained by motion vector and / or block vector of pixels within a preset range.
[0847] In this embodiment, the method of determining or obtaining at least one model parameter based on a set of nonlinear equations has low computational complexity, and / or consistent model parameters can be independently generated at the encoder and decoder based on the same reconstructed pixels, without introducing additional signaling overhead, and / or improving the filtering effect.
[0848] Method d11 outputs pixels with the reconstructed value and / or the predicted value of the pixel to be filtered;
[0849] Optionally, the reconstructed value and / or predicted value of the pixel to be filtered are used as the output pixel to determine or obtain at least one model parameter, which includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0850] Optionally, using the reconstructed value and / or predicted value of the pixel to be filtered as the output pixel (i.e., the output sample), a system of linear equations and / or a system of nonlinear equations is constructed. By solving the system of equations, at least one model parameter is determined or obtained. The at least one model parameter includes parameters of at least one of the first model, the second model, and at least one filtering model.
[0851] Optionally, the output pixel is determined or obtained by using the reconstructed value and / or the predicted value of the pixel to be filtered. At least one model parameter is determined or obtained based on the at least one model parameter. The method of determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment. The method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0852] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0853] Optionally, the reconstructed value and / or predicted value of the pixel to be filtered are used as the output pixel to determine or obtain at least one model parameter (e.g., model coefficients), and a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) are determined or obtained based on the at least one model parameter, and at least one filtering result of the pixel to be filtered is determined or obtained based on the first model and / or the second model.
[0854] In this embodiment, output samples (i.e. output pixels) are constructed based on the reconstructed and / or predicted values of the pixels to be filtered, and at least one model parameter is determined or obtained, such that the obtained model parameter, for example, the filter coefficients, can truly reflect the actual distortion characteristics of the current region, thereby achieving targeted correction and improving the filtering effect on the pixels to be filtered.
[0855] Method d12 uses at least one of the following as input pixels: pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset region, pixels determined or obtained by motion vectors and / or block vectors of pixels within the current block, pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset range, pixels determined or obtained by motion vectors and / or block vectors of pixels to be filtered, reconstructed values of reference pixels, predicted values of reference pixels, reconstructed values of pixels to be filtered, and predicted values of pixels to be filtered.
[0856] Optionally, at least one model parameter is determined or obtained using at least one of the following as input pixels: pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset region, pixels determined or obtained by motion vectors and / or block vectors of pixels within the current block, pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset range, pixels determined or obtained by motion vectors and / or block vectors of pixels to be filtered, reconstructed values of reference pixels, predicted values of reference pixels, reconstructed values of pixels to be filtered, and predicted values of pixels to be filtered. The at least one model parameter includes parameters of at least one of the following: a first model, a second model, and at least one filtering model.
[0857] Optionally, at least one of the following can be used as input pixels (i.e., input samples): pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset region, pixels determined or obtained by motion vectors and / or block vectors of pixels within the current block, pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset range, pixels determined or obtained by motion vectors and / or block vectors of pixels to be filtered, reconstructed values of reference pixels, predicted values of reference pixels, reconstructed values of pixels to be filtered, and predicted values of pixels to be filtered. Linear equations and / or nonlinear equations can be constructed, and at least one model parameter can be determined or obtained by solving the equations. The at least one model parameter includes parameters of at least one of the following: a first model, a second model, and at least one filtering model.
[0858] Optionally, at least one of the following can be used as input pixels (i.e., input samples): pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset region, pixels determined or obtained by motion vectors and / or block vectors of pixels within the current block, pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset range, pixels determined or obtained by motion vectors and / or block vectors of pixels to be filtered, reconstructed values of reference pixels, predicted values of reference pixels, reconstructed values of pixels to be filtered, and predicted values of pixels to be filtered. The reconstructed values of pixels to be filtered and / or predicted values of pixels to be filtered are used as output pixels (i.e., output samples). A system of linear equations and / or a system of nonlinear equations is constructed. By solving the system of equations, at least one model parameter is determined or obtained. The at least one model parameter includes parameters of at least one of the following: a first model, a second model, and at least one filtering model.
[0859] Optionally, at least one model parameter can be determined or obtained by using at least one of the following as input pixels: pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset region, pixels determined or obtained by motion vectors and / or block vectors of pixels within the current block, pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset range, pixels determined or obtained by motion vectors and / or block vectors of the pixel to be filtered, the reconstructed value of a reference pixel, the predicted value of a reference pixel, the reconstructed value of the pixel to be filtered, and the predicted value of the pixel to be filtered. The method of determining or obtaining at least one model parameter based on the at least one model parameter, determining or obtaining a first model and / or a second model, and determining or obtaining at least one filtering result of the pixel to be filtered based on the first model and / or the second model can refer to step S13 in the second embodiment. The method of determining or obtaining at least one filtering result can refer to methods c3 to c5 in the third embodiment.
[0860] Optionally, at least one model parameter includes: model coefficients (i.e. filter coefficients).
[0861] Optionally, at least one model parameter (e.g., model coefficients) is determined or obtained using at least one of the following as input pixels: pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset region, pixels determined or obtained by motion vectors and / or block vectors of pixels within the current block, pixels determined or obtained by motion vectors and / or block vectors of pixels within a preset range, pixels determined or obtained by motion vectors and / or block vectors of the pixel to be filtered, reconstructed value of a reference pixel, predicted value of a reference pixel, reconstructed value of the pixel to be filtered, and predicted value of the pixel to be filtered. Based on the at least one model parameter, a first model and / or a second model (e.g., the first model and / or the second model is an EALF model) are determined or obtained. Based on the first model and / or the second model, at least one filtering result of the pixel to be filtered is determined or obtained.
[0862] In this embodiment, at least one model parameter is determined or obtained based on at least one of the following: a pixel determined or obtained by motion vectors and / or block vectors of pixels within a preset region; a pixel determined or obtained by motion vectors and / or block vectors of pixels within the current block; a pixel determined or obtained by motion vectors and / or block vectors of pixels within a preset range; a pixel determined or obtained by motion vectors and / or block vectors of the pixel to be filtered; a reconstructed value of a reference pixel; a predicted value of a reference pixel; a reconstructed value of the pixel to be filtered; and a predicted value of the pixel to be filtered, all of which are used as input pixels (i.e., input samples). This ensures that the obtained model parameter, such as filter coefficients, can accurately reflect the actual distortion characteristics of the current region, thereby achieving targeted correction and improving the filtering effect on the pixel to be filtered.
[0863] Fifth Embodiment
[0864] This application embodiment also provides a processing device. Please refer to FIG15, which is a functional block diagram of the processing device of this application. It can be disposed in or is a processing device. The processing device includes:
[0865] Processing module A10 is used to determine or obtain at least one filtering result for the pixel to be filtered based on at least one filtering model.
[0866] Optionally, the processing module A10 is also used to determine or obtain at least one filtering result of the pixel to be filtered based on at least one filtering model and a reference pixel.
[0867] Optionally, the processing module A10 is further configured to determine or obtain at least one filtering result for the pixel to be filtered based on a first model and / or a second model determined or obtained from at least one filtering model.
[0868] Optionally, the processing module A10 is further configured to determine or obtain at least one filtering result for the pixel to be filtered based on at least one filtering model and at least one filtering weight.
[0869] Optionally, the processing module A10 is further configured to determine or obtain at least one filtering result of the pixel to be filtered based on at least one filtering model and at least one filtering processing order.
[0870] Optionally, the processing apparatus further includes at least one of the following:
[0871] The first filtering result of the pixel to be filtered is determined or obtained based on the first model;
[0872] The second filtering result of the pixel to be filtered is determined or obtained according to the second model;
[0873] The first model includes: at least one model parameter;
[0874] The second model includes: at least one model parameter;
[0875] At least one filtering order is determined or obtained based on the order in which the reconstructed values and / or filtered values of the pixels to be filtered in the current block are determined;
[0876] At least one filtering process sequence corresponds to at least one filtering model;
[0877] At least one filter weight is determined or obtained based on at least one of the...
Claims
One processing method, wherein, Including the following steps: S10, Based on at least one filtering model, determine or obtain at least one filtering result for the pixel to be filtered. The treatment method as claimed in claim 1, wherein, Step S10 includes at least one of the following: Based on at least one filtering model and a reference pixel, determine or obtain at least one filtering result for the pixel to be filtered; Based on the first model and / or the second model determined or obtained from at least one filtering model, at least one filtering result of the pixel to be filtered is determined or obtained. Based on at least one filtering model and at least one filtering weight, determine or obtain at least one filtering result for the pixel to be filtered; Based on at least one filtering model and at least one filtering process order, at least one filtering result of the pixel to be filtered is determined or obtained. The treatment method as claimed in claim 2, wherein, The method further includes at least one of the following: The first filtering result of the pixel to be filtered is determined or obtained based on the first model; The second filtering result of the pixel to be filtered is determined or obtained according to the second model; The first model includes: at least one model parameter; The second model includes: at least one model parameter; At least one filtering order is determined or obtained based on the order in which the reconstructed values and / or filtered values of the pixels to be filtered in the current block are determined; At least one filtering process sequence corresponds to at least one filtering model; At least one filter weight is determined or obtained based on at least one of the following: at least one filter result, the correlation between the reference pixel and the pixel to be filtered, and the syntax element obtained from the bitstream. The processing method as described in claim 3, wherein, The method further includes at least one of the following: At least one filtering result is determined or obtained based on the first filtering result, the second filtering result, and at least one filtering weight; At least one filtering result is determined or obtained based on the first filtering result and the second model; At least one filtering result is determined or obtained based on the second filtering result and the first model; The input pixels and / or output pixels of the first model are determined or obtained based on at least one of the following: the reconstructed value of the reference pixel, the filtered value of the reference pixel, the reconstructed value of the pixel to be filtered, the filtered value of the pixel to be filtered, and the second filtering result. The input pixels and / or output pixels of the second model are determined or obtained based on at least one of the following: the reconstructed value of the reference pixel, the filtered value of the reference pixel, the reconstructed value of the pixel to be filtered, the filtered value of the pixel to be filtered, and the first filtering result; At least one filtering process sequence corresponds to the position of the input pixels and / or output pixels of the first model; At least one filtering process sequence corresponds to the position of the input pixels and / or output pixels of the second model. The processing method as described in claim 3, wherein, At least one filter weight is determined or obtained based on at least one of the following: At least one filtering result determines or obtains the residual energy; The proportion of abnormal pixels is determined or obtained from at least one filtering result; At least one filtering result determines or obtains the filtered correction energy. The processing method as claimed in claim 3, wherein, At least one model parameter is determined or obtained based on at least one of the following: Reconstructed value of the reference pixel; The filtered value of the reference pixel; The reconstructed value of the pixel to be filtered; The filtered value of the pixel to be filtered; The pixel is determined or obtained by the motion vector and / or block vector of the pixel to be filtered; Pixels are determined or obtained by the motion vectors and / or block vectors of pixels within a preset area; Pixels determined or obtained through the motion vectors and / or block vectors of pixels within the current block; Pixels are determined or obtained by using motion vectors and / or block vectors of pixels within a preset range. The treatment method as claimed in claim 6, wherein The pixel to be filtered is located in a preset region, and / or, at least one model parameter is determined or obtained based on at least one of the following: Linear equation system; Nonlinear equation system; The reconstructed value and / or the filtered value of the pixel to be filtered are used as the output pixel. The input pixel is at least one of the following: a pixel determined or obtained by motion vectors and / or block vectors of pixels within a preset region; a pixel determined or obtained by motion vectors and / or block vectors of pixels within the current block; a pixel determined or obtained by motion vectors and / or block vectors of pixels within a preset range; a pixel determined or obtained by motion vectors and / or block vectors of the pixel to be filtered; a reconstructed value of a reference pixel; a filtered value of a reference pixel; a reconstructed value of the pixel to be filtered; and a filtered value of the pixel to be filtered. The treatment method as claimed in claim 2, wherein, The reference pixel is determined or obtained based on at least one of the following: Filtering sequence; The distance between the candidate reference pixel and the pixel to be filtered; The position of the candidate reference pixel; At least one type of filtering model; Pixels have been reconstructed; Predicted pixels; Reconstructed pixels within the current block; Predicted pixels within the current block; Pixels in the same component and / or pixels across components of the pixel to be filtered; Motion vectors and / or block vectors of the pixels to be filtered; The motion vector and / or block vector of the pixels within the current block; Motion vectors and / or block vectors of pixels within a preset range; At least one of the following: the pixel above the current block, the non-adjacent pixel above the current block, the pixel to the left of the current block, the non-adjacent pixel to the left of the current block, the pixel above the left of the current block, and the non-adjacent pixel above the left of the current block; The adjacent and / or non-adjacent regions of the current block; The first component image block and / or the second component image block of the current block; The current block's default block, neighboring block, non-neighboring block, co-occurring block, and temporal block are at least one of the following: The adjacent and / or neighboring pixels of at least one combination of pixels to be filtered in the current block. A processing device, wherein include: The memory and the processor, wherein the memory stores a processing program, and the processing program, when executed by the processor, implements the steps of the processing method as described in claim 1. A storage medium, wherein, The storage medium stores a computer program, which, when executed by a processor, implements the steps of the processing method as described in claim 1.