CN111163317B - Pixel searching method - Google Patents
Pixel searching method Download PDFInfo
- Publication number
- CN111163317B CN111163317B CN201911418205.0A CN201911418205A CN111163317B CN 111163317 B CN111163317 B CN 111163317B CN 201911418205 A CN201911418205 A CN 201911418205A CN 111163317 B CN111163317 B CN 111163317B
- Authority
- CN
- China
- Prior art keywords
- pixel
- sub
- calculation
- satd
- interpolation
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
The invention provides a pixel searching method, which comprises the following steps: taking the coordinate of the current pixel point as (0, 0); inquiring pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2) and (1/2 ) at the upper left corner of each pixel block; performing half-pixel interpolation calculation on pixel blocks with coordinates of (0, -1/2), (-1/2,0), (-1/2 ) and (0,0) at the upper left corner to obtain a plurality of half-pixel blocks; caching the half pixel blocks, and simultaneously performing SATD calculation and COST calculation on all the half pixel blocks respectively; respectively carrying out quarter pixel interpolation calculation on all the half pixel blocks to obtain a plurality of quarter pixel blocks; and respectively carrying out SATD calculation and COST calculation on all the quarter pixel blocks. In the pixel searching method provided by the invention, some sub-pixels can directly multiplex interpolation calculation of other sub-pixels, so that the period of interpolation calculation can be reduced, and the sub-pixel searching with high throughput rate is realized.
Description
Technical Field
The invention relates to the field of video coding, in particular to a pixel searching method.
Background
There are two international organizations that set video coding standards, one is the international telecommunication union ITU-T and the other is the international organization for standardization ISO. H.261, H263+ are the H.26x series of video compression standards of the International Telecommunications Union, while MPEG1, MPEG2, MPEG4 are the MPEG series of video compression standards of the International organization for standardization, and then the H.264/AVC standard was published by JVT (Joint video team) consisting of VCEG (video coding experts group) of ITU-T and MPEG (moving Picture coding experts group) of ISO/IEC. After the h.264 standard is released, the announcement is released quickly to enlist the technical scheme for the next generation of video coding standard, and the h.265/HEVC coding standard is released in 2013 in 1 month, wherein the compression efficiency of the new generation of video coding standard is improved by 1 time than that of the h.264 standard, namely, the code rate is saved by half compared with the h.264 standard on the premise of the same video coding quality.
The video coding standard is mainly applied to video conferences, video telephones, streaming media, broadcast televisions, digital cameras and the like. With the continuous development of the security industry, the demand of monitoring camera shooting on real-time coding is gradually increased, and the requirement on the real-time coding is higher and higher. However, a software encoder which is not limited to encoding time is limited by complexity of an encoding algorithm and is not suitable for being applied to the field of security monitoring, so that higher and higher real-time encoding requirements need to be met by means of hardware acceleration, even if the hardware acceleration is used, certain application scenarios with specific requirements are sometimes difficult to meet, and therefore on the premise that hardware resources are not increased as much as possible, it becomes more important to increase throughput of the hardware encoder.
The official model JM of the previous generation video coding standard H.264/AVC and the official model HM of the new generation video coding standard H.265/HEVC are used for testing the coding compression performance index, and whether various proposals are adopted or not is used as a judgment standard. Although the compression efficiency of the new generation video coding standard is improved by 1 times compared with the previous generation video coding standard h.264, the complexity of the official model HM is much higher than that of JM. Inter Prediction (Inter Prediction) is an important component of video coding compression, and Inter Prediction uses Inter-frame correlation, i.e., temporal correlation, of video images to achieve video compression. It is known that video image sequences have a greater correlation in time than in space, while inter-frame prediction also occupies a high complexity in the official model. Fractional pixel search (FME) is a very important link for inter-frame prediction, and filter coefficients for Fractional pixel interpolation are redesigned in HEVC, so that higher accuracy can be achieved and rounding operations in intermediate links can be omitted. With the release of a new generation of video coding standards, implementing high throughput fractional pixel search engines with smaller hardware resources has been a design goal of many engineers.
Disclosure of Invention
The invention aims to provide a pixel searching method, which can reduce the period of pixel searching and further realize the pixel-by-pixel searching with high throughput rate.
In order to achieve the above object, the present invention provides a pixel search method, comprising:
taking the coordinate of the current pixel point as (0, 0);
inquiring pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2) and (1/2 ) at the upper left corner of the pixel block;
performing half-pixel interpolation calculation on pixel blocks with coordinates of (0, -1/2), (-1/2,0), (-1/2 ) and (0,0) at the upper left corner to obtain a plurality of half-pixel blocks;
caching the half pixel blocks, and simultaneously performing SATD calculation and COST calculation on all the half pixel blocks respectively;
performing quarter pixel interpolation calculation on all the half pixel blocks respectively to obtain a plurality of quarter pixel blocks;
and respectively carrying out SATD calculation and COST calculation on all the quarter pixel blocks.
Optionally, in the pixel searching method, the SATD calculation includes:
calculating the Hadamard transformation of the current pixel point and a preset reference pixel point;
and taking the absolute value of the changed values of the Hadamard for summation.
Optionally, in the pixel search method, a formula for calculating COST is as follows:
COST=SATD+λ*RATE
wherein COST is COST, SATD is the sum of absolute values of Hadamard-varied values, lambda is the Lagrangian multiplier, and RATE is the number of Hadamard-varied coding bits.
Optionally, in the pixel search method, the half-pixel interpolation calculation and the quarter-pixel interpolation calculation each include horizontal interpolation and vertical interpolation.
Optionally, in the pixel searching method, pixel blocks with coordinates (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2), and (1/2 ) at the upper left corner of the pixel block are named as: (0,1/2) sub-pixels, (0, -1/2) sub-pixels, (-1/2,0) sub-pixels, (1/2,0) sub-pixels, (-1/2 ) sub-pixels, (-1/2,1/2) sub-pixels, (1/2, -1/2) sub-pixels, and (1/2 ) sub-pixels; the interpolation calculation methods of the (-1/2,0) sub-pixel and the (1/2,0) sub-pixel are the same, the interpolation calculation methods of the (-1/2,1/2) sub-pixel, the (1/2 ) sub-pixel and the (1/2, -1/2) sub-pixel are the same, and the interpolation calculation methods of the (0,1/2) sub-pixel and the (0, -1/2) sub-pixel are the same.
Optionally, in the pixel search method, the half-pixel interpolation calculation includes five cycles, where in a first cycle, SATD calculation is performed on (0,0) sub-pixels; in the second period, interpolation calculation and SATD calculation are respectively completed for (0,1/2) sub-pixels and (0, -1/2) sub-pixels in the vertical direction; in the third cycle, interpolation calculation and SATD calculation are respectively completed for the (-1/2,0) sub-pixel and (1/2,0) sub-pixel in the horizontal direction; in the fourth period, the interpolation calculation and the SATD calculation are completed for (-1/2 ) sub-pixels and (-1/2,1/2) sub-pixels; in the fifth cycle, the interpolation calculation and the SATD calculation are performed for (1/2, -1/2) sub-pixels and (1/2 ) sub-pixels.
Optionally, in the pixel search method, performing quarter-pixel interpolation on the (-1/2,0) sub-pixel block after half-pixel interpolation calculation includes six cycles, where in the first cycle, interpolation calculation of (-3/4,0) sub-pixels and SATD calculation are completed; in the second period, completing interpolation calculation of (-3/4,1/4) sub-pixels and SATD calculation; in the third period, the interpolation calculation of (-3/4, -1/4) sub-pixel and the SATD calculation are completed; the fourth cycle completes the interpolation calculation of (-1/2, -1/4) sub-pixels and SATD calculation; in the fifth cycle, interpolation calculation and SATD calculation of two sub-pixels (-1/4,0) and (-1/2,1/4) are completed; the sixth cycle completes the interpolation calculation for the sub-pixel (-1/4,1/4) and the SATD calculation.
Optionally, in the pixel search method, the interpolation calculation of the quarter-pixel of the (0,0) sub-pixel block after the interpolation calculation of the half-pixel includes six cycles, wherein in the first cycle, the interpolation calculation of the (1/4,0) sub-pixel and the SATD calculation are completed; in the second cycle, completing (1/4 ) the interpolation calculation of the sub-pixel and the SATD calculation; in the third cycle, completing (1/4, -1/4) interpolation calculation of sub-pixel and SATD calculation; in the fourth period, completing (0, -1/4) sub-pixel interpolation calculation and SATD calculation; in the fifth cycle, interpolation calculation of (-1/4,0) and (0,1/4) two sub-pixels and SATD calculation are completed; in the sixth cycle, interpolation calculation of (-1/4,1/4) sub-pixels and SATD calculation are completed.
Optionally, in the pixel searching method, the interpolation calculation of the quarter pixels of the (0, -1/2) sub-pixel block after the interpolation calculation of the half pixels includes eight cycles, wherein, in the first cycle, the interpolation calculation of the (1/4, -3/4) sub-pixels and the SATD calculation are completed; in the second cycle, completing (1/4, -1/2) the interpolation calculation of the sub-pixel and the SATD calculation; in the third cycle, completing (1/4, -1/4) interpolation calculation of sub-pixel and SATD calculation; in the fourth period, completing (0, -1/4) sub-pixel interpolation calculation and SATD calculation; in the fifth period, completing (0, -3/4) sub-pixel interpolation calculation and SATD calculation; in the sixth cycle, the interpolation calculation of (-1/4, -3/4) sub-pixel and the SATD calculation are completed; in the seventh cycle, the interpolation calculation of (-1/4, -1/2) sub-pixels and the SATD calculation are completed; in the eighth cycle, interpolation calculation for (-1/4 ) sub-pixels and SATD calculation are completed.
Optionally, in the pixel search method, the interpolation calculation of the quarter-pixel of the half-pixel interpolation-calculated (-1/2 ) sub-pixel block includes eight cycles: in the first period, completing interpolation calculation of (-3/4, -1/2) sub-pixels and SATD calculation; in the second period, the interpolation calculation of (-3/4 ) sub-pixel and the SATD calculation are completed; in the third cycle, completing interpolation calculation of (-3/4, -1/4) sub-pixels and SATD calculation; in the fourth cycle, the interpolation calculation of (-1/2, -1/4) sub-pixels and the SATD calculation are completed; in the fifth cycle, the interpolation calculation of (-1/2, -3/4) sub-pixels and the SATD calculation are completed; in the sixth cycle, the interpolation calculation of (-1/4, -1/2) sub-pixels and the SATD calculation are completed; in the seventh cycle, the interpolation calculation of (-1/4, -3/4) sub-pixels and the SATD calculation are completed; in the eighth cycle, interpolation calculation for (-1/4 ) sub-pixels and SATD calculation are completed.
In the pixel searching method provided by the invention, pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2) and (1/2 ) at the upper left corner are searched; the pixel interpolation calculation is carried out on the pixel blocks with the coordinates of (0, -1/2), (-1/2,0), (-1/2 ), (1/2, -1/2) and (0,0) at the upper left corner to obtain a plurality of half pixel blocks, and the interpolation calculations of (0,1/2), (1/2,0), (-1/2,1/2) and (1/2 ) are multiplexed with (0, -1/2), (-1/2,0), (-1/2 ), (1/2, -1/2), so that the period of the interpolation calculation of the whole pixel block can be reduced, and the pixel division search with high throughput rate can be realized.
Drawings
FIG. 1 is a flow chart of a pixel search method of an embodiment of the invention;
FIG. 2 is a diagram illustrating interpolation calculations according to an embodiment of the present invention.
Detailed Description
The following describes in more detail embodiments of the present invention with reference to the schematic drawings. The advantages and features of the present invention will become more apparent from the following description. It is to be noted that the drawings are in a very simplified form and are not to precise scale, which is merely for the purpose of facilitating and distinctly claiming the embodiments of the present invention.
In the following, the terms "first," "second," and the like are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances. Similarly, if the method described herein comprises a series of steps, the order in which these steps are presented herein is not necessarily the only order in which these steps may be performed, and some of the described steps may be omitted and/or some other steps not described herein may be added to the method.
The inventor finds that the sub-pixel search is divided into 1/2 sub-pixel search and 1/4 sub-pixel search, and the stages of 1/2 sub-pixel search and 1/4 sub-pixel search also include horizontal interpolation and vertical interpolation, and actually the horizontal interpolation can be multiplexed in the hardware implementation process, and in the recent similar inventions, a design which utilizes the characteristic is found, but the ideal throughput rate is not achieved, namely the hardware coding speed is not fast enough in the stage of sub-pixel search, and the real-time performance is not good enough. In the filter coefficients, the filter coefficients are symmetric when performing interpolation calculation for half pixels. Therefore, the inventor finds that the sub-pixels corresponding to the symmetric filter coefficients can be searched only once or completed in the same search.
As shown in fig. 1, the present invention provides a pixel search method, including:
s11: taking the coordinate of the current pixel point as (0, 0);
s12: inquiring pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2) and (1/2 ) at the upper left corner of the pixel block;
s13: performing half pixel interpolation calculation on pixel blocks with coordinates of (0, -1/2), (-1/2,0), (-1/2 ) and (0,0) at the upper left corner to obtain a plurality of half pixel blocks;
s14: caching the half pixel blocks, and simultaneously performing SATD calculation and COST calculation on all the half pixel blocks respectively;
s15: performing quarter pixel interpolation calculation on all the half pixel blocks respectively to obtain a plurality of quarter pixel blocks;
s16: and respectively carrying out SATD calculation and COST calculation on all the quarter pixel blocks.
Further, the COST calculation includes: calculating the Hadamard transformation of the current pixel point and a preset reference pixel point;
and taking the absolute value of the changed values of the Hadamard for summation.
Further, the formula for calculating COST is as follows:
COST=SATD+λ*RATE
wherein COST is COST, SATD is the sum of absolute values of Hadamard-varied values, lambda is the Lagrangian multiplier, and RATE is the number of Hadamard-varied coding bits.
Further, the pixel blocks include a luminance pixel block and a chrominance pixel block.
Further, the half-pixel interpolation calculation and the quarter-pixel interpolation calculation each include horizontal interpolation and vertical interpolation.
Further, the horizontal interpolation and the vertical interpolation have the same filter coefficient, and the horizontal interpolation is performed first and then the vertical interpolation is performed.
Further, the pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2) and (1/2 ) at the upper left corner of the pixel block are named as: (0,1/2) sub-pixels, (0, -1/2) sub-pixels, (-1/2,0) sub-pixels, (1/2,0) sub-pixels, (-1/2 ) sub-pixels, (-1/2,1/2) sub-pixels, (1/2, -1/2) sub-pixels, and (1/2 ) sub-pixels; the interpolation calculation methods of the (-1/2,0) sub-pixel and the (1/2,0) sub-pixel are the same, the interpolation calculation methods of the (-1/2,1/2) sub-pixel, the (1/2 ) sub-pixel and the (1/2, -1/2) sub-pixel are the same, and the interpolation calculation methods of the (0,1/2) sub-pixel and the (0, -1/2) sub-pixel are the same.
Further, the half-pixel interpolation calculation includes five cycles, wherein in the first cycle, SATD calculation is performed on (0,0) sub-pixels; in the second period, the interpolation calculation and the SATD calculation are respectively completed for the (0,1/2) sub-pixel and the (0, -1/2) sub-pixel in the vertical direction; in the third cycle, interpolation calculation and SATD calculation are respectively completed for the (-1/2,0) sub-pixel and (1/2,0) sub-pixel in the horizontal direction; in the fourth period, the interpolation calculation and the SATD calculation are completed for (-1/2 ) sub-pixels and (-1/2,1/2) sub-pixels; in the fifth cycle, the interpolation calculation and the SATD calculation are performed for (1/2, -1/2) sub-pixels and (1/2 ) sub-pixels. Specifically, compared with the prior art, each sub-pixel needs one cycle to complete the interpolation calculation and the SATD calculation, for example, the (0,1/2) sub-pixel and the (0, -1/2) sub-pixel in the vertical direction need two cycles to complete the interpolation calculation and the SATD calculation, the embodiment of the invention can complete the interpolation calculation and the SATD calculation of the (0,1/2) sub-pixel and the (0, -1/2) sub-pixel in the vertical direction only by one cycle, thereby reducing one cycle, and the whole interpolation calculation and SATD calculation of one-half of a pixel are completed, thereby reducing four cycles, and saving a lot of time compared with the prior art.
Specifically, the (0,0) sub-pixel is directly output with 8X8 pixels without interpolation calculation, and then SATD calculation is performed as shown in fig. 2.
Further, the quarter-pixel interpolation calculation of the (-1/2,0) sub-pixel block after the half-pixel interpolation calculation comprises six cycles, wherein in the first cycle, the (-3/4,0) sub-pixel interpolation calculation and the SATD calculation are completed; in the second period, completing interpolation calculation of (-3/4,1/4) sub-pixels and SATD calculation; in the third cycle, completing interpolation calculation of (-3/4, -1/4) sub-pixels and SATD calculation; the fourth cycle completes the interpolation calculation of (-1/2, -1/4) sub-pixels and SATD calculation; in the fifth cycle, interpolation calculation and SATD calculation of two sub-pixels (-1/4,0) and (-1/2,1/4) are completed; the sixth cycle completes the interpolation calculation for the sub-pixel (-1/4,1/4) and the SATD calculation.
Further, the interpolation calculation of the quarter-pixel of the (0,0) sub-pixel block after the interpolation calculation of the half-pixel comprises six cycles, wherein in the first cycle, the interpolation calculation of the (1/4,0) sub-pixel and the SATD calculation are completed; in the second cycle, completing (1/4 ) the interpolation calculation of the sub-pixel and the SATD calculation; in the third cycle, completing (1/4, -1/4) interpolation calculation of sub-pixel and SATD calculation; in the fourth period, completing (0, -1/4) sub-pixel interpolation calculation and SATD calculation; in the fifth cycle, interpolation calculation of (-1/4,0) and (0,1/4) two sub-pixels and SATD calculation are completed; in the sixth cycle, interpolation calculation of (-1/4,1/4) sub-pixels and SATD calculation are completed.
Further, the one-quarter pixel interpolation computation of the (0, -1/2) sub-pixel block after the one-half pixel interpolation computation includes eight cycle periods, wherein, in the first cycle, the interpolation computation of (1/4, -3/4) sub-pixels and the SATD computation are completed; in the second cycle, completing (1/4, -1/2) the interpolation calculation of the sub-pixel and the SATD calculation; in the third cycle, completing (1/4, -1/4) interpolation calculation of sub-pixel and SATD calculation; in the fourth period, completing (0, -1/4) sub-pixel interpolation calculation and SATD calculation; in the fifth period, completing (0, -3/4) sub-pixel interpolation calculation and SATD calculation; in the sixth cycle, the interpolation calculation of (-1/4, -3/4) sub-pixel and the SATD calculation are completed; in the seventh cycle, the interpolation calculation of (-1/4, -1/2) sub-pixels and the SATD calculation are completed; in the eighth cycle, interpolation calculation for (-1/4 ) sub-pixels and SATD calculation are completed.
Further, the one-quarter pixel interpolation computation for the half-pixel interpolated (-1/2 ) sub-pixel block includes eight cycles: in the first period, completing interpolation calculation of (-3/4, -1/2) sub-pixels and SATD calculation; in the second period, completing the interpolation calculation of (-3/4 ) sub-pixels and SATD calculation; in the third cycle, completing interpolation calculation of (-3/4, -1/4) sub-pixels and SATD calculation; in the fourth cycle, the interpolation calculation of (-1/2, -1/4) sub-pixels and the SATD calculation are completed; in the fifth cycle, the interpolation calculation of (-1/2, -3/4) sub-pixels and the SATD calculation are completed; in the sixth cycle, the interpolation calculation of (-1/4, -1/2) sub-pixels and the SATD calculation are completed; in the seventh cycle, the interpolation calculation of (-1/4, -3/4) sub-pixels and the SATD calculation are completed; in the eighth cycle, interpolation calculation for (-1/4 ) sub-pixels and SATD calculation are completed. The above interpolation calculations can all be referred to in fig. 2, except for the coordinates of the upper left corner of the pixel block.
In summary, in the pixel searching method provided by the embodiment of the present invention, pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2), and (1/2 ) in the upper left corner are searched; the pixel interpolation calculation is carried out on the pixel blocks with the coordinates of (0, -1/2), (-1/2,0), (-1/2 ), (1/2, -1/2) and (0,0) at the upper left corner to obtain a plurality of half pixel blocks, and the interpolation calculations of (0,1/2), (1/2,0), (-1/2,1/2) and (1/2 ) are multiplexed with (0, -1/2), (-1/2,0), (-1/2 ), (1/2, -1/2), so that the period of the interpolation calculation of the whole pixel block can be reduced, and the pixel division search with high throughput rate can be realized.
The above description is only a preferred embodiment of the present invention, and does not limit the present invention in any way. It will be understood by those skilled in the art that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (10)
1. A pixel search method, comprising:
taking the coordinates of the current pixel point as (0, 0);
searching 8X8 pixel blocks with coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2) and (1/2 ) at the upper left corner of the pixel block;
performing half-pixel interpolation calculation on pixel blocks with the coordinates of (0, -1/2), (-1/2,0), (-1/2 ) and (0,0) at the upper left corner to obtain a plurality of half-pixel blocks, and multiplexing the pixel blocks with the coordinates of (0,1/2), (1/2,0), (-1/2,1/2) and (1/2 ) at the upper left corner with pixel blocks with the coordinates of (0, -1/2), (-1/2,0), (-1/2 ) and (1/2, -1/2), respectively;
caching the half pixel blocks, and simultaneously performing SATD calculation and COST calculation on all the half pixel blocks respectively;
performing quarter pixel interpolation calculation on all the half pixel blocks respectively to obtain a plurality of quarter pixel blocks;
and respectively carrying out SATD calculation and COST calculation on all the quarter pixel blocks.
2. The pixel search method of claim 1, wherein said SATD computation comprises:
calculating Hadamard transformation of a current pixel point and a preset reference pixel point;
and taking the absolute value of the changed values of the Hadamard for summation.
3. The pixel searching method of claim 2, wherein the formula for calculating COST is as follows:
COST=SATD+λ*RATE
where COST is COST, SATD is the sum of the absolute values of the Hadamard-varied values, λ is the Lagrangian multiplier, and RATE is the number of Hadamard-varied coding bits.
4. The pixel search method of claim 1, wherein the half-pixel interpolation computation and the quarter-pixel interpolation computation each include horizontal interpolation and vertical interpolation.
5. The pixel search method of claim 3, wherein pixel blocks having coordinates of (0,1/2), (0, -1/2), (-1/2,0), (1/2,0), (-1/2 ), (-1/2,1/2), (1/2, -1/2), and (1/2 ) at the upper left corner of the pixel block are named: (0,1/2) sub-pixels, (0, -1/2) sub-pixels, (-1/2,0) sub-pixels, (1/2,0) sub-pixels, (-1/2 ) sub-pixels, (-1/2,1/2) sub-pixels, (1/2, -1/2) sub-pixels, and (1/2 ) sub-pixels; the interpolation calculation methods of the (-1/2,0) sub-pixel and the (1/2,0) sub-pixel are the same, the interpolation calculation methods of the (-1/2,1/2) sub-pixel, the (1/2 ) sub-pixel and the (1/2, -1/2) sub-pixel are the same, and the interpolation calculation methods of the (0,1/2) sub-pixel and the (0, -1/2) sub-pixel are the same.
6. The pixel search method of claim 5, wherein said one-half pixel interpolation calculation comprises five cycles, wherein in a first cycle, SATD calculation is performed for (0,0) sub-pixels; in the second period, interpolation calculation and SATD calculation are respectively completed for (0,1/2) sub-pixels and (0, -1/2) sub-pixels in the vertical direction; in the third cycle, interpolation calculation and SATD calculation are respectively completed for the (-1/2,0) sub-pixel and (1/2,0) sub-pixel in the horizontal direction; in the fourth period, the interpolation calculation and the SATD calculation are completed for (-1/2 ) sub-pixels and (-1/2,1/2) sub-pixels; in the fifth cycle, the interpolation calculation and the SATD calculation are performed for (1/2, -1/2) sub-pixels and (1/2 ) sub-pixels.
7. The pixel search method of claim 6, wherein performing the quarter-pixel interpolation computation on the half-pixel interpolation computed (-1/2,0) sub-pixel block comprises six cycles, wherein in the first cycle, the interpolation computation of (-3/4,0) sub-pixels and the SATD computation are completed; in the second period, completing interpolation calculation of (-3/4,1/4) sub-pixels and SATD calculation; in the third cycle, completing interpolation calculation of (-3/4, -1/4) sub-pixels and SATD calculation; the fourth cycle completes the interpolation calculation of (-1/2, -1/4) sub-pixels and the SATD calculation; in the fifth cycle, interpolation calculation and SATD calculation of two sub-pixels (-1/4,0) and (-1/2,1/4) are completed; the sixth cycle completes the interpolation calculation of (-1/4,1/4) sub-pixels and the SATD calculation.
8. The pixel search method of claim 7, wherein the quarter-pixel interpolation computation for the (0,0) sub-pixel block after the half-pixel interpolation computation comprises six cycles, wherein in a first cycle, the (1/4,0) sub-pixel interpolation computation and the SATD computation are completed; in the second cycle, completing (1/4 ) the interpolation calculation of the sub-pixel and the SATD calculation; in the third cycle, completing (1/4, -1/4) interpolation calculation of sub-pixel and SATD calculation; in the fourth period, completing (0, -1/4) sub-pixel interpolation calculation and SATD calculation; in the fifth cycle, interpolation calculation of (-1/4,0) and (0,1/4) two sub-pixels and SATD calculation are completed; in the sixth cycle, interpolation calculation of (-1/4,1/4) sub-pixels and SATD calculation are completed.
9. The pixel search method of claim 8, wherein the quarter-pixel interpolation computation for the (0, -1/2) sub-pixel block after the half-pixel interpolation computation comprises eight cycle periods, wherein in a first cycle, the interpolation computation for the (1/4, -3/4) sub-pixel and the SATD computation are completed; in the second cycle, the interpolation calculation and SATD calculation of the sub-pixel are completed (1/4, -1/2); in the third cycle, completing (1/4, -1/4) the interpolation calculation of the sub-pixel and the SATD calculation; in the fourth period, completing (0, -1/4) sub-pixel interpolation calculation and SATD calculation; in the fifth period, completing (0, -3/4) sub-pixel interpolation calculation and SATD calculation; in the sixth cycle, the interpolation calculation of (-1/4, -3/4) sub-pixel and the SATD calculation are completed; in the seventh cycle, the interpolation calculation of (-1/4, -1/2) sub-pixels and the SATD calculation are completed; in the eighth cycle, interpolation calculation for (-1/4 ) sub-pixels and SATD calculation are completed.
10. The pixel search method of claim 9, wherein the quarter-pixel interpolation computation for the half-pixel interpolated (-1/2 ) sub-pixel block comprises eight cycles: in the first period, completing interpolation calculation of (-3/4, -1/2) sub-pixels and SATD calculation; in the second period, completing the interpolation calculation of (-3/4 ) sub-pixels and SATD calculation; in the third cycle, completing interpolation calculation of (-3/4, -1/4) sub-pixels and SATD calculation; in the fourth cycle, the interpolation calculation of (-1/2, -1/4) sub-pixels and the SATD calculation are completed; in the fifth cycle, the interpolation calculation of (-1/2, -3/4) sub-pixel and SATD calculation are completed; in the sixth cycle, the interpolation calculation of (-1/4, -1/2) sub-pixel and the SATD calculation are completed; in the seventh cycle, the interpolation calculation of (-1/4, -3/4) sub-pixels and the SATD calculation are completed; in the eighth cycle, interpolation calculation for (-1/4 ) sub-pixels and SATD calculation are completed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911418205.0A CN111163317B (en) | 2019-12-31 | 2019-12-31 | Pixel searching method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911418205.0A CN111163317B (en) | 2019-12-31 | 2019-12-31 | Pixel searching method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111163317A CN111163317A (en) | 2020-05-15 |
CN111163317B true CN111163317B (en) | 2022-06-17 |
Family
ID=70560426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911418205.0A Active CN111163317B (en) | 2019-12-31 | 2019-12-31 | Pixel searching method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111163317B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505427A (en) * | 2009-02-20 | 2009-08-12 | 杭州爱威芯科技有限公司 | Movement estimation apparatus in video compression encoding algorithm |
CN101783947A (en) * | 2010-02-05 | 2010-07-21 | 合肥工业大学 | Luminance interpolating method of H.264 decoder based on symmetry of interpolation algorithm |
CN102857758A (en) * | 2012-09-03 | 2013-01-02 | 上海算芯微电子有限公司 | Reusable pixel processing method and reusable video processing chip |
CN107087171A (en) * | 2017-05-26 | 2017-08-22 | 中国科学技术大学 | HEVC integer pixel motion estimation methods and device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2443858A (en) * | 2006-11-14 | 2008-05-21 | Sony Uk Ltd | Alias avoiding image processing using directional pixel block correlation and predetermined pixel value criteria |
-
2019
- 2019-12-31 CN CN201911418205.0A patent/CN111163317B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505427A (en) * | 2009-02-20 | 2009-08-12 | 杭州爱威芯科技有限公司 | Movement estimation apparatus in video compression encoding algorithm |
CN101783947A (en) * | 2010-02-05 | 2010-07-21 | 合肥工业大学 | Luminance interpolating method of H.264 decoder based on symmetry of interpolation algorithm |
CN102857758A (en) * | 2012-09-03 | 2013-01-02 | 上海算芯微电子有限公司 | Reusable pixel processing method and reusable video processing chip |
CN107087171A (en) * | 2017-05-26 | 2017-08-22 | 中国科学技术大学 | HEVC integer pixel motion estimation methods and device |
Also Published As
Publication number | Publication date |
---|---|
CN111163317A (en) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5254997B2 (en) | Motion estimation for discovered frame regions | |
TWI540901B (en) | Image processing apparatus and method | |
RU2477575C2 (en) | Method for sub-pixel value interpolation | |
KR101210528B1 (en) | Method and device for coding a video picture in inter or intra mode | |
EP2824931B1 (en) | Video encoder and method for interprediction at boundaries of tiles | |
US9332275B2 (en) | Methods, apparatuses, and programs for encoding and decoding picture | |
CN107277506B (en) | Motion vector accuracy selection method and device based on adaptive motion vector precision | |
EP1653744A1 (en) | Non-integer pixel sharing for video encoding | |
JP2011229145A (en) | Method of performing hybrid multi-hypothesis prediction in moving picture encoding by encoding unit, and related device | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
CN108769684B (en) | Image processing method and device based on WebP image compression algorithm | |
US20160127731A1 (en) | Macroblock skip mode judgement method for encoder | |
US20110194602A1 (en) | Method and apparatus for sub-pixel interpolation | |
US20080137743A1 (en) | Intra-mode predication search method and apparatus for compression of real-time video signal | |
CN111163317B (en) | Pixel searching method | |
CN110495175A (en) | Image processing method for being handled the motion information for parallel processing, method and apparatus for the method for being decoded and encoding using the image processing method | |
KR20060132962A (en) | Motion estimation and segmentation for video data | |
CN101159874A (en) | intraframe coding based image chroma prediction technique | |
Wang et al. | A fast fractional pel motion estimation algorithm for H. 264/MPEG-4 AVC | |
CN100359953C (en) | Image chroma prediction based on code in frame | |
CN103581685A (en) | Method and device for selecting H.264 reference frames | |
KR100711088B1 (en) | Integer Transform Device for Moving Picture Encoder | |
Yasir et al. | Computationally efficient HEVC/H. 265 motion estimation algorithm for low power applications | |
Li et al. | H. 264 video encoder implementation and optimization based on DM642 DSP | |
US20140169468A1 (en) | Picture refresh with constant-bit budget |
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 |