Processing method, processing device, and storage medium

By utilizing a pattern list and multiple prediction mode information in video coding, the prediction mode selection for the current block is optimized, solving the problem of poor prediction mode matching in existing technologies and improving the prediction accuracy of image blocks and video coding performance.

CN120186339BActive Publication Date: 2026-05-05SHENZHEN TRANSSION HLDG CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN TRANSSION HLDG CO LTD
Filing Date
2025-03-19
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

In existing video coding standards, it is difficult to match a suitable prediction mode during intra-frame prediction and/or inter-frame prediction, resulting in unsatisfactory image patch prediction performance.

Method used

The target prediction mode for the current block is determined by combining the candidate modes in the mode list with the mode matching information of the current block and its reference area. This includes considering the prediction modes of the current block's sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks, and encoded image blocks at preset positions. Information such as gradient histograms and usage count histograms are used to optimize the selection of prediction modes.

Benefits of technology

It improves the prediction accuracy of image patches and enhances the efficiency and quality of video coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120186339B_ABST
    Figure CN120186339B_ABST
Patent Text Reader

Abstract

This application proposes a processing method, processing apparatus, and storage medium. The processing method, applicable to the processing apparatus, includes: determining or obtaining a target prediction mode for the current block based on candidate modes from at least one mode list. The technical solution of this application can match a suitable target prediction mode for the current block, thereby improving the prediction accuracy of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

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, the protocol divides each frame into different blocks and performs prediction processing and encoding / decoding processing.

[0003] In the process of conceiving and implementing this application, the inventors discovered at least the following problems: in the process of intra-frame prediction and / or inter-frame prediction, it is difficult to match a suitable prediction mode for the image block, resulting in unsatisfactory prediction effect for the image block.

[0004] The preceding description is intended to provide general background information and does not necessarily constitute prior art. Summary of the Invention

[0005] To address the aforementioned technical problems, this application provides a processing method, processing device, and storage medium that can match a suitable target prediction mode for the current block, thereby improving the prediction accuracy of the current block.

[0006] This application provides a processing method applicable to a processing device, comprising the following steps:

[0007] S10, determine or obtain the target prediction mode for the current block based on candidate modes from at least one mode list.

[0008] Optionally, candidate patterns are determined or obtained based on at least one of the following:

[0009] Pattern matching information related to at least one reference region of the current block;

[0010] Pattern matching information related to at least one reference region of the current block's sub-blocks;

[0011] The prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions of the current block;

[0012] The prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks;

[0013] The prediction mode corresponding to the sub-blocks of the current block's neighboring blocks, non-adjacent blocks, co-located blocks, and / or coded image blocks at preset positions.

[0014] Optionally, the pattern matching information includes at least one of the following:

[0015] First matching information related to at least one reference region of the current block, determined or obtained based on the prediction mode corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block;

[0016] The second matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the neighboring blocks, non-neighboring blocks, co-located blocks and / or encoded image blocks at preset positions of the sub-block of the current block.

[0017] The third matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the sub-blocks of the coded image blocks at preset positions, which are adjacent blocks, non-adjacent blocks, co-located blocks, and / or pre-defined positions of the current block.

[0018] The fourth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the sub-block of the coded image block at a preset position of the adjacent block, non-adjacent block, co-located block and / or the sub-block of the current block.

[0019] The fifth matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the encoded image block;

[0020] The sixth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-block of the current block;

[0021] The seventh matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the coded image blocks of the current block;

[0022] The eighth matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-blocks of the adjacent blocks of the current block;

[0023] The ninth matching information related to at least one reference region of the current block's sub-blocks is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram, and / or usage count histogram of the adjacent blocks of the current block's sub-blocks.

[0024] Optionally, candidate patterns are determined or obtained based on pattern matching information related to at least one reference region of the current block and / or pattern matching information related to at least one reference region of the current block's sub-blocks, including at least one of the following:

[0025] Candidate patterns are determined or obtained based on the pattern sorting results associated with at least one pattern matching information;

[0026] Based on the value range corresponding to at least one pattern matching information, determine or obtain candidate patterns;

[0027] Candidate patterns are determined or obtained based on the comparison results between at least two values ​​corresponding to at least one pattern matching information.

[0028] Optionally, the pattern list includes a first list and / or a second list.

[0029] Optionally, candidate patterns are determined or obtained based on pattern ranking results associated with at least one pattern matching information, including at least one of the following:

[0030] Based on at least one first predicted pattern that is located within a preset sorting position and / or preset sorting range in the pattern sorting results, candidate patterns in the first list are determined or obtained.

[0031] Based on at least one second prediction pattern that follows the first prediction pattern in the pattern sorting results, determine or obtain candidate patterns in the second list.

[0032] Based on at least one third predicted pattern located outside the preset sorting position and / or preset sorting range in the pattern sorting results, determine or obtain candidate patterns in the second list.

[0033] Candidate patterns in the second list are determined or obtained based on at least one fourth prediction pattern determined or obtained through the first prediction pattern.

[0034] Optionally, the method of determining or obtaining the reference area includes at least one of the following:

[0035] At least one reference region 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.

[0036] Based on at least one of the following: neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks, determine or obtain at least one reference region;

[0037] Determine or obtain at least one reference region based on at least one of the current block's width, height, block size, and block area;

[0038] Based on the candidate motion vector or candidate block vector of the current block, determine or obtain at least one reference region;

[0039] If the first information of the current block satisfies the first condition, then the reference region is the first reference region;

[0040] If the first information of the current block does not meet the first condition, then the reference area is the second reference area.

[0041] Optionally, the first information of the current block satisfies a first condition, including at least one of the following:

[0042] The value of the first piece of information is the first numerical value;

[0043] The value of the first piece of information is located within the first numerical range;

[0044] The value of the first information is greater than or equal to the first threshold;

[0045] The value of the first information is less than or equal to the second threshold.

[0046] Optionally, the prediction model includes at least one of the following:

[0047] Angle prediction mode;

[0048] Non-angular prediction mode;

[0049] Predictive derivation model.

[0050] 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.

[0051] 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.

[0052] As described above, the processing method of this application can be applied to a processing device, including: determining or obtaining a target prediction mode for the current block based on candidate modes in at least one mode list. Through the technical solution of this application, a suitable prediction mode can be matched for the current block from candidate modes included in at least one mode list, thereby improving the prediction accuracy of the current block. Attached Figure Description

[0053] 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.

[0054] Figure 1 A schematic diagram of the hardware structure of a processing device for implementing various embodiments of this application;

[0055] Figure 2 A communication network system architecture diagram provided for an embodiment of this application;

[0056] Figure 3 A schematic diagram of the hardware structure of a controller 140 provided in this application;

[0057] Figure 4 A schematic diagram of the hardware structure of a network node 150 provided in this application;

[0058] Figure 5 This is a flowchart illustrating the processing method according to the first embodiment;

[0059] Figure 6 This is a schematic diagram of the encoder's encoding process in the processing method shown in the first embodiment;

[0060] Figure 7 This is a schematic diagram of the decoding process of the decoder in the processing method shown in the first embodiment;

[0061] Figure 8 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 1 ;

[0062] Figure 9 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 2 ;

[0063] Figure 10 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 3 ;

[0064] Figure 11 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 4 ;

[0065] Figure 12 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 5 ;

[0066] Figure 13 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 6 ;

[0067] Figure 14 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 7 ;

[0068] Figure 15 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 8 ;

[0069] Figure 16 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 9 ;

[0070] Figure 17 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 10 ;

[0071] Figure 18 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 10 one;

[0072] Figure 19 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 10 two;

[0073] Figure 20 This is a pixel sampling diagram in the processing method shown in the second embodiment. Figure 10 three;

[0074] Figure 21 This is a schematic diagram of a template involved in the processing method shown in the third embodiment;

[0075] Figure 22 This is a schematic diagram of the gradient magnitude in the processing method shown in the third embodiment;

[0076] Figure 23 This is a schematic diagram of the encoded region corresponding to the block to be predicted in the processing method shown in the third embodiment;

[0077] Figure 24 This is a schematic diagram of the decoded region corresponding to the block to be predicted in the processing method shown in the third embodiment;

[0078] Figure 25 This is a schematic diagram of the reference area shown according to the fourth embodiment. Figure 1 ;

[0079] Figure 26 This is a schematic diagram of the reference area shown according to the fourth embodiment. Figure 2 ;

[0080] Figure 27 This is a schematic diagram of the reference area shown according to the fourth embodiment. Figure 3 ;

[0081] Figure 28 This is a schematic diagram of the reference area shown according to the fourth embodiment. Figure 4 ;

[0082] Figure 29 This is a schematic diagram of the reference area shown according to the fourth embodiment. Figure 5 ;

[0083] Figure 30 This is a schematic diagram of the reference area shown according to the fourth embodiment. Figure 6 ;

[0084] Figure 31 This is a schematic diagram of the processing module of the processing device.

[0085] 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

[0086] 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.

[0087] 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.

[0088] 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," "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.

[0089] 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.

[0090] 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).”

[0091] It should be noted that step designations such as S10 are used in this paper to more clearly and concisely describe the corresponding content, and do not constitute a substantial restriction on the order.

[0092] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.

[0093] 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.

[0094] 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.

[0095] 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.

[0096] Please see Figure 1 This 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... Figure 1 The mobile terminal structure shown 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.

[0097] The following is combined Figure 1 A detailed introduction to each component of the mobile terminal:

[0098] 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; additionally, it 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, and a duplexer. Furthermore, the radio frequency unit 101 can also communicate wirelessly with networks and other devices. 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.

[0099] WiFi is a short-range wireless transmission technology. Mobile terminals, through the WiFi module 102, can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access. Although Figure 1 WiFi module 102 is shown, but it is understood that it is not a necessary component of a mobile terminal and can be omitted as needed without changing the nature of the invention.

[0100] 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.

[0101] 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.

[0102] 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.

[0103] 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.

[0104] 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 touch screen, can collect touch operations on or near the user (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 two parts: touch detection device and touch controller. Optionally, touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to touch controller; touch controller receives touch information from touch detection device, converts it into touch point coordinates, and 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.

[0105] 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 based on the type of touch event. Although in Figure 1 In this embodiment, the touch panel 1071 and the display panel 1061 are two independent components to realize the input and output functions of the mobile terminal. However, 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.

[0106] 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 (e.g., data, power, etc.) from the external device and transmit the received input to one or more components within mobile terminal 100, or it may be used to transmit data between mobile terminal 100 and the external device.

[0107] 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 include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0108] 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.

[0109] The mobile terminal 100 may include a power supply 111 (such as a battery) to power 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.

[0110] although Figure 1 As not shown, the mobile terminal 100 may include a Bluetooth module, etc., which will not be described in detail here.

[0111] 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.

[0112] Please see Figure 2 , Figure 2 This application provides a communication network system architecture diagram. 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.

[0113] Optionally, UE201 can be the aforementioned terminal 100, which will not be described in detail here.

[0114] 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.

[0115] 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 transmitted through SGW2034. PGW2035 can provide IP address allocation and other functions for UE 201. PCRF2036 is the policy and charging control decision point for service data streams 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). IP services 204 may include the Internet, intranet, IMS (IP Multimedia Subsystem), or other IP services.

[0116] 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.

[0117] Figure 3This 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.

[0118] 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.

[0119] Figure 4 This application provides a schematic diagram of the hardware structure of a network node 150. 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 first embodiment of the above method. The implementation principle and beneficial effects are similar, and will not be described again here.

[0120] 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.

[0121] 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.

[0122] 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.

[0123] First Embodiment

[0124] Reference Figure 5 , Figure 5 This 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:

[0125] Step S10: Determine or obtain the target prediction mode for the current block based on candidate modes in at least one mode list.

[0126] In this embodiment, the processing device can be a smart terminal, such as a mobile phone or a computer, or a server, such as a local server or a cloud server. In this embodiment and this application, the processing device is mainly described as a smart terminal.

[0127] 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 real-time video encoding and decoding.

[0128] 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, and determine the image block to be predicted in the at least one image block as the current block.

[0129] Optionally, in order to further improve the prediction accuracy of the current block, the current block can be divided to determine or obtain at least one sub-block of the current block, and the target prediction mode of at least one sub-block of the current block can be determined or obtained according to the candidate modes in the at least one mode list.

[0130] Optionally, the target prediction mode of the current block can be determined or obtained based on candidate modes in at least one mode list and candidate modes not in the at least one mode list.

[0131] Optionally, candidate patterns with higher probabilities can be added to the at least one pattern list, and other candidate patterns not in the at least one pattern list can be determined based on the attributes of the current block (e.g., the size of the current block, the size of neighboring blocks, the prediction patterns of neighboring blocks, and the situation of prediction patterns already used). Then, the target prediction pattern of the current block can be determined or obtained based on the candidate patterns in the at least one pattern list and the candidate patterns not in the at least one pattern list, thereby enriching the diversity of candidate patterns by utilizing other candidate patterns not in the at least one pattern list.

[0132] Optionally, based on candidate modes in at least one mode list and candidate modes not in the at least one mode list, the target prediction mode of the sub-block of the current block is determined or obtained. Candidate modes with higher probabilities can be added to the at least one mode list. Other candidate modes not in the at least one mode list are determined based on the attributes of the current block and / or the sub-blocks of the current block (e.g., the size of the current block, the size of the sub-blocks of the current block, the size of the adjacent blocks, the size of the sub-blocks of the adjacent blocks, the prediction modes of the adjacent blocks and / or the sub-blocks of the adjacent blocks, and the case where the prediction modes of the coding units or the sub-blocks of the coding units have been used). Then, based on the candidate modes in the at least one mode list and candidate modes not in the at least one mode list, the target prediction mode of the sub-block of the current block is determined or obtained. This utilizes other candidate modes not in the at least one mode list to enrich the diversity of candidate modes.

[0133] Optionally, for the current block, the best candidate pattern (i.e., prediction pattern) in the at least one pattern list can be determined based on the matching information in the at least one pattern list. Then, the best candidate pattern is compared with other candidate patterns not in the at least one pattern list to determine the prediction pattern adopted by the current block. For the sub-blocks of the current block, the best candidate pattern (i.e., prediction pattern) in the at least one pattern list can be determined based on the matching information in the at least one pattern list. Then, the best candidate pattern is compared with other candidate patterns not in the at least one pattern list to determine the prediction pattern adopted by the sub-blocks of the current block.

[0134] Optionally, a first prediction mode in at least one mode list can be compared with other candidate modes not in the at least one mode list to determine the prediction mode adopted by the current block or a sub-block of the current block. For example, if the performance of the first prediction mode in the at least one mode list is better than the performance of other candidate modes not in the at least one mode list, then the best candidate mode in the at least one mode list is adopted as the prediction mode adopted by the current block or a sub-block of the current block. If the performance of other candidate modes not in the at least one mode list is better than the performance of the first prediction mode in the at least one mode list, then the other candidate modes not in the at least one mode list are adopted as the prediction mode of the current block or a sub-block of the current block.

[0135] Optionally, the candidate modes in at least one mode list may include the candidate prediction modes of the current block and the candidate prediction modes of the sub-blocks of the current block. The candidate prediction mode of the current block may be used as the first prediction mode for performance comparison with other candidate modes not in the at least one mode list.

[0136] Optionally, candidate modes in at least one mode list are processed. If the prediction effect of the candidate modes in at least one mode list is not good, other candidate modes that are not in the at least one candidate mode list are processed to determine the appropriate prediction mode for the current block from the other candidate modes.

[0137] Optionally, the target prediction mode of the current block can be determined as the target prediction mode of at least one sub-block of the current block, or the same or different target prediction modes can be determined for the current block and each sub-block of the current block. By providing appropriate target prediction modes for the sub-blocks of the current block, the prediction accuracy of the sub-blocks can be improved, and it is helpful to capture and analyze the local features of the current block in more detail, thereby improving the overall prediction effect of the current block and / or reducing the amount of data processed in a single operation, making the computation more efficient.

[0138] Optionally, the number of sub-blocks contained in the current block can be set according to the actual situation. For example, the current block may contain 4, 8, or 16 sub-blocks. The size of each sub-block may be at least partially the same or different.

[0139] Optionally, the current block can be a block of image to be predicted in the encoder and / or decoder. For example, the current block is a coding unit, and the sub-block is a sub-block within the coding unit. For the sub-block, the corresponding syntax elements and encoding information are derived from the syntax elements and encoding information of the current block. For example, the aspect ratio of the sub-block is the same as that of the current block.

[0140] Optionally, the encoding mode of the sub-block is the same as that of the current block.

[0141] Optionally, sub-blocks do not need to send signaling to indicate the syntax elements or encoding information of the sub-block.

[0142] Optionally, the current block comprises four sub-blocks of equal size. When the current block is divided into four sub-blocks of the same size, it means that a unified algorithm and parameter settings can be applied to each sub-block during encoding and decoding operations, without the need for individual adjustments for different sizes. This simplifies the calculation and determination process of the encoding information, prediction information, and syntax elements of the sub-blocks.

[0143] Optionally, the pattern list is a list of target prediction patterns used to determine the current block individually. Alternatively, the pattern list can be a list of target prediction patterns used to determine at least one sub-block within the current block individually, or it can be a list of target prediction patterns used to determine the current block and a list of target prediction patterns used to determine at least one sub-block within the current block.

[0144] Optionally, the pattern list is a collection used to store multiple prediction patterns, providing multiple possible pattern options for the prediction of the current block. By comparing the prediction effects of different patterns in the pattern list, a suitable target prediction pattern can be matched for the current block and / or at least one sub-block of the current block, thereby improving the prediction accuracy for the current block and / or at least one sub-block of the current block. Optionally, the pattern list can be one or more, and the candidate patterns in each pattern list can be different or at least partially the same.

[0145] Optionally, the pattern list may include an MPM (Most Probable Mode) list. Optionally, the pattern list in this application embodiment may be an improved MPM list.

[0146] Optionally, the MPM list is a collection of prediction patterns that are considered to be the most likely prediction patterns to apply to the current block. The MPM list is generated based on the neighborhood information of the current block (such as the prediction patterns of the blocks above and to the left) and statistical information (such as the probability of pattern occurrence). In this way, the MPM list can reduce the amount of pattern information that the encoder needs to transmit, while improving the prediction accuracy of the decoder for the prediction patterns.

