CN113489988A - HEVC integer pixel motion estimation method and device - Google Patents

HEVC integer pixel motion estimation method and device Download PDF

Info

Publication number
CN113489988A
CN113489988A CN202110650429.5A CN202110650429A CN113489988A CN 113489988 A CN113489988 A CN 113489988A CN 202110650429 A CN202110650429 A CN 202110650429A CN 113489988 A CN113489988 A CN 113489988A
Authority
CN
China
Prior art keywords
search
coarse
range
grained
integer pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110650429.5A
Other languages
Chinese (zh)
Other versions
CN113489988B (en
Inventor
刘鹏飞
陈高鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ASR Microelectronics Co Ltd
Original Assignee
ASR Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ASR Microelectronics Co Ltd filed Critical ASR Microelectronics Co Ltd
Priority to CN202110650429.5A priority Critical patent/CN113489988B/en
Publication of CN113489988A publication Critical patent/CN113489988A/en
Application granted granted Critical
Publication of CN113489988B publication Critical patent/CN113489988B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

The application discloses an HEVC integer pixel motion estimation method. A basic search unit BSU is used, containing three sets of corresponding configurable parameters. One or a combination of BSUs is employed and parameters are configured for each BSU to perform the entire HEVC integer pixel motion estimation method. And judging whether the coarse-grained search range completely covers the motion tracking search range. If yes, only coarse-grained search is executed, and then fine-grained search is executed. If not, simultaneously executing coarse grain search and coarse grain search of motion tracking, and subsequently simultaneously executing fine grain search and fine grain search of motion tracking. And obtaining the final optimal integer pixel motion vector of all PUs in the current LCU. The method and the device are convenient to generate or replace various complex integer pixel motion estimation methods, are suitable for hardware implementation, and have good tracking effects on violent moving objects and accelerated moving objects in motion scenes.

Description

HEVC integer pixel motion estimation method and device
Technical Field
The application relates to a high-definition digital video coding method, in particular to an HEVC integer pixel motion estimation method suitable for hardware implementation.
Background
HEVC (High Efficiency Video Coding), also known as h.265, is a new generation of Video Coding standard. Motion Estimation (Motion Estimation) is one of the core techniques of the HEVC video coding algorithm, and includes integer pixel (also called integer pixel) Motion Estimation (IME) and sub-pixel (also called fractional pixel, fractional pixel) Motion Estimation (FME), which are used to eliminate the temporal information redundancy of the video signal, thereby improving the coding efficiency.
In HEVC, the basic Unit of Coding is a CU (Coding Unit). A CU may be a block of 64 × 64 pixels, 32 × 32 pixels, 16 × 16 pixels, 8 × 8 pixels, where the 64 × 64 pixel block is also referred to as a LCU (Largest Coding Unit). When an LCU is coded, the LCU is directly carried out or is divided into CU blocks smaller than the LCU; the divided CU blocks may be further divided into smaller CU blocks. The number of partition layers from the LCU to the CU block actually coded is called CU layer (depth). Motion estimation is a link of coding, and the basic Unit of motion estimation is PU (Prediction Unit). When performing motion estimation, a PU is equal to the size of a CU, or a CU is divided into two PUs, and whether the division is based on whether the Rate Distortion Cost (RD Cost) is smaller.
Referring to fig. 1, motion estimation is to search for the best matching block for the current PU block in the current coded frame in the coded video frame (referred to as the reference frame) so as to minimize the rate-distortion cost. The relative offset between the best matching block in the reference frame and the current PU block in the current coded frame is the best Motion Vector (MV) of the current PU block. For integer pixel motion estimation, a motion vector refers to an integer pixel motion vector.
In order to increase the coding speed of HEVC, it is common practice in the industry to hardware accelerate the HEVC coding process using an Application Specific Integrated Circuit (ASIC). In each algorithm module of HEVC, the computation of the motion estimation module accounts for more than 70% of the computation of the whole HEVC encoder, and the integer-pixel motion estimation accounts for more than 80% of the computation of the whole motion estimation module, which becomes the bottleneck for increasing the HEVC coding speed. There are many classical algorithms for HEVC integer pixel motion estimation, such as Full Search algorithm (Full Search), Diamond Search algorithm (Diamond Search), Hexagon Search algorithm (Hexagon Search), and TZ Search (TZ Search algorithm) used in the HM (HEVC Test Model, HEVC reference software). These algorithms either suffer from a large computational effort or are not conducive to hardware implementation. Therefore, it is necessary to design an HEVC integer pixel motion estimation method suitable for hardware implementation according to the characteristics of an asic.
In the existing integer pixel motion estimation method suitable for hardware implementation, the range of motion vectors that can be captured is generally a limited range centered on the search center point. If the integer pixel motion estimation method is implemented by combining coarse grain search and fine grain search, the motion vector range that can be captured is determined by the coarse grain search range plus the fine grain search range. For example, a coarse-grained search range of [ +/-96, +/-96], representing the horizontal search radius and the vertical search radius, respectively, and a fine-grained search range of [ +/-3, +/-3], then the range of motion vectors that can be captured is [ +/-99, +/-99 ]. Since the fine-grained search range is much smaller than the coarse-grained search range, the range of motion vectors that can be captured is mainly determined by the coarse-grained search range. For a scene with severe motion, when the moving object exceeds the coarse-grained search range, the best matching motion vector can not be captured at all.
To address this problem, one existing solution is to extend the coarse-grained search range to cover a larger range of motion vectors. The cost of this scheme is the amount of computation, memory access bandwidth, and the size of the hardware Cache (Cache) that are dramatically increased. Although the enlarged coarse-grained search range can cover a wider range of motion vectors, for an object moving at an accelerated speed, the situation that the motion vectors gradually increase beyond the limited coarse-grained search range still occurs, and effective tracking of the motion vectors of the object moving at an accelerated speed gradually increases still cannot be realized.
Another existing solution is to use the correlation of motion vectors between neighboring LCUs to instead derive the search center point for coarse-grained search from the motion vectors of neighboring LCUs. This scheme does not increase the amount of coarse-grained search operations and is effective for simpler motion scenes. However, for a more complex motion scene, especially a scene with a plurality of moving objects with inconsistent motion directions, when the actual motion vectors between adjacent LCUs or adjacent PUs in the same LCU have different directions due to inconsistent motion directions of the moving objects, the situation that the correct motion vectors cannot be captured completely occurs, resulting in a rapid decrease in coding efficiency. In addition, in this scheme, since the search center point of the coarse-grained search is variable, the positions of the reference window pixel points (i.e., each pixel point in the search window in fig. 1) are relatively random, so that great trouble is brought to the prefetching and updating of the reference window pixel points on the hardware cache, and the data reuse rate is greatly reduced.
Disclosure of Invention
The technical problem to be solved by the application is to provide an HEVC integer pixel motion estimation method, which is suitable for hardware implementation and has a good motion vector tracking effect on an object with violent motion or accelerated motion.
In order to solve the above technical problem, the present application provides an HEVC integer pixel motion estimation method suitable for hardware implementation, including the following steps. Step S1: adopting a Basic Search Unit (BSU) to represent various basic search strategies for searching optimal matching blocks for all Prediction Unit (PU) blocks on all Coding Unit (CU) layers in a current maximum coding unit (LCU) in a current coding frame in parallel in an integer pixel motion estimation algorithm; the basic search strategy comprises three parts of search path planning, Rate Distortion Optimization (RDO) cost calculation and motion vector filtering requirements, and the BSU comprises three groups of corresponding configurable parameters. Step S2: adopting one or a combination of a plurality of BSUs and configuring parameters for each BSU to execute the whole HEVC integer pixel motion estimation method; the HEVC integer pixel motion estimation method comprises coarse grain search, fine grain search and motion tracking; the motion tracking is further divided into coarse-grained search of motion tracking and fine-grained search of motion tracking. Step S3: judging whether the coarse-grained search range completely covers the motion tracking search range; if yes, go to step S41 only; if not, go to step S41 and step S42 simultaneously. Step S41: performing a coarse-grained search in the HEVC integer-pixel motion estimation method; the coarse-grained search is a downsampling search of a first range by taking a fixed point as a search center point to obtain an optimal coarse pixel precision candidate search center of each PU in the coarse-grained search range on each layer of the current LCU, wherein the meaning of the fixed point is a motion vector search result independent of adjacent LCUs; then, the process proceeds to step S51. Step S42: performing a coarse-grained search of motion tracking in the HEVC integer-pixel motion estimation method; the method comprises the steps of taking an integer pixel motion vector IMV (inertial measurement value) of an adjacent LCU (LCU) with the periphery of the current LCU subjected to integer pixel motion estimation or a transformation form thereof as a search central point, and performing downsampling search in a second range to obtain an optimal coarse pixel precision candidate search center of each PU (polyurethane) in each layer of the current LCU in a motion tracking search range; the second range is less than the first range; then, the process proceeds to step S52. Step S51: performing a fine-grained search in the HEVC integer-pixel motion estimation method; fine grain search is local full search in a third range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU in the search ranges of coarse grain search and fine grain search; the third range is less than the first range; then, the process proceeds to step S6. Step S52: performing a fine-grained search of motion tracking in the HEVC integer-pixel motion estimation method; performing local full search in a fourth range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search of motion tracking as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU within the motion tracking search range; the fourth range is less than the second range; then, the process proceeds to step S6. Step S6: if only the output of step S51 is present, and step S52 is not present, then the output of step S51 is employed as the final optimal integer-pel motion vector for all PUs within the current LCU. If there are both the outputs of step S51 and step S52, then the RDO cost is compared and then a screening is performed to obtain the final optimal integer pixel motion vector for all PUs inside the current LCU.
Further, in step S1, the BSU is configured to perform an ordered search on the search points in a configurable search area, calculate and compare the matching degrees between all PUs in the current LCU and the reference image block in parallel through a configurable Sum of Absolute Differences (SAD) adder tree and a Motion Vector Difference (MVD) cost algorithm, and finally output one or more optimal candidate motion vectors corresponding to all PUs in the current LCU according to the motion vector filtering requirement.
Further, in step S1, the first set of parameters of the BSU is used to determine the shape of the search area and the search path, including one or more of a search center point, a horizontal search radius, a vertical search radius, a search shape angle, and a down-sampling step size. The second set of parameters of the BSU is used to calculate the RDO cost, that is, to determine which position on the search path corresponds to the motion vector that is the optimal motion vector; the second set of parameters includes one or more of a SAD cost function, a MVD cost function, and a motion vector predictor table. The third set of parameters of the BSU is used to determine motion vector filtering requirements, including one or more of the number of CU layers, PU modes, and the number of optimal candidate motion vectors.
Further, in step S2, at least one BSU is used to perform the coarse-grained search, at least one BSU is used to perform the fine-grained search, at least one BSU is used to perform the coarse-grained search for motion tracking, and at least one BSU is used to perform the fine-grained search for motion tracking.
Further, in step S3, the coarse-grained search range is obtained according to a first set of parameters of one or more BSUs used for performing coarse-grained search; the motion tracking search range is derived from motion vector search results of neighboring LCUs whose surroundings of the current LCU have completed integer-pixel motion estimation and a first set of parameters of one or more BSUs used to perform coarse grain search for motion tracking.
Further, in step S41, the coarse-granularity search is used to obtain an optimal candidate motion vector list of PUs on each CU layer in the current LCU at the coarse pixel precision, and provide an optimal coarse pixel precision candidate search center of each PU and an MVP table for RDO cost calculation for the fine-granularity search.
Further, in step S42, the transformation form includes that the search center of the motion tracking uses only the IMV of a neighboring LCU or some LCUs, or uses the arithmetic mean of the IMVs of some neighboring LCUs.
Further, in the step S51, the fine-grained search is used to obtain an optimal candidate motion vector list of the PU on each CU layer in the current LCU at integer pixel precision, and finally obtain an optimal integer pixel motion vector of the PU on each CU layer in the current LCU.
Further, in step S6, the screening means: step S41 and step S51 output the optimal motion vector and the corresponding rate-distortion cost of each PU on each CU layer inside the LCU within their corresponding search range; step S42 and step S52 output the optimal motion vector and the corresponding rate-distortion cost of each PU on each CU layer inside the LCU within its corresponding search range; and for each PU on each CU layer in the current LCU, selecting a motion vector corresponding to a smaller rate distortion cost as a final optimal motion vector of the PU.
The application also provides an HEVC integer pixel motion estimation device suitable for hardware implementation, which comprises a basic unit, a combination unit, a path judgment unit, a first coarse search unit, a second coarse search unit, a first fine search unit, a second fine search unit and a screening unit;
the basic unit is used for adopting a basic search unit BSU to represent various basic search strategies for searching optimal matching blocks in parallel for all prediction unit PU blocks on all coding unit CU layers in a current maximum coding unit LCU in a current coding frame in an integer pixel motion estimation algorithm; the basic search strategy comprises three parts of search path planning, Rate Distortion Optimization (RDO) cost calculation and motion vector filtering requirements, wherein the BSU comprises three groups of corresponding configurable parameters;
the combination unit is used for adopting one or a combination of a plurality of BSUs and configuring parameters for each BSU so as to execute the whole HEVC integer pixel motion estimation method; the HEVC integer pixel motion estimation method comprises coarse grain search, fine grain search and motion tracking; the motion tracking is further divided into coarse-grained search of the motion tracking and fine-grained search of the motion tracking;
the path judging unit is used for judging whether the coarse-grained searching range completely covers the motion tracking searching range; if yes, only entering a first coarse search unit subsequently; if not, subsequently entering a first coarse search unit and a second coarse search unit simultaneously;
the first coarse search unit is used for performing coarse-grained search in the HEVC integer-pixel motion estimation method; the coarse-grained search is a downsampling search of a first range by taking a fixed point as a search center point to obtain an optimal coarse pixel precision candidate search center of each PU in the coarse-grained search range on each layer of the current LCU, wherein the meaning of the fixed point is a motion vector search result independent of adjacent LCUs; subsequently entering a first fine searching unit;
the second coarse search unit is used for performing coarse-grained search of motion tracking in the HEVC integer pixel motion estimation method; the method comprises the steps of taking an integer pixel motion vector IMV (inertial measurement value) of an adjacent LCU (LCU) with the periphery of the current LCU subjected to integer pixel motion estimation or a transformation form thereof as a search central point, and performing downsampling search in a second range to obtain an optimal coarse pixel precision candidate search center of each PU (polyurethane) in each layer of the current LCU in a motion tracking search range; the second range is less than the first range; subsequently entering a second fine searching unit;
the first fine search unit is used for performing fine-grained search in the HEVC integer pixel motion estimation method; fine grain search is local full search in a third range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU in the search ranges of coarse grain search and fine grain search; the third range is less than the first range; subsequently entering a screening unit;
the second fine search unit is used for performing fine-grained search of motion tracking in the HEVC integer pixel motion estimation method; performing local full search in a fourth range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search of motion tracking as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU within the motion tracking search range; the fourth range is less than the second range; subsequently entering a screening unit;
the screening unit is used for adopting the output of the first fine searching unit as the final optimal integer pixel motion vector of all PUs in the current LCU if only the output of the first fine searching unit is output and the output of the second fine searching unit is not output; and if the first fine search unit and the second fine search unit output at the same time, comparing the RDO cost and then screening to obtain the final optimal integer pixel motion vectors of all PUs in the current LCU.
The technical effect obtained by the application is that the BSU with configurable parameters and random combination is used as a basic configuration unit of the integer pixel motion estimation method, so that various complex integer pixel motion estimation methods are convenient to generate or replace, and the method is suitable for hardware implementation. The newly designed motion tracking mechanism can effectively track the violent motion object and the accelerated motion object in the motion scene on the premise of not increasing the calculation amount remarkably.
Drawings
Fig. 1 is a schematic diagram of motion estimation.
Fig. 2 is a schematic flow diagram of an HEVC integer pixel motion estimation method suitable for hardware implementation proposed in the present application.
Fig. 3 is a schematic diagram of the shape of the search area determined by different values of the first set of parameters of the BSU.
Fig. 4 is a schematic diagram of determining a search path by different values of a first set of parameters of a BSU.
Fig. 5 is a diagram illustrating the relationship between the motion tracking search range and the coarse-grained search range.
Fig. 6 is a schematic structural diagram of an HEVC integer pixel motion estimation apparatus suitable for hardware implementation proposed in the present application.
The reference numbers in the figures illustrate: basic unit 1, combination unit 2, path judgment unit 3, first coarse search unit 41, second coarse search unit 42, first fine search unit 51, second fine search unit 52, and filtering unit 6.
Detailed Description
Referring to fig. 2, the HEVC integer pixel motion estimation method suitable for hardware implementation proposed in the present application includes the following steps.
Step S1: a basic Searching unit bsu (basic Searching unit) is used to characterize various basic search strategies in the integer-pel motion estimation algorithm for Searching in parallel the best matching block for all PU blocks on all layers (referred to as CU layers) in the current LCU in the current encoded frame (i.e. all PUs inside the current LCU). The search strategy comprises three parts of search path planning, RDO (Rate-distortion optimization) cost calculation and motion vector filtering requirements. The BSU is a software module that includes three configurable sets of parameters whose different values enable the BSU to correspond to different basic search strategies.
Briefly, the BSU is configured to perform an ordered search for search points within a configurable search area, and to calculate and compare matching degrees between all PUs and reference image blocks within a current LCU in parallel through a configurable SAD (Sum of Absolute Differences) Adder Tree (SAD Adder Tree) and MVD (motion vector Difference) cost algorithm, and finally output optimal one or more candidate motion vectors corresponding to all PUs within the current LCU according to motion vector filtering requirements. The SAD adder tree is a hardware unit that performs parallel SAD calculations on all PUs inside the LCU. A reference image block refers to a block of a PU block that is around a collocated PU block in a reference frame and within a search window that is the same size as the PU.
The first set of parameters of the BSU is used to determine the shape of the search area and the search path, including, for example, the search center point (cx, cy), the horizontal search radius SRH, the vertical search radius SRV, the search shape angle α, the down-sampling step DSS. Referring to fig. 3, search regions of various shapes can be generated by adjusting the first set of parameters of the BSU to accommodate different coding scenarios. Such as generating a diamond-shaped search area, a hexagonal search area, a rectangular search area, a square search area, a diamond-shaped search area, etc. Inside the search area, the ordered search of the position of the search point (corresponding to the change of the motion vector) adopts a Snake Scan (Snake Scan) mode to improve the multiplexing rate of data as much as possible. Referring to fig. 4, various search paths can be generated by adjusting a first set of parameters of the BSU. Each circle (whether open or filled) represents a full pixel point position (i.e., coordinates) on the reference frame, corresponding to one motion vector. The filled circles indicate that this position will be scanned during scanning (i.e., the motion estimation will take part in the calculation), and the open circles indicate that this position will not be scanned (i.e., the motion estimation will skip this position). The search path is represented by a dashed line with arrows, i.e., a path for an ordered search for search point locations within the search area. When the down-sampling step length DSS is equal to 1, the position of each pixel point on the search path is scanned; when the down-sampling step DSS is 2, one point (open circle) is skipped for scanning.
The second set of parameters of the BSU is used to calculate the RDO cost, i.e. to determine which position on the search path corresponds to the motion vector that is the optimal motion vector. The second set of parameters includes, for example, SAD cost operation function, MVD cost operation function, MVP (MV Predictor) table, which are options for RDO cost algorithm. The SAD algorithm is used to measure the difference between the current PU and the reference image block. The smaller the SAD, the smaller the current PU and reference image block difference, i.e., the smaller the Distortion cost (Distortion cost). The MVD algorithm is used to calculate the difference between the motion vector of the current PU and the motion vectors of neighboring PUs. In HEVC, since the motion vector difference between neighboring PUs is small, when the motion vector of a PU is encoded, the motion vector is not directly encoded, but the motion vector of the PU is encoded by a difference between a "prediction value of the motion vector" (generally, a motion vector from a neighboring PU), that is, an MVD, and the MVD cost is a cost for encoding the MVD, that is, a Rate cost (Rate cost), which is obtained by a corresponding MVD cost calculation algorithm. MVP refers to a prediction value of a motion vector, and is generally derived from motion vectors of neighboring PUs.
The third set of parameters of the BSU is used to determine the motion vector filtering requirements, including, for example, the number of CU layers, PU modes, and the number of best candidate motion vectors. The number of CU layers determines which layer or layers of the CU block to calculate the RDO cost, and thus how to layer the LCU based on the RDO cost. The PU mode decides whether each PU block is directly equivalent to the size of a CU block or to the size of 1/2 CU blocks if the divided CU block is divided horizontally or vertically.
Step S2: one or a combination of BSUs is employed and parameters are configured for each BSU to perform the entire HEVC integer pixel motion estimation method. The HEVC integer pixel motion estimation method comprises three parts, namely Coarse grain search (CIME), fine grain search (RIME) and motion tracking. And the motion tracking can be further divided into two parts, namely coarse-grained search of the motion tracking and fine-grained search of the motion tracking. At least one BSU is adopted to execute coarse-grained search, at least one BSU is adopted to execute fine-grained search, at least one BSU is adopted to execute coarse-grained search of motion tracking, and at least one BSU is adopted to execute fine-grained search of motion tracking. Some of these BSUs may be set at this time, and some of the parameters of some BSUs will be gradually obtained in subsequent steps.
The prior art implements each integer pixel motion estimation method with a specific code segment, and when the integer pixel motion estimation method is replaced, a large number of codes need to be replaced. The method adopts BSUs with configurable parameters to correspond to various basic search strategies, combines a plurality of BSUs in practice, and configures different parameters for each BSU, so that various complex integer pixel motion estimation methods can be obtained. By adopting the method and the device, the HEVC whole-pixel motion estimation method can be replaced only by changing the value of each BSU parameter and/or changing the combination relation of a plurality of BSUs, and the verification and debugging of different algorithms are facilitated. The BSU is used as a basic unit of a search strategy, so that code design and implementation are simplified, coding bandwidth and operand are saved, and coding quality is improved. It is convenient for both the program developer and the user to modify the search strategy without modifying the code.
Step S3: and judging whether the coarse-grained search range completely covers the motion tracking search range. If so, only step S41 is entered. If not, go to step S41 and step S42 simultaneously. Referring to fig. 5, when the motion tracking search range completely falls within the coarse-grained search range, the coarse-grained search range is considered to completely cover the motion tracking search range. When the motion tracking search range only partially falls within the coarse-grained search range or the motion tracking search range does not fall within the coarse-grained search range at all, the coarse-grained search range is considered to not cover the motion tracking search range.
The coarse-grained search range may be derived from a first set of parameters of one or more BSUs used to perform a coarse-grained search.
The motion tracking search range may be derived from motion vector search results of neighboring LCUs whose surroundings of the current LCU have completed integer-pel motion estimation and a first set of parameters of one or more BSUs used to perform coarse-grained search for motion tracking. The neighboring LCUs around the current LCU for which integer-pixel motion estimation has been completed are typically left, top-left, top, and top-right LCUs of the current LCU. The motion vector search results of neighboring LCUs with complete integer pixel motion estimation at the periphery of the current LCU are used for determining a search center point of motion tracking, and are configured as parameters of a BSU for performing motion tracking.
Step S41: a coarse-grained search in the HEVC integer-pixel motion estimation method is performed. The coarse-grained search is used for obtaining an optimal coarse-pixel-precision candidate search center of each PU on each layer (referred to as a CU layer) inside the current LCU within a coarse-grained search range, and providing the candidate search center of each PU and an MVP table for RDO cost calculation for fine-grained search. The coarse-grained search is a first range down-sampling search with a fixed point as the search center point, meaning a motion vector search result that is not dependent on neighboring LCUs, which is typically set to a (0,0) point. Subsequently, the routine proceeds to step S51.
Step S42: performing a coarse-grained search of motion tracking in the HEVC integer-pixel motion estimation method. This means that the IMV (Integer MV, Integer motion vector) of the neighboring LCU, which has completed the Integer motion estimation around the current LCU, or its transformation form is used as the search center point, and the downsampling search of the second range is performed to obtain the optimal coarse pixel precision candidate search center of each PU on each layer of the current LCU in the motion tracking search range. The IMV of a neighboring LCU refers to the optimal integer-pixel motion vector obtained after the neighboring LCU is subjected to an integer-pixel motion estimation process. The transformation form includes that the search center of the motion tracking only uses the IMV of a certain adjacent LCU or a certain number of LCUs, or uses the arithmetic mean value of the IMV of a certain adjacent LCU, and the like. The second range is less than the first range. Subsequently, the routine proceeds to step S52.
Step S51: performing a fine-grained search in the HEVC integer-pixel motion estimation method. The fine-grained search is used for obtaining the optimal integer pixel motion vector of each PU on each layer (referred to as a CU layer) inside the current LCU in the search range of the coarse-grained search and the fine-grained search. And the fine-grained search is a local full search in a third range by taking the optimal coarse pixel precision candidate search center obtained by the coarse-grained search as a search center point. The third range is less than the first range. Subsequently, the routine proceeds to step S6.
Step S52: performing a fine-grained search of motion tracking in the HEVC integer-pixel motion estimation method. The step S42 is to perform a local full search in a fourth range by using the optimal coarse pixel precision candidate search center obtained in the step S42 as a search center point, so as to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU within the motion tracking search range. The fourth range is less than the second range. Subsequently, the routine proceeds to step S6.
Step S6: and obtaining the final optimal integer pixel motion vector of all PUs in the current LCU. Specifically, if only the optimal integer-pixel motion vector of the PU on each layer inside the current LCU, which is output in step S51, is directly used. If there are the optimal integer pixel motion vector of the PU on each layer inside the current LCU in the search range of the coarse grain search and the fine grain search output in step S51 and the optimal integer pixel motion vector of the PU on each layer inside the current LCU in the motion tracking search range output in step S52, the RDO costs are compared and then screening is performed to obtain the final optimal integer pixel motion vector of all PUs inside the current LCU.
The screening is as follows: the coarse-grained search of step S41 and the fine-grained search of step S51 result in the optimal motion vector and corresponding rate-distortion cost for each PU on each CU layer inside the LCU within their corresponding search range. The coarse-grained search of motion tracking in step S42 and the fine-grained search of motion tracking in step S52 result in the optimal motion vector and the corresponding rate-distortion cost for each PU on each CU layer inside the LCU within the corresponding search range. Therefore, each PU on each CU layer inside the current LCU corresponds to an optimal motion vector and a corresponding rate-distortion cost in two different search ranges. Then, for each PU on each CU layer inside the current LCU, selecting a motion vector corresponding to a smaller rate-distortion cost as a final optimal motion vector for the PU.
The step S41 is a traditional coarse-grained search in the HEVC integer pixel motion estimation method, and the step S51 is a traditional fine-grained search in the HEVC integer pixel motion estimation method, which is not described herein again.
The steps S42 and S52 are a completely new motion tracking mechanism designed by the present application. The tracking method is used for tracking the moving object with violent motion (corresponding to irregular motion vectors) and realizing continuous tracking of the moving object with acceleration (corresponding to a large-range motion vector which is gradually increased). Therefore, the range of the motion vector which can be captured is not limited by the coarse-grained search range any more, the tracking of the motion vector which exceeds the coarse-grained search range can be realized, and finally, the capture range of the motion vector is greatly expanded on the premise of not increasing the operation amount remarkably and not changing the coarse-grained search range, and the effect of not limiting the range of the motion vector is realized. The step S42 can achieve effective expansion of the motion vector capture range with less computation, mainly because the search center point of the step S42 is derived from the IMV of the neighboring LCU. In motion pictures, adjacent LCU blocks have a high probability of belonging to the same moving object, so that their motion vectors are close. Therefore, if the motion vectors of neighboring LCUs are used as the search center point, when the motion trends of the neighboring LCUs are consistent, the optimal motion vector can be found with a smaller search range. Therefore, in the design of coarse-grained search for motion tracking, the search center is determined by the IMV of the neighboring LCU blocks, and the second range is much smaller than the first range, so the corresponding operation amount is very small. Meanwhile, since the coarse-grained search in step S41 still uses the fixed point as the search center point for searching, it can be ensured that when a plurality of moving objects with different moving directions occur (i.e., when the actual moving vector directions between adjacent LCUs or adjacent PUs are not consistent), the tracking of the moving vectors with different moving directions is achieved. In addition, since the search range of the coarse-grained search of step S41 is fixed, it is also friendly to update the contents of the reference window and reuse data on the hardware cache.
Referring to fig. 6, the HEVC integer pixel motion estimation apparatus suitable for hardware implementation proposed in the present application includes a basic unit 1, a combining unit 2, a path determining unit 3, a first coarse search unit 41, a second coarse search unit 42, a first fine search unit 51, a second fine search unit 52, and a filtering unit 6. The apparatus shown in fig. 6 corresponds to the method shown in fig. 2.
The base unit 1 is used to employ various basic search strategies in the BSU-characterized integer-pel motion estimation algorithm to search in parallel for the best matching blocks for all PU blocks on all CU layers in the current LCU in the current coded frame. The basic search strategy comprises three parts of search path planning, Rate Distortion Optimization (RDO) cost calculation and motion vector filtering requirements. The BSU comprises three groups of corresponding configurable parameters, and different values of the parameters enable the BSU to correspond to different basic search strategies.
The combination unit 2 is configured to adopt one BSU or a combination of multiple BSUs, and configure parameters for each BSU, so as to perform the whole HEVC integer pixel motion estimation method. The HEVC integer pixel motion estimation method comprises three parts, namely coarse grain search, fine grain search and motion tracking. And the motion tracking can be further divided into two parts, namely coarse-grained search of the motion tracking and fine-grained search of the motion tracking.
The path determination unit 3 is configured to determine whether the coarse-grained search range completely covers the motion tracking search range. If so, then only the first coarse search unit 41 is entered. If not, then the first coarse search unit 41 and the second coarse search unit 42 are entered simultaneously.
The first coarse search unit 41 is used to perform a coarse-grained search in the HEVC integer-pixel motion estimation method. The coarse-grained search is a downsampling search of a first range by taking a fixed point as a search center point to obtain an optimal coarse pixel precision candidate search center of each PU in the coarse-grained search range on each layer of the current LCU, and the meaning of the fixed point is a motion vector search result independent of adjacent LCUs. And subsequently into the first fine search unit 51.
The second coarse search unit 42 is used to perform a coarse-grained search for motion tracking in the HEVC integer-pixel motion estimation method. The method is characterized in that a whole pixel motion vector IMV of an adjacent LCU, which is obtained by completing whole pixel motion estimation on the periphery of the current LCU, or a transformation form of the whole pixel motion vector IMV is used as a search central point, down-sampling search of a second range is carried out, and an optimal coarse pixel precision candidate search center of each PU on each layer of the current LCU in a motion tracking search range is obtained. The second range is less than the first range. And subsequently into the second fine search unit 52.
The first fine search unit 51 is used to perform a fine-grained search in the HEVC integer pixel motion estimation method. And the fine grain search is a local full search in a third range by taking the optimal coarse pixel precision candidate search center obtained by the coarse grain search as a search center point, so as to obtain the optimal integer pixel motion vector of each PU on each layer in the current LCU in the search ranges of the coarse grain search and the fine grain search. The third range is less than the first range. And subsequently to the screening unit 6.
The second fine search unit 52 is used to perform a fine-grained search for motion tracking in the HEVC integer-pel motion estimation method. The optimal coarse pixel precision candidate search center obtained by coarse grain search of motion tracking is used as a search center point, local full search of a fourth range is carried out, and an optimal integer pixel motion vector of each PU on each layer in the current LCU in the motion tracking search range is obtained. The fourth range is less than the second range. And subsequently to the screening unit 6.
The screening unit 6 is used to obtain the final optimal integer pixel motion vectors of all PUs inside the current LCU. And if only the output of the first fine search unit is output and the output of the second fine search unit is not output, adopting the output of the first fine search unit as the final optimal integer pixel motion vector of all PUs in the current LCU. And if the first fine search unit and the second fine search unit output at the same time, comparing the RDO cost and then screening to obtain the final optimal integer pixel motion vectors of all PUs in the current LCU.
Compared with the prior art, the HEVC integer pixel motion estimation method provided by the application has the following beneficial effects.
First, the present application designs a BSU with configurable parameters and suitable for hardware implementation as an atomic unit of a search strategy. The user can adjust the configuration parameters of the BSU according to the requirements of the coding scene to generate various BSU search units, and the usage is very flexible. In addition, various complex search strategies can be generated by combining the BSU units with different configuration parameters, so that the verification and the optimization of the motion estimation algorithm are facilitated.
Secondly, the application designs an HEVC integer pixel motion estimation method suitable for hardware implementation by carrying out cascade combination on BSU units with different configuration parameters. The HEVC integer pixel motion estimation method realizes the parallel processing of all CUs and PUs in the LCU, is friendly to memory access, has high data reuse rate and is beneficial to the realization of a special integrated circuit; but can of course also be implemented in software.
Thirdly, the motion tracking mechanism is designed, so that the effective tracking of the violent motion object and the accelerated motion object in the motion scene can be realized on the premise of not increasing the operation amount remarkably, the infinite motion vector tracking effect is realized on the premise of limited coarse-grained search range, and the coding efficiency of the motion scene is greatly improved.
The above are merely preferred embodiments of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (10)

1. An HEVC integer pixel motion estimation method is characterized by comprising the following steps;
step S1: adopting a Basic Search Unit (BSU) to represent various basic search strategies for searching optimal matching blocks for all Prediction Unit (PU) blocks on all Coding Unit (CU) layers in a current maximum coding unit (LCU) in a current coding frame in parallel in an integer pixel motion estimation algorithm; the basic search strategy comprises three parts of search path planning, Rate Distortion Optimization (RDO) cost calculation and motion vector filtering requirements, wherein the BSU comprises three groups of corresponding configurable parameters;
step S2: adopting one or a combination of a plurality of BSUs and configuring parameters for each BSU to execute the whole HEVC integer pixel motion estimation method; the HEVC integer pixel motion estimation method comprises coarse grain search, fine grain search and motion tracking; the motion tracking is further divided into coarse-grained search of the motion tracking and fine-grained search of the motion tracking;
step S3: judging whether the coarse-grained search range completely covers the motion tracking search range; if yes, go to step S41 only; if not, go to step S41 and step S42 simultaneously;
step S41: performing a coarse-grained search in the HEVC integer-pixel motion estimation method; the coarse-grained search is a downsampling search of a first range by taking a fixed point as a search center point to obtain an optimal coarse pixel precision candidate search center of each PU in the coarse-grained search range on each layer of the current LCU, wherein the meaning of the fixed point is a motion vector search result independent of adjacent LCUs; then proceeds to step S51;
step S42: performing a coarse-grained search of motion tracking in the HEVC integer-pixel motion estimation method; the method comprises the steps of taking an integer pixel motion vector IMV (inertial measurement value) of an adjacent LCU (LCU) with the periphery of the current LCU subjected to integer pixel motion estimation or a transformation form thereof as a search central point, and performing downsampling search in a second range to obtain an optimal coarse pixel precision candidate search center of each PU (polyurethane) in each layer of the current LCU in a motion tracking search range; the second range is less than the first range; then proceeds to step S52;
step S51: performing a fine-grained search in the HEVC integer-pixel motion estimation method; fine grain search is local full search in a third range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU in the search ranges of coarse grain search and fine grain search; the third range is less than the first range; then proceeds to step S6;
step S52: performing a fine-grained search of motion tracking in the HEVC integer-pixel motion estimation method; performing local full search in a fourth range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search of motion tracking as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU within the motion tracking search range; the fourth range is less than the second range; then proceeds to step S6;
step S6: if only the output of step S51 is available and step S52 is not available, then the output of step S51 is used as the final optimal integer pixel motion vector for all PUs inside the current LCU;
if there are both the outputs of step S51 and step S52, then the RDO cost is compared and then a screening is performed to obtain the final optimal integer pixel motion vector for all PUs inside the current LCU.
2. The HEVC integer pixel motion estimation method of claim 1, wherein in step S1, said BSU is used to perform an ordered search of search points in a configurable search area, and through a configurable Sum of Absolute Differences (SAD) adder tree and a Motion Vector Difference (MVD) cost algorithm, calculate and compare the matching degree between all PUs inside the current LCU and the reference image block in parallel, and finally output the optimal one or more candidate motion vectors corresponding to all PUs inside the current LCU according to the motion vector filtering requirement.
3. An HEVC integer pixel motion estimation method as claimed in claim 1, wherein in step S1, the first set of parameters of BSU is used to determine the shape of the search area and the search path, including one or more of the search center point, horizontal search radius, vertical search radius, search shape angle, down-sampling step size;
the second set of parameters of the BSU is used to calculate the RDO cost, that is, to determine which position on the search path corresponds to the motion vector that is the optimal motion vector; the second group of parameters comprises one or more of SAD cost operation function, MVD cost operation function and motion vector prediction value table;
the third set of parameters of the BSU is used to determine motion vector filtering requirements, including one or more of the number of CU layers, PU modes, and the number of optimal candidate motion vectors.
4. An HEVC integer pixel motion estimation method according to claim 1, wherein in step S2, at least one BSU is used to perform coarse-grained search, at least one BSU is used to perform fine-grained search, at least one BSU is used to perform coarse-grained search for motion tracking, and at least one BSU is used to perform fine-grained search for motion tracking.
5. An HEVC integer pixel motion estimation method according to claim 4, wherein in step S3, said coarse-grained search range is obtained according to a first set of parameters of one or more BSUs used to perform a coarse-grained search; the motion tracking search range is derived from motion vector search results of neighboring LCUs whose surroundings of the current LCU have completed integer-pixel motion estimation and a first set of parameters of one or more BSUs used to perform coarse grain search for motion tracking.
6. The HEVC integer pixel motion estimation method of claim 1, wherein in step S41, said coarse-grained search is used to obtain the optimal candidate motion vector list of PUs on each CU layer inside the current LCU at coarse pixel precision, and provide the optimal coarse pixel precision candidate search center of each PU for fine-grained search and the MVP table for RDO cost calculation.
7. An HEVC integer pixel motion estimation method as claimed in claim 1, wherein in step S42, said transformation comprises using the IMV of only one or some LCUs neighboring the search center for motion tracking, or using the arithmetic mean of the IMV of some LCUs neighboring the search center for motion tracking.
8. An HEVC integer pixel motion estimation method according to claim 1, wherein in step S51, said fine-grained search is used to obtain the optimal candidate motion vector list of PUs on each CU layer in the current LCU with integer pixel precision, and finally obtain the optimal integer pixel motion vector of PU on each CU layer in the current LCU.
9. An HEVC integer pixel motion estimation method as claimed in claim 1, wherein in step S6, said filtering is performed by: step S41 and step S51 output the optimal motion vector and the corresponding rate-distortion cost of each PU on each CU layer inside the LCU within their corresponding search range; step S42 and step S52 output the optimal motion vector and the corresponding rate-distortion cost of each PU on each CU layer inside the LCU within its corresponding search range; and for each PU on each CU layer in the current LCU, selecting a motion vector corresponding to a smaller rate distortion cost as a final optimal motion vector of the PU.
10. An HEVC integer pixel motion estimation device is characterized by comprising a basic unit, a combination unit, a path judgment unit, a first coarse search unit, a second coarse search unit, a first fine search unit, a second fine search unit and a screening unit;
the basic unit is used for adopting a basic search unit BSU to represent various basic search strategies for searching optimal matching blocks in parallel for all prediction unit PU blocks on all coding unit CU layers in a current maximum coding unit LCU in a current coding frame in an integer pixel motion estimation algorithm; the basic search strategy comprises three parts of search path planning, Rate Distortion Optimization (RDO) cost calculation and motion vector filtering requirements, wherein the BSU comprises three groups of corresponding configurable parameters;
the combination unit is used for adopting one or a combination of a plurality of BSUs and configuring parameters for each BSU so as to execute the whole HEVC integer pixel motion estimation method; the HEVC integer pixel motion estimation method comprises coarse grain search, fine grain search and motion tracking; the motion tracking is further divided into coarse-grained search of the motion tracking and fine-grained search of the motion tracking;
the path judging unit is used for judging whether the coarse-grained searching range completely covers the motion tracking searching range; if yes, only entering a first coarse search unit subsequently; if not, subsequently entering a first coarse search unit and a second coarse search unit simultaneously;
the first coarse search unit is used for performing coarse-grained search in the HEVC integer-pixel motion estimation method; the coarse-grained search is a downsampling search of a first range by taking a fixed point as a search center point to obtain an optimal coarse pixel precision candidate search center of each PU in the coarse-grained search range on each layer of the current LCU, wherein the meaning of the fixed point is a motion vector search result independent of adjacent LCUs; subsequently entering a first fine searching unit;
the second coarse search unit is used for performing coarse-grained search of motion tracking in the HEVC integer pixel motion estimation method; the method comprises the steps of taking an integer pixel motion vector IMV (inertial measurement value) of an adjacent LCU (LCU) with the periphery of the current LCU subjected to integer pixel motion estimation or a transformation form thereof as a search central point, and performing downsampling search in a second range to obtain an optimal coarse pixel precision candidate search center of each PU (polyurethane) in each layer of the current LCU in a motion tracking search range; the second range is less than the first range; subsequently entering a second fine searching unit;
the first fine search unit is used for performing fine-grained search in the HEVC integer pixel motion estimation method; fine grain search is local full search in a third range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU in the search ranges of coarse grain search and fine grain search; the third range is less than the first range; subsequently entering a screening unit;
the second fine search unit is used for performing fine-grained search of motion tracking in the HEVC integer pixel motion estimation method; performing local full search in a fourth range by taking an optimal coarse pixel precision candidate search center obtained by coarse grain search of motion tracking as a search center point to obtain an optimal integer pixel motion vector of each PU on each layer in the current LCU within the motion tracking search range; the fourth range is less than the second range; subsequently entering a screening unit;
the screening unit is used for adopting the output of the first fine searching unit as the final optimal integer pixel motion vector of all PUs in the current LCU if only the output of the first fine searching unit is output and the output of the second fine searching unit is not output; and if the first fine search unit and the second fine search unit output at the same time, comparing the RDO cost and then screening to obtain the final optimal integer pixel motion vectors of all PUs in the current LCU.
CN202110650429.5A 2021-06-11 2021-06-11 HEVC integer pixel motion estimation method and device Active CN113489988B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110650429.5A CN113489988B (en) 2021-06-11 2021-06-11 HEVC integer pixel motion estimation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110650429.5A CN113489988B (en) 2021-06-11 2021-06-11 HEVC integer pixel motion estimation method and device

Publications (2)

Publication Number Publication Date
CN113489988A true CN113489988A (en) 2021-10-08
CN113489988B CN113489988B (en) 2022-08-23

Family

ID=77935124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110650429.5A Active CN113489988B (en) 2021-06-11 2021-06-11 HEVC integer pixel motion estimation method and device

Country Status (1)

Country Link
CN (1) CN113489988B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023078016A1 (en) * 2021-11-08 2023-05-11 翱捷科技股份有限公司 Motion estimation method and apparatus suitable for camera moving scenario

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101106695A (en) * 2007-03-29 2008-01-16 上海大学 Real time fine flexible coding method based on H.264
US20080212676A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. Motion parameter engine for true motion
CN102547289A (en) * 2012-01-17 2012-07-04 西安电子科技大学 Fast motion estimation method realized based on GPU (Graphics Processing Unit) parallel
CN102647594A (en) * 2012-04-18 2012-08-22 北京大学 Integer pixel precision motion estimation method and system for same
WO2014083492A2 (en) * 2012-11-27 2014-06-05 Squid Design Systems Pvt Ltd System and method of performing motion estimation in multiple reference frame
US20140169472A1 (en) * 2012-12-19 2014-06-19 Mikhail Fludkov Motion estimation engine for video encoding
CN103974077A (en) * 2014-05-14 2014-08-06 东南大学 Quick integer motion estimation searching method used for H.264 coding
US20140219355A1 (en) * 2013-02-01 2014-08-07 Semiconductor Technology Academic Research Center Motion estimation device
CN107087171A (en) * 2017-05-26 2017-08-22 中国科学技术大学 HEVC integer pixel motion estimation methods and device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212676A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. Motion parameter engine for true motion
CN101106695A (en) * 2007-03-29 2008-01-16 上海大学 Real time fine flexible coding method based on H.264
CN102547289A (en) * 2012-01-17 2012-07-04 西安电子科技大学 Fast motion estimation method realized based on GPU (Graphics Processing Unit) parallel
CN102647594A (en) * 2012-04-18 2012-08-22 北京大学 Integer pixel precision motion estimation method and system for same
WO2014083492A2 (en) * 2012-11-27 2014-06-05 Squid Design Systems Pvt Ltd System and method of performing motion estimation in multiple reference frame
US20140169472A1 (en) * 2012-12-19 2014-06-19 Mikhail Fludkov Motion estimation engine for video encoding
US20140219355A1 (en) * 2013-02-01 2014-08-07 Semiconductor Technology Academic Research Center Motion estimation device
CN103974077A (en) * 2014-05-14 2014-08-06 东南大学 Quick integer motion estimation searching method used for H.264 coding
CN107087171A (en) * 2017-05-26 2017-08-22 中国科学技术大学 HEVC integer pixel motion estimation methods and device

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
WEI DAI 等: "A novel fast two step sub-pixel motion estimation algorithm in HEVC", 《IEEE》 *
XUFENG LI 等: "Fast motion estimation methods for HEVC", 《IEEE》 *
刘凯丽等: "一种高性能HEVC整像素运动估计硬件设计", 《微电子学与计算机》 *
杨波 等: "基于纹理约束和参数化运动模型的光流估计", 《中国图象图形学报(A辑)》 *
韩从道等: "一种基于HEVC视频编码的快速运动估计方法", 《上海应用技术学院学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023078016A1 (en) * 2021-11-08 2023-05-11 翱捷科技股份有限公司 Motion estimation method and apparatus suitable for camera moving scenario

Also Published As

Publication number Publication date
CN113489988B (en) 2022-08-23

Similar Documents

Publication Publication Date Title
TWI617185B (en) Method and apparatus of video coding with affine motion compensation
CN113612994B (en) Method for video coding and decoding with affine motion compensation
US20220167004A1 (en) Encoding and decoding method and device, encoder side apparatus and decoder side apparatus
US7050502B2 (en) Method and apparatus for motion vector detection and medium storing method program directed to the same
CN109495743B (en) Parallelization video coding method based on heterogeneous multiprocessing platform
CN109348234B (en) Efficient sub-pixel motion estimation method and system
JP4793070B2 (en) Motion vector search method and apparatus
CN113489987B (en) HEVC sub-pixel motion estimation method and device
CN113489988B (en) HEVC integer pixel motion estimation method and device
CN111246212A (en) Geometric partition mode prediction method and device based on encoding and decoding end, storage medium and terminal
CN113810715B (en) Video compression reference image generation method based on cavity convolutional neural network
CN111901590B (en) Refined motion vector storage method and device for inter-frame prediction
CN110971896B (en) H.265 coding method and device
JP4228705B2 (en) Motion vector search method and apparatus
CN114598877A (en) Inter-frame prediction method and related equipment
JPH0965342A (en) Video coder and video decoder
JPH08242454A (en) Method for detecting global motion parameter
JP4570700B2 (en) Motion vector detector
JPH1013835A (en) Motion vector detecting methd
CN113489994A (en) Motion estimation method, motion estimation device, electronic equipment and medium
JP2011197727A (en) Motion vector detecting method and motion vector detecting program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant