Processing method, processing device, and storage medium

CN122603513APending Publication Date: 2026-08-18SHENZHEN TRANSSION HLDG CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480084188.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-10
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

In IntraTMP encoding technology, due to downsampling and search areas, better candidates may be missed during the search process, affecting the encoding and decoding efficiency and/or quality of the video image.

Method used

By obtaining candidates for the first list, determining candidates in the second list includes updating the intra-template matching candidate list, adjusting the search window size, and optimizing the candidate sorting and quantity based on the evaluation index information to improve the efficiency and quality of video image encoding and decoding.

Benefits of technology

By improving the candidates in the second list, the encoding and decoding efficiency and quality of the video image are improved, and the accuracy and efficiency of the encoding process are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122603513A_ABST
    Figure CN122603513A_ABST
Patent Text Reader

Abstract

The application provides a processing method, a processing device and a storage medium. The processing method comprises: determining a candidate in a second list according to a candidate in a first list. The application can improve the candidate in the second list according to the candidate in the first list, so that the second list contains more optimal candidates, thereby improving the video image coding efficiency and / or quality.
Need to check novelty before this filing date? Find Prior Art

Description

Processing method, processing device and storage medium Technical Field

[0001] The present application relates to the field of video coding technology, and in particular to a processing method, a processing device, and a storage medium. Background Art

[0002] IntraTMP (Intra Template Matching Prediction) is designed and introduced into video image coding and decoding technology based on the characteristics of image content to improve the coding and decoding efficiency and / or quality of video images.

[0003] During the process of conceiving and implementing this application, the inventors discovered that there are at least the following problems: in the IntraTMP encoding technology, due to downsampling and search area reasons, better candidates may be missed during the search process, thereby affecting the encoding and decoding efficiency and / or quality of the video image.

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

[0005] Summary of the Invention

[0006] In response to the above technical problems, the present application provides a processing method, a processing device and a storage medium, which aim to improve the efficiency and / or quality of video image encoding and decoding by obtaining better candidates in the IntraTMP search process.

[0007] This application provides a processing method, comprising the steps of:

[0008] S1. Determine candidate items in the second list based on the candidate items in the first list.

[0009] Optionally, the method further comprises at least one of the following:

[0010] The first list is a history-based motion vector candidate list;

[0011] The second list is an updated second list;

[0012] The second list is the intra-frame template matching candidate list;

[0013] The second list is determined or obtained based on the first template matching search;

[0014] Candidates are block vectors and / or motion vectors.

[0015] Optionally, the step S1 includes:

[0016] The candidate items in the second list are determined according to the candidate reference blocks corresponding to the candidate items in the first list.

[0017] Optionally, the step S1 includes:

[0018] The candidate items in the second list are determined according to the evaluation index information of the first candidate items in the first list that are different from the candidate items in the second list.

[0019] Optionally, the method further comprises at least one of the following:

[0020] Evaluation index information, including the sum of absolute errors and / or the sum of absolute errors after transformation;

[0021] The second list may be determined or obtained by at least one of the following methods:

[0022] Adding and / or inserting the first candidate item into the second list according to the ranking position of the evaluation index information of the first candidate item in the evaluation index information of each candidate item in the second list, so as to determine or obtain the second list;

[0023] According to the ranking position of the evaluation index information of the first candidate item in the evaluation index information set of the second list, the first candidate item is added and / or inserted into the second list to determine or obtain the second list.

[0024] Optionally, the method further comprises at least one of the following:

[0025] The evaluation index information set of the second list is a sorted set of evaluation index information of each candidate item in the second list;

[0026] According to the first candidate, add a second candidate in the second list;

[0027] reducing the second candidate in the second list based on the first candidate;

[0028] Based on the first candidate, the second candidate in the second list is changed.

[0029] Optionally, the method further includes:

[0030] Based on the second list, a second template matching search is performed.

[0031] Optionally, the method further includes:

[0032] The size of the search window corresponding to the second template matching search is adjusted according to the candidate items in the second list.

[0033] The present application also provides a processing device, comprising:

[0034] The processing module is configured to determine candidate items in the second list based on the candidate items in the first list.

[0035] The present application also provides a processing device, including: a memory and a processor, wherein a processing program is stored in the memory, and when the processing program is executed by the processor, the steps of any of the above processing methods are implemented.

[0036] The processing device in this application can be a smart terminal or a server.

[0037] The present application also provides a storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the processing methods described above are implemented.

[0038] As described above, the processing method of the present application includes: determining the candidate items in the second list based on the candidate items in the first list. Through the technical solution of the present application, the candidate items in the second list can be improved based on the candidate items in the first list, so that the second list contains more preferred candidate items, thereby improving the efficiency and / or quality of video image encoding and decoding. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The accompanying drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for describing the embodiments. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without inventive work.

[0040] FIG1 is a schematic diagram of the hardware structure of a mobile terminal for implementing various embodiments of the present application;

[0041] FIG2 is a diagram of a communication network system architecture provided by an embodiment of the present application;

[0042] FIG3 is a schematic flow chart of a processing method according to the first embodiment;

[0043] FIG4 is a schematic diagram of IBC encoding according to the first embodiment;

[0044] FIG5 is a schematic diagram of IntraTMP encoding according to the first embodiment;

[0045] FIG6 is a schematic diagram of a predefined template according to the first embodiment;

[0046] FIG7 is a schematic diagram of a candidate list construction process according to the second embodiment;

[0047] FIG8 is a module diagram illustrating a processing device according to an embodiment of the present application.

[0048] The purpose of this application, its features, and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings. The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and the accompanying text are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of this application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION

[0049] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.

[0050] It should be noted that, in this document, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context of the specific embodiment.

[0051] It should be understood that although the terms "first," "second," "third," etc. may be used herein to describe various information, such information should not be limited to these terms. These terms are used solely to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the term "if," as used herein, may be interpreted as "upon," "when," or "in response to a determination." Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context indicates otherwise. It should be further understood that the terms "comprising" and "including" indicate the presence of the recited features, steps, operations, elements, components, items, types, and / or groups, but do not preclude the presence, occurrence, or addition of one or more other features, steps, operations, elements, components, items, types, and / or groups. The terms "or," "and / or," "including at least one of the following," etc., as used herein, may be interpreted as inclusive, meaning any one or any combination. For example, “comprising at least one of the following: A, B, C” means “any of the following: A; B; C; A and B; A and C; B and C; A and B and C”; and for another example, “A, B or C” or “A, B and / or C” means “any of the following: A; B; C; A and B; A and C; B and C; A and B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or operations are inherently mutually exclusive in some manner.

[0052] It should be understood that, although the various steps in the flowchart in the embodiment of the present application are shown in sequence according to the indication of the arrows, these steps are not necessarily performed in sequence in the order indicated by the arrows. Unless clearly stated herein, the execution of these steps is not strictly limited in order, and they can be performed in other orders. Moreover, some of the steps in the figure may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and their execution order is not necessarily performed in sequence, but can be performed in turn or alternately with other steps or sub-steps of other steps or parts of stages.

[0053] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.

[0054] It should be noted that in this article, step codes such as S10 and S20 are used for the purpose of expressing the corresponding content more clearly and concisely, and do not constitute a substantial limitation on the order. When implementing the step, those skilled in the art may execute S20 first and then S10, etc., but these should all be within the scope of protection of this application.

[0055] It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application.

[0056] In the subsequent description, the use of suffixes such as "module", "component" or "unit" to represent elements is only for the purpose of facilitating the description of the present application and has no specific meaning. Therefore, "module", "component" or "unit" can be used interchangeably.

[0057] The processing device in this application can be a smart terminal or a server. The smart terminal can be implemented in various forms. For example, the smart terminal described in this application can include smart terminals such as mobile phones, tablet computers, laptop computers, PDAs, portable media players (PMPs), navigation devices, wearable devices, smart bracelets, pedometers, etc., as well as fixed terminals such as digital TVs and desktop computers.

[0058] The subsequent description will be made by taking a mobile terminal as an example. It will be understood by those skilled in the art that, in addition to components specifically used for mobile purposes, the configuration according to the embodiments of the present application can also be applied to fixed-type terminals.

[0059] Please refer to Figure 1, which is a schematic diagram of the hardware structure of a mobile terminal for implementing various embodiments of the present application. The mobile terminal 100 may include components such as an RF (Radio Frequency) unit 101, a WiFi module 102, an audio output unit 103, an A / V (Audio / Video) input unit 104, a sensor 105, a display unit 106, a user input unit 107, an interface unit 108, a memory 109, a processor 110, and a power supply 111. Those skilled in the art will understand that the mobile terminal structure shown in Figure 1 does not limit the mobile terminal. The mobile terminal may include more or fewer components than shown, or may combine certain components, or arrange the components differently.

[0060] The following is a detailed introduction to the various components of the mobile terminal in conjunction with Figure 1:

[0061] The RF unit 101 can be used to send and receive information or receive signals during calls. Specifically, it receives downlink information from the base station and transmits it to the processor 110 for processing. It also transmits uplink data to the base station. Typically, the RF unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and more. Furthermore, the RF unit 101 can communicate with the network and other devices via wireless communication. The above-mentioned wireless communications can use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA2000 (Code Division Multiple Access 2000), WCDMA (Wideband Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access), FDD-LTE (Frequency Division Duplexing-Long Term Evolution), TDD-LTE (Time Division Duplexing-Long Term Evolution), 5G and 6G, etc.

[0062] WiFi is a short-range wireless transmission technology. A mobile terminal, through WiFi module 102, enables users to send and receive emails, browse web pages, and access streaming media, providing wireless broadband Internet access. Although FIG1 illustrates WiFi module 102, it is understood that it is not a required component of the mobile terminal and can be omitted as needed without altering the essence of the invention.

[0063] The audio output unit 103 can convert audio data received by the RF unit 101 or the WiFi module 102 or stored in the memory 109 into an audio signal and output it as sound when the mobile terminal 100 is in a call signal reception mode, a talk mode, a recording mode, a voice recognition mode, a broadcast reception mode, or the like. Furthermore, the audio output unit 103 can also provide audio output related to a specific function performed by the mobile terminal 100 (e.g., a call signal reception sound, a message reception sound, etc.). The audio output unit 103 may include a speaker, a buzzer, or the like.

[0064] The A / V input unit 104 is used to receive audio or video signals. The A / V input unit 104 may include a graphics processing unit (GPU) 1041 and a microphone 1042. The GPU 1041 processes image data of still images or videos captured by an image capture device (e.g., a camera) in video capture mode or image capture mode. The processed image frames may be displayed on the display unit 106. The image frames processed by the GPU 1041 may be stored in the memory 109 (or other storage medium) or transmitted via the RF unit 101 or the WiFi module 102. The microphone 1042 may receive sound (audio data) in operating modes such as a phone call mode, a recording mode, and a voice recognition mode, and may process such sound into audio data. In the phone call mode, the processed audio (voice) data may be converted into a format that can be transmitted to a mobile communication base station via the RF unit 101. The microphone 1042 may implement various types of noise cancellation (or suppression) algorithms to eliminate (or suppress) noise or interference generated during the reception and transmission of audio signals.

[0065] The mobile terminal 100 also includes at least one sensor 105, such as a light sensor, a motion sensor, and other sensors. Optionally, the light sensor includes an ambient light sensor and a proximity sensor. Optionally, the ambient light sensor can adjust the brightness of the display panel 1061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 1061 and / or the backlight when the mobile terminal 100 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that can be configured in the mobile phone, such as fingerprint sensors, pressure sensors, iris sensors, molecular sensors, gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described here.

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

[0067] The user input unit 107 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the mobile terminal. Optionally, the user input unit 107 may include a touch panel 1071 and other input devices 1072. The touch panel 1071, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any other suitable object or accessory on or near the touch panel 1071) and drive the corresponding connection device according to a pre-set program. The touch panel 1071 may include two parts: a touch detection device and a touch controller. Optionally, the touch detection device detects the user's touch direction and detects the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into touch point coordinates, which are then sent to the processor 110. It can also receive commands sent by the processor 110 and execute them. In addition, the touch panel 1071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1071, the user input unit 107 may further include other input devices 1072. Optionally, the other input devices 1072 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, a joystick, etc., and the specifics are not limited here.

[0068] Optionally, the touch panel 1071 may overlay the display panel 1061. When the touch panel 1071 detects a touch operation on or near it, it transmits the information to the processor 110 to determine the type of touch event. The processor 110 then provides a corresponding visual output on the display panel 1061 based on the type of touch event. Although in FIG1 , the touch panel 1071 and the display panel 1061 are shown as two separate components to implement the input and output functions of the mobile terminal, in some embodiments, the touch panel 1071 and the display panel 1061 may be integrated to implement the input and output functions of the mobile terminal, which is not limited to this specific embodiment.