[0147] Optionally, the candidate mode is a specific prediction mode option in the mode list, which is a prediction mode that the current block and / or at least one sub-block of the current block may adopt during the prediction process. Optionally, in intra-frame prediction, the candidate modes in the mode list may include: at least one angle prediction mode, at least one non-angle prediction mode and / or at least one prediction derivation mode.

[0148] Optionally, at least one predictive derivation mode is positioned in the mode list before at least one angular predictive mode or at least one non-angular predictive mode. Since at least one predictive derivation mode has a higher probability of being selected than other candidate modes, placing at least one predictive mode in a higher position in the candidate list allows for the allocation of fewer bits to encode the predictive derivation mode during encoding, thereby reducing the number of bits transmitted and improving the compression ratio of video compression.

[0149] Optionally, the angle prediction mode is a technique for predicting the current pixel block. It generates a predicted block by propagating the values ​​of neighboring pixels along a specific direction. The angle prediction mode is mainly used to process directional textures in images, which can effectively reduce spatial redundancy and improve compression efficiency.

[0150] Optionally, in the HEVC (High Efficiency Video Coding) standard, the intra-frame prediction mode includes 33 angle prediction modes, which cover different angles from horizontal to vertical, ensuring accurate prediction of various texture directions.

[0151] Optionally, the angle prediction mode predicts the pixel value of the current block by selecting a specific angle and extracting values ​​from neighboring pixels along that direction. For example, if a 45-degree angle is selected, the predicted value will be extracted from the neighboring pixels in the top left or bottom right corner.

[0152] Optionally, the non-angle prediction mode can be a prediction mode other than the angle prediction mode; optionally, the non-angle prediction mode includes: Neural Network-based Intra Prediction (NNIP) mode, Extrapolation Filter-based Intra Prediction (EIP) mode, Block Vector Prediction (BV mode), Planar mode, and / or DC mode.

[0153] Optionally, the prediction derivation mode is a method of deriving the most suitable prediction mode for the current block by analyzing relevant information of the current block. Optionally, the prediction derivation mode includes: Decoder side intramode derivation (DIMD) mode, Occurrence-based Intra Coding (OBIC) mode and / or template-based intramode derivation (TIMD) mode.

[0154] Optionally, the target prediction mode can be the final mode selected from candidate modes for prediction of the current block. The target prediction mode can be the optimal selection after comparing and evaluating various candidate modes, aiming to minimize prediction error and improve coding efficiency.

[0155] Optionally, the target prediction mode of the current block can be one or more. For example, if the current block includes multiple sub-blocks, the target prediction modes of the current block and each sub-block can be determined separately, and the target prediction mode of each sub-block can also be used as one of the target prediction modes of the current block.

[0156] Optionally, the target prediction mode for the current block can be determined or obtained from candidate modes in at least one mode list based on the rate-distortion cost associated with each candidate mode. For example, the mode with the lowest rate-distortion cost can be selected as the target prediction mode.

[0157] Optionally, the current block can be predicted using a target prediction mode to determine or obtain the prediction result of the current block, thereby achieving accurate prediction of the current block. Optionally, the prediction result can be a predicted pixel, a predicted block, etc.

[0158] Optionally, the target prediction mode can be used to perform intra-frame prediction processing and / or inter-frame prediction processing on the current block.

[0159] Reference Figure 6 When the processing device is an encoder on the encoding side, the encoder can receive video data from the video source, such as receiving video images from the video source, determining the image to be predicted in the video images, dividing the image to be predicted into at least one image block, and using the temporal and / or spatial correlation between video images, performing prediction processing on each of the at least one image block, including intra-frame prediction processing and / or inter-frame prediction processing, and the intra-frame prediction processing and / or inter-frame prediction processing each include at least one prediction mode. For these prediction modes, the encoder uses, for example, rate-distortion cost to determine the prediction mode finally adopted for each of the at least one image block. For example, it calculates the rate-distortion cost corresponding to each prediction mode 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 or combination of prediction modes corresponding to the minimum rate-distortion cost is the prediction mode finally adopted for the image block.

[0160] Optionally, these prediction modes include intra-frame prediction modes and inter-frame prediction modes.

[0161] Optionally, the target prediction mode can be determined or obtained through step S10 of the embodiments of this application to perform prediction processing on the image block to be predicted, thereby determining or obtaining the prediction block of the image block to be predicted.

[0162] Optionally, a residual block between the predicted block and the current block can be calculated. The residual block can be transformed and quantized, and then encoded by an entropy encoder to form an encoded bit stream.

[0163] Optionally, the encoded bitstream includes prediction parameters corresponding to a defined prediction mode and related side information. The prediction parameters are entropy-encoded and then packed into the encoded bitstream.

[0164] Optionally, the prediction parameters include indication information of the prediction mode.

[0165] Optionally, the transformed and quantized residual block can be added to the corresponding prediction data (e.g., the prediction block) obtained using the prediction mode after inverse quantization and inverse transformation to obtain a reconstructed block. After obtaining the reconstructed block, the loop filtering module performs loop filtering on the reconstructed block according to the filter control parameters to reduce distortion. After the loop filtering process, the reconstructed block after loop filtering is stored according to the encoded image buffer.

[0166] Reference Figure 7 When the processing device is a decoder on the decoding side, after receiving the encoded bitstream, the decoder's entropy decoding unit parses and decodes the encoded bitstream to obtain transform coefficients. The decoder's inverse transform unit and inverse quantization unit perform inverse transform and inverse quantization processing on the transform coefficients to obtain residual blocks. Optionally, the decoder's entropy decoding unit parses and decodes the encoded bitstream to obtain prediction data, such as prediction parameters and related auxiliary information. The decoder's prediction processing unit uses the prediction parameters to perform prediction processing, thereby determining the prediction block corresponding to the residual block.

[0167] Optionally, the prediction processing includes intra-frame prediction processing and / or inter-frame prediction processing, and the intra-frame prediction processing and / or inter-frame prediction processing each include a combination of one or more prediction modes.

[0168] Optionally, the target prediction mode can be determined or obtained through step S10 of the embodiments of this application to perform prediction processing on the image block to be predicted, determine or obtain the prediction block of the image block to be predicted, and then add the obtained residual block and the corresponding prediction block (including the predicted luminance block and the predicted chrominance block) to obtain the reconstructed block.

[0169] Optionally, the decoder's loop filtering unit performs loop filtering on the reconstructed blocks to reduce distortion and improve video quality. The loop-filtered reconstructed blocks are then further combined into a decoded image and stored in the decoded image buffer or output as a decoded video signal.

[0170] Optionally, when the processing device is an encoder, the initially obtained prediction value can be the prediction value obtained in the corresponding prediction mode, which can be directly used in the rate-distortion cost process.

[0171] Optionally, when the processing device is a decoder, the initially obtained prediction value can be the prediction value obtained through the prediction mode corresponding to the block to be predicted (i.e., the image block located at the decoding end) indicated by the syntax elements parsed in the bitstream.

[0172] Optionally, the predicted block can be used as the target image block, the residual block between the target image block and the current block can be calculated, and then encoded by an entropy encoder through transformation and quantization to form an encoded bitstream. Alternatively, the predicted block can be processed accordingly, for example, by using other models, and the processed image block can be used as the target image block, and the steps of calculating the residual block between the target image block and the current block and subsequent steps can be performed.

[0173] In this embodiment, by matching a suitable target prediction mode for the current block from candidate modes included in at least one mode list, the prediction accuracy of the current block can be improved, thereby further optimizing the encoding and / or decoding quality in the video encoding and / or decoding process.

[0174] Second Embodiment

[0175] Based on the first embodiment, a second embodiment is proposed.

[0176] In this embodiment, the candidate pattern is determined or obtained according to at least one of the following methods A to E:

[0177] Method A: Prediction mode corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks and / or encoded image blocks at preset positions of the current block;

[0178] Optionally, the current block, adjacent blocks, non-adjacent blocks, co-located blocks, and encoded image blocks at the predicted position are image regions of the same partitioning level; the sub-blocks of the current block, sub-blocks of adjacent blocks, sub-blocks of co-located blocks, and sub-blocks of encoded image blocks at the predicted position are image regions of the same partitioning level; and the sub-blocks of the current block and the next partitioning level of encoded image blocks are image regions of the next partitioning level.

[0179] Optionally, in video encoding and decoding technology, it is necessary to divide the image into blocks. For example, the image can be divided into at least one stripe, the stripe can be divided into at least one coding unit, and the coding unit can be divided into at least one sub-block. Different stripes belong to the same division level, different coding units belong to the same division level, and different sub-blocks belong to the same division level, while stripes and coding units belong to different division levels, and coding units and sub-blocks belong to different division levels.

[0180] Optionally, the current block includes at least one sub-block, which is part of the current block and inherits the current block's position and some characteristics in the image. Therefore, it can provide a reference for the prediction mode of the current block, and then determine at least one candidate mode in the mode list based on the prediction mode corresponding to the sub-block of the current block.

[0181] Optionally, the prediction pattern corresponding to the sub-block of the current block can also provide a reference for the prediction patterns of other sub-blocks of the current block. Therefore, based on the prediction pattern corresponding to one sub-block of the current block, at least one candidate pattern in the pattern list of another sub-block of the current block can be determined.

[0182] Optionally, the neighboring blocks of the current block refer to the image blocks that are directly adjacent to the current block in space. The neighboring blocks can be blocks that have already been predicted or reconstructed. The neighboring blocks are highly correlated with the current block in space. Therefore, the prediction patterns and texture features of the neighboring blocks are often similar to those of the current block. By analyzing the prediction patterns of the neighboring blocks, a reference can be provided for the prediction pattern of the current block, and the prediction accuracy of the current block can be further improved.

[0183] Optionally, adjacent blocks include image blocks located above, to the left, and / or to the upper left of the current block.

[0184] Reference Figure 8 The solid line block is the current block and is divided into sub-blocks A, B, C and D. Some adjacent blocks of the current block are sampled as pixels. The prediction mode corresponding to the pixel sample will be analyzed to determine or obtain at least one candidate mode in the mode list. Optionally, the pixel sample of the adjacent blocks of the current block used to determine or obtain the candidate mode can include at least one of the following positions: left (L), top (A), bottom left (BL), top right (AR) and top left (AL).

[0185] Optionally, a co-location block can be an image block in a co-location image that has the same position and size as the current block, and the co-location image can be the image in the reference image that is closest to the current image in time. Since there is a strong temporal correlation between the co-location block and the current block, using the prediction mode of the co-location block as a candidate mode can better capture the motion characteristics in the video sequence and improve the prediction accuracy.

[0186] Optionally, non-adjacent blocks of the current block refer to image blocks that are not directly adjacent to the current block in space, but may be within a certain range or have some correlation. Non-adjacent blocks can also be blocks that have been predicted or reconstructed. Although non-adjacent blocks are not directly adjacent to the current block, they may still have some correlation with the current block. Therefore, they have certain reference value for the selection of target prediction mode for the current block and the prediction of the current block.

[0187] Optionally, the pre-coded image block at the preset position refers to the pre-coded block at certain positions according to specific rules or algorithms. These positions can be fixed (such as the upper left corner block) or dynamically determined according to the image content. Although non-adjacent blocks and pre-coded image blocks at preset positions may be spatially far from the current block, they may contain some unique texture or pattern information. This information can supplement the information of adjacent blocks and co-located blocks, further optimizing the selection of prediction modes.

[0188] Optionally, candidate modes from at least one mode list are determined or obtained based on the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block.

[0189] Optionally, at least some of the predicted modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block are determined as candidate modes in at least one mode list.

[0190] Optionally, based on the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block, at least one candidate mode in a mode list is determined or obtained, and based on the candidate modes in the at least one mode list, the target prediction mode of the current block is determined or obtained.

[0191] Optionally, the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions of the current block include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0192] Optionally, the angle prediction mode is a technique for predicting the current pixel block. It generates a predicted block by propagating the values ​​of neighboring pixels along a specific direction. The angle prediction mode is mainly used to process directional textures in images, which can effectively reduce spatial redundancy and improve compression efficiency.

[0193] Optionally, in the HEVC standard, the intra-frame prediction mode includes 33 angle prediction modes, which cover different angles from horizontal to vertical, ensuring accurate prediction of various texture directions. Optionally, the angle prediction mode predicts the pixel value of the current block by selecting a specific angle and extracting values ​​from neighboring pixels along that direction. For example, if a 45-degree angle is selected, the predicted value will be extracted from the neighboring pixels in the upper left or lower right corner.

[0194] Optionally, the non-angle prediction mode can be a prediction mode other than the angle prediction mode. Optionally, the non-angle prediction mode includes at least one of the following: NNIP mode, EIP mode, BV mode, planar mode and DC mode.

[0195] Optionally, the prediction derivation mode is a method of deriving the most suitable prediction mode for the current block by analyzing relevant information of the current block. Optionally, the prediction derivation mode includes at least one of the following: DIMD mode, OBIC mode and TIMD mode.

[0196] Optionally, the angle prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block are determined as candidate modes in at least one mode list.

[0197] Optionally, based on the non-angle prediction mode and / or prediction derivation mode corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks and / or encoded image blocks at preset positions of the current block, at least one first angle prediction mode is determined or obtained, and the at least one first angle prediction mode is determined as a candidate mode in at least one mode list.

[0198] Optionally, when the prediction mode corresponding to the sub-block, adjacent block, non-adjacent block, co-position block and / or the encoded image block at a preset position of the current block is a non-angle prediction mode and / or a prediction derivation mode, at least one possible angle prediction mode can be derived based on the above non-angle prediction mode and / or prediction derivation mode, and used in the transformation process of encoding. In the embodiments of this application, the angle prediction mode determined or obtained based on the above non-angle prediction mode and / or prediction derivation mode is also used as a candidate mode in at least one mode list, thereby increasing the diversity of candidate modes in the mode list, increasing the probability of selecting the optimal mode, and thus improving the accuracy of prediction.

[0199] Optionally, at least one candidate mode in the mode list is determined or obtained based on the adjacent prediction modes of the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks and / or encoded image blocks at preset positions of the current block. Optionally, the adjacent prediction modes of the prediction modes can be prediction modes that are adjacent in mode and / or adjacent in numerical value.

[0200] Optionally, pattern adjacency refers to other patterns that are adjacent to a particular pattern (e.g., the first prediction pattern) in terms of direction or type in the definition or arrangement of prediction patterns. These patterns are usually logically or functionally associated with the first prediction pattern and may have similar prediction directions or texture features.

[0201] Optionally, numerical adjacency refers to other patterns that are numerically adjacent to a specific pattern in the numerical representation or index of the patterns. These patterns typically have consecutive index values ​​in the coding standard, indicating that they are similar in function or direction. Optionally, in the HEVC standard, angular patterns are represented by index values. If the index of the first possible pattern is n, the numerically adjacent patterns could be n-1 and n+1.

[0202] In this embodiment, determining or obtaining candidate modes from at least one mode list based on the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions of the current block can improve the fit between the candidate modes and the current block, thereby improving the prediction effect of the current block. And / or compared to screening candidate modes across the entire range, this embodiment utilizes existing information, namely the prediction modes corresponding to adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions, to effectively narrow the search range of candidate modes and reduce computational complexity to a certain extent.

[0203] Method B is the prediction mode corresponding to the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or coded image blocks at preset positions;

[0204] Optionally, the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions include: sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions.

[0205] Optionally, the current block's neighboring blocks, non-neighboring blocks, co-located blocks, and / or encoded image blocks at preset positions may also include at least one sub-block. The sub-block is part of the neighboring blocks, non-neighboring blocks, co-located blocks, and / or encoded image blocks at preset positions. It inherits the position and some characteristics of the neighboring blocks, non-neighboring blocks, co-located blocks, and / or encoded image blocks at preset positions in the image. Therefore, it can also provide a reference for the prediction mode of the current block.

[0206] Optionally, at least one candidate mode from a mode list is determined or obtained based on the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions, the adjacent blocks, non-adjacent blocks, co-located blocks, and / or the sub-blocks of the coded image blocks at the current block.

[0207] Optionally, at least some of the predicted modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or sub-blocks of the encoded image blocks at preset positions of the current block are determined as candidate modes in at least one mode list.

[0208] Optionally, based on the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions and the adjacent blocks, non-adjacent blocks, co-located blocks, and / or the sub-blocks of the current block, at least one candidate mode in a mode list is determined or obtained, and based on the candidate modes in the at least one mode list, the target prediction mode of the current block is determined or obtained.

[0209] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or sub-blocks of the encoded image blocks at preset positions of the current block include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0210] Optionally, the angle prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or sub-blocks of the encoded image blocks at preset positions of the current block are determined as candidate modes in at least one mode list.

[0211] Optionally, at least one first angle prediction mode is determined or obtained based on the non-angle prediction mode and / or prediction derivation mode (e.g., TIMD mode, OBIC mode and / or DIMD mode) corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or sub-blocks of the encoded image block at a preset position of the current block, and the at least one first angle prediction mode is determined as a candidate mode in at least one mode list.

[0212] Optionally, when the prediction mode corresponding to the sub-blocks of the coded image block at the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or preset positions is a non-angle prediction mode and / or a prediction derivation mode, at least one possible angle prediction mode can be derived based on the aforementioned non-angle prediction mode and / or prediction derivation mode, and used in the transformation process during encoding. In this application embodiment, the angle prediction mode determined or obtained based on the aforementioned non-angle prediction mode and / or prediction derivation mode is also used as a candidate mode in at least one mode list, thereby increasing the diversity of candidate modes in the mode list, increasing the probability of selecting the optimal mode, and thus improving the accuracy of prediction.

[0213] For example, the prediction mode corresponding to the neighboring blocks of the current block is the TIMD mode, and the angle prediction mode actually used by the neighboring blocks in the TIMD mode is mode A. Therefore, mode A can be used as a candidate mode in at least one mode list.

[0214] For example, the current block's neighboring blocks include 4 sub-blocks (hereinafter referred to as neighboring sub-blocks), and the prediction mode corresponding to the current block's neighboring blocks is the TIMD mode. The neighboring blocks use mode B, mode C, mode D, mode E, and mode F respectively for the neighboring blocks and the 4 neighboring sub-blocks in the TIMD mode, that is, 5 different angle prediction modes. Then, at least one of mode B to mode F can be determined as a candidate mode in at least one mode list to increase the diversity of candidate modes in the mode list and increase the probability of selecting the optimal mode.

[0215] Optionally, based on the adjacent prediction modes of the prediction modes corresponding to the sub-blocks of the encoded image block at the current block, non-adjacent blocks, co-located blocks, and / or preset positions, at least one candidate mode in the mode list is determined or obtained. Optionally, the adjacent prediction modes of the prediction modes can satisfy mode adjacency and / or numerical adjacency.

[0216] In this embodiment, determining or obtaining candidate modes from at least one mode list based on the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions and the adjacent blocks, non-adjacent blocks, co-position blocks, and / or preset positions of the current block can improve the fit between the candidate modes and the current block, thereby improving the prediction effect of the current block. And / or, compared to screening candidate modes across the entire range, this embodiment utilizes existing information, namely the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions and the adjacent blocks, non-adjacent blocks, co-position blocks, and / or preset positions, to effectively narrow the search range of candidate modes and reduce computational complexity to a certain extent.

[0217] Method C: The prediction mode corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or the encoded image blocks at preset positions of the current block's sub-blocks;

[0218] Optionally, the encoded image blocks at preset positions of the sub-blocks of the current block include: the adjacent blocks of the sub-blocks of the current block, the non-adjacent blocks of the sub-blocks of the current block, the co-occurring blocks of the sub-blocks of the current block, and / or the encoded image blocks at preset positions of the sub-blocks of the current block.

[0219] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks are determined as candidate modes in at least one mode list.

[0220] Optionally, the neighboring blocks of the sub-blocks of the current block refer to image blocks that are directly adjacent to the sub-blocks of the current block in space. The neighboring blocks can be blocks that have already been predicted or reconstructed. The neighboring blocks are highly correlated with the sub-blocks of the current block in space. Therefore, the prediction patterns and / or texture features of the neighboring blocks are often similar to the sub-blocks of the current block and the current block. Thus, the prediction patterns corresponding to the neighboring blocks of the sub-blocks of the current block can be used as a screening reference for candidate patterns, thereby improving the fit between the candidate patterns in the pattern list and the current block.

[0221] Optionally, the co-location block of the current block's sub-block can be an image block in the co-location image that has the same position and size as the current block's sub-block. The co-location image can be the image in the reference image that is closest to the current image in time. Since there is a strong temporal correlation between the co-location block and the sub-block, the predicted mode of the co-location block of the sub-block can be used as a screening reference for candidate modes, thereby improving the fit between the candidate modes in the mode list and the current block.

[0222] Optionally, a non-adjacent sub-block of the current block refers to an image block that is not directly adjacent to the sub-block in space, but may be within a certain range or have some correlation. Non-adjacent blocks can also be blocks that have been predicted or reconstructed. Although non-adjacent blocks are not directly adjacent to the current block, they may still have some correlation with the sub-block and the current block. Therefore, they can play a certain reference value in determining candidate patterns.

[0223] Optionally, the pre-coded image block at the preset position refers to the pre-coded block at certain positions according to specific rules or algorithms. These positions can be fixed (such as the upper left corner block) or dynamically determined according to the image content. Although non-adjacent blocks and pre-coded image blocks at preset positions may be spatially far from the sub-blocks, they may contain some unique texture or pattern information. This information can supplement the information of adjacent blocks and co-located blocks, further optimizing the selection of candidate modes.

[0224] Optionally, at least one candidate mode from a mode list is determined or obtained based on the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the sub-blocks of the current block.

[0225] Optionally, at least some of the predicted modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks are determined as candidate modes in at least one mode list.

[0226] Optionally, based on the prediction modes corresponding to the neighboring blocks, non-neighboring blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks, at least one candidate mode in a mode list is determined or obtained, and based on the candidate modes in the at least one mode list, the target prediction mode of the current block is determined or obtained.

[0227] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0228] Optionally, the angle prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks are determined as candidate modes in at least one mode list.

[0229] Optionally, at least one first angle prediction mode is determined or obtained based on the non-angle prediction mode and / or prediction derivation mode (e.g., TIMD mode, OBIC mode and / or DIMD mode) corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block's sub-blocks, and the at least one first angle prediction mode is determined as a candidate mode in at least one mode list.

[0230] Optionally, when the prediction mode corresponding to the coded image block at the adjacent block, non-adjacent block, co-located block and / or preset position of the sub-block of the current block is a non-angle prediction mode and / or a prediction derivation mode, at least one possible angle prediction mode can be derived based on the above non-angle prediction mode and / or prediction derivation mode, and used in the transformation process of encoding. In the embodiments of this application, the angle prediction mode determined or obtained based on the above non-angle prediction mode and / or prediction derivation mode is also used as a candidate mode in at least one mode list, thereby increasing the diversity of candidate modes in the mode list, increasing the probability of selecting the optimal mode, and thus improving the accuracy of prediction.

[0231] For example, some adjacent and / or non-adjacent blocks of each sub-block of the current block are sampled as pixels. The selection of pixel samples can refer to... Figure 9 The solid line block is the current block and is divided into sub-blocks A, B, C and D. Optionally, for sub-block A, the prediction mode corresponding to sub-block A is determined or obtained based on the adjacent pixels (a1 to a5) of sub-block A, and is used to determine or obtain candidate modes in at least one mode list.

[0232] Reference Figure 8 The predicted modes corresponding to the sampling of the five adjacent pixels at the left (L), top (A), bottom left (BL), top right (AR), and top left (AL) positions of the current block can be used as candidate modes. Figure 8 The pixel sample at the top-left (AL) position of the current block is the same as the pixel sample at position a1 of sub-block A. Therefore, the prediction mode corresponding to the pixel sample at position a1 of sub-block A can be directly determined when determining the prediction modes corresponding to the adjacent blocks of the current block. However, the prediction modes corresponding to the remaining pixel samples at positions a2 to a5 of sub-block A need to be determined or searched separately, and used as the prediction modes corresponding to the adjacent blocks of sub-block A. Optionally, the prediction modes of the pixel samples at positions a2 to a5 of sub-block A are the prediction modes of the coding unit or prediction unit in which they are located. At least one candidate mode from the mode list is determined or obtained based on the prediction modes corresponding to the adjacent blocks of sub-block A.

[0233] Reference Figure 9This application can encode or decode sub-blocks according to a preset order. When encoding a subsequent sub-block, the pixel samples of the preceding sub-block with the preset encoding order can be referenced. Therefore, for the subsequent sub-block B, the prediction result of sub-block A can be used to determine or obtain the prediction mode of the adjacent pixel sample b2. Since the prediction modes corresponding to the pixel samples at positions b3 and b4 of sub-block B can be directly determined when determining the prediction modes corresponding to the adjacent blocks of the current block, the computational load can be effectively reduced. Optionally, for the pixel samples at position b1 of sub-block B, it is necessary to determine or search for the prediction modes of these pixel samples separately and use them as the prediction modes corresponding to the adjacent blocks of sub-block B. Optionally, the prediction mode of the pixel samples at position b1 of sub-block B is the prediction mode of the encoding unit or prediction unit in which it is located. Further, at least one candidate mode in the mode list is determined or obtained based on the prediction modes corresponding to the adjacent blocks of sub-block B.

[0234] Reference Figure 9 For sub-block C, the prediction modes corresponding to the pixel samples at positions c4 and c5 can be determined or obtained using the prediction results of sub-blocks A and B, respectively. The prediction modes corresponding to the pixel samples at positions c2 and c3 of sub-block C can be directly determined when determining the prediction modes corresponding to the adjacent blocks of the current block. Optionally, for the pixel samples at position c1 of sub-block C, it is necessary to determine or find the prediction modes of these pixel samples separately and use them as the prediction modes corresponding to the adjacent blocks of sub-block C. Optionally, the prediction mode of the pixel samples at position c1 of sub-block C is the prediction mode of the coding unit or prediction unit in which it is located.

[0235] Reference Figure 9 For sub-block D, the prediction modes corresponding to the pixel samples at positions d1, d9, d10, d4, and d6 (i.e., non-adjacent blocks) of sub-block D can be directly determined when determining the prediction modes corresponding to the adjacent blocks of the current block. Optionally, for the pixel samples at positions d2, d3, d7, and d8 of sub-block D, it is necessary to determine or search for the prediction modes of these pixel samples separately and add them to the prediction modes corresponding to the non-adjacent blocks of sub-block D. Optionally, the prediction modes of the pixel samples at positions d2, d3, d7, and d8 of sub-block B are the prediction modes of the coding unit or prediction unit where each pixel sample is located. Further, at least one candidate mode from the mode list is determined or obtained based on the prediction modes corresponding to the non-adjacent blocks of sub-block D.

[0236] For example, some adjacent blocks of each sub-block of the current block are used as pixel samples. The selection of pixel samples can refer to... Figure 10 The solid line block represents the current block and is divided into sub-blocks A, B, C, and D. Optionally, for sub-blocks A to C, the selection of adjacent pixel samples is... Figure 9Similarly, optionally, for sub-block D, the prediction modes of sub-blocks A to C can be used to determine or obtain the prediction modes of adjacent pixel samples of adjacent blocks of sub-block D, thereby obtaining the prediction modes corresponding to adjacent blocks of sub-block D, and determining or obtaining at least one candidate mode in the mode list.

[0237] For example, some adjacent blocks and / or some non-adjacent blocks of each sub-block of the current block are sampled as pixels. The selection of pixel samples can refer to... Figure 11 The solid-line block represents the current block and is divided into sub-blocks A, B, C, and D. Optionally, for sub-block A, ... Figure 9 The difference in the selection of prediction modes for neighboring blocks of neutron block A lies in the fact that sub-block A does not utilize... Figure 9 The prediction mode of the pixel sample at position a3 in the image is determined because both positions a2 and a3 of sub-block A are adjacent to the left edge of the current block and are located at the midpoint. The probability that the image blocks at the two positions are the same image block is relatively high. In order to reduce redundant operations, the prediction mode of only one of the two positions is used to determine the candidate mode.

[0238] Optionally, for sub-block D, with Figure 9 The difference in the selection of the prediction mode corresponding to neutron block D is that sub-block D does not utilize... Figure 9 The prediction modes of the pixel samples at positions d3 and d8 in the image are determined because positions d2 and d3 of sub-block D are both adjacent to the left edge of the current block and are both located at the midpoint of the edge. The probability that the image blocks at these two positions are the same image block is relatively high. However, positions d7 and d8 of sub-block D are both adjacent to the upper edge of the current block and are both located at the midpoint of the edge. To reduce redundant operations, the prediction mode of only one of the two positions is used to determine the candidate mode.

[0239] For example, the selection of pixel samples from adjacent and / or non-adjacent blocks of the current block (hereinafter referred to as adjacent pixel samples and non-adjacent pixel samples for distinction) can be referred to Figure 12 The solid-lined block represents the current block. Adjacent pixel samples of the current block include those located above, to the upper left, and to the left of the current block. Non-adjacent pixel samples of the current block include at least one pixel sample selected above, to the upper left, to the upper right, to the left, and to the lower left, centered on the current block, according to a preset rule. Optionally, the sampling can be based on… Figure 12 The prediction patterns corresponding to adjacent and non-adjacent pixel samples are used to determine or obtain at least one candidate pattern from the pattern list.

[0240] For example, when the current block includes at least one sub-block, the selection of pixel samples from adjacent and / or non-adjacent blocks of each sub-block can be referred to Figure 13The solid-line block represents the current block and is divided into four sub-blocks, including sub-block A. Optionally, such as... Figure 12 and 13 As shown, for sub-block A, since the pixel samples adjacent to the current block are also adjacent to sub-block A, at least some of the adjacent pixel samples of the current block can be used as adjacent pixel samples of sub-block A. Furthermore, non-adjacent pixel samples of sub-block A can be selected with the current block as the center, and at least some of the non-adjacent pixel samples of the current block can be used as non-adjacent pixel samples of sub-block A. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixel samples of sub-block A, at least one candidate mode in the mode list can be determined or obtained.

[0241] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 14 The solid-line block represents the current block and is divided into 4 sub-blocks. Optionally, for sub-block A, ... Figure 13 The difference in the selection method of pixels around sub-block A is that the non-adjacent pixels of sub-block A are no longer selected with the current block as the center. Instead, with sub-block A as the center, at least one pixel sample is selected from above, upper left, upper right, left and lower left according to a preset rule. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixel samples of sub-block A, at least one candidate mode in the mode list is determined or obtained.

[0242] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 15 The solid-line block represents the current block and is divided into four sub-blocks, including sub-block B. Optionally, such as... Figure 12 and 15 As shown, for sub-block B, non-adjacent pixel samples of sub-block B can be selected with the current block as the center. Then, at least a portion of the non-adjacent pixel samples of the current block can be used as non-adjacent pixel samples of sub-block B, and pixel samples located above and to the upper left of sub-block B can be selected as adjacent pixel samples of sub-block B. Since this application can encode or decode sub-blocks according to a preset order, when encoding the next sub-block, the pixel samples of the previous sub-block with the preset encoding order can be referenced. Therefore, for the next sub-block B, the prediction result of the previous sub-block can be used to select pixel samples located inside the current block as adjacent pixel samples to the left of sub-block B. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixel samples of sub-block B, at least one candidate mode in the mode list can be determined or obtained.

[0243] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 16The solid line block represents the current block and is divided into 4 sub-blocks. Optionally, for sub-block B, ... Figure 15 The difference in the selection method of pixels around sub-block B is that the selection of non-adjacent pixels is no longer centered on the current block, but is centered on sub-block B, and at least one pixel sample is selected above, above left, above right, left and below left according to a preset rule. Optionally, since the sub-block to the left of sub-block B has already been encoded or decoded, the non-adjacent pixel samples of sub-block B can include pixel samples located inside the current block. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixel samples of sub-block B, at least one candidate mode in the mode list is determined or obtained.

[0244] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 17 The solid-line block represents the current block and is divided into four sub-blocks, including sub-block C. Optionally, such as... Figure 12 and 17 As shown, for sub-block C, non-adjacent pixel samples of sub-block C can be selected with the current block as the center. Then, at least a portion of the non-adjacent pixel samples of the current block can be used as non-adjacent pixel samples of sub-block C. Pixel samples located to the left and upper left of sub-block C are selected as adjacent pixel samples of sub-block C. Since this application can encode or decode sub-blocks according to a preset order, when encoding the next sub-block, the pixel samples of the previous sub-block with the preset encoding order can be referenced. Therefore, for the next sub-block C, the prediction result of the previous sub-block can be used to select pixel samples located inside the current block as adjacent pixel samples above sub-block C. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixel samples of sub-block C, at least one candidate mode in the mode list can be determined or obtained.

[0245] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 18 The solid-line block represents the current block and is divided into 4 sub-blocks. Optionally, for sub-block C, ... Figure 17 The difference in the selection method of pixels around sub-block C is that the selection of non-adjacent pixels is no longer centered on the current block, but on sub-block C. At least one pixel sample is selected above, above left, above right, to the left, and below left according to a preset rule. Optionally, since the sub-blocks above and above right of sub-block C have already been encoded or decoded, the non-adjacent pixels of sub-block C can include pixels located inside the current block. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixels of sub-block C, at least one candidate mode in the mode list is determined or obtained.

[0246] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 19 The solid-line block represents the current block and is divided into four sub-blocks, including sub-block D. Optionally, such as... Figure 12 and 19 As shown, for sub-block D, non-adjacent pixel samples of sub-block D can be selected with the current block as the center. Then, at least a portion of the non-adjacent pixel samples of the current block can be used as non-adjacent pixel samples of sub-block D. Since this application can encode or decode sub-blocks in a preset order, when encoding the next sub-block, the pixel samples of the previous sub-block with the preset encoding order can be referenced. Therefore, for the next sub-block D, the pixel samples located inside the current block can be selected using the prediction results of the previous sub-block as the adjacent pixel samples above, to the upper left, and to the left of sub-block D. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixel samples of sub-block D, at least one candidate mode in the mode list can be determined or obtained.

[0247] For example, the method for selecting pixel samples of at least one sub-block of the current block from neighboring and / or non-neighboring blocks can refer to Figure 20 The solid-line block represents the current block and is divided into 4 sub-blocks. Optionally, for sub-block D, ... Figure 19 The difference in the selection method of pixels around sub-block D is that the selection of non-adjacent pixels is no longer centered on the current block, but on sub-block D. At least one pixel sample is selected above, above left, above right, left and below left according to a preset rule. Optionally, since the sub-blocks above, above left and to the left of sub-block D have already been encoded or decoded, the non-adjacent pixels of sub-block D can include pixels located inside the current block. Then, based on the prediction modes corresponding to the adjacent and non-adjacent pixels of sub-block D, at least one candidate mode in the mode list is determined or obtained.

[0248] Optionally, at least one candidate mode in the mode list is determined or obtained based on the adjacent prediction modes of the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block's sub-blocks. Optionally, the adjacent prediction modes of the prediction modes can satisfy mode-adjacency and / or numerical adjacency.

[0249] In this embodiment, determining or obtaining candidate modes from at least one mode list based on the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions and the adjacent blocks, non-adjacent blocks, co-position blocks, and / or preset positions of the current block can improve the fit between the candidate modes and the current block, thereby improving the prediction effect of the current block. And / or compared to screening candidate modes across the entire range, this embodiment utilizes existing information, namely the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions and the adjacent blocks, non-adjacent blocks, co-position blocks, and / or preset positions, to effectively narrow the search range of candidate modes and reduce computational complexity to a certain extent.

[0250] Method D: Pattern matching information related to at least one reference region of the current block;

[0251] Optionally, the reference region refers to the pixel region or pixel sampling region located in the left, top, and upper left of the current block, which are adjacent or non-adjacent to the reconstructed or encoded region. The pixel values ​​or features of these regions can be used for prediction or other processing of the current block. Optionally, the reference region may include: template, reference block, and / or reference pixel.

[0252] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0253] Optionally, pattern matching information refers to information used to evaluate the degree of matching between different prediction patterns and the reference region and its corresponding current block. Pattern matching information can be based on various metrics, such as the rate-distortion cost of the prediction results, prediction error, texture similarity, etc., to indicate the similarity and / or error between the prediction results generated based on different prediction patterns and the current block and / or the reference region of the current block.

[0254] Optionally, the higher the degree of matching between the prediction pattern and the current block and / or at least one reference region of the current block, the higher the accuracy of the prediction result of the current block obtained by using the prediction pattern. For example, the prediction pattern is used to predict at least one reference region of the current block to obtain the prediction value, and the relevant pattern matching information is determined based on the obtained prediction value and the reconstruction value of at least one reference region.

[0255] Optionally, pattern matching information includes: SAD (Sum of Absolute Differences), SATD (Sum of Absolute Transformed Differences), and / or MRSAD (Mean-Removed Sum of Absolute Differences).

[0256] Alternatively, SAD is a simple and straightforward method for measuring the difference between two pixel blocks. It assesses the degree of matching by calculating the sum of the absolute differences between corresponding pixels in the predicted block and the reference block (or the original block).

[0257] Alternatively, SATD is a more complex matching metric that evaluates the degree of matching by first transforming the prediction block and the reference block (such as the Hadamard transform), and then calculating the sum of the absolute differences of the transformed coefficients. SATD is primarily used to consider the texture and frequency characteristics of an image.

[0258] Optionally, the smaller the SAD, SATD, and / or MRSAD values, the higher the match; conversely, the larger the SAD, SATD, and / or MRSAD values, the lower the match.

[0259] Optionally, candidate modes from at least one mode list are determined or obtained from each prediction mode based on mode matching information related to at least one reference region of the current block.

[0260] Optionally, based on pattern matching information related to at least one reference region of the current block, a candidate pattern in at least one pattern list is determined or obtained, and based on the candidate pattern in at least one pattern list, a target prediction pattern for the current block is determined or obtained.

[0261] Optionally, the pattern matching information associated with at least one reference region of the current block is at least one pattern matching information. Optionally, a reference region of the current block can be matched with at least one prediction pattern to determine or obtain at least one pattern matching information associated with a reference region.

[0262] In this embodiment, the matching degree between the predicted pattern and at least one reference region of the current block is quantified by pattern matching information. This allows for the rapid selection of patterns that are relatively well-matched with the current block as candidate patterns in at least one pattern list. This improves the fit between the candidate patterns in the pattern list and the current block, and also enhances the fit between the target predicted pattern determined or obtained based on the candidate patterns and the current block. This, in turn, improves the prediction effect of the current block. Furthermore, the pattern matching information filtering method can also save computational resources, reduce computational complexity, and improve coding efficiency.

[0263] Method E: Pattern matching information related to at least one reference region of the current block's sub-blocks;

[0264] Optionally, the reference region refers to the pixel region or pixel sample region of the reconstructed or encoded region that is adjacent or not adjacent to the left, top, and upper left of the sub-block of the current block. The pixel values ​​or features of these regions can be used for prediction or other processing of the current block and / or its sub-blocks.

[0265] Optionally, the reference area may include: a template, a reference block, and / or a reference pixel.

[0266] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0267] Optionally, pattern matching information includes: SAD, SATD, and / or MRSAD.

[0268] Optionally, based on pattern matching information related to at least one reference region of the sub-blocks of the current block for each prediction pattern, candidate patterns from at least one pattern list are determined or obtained from each prediction pattern.

[0269] Optionally, based on pattern matching information related to at least one reference region of the current block, a candidate pattern in at least one pattern list is determined or obtained, and based on the candidate pattern in the at least one pattern list, a target prediction pattern for the current block is determined or obtained.

[0270] Optionally, the pattern matching information associated with at least one reference region of the current block's sub-blocks is at least one pattern matching information.

[0271] Optionally, a reference region of a sub-block of the current block can be matched with at least one prediction pattern to determine or obtain at least one pattern matching information related to a reference region of the sub-block.

[0272] In this embodiment, the matching degree between the predicted pattern and at least one reference region of the current block's sub-block is quantified by pattern matching information. This allows for the rapid selection of patterns that closely match the current block and its sub-blocks as candidate patterns in at least one pattern list. This improves the fit between the candidate patterns in the pattern list and the current block, and also enhances the fit between the target predicted pattern determined or obtained based on the candidate patterns and the current block. This, in turn, improves the prediction performance of the current block. Furthermore, the pattern matching information filtering method can save computational resources, reduce computational complexity, and improve coding efficiency.

[0273] Third Embodiment

[0274] Based on the first embodiment, a third embodiment is proposed.

[0275] In this embodiment, the pattern matching information includes at least one of the following methods one through nine:

[0276] Method 1: Based on the prediction patterns corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block, first matching information is associated with at least one reference region of the current block.

[0277] Optionally, the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block are determined as candidate modes to achieve a first screening among various prediction modes. Based on the candidate modes, at least one reference region related to the current block is determined as the first matching information. Then, a second screening is performed based on the first matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0278] Optionally, the alternative model refers to the prediction model determined or obtained from the set of all possible prediction models through a single screening.

[0279] Optionally, a single pattern in the set of all possible prediction patterns can be called the initial pattern, while the candidate pattern is a pattern selected from the initial pattern through certain rules and conditions. The candidate pattern can be a pattern selected from the candidate pattern through further rules and conditions, and the target prediction pattern can be a pattern further selected from the candidate pattern and finally used for the prediction processing of the current block.

[0280] Optionally, pattern matching information refers to information used to assess the degree of matching between different prediction patterns and the reference region and its corresponding current block.

[0281] Optionally, the pattern matching information can be based on various indicators, such as the rate-distortion cost of the prediction result, prediction error, texture similarity, etc., to indicate the degree of matching between different prediction modes and reference regions. For example, at least one reference region of the current block is predicted using alternative modes to obtain a prediction value, and the corresponding second matching information is determined based on the obtained prediction value and the reconstruction value of at least one reference region.

[0282] Optionally, the matching information is the SAD, SATD, and / or MRSAD values ​​for the reconstructed and predicted values.

[0283] Optionally, the neighboring blocks of the current block refer to the image blocks that are directly adjacent to the current block in space. The neighboring blocks can be blocks that have already been predicted or reconstructed. The neighboring blocks are highly correlated with the current block in space. Therefore, the prediction patterns and / or texture features of the neighboring blocks are often similar to those of the current block. Thus, the prediction patterns corresponding to the neighboring blocks of the current block can be used as candidate patterns to screen candidate patterns, thereby improving the fit between the candidate patterns in the pattern list and the current block.

[0284] Optionally, a co-position block can be an image block in a co-position image that has the same position and size as the current block, and the co-position image can be the image in the reference image that is closest to the current image in time. Since there is a strong temporal correlation between the co-position block and the current block, the predicted mode of the co-position block can be used as a candidate mode to filter the candidate modes, thereby improving the fit between the candidate modes in the mode list and the current block.

[0285] Optionally, non-adjacent blocks of the current block refer to image blocks that are not directly adjacent to the current block in space, but may be within a certain range or have some correlation. Non-adjacent blocks can also be blocks that have been predicted or reconstructed. Although non-adjacent blocks are not directly adjacent to the current block, they may still have some correlation with the current block. Therefore, they can play a certain reference value in determining candidate patterns.

[0286] Optionally, the pre-coded image block at the preset position refers to the pre-coded block at certain positions according to specific rules or algorithms. These positions can be fixed (such as the upper left corner block) or dynamically determined according to the image content. Although non-adjacent blocks and pre-coded image blocks at preset positions may be far away from the current block in space, they may contain some unique texture or pattern information. This information can be used as a supplement to the information of adjacent blocks and co-located blocks to further optimize the selection of candidate modes.

[0287] Optionally, the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions of the current block include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0288] Optionally, the non-angle prediction mode can be a prediction mode other than the angle prediction mode. Optionally, the non-angle prediction mode includes at least one of the following: NNIP mode, EIP mode, BV mode, planar mode and DC mode.

[0289] Optionally, the prediction derivation mode is a method of deriving the most suitable prediction mode for the current block by analyzing relevant information of the current block. Optionally, the prediction derivation mode includes at least one of the following: DIMD mode, OBIC mode and TIMD mode.

[0290] Optionally, the angle prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block are determined as candidate modes, and the mode matching information related to at least one reference region of the current block for each candidate mode is determined or obtained as the first matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the mode list, the target prediction mode of the current block is determined or obtained.

[0291] Optionally, based on the non-angle prediction mode and / or prediction derivation mode corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block, a first angle prediction mode is determined or obtained, the first angle prediction mode is determined as a candidate mode, and the mode matching information related to at least one reference region of the current block for each candidate mode is determined or obtained as the first matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the at least one mode list, the target prediction mode of the current block is determined or obtained.

[0292] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0293] Optionally, based on the first matching information related to the prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block and at least one reference region of the current block, a candidate mode in at least one mode list is determined or obtained, and based on the candidate modes in at least one mode list, a target prediction mode of the current block is determined or obtained.

[0294] In this embodiment, the candidate patterns are determined by the first matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their adaptability to the current block. On the other hand, by utilizing the existing information, the search range of candidate patterns is effectively narrowed, thereby reducing the computational complexity to a certain extent.

[0295] Method 2: Determine or obtain at least one reference region-related second matching information of the sub-blocks of the current block based on the prediction mode corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the sub-blocks of the current block.

[0296] Optionally, the encoded image blocks at preset positions of the sub-blocks of the current block include: the adjacent blocks of the sub-blocks of the current block, the non-adjacent blocks of the sub-blocks of the current block, the co-occurring blocks of the sub-blocks of the current block, and / or the encoded image blocks at preset positions of the sub-blocks of the current block.

[0297] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block's sub-blocks are determined as candidate modes to achieve a first screening among various prediction modes. Based on the candidate modes, at least one reference region-related mode matching information of the current block's sub-blocks is determined as the second matching information. Then, a second screening is performed based on the second matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0298] Optionally, the neighboring blocks of the sub-blocks of the current block refer to image blocks that are directly adjacent to the sub-blocks of the current block in space. The neighboring blocks can be blocks that have already been predicted or reconstructed. The neighboring blocks are highly correlated with the sub-blocks of the current block in space. Therefore, the prediction modes and / or texture features of the neighboring blocks are often similar to the sub-blocks of the current block and the current block. Thus, the prediction modes corresponding to the neighboring blocks of the sub-blocks of the current block can be used as candidate modes to screen candidate modes, thereby improving the fit between the candidate modes in the mode list and the current block.

[0299] Optionally, the co-location block of the current block's sub-block can be an image block in the co-location image that has the same position and size as the current block's sub-block. The co-location image can be the image in the reference image that is closest to the current image in time. Since there is a strong temporal correlation between the co-location block and the sub-block, the predicted mode of the co-location block of the sub-block can be used as a candidate mode to filter the candidate modes, thereby improving the fit between the candidate modes in the mode list and the current block.

[0300] Optionally, a non-adjacent sub-block of the current block refers to an image block that is not directly adjacent to the sub-block in space, but may be within a certain range or have some correlation. Non-adjacent blocks can also be blocks that have been predicted or reconstructed. Although non-adjacent blocks are not directly adjacent to the current block, they may still have some correlation with the sub-block and the current block. Therefore, they can play a certain reference value in determining candidate patterns.

[0301] Optionally, the pre-coded image blocks at preset positions refer to pre-defined encoded blocks at certain locations according to specific rules or algorithms. These locations can be fixed (such as the top-left block) or dynamically determined based on the image content. Although non-adjacent blocks and pre-defined encoded image blocks may be spatially distant from their sub-blocks, they may contain unique texture or pattern information. This information can supplement the information of adjacent and co-located blocks, further optimizing the image.

[0302] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0303] Optionally, the non-angle prediction mode can be a prediction mode other than the angle prediction mode. Optionally, the non-angle prediction mode includes at least one of the following: NNIP mode, EIP mode, BV mode, planar mode and DC mode.

[0304] Optionally, the prediction derivation mode is a method of deriving the most suitable prediction mode for the current block by analyzing relevant information of the current block. Optionally, the prediction derivation mode includes at least one of the following: DIMD mode, OBIC mode and TIMD mode.

[0305] Optionally, the angle prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the sub-blocks of the current block are determined as candidate modes, and the mode matching information related to at least one reference region of the sub-blocks of the current block for each candidate mode is determined or obtained as the second matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the mode list, the target prediction mode of the current block is determined or obtained.

[0306] Optionally, based on the non-angle prediction mode and / or prediction derivation mode corresponding to the neighboring blocks, non-neighboring blocks, co-located blocks and / or encoded image blocks at preset positions of the current block's sub-blocks, a first angle prediction mode is determined or obtained, the first angle prediction mode is determined as a candidate mode, and the mode matching information related to at least one reference region of the current block's sub-blocks for each candidate mode is determined or obtained as the second matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the at least one mode list, the target prediction mode of the current block is determined or obtained.

[0307] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0308] Optionally, based on the second matching information related to the prediction modes of the coded image blocks at the adjacent, non-adjacent, co-located, and / or preset positions of the sub-blocks of the current block and at least one reference region of the sub-blocks of the current block, a candidate mode in at least one mode list is determined or obtained, and based on the candidate modes in at least one mode list, a target prediction mode of the current block is determined or obtained.

[0309] In this embodiment, the candidate patterns are determined by using the second matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their fit with the current block. On the other hand, it effectively narrows the search range of candidate patterns by utilizing existing information, thereby reducing computational complexity to a certain extent.

[0310] Method 3: The third matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the sub-blocks of the coded image blocks at preset positions, which are adjacent blocks, non-adjacent blocks, co-located blocks and / or pre-coded image blocks.

[0311] Optionally, the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions include: sub-blocks of the current block's adjacent blocks, sub-blocks of the current block's non-adjacent blocks, sub-blocks of the current block's co-located blocks, and / or sub-blocks of encoded image blocks at preset positions of the current block.

[0312] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or sub-blocks of the encoded image blocks at preset positions of the current block are determined as candidate modes to achieve a first screening among various prediction modes. Based on the candidate modes, at least one reference region-related mode matching information of the current block is determined as the third matching information. Then, a second screening is performed based on the third matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0313] Optionally, the prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or sub-blocks of the encoded image blocks at preset positions of the current block include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0314] Optionally, the non-angle prediction mode can be a prediction mode other than the angle prediction mode. Optionally, the non-angle prediction mode includes at least one of the following: NNIP mode, EIP mode, BV mode, planar mode and DC mode.

[0315] Optionally, the prediction derivation mode is a method of deriving the most suitable prediction mode for the current block by analyzing relevant information of the current block. Optionally, the prediction derivation mode includes at least one of the following: DIMD mode, OBIC mode and TIMD mode.

[0316] Optionally, the angle prediction modes corresponding to the sub-blocks of the adjacent blocks, non-adjacent blocks, co-located blocks and / or coded image blocks at preset positions of the current block are determined as candidate modes, and the mode matching information related to at least one reference region of the current block for each candidate mode is determined or obtained as the third matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the mode list, the target prediction mode of the current block is determined or obtained.

[0317] Optionally, based on the non-angle prediction modes and / or prediction derivation modes corresponding to the sub-blocks of the coded image blocks at preset positions of the current block, a first angle prediction mode is determined or obtained, the first angle prediction mode is determined as a candidate mode, and the mode matching information related to at least one reference region of the current block for each candidate mode is determined or obtained as the third matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the mode list, the target prediction mode of the current block is determined or obtained.

[0318] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0319] Optionally, based on the prediction modes corresponding to the sub-blocks of the coded image blocks at preset positions of the current block and the third matching information related to at least one reference region of the current block, a candidate mode in at least one mode list is determined or obtained, and based on the candidate modes in at least one mode list, a target prediction mode of the current block is determined or obtained.

[0320] In this embodiment, the candidate patterns are determined by using third matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their fit with the current block. On the other hand, it effectively narrows the search range of candidate patterns by utilizing existing information, thereby reducing computational complexity to a certain extent.

[0321] Method 4: The fourth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the sub-block of the coded image block at the preset position of the adjacent block, non-adjacent block, co-located block and / or the sub-block of the current block.

[0322] Optionally, the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions include: sub-blocks of the current block's adjacent blocks, sub-blocks of the current block's non-adjacent blocks, sub-blocks of the current block's co-located blocks, and / or sub-blocks of the current block's encoded image blocks at preset positions.

[0323] Optionally, the prediction modes corresponding to the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or the sub-blocks of the encoded image blocks at preset positions are determined as candidate modes to achieve a first screening among various prediction modes. Based on the candidate modes, at least one reference region-related mode matching information of the current block's sub-blocks is determined as the fourth matching information. Then, a second screening is performed based on the fourth matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0324] Optionally, the prediction modes corresponding to the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or the sub-blocks of the encoded image block at a preset position include at least one of the following: angle prediction mode, non-angle prediction mode, and prediction derivation mode.

[0325] Optionally, the non-angle prediction mode can be a prediction mode other than the angle prediction mode. Optionally, the non-angle prediction mode includes at least one of the following: NNIP mode, EIP mode, BV mode, planar mode and DC mode.

[0326] Optionally, the prediction derivation mode is a method of deriving the most suitable prediction mode for the current block by analyzing the relevant information of the sub-blocks of the current block. Optionally, the prediction derivation mode includes at least one of the following: DIMD mode, OBIC mode and TIMD mode.

[0327] Optionally, the angle prediction modes corresponding to the sub-blocks of the current block's adjacent blocks, non-adjacent blocks, co-located blocks, and / or the sub-blocks of the encoded image blocks at preset positions are determined as candidate modes, and the mode matching information related to at least one reference region of the current block's sub-blocks is determined or obtained as the fourth matching information. Based on the first mode matching information, at least one candidate mode in the mode list is determined or obtained, and based on the candidate mode in the at least one mode list, the target prediction mode of the current block's sub-blocks is determined or obtained.

[0328] Optionally, based on the non-angle prediction mode and / or prediction derivation mode corresponding to the sub-blocks of the adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block's sub-blocks, a first angle prediction mode is determined or obtained, the first angle prediction mode is determined as a candidate mode, and pattern matching information related to at least one reference region of the current block's sub-blocks for each candidate mode is determined or obtained as fourth matching information. Based on the first pattern matching information, at least one candidate mode in the pattern list is determined or obtained, and based on the candidate mode in the at least one pattern list, the target prediction mode of the current block's sub-blocks is determined or obtained.

[0329] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0330] Optionally, based on the fourth matching information related to the prediction modes of the sub-blocks of the current block's neighboring blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions, and at least one reference region of the current block's sub-block, a candidate mode in at least one mode list is determined or obtained, and based on the candidate modes in at least one mode list, a target prediction mode of the current block's sub-block is determined or obtained.

[0331] In this embodiment, the candidate patterns are determined by the fourth matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their fit with the current block. On the other hand, by utilizing the existing information, the search range of candidate patterns is effectively narrowed, which reduces the computational complexity to a certain extent.

[0332] Method 5: Determine or obtain at least one reference region-related fifth matching information for the current block based on the prediction mode corresponding to the gradient histogram, area histogram, and / or the usage count histogram of the encoded image block;

[0333] Optionally, at least one histogram of the current block is determined or obtained. The histogram includes a gradient histogram, an area histogram, and / or a histogram of the number of times the encoded image block is used, as well as a histogram obtained by adjusting or merging the above histograms. At least one prediction mode is determined or obtained based on the at least one histogram of the current block and identified as a candidate mode to achieve a first screening of prediction modes. Then, the mode matching information related to at least one reference region of the current block for each candidate mode is determined as the fifth matching information. A second screening is then performed based on the fifth matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0334] Optionally, a gradient histogram is a statistical tool used to describe the gradient magnitude distribution of the current block in different directions. It calculates the gradient magnitude value of each pixel in the reference region (e.g., template) of the current block in the direction corresponding to the prediction mode in each frame, and statistically analyzes the distribution of these gradient magnitude values ​​to obtain a histogram containing the gradient magnitude values ​​corresponding to each prediction direction.

[0335] Optionally, in intra-frame prediction, different prediction modes correspond to different prediction directions. For example, the vertical mode corresponds to the vertical direction, the horizontal mode corresponds to the horizontal direction, and the diagonal mode corresponds to the diagonal direction. Each prediction mode has a specific direction to describe its prediction direction.

[0336] Optionally, for each prediction direction, the sum of the gradient magnitude values ​​of each pixel in the reference region of the current block in that direction is calculated. This sum reflects the overall gradient strength of the current block in that prediction direction. The gradient histogram records the sum of the gradient magnitude values ​​corresponding to each prediction direction.

[0337] Optionally, the prediction mode corresponding to the prediction direction whose sum of gradient magnitude values ​​in the gradient histogram satisfies the second condition is determined as a candidate mode, and the fifth matching information related to at least one reference region of the current block is determined. Optionally, the second condition can be that the gradient magnitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose gradient magnitude value is in the first 3 in the gradient histogram is determined as a candidate mode.

[0338] Optionally, the gradient magnitude and gradient direction of pixels in at least one template of the current block can be determined, the gradient histogram of at least one template with respect to the intra-prediction direction can be determined, the corresponding intra-prediction direction can be determined based on the gradient histogram, and at least one prediction mode can be determined or obtained.

[0339] Optionally, at least one template of the current block refers to a set of neighboring pixels surrounding the current block. The reason for these neighboring pixels is that they can provide important clues about the edges and texture orientation of the block to be predicted, so the intra-prediction mode of the current block can be analyzed and deduced based on these pixels.

[0340] Reference Figure 21 First, the template adjacent to the block to be predicted (the current block) is determined above and to the left of the block to be predicted, namely the three pixel lines / pixel rows / pixel columns on the left and above the block to be predicted. Next, a pixel in the middle line (e.g., pixel A) is taken as the pixel for calculating the gradient. By calculating the gradient direction of at least one pixel in the middle line, as well as the magnitude of the horizontal and vertical gradients, the gradient direction and the corresponding gradient magnitude value of at least one pixel can be obtained.

[0341] Optionally, the gradient magnitude value is the sum of the absolute values ​​of the horizontal gradient and the vertical gradient. If the gradient magnitude values ​​with the same gradient direction in at least one pixel are added together, the sum of the gradient magnitude values ​​corresponding to that gradient direction can be obtained.

[0342] Optionally, a histogram of gradient magnitude values ​​for different gradient directions of at least one pixel can be constructed. The prediction direction perpendicular to the gradient direction with the maximum gradient magnitude value can be used as the prediction direction of the intra-prediction mode for the current block.

[0343] Optionally, the horizontal gradient Gx and vertical gradient Gy can be calculated using the 3x3 horizontal Sober operator and the vertical Sober operator, respectively. For example, the horizontal gradient Gx and vertical gradient Gy of a pixel x 4 in a pixel line can be calculated according to the following formulas (I) and (II).

[0344]

[0345] Optionally, A can be a matrix consisting of nine pixels, centered on pixel x4, and including the pixel x1 above it, the pixel x3 to its left, the pixel x7 below it, the pixel x5 to its right, the pixel x0 to its upper left, the pixel x6 to its lower left, the pixel x2 to its upper right, and the pixel x8 to its lower right, as shown in Formula (III) below.

[0346]

[0347] Optionally, the magnitude of gradient G is the sum of the absolute values ​​of the horizontal gradient and the vertical gradient, and its calculation formula is shown in formula (iv).

[0348] Formula (IV) is G = |Gx| + |Gy|.

[0349] Alternatively, the gradient direction corresponding to a pixel can be calculated using arctan(Gx / Gy).

[0350] Optionally, since each gradient direction corresponds to a specific gradient direction range, and each gradient direction range corresponds to the prediction direction of an intra-frame prediction mode, for at least one pixel in the pixel line, the gradient magnitude values ​​with the same gradient direction range in at least one pixel can be added together to obtain the sum of the gradient magnitude values ​​corresponding to the gradient direction range.

[0351] Alternatively, the sum of the gradient magnitude values ​​of the prediction direction of the corresponding intra-frame prediction mode can also be obtained.

[0352] Reference Figure 22 It includes the gradient magnitude values ​​corresponding to the prediction directions of each intra-frame prediction mode, and optionally, based on... Figure 22 The final intra-frame prediction mode selected was mode 3.

[0353] Optionally, the prediction mode corresponding to the prediction direction whose gradient magnitude value in the gradient histogram satisfies the second condition is determined as a candidate mode, and the fifth matching information related to at least one reference region of the current block is determined. Optionally, the second condition can be the gradient magnitude value that ranks first in position or order after the gradient magnitude value is sorted according to a preset sorting rule, and / or the second condition can be the gradient magnitude value that is in a preset position or preset order range after the gradient magnitude value is sorted according to a preset sorting rule. For example, the preset sorting can be a sorting rule that arranges the gradient magnitude values ​​from largest to smallest, and the prediction mode corresponding to the prediction direction whose gradient magnitude value is in the top 3 in the gradient histogram is determined as a candidate mode.

[0354] Optionally, the area histogram is used to describe the area magnitude distribution of at least one adjacent and / or non-adjacent coded block of the current block in different frames along the prediction direction.

[0355] Optionally, a statistical histogram or statistical result can be generated by analyzing the relationship between the area magnitude value of each coded block (e.g., the size of the block or the texture coverage) and the intra-frame prediction direction.

[0356] Optionally, the area amplitude value can represent the size of the coding block, the texture coverage, or other area-related features. It reflects the texture distribution intensity of the coding block in a specific direction. Each coding block has a corresponding intra-prediction direction (e.g., vertical, horizontal, diagonal, etc.). The area histogram statistically analyzes the area amplitude values ​​in these directions. By analyzing the distribution of area amplitude values ​​in different intra-prediction directions recorded on the area histogram, it can be determined which prediction directions are statistically more consistent with the texture features of the current block.

[0357] Optionally, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram satisfies the third condition is determined as a candidate mode, and the fifth matching information related to at least one reference area of ​​the current block is determined. Optionally, the third condition can be the area amplitude value that ranks first in position or order after the area amplitude value is sorted according to a preset sorting rule, and / or the third condition can be the area amplitude value that is within a preset position or preset order range after the area amplitude value is sorted according to a preset sorting rule. For example, the preset sorting can be a sorting rule that arranges the area amplitude values ​​from largest to smallest, and the prediction mode corresponding to the prediction direction whose area amplitude value is in the top 3 in the area histogram is determined as a candidate mode.

[0358] Optionally, the usage frequency histogram of the encoded image patch records the usage frequency of different intra-prediction modes in the encoded image patch. By using the usage frequency of different intra-prediction modes recorded in the usage frequency histogram, it is possible to determine which prediction modes are frequently used in the encoded region.

[0359] Optionally, the prediction patterns corresponding to the prediction directions whose usage frequency satisfies the fourth condition in the usage frequency histogram are determined as candidate patterns, and the fifth matching information corresponding to at least one reference region of the current block is determined based on the candidate patterns. For example, the prediction value is obtained by using the candidate patterns to predict at least one reference region of the current block, and the corresponding fifth matching information is determined based on the obtained prediction value and the reconstruction value of at least one reference region. Optionally, the fourth condition can be the usage frequency that ranks high in position or order after the usage frequency is sorted according to a preset sorting rule, and / or the fifth condition can be the usage frequency that ranks within a preset position or preset order range after the usage frequency is sorted according to a preset sorting rule. For example, the preset sorting can be a sorting rule that arranges the usage frequency from largest to smallest, and the prediction patterns corresponding to the prediction directions whose usage frequency ranks in the top 3 in the usage frequency histogram are determined as candidate patterns.

[0360] Optionally, at least one encoded region or at least one decoded region can be determined first, and then the intra-prediction mode usage of the encoded blocks in the encoded region can be determined, and / or the intra-prediction mode usage of the decoded blocks in the decoded region can be determined, for example, such as Figure 23 As shown, in the encoded region, there are coded blocks 4 and 6 adjacent to the block to be predicted, and coded blocks 1, 2, 3, 5, 7, and 8 that are not adjacent to the block to be predicted. Optionally, as... Figure 24 As shown, in the decoded region there are decoded blocks 4 and 6 that are adjacent to the block to be predicted, and decoded blocks 1, 2, 3, 5, 7 and 8 that are not adjacent to the block to be predicted.

[0361] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0362] Optionally, based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the current block, the fifth matching information related to at least one reference region of the current block is determined or obtained, and a candidate mode in at least one mode list is determined or obtained. Based on the candidate mode in the at least one mode list, the target prediction mode of the current block is determined or obtained.

[0363] In this embodiment, candidate patterns are determined by the fifth matching information. On the one hand, this improves the richness of candidate patterns in the pattern list and their fit with the current block. On the other hand, by utilizing existing information, the search range of candidate patterns is effectively narrowed, thereby reducing computational complexity to a certain extent.

[0364] Method 6: Determine or obtain at least one reference region-related sixth matching information of the sub-blocks of the current block based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the coded image blocks;

[0365] Optionally, at least one histogram of the sub-blocks of the current block is determined or obtained. The histogram includes a gradient histogram, an area histogram, and / or a histogram of the number of times the encoded image block is used, as well as a histogram obtained by adjusting or merging the above histograms. At least one predicted mode determined or obtained based on the at least one histogram of the sub-blocks of the current block is determined as a candidate mode to achieve a first screening of the predicted modes. Then, the mode matching information related to at least one reference region of the sub-blocks of the current block for each candidate mode is determined as the sixth matching information. Then, a second screening is performed based on the sixth matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0366] Optionally, a histogram containing the gradient magnitude values ​​corresponding to each prediction direction is obtained by calculating the gradient magnitude value of each pixel in the reference region (e.g., template) of the sub-block of the current block in each frame in the direction corresponding to the prediction mode, and statistically analyzing the distribution of these gradient magnitude values.

[0367] Optionally, the prediction mode corresponding to the prediction direction whose sum of gradient magnitude values ​​in the gradient histogram satisfies the second condition is determined as a candidate mode, and the sixth matching information related to at least one reference region of the candidate mode and the sub-block of the current block is determined. Optionally, the second condition can be that the gradient magnitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose gradient magnitude value is in the top 3 in the gradient histogram is determined as a candidate mode.

[0368] Optionally, the gradient magnitude and gradient direction of pixels in at least one template of the sub-block of the current block can be determined, the gradient histogram of at least one template with respect to the intra-prediction direction can be determined, the corresponding intra-prediction direction can be determined based on the gradient histogram, and at least one prediction mode can be determined or obtained.

[0369] Optionally, at least one template of the sub-block of the current block refers to a set of neighboring pixels surrounding the sub-block of the current block. The reason for these neighboring pixels is that they can provide important clues about the edge and texture direction of the block to be predicted, so the intra-prediction mode of the sub-block of the current block can be analyzed and deduced based on these pixels.

[0370] Optionally, the prediction mode corresponding to the prediction direction whose gradient magnitude value in the gradient histogram satisfies the second condition is determined as a candidate mode, and the sixth matching information related to at least one reference region of the candidate mode and the sub-block of the current block is determined. Optionally, the second condition can be the gradient magnitude value that ranks first in position or order after the gradient magnitude value is sorted according to a preset sorting rule, and / or the second condition can be the gradient magnitude value that ranks within a preset position or preset order range after the gradient magnitude value is sorted according to a preset sorting rule. For example, the preset sorting can be a sorting rule that arranges the gradient magnitude values ​​from largest to smallest, and the prediction mode corresponding to the prediction direction whose gradient magnitude value ranks in the top 3 in the gradient histogram is determined as a candidate mode.

[0371] Optionally, the area histogram is used to describe the distribution of area magnitude of at least one adjacent and / or non-adjacent coded blocks of the current block in different intra-frame prediction directions. A statistical histogram or statistical result can be generated by analyzing the relationship between the area magnitude value of each coded block (e.g., block size or texture coverage) and the intra-frame prediction direction.

[0372] Optionally, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram satisfies the third condition is determined as a candidate mode, and the sixth matching information related to at least one reference area of ​​the sub-block of the current block is determined. Optionally, the third condition can be the area amplitude value that ranks first in position or order after the area amplitude value is sorted according to the preset sorting rule, and / or the third condition can be the area amplitude value that is in the range of preset position or preset order after the area amplitude value is sorted according to the preset sorting rule. For example, the preset sorting can be a sorting rule that arranges the area amplitude values ​​from largest to smallest, and the prediction mode corresponding to the prediction direction whose area amplitude value is in the top 3 in the area histogram is determined as a candidate mode.

[0373] Optionally, the prediction patterns corresponding to the prediction directions whose usage frequency satisfies the fourth condition in the usage frequency histogram are determined as candidate patterns, and the sixth matching information corresponding to at least one reference region of the sub-block of the current block is determined according to the candidate patterns. For example, the prediction value is obtained by using the candidate patterns to predict at least one reference region of the sub-block of the current block, and the corresponding sixth matching information is determined according to the obtained prediction value and the reconstruction value of at least one reference region. Optionally, the fourth condition can be the usage frequency that ranks high in position or order after the usage frequency is sorted according to a preset sorting rule, and / or the fourth condition can be the usage frequency that ranks within a preset position or preset order range after the usage frequency is sorted according to a preset sorting rule. For example, the preset sorting can be a sorting rule that arranges the usage frequency from largest to smallest, and the prediction patterns corresponding to the prediction directions whose usage frequency ranks in the top 3 in the usage frequency histogram are determined as candidate patterns.

[0374] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0375] Optionally, based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the sub-blocks of the current block, the sixth matching information related to at least one reference region of the sub-blocks of the current block is determined or obtained, and a candidate mode in at least one mode list is determined or obtained, and a target prediction mode of the sub-blocks of the current block is determined or obtained based on the candidate mode in the at least one mode list.

[0376] In this embodiment, candidate patterns are determined by the sixth matching information. On the one hand, this improves the richness of candidate patterns in the pattern list and their fit with the current block. On the other hand, by utilizing existing information, the search range of candidate patterns is effectively narrowed, thereby reducing computational complexity to a certain extent.

[0377] Method 7: Determine or obtain at least one reference region-related seventh matching information for the current block based on the prediction patterns corresponding to the gradient histogram, area histogram, and / or usage count histogram of the adjacent blocks of the current block;

[0378] Optionally, at least one histogram of the neighboring blocks of the current block is determined or obtained. The histogram includes a gradient histogram, an area histogram, and / or a histogram of the number of times the encoded image blocks are used. At least one prediction mode is determined or obtained based on the at least one histogram of the neighboring blocks and identified as a candidate mode to achieve a first screening of the prediction modes. Then, the mode matching information related to at least one reference region of the current block for each candidate mode is determined as the seventh matching information. Then, a second screening is performed based on the seventh matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0379] Optionally, the current block, adjacent blocks, non-adjacent blocks, co-position blocks, and the encoded image block at the predicted position are image regions of the same partitioning level. The sub-blocks of the current block, adjacent blocks, co-position blocks, and the sub-blocks of the encoded image block at the predicted position are image regions of the same partitioning level. Furthermore, the sub-blocks of the current block, adjacent blocks, co-position blocks, and the sub-blocks of the encoded image block at the predicted position are image regions of the next partitioning level of the current block, adjacent blocks, non-adjacent blocks, co-position blocks, and the encoded image block at the predicted position, respectively.

[0380] Optionally, in video encoding and decoding technology, it is necessary to divide the image into blocks. For example, the image can be divided into at least one stripe, the stripe can be divided into at least one coding unit, and the coding unit can be divided into at least one sub-block. Different stripes belong to the same division level, different coding units belong to the same division level, and different sub-blocks belong to the same division level, while stripes and coding units belong to different division levels, and coding units and sub-blocks belong to different division levels.

[0381] Optionally, candidate modes in at least one mode list can be determined or obtained based on the predicted modes corresponding to the gradient histograms, area histograms, and / or usage count histograms of non-adjacent blocks of the current block and the mode matching information related to at least one reference region of the current block.

[0382] Optionally, candidate modes in at least one mode list can be determined or obtained based on the pattern matching information related to the predicted modes corresponding to the gradient histogram, area histogram, and / or the usage frequency histogram of the co-located blocks of the current block and at least one reference region of the current block.

[0383] Optionally, candidate modes from at least one mode list can be determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram, and / or usage frequency histogram of the encoded image block at a preset position of the current block and the mode matching information related to at least one reference region of the current block.

[0384] Optionally, the prediction mode corresponding to the prediction direction whose sum of gradient magnitude values ​​in the gradient histograms of adjacent blocks of the current block satisfies the second condition is determined as a candidate mode, and the seventh matching information related to at least one reference region of the current block is determined. Optionally, the second condition can be that the gradient magnitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose gradient magnitude value is in the top 3 in the gradient histogram is determined as a candidate mode.

[0385] Optionally, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram of the adjacent blocks of the current block meets the third condition is determined as a candidate mode, and the seventh matching information related to at least one reference area of ​​the current block is determined. Optionally, the third condition can be that the area amplitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram is in the top 3 is determined as a candidate mode.