[0069] The interface unit 108 serves as an interface through which at least one external device can be connected to the mobile terminal 100. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 108 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the mobile terminal 100 or may be used to transmit data between the mobile terminal 100 and an external device.

[0070] Memory 109 can be used to store software programs and various data. Memory 109 may primarily include a program storage area and a data storage area. Optionally, the program storage area may store an operating system and at least one application required for a function (such as a sound playback function or an image playback function); the data storage area may store data generated based on the use of the mobile phone (such as audio data, a phone book, etc.). Furthermore, memory 109 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0071] Processor 110 is the control center of the mobile terminal, connecting all components of the mobile terminal using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 109 and accessing data stored in memory 109, it executes various functions of the mobile terminal and processes data, thereby providing overall monitoring of the mobile terminal. Processor 110 may include one or more processing units; preferably, processor 110 may integrate an application processor and a modem processor. Optionally, the application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 110.

[0072] The mobile terminal 100 may also include a power supply 111 (such as a battery) for supplying power to various components. Preferably, the power supply 111 may be logically connected to the processor 110 through a power management system, thereby managing functions such as charging, discharging, and power consumption through the power management system.

[0073] Although not shown in FIG. 1 , the mobile terminal 100 may further include a Bluetooth module, etc., which will not be described in detail here.

[0074] To facilitate understanding of the embodiments of the present application, the communication network system on which the mobile terminal of the present application is based is described below.

[0075] Please refer to Figure 2, which is a communication network system architecture diagram provided in an embodiment of the present application. The communication network system is an LTE system of universal mobile communication technology. The LTE system includes a UE (User Equipment) 201, an E-UTRAN (Evolved UMTS Terrestrial Radio Access Network) 202, an EPC (Evolved Packet Core) 203 and an operator's IP service 204, which are connected in sequence.

[0076] Optionally, UE201 may be the above-mentioned terminal 100, which will not be described in detail here.

[0077] E-UTRAN 202 includes eNodeB 2021 and other eNodeBs 2022 . Optionally, eNodeB 2021 may be connected to other eNodeBs 2022 via a backhaul (eg, an X2 interface). eNodeB 2021 is connected to EPC 203 , and eNodeB 2021 may provide access from UE 201 to EPC 203 .

[0078] EPC 203 may include an MME (Mobility Management Entity) 2031, an HSS (Home Subscriber Server) 2032, other MMEs 2033, an SGW (Serving Gate Way) 2034, a PGW (PDN Gate Way) 2035, and a PCRF (Policy and Charging Rules Function) 2036. Optionally, MME 2031 is a control node that processes signaling between UE 201 and EPC 203, providing bearer and connection management. HSS 2032 provides registers for managing functions such as the Home Location Register (not shown) and stores user-specific information such as service features and data rates. All user data can be sent through SGW2034, PGW2035 can provide IP address allocation and other functions for UE 201, PCRF2036 is the policy and charging control policy decision point for service data flow and IP bearer resources, and it selects and provides available policy and charging control decisions for the policy and charging execution function unit (not shown in the figure).

[0079] The IP service 204 may include the Internet, an intranet, an IMS (IP Multimedia Subsystem), or other IP services.

[0080] Although the above introduction takes the LTE system as an example, those skilled in the art should know that this application is not only applicable to the LTE system, but can also be applied to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, 5G and future new network systems (such as 6G), etc., which are not limited here.

[0081] Based on the above-mentioned mobile terminal hardware structure and communication network system, various embodiments of the present application are proposed.

[0082] First embodiment

[0083] 3 , which is a flow chart of a processing method according to a first embodiment, the processing method of the embodiment of the present application includes the following steps:

[0084] S1: Determine candidate items in the second list based on the candidate items in the first list.

[0085] The technical solution of this embodiment can be applied to the fields of image coding, video coding, hardware video coding, dedicated circuit video coding, real-time video coding, and so on.

[0086] Optionally, for ease of understanding, a brief introduction to the coding architecture is first provided. Within the coding framework, the intra-frame prediction module can predict a block to be predicted by referencing an already-encoded image block in the image frame to be encoded (the current image), thereby outputting a prediction block corresponding to the block to be predicted. Furthermore, the inter-frame prediction module can perform inter-frame prediction on the block to be predicted by referencing an already-encoded image block in the encoded image, thereby outputting a prediction block corresponding to the block to be predicted. The residual unit can calculate a residual block, i.e., the difference between the predicted pixel values ​​and the original pixel values ​​of the original image block corresponding to the block to be predicted, based on the predicted pixel values ​​of the prediction block and the original pixel values ​​of the original image block corresponding to the block to be predicted. This residual block can also be referred to as residual information. This residual block undergoes transformation and quantization by the transform and quantization unit, thereby removing information that is insensitive to the human eye and eliminating visual redundancy. Optionally, the residual block before transformation and quantization by the transform and quantization unit can be referred to as a time-domain residual block, and the time-domain residual block after transformation and quantization by the transform and quantization unit can be referred to as a frequency residual block or a frequency-domain residual block. After receiving the quantized change coefficient output by the change quantization unit, the header information encoding unit or the entropy encoding unit may output a target bitstream based on the quantized change coefficient and the intra-frame prediction data output by the intra-frame estimation unit and the intra-frame prediction unit or the motion data output by the motion compensation unit and the motion estimation unit. For example, the header information encoding unit or the entropy encoding unit may eliminate character redundancy based on the target context model and the probability information of the binary bitstream. For example, the header information encoding unit or the entropy encoding unit may be used for context-based adaptive binary arithmetic entropy coding (CABAC).

[0087] Optionally, in the encoding architecture, the input frame is segmented into at least one image block at the encoder end. Each image block (e.g., the block to be predicted) is subtracted from the prediction block obtained by the prediction mode to produce a residual block. The residual block is then transformed and quantized before being encoded by an entropy encoder. Finally, a coded bitstream is formed. The transformed and quantized residual block is then added to the corresponding prediction block obtained by the prediction mode to produce a reconstructed block. This reconstructed block is then loop-filtered to reduce distortion.

[0088] Optionally, during the intra-frame prediction process, the intra-frame prediction module may determine the candidate items in the second list according to the candidate items in the first list.

[0089] Optionally, the candidate item may be at least one of an image block obtained through search, position information, search area information, and a block vector.

[0090] Optionally, step S1 may be performed at the encoding side.

[0091] Optionally, the number of candidate items in the first list is at least one.

[0092] Optionally, the number of candidate items in the second list is at least one.

[0093] Optionally, the candidate items in the first list and the candidate items in the second list may be the same or different.

[0094] In this embodiment, the candidate items in the second list are improved based on the candidate items in the first list so that the second list contains more excellent candidate items, thereby improving the encoding and decoding efficiency and / or quality of the video image.

[0095] Optionally, the processing method in this embodiment may include at least one of the following methods 1 to 5:

[0096] Method 1: the first list is a motion vector candidate list based on history;

[0097] Optionally, determining an image block encoded using an IBC (Intra-Frame Block Copy) encoding technology, obtaining a block vector of the image block and adding it as a new candidate to the HMVP list;

[0098] Optionally, for a block to be coded / predicted that will be coded / decoded in the future, the aforementioned image block is the current block / the block to be predicted being processed. That is, the block vector of the current block or the block to be predicted being processed can be obtained and added to the HMVP list as a new subsequent item for use in coding / predicting the block to be coded / predicted in the future.

[0099] Optionally, the block vector is a vector pointing from the current block to the reference block.

[0100] To facilitate understanding, a brief introduction to IBC coding technology is provided. Refer to the IBC coding diagram shown in Figure 4. IBC is similar to inter-frame prediction, but its prediction blocks are generated from reconstructed blocks in the current coded image frame. The encoder performs motion search to implement block matching (BM) to find the optimal BV (block vector) for each CU (coding unit). A block vector is a vector pointing from the current block to the reference block.

[0101] Optionally, an image block to be encoded using the IBC encoding technology is determined, and a reference block pointed to by a block vector of the image block is added to the HMVP list as a new candidate for subsequent encoding and decoding of the block to be predicted.

[0102] Optionally, an image block encoded using an IntraTMP (Intra Template Matching Prediction) encoding technique is determined, and a block vector of the image block is obtained and added to an HMVP list as a new candidate for subsequent encoding and decoding of the block to be predicted.

[0103] Optionally, for ease of understanding, a brief introduction to the IntraTMP coding technology is provided: Referring to the IntraTMP coding schematic diagram shown in FIG5 , the search area is divided into four different areas: R1 directly above, R2 to the left of the current CTU (Coding Tree Unit), R3 to the left, and R4 above the current CTU, including reconstructed samples of the top and left CTUs, and partial reconstructed samples above and to the left of the current block within the current CTU. The maximum horizontal and vertical search sizes are set to max(5W, 64) and max(5H, 64), respectively, where W and H are the width and height of the current coding block. Template matching is performed on the predefined search area in a preset area scanning order to obtain a candidate list specified by its block vector, and the reference block pointed to by the block vector with the lowest template matching cost is selected as the prediction block of the current block.

[0104] Optionally, an image block encoded using the IntraTMP encoding technology is determined, and a reference block pointed to by a block vector of the image block is added to the HMVP list as a new candidate for subsequent encoding and decoding of the block to be predicted.

[0105] Optionally, determine the image block encoded using the IBC encoding technology, determine the image block encoded using the IntraTMP encoding technology, obtain the block vector of the IBC-encoded image block and the block vector of the IntraTMP-encoded image block, and add them together as new candidates to the HMVP list for subsequent encoding and decoding processing of the predicted block.

[0106] Optionally, determine the image block encoded using the IBC encoding technology, determine the image block encoded using the IntraTMP encoding technology, obtain the reference block pointed to by the block vector of the IBC-encoded image block, and the reference block pointed to by the block vector of the IntraTMP-encoded image block, and add them together as new candidates to the HMVP list for subsequent encoding and decoding processing of the predicted block.

[0107] Optionally, the image block whose block vector is obtained and added as a new candidate to the HMVP list is the current block or the block being processed to be predicted. Through any of the above methods, the block vector determined by the current block or the block being processed to be predicted is added to the HMVP list for use in encoding and decoding of subsequent blocks to be predicted. In one embodiment, the HMVP list is used to determine an intra template matching candidate list corresponding to subsequent blocks to be predicted.

[0108] Optionally, the image block whose block vector is obtained and added as a new candidate to the HMVP list can be an already encoded image block in an already encoded region of the current encoded image frame. The already encoded image block is a block to be predicted that was coded and decoded in the past. Optionally, for the current block or block to be predicted that is currently being coded and decoded, the aforementioned image block is an already encoded image block in the current encoded image frame. At the current moment, the current block is coded and decoded using the HMVP list determined based on the block vector in the already encoded image block. In one embodiment, the HMVP list is used to determine an intra-frame template matching candidate list corresponding to the current block / block to be predicted being processed.

[0109] Optionally, the history-based motion vector candidate list has a preset length. In one implementation, the preset length is 25.

[0110] Optionally, an image block to be encoded using the IBC encoding technology is determined, and a block vector of the image block is obtained and added to the end of the HMVP list as a new candidate.

[0111] Optionally, an image block to be encoded using the IBC encoding technology is determined, and a block vector corresponding to the reference block is added to the end of the HMVP list as a new candidate.

[0112] Optionally, an image block encoded by adopting the IntraTMP encoding technology is determined, and a block vector of the image block is obtained and added as a new candidate to the end of the HMVP list.

[0113] Optionally, an image block to be encoded using the IntraTMP encoding technology is determined, and a block vector corresponding to the reference block is added to the end of the HMVP list as a new candidate.

[0114] Optionally, when adding a new candidate to the history-based motion vector candidate list, if the new candidate to be added duplicates an existing candidate in the list, the new candidate does not need to be added to the end of the HMVP list.

[0115] Optionally, the history-based motion vector candidate list can further count the number of times the candidates in the list have been used historically. For example, when adding a new candidate to the history-based motion vector candidate list, if the new candidate to be added overlaps with an existing candidate in the list, the number of times the candidate has been used is incremented by 1.

[0116] Optionally, the order of the candidates in the history-based motion vector candidate list may be adjusted according to the number of times they are used.

[0117] Optionally, the maximum length of the list is maintained at a preset length according to the first-in-first-out principle. If the number of candidates in the list exceeds the preset length after adding new candidates, the candidate at the front of the list, that is, the candidate first added to the list, is deleted. This ensures that the last candidate added to the HMVP list is the motion information of the immediately preceding coded block.

[0118] Method 2: the second list is an updated second list;

[0119] Optionally, the second list is a list obtained by updating the intra-frame template matching candidate list.

[0120] Optionally, the second list may be updated by increasing, decreasing and / or changing the candidate items in the intra-frame template matching candidate list.

[0121] Optionally, the second list is an updated list obtained by determining the candidate items in the second list based on the candidate items in the first list.

[0122] Method 3: the second list is the intra-frame template matching candidate list;

[0123] Optionally, sparse sampling is performed within a preset search area to obtain an intra-frame template matching candidate list. Optionally, a 3x downsampling search can be performed within a predefined search area to obtain an intra-frame template matching candidate list.

[0124] Optionally, sparse sampling is performed in a preset search area, and template matching is performed on the sampling points in the predefined search area according to a preset area scanning order to obtain an intra-frame template matching candidate list.

[0125] Optionally, sparse sampling is performed within a preset search area, and template matching is performed on the sampled points within the predefined search area according to a preset area scanning order. A preset number of candidates are obtained based on template matching evaluation metrics to obtain an intra-frame template matching candidate list. Optionally, the evaluation metric information includes a sum of absolute errors and / or a transformed sum of absolute errors. Optionally, the preset number is 30.

[0126] Optionally, the evaluation index information may be a function value of SAD and SATD, for example, a weighted sum of the two (2*SAD+SATD) or min(2*SAD, SATD) may be used as the evaluation index.

[0127] Method 4: The second list is determined or obtained by searching and matching the first template;

[0128] Optionally, the predefined template is composed of reconstructed neighboring pixels of the current coding block. Optionally, referring to the schematic diagram of the predefined template shown in FIG6 , the predefined template can be divided into three types: an inverted L-shaped template, an upper template, and a left template. Optionally, the template matching cost is the SAD (Sum of Absolute Differences) between the current block template and the reference block template. Optionally, the absolute difference of corresponding pixels in the two templates is calculated, and then the absolute differences of all pixels in the templates are added to obtain the SAD between the current block template and the reference block template.

[0129] Optionally, template matching of predefined templates is performed on a predefined search area in a preset area scanning order to obtain a candidate list specified by its block vector.

[0130] Optionally, based on the first template matching search, a second list is determined or obtained. Furthermore, based on the candidate items in the first list mentioned in the aforementioned embodiment, the candidate items in the updated second list are determined. Thereafter, a second template matching search is performed based on the updated second list. According to one embodiment of the present invention, the candidate items in the first list are placed in the second list to determine the updated second list. If the search range corresponding to the placed candidate items exceeds the size of the search window corresponding to the second template matching search, the size of the search window corresponding to the second template matching search is adjusted. For example, if the size of the search window corresponding to the second template matching search is axa and is smaller than the search range corresponding to the placed candidate items, the size of the search window corresponding to the second template matching search is set to bxb. a, b are integers, and a <b。

[0131] Method 5: the candidate items are block vectors and / or motion vectors.

[0132] Optionally, step S1 includes:

[0133] The candidate items in the second list are determined according to the candidate reference blocks corresponding to the candidate items in the first list.

[0134] Optionally, the candidate items in the second list are determined based on the block vectors corresponding to the candidate items in the first list. For example, the block vector of the current block is determined based on the candidate items in the first list, and the candidate items in the second list are determined based on the block vectors for subsequent encoding and decoding of the image blocks.

[0135] Optionally, according to the block vectors corresponding to the IBC coding technology in the first list, the candidate items in the second list are determined according to the block vectors.

[0136] Optionally, according to the block vectors corresponding to the IntraTMP coding technology in the first list, the candidate items in the second list are determined according to the block vectors.

[0137] Optionally, according to the block vectors between the image blocks in the first list that are encoded using the IBC encoding technology and the IntraTMP encoding technology and the current block, the candidate items in the second list are determined according to the block vectors.

[0138] Through the technical solution of this embodiment, the candidates in the second list can be improved based on the candidates in the first list, so that the second list contains more excellent candidates, thereby improving the video image encoding and decoding efficiency and / or quality.

[0139] Second embodiment

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

[0141] In this embodiment, step S1 includes:

[0142] The candidate items in the second list are determined according to the evaluation index information of the first candidate items in the first list that are different from the candidate items in the second list.

[0143] Optionally, candidate items in the first list that are not repeated with candidate items in the second list are taken as first candidate items, and the candidate items in the second list are determined according to the evaluation index information of the first candidate items.

[0144] Optionally, a pending candidate item is selected in the first list, and the selected pending candidate item is traversed and compared with the candidates in the second list. When the selected pending candidate item is different from the candidates in the second list, the selected pending candidate item is used as the first candidate item, and the candidate items in the second list are determined based on the evaluation index information of the first candidate item.

[0145] Optionally, starting from the first candidate item in the first list, the pending candidates are selected in sequence until the last candidate item in the first list.

[0146] Optionally, a pending candidate item is selected in the second list, and the selected pending candidate item is traversed and compared with the candidate items in the first list. When the selected pending candidate item is identical to the candidate item in the first list, the candidate item in the first list that is identical to the selected pending candidate item is deleted.

[0147] Optionally, starting from the first candidate item in the second list, undetermined candidates are selected in sequence until the last candidate item in the second list.

[0148] Optionally, the remaining candidate items after deleting the candidate items in the first list that are identical to the selected pending candidate item are used as the first candidate items, and the candidate items in the second list are determined based on the evaluation index information of the first candidate items.

[0149] Optionally, the evaluation index information includes the sum of absolute errors and / or the sum of absolute errors after transformation.

[0150] Optionally, the SAD is the Sum of Absolute Difference (SAD) between the L-shaped template of the current block and the L-shaped template of the block pointed to by the candidate in the current frame image, that is, the absolute difference of corresponding pixels in the two templates is first calculated, and then the absolute differences of all pixels in the templates are added.

[0151] Optionally, the transformed absolute error sum is the sum of the absolute values ​​of the errors after transformation between the L-shaped template of the current block and the L-shaped template of the block pointed to by the candidate in the current frame image (Sum of Absolute Transformed Difference, SATD), that is, the difference between the corresponding pixels in the two templates is first calculated, and then the difference is subjected to Hadamard transformation, and then the transformed absolute values ​​are added.

[0152] Optionally, the evaluation index information may be a function value of SAD and SATD, for example, a weighted sum of the two (2*SAD+SATD) or min(2*SAD, SATD) may be used as the evaluation index.

[0153] Optionally, the candidate items in the second list are determined based on the sum of absolute errors corresponding to first candidate items in the first list that are different from the candidate items in the second list.

[0154] Optionally, the candidate items in the second list are determined based on the transformed absolute error sums corresponding to first candidate items in the first list that are different from the candidate items in the second list.

[0155] Optionally, the candidate items in the second list are determined based on the absolute error sums corresponding to first candidate items in the first list that are different from the candidate items in the second list and the transformed absolute error sums.

[0156] Optionally, the comparison priority of the absolute error sum is higher, and the absolute error sum is compared first.

[0157] Optionally, the comparison priority of the absolute error sum after transformation is higher, and the absolute error sum after transformation is compared first.

[0158] Optionally, in the processing method of this embodiment, the second list may be determined or obtained in the following manner:

[0159] Method 1: adding and / or inserting the first candidate item into the second list according to the ranking position of the evaluation index information of the first candidate item in the evaluation index information of each candidate item in the second list, so as to determine or obtain the second list;

[0160] Optionally, the first candidate item is added and / or inserted into the second list according to the absolute error of the first candidate item and the ranking position in the evaluation index information of each candidate item in the second list, so as to determine or obtain the second list.

[0161] Optionally, the first candidate item is added and / or inserted into the second list according to the transformed absolute error of the first candidate item and the ranking position in the evaluation index information of each candidate item in the second list to determine or obtain the second list.

[0162] Optionally, based on the absolute error of the first candidate item and the ranking position in the evaluation index information of each candidate item in the second list, the ranking position is used as the target position for adding and / or inserting the first candidate item into the second list, and the first candidate item is added and / or inserted into the second list at the target position to determine or obtain the second list.

[0163] Optionally, based on the transformed absolute error of the first candidate item and the ranking position in the evaluation index information of each candidate item in the second list, the ranking position is used as the target position for adding and / or inserting the first candidate item into the second list, and the first candidate item is added and / or inserted into the second list at the target position to determine or obtain the second list.

[0164] Optionally, when the number of candidate items in the second list is less than a preset number of candidate items in the second list, the first candidate item is added to the second list to determine or obtain the second list; and / or, when the number of candidate items in the second list is greater than or equal to a preset number of candidate items in the second list, the first candidate item is inserted into the second list to determine or obtain the second list. Optionally, the preset number is 30.

[0165] Optionally, when the number of candidate items in the second list is less than the preset number of candidate items in the second list, the first candidate item is added to the target position in the second list to determine or obtain the second list; and / or, when the number of candidate items in the second list is greater than or equal to the preset number of candidate items in the second list, the first candidate item is inserted into the target position in the second list to determine or obtain the second list.

[0166] Optionally, the first candidate item is added and / or inserted into the second list according to the ranking position of the evaluation index information of the first candidate item in the evaluation index information of each candidate item in the second list, so as to determine or obtain an updated second list.

[0167] Optionally, if the evaluation index information of the first candidate item is less than the minimum value of the evaluation index information of each candidate item in the second list, the step of adding and / or inserting the first candidate item into the second list is not performed. Optionally, the second list is determined or obtained to be the original second list.

[0168] Optionally, the first candidate item in the first list is added and / or inserted into the second candidate list to supplement the candidate items that are not searched during the construction of the second candidate list.

[0169] Optionally, the candidate items corresponding to the worst evaluation index information (the transformed absolute error sum and / or the absolute error sum) in the second list may be deleted to meet the preset data requirements of the candidate items in the second list.

[0170] Method 2: adding and / or inserting the first candidate item into the second list according to the ranking position of the evaluation index information of the first candidate item in the evaluation index information set of the second list, so as to determine or obtain the second list.

[0171] Optionally, the evaluation index information set of the second list is constructed according to the evaluation index information of each candidate item in the second list.

[0172] Optionally, the ranking position of each candidate item in the second list is determined according to the size of the evaluation index information of each candidate item in the evaluation index information set of the second list.

[0173] Optionally, the ranking position of the evaluation index information of each candidate item in the evaluation index information set of the second list is the same as the ranking position of each candidate item in the second list.

[0174] Optionally, an updated evaluation index information set of the second list is determined according to the updated candidate items in the updated second list.

[0175] Optionally, the first candidate item is added and / or inserted into the second list according to the absolute error of the first candidate item and the ranking position in the evaluation index information set of the second list, so as to determine or obtain the second list.

[0176] Optionally, the first candidate item is added and / or inserted into the second list according to the transformed absolute error of the first candidate item and the ranking position in the evaluation index information set of the second list, so as to determine or obtain the second list.

[0177] Optionally, based on the evaluation index information of the first candidate item, traverse each evaluation index information in the evaluation index information set of the second list, determine the sorting position of the first candidate item in the evaluation index information set of the second list, add and / or insert the first candidate item into the second list to determine or obtain the second list.

[0178] Optionally, according to the ranking position of the evaluation index information of the first candidate item in the evaluation index information set of the second list, the first candidate item is added and / or inserted into the second list to determine or obtain an updated second list.

[0179] Optionally, if the evaluation index information of the first candidate item is less than the minimum value in the evaluation index information set of the second list, the step of adding and / or inserting the first candidate item into the second list is not performed. Optionally, the second list is determined or obtained to be the original second list.

[0180] Optionally, the evaluation index information set in the second list is a sorted set of evaluation index information of each candidate item in the second list.

[0181] Optionally, the processing method in this embodiment may include at least one of the following methods 1 to 3:

[0182] Method 1: Based on the first candidate, add the second candidate in the second list;

[0183] Optionally, the second candidate item added to the second list is the first candidate item.

[0184] Optionally, the number of candidate items in the second list is less than a preset number of candidate items in the second list.

[0185] Optionally, after the first candidate item is added to the second list, the number of candidate items in the second list is at most equal to a preset number of candidate items in the second list.

[0186] Method 2: based on the first candidate, reduce the second candidate in the second list;

[0187] Optionally, the second candidate item added to the second list is the first candidate item.

[0188] Optionally, the number of candidate items in the second list is equal to a preset number of candidate items in the second list.

[0189] Optionally, before or after adding the first candidate item to the second list, the candidate item ranked last in the original second list may be reduced. Alternatively, before or after adding the first candidate item to the second list, the candidate item in the second list corresponding to the worst evaluation index information (transformed absolute error sum and / or absolute error sum) may be deleted to meet the preset data requirements of the candidate items in the second list.

[0190] Optionally, each candidate item after the sorting position of the first candidate item in the second list is moved backward by one position according to the original sorting order.

[0191] Optionally, the first candidate item and each candidate item after the first candidate item's sorting position in the second list are sorted according to the evaluation index information to obtain a second list, optionally, to obtain an updated second list, and optionally, to obtain a set of evaluation index information of the second list.

[0192] Method three: change the second candidate item in the second list according to the first candidate item.

[0193] Optionally, the second candidate item added to the second list is the first candidate item.

[0194] Optionally, the number of candidate items in the second list is equal to a preset number of candidate items in the second list.

[0195] Optionally, after adding the first candidate item to the second list, the first candidate item and each candidate item in the second list are sorted according to the evaluation index information to obtain a second list, so as to change part or all of the second candidate items in the original second list, optionally to obtain an updated second list, and optionally to obtain a set of evaluation index information of the second list.

[0196] Optionally, referring to the candidate list construction process diagram shown in Figure 7, obtain the candidate items in the first list, optionally, obtain the HMVP candidate items in the HMVP list; optionally, based on the obtained candidate items in the first list, traverse the second list, check whether the candidate items in the first list are repeated with the candidate items in the second list, optionally, based on the obtained candidate items, traverse the IntraTMP list, check whether the current HMVP candidate item is repeated with the candidate item in the IntraTMP list, optionally, if it is repeated, continue to traverse the next HMVP candidate item; optionally, determine the first candidate item in the first list that is not repeated with the candidate item in the second list, and calculate the SAD cost of the template matching of the first candidate item; optionally, determine the second list based on the calculated SAD cost, optionally determine the updated second list, optionally, insert the current HMVP candidate item into the appropriate sorting position in the second list; optionally, if the first candidate item is the last item in the first list, end the processing, optionally, if the current HMVP candidate item is not the last item in the first list, continue to process the next candidate item, and if the current HMVP candidate item is the last item in the first list, end the processing.

[0197] Step 1: Obtain a history-based HMVP list candidate set {MV1, MV2, ..., MVn} updated by the encoded IBC block and IntraTMP block, where n is the size of the HMVP list, which is a maximum of 25, and process these candidate items MVi (i = n, n-1, ... 1) one by one from back to front.

[0198] Step 2: Based on the HMVP candidate MVi obtained in step 1, traverse the sparse candidate list set {BV1, BV2, ..., BVm} constructed during the IntraTMP template matching process, and check whether the current HMVP candidate MVi is repeated with the candidate BVj (j = 1, ..., m) in the sparse candidate list. If repeated, return to step 1 and continue to traverse the next HMVP candidate MVi-1; and / or, if not repeated, proceed to step 3.

[0199] Step 3: Based on the candidate selected in step 2, calculate the absolute error and SADi of the template between it and the current coding block.

[0200] Step 4: According to the SADi calculated in step 3, compare it with the SAD set {SAD1, ..., SADm} corresponding to the sparse list, and insert the HMVP candidate MVi into the appropriate position in the sparse list according to the order of SAD from small to large, and update the SAD set at the same time.

[0201] Step 5: If the current HMVP candidate is not the last one in the HMVP list, return to step 1 to continue processing the next candidate MVi-1; if the current candidate is the last one in the HMVP list, end the process of adding HMVP candidates.

[0202] Optionally, the block vectors in the HMVP list include candidates that are not selected in the downsampling coarse search in the first stage of candidate list construction (downsampling coarse search of the specified area) and candidates outside the search area, which can bring better performance gains.

[0203] Optionally, by adding the candidates in the HMVP list into the sparse candidate list of the first stage of IntraTMP prediction, the candidate objects that have not been searched during the construction of the IntraTMP candidate list are supplemented, thereby improving the video image encoding and decoding efficiency and / or quality.

[0204] Through the technical solution of this embodiment, the candidates in the second list can be improved based on the candidates in the first list, so that the second list contains more excellent candidates, thereby improving the video image encoding and decoding efficiency and / or quality.

[0205] Third embodiment

[0206] Based on the first embodiment or the second embodiment, the third embodiment is proposed.

[0207] The processing method in this embodiment may further include:

[0208] Based on the second list, a second template matching search is performed.

[0209] Optionally, a second template matching search is performed based on the updated second list.

[0210] Optionally, a second template matching search of a preset size is performed according to the updated second list. Optionally, the preset size is 3*3.

[0211] Optionally, a second template matching search is performed based on the second list to obtain a final candidate list encoded using the IntraTMP encoding technology.

[0212] Optionally, the processing method in this embodiment includes:

[0213] The size of the search window corresponding to the second template matching search is adjusted according to the candidate items in the second list.

[0214] Optionally, the template matching search matches the L-shaped template with the reconstructed part of the current frame, and uses the corresponding block as the prediction value of the current block. For a predefined search range, the encoder searches for the template most similar to the current template in the reconstructed part of the current frame, and uses it as the prediction block of the current block. During the refinement search process, if the candidate is added from the HMVP list (first list) and its corresponding matching position is not within the existing search range, the size of the search window corresponding to the refinement search is adjusted. For example, when the above search range is the area represented by R1, R2, R3, and R4, and a newly added second list item is not within the range of the search area, the size of the search window is adjusted to 5x5.

[0215] Optionally, the size of the search window corresponding to the second template matching search is adjusted according to the candidate items in the second list to be larger than the size of the search window corresponding to the first template matching search.

[0216] Optionally, the size of the search window corresponding to the second template matching search is increased according to the candidate items in the second list.

[0217] Through the technical solution of this embodiment, the candidates in the second list can be improved based on the candidates in the first list, so that the second list contains more excellent candidates, thereby improving the video image encoding and decoding efficiency and / or quality.

[0218] The present application also provides a processing device, as shown in FIG8 . FIG8 is a schematic diagram of the functional modules of the processing device of the present application. The processing device can be mounted on or is the processing device in the above method embodiment. The processing device includes:

[0219] The processing module A10 is configured to determine candidate items in the second list based on the candidate items in the first list.

[0220] Optionally, the processing module A10 is further configured to perform at least one of the following:

[0221] The first list is a history-based motion vector candidate list;

[0222] The second list is an updated second list;

[0223] The second list is the intra-frame template matching candidate list;

[0224] The second list is determined or obtained based on the first template matching search;

[0225] Candidates are block vectors and / or motion vectors.

[0226] Optionally, the processing module A10 is further configured to determine candidate items in the second list according to candidate reference blocks corresponding to the candidate items in the first list.

[0227] Optionally, the processing module A10 is further configured to determine the candidate items in the second list according to evaluation index information of the first candidate items in the first list that are different from the candidate items in the second list.

[0228] Optionally, the processing module A10 is further configured to perform at least one of the following:

[0229] Evaluation index information, including the sum of absolute errors and / or the sum of absolute errors after transformation;

[0230] The second list may be determined or obtained by at least one of the following methods:

[0231] Adding and / or inserting the first candidate item into the second list according to the ranking position of the evaluation index information of the first candidate item in the evaluation index information of each candidate item in the second list, so as to determine or obtain the second list;

[0232] According to the ranking position of the evaluation index information of the first candidate item in the evaluation index information set of the second list, the first candidate item is added and / or inserted into the second list to determine or obtain the second list.

[0233] Optionally, the processing module A10 is further configured to perform at least one of the following:

[0234] The evaluation index information set of the second list is a sorted set of evaluation index information of each candidate item in the second list;

[0235] According to the first candidate, add a second candidate in the second list;

[0236] reducing the second candidate in the second list based on the first candidate;

[0237] Based on the first candidate, the second candidate in the second list is changed.

[0238] Optionally, the processing module A10 is further configured to perform a second template matching search according to the second list.

[0239] Optionally, the processing module A10 is further configured to adjust the size of a search window corresponding to the second template matching search according to the candidate items in the second list.

[0240] The processing device provided in the embodiment of the present application can execute the technical solution shown in the above-mentioned corresponding method embodiment. Its implementation principle and beneficial effects are similar and will not be repeated here.

[0241] An embodiment of the present application further provides a processing device, including a memory and a processor, wherein a processing program is stored in the memory, and when the processing program is executed by the processor, the steps of the processing method in any of the above embodiments are implemented.

[0242] An embodiment of the present application further provides a storage medium having a processing program stored thereon. When the processing program is executed by a processor, the steps of the processing method in any of the above embodiments are implemented.

[0243] In the embodiments of the processing device and storage medium provided in this application, all technical features of any of the above-mentioned processing method embodiments may be included. The expanded and explained contents of the specification are basically the same as those of the embodiments of the above-mentioned methods and will not be repeated here.

[0244] An embodiment of the present application further provides a computer program product, which includes computer program code. When the computer program code runs on a computer, the computer executes the methods in the various possible implementation modes described above.

[0245] The embodiment of the present 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 the device equipped with the chip executes the method in the various possible implementation modes as described above. It can be understood that the above scenarios are only examples and do not constitute a limitation on the application scenarios of the technical solutions provided in the embodiments of the present application. The technical solutions of the present application can also be applied to other scenarios. For example, it is known to those skilled in the art that with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0246] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments. The steps in the method of the embodiment of the present application can be adjusted in order, merged and deleted according to actual needs. The units in the device of the embodiment of the present application can be merged, divided and deleted according to actual needs. In this application, the same or similar terminology, technical solutions and / or application scenario descriptions are generally only described in detail the first time they appear. When they appear again later, for the sake of brevity, they are generally not repeated. When understanding the technical solutions of this application, etc., for the same or similar terminology, technical solutions and / or application scenario descriptions that are not described in detail later, reference can be made to the relevant detailed descriptions before. In this application, the descriptions of each embodiment have their own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments. The various technical features of the technical solution of this application can be combined arbitrarily. In order to make the description concise, not all possible combinations of the various technical features in the above-mentioned 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 description of this application.

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

[0248] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a storage medium or transmitted from one storage medium to another storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center by wired (e.g., coaxial cable, optical fiber, 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 includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a storage disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state storage disk Solid State Disk (SSD)).

[0249] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A processing method, wherein, Including the steps: S1. Determine the candidates in the second list according to the candidates in the first list.

2. The processing method according to claim 1, wherein, It further includes at least one of the following: The first list is a candidate list of motion vectors based on history; The second list is an updated second list; The second list is an in-frame template matching candidate list; The second list is determined or obtained according to the first template matching search; The candidate is a block vector and / or a motion vector.

3. The processing method according to claim 1, wherein, The step S1 includes: Determine the candidates in the second list according to the candidate reference blocks corresponding to the candidates in the first list.

4. The processing method according to claim 1, wherein, The step S1 includes: Determine the candidates in the second list according to the evaluation index information of the first candidate that is different from the candidates in the second list in the first list.

5. The processing method according to claim 4, wherein, It further includes at least one of the following: The evaluation index information includes the sum of absolute errors, and / or the sum of absolute errors after transformation; The method for determining or obtaining the second list includes at least one of the following: Add and / or insert the first candidate into the second list according to the sorting position of the evaluation index information of the first candidate in the evaluation index information of each candidate in the second list to determine or obtain the second list; Add and / or insert the first candidate into the second list according to the sorting position of the evaluation index information of the first candidate in the set of evaluation index information of the second list to determine or obtain the second list.

6. The processing method according to claim 5, wherein, It further includes at least one of the following: The set of evaluation index information of the second list is the sorted set of the evaluation index information of each candidate in the second list; Increase the second candidate in the second list according to the first candidate; Decrease the second candidate in the second list according to the first candidate; Change the second candidate in the second list according to the first candidate.

7. The processing method according to claim 1, wherein It further includes: Perform a second template matching search according to the second list.

8. The processing method according to claim 7, wherein, It further includes: Adjust the size of the search window corresponding to the second template matching search according to the candidates in the second list.

9. A processing device, wherein, Including: A memory and a processor, where a processing program is stored on the memory, and when the processing program is executed by the processor, the steps of the processing method as claimed in claim 1 are implemented.

10. A storage medium, wherein, A computer program is stored on the storage medium, and when the computer program is executed by the processor, the steps of the processing method as claimed in claim 1 are implemented.