[0386] Optionally, the prediction patterns corresponding to the prediction directions whose usage frequency satisfies the fourth condition in the usage frequency histogram of the current block's adjacent blocks are determined as candidate patterns, and the seventh matching information related to at least one reference region of the current block is determined. Optionally, the fourth condition can be the usage frequency being in a pre-preset sorting position. For example, the prediction patterns corresponding to the prediction directions whose usage frequency is in the top 3 in the usage frequency histogram are determined as candidate patterns.

[0387] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0388] Optionally, based on the seventh matching information related to the prediction modes corresponding to the gradient histograms, area histograms, and / or usage count histograms of the adjacent blocks of the current block and at least one reference region of the current block, a candidate mode in at least one mode list is determined or obtained, and based on the candidate modes in at least one mode list, a target prediction mode for the current block is determined or obtained.

[0389] In this embodiment, the candidate patterns are determined based on the seventh matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their fit with the current block. On the other hand, it effectively narrows the search range of candidate patterns by utilizing existing information, thereby reducing computational complexity to a certain extent.

[0390] Method 8: Determine or obtain at least one reference region-related eighth matching information of the current block based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-blocks of the adjacent blocks of the current block;

[0391] Optionally, at least one histogram of the sub-blocks of the adjacent blocks of the current block is determined or obtained. The histogram includes a gradient histogram, an area histogram, and / or a histogram of the number of times the encoded image block is used. At least one prediction mode is determined or obtained based on the at least one histogram of the sub-blocks of the adjacent blocks as a candidate mode to achieve a first screening of the prediction modes. Then, the mode matching information related to at least one reference region of the current block for each candidate mode is determined as the eighth matching information. Then, a second screening is performed based on the eighth matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0392] Optionally, the current block, adjacent blocks, non-adjacent blocks, co-position blocks, and the encoded image block at the predicted position are image regions of the same partitioning level. The sub-blocks of the current block, adjacent blocks, co-position blocks, and the sub-blocks of the encoded image block at the predicted position are image regions of the same partitioning level. Furthermore, the sub-blocks of the current block, adjacent blocks, co-position blocks, and the sub-blocks of the encoded image block at the predicted position are image regions of the next partitioning level of the current block, adjacent blocks, non-adjacent blocks, co-position blocks, and the encoded image block at the predicted position, respectively.

[0393] Optionally, in video encoding and decoding technology, it is necessary to divide the image into blocks. For example, the image can be divided into at least one stripe, the stripe can be divided into at least one coding unit, and the coding unit can be divided into at least one sub-block. Different stripes belong to the same division level, different coding units belong to the same division level, and different sub-blocks belong to the same division level, while stripes and coding units belong to different division levels, and coding units and sub-blocks belong to different division levels.

[0394] Optionally, candidate modes in at least one mode list can be determined or obtained based on the pattern matching information related to the predicted modes corresponding to the gradient histograms, area histograms, and / or usage count histograms of the non-adjacent sub-blocks of the current block and at least one reference region of the current block.

[0395] Optionally, candidate modes in at least one mode list can be determined or obtained based on the pattern matching information related to the predicted modes corresponding to the gradient histograms, area histograms, and / or the usage count histograms of the sub-blocks of the co-located blocks of the current block and at least one reference region of the current block.

[0396] Optionally, candidate modes in at least one mode list can be determined or obtained based on the pattern matching information related to the predicted modes corresponding to the gradient histogram, area histogram and / or usage frequency histogram of the sub-blocks of the encoded image block at a preset position of the current block and at least one reference region of the current block.

[0397] Optionally, the prediction mode corresponding to the prediction direction whose sum of gradient magnitude values ​​in the gradient histograms of the sub-blocks of the adjacent blocks of the current block satisfies the second condition is determined as a candidate mode, and the eighth matching information related to at least one reference region of the current block is determined. Optionally, the second condition can be that the gradient magnitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose gradient magnitude value is in the first 3 in the gradient histogram is determined as a candidate mode.

[0398] Optionally, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram of the sub-blocks of the adjacent blocks of the current block satisfies the third condition is determined as a candidate mode, and the eighth matching information related to at least one reference area of ​​the current block is determined. Optionally, the third condition can be that the area amplitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram is in the top 3 is determined as a candidate mode.

[0399] Optionally, the prediction patterns corresponding to the prediction directions whose usage counts satisfy the fourth condition in the usage count histogram of the sub-blocks of the current block are determined as candidate patterns, and the eighth matching information related to at least one reference region of the current block is determined for the candidate patterns. Optionally, the fourth condition can be the usage count being in a pre-preset sorting position. For example, the prediction patterns corresponding to the prediction directions whose usage counts are in the top 3 in the usage count histogram are determined as candidate patterns.

[0400] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0401] Optionally, based on the eighth matching information related to the predicted modes of the sub-blocks of the adjacent blocks of the current block, the area histograms, and / or the usage count histograms of the encoded image blocks, and at least one reference region of the current block, candidate modes in at least one mode list are determined or obtained, and the target predicted mode of the current block is determined or obtained based on the candidate modes in at least one mode list.

[0402] In this embodiment, the candidate patterns are determined based on the eighth matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their fit with the current block. On the other hand, it effectively narrows the search range of candidate patterns by utilizing existing information, thereby reducing computational complexity to a certain extent.

[0403] Method 9: The ninth matching information related to at least one reference region of the current block's sub-block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram, and / or the usage count histogram of the coded image blocks of the adjacent blocks of the current block's sub-block.

[0404] Optionally, at least one histogram of the neighboring blocks of the current block's sub-block is determined or obtained. The histogram includes a gradient histogram, an area histogram, and / or a histogram of the number of times the encoded image block is used. At least one prediction mode is determined or obtained based on the at least one histogram of the neighboring blocks as a candidate mode to achieve a first screening of the prediction modes. Then, the mode matching information related to at least one reference region of the current block's sub-block for each candidate mode is determined as the ninth matching information. Then, a second screening is performed based on the ninth matching information to determine or obtain at least one candidate mode from the mode list from each candidate mode.

[0405] Optionally, the current block, adjacent blocks, non-adjacent blocks, co-position blocks, and the encoded image block at the predicted position are image regions of the same partitioning level. The sub-blocks of the current block, adjacent blocks, co-position blocks, and the sub-blocks of the encoded image block at the predicted position are image regions of the same partitioning level. Furthermore, the sub-blocks of the current block, adjacent blocks, co-position blocks, and the sub-blocks of the encoded image block at the predicted position are image regions of the next partitioning level of the current block, adjacent blocks, non-adjacent blocks, co-position blocks, and the encoded image block at the predicted position, respectively.

[0406] Optionally, in video encoding and decoding technology, it is necessary to divide the image into blocks. For example, the image can be divided into at least one stripe, the stripe can be divided into at least one coding unit, and the coding unit can be divided into at least one sub-block. Different stripes belong to the same division level, different coding units belong to the same division level, different sub-blocks belong to the same division level, stripes and coding units belong to different division levels, and coding units and sub-blocks belong to different division levels.

[0407] Optionally, candidate modes in at least one mode list can be determined or obtained based on the pattern matching information related to at least one reference region of the current block and the predicted modes corresponding to the gradient histogram, area histogram and / or usage frequency histogram of the non-adjacent blocks of the current block's sub-blocks.

[0408] Optionally, candidate modes from at least one mode list can be determined or obtained based on the pattern matching information related to the predicted modes corresponding to the gradient histogram, area histogram, and / or usage frequency histogram of the co-located blocks of the current block's sub-blocks and at least one reference region of the current block's sub-blocks.

[0409] Optionally, candidate modes in at least one mode list can be determined or obtained based on the pattern matching information related to the predicted mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the encoded image block at a preset position of the sub-block of the current block and at least one reference region of the current block.

[0410] Optionally, the prediction mode corresponding to the prediction direction whose sum of gradient magnitude values ​​in the gradient histograms of the adjacent blocks of the current block satisfies the second condition is determined as a candidate mode, and the ninth matching information related to at least one reference region of the candidate mode and the current block is determined. Optionally, the second condition can be that the gradient magnitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose gradient magnitude value is in the first 3 in the gradient histogram is determined as a candidate mode.

[0411] Optionally, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram of the adjacent blocks of the current block's sub-block satisfies the third condition is determined as a candidate mode, and the ninth matching information related to at least one reference area of ​​the candidate mode and the current block's sub-block is determined. Optionally, the third condition can be that the area amplitude value is located in the first preset sorting position. For example, the prediction mode corresponding to the prediction direction whose area amplitude value in the area histogram is in the top 3 is determined as a candidate mode.

[0412] Optionally, the prediction pattern corresponding to the prediction direction whose usage frequency satisfies the fourth condition in the histogram of the usage frequency of the adjacent blocks of the current block is determined as a candidate pattern, and the ninth matching information related to at least one reference area of ​​the candidate pattern and the current block's sub-block is determined. Optionally, the fourth condition can be the usage frequency being in a pre-preset sorting position. For example, the prediction pattern corresponding to the prediction direction whose usage frequency is in the top 3 in the histogram of usage frequency is determined as a candidate pattern.

[0413] Optionally, in this embodiment, the reference region is determined or obtained according to at least one of methods F to K in the fourth embodiment.

[0414] Optionally, based on the ninth matching information related to the predicted modes corresponding to the gradient histograms, area histograms, and / or usage count histograms of the adjacent blocks of the current block's sub-blocks and at least one reference region of the current block's sub-blocks, a candidate mode in at least one mode list is determined or obtained, and based on the candidate modes in at least one mode list, a target predicted mode for the current block is determined or obtained.

[0415] In this embodiment, the candidate pattern is determined based on the ninth matching information. On the one hand, this improves the richness of the candidate patterns in the pattern list and their adaptability to the current block. On the other hand, by utilizing existing information, the search range of candidate patterns is effectively narrowed, thereby reducing computational complexity to a certain extent.

[0416] Optionally, candidate patterns are determined or obtained based on pattern matching information related to at least one reference region of the current block and / or pattern matching information related to at least one reference region of the sub-blocks of the current block, including at least one of the following methods ten to twelve:

[0417] Method 10: Determine or obtain candidate patterns based on the value range corresponding to at least one pattern matching information;

[0418] Optionally, pattern matching information refers to information used to evaluate the degree of matching between different prediction patterns and the reference region and its corresponding current block. Pattern matching information can be based on various indicators, such as the rate-distortion cost of the prediction results, prediction error, texture similarity, etc., to indicate the degree of matching between different prediction patterns and the reference region.

[0419] Optionally, the pattern matching information includes SAD, SATD, and / or MRSAD, and the value range corresponding to the pattern matching information can be the value range of SAD, SATD, and / or MRSAD included in the pattern matching information. Optionally, the smaller the SAD, SATD, and / or MRSAD values, the higher the degree of matching; conversely, the larger the SAD, SATD, and / or MRSAD values, the lower the degree of matching.

[0420] Optionally, predicted patterns whose relevant pattern matching information falls within a preset value range are identified as candidate patterns in at least one pattern list.

[0421] Optionally, predicted patterns whose relevant pattern matching information is greater than a preset threshold value are identified as candidate patterns in at least one pattern list.

[0422] Optionally, the predicted patterns whose relevant pattern matching information is within a preset value range are determined as the first candidate patterns. Then, the candidate patterns are determined or obtained according to the pattern sorting results associated with the first candidate patterns, and the candidate patterns are placed in the candidate pattern list according to the pattern sorting results.

[0423] Optionally, predicted patterns whose relevant pattern matching information is greater than a preset threshold value are identified as first candidate patterns, and then candidate patterns are determined or obtained based on the pattern sorting results associated with the first candidate patterns.

[0424] Optionally, in this embodiment, the pattern matching information includes at least one of methods one to nine in the third embodiment.

[0425] Optionally, based on the value range corresponding to at least one pattern matching information, a candidate pattern in at least one pattern list is determined or obtained, and based on the candidate pattern in at least one pattern list, the target prediction pattern of the current block is determined or obtained.

[0426] In this embodiment, since the pattern matching information represents the degree of matching between different prediction modes and the reference region, determining the candidate mode based on the value corresponding to the pattern matching information can effectively ensure that the candidate modes in the pattern list have a high degree of matching with the current block, thereby improving the fit between the target prediction mode determined or obtained based on the candidate mode and the current block, and improving the prediction effect of the current block.

[0427] Method 11: Determine or obtain candidate patterns based on the comparison results between at least two values ​​corresponding to at least one pattern matching information;

[0428] Optionally, pattern matching information refers to information used to evaluate the degree of matching between different prediction patterns and the reference region and its corresponding current block. Pattern matching information can be based on various indicators, such as the rate-distortion cost of the prediction results, prediction error, texture similarity, etc., to indicate the degree of matching between different prediction patterns and the reference region.

[0429] Optionally, the pattern matching information includes SAD, SATD, and / or MRSAD, and the value range corresponding to the pattern matching information can be the value range of SAD, SATD, and / or MRSAD included in the pattern matching information. Optionally, the smaller the SAD, SATD, and / or MRSAD values, the higher the degree of matching; conversely, the larger the SAD, SATD, and / or MRSAD values, the lower the degree of matching.

[0430] Optionally, the values ​​corresponding to the pattern matching information related to multiple predicted modes can be compared, and candidate modes can be determined or obtained based on the comparison results. Optionally, the predicted mode with the smaller value corresponding to the pattern matching information can be determined as the candidate mode.

[0431] For example, the values ​​corresponding to the pattern matching information include the first SAD value corresponding to pattern A, the second SAD value corresponding to pattern B, and the third SAD value corresponding to pattern C. The values ​​corresponding to the above pattern matching information are compared, and the comparison result is: first SAD value < second SAD value < third SAD value. Since the smaller the SAD value, the higher the degree of matching, pattern A, or patterns A and B with a higher degree of matching can be selected as candidate patterns based on the comparison result.

[0432] Optionally, the predicted patterns whose relevant pattern matching information is within a preset value range are determined as the first candidate patterns, and the candidate patterns are determined or obtained based on the comparison results between the values ​​corresponding to the pattern matching information of multiple first candidate patterns.

[0433] Optionally, in this embodiment, the pattern matching information includes at least one of methods one to nine in the third embodiment.

[0434] Optionally, a candidate pattern is determined or obtained based on the comparison result between at least two values ​​corresponding to at least one pattern matching information, and the target prediction pattern of the current block is determined or obtained based on the candidate patterns in at least one pattern list.

[0435] In this embodiment, since the pattern matching information represents the degree of matching between different prediction modes and the reference area, the candidate modes with a higher degree of matching with the current block can be selected based on the comparison results between the values ​​corresponding to the pattern matching information. This improves the fit between the target prediction mode determined or obtained based on the candidate modes and the current block, thereby enhancing the prediction effect of the current block.

[0436] Method 12: Determine or obtain candidate patterns based on the pattern ranking results associated with at least one pattern matching information;

[0437] Optionally, multiple pattern matching information are sorted according to a preset sorting rule to determine or obtain the pattern sorting result. Optionally, the preset sorting rule can be to sort the values ​​corresponding to the pattern matching information from smallest to largest, so that the predicted pattern with the smaller value (i.e., the higher the matching degree) of the pattern matching information ranks higher. Optionally, the preset sorting rule and / or sort the values ​​corresponding to the pattern matching information from largest to smallest, so that the predicted pattern with the larger value (i.e., the lower the matching degree) of the pattern matching information ranks higher.

[0438] Optionally, at least one predicted pattern located within a preset sorting position and / or preset sorting range can be identified as a candidate pattern based on the pattern sorting results.

[0439] Optionally, in this embodiment, the pattern matching information includes at least one of methods one to nine in the third embodiment.

[0440] Optionally, candidate modes are determined or obtained based on the pattern sorting results associated with at least one pattern matching information, and the target prediction mode of the current block is determined or obtained based on the candidate modes in at least one pattern list.

[0441] In this embodiment, since the pattern matching information represents the degree of matching between different prediction modes and the reference area, the candidate modes with a higher degree of matching with the current block can be selected based on the comparison results between the values ​​corresponding to the pattern matching information. This improves the fit between the target prediction mode determined or obtained based on the candidate modes and the current block, thereby enhancing the prediction effect of the current block.

[0442] Optionally, the pattern list includes a first list and / or a second list.

[0443] Optionally, the first list and the second list may include different candidate patterns. Optionally, the first list and the second list may include at least partially different candidate patterns. Optionally, the pattern list and / or further include a third pattern list, a fourth pattern list, etc.

[0444] Optionally, multiple pattern lists can be set with different list priorities. When the target prediction mode of the current block is determined or obtained based on the candidate modes in at least one pattern list, the selection order of the pattern lists can be determined according to the list priorities. For example, the target prediction mode can be selected from the pattern list with the highest list priority first. If the target prediction mode is not determined or obtained, the target prediction mode can be selected from the pattern lists with the second highest list priority and subsequent priorities. This setting of multiple list priorities can achieve hierarchical filtering, which reduces the amount of computation and computational complexity to a certain extent, while maintaining high prediction accuracy.

[0445] In this embodiment, by setting a mode list, a richer set of candidate modes can be provided. For example, it can cover different types of prediction modes, including angle prediction modes, non-angle prediction modes and / or prediction derivation modes, so that there are more options for selecting the target prediction mode, thereby improving the fit between the target prediction mode and the current block, and thus improving the prediction accuracy of the current block.

[0446] Optionally, candidate patterns are determined or obtained based on pattern ranking results associated with at least one pattern matching information, including at least one of the following methods thirteen to sixteen:

[0447] Method 13: Based on at least one first predicted pattern that is located within a preset sorting position and / or preset sorting range in the pattern sorting results, determine or obtain candidate patterns in the first list.

[0448] Optionally, the first and second lists may include different candidate patterns.

[0449] Optionally, multiple pattern matching information can be sorted according to a preset sorting rule to determine or obtain a pattern sorting result. At least one first predicted pattern located within a preset sorting position (e.g., first, second, third, etc.) and / or a preset sorting range (e.g., first to sixth) in the pattern sorting result is determined as a candidate pattern in the first list.

[0450] Optionally, the preset sorting position and / or preset sorting range can be determined or obtained based on the actual preset sorting rules (e.g., ascending order, descending order) and / or the matching degree between the prediction mode and the current block. Optionally, when the preset sorting rules include ascending order sorting based on pattern matching information, in order to obtain a higher matching degree, the prediction modes ranked higher (e.g., top 6, top 3, etc.) can be selected as the first prediction mode, and the candidate modes in the first list can be determined or obtained.

[0451] Optionally, the length of the first list is a first length, and corresponds to the number of candidate patterns that the list can accommodate. Optionally, if the number of first predicted patterns in the pattern sorting result that are located within a preset sorting position and / or a preset sorting range is greater than the number of patterns that the first column can accommodate, then the first predicted patterns that satisfy the number of patterns that the first column can accommodate are determined as candidate patterns in the first list, and the remaining first predicted patterns are determined as candidate patterns in the second list.

[0452] Optionally, in this embodiment, the pattern matching information includes at least one of methods one to nine in the third embodiment.

[0453] Optionally, the candidate patterns in the first list may include a first possible pattern and / or a second possible pattern.

[0454] Optionally, based on at least one first predicted pattern located within a preset sorting position and / or preset sorting range in the pattern sorting results, candidate patterns in a first list are determined or obtained, and based on the pattern matching information related to each candidate pattern in the first list, a first possible pattern and / or a second possible pattern are determined or obtained.

[0455] In this embodiment, by setting a pattern list, a richer range of candidate patterns can be provided, allowing for more options in selecting the target prediction pattern. This improves the fit between the target prediction pattern and the current block, thereby enhancing the prediction accuracy of the current block.

[0456] Method 14: Based on at least one second prediction mode that is located after the first prediction mode in the pattern sorting results, determine or obtain the candidate modes in the second list;

[0457] Optionally, the first and second lists may include different candidate patterns.

[0458] Optionally, multiple pattern matching information can be sorted according to a preset sorting rule to determine or obtain a pattern sorting result. At least one second predicted pattern that is located after the first predicted pattern in the pattern sorting result is determined as a candidate pattern in the second list.

[0459] Optionally, if the preset sorting rules include sorting in ascending order based on pattern matching information, candidate patterns in the first list are determined or obtained based on at least one first predicted pattern located within the preset sorting position and / or preset sorting range in the pattern sorting results, so that the first list contains candidate patterns with a higher degree of matching with the current block, while patterns located after the first predicted pattern, i.e., patterns with a slightly lower degree of matching, can be placed in the second list.

[0460] Optionally, if the preset sorting rules include reverse sorting based on pattern matching information, candidate patterns in the first list are determined or obtained based on at least one first predicted pattern in the pattern sorting results that is located within the preset sorting position and / or preset sorting range, so that the first list contains candidate patterns with a low degree of matching with the current block, while patterns located after the first predicted pattern, i.e., patterns with a higher degree of matching, can be placed in the second list.

[0461] Optionally, the length of the second list is a second length and corresponds to the number of candidate patterns that the list can hold. Optionally, if the number of second predicted patterns that are after the first predicted pattern in the pattern sorting result is greater than the number of patterns that the second column can hold, then the second predicted patterns that satisfy the number of patterns that the second column can hold are determined as candidate patterns in the second list, and the remaining second predicted patterns are determined as candidate patterns in the third list.

[0462] Optionally, in this embodiment, the pattern matching information includes at least one of methods one to nine in the third embodiment.

[0463] In this embodiment, by determining or obtaining candidate modes in the second list based on at least one second prediction mode following the first prediction mode in the mode sorting result, the first and second lists can contain different candidate modes, thereby ensuring more options when selecting the target prediction mode, improving the fit between the target prediction mode and the current block, and thus improving the prediction accuracy of the current block.

[0464] Method 15: Based on at least one third predicted pattern that is outside the preset sorting position and / or preset sorting range in the pattern sorting results, determine or obtain the candidate patterns in the second list.

[0465] Optionally, the first and second lists may include different candidate patterns.

[0466] Optionally, multiple pattern matching information can be sorted according to a preset sorting rule to determine or obtain a pattern sorting result, and at least one third predicted pattern located outside the preset sorting position and / or preset sorting range in the pattern sorting result can be determined as a candidate pattern in the second list.

[0467] Optionally, the third prediction mode may be ranked after and / or before the first prediction mode in the pattern ranking results. Therefore, the third prediction mode may match the current block more or less than the first prediction mode.

[0468] Optionally, the preset sorting position and / or preset sorting range can be determined or obtained based on the actual preset sorting rules (e.g., ascending or descending order) and / or the degree of matching between the prediction pattern and the current block.

[0469] Optionally, candidate patterns in the second list are determined or obtained based on at least one third prediction pattern that follows the first prediction pattern in the pattern sorting results.

[0470] Optionally, the length of the second list is a second length and corresponds to the number of candidate patterns that the list can accommodate. Optionally, if the number of third predicted patterns that are outside the preset sorting position and / or preset sorting range in the pattern sorting result is greater than the number of patterns that the second column can accommodate, then the third predicted patterns that meet the number of patterns that the second column can accommodate are determined as candidate patterns in the second list, and the remaining third predicted patterns are determined as candidate patterns in the third list.

[0471] Optionally, in this embodiment, the pattern matching information includes at least one of methods one to nine in the third embodiment.

[0472] In this embodiment, by determining or obtaining candidate modes in the second list based on at least one third prediction mode located outside the preset sorting position and / or preset sorting range in the mode sorting results, the first list and the second list can contain different candidate modes, thereby ensuring more options when selecting the target prediction mode, improving the fit between the target prediction mode and the current block, and thus improving the prediction accuracy of the current block.

[0473] Method 16: Based on at least one fourth prediction pattern determined or obtained through the first prediction pattern, candidate patterns in the second list are determined or obtained.

[0474] Optionally, at least one fourth prediction mode determined or obtained according to the first prediction mode is determined as a candidate mode in the second list, at least one second prediction mode located after the first prediction mode in the mode sorting result is determined as a candidate mode in the second list, and at least one third prediction mode located outside the preset sorting position and / or preset sorting range in the mode sorting result is determined as a candidate mode in the second list.

[0475] Optionally, a fourth prediction mode that is adjacent to the first prediction mode in terms of mode order and / or numerical value is identified as a candidate mode in the second list.

[0476] Optionally, pattern adjacency refers to other patterns that are adjacent to a specific pattern (e.g., the first prediction pattern) in terms of direction or type within the definition or arrangement of prediction patterns. These patterns are usually logically or functionally associated with the first prediction pattern and may have similar prediction directions or texture features.

[0477] Optionally, numerical adjacency refers to other patterns that are numerically adjacent to a particular pattern in the numerical representation or index of the pattern. These patterns usually have consecutive index values ​​in the coding standard, indicating that they are similar in function or direction.

[0478] Optionally, in the HEVC standard, angular patterns are represented by index values. If the index of the first possible pattern is n, the numerically adjacent patterns may be n-1 and n+1.

[0479] Optionally, at least one fourth prediction pattern determined or obtained by the first prediction pattern is determined as a candidate pattern in the second list, and a second number of second prediction patterns and / or third prediction patterns are determined as candidate patterns in the second column. Optionally, second prediction patterns and / or third prediction patterns with a higher degree of matching with the current block can be determined as candidate patterns in the second column.

[0480] Optionally, according to a preset sorting rule, the pattern matching information related to the second, third, and fourth prediction modes is sorted to determine or obtain the pattern sorting result. Based on at least one fifth prediction mode located in the pattern sorting result within a preset first sorting position and / or a preset first sorting range, candidate modes in the second list are determined or obtained. Optionally, the remaining prediction modes can be further added to the third mode list.

[0481] In this embodiment, by determining or obtaining candidate modes in the second list based on at least one fourth prediction mode determined or obtained through the first prediction mode, the first and second lists can contain different candidate modes, thereby ensuring more options when selecting the target prediction mode, improving the fit between the target prediction mode and the current block, and thus improving the prediction accuracy of the current block.

[0482] Fourth embodiment

[0483] Based on the first embodiment, a fourth embodiment is proposed.

[0484] In this embodiment, the method of determining or obtaining the reference region includes at least one of the following methods F to K:

[0485] Method F determines or obtains at least one reference region 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.

[0486] Optionally, the upper adjacent pixel can be a pixel located above and adjacent to the current block in the same frame of the image.

[0487] Alternatively, the non-adjacent pixels above can be pixels in the same frame that are above the current block but not adjacent to it.

[0488] Optionally, the left-adjacent pixel can be a pixel located to the left and adjacent to the current block in the same frame of the image.

[0489] Optionally, the non-adjacent pixels on the left can be pixels located to the left of the current block in the same frame of the image, but not adjacent to the current block.

[0490] Optionally, the upper left adjacent pixel can be a pixel located in the same frame image that is adjacent to the upper left of the current block.

[0491] Optionally, the non-adjacent pixel in the upper left corner can be a pixel in the same frame that is located in the upper left corner of the current block, but is not adjacent to the current block.

[0492] 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 can be a reconstructed pixel or a predicted pixel.

[0493] Optionally, at least one of the following can be used as the reference area: 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 area can be derived or calculated from at least one obtained pixel.

[0494] Optionally, the reference region of the current block can be obtained according to preset mapping / correspondence rules.

[0495] Optionally, a reference region can be selected from the top adjacent pixels, top non-adjacent pixels, left adjacent pixels, left non-adjacent pixels, top left adjacent pixels, and top left non-adjacent pixels of the current block, based on the prediction model.

[0496] Reference Figure 25 The upper adjacent pixel of the current block is defined as reference region A, the left adjacent pixel of the current block is defined as reference region B, and the upper left adjacent pixel of the current block is defined as reference region C. Each of the upper, left, and upper left adjacent pixels includes at least one pixel.

[0497] Alternatively, if some locations lack valid pixel data, they can be filled using neighboring valid pixels.

[0498] Optionally, the reference region includes the reference region of the sub-block, which 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.

[0499] For example, the selection of the reference region of at least one sub-block of the current block can be referred to Figure 26 The solid line represents the current block, which is divided into sub-blocks A, B, C, and D. The reference areas of sub-blocks A through D are all outside the current block.

[0500] For example, the selection of the reference region of at least one sub-block of the current block can be referred to Figure 27 The solid line represents the current block, which is divided into sub-blocks A, B, C, and D. The reference areas of sub-blocks A through D are all outside the current block.

[0501] Optionally, the reference area of ​​a sub-block can be determined or obtained based on at least one of the regions, blocks, and pixels included in the current block.

[0502] Optionally, the reference region of at least one sub-block of the current block includes at least one of the regions, blocks and pixels located inside the current block, and / or at least one of the regions, blocks and pixels located outside the current block.

[0503] Optionally, the reference area includes at least one of a reference template, a reference block, and / or a reference pixel.

[0504] Optionally, at least a portion of the reference region of the second sub-block of the current block is determined or obtained based on the prediction result of the first sub-block of the current block.

[0505] Optionally, at least a portion of the reference region of the second sub-block of the current block is determined or obtained based on the reconstructed block of the first sub-block of the current block.

[0506] For example, the selection of the reference region of at least one sub-block of the current block can be referred to Figure 28 The solid line represents the current block, which is divided into sub-blocks A, B, C, and D. Optionally, the reference area for sub-block A is the external area adjacent to sub-block A. Since this application can encode or decode sub-blocks in a preset order, when encoding a subsequent sub-block, the sampling of the previous sub-block with the preset encoding order can be referenced. Therefore, for sub-block B in the next order, the left reference area corresponding to sub-block B can be determined or obtained using the prediction result and / or reconstruction block of sub-block A. Then, the upper reference area can be determined or obtained based on the external area adjacent to sub-block B. Optionally, for sub-block C, the upper reference area corresponding to sub-block C can also be determined or obtained using the prediction result and / or reconstruction block of sub-block A. Then, the left reference area can be determined or obtained based on the external area adjacent to sub-block C. Optionally, for sub-block D, the reference area corresponding to sub-block D can be determined or obtained using the prediction results and / or reconstruction blocks of sub-blocks A, B, and C, respectively.

[0507] Optionally, the boundary of the reference region can be the same as or smaller than the boundary of the sub-block.

[0508] Optionally, the size of the reference region of at least one sub-block of the current block can be smaller than the size of the reference region of the current block, thereby reducing the complexity of the algorithm during the prediction process.

[0509] For example, the width of the reference region of the current block is 4, while the width of the reference target of each sub-block of the current block is 2, and the sum of the sizes of all reference regions of at least one sub-block of the current block is less than the sum of the sizes of all reference regions of the current block. Thus, during the prediction process, the complexity of the algorithm can be reduced by decreasing the size of the reference region.

[0510] For example, the selection of the reference region of at least one sub-block of the current block can be referred to Figure 29 The solid line represents the current block, which is divided into sub-blocks A, B, C, and D. Optionally, the reference area for sub-block A is the external area adjacent to sub-block A. Since this application can encode or decode sub-blocks according to a preset order, when encoding a subsequent sub-block, the sampling of the preceding sub-block in the preset encoding order can be referenced. Therefore, for the subsequent sub-block B, the prediction result and / or reconstructed block of sub-block A can be used to determine or obtain the corresponding partial reference area of ​​sub-block B. Then, based on the external area adjacent to sub-block B, the remaining reference area can be determined or obtained. Optionally, for sub-block C, the prediction results and / or reconstructed blocks of sub-block A can be used to determine or obtain a portion of the reference area corresponding to sub-block C, and then the remaining reference area can be determined or obtained based on the external area adjacent to sub-block C. Optionally, for sub-block D, the prediction results and / or reconstructed blocks of sub-blocks A, B, and C can be used to determine or obtain the reference area corresponding to sub-block D.

[0511] Reference Figure 30 The reference region corresponding to sub-block D can be determined or obtained based on the region adjacent to the current block.

[0512] In this embodiment, a reference region 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. Since the current block usually has a high similarity 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, the reference region determined based on these adjacent pixels and / or non-adjacent pixels can improve the matching degree between the target prediction pattern and the current block during the prediction process, thereby improving the prediction accuracy of the current block.

[0513] Method G determines or obtains at least one reference region based on at least one of the following: neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block.

[0514] Optionally, at least one of the following can be used as a reference region: the neighboring block, the non-neighboring block, the co-located block, the temporal block, and the default block corresponding to the current block.

[0515] Optionally, at least one reference region can be determined or obtained based on image block information from at least one of the following: neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block.

[0516] Optionally, the image block information may include at least one of the following: block size, block area, image block attributes, and image block type.

[0517] Optionally, the block size includes the block's width, height, aspect ratio, depth, area, resolution, and number of pixels. Image block attributes may include the block's location and / or image texture. Image block type may include natural images or screen content images, etc.

[0518] Optionally, at least one reference region can be 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, among the neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block.

[0519] Optionally, at least one of the following can be used as a reference region: 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 among the neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block.

[0520] Optionally, at least one reference region can be determined or obtained based on at least one of the width, height, block size, and block area of ​​at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block.

[0521] 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.

[0522] 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.

[0523] Optionally, a co-location block can be an image block in a co-location image that has the same position and size as the current block, and the co-location image can be the image in the reference image that is closest to the current image in time.

[0524] Optionally, a temporal block can be a block that is distinguished in the time domain, such as an image block in other frames before or after the current frame. For example, if there is video data containing a first frame image, a second frame image, and a third frame image played in the first second, second second, and third second, respectively, and the current block is a block divided from the second frame image, then the temporal block corresponding to the current block can be determined to be the corresponding image block in other frames other than the second frame.

[0525] 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.

[0526] In this embodiment, at least one reference region is determined or obtained based on at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block. This ensures that the determined or obtained reference region is closely related to the current block, thereby improving the matching degree between the target prediction mode and the current block during the prediction process and enhancing the prediction accuracy of the current block.

[0527] Method H determines or obtains at least one reference region based on at least one of the current block's width, height, block size, and block area;

[0528] Optionally, at least one of the following can be determined or obtained: a pixel in a reference region, an image block, and an image region, based on at least one of the width, height, block size, and block area of ​​the current block.

[0529] Optionally, at least one reference region can be determined or obtained based on the width, height, and first mapping table of the current block. Optionally, the first mapping table can be as shown in Table 1 below:

[0530] Table 1

[0531] Width and height Reference area size <![CDATA[Either the width or the height of the current block is less than X1]]> <![CDATA[Dimension A1]]> <![CDATA[The width and height of the current block are both greater than or equal to X1, and either the width or the height is less than X2]]> <![CDATA[Dimension A2]]> <![CDATA[The width and height of the current block are both greater than or equal to X2]]> <![CDATA[Size A3]]> <![CDATA[The width and height of the current block are both greater than or equal to X2, and either the width or the height is less than X3]]> <![CDATA[Size A4]]>

[0532] Optionally, the height of at least one reference region is equal to the height of the current block by a first preset multiple, and the width of at least one reference region is equal to the width of the current block by a second preset multiple.

[0533] Optionally, the reference area or the image area within the reference area can be an encoded area or a decoded area.

[0534] Optionally, the encoded or decoded region can be determined by the position of the top-left pixel, the height of the encoded or decoded region, and its width. For example, the position of the top-left pixel can be the position N (N greater than 1) times the height of the image block above the top-left corner of the current block and N times the width of the image block to the left. The width of the encoded or decoded region is an integer multiple of the width of the current block, and the height of the encoded or decoded region is an integer multiple of the height of the current block.

[0535] Optionally, the reference region can be determined based on the current block size and the second mapping table. Optionally, the second mapping table can be as shown in Table 2 below:

[0536] Table 2

[0537] Block size Reference area size <![CDATA[The block size of the current block is smaller than X4]]> <![CDATA[Dimension B1]]> <![CDATA[The block size of the current block is greater than X4 and less than X5]]> <![CDATA[Dimension B2]]> <![CDATA[The block size of the current block is greater than X5 and less than X6]]> <![CDATA[Dimension B3]]> <![CDATA[The block size of the current block is greater than X6 and less than X7]]> <![CDATA[Size B4]]>

[0538] Optionally, the block size includes at least one of the block's width, height, scale, depth, area, resolution, and number of pixels. Optionally, X4 to X7 can be a preset threshold corresponding to at least one of the block size's width, height, scale, depth, area, resolution, and number of pixels.

[0539] Optionally, a reference region can be determined based on the block area of ​​the current block and a third mapping table. Optionally, the third mapping table can be as shown in Table 3 below:

[0540] Table 3

[0541] Block area Area of ​​reference region <![CDATA[The block area of the current block is less than X8]]> <![CDATA[Area C1]]> <![CDATA[The block area of the current block is greater than X8 and less than X9]]> <![CDATA[Area C2]]> <![CDATA[The block area of the current block is greater than X9 and less than X 10 > <![CDATA[Area C3]]> <![CDATA[The block area of the current block is greater than X 10 and less than X 11 > <![CDATA[Area C4]]>

[0542] Optionally, the position of the reference region can be determined or obtained based on the upper adjacent pixel, the left adjacent pixel, and the upper left adjacent pixel of the current block, and then the size of the reference region can be determined based on the width and height of the current block and the first mapping table.

[0543] For example, the reference area of ​​the current block includes: a first area adjacent to the top of the current block, a second area adjacent to the left of the current block, and a third area adjacent to the upper left of the current block. The width of the first area is equal to twice the width of the current block, and the height of the second area is equal to twice the height of the current block. If both the width and height of the current block are greater than or equal to 8, then the height of the first area is 8, the width of the second area is 8, and both the width and height of the third area are 8. If either the width or height of the current block is less than 8, then the height of the first area is 4, the width of the second area is 4, and both the width and height of the third area are 4.

[0544] In this embodiment, by determining or obtaining at least one reference region based on at least one of the width, height, size, and area of ​​the current block, it is ensured that the determined or obtained reference region is closely related to the current block. This can improve the matching degree between the target prediction pattern and the current block during the prediction process, thereby improving the prediction accuracy of the current block.

[0545] Method I: Based on the candidate motion vector or candidate block vector of the current block, determine or obtain at least one reference region;

[0546] Optionally, a candidate block can be determined or obtained based on at least one candidate motion vector or at least one candidate block vector in the candidate list of the current block, and used as at least one reference region.

[0547] Optionally, a candidate block can be determined or obtained based on the candidate motion vector or candidate block vector of the current block, and at least one reference region can be determined or obtained based on at least one of the above adjacent pixels, above non-adjacent pixels, left adjacent pixels, left non-adjacent pixels, upper left adjacent pixels, and upper left non-adjacent pixels of the candidate block.

[0548] Optionally, a candidate block can be determined or obtained based on the candidate motion vector or candidate block vector of the current block, and 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 candidate block can be used as at least one reference region.

[0549] Optionally, a candidate block can be determined or obtained based on the candidate motion vector or candidate block vector of the current block, and at least one reference region can be determined or obtained based on at least one of the width, height, block size and block area of ​​the candidate block.

[0550] Optionally, a candidate block can be determined or obtained based on the candidate motion vector or candidate block vector of the current block, and at least one reference region can be determined or obtained based on at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks and default blocks corresponding to the candidate block.

[0551] Optionally, a candidate block can be determined or obtained based on the candidate motion vector or candidate block vector of the current block, and at least one of the following: the neighboring block, non-neighboring block, co-located block, temporal block, and default block corresponding to the candidate block can be used as a reference region.

[0552] In this embodiment, the candidate block is determined or obtained based on the candidate motion vector or candidate block vector of the current block, ensuring that the determined or obtained reference area is closely related to the current block. This can improve the matching degree between the target prediction mode and the current block during the prediction process, thereby improving the prediction accuracy of the current block.

[0553] Method J: If the first information of the current block satisfies the first condition, then the reference region is the first reference region;

[0554] Optionally, the first information may be at least one of the following: the current block's identifier information, syntax element, instruction information, index about the list, the current block's aspect ratio, the range of width and height values, and the range of area values.

[0555] Optionally, the flag information can be used to indicate specific states or options, for example, to control the behavior of the encoder or decoder.

[0556] Optionally, syntax elements refer to a series of parameters and data structures defined in video codec standards to describe the specific encoding information of video frames and blocks.

[0557] Optionally, the indication information is information used to indicate a certain state or condition, and may include flag information or more complex syntactic elements.

[0558] Optionally, the index of a list refers to an integer value used to identify a specific item in a list. These lists can contain candidate motion vectors, reference frame indices, transform coefficients, etc., and specific items in the list can be quickly found and accessed through the index.

[0559] Optionally, the first information can be at least one of methods C to F, that is, the first information can be to determine or obtain at least one reference region based on at least one of the above adjacent pixels, above non-adjacent pixels, left adjacent pixels, left non-adjacent pixels, upper left adjacent pixels, and upper left non-adjacent pixels of the current block; it can be to determine or obtain at least one reference region based on at least one of the neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks corresponding to the current block; it can be to determine or obtain at least one reference region based on at least one of the width, height, block size, and block area of ​​the current block; or it can be to determine or obtain at least one reference region based on the candidate motion vector or candidate block vector of the current block.

[0560] Optionally, the first condition can be a pre-set condition that can be set according to user needs, and the first condition is not fixed and can be adaptively adjusted according to different scenarios.

[0561] Optionally, if the processing device detects that the current block meets the first condition, it can select the first information for calculation to determine or obtain at least one reference region.

[0562] Optionally, the current block satisfies the first condition, including at least one of the following:

[0563] The value of the first piece of information is the first numerical value;

[0564] The value of the first piece of information is located within the first numerical range;

[0565] The value of the first information is greater than or equal to the first threshold;

[0566] The value of the first information is less than or equal to the second threshold.

[0567] Optionally, the value of the first information can be at least one of the width, height, block size, and block area of ​​the current block.

[0568] Optionally, the first value can be a value of at least one of the pre-set width, height, block size, and block area of ​​the image block.

[0569] Optionally, the first numerical range may be a range of at least one of the pre-defined values ​​of the width, height, size, and area of ​​the image block.

[0570] Optionally, the first threshold may be a threshold for at least one of the pre-set width, height, block size, and block area of ​​the image block.

[0571] Optionally, the second threshold may be a threshold for at least one of the pre-set width, height, block size, and block area of ​​the image block.

[0572] Optionally, when the processing device detects that the first information of the current block meets the first condition, it may select the first information for calculation to determine or obtain at least one reference region.

[0573] Optionally, the first reference region can be a reference region that satisfies at least one of methods C to F.

[0574] In this embodiment, selecting a reference region using the first information can improve the similarity between the reference region and the current block (e.g., similarity of texture features, similarity of pixel features, etc.), thereby improving the matching degree between the target prediction pattern and the current block during the prediction process, and thus improving the prediction accuracy of the current block.

[0575] In method K, if the first information of the current block does not meet the first condition, then the reference area is the second reference area;

[0576] Optionally, the first reference region and the second reference region are different.

[0577] Optionally, the first reference region can be a portion of at least one of the left adjacent region, the upper adjacent region, and the upper left adjacent region of the current block, while the second reference region can be a region in the above regions that is different from the first reference region.

[0578] In this embodiment, selecting a reference region using the first information can improve the similarity between the reference region and the current block (e.g., similarity of texture features, similarity of pixel features, etc.), thereby improving the matching degree between the target prediction pattern and the current block during the prediction process, and thus improving the prediction accuracy of the current block.

[0579] Fifth Embodiment

[0580] This application also provides a processing device, please refer to... Figure 31 , Figure 31 This is a functional block diagram of the processing device of this application, which can be installed in or is the processing equipment. The processing device includes:

[0581] Processing module A10 is used to determine or obtain the target prediction mode of the current block based on candidate modes in at least one mode list.

[0582] Optionally, candidate patterns are determined or obtained based on at least one of the following:

[0583] Pattern matching information related to at least one reference region of the current block;

[0584] Pattern matching information related to at least one reference region of the current block's sub-blocks;

[0585] The prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions of the current block;

[0586] The prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks;

[0587] The prediction mode corresponding to the sub-blocks of the current block's neighboring blocks, non-adjacent blocks, co-located blocks, and / or coded image blocks at preset positions.

[0588] Optionally, the first matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block;

[0589] The second matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the neighboring blocks, non-neighboring blocks, co-located blocks and / or encoded image blocks at preset positions of the sub-block of the current block.

[0590] The third matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the sub-blocks of the coded image blocks at preset positions, which are adjacent blocks, non-adjacent blocks, co-located blocks, and / or pre-defined positions of the current block.

[0591] The fourth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the sub-block of the coded image block at a preset position of the adjacent block, non-adjacent block, co-located block and / or the sub-block of the current block.

[0592] The fifth matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the encoded image block;

[0593] The sixth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-block of the current block;

[0594] The seventh matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the coded image blocks of the current block;

[0595] The eighth matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-blocks of the adjacent blocks of the current block;

[0596] The ninth matching information related to at least one reference region of the current block's sub-blocks is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram, and / or usage count histogram of the adjacent blocks of the current block's sub-blocks.

[0597] Optionally, the processing module A10 is also used for:

[0598] Candidate patterns are determined or obtained based on the pattern sorting results associated with at least one pattern matching information;

[0599] Based on the value range corresponding to at least one pattern matching information, determine or obtain candidate patterns;

[0600] Candidate patterns are determined or obtained based on the comparison results between at least two values ​​corresponding to at least one pattern matching information.

[0601] Optionally, the pattern list includes a first list and / or a second list, and / or, based on the pattern sorting results associated with at least one pattern matching information, candidate patterns are determined or obtained, including at least one of the following:

[0602] Based on at least one first predicted pattern that is located within a preset sorting position and / or preset sorting range in the pattern sorting results, candidate patterns in the first list are determined or obtained.

[0603] Based on at least one second prediction pattern that follows the first prediction pattern in the pattern sorting results, determine or obtain candidate patterns in the second list.

[0604] Based on at least one third predicted pattern located outside the preset sorting position and / or preset sorting range in the pattern sorting results, determine or obtain candidate patterns in the second list.

[0605] Candidate patterns in the second list are determined or obtained based on at least one fourth prediction pattern determined or obtained through the first prediction pattern.

[0606] Optionally, the method of determining or obtaining the reference area includes at least one of the following:

[0607] At least one reference region 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.

[0608] Based on at least one of the following: neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks, determine or obtain at least one reference region;

[0609] Determine or obtain at least one reference region based on at least one of the current block's width, height, block size, and block area;

[0610] Based on the candidate motion vector or candidate block vector of the current block, determine or obtain at least one reference region;

[0611] If the first information of the current block satisfies the first condition, then the reference region is the first reference region;

[0612] If the first information of the current block does not meet the first condition, then the reference area is the second reference area.

[0613] Optionally, the first information of the current block satisfies a first condition, including at least one of the following:

[0614] The value of the first piece of information is the first numerical value;

[0615] The value of the first piece of information is located within the first numerical range;

[0616] The value of the first information is greater than or equal to the first threshold;

[0617] The value of the first information is less than or equal to the second threshold.

[0618] Optionally, the prediction model includes at least one of the following:

[0619] Angle prediction mode;

[0620] Non-angular prediction mode;

[0621] Predictive derivation model.

[0622] The processing device provided in this application embodiment is similar in implementation principle and beneficial effect to the technical solution shown in the corresponding method embodiment above, and will not be described again here.

[0623] This application also provides a processing device, including a memory and a processor. The memory stores a processing program, and when the processing program is executed by the processor, it implements the steps of the processing method in any of the above embodiments.

[0624] This application also provides a storage medium storing a processing program, which, when executed by a processor, implements the steps of the processing method in any of the above embodiments.

[0625] In the embodiments of the processing device and storage medium provided in this application, all the technical features of any of the above-described processing method embodiments may be included. The extended and explanatory content of the specification is basically the same as that of the embodiments of the above methods, and will not be repeated here.

[0626] This application also provides a computer program product, which includes computer program code. When the computer program code is run on a computer, it causes the computer to perform the methods described in the various possible implementations above.

[0627] This application also provides a chip, including a memory and a processor. The memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that a device with the chip installed performs the methods described in the various possible implementations above.

[0628] It is understood that the above scenarios are merely examples and do not constitute a limitation on the application scenarios of the technical solutions provided in the embodiments of this application. The technical solutions of this application can also be applied to other scenarios. For example, as those skilled in the art know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0629] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0630] The steps in the method of this application embodiment can be adjusted, combined, or deleted according to actual needs.

[0631] The units in the device of this application embodiment can be merged, divided, and deleted according to actual needs.

[0632] In this application, the same or similar terms, concepts, technical solutions and / or application scenario descriptions are generally described in detail only when they appear for the first time. When they appear again, they are generally not repeated for the sake of brevity. When understanding the technical solutions and other contents of this application, the same or similar terms, concepts, technical solutions and / or application scenario descriptions that are not described in detail later can be referred to their previous relevant detailed descriptions.

[0633] In this application, the descriptions of the various embodiments have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0634] The technical features of the present application can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of the present application.

[0635] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, controlled terminal, or network device, etc.) to execute the methods of each embodiment of this application.

[0636] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using 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) 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, storage disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state disk (SSD)).

[0637] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A processing method, characterized in that, Including the following steps: S10, determine or obtain the target prediction mode for the current block based on candidate modes from at least one mode list; The candidate pattern is determined or obtained based on pattern matching information related to at least one reference region of the current block and / or its sub-blocks; Pattern matching information includes at least one of the following: The fifth matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the encoded image block; The sixth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-block of the current block; The seventh matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or the usage count histogram of the coded image blocks of the current block; The eighth matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram and / or usage count histogram of the sub-blocks of the adjacent blocks of the current block; The ninth matching information related to at least one reference region of the current block's sub-block is determined or obtained based on the prediction mode corresponding to the gradient histogram, area histogram, and / or usage count histogram of the adjacent blocks of the current block's sub-block. The gradient histogram is used to describe the gradient magnitude distribution of pixels in the reference region of the current block and / or its sub-blocks in different prediction modes in the corresponding directions. The area histogram is used to describe the distribution of area magnitudes of at least one adjacent coded block and / or non-adjacent coded block of the current block and / or its sub-blocks in different prediction modes in the corresponding directions. The histogram of the number of times an encoded image patch is used to describe the frequency distribution of different prediction modes in the encoded image patch.

2. The processing method as described in claim 1, characterized in that, Candidate patterns are also determined or obtained based on at least one of the following: The prediction modes corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-position blocks, and / or encoded image blocks at preset positions of the current block; The prediction modes corresponding to the adjacent blocks, non-adjacent blocks, co-located blocks, and / or encoded image blocks at preset positions of the current block's sub-blocks; The prediction mode corresponding to the sub-blocks of the current block's neighboring blocks, non-adjacent blocks, co-located blocks, and / or coded image blocks at preset positions.

3. The processing method as described in claim 2, characterized in that, Pattern matching information also includes at least one of the following: First matching information related to at least one reference region of the current block, determined or obtained based on the prediction mode corresponding to the sub-blocks, adjacent blocks, non-adjacent blocks, co-located blocks and / or encoded image blocks at preset positions of the current block; The second matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the neighboring blocks, non-neighboring blocks, co-located blocks and / or encoded image blocks at preset positions of the sub-block of the current block. The third matching information related to at least one reference region of the current block is determined or obtained based on the prediction mode corresponding to the sub-blocks of the coded image blocks at preset positions, which are adjacent blocks, non-adjacent blocks, co-located blocks, and / or pre-defined positions of the current block. The fourth matching information related to at least one reference region of the sub-block of the current block is determined or obtained based on the prediction mode corresponding to the sub-blocks of the adjacent blocks, non-adjacent blocks, co-located blocks and / or coded image blocks at preset positions of the sub-block of the current block.

4. The processing method as described in claim 2, characterized in that, Based on pattern matching information related to at least one reference region of the current block and / or pattern matching information related to at least one reference region of the current block's sub-blocks, candidate patterns are determined or obtained, including at least one of the following: Candidate patterns are determined or obtained based on the pattern sorting results associated with at least one pattern matching information; Based on the value range corresponding to at least one pattern matching information, determine or obtain candidate patterns; Candidate patterns are determined or obtained based on the comparison results between at least two values ​​corresponding to at least one pattern matching information.

5. The processing method as described in claim 4, characterized in that, The pattern list includes a first list and / or a second list, and / or, based on the pattern sorting results associated with at least one pattern matching information, candidate patterns are determined or obtained, including at least one of the following: Based on at least one first predicted pattern that is located within a preset sorting position and / or preset sorting range in the pattern sorting results, candidate patterns in the first list are determined or obtained. Based on at least one second prediction pattern that follows the first prediction pattern in the pattern sorting results, determine or obtain candidate patterns in the second list. Based on at least one third predicted pattern located outside the preset sorting position and / or preset sorting range in the pattern sorting results, determine or obtain candidate patterns in the second list. Candidate patterns in the second list are determined or obtained based on at least one fourth prediction pattern determined or obtained through the first prediction pattern.

6. The processing method as described in claim 2, characterized in that, The method of determining or obtaining the reference area includes at least one of the following: At least one reference region 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. Based on at least one of the following: neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks, determine or obtain at least one reference region; Determine or obtain at least one reference region based on at least one of the current block's width, height, block size, and block area; Based on the candidate motion vector or candidate block vector of the current block, determine or obtain at least one reference region; If the first information of the current block satisfies the first condition, then the reference region is the first reference region; If the first information of the current block does not meet the first condition, then the reference area is the second reference area; The first information includes at least one of the following: the current block's identifier information, syntax elements, instruction information, index about the list, the current block's aspect ratio, the range of width and height values, and the range of area values; The first reference region and the second reference region are different; The first reference region includes at least one of the following: At least one reference region 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. Based on at least one of the following: neighboring blocks, non-neighboring blocks, co-located blocks, temporal blocks, and default blocks, determine or obtain at least one reference region; Determine or obtain at least one reference region based on at least one of the current block's width, height, block size, and block area; Based on the candidate motion vector or candidate block vector of the current block, determine or obtain at least one reference region.

7. The processing method as described in claim 6, characterized in that, The first information of the current block satisfies the first condition, including at least one of the following: The value of the first piece of information is the first numerical value; The value of the first piece of information is located within the first numerical range; The value of the first information is greater than or equal to the first threshold; The value of the first information is less than or equal to the second threshold.

8. The processing method as described in claim 2 or 3, characterized in that, The predictive model includes at least one of the following: Angle prediction mode; Non-angular prediction mode; Predictive derivation model.

9. A processing device, characterized in that, include: A memory and a 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 any one of claims 1 to 8.

10. A storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the steps of the processing method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Intra-frame prediction method, coding method, decoding method and device

    CN116074519A

  • Processing method, processing equipment and storage medium

    CN116668704A