CN104506867A - Sample adaptive offset parameter estimation method and device - Google Patents
Sample adaptive offset parameter estimation method and device Download PDFInfo
- Publication number
- CN104506867A CN104506867A CN201410720721.XA CN201410720721A CN104506867A CN 104506867 A CN104506867 A CN 104506867A CN 201410720721 A CN201410720721 A CN 201410720721A CN 104506867 A CN104506867 A CN 104506867A
- Authority
- CN
- China
- Prior art keywords
- skipped
- columns
- line number
- sao parameter
- sao
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention discloses a sample adaptive offset (SAO) parameter estimation method and device. The method comprises the following steps: determining the SAO statistical information of all encoding codes in a current encoding frame by using a preset thread number through a GPU (Graphic Processing Unit); and performing decision processing according to the dependency relationship of the encoding blocks to obtain the SAO parameters of all encoding blocks in the encoding frame. Through adoption of the method and the device, the pixel values of the encoding blocks are counted correspondingly by using the GPU to complete decision of the SAO parameter of each encoding block. The acceleration of a processing module is realized by means of the parallel processing capability of the GPU. The acceleration of the encoding of a CPU (Central Processing Unit)+GPU hybrid encoding architecture is realized.
Description
Technical field
The present invention relates to technology of video compressing encoding field, in particular to a kind of method for parameter estimation and device of sampled point self adaptation skew (Sample AdaptiveOffset, referred to as SAO).
Background technology
Efficient video coding (High Efficiency Video Coding, referred to as HEVC) be by International Standards Organization (InternationalOrganization for Standardization, referred to as ISO) and International Telecommunication Association (ITU Telecommunication StandardizationSector, referred to as ITU-T) combine the video encoding standard of new generation of proposition, this standard can realize higher video image compression efficiency relative to coding standard in the past.HEVC supports Main, Main10 and still image three kinds of class, and support that YUV4:2:0 samples the Signal coding of form, compression efficiency is doubled compared with H.264/AVC.But, because the algorithm complex of HEVC is high, code rate is on the low side, be difficult in PC, realize real-time coding, thus many researchers are had to start to adopt graphic process unit (GraphicProcessing Unit, referred to as GPU) carry out the optimization of encoder, realize the coding of two-forty whereby and achieve good effect.GPU such as the main movement estimation module of HEVC optimizes, and the GPU accelerating algorithm of deblocking filter.
Sampled point self adaptation skew (Sample Adaptive Offset, referred to as SAO) be emerging a kind of filtering algorithm in HEVC, its algorithm complex is not high, and the time taken in the coding time of reference software, than less than 1%, does not temporarily have disclosed GPU accelerating algorithm at present.But due to the particularity of its processing procedure, make this algorithm be difficult to be optimized by single-instruction multiple-data instruction.Therefore, in the optimizing process of encoder, be necessary also to carry out GPU optimization to SAO.SAO is by detecting boundary direction and the pixel number of the reconstruction frames of coded image, by applying different offsets to the point of different directions and pixel range, to make reconstruction frames image more close with the image that will encode, bring good performance gain thus.
In the coded treatment of HEVC, image can be divided into the encoding block of constant size, such as its size can be configured to 32x32.In the process of SAO, to each encoding block, four offsets of an optimum decision-making classification and correspondence thereof can be distributed.The type of SAO is divided into boundary compensation (Edge Offset, referred to as EO) and the large class of band compensation (Band Offset, referred to as BO) two.In EO, according to the direction on border, be divided into 0 degree, 45 degree, 90 degree and 135 degree of four classifications.Band in BO and band are a kind of mappings of pixel value, such as 8 dark images, and pixel value span is 0 ~ 255, and the band numbering of any pixel value x is
due to the centrality of color, in band compensates, usually only get continuous print 4 bands, thus the band numbering that an extra numerical value carrys out record start is needed, in addition, for each band, encoder can be needed the records of values compensated get off and be encoded in code stream.The SAO example of parameters of an encoding block is as shown in table 1.Wherein reference model is set to not with reference to left side encoding block and not with reference to just there being the coding of information below during the encoding block of top, and when only having SAO to open, the offset of SAO type and correspondence just needs to be encoded.
The SAO parameter format of table 1 encoding block
For the problems referred to above that the efficiency comparison of SAO method for parameter estimation in correlation technique is low, at present effective solution is not yet proposed.
Summary of the invention
For the problem that the efficiency comparison of SAO method for parameter estimation in correlation technique is low, the invention provides a kind of SAO method for parameter estimation and device, at least to solve this problem.
On the one hand, provide a kind of sampled point self adaptation skew SAO method for parameter estimation, comprising: graphic process unit GPU uses and presets number of threads, determines the SAO parameter of the code segment block in current encoded frame; According to the dependence of described encoding block, carry out decision-making treatment, obtain the SAO parameter of all encoding blocks of described coded frame.
Preferably, described GPU uses 1 sets of threads warp, determine that the SAO parameter of the code segment block in current encoded frame comprises: the numerical value that this each thread is corresponded to the element of the predeterminated position of described coded frame by each thread in 1 sets of threads warp in described GPU copies buffer memory to, wherein, in described coded frame, the pixel numerical value of each encoding block copy is the integral multiple of a described sets of threads warp size; In described buffer memory, described each thread determines the difference of the boundary types of the row pixel value that this each thread is corresponding and the pixel value of corresponding described original image frame; According to the row that preset rules is got rid of, the information of thread corresponding for described row is set to zero; According to the statistical information of a described sets of threads warp, determine Boundary Statistic EO information and band statistics BO information.
Preferably, described EO information comprises: 16 groups of N and E values of a color component, and described BO information comprises: 32 groups of N and E values.
Preferably, counting that different colours component is skipped comprises:
When SAO parameter type is EO 0 degree of direction, in luminance component, line number is skipped in bottom is 4/3, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 90 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3/2 that columns is skipped on the right;
When SAO parameter type is EO 135 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 45 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is BO, in luminance component, line number is skipped in bottom is 4/3, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2/1, and it is 3/2 that columns is skipped on the right;
That skips when wherein slash numeral is below and uses pixel numerical value before block elimination filtering counts.
Preferably, according to the dependence of described encoding block, carry out decision-making treatment, the SAO parameter obtaining all encoding blocks of described coded frame comprises:
According to avoiding the peak hour, parallel mode carries out described decision-making treatment.
On the other hand, additionally provide a kind of sampled point self adaptation skew SAO parameter estimation apparatus, being applied to GPU, comprising: determination module, for using default number of threads, determining the SAO parameter of the code segment block in current encoded frame; Processing module, for the dependence according to described encoding block, carries out decision-making treatment, obtains the SAO parameter of all encoding blocks of described coded frame.
Preferably, described determination module comprises:
First determining unit, when using 1 sets of threads warp for described GPU, numerical value for the element this each thread being corresponded to the predeterminated position of described coded frame copies buffer memory to, wherein, in described coded frame, the pixel numerical value of each encoding block copy is the integral multiple of a described sets of threads warp size;
Second determining unit, in described buffer memory, described each thread determines the difference of the boundary types of the row pixel value that this each thread is corresponding and the pixel value of corresponding described original image frame;
Setting unit, for the row got rid of according to preset rules, is set to zero by the information of thread corresponding for described row;
3rd determining unit, for the statistical information according to a described sets of threads warp, determines Boundary Statistic EO information and band statistics BO information.
Preferably, described EO information comprises: 16 groups of N and E values of a color component, and described BO information comprises: 32 groups of N and E values.
Preferably, describedly counting that module skips when different colours component be set comprise:
When SAO parameter type is EO 0 degree of direction, in luminance component, line number is skipped in bottom is 4/3, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 90 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3/2 that columns is skipped on the right;
When SAO parameter type is EO 135 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 45 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is BO, in luminance component, line number is skipped in bottom is 4/3, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2/1, and it is 3/2 that columns is skipped on the right;
That skips when wherein slash numeral is below and uses pixel numerical value before block elimination filtering counts.
Preferably, described processing module carries out described decision-making treatment according to parallel mode of avoiding the peak hour.
Pass through the present invention, utilizing GPU, by carrying out corresponding statistics to the pixel value of encoding block, completing the decision-making of the SAO parameter of each encoding block, parallel processing capability by means of GPU realizes the acceleration of this processing module, helps the acceleration realizing the coding of CPU+GPU hybrid coding framework.
Accompanying drawing explanation
Accompanying drawing described herein is used to provide a further understanding of the present invention, and form a application's part, schematic description and description of the present invention, for explaining the present invention, does not form inappropriate limitation of the present invention.In the accompanying drawings:
Fig. 1 is the flow chart of the SAO method for parameter estimation according to the embodiment of the present invention;
Fig. 2 is the schematic diagram of the SAO decision-making order according to the different masses of the embodiment of the present invention;
Fig. 3 is the flow chart of the SAO Parameter Decision Making flow process of an encoding block according to the embodiment of the present invention;
Fig. 4 is the structured flowchart of the SAO parameter estimation apparatus according to the embodiment of the present invention.
Embodiment
Hereinafter also describe the present invention in detail with reference to accompanying drawing in conjunction with the embodiments.It should be noted that, when not conflicting, the embodiment in the application and the feature in embodiment can combine mutually.
Fig. 1 is the flow chart of the SAO method for parameter estimation according to the embodiment of the present invention, and as Fig. 1 is somebody's turn to do, the method comprises following step:
Step S102, GPU use and preset number of threads, determine the SAO statistical information of all encoding blocks in current encoded frame.
Step S104, according to the dependence of this encoding block, carries out decision-making treatment, obtains the SAO parameter of all encoding blocks of current encoded frame.
In correlation technique, pattern traversal mode serially that what the estimation of SAO parameter adopted is, its efficiency is relatively low, pass through above-mentioned steps, use GPU to process with carrying out parallelization, under the prerequisite keeping parameter relationship dependency between encoding block, the SAO parameter of multiple encoding block can be estimated simultaneously, and the cost that also parallel computation multiple offset parameter configuration is corresponding when carrying out parameter Estimation to each encoding block, improve the degree of parallelism of algorithm, the time complexity of SAO parameter Estimation is obviously reduced.
Preferably, described GPU can use 1 sets of threads warp, and above-mentioned steps S102 can perform in the following way:
The numerical value that this each thread is corresponded to the element of the predeterminated position of described coded frame by each thread in 1 sets of threads warp in described GPU copies buffer memory to, wherein, in described coded frame, the pixel numerical value of each encoding block copy is the integral multiple of a described sets of threads warp size;
In described buffer memory, described each thread determines the difference of the boundary types of the row pixel value that this each thread is corresponding and the pixel value of corresponding described original image frame;
According to the row that preset rules is got rid of, the information of thread corresponding for described row is set to zero;
According to the statistical information of a described sets of threads warp, determine the SAO statistical information of all colours component.
Preferably, the SAO information of a described color component comprises EO information and the BO information of this color component, wherein EO information comprises: 16 groups of N and E values of this color component, described BO information comprises: 32 groups of N and E values of this color component, wherein N is the pixel quantity of particular category, and E is the absolute value sum of the difference of the primitive frame pixel value of the pixel position of particular category and this module pixel value when performing.
As another preferably execution mode, counting that different colours component is skipped comprises:
When SAO parameter type is EO 0 degree of direction, in luminance component, line number is skipped in bottom is 4/3, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 90 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3/2 that columns is skipped on the right;
When SAO parameter type is EO 135 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 45 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is BO, in luminance component, line number is skipped in bottom is 4/3, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2/1, and it is 3/2 that columns is skipped on the right;
That skips when wherein slash numeral is below and uses pixel numerical value before block elimination filtering counts.
As another preferably execution mode, step S104 can carry out described decision-making treatment according to parallel mode of avoiding the peak hour.
Be described below in conjunction with preferred embodiment, following preferred embodiment combines above-described embodiment and preferred implementation.
Preferred embodiment one
This preferred embodiment provides the SAO method for parameter estimation on a kind of GPU.In the preferred embodiment, the estimation of SAO parameter is carried out from the reconstruction frames before given encoder filtering and original image frame pixel value, utilize the efficient parallel treatment characteristic of GPU, first to each encoding block parallel computation statistical information, then according to dependence, parallel decision-making is carried out to block, thus realize the acceleration at double of this module.Be described in detail below:
In the preferred embodiment, the thread allocation strategy on GPU can comprise:
A) in the calculating of SAO statistical information and SAO Parameter Decision Making, each encoding block allocation number of threads is the size of a sets of threads warp of GPU.
B) to each encoding block, often the pixel quantity of row copy is the integral multiple of a warp size, and additional copy does not exceed the pixel of block boundary.
Preferably, in the preferred embodiment, give up the partial information of image boundary, to realize Information Statistics fast, the pixel quantity should skipped each encoding block as shown in Table 2.
What table 2 different colours component was skipped counts
It should be noted that, that should skip when the numeral after slash is and uses pixel numerical value before block elimination filtering counts.
Preferred embodiment two
This preferred embodiment provides the quick SAO decision-making technique on a kind of GPU.In the preferred embodiment, the method can comprise the calculating of SAO statistical information and SAO Parameter Decision Making two steps.Give full play to the parallel processing capability of GPU when SAO statistical information calculates, can process by whole two field picture simultaneously; When SAO Parameter Decision Making, be limited to the dependence between block, process according to the mode of parallel processing of avoiding the peak hour.
As a preferably execution mode, in SAO statistical information calculates, not Existence dependency relationship between each encoding block, can be processed by a sets of threads separately, if sets of threads quantity is abundant can process all blocks simultaneously.
Preferably, if carry out the calculating of SAO statistical information in advance, the number of blocks that can simultaneously process is the block that current reconstructed frame has generated;
Preferably, when carrying out SAO Parameter Decision Making, using parallel processing technique of avoiding the peak hour to carry out parallel processing, fully improving degree of parallelism.
Preferred embodiment two
This preferred embodiment provides a kind of snapshot relation defining method of net list compartment.In the preferred embodiment, utilize the powerful parallel processing capability of GPU, based on piecemeal, the SAO Information Statistics of fast parallel ground are carried out to coded image, then under the condition ensureing dependence, SAO Parameter Decision Making is fast performed, in the acceleration ensureing to realize under objective evaluation quality is without the condition of significantly sacrificing at double.
Be described below by embodiment.
This preferred embodiment comprises: SAO statistical information calculates.
Particularly, in the process of SAO filtering, in encoding block, non-borderline pixel all can be classified then filtering, the offset of each classification, depends on the quantity (being designated as N) of such point and the difference (being designated as E) of such value put and original image.In four classifications of EO, each classification divide into again four subclass, thus has 16 groups of N, E values to a color component.And BO establishing criteria has 32 groups, so there are 32 groups of N, E values.Therefore calculating 48 pairs of N, E values are needed to each color component.In the calculating of Boundary Statistic information and band statistical information, for each encoding block (size is NxN) distributes a warp, avoid extra synchronous thus.
Preferably, the statistics of boundary information is carried out in accordance with the following steps:
The first step: sets of threads each thread copy correspondence position element numerical value is to shared buffer memory.
Second step: the last column limited in form 2 from the row of SAO filtering process, the boundary types of the corresponding row pixel value of each thread computes and correspondence with the difference of original image.
3rd step: according to table 2 to the row that should get rid of, resets the local statistic information of thread corresponding for respective column.
4th step: the statistical information of cumulative sets of threads, obtains N, E value and the statistical information of 4 subclass.
Preferably, in the statistical information of BO calculates, sets of threads is divided into 4 groups according to thread number, and each group completes the Information Statistics of one part of pixel value.Wherein, different colours component and SAO type need the boundary point quantity of the encoding block skipped as shown in Table 2.
This preferred embodiment comprises: SAO Parameter Decision Making.
Preferably, be similar to other code element, the SAO parameter of an encoding block also can with reference to the parameter of the block on its top or the left side, this puts the dependence brought between encoding block, under the prerequisite not destroying this dependence, can complete the SAO parameter Estimation of all encoding blocks with such as graph traversal order, the block wherein indicating identical numerical value can process at one time, and numerical value the greater needs to wait for that the block that numerical value is less is disposed.
Under this framework, for the block in each decision-making distributes a sets of threads, carry out decision-making treatment, its handling process is:
The first step: initialization, resets the context model of all row, and the parameter array of reference block is set to sky simultaneously, and the position transverse and longitudinal coordinate sum of next processing block is set to seq=0.
Second step: be the block of seq to all transverse and longitudinal coordinate sums, note c is the state of context model, according to flow process as shown in the figure, performs SAO parameter Estimation;
3rd step: the SAO parameter read-in of all pieces of the current decision overall situation is stored, and use shared buffer memory to back up with deliberately follow-up reference;
4th step: if all pieces are disposed, then terminate, otherwise seq continues circulation from second step after increasing by 1.
It should be noted that, can perform in the computer system of such as one group of computer executable instructions in the step shown in the flow chart of accompanying drawing, and, although show logical order in flow charts, but in some cases, can be different from the step shown or described by order execution herein.
As used below, term " submodule ", " module " can realize the software of predetermined function and/or the combination of hardware.Although the system and method described by following examples preferably realizes with software, hardware, or the realization of the combination of software and hardware also may and conceived.
In another embodiment, additionally provide a kind of SAO Parameter Estimation Software, this software is for performing the technical scheme described in above-described embodiment and preferred embodiment.
In another embodiment, additionally provide a kind of storage medium, store above-mentioned SAO Parameter Estimation Software in this storage medium, this storage medium includes but not limited to: CD, floppy disk, hard disk, scratch pad memory etc.
The embodiment of the present invention additionally provides a kind of SAO parameter estimation apparatus, this SAO parameter estimation apparatus may be used for realizing above-mentioned SAO method for parameter estimation and preferred implementation, carried out explanation, and repeated no more, below the module related in SAO parameter estimation apparatus is described.As used below, term " module " can realize the software of predetermined function and/or the combination of hardware.Although the system and method described by following examples realizes better with software, hardware, or the realization of the combination of software and hardware also may and conceived.
Fig. 4 is the structured flowchart of the SAO parameter estimation apparatus according to the embodiment of the present invention, and this device can be applied to GPU, and as shown in Figure 4, this device comprises: determination module 42, and processing module 44, is described in detail to said structure below.
Determination module 42, for using default number of threads, determines the SAO statistical information of all encoding blocks in current encoded frame; Processing module 44, is connected to determination module 42, for the dependence according to described encoding block, carries out decision-making treatment, obtains the SAO parameter of all encoding blocks of described coded frame.
Preferably, described determination module can comprise:
First determining unit, when using 1 sets of threads warp for described GPU, numerical value for the element this each thread being corresponded to the predeterminated position of described coded frame copies buffer memory to, wherein, in described coded frame, the pixel numerical value of each encoding block copy is the integral multiple of a described sets of threads warp size;
Second determining unit, in described buffer memory, described each thread determines the difference of the boundary types of the row pixel value that this each thread is corresponding and the pixel value of corresponding described original image frame;
Setting unit, for the row got rid of according to preset rules, is set to zero by the information of thread corresponding for described row;
3rd determining unit, for the statistical information according to a described sets of threads warp, determines Boundary Statistic EO information and band statistics BO information.
Preferably, described EO information comprises: 16 groups of N and E values of a color component, and described BO information comprises: 32 groups of N and E values.
Preferably, describedly counting that module skips when different colours component be set comprise:
When SAO parameter type is EO 0 degree of direction, in luminance component, line number is skipped in bottom is 4/3, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 90 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3/2 that columns is skipped on the right;
When SAO parameter type is EO 135 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 45 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is BO, in luminance component, line number is skipped in bottom is 4/3, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2/1, and it is 3/2 that columns is skipped on the right;
That skips when wherein slash numeral is below and uses pixel numerical value before block elimination filtering counts.
Preferably, described processing module carries out described decision-making treatment according to parallel mode of avoiding the peak hour.
By above-described embodiment, provide a kind of SAO method for parameter estimation and device, the SAO method for parameter estimation on GPU.Its processing procedure is divided into SAO information to calculate and SAO Parameter Decision Making two parts.According to the treatment characteristic of GPU, suitably arrange workload and the algorithm process flow process of thread on GPU, higher speed-up ratio can be realized.In SAO information calculates, make full use of the computing capability of GPU, multiple pieces are processed simultaneously, and in process to a block, avoid the copy of extra single pixel value, higher speed-up ratio is achieved thus when losing very little, meanwhile, the boundary point information should skipped before proposing block elimination filtering.In SAO decision-making, eliminate the dependence of the context coding model between row, utilize parallel processing of avoiding the peak hour to realize higher degree of parallelism.
It should be noted that, these technique effects are not that above-mentioned all execution modes have, and some technique effect is that some preferred implementation just can obtain.
Obviously, those skilled in the art should be understood that, above-mentioned of the present invention each module or each step can realize with general calculation element, they can concentrate on single calculation element, or be distributed on network that multiple calculation element forms, alternatively, they can realize with the executable program code of calculation element, thus they storages can be performed by calculation element in the storage device, or they are made into each integrated circuit modules respectively, or the multiple module in them or step are made into single integrated circuit module to realize.Like this, the present invention is not restricted to any specific hardware and software combination.
The foregoing is only the preferred embodiments of the present invention, be not limited to the present invention, for a person skilled in the art, the present invention can have various modifications and variations.Within the spirit and principles in the present invention all, any amendment done, equivalent replacement, improvement etc., all should be included within protection scope of the present invention.
Claims (10)
1. a sampled point self adaptation skew SAO method for parameter estimation, is characterized in that, comprising:
Graphic process unit GPU uses and presets number of threads, determines the SAO parameter of first encoding block in current encoded frame;
According to the dependence of described encoding block, carry out decision-making treatment, obtain the SAO parameter of all encoding blocks of described coded frame.
2. method according to claim 1, is characterized in that, described GPU uses 1 sets of threads warp, determines that the SAO parameter of the code segment block in current encoded frame comprises:
The numerical value that this each thread is corresponded to the element of the predeterminated position of described coded frame by each thread in 1 sets of threads warp in described GPU copies buffer memory to, wherein, in described coded frame, the pixel numerical value of each encoding block copy is the integral multiple of a described sets of threads warp size;
In described buffer memory, described each thread determines the difference of the boundary types of the row pixel value that this each thread is corresponding and the pixel value of corresponding described original image frame;
According to the row that preset rules is got rid of, the information of thread corresponding for described row is set to zero;
According to the statistical information of a described sets of threads warp, determine Boundary Statistic EO information and band statistics BO information.
3. method according to claim 2, is characterized in that, described EO information comprises: 16 groups of N and E values of a color component, and described BO information comprises: 32 groups of N and E values.
4. method according to claim 3, is characterized in that, counting that different colours component is skipped comprises:
When SAO parameter type is EO 0 degree of direction, in luminance component, line number is skipped in bottom is 4/3, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 90 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3/2 that columns is skipped on the right;
When SAO parameter type is EO 135 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 45 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is BO, in luminance component, line number is skipped in bottom is 4/3, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2/1, and it is 3/2 that columns is skipped on the right;
That skips when wherein slash numeral is below and uses pixel numerical value before block elimination filtering counts.
5. method according to any one of claim 1 to 4, is characterized in that, according to the dependence of described encoding block, carries out decision-making treatment, and the SAO parameter obtaining all encoding blocks of described coded frame comprises:
According to avoiding the peak hour, parallel mode carries out described decision-making treatment.
6. a sampled point self adaptation skew SAO parameter estimation apparatus, is applied to image processor GPU, it is characterized in that, comprising:
Determination module, for using default number of threads, determines the SAO parameter of the code segment block in current encoded frame;
Processing module, for the dependence according to described encoding block, carries out decision-making treatment, obtains the SAO parameter of all encoding blocks of described coded frame.
7. device according to claim 6, is characterized in that, described determination module comprises:
First determining unit, when using 1 sets of threads warp for described GPU, numerical value for the element this each thread being corresponded to the predeterminated position of described coded frame copies buffer memory to, wherein, in described coded frame, the pixel numerical value of each encoding block copy is the integral multiple of a described sets of threads warp size;
Second determining unit, in described buffer memory, described each thread determines the difference of the boundary types of the row pixel value that this each thread is corresponding and the pixel value of corresponding described original image frame;
Setting unit, for the row got rid of according to preset rules, is set to zero by the information of thread corresponding for described row;
3rd determining unit, for the statistical information according to a described sets of threads warp, determines Boundary Statistic EO information and band statistics BO information.
8. device according to claim 7, is characterized in that, described EO information comprises: 16 groups of N and E values of a color component, and described BO information comprises: 32 groups of N and E values.
9. method according to claim 8, is characterized in that, describedly arranges counting that module skips when different colours component and comprises:
When SAO parameter type is EO 0 degree of direction, in luminance component, line number is skipped in bottom is 4/3, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 90 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3/2 that columns is skipped on the right;
When SAO parameter type is EO 135 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is EO 45 degree of directions, in luminance component, line number is skipped in bottom is 4, and it is 5 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2, and it is 3 that columns is skipped on the right;
When SAO parameter type is BO, in luminance component, line number is skipped in bottom is 4/3, and it is 5/4 that columns is skipped on the right; In chromatic component, line number is skipped in bottom is 2/1, and it is 3/2 that columns is skipped on the right;
That skips when wherein slash numeral is below and uses pixel numerical value before block elimination filtering counts.
10. the device according to any one of claim 6 to 9, is characterized in that, described processing module carries out described decision-making treatment according to parallel mode of avoiding the peak hour.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410720721.XA CN104506867B (en) | 2014-12-01 | 2014-12-01 | Sample point self-adapted offset parameter method of estimation and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410720721.XA CN104506867B (en) | 2014-12-01 | 2014-12-01 | Sample point self-adapted offset parameter method of estimation and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506867A true CN104506867A (en) | 2015-04-08 |
CN104506867B CN104506867B (en) | 2017-07-21 |
Family
ID=52948574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410720721.XA Active CN104506867B (en) | 2014-12-01 | 2014-12-01 | Sample point self-adapted offset parameter method of estimation and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506867B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049853A (en) * | 2015-07-06 | 2015-11-11 | 深圳市云宙多媒体技术有限公司 | SAO coding method and system based on fragment source analysis |
CN105959695A (en) * | 2016-04-28 | 2016-09-21 | 中山大学 | Parallel SAO algorithm based on GPU |
CN107454396A (en) * | 2016-04-05 | 2017-12-08 | 富士通株式会社 | Image encoding apparatus and method, image decoding apparatus and method and image delivering system |
CN114995898A (en) * | 2022-05-13 | 2022-09-02 | Oppo广东移动通信有限公司 | Target object processing method and device and electronic equipment |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075753A (en) * | 2011-01-13 | 2011-05-25 | 中国科学院计算技术研究所 | Method for deblocking filtration in video coding and decoding |
CN102835104A (en) * | 2010-04-14 | 2012-12-19 | 西门子企业通讯有限责任两合公司 | Method for deblocking filtering |
CN103702126A (en) * | 2013-12-10 | 2014-04-02 | 清华大学深圳研究生院 | Parallel encoding optimization method based on standard video HEVC (High Efficiency Video Coding) |
US20140169447A1 (en) * | 2012-12-17 | 2014-06-19 | Broadcom Corporation | Combination hevc deblocker/sao filter |
CN103956991A (en) * | 2014-04-10 | 2014-07-30 | 北京遥测技术研究所 | FIR filter parallel realization method based on CPU/GPU heterogeneous platform |
CN103974081A (en) * | 2014-05-08 | 2014-08-06 | 杭州同尊信息技术有限公司 | HEVC coding method based on multi-core processor Tilera |
CN104012091A (en) * | 2011-11-04 | 2014-08-27 | 高通股份有限公司 | Adaptive center band offset filter for video coding |
CN104125466A (en) * | 2014-07-10 | 2014-10-29 | 中山大学 | GPU (Graphics Processing Unit)-based HEVC (High Efficiency Video Coding) parallel decoding method |
-
2014
- 2014-12-01 CN CN201410720721.XA patent/CN104506867B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835104A (en) * | 2010-04-14 | 2012-12-19 | 西门子企业通讯有限责任两合公司 | Method for deblocking filtering |
CN102075753A (en) * | 2011-01-13 | 2011-05-25 | 中国科学院计算技术研究所 | Method for deblocking filtration in video coding and decoding |
CN104012091A (en) * | 2011-11-04 | 2014-08-27 | 高通股份有限公司 | Adaptive center band offset filter for video coding |
US20140169447A1 (en) * | 2012-12-17 | 2014-06-19 | Broadcom Corporation | Combination hevc deblocker/sao filter |
CN103702126A (en) * | 2013-12-10 | 2014-04-02 | 清华大学深圳研究生院 | Parallel encoding optimization method based on standard video HEVC (High Efficiency Video Coding) |
CN103956991A (en) * | 2014-04-10 | 2014-07-30 | 北京遥测技术研究所 | FIR filter parallel realization method based on CPU/GPU heterogeneous platform |
CN103974081A (en) * | 2014-05-08 | 2014-08-06 | 杭州同尊信息技术有限公司 | HEVC coding method based on multi-core processor Tilera |
CN104125466A (en) * | 2014-07-10 | 2014-10-29 | 中山大学 | GPU (Graphics Processing Unit)-based HEVC (High Efficiency Video Coding) parallel decoding method |
Non-Patent Citations (1)
Title |
---|
盛希: "基于HEVC视频编码标准的后处理技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049853A (en) * | 2015-07-06 | 2015-11-11 | 深圳市云宙多媒体技术有限公司 | SAO coding method and system based on fragment source analysis |
CN107454396A (en) * | 2016-04-05 | 2017-12-08 | 富士通株式会社 | Image encoding apparatus and method, image decoding apparatus and method and image delivering system |
CN107454396B (en) * | 2016-04-05 | 2020-08-18 | 富士通株式会社 | Image encoding apparatus and method, image decoding apparatus and method, and image transmission system |
CN105959695A (en) * | 2016-04-28 | 2016-09-21 | 中山大学 | Parallel SAO algorithm based on GPU |
CN105959695B (en) * | 2016-04-28 | 2019-07-09 | 中山大学 | A kind of adaptive offset method of parallel pixel based on GPU |
CN114995898A (en) * | 2022-05-13 | 2022-09-02 | Oppo广东移动通信有限公司 | Target object processing method and device and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
CN104506867B (en) | 2017-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI738092B (en) | Method and apparatus for reduction of in-loop filter buffer | |
KR100234316B1 (en) | Signal adaptive filter for reducing ringing noise and signal adaptive filering method thereof | |
CN103404137B (en) | The method and apparatus of effective sample adaptive equalization | |
KR100242636B1 (en) | Signal adaptive post processing system for reducing blocking effect and ringing noise | |
US9161041B2 (en) | Apparatus and method of efficient sample adaptive offset | |
US6993191B2 (en) | Methods and apparatus for removing compression artifacts in video sequences | |
KR100843196B1 (en) | Deblocking filter of H.264/AVC video decoder | |
CN104255033B (en) | Reduced look-up-table for LM mode computations | |
CN103947208B (en) | Reduce the method and device of deblocking filter | |
CN104205845B (en) | LM patterns with unified bit wide multiplier | |
CN104350752B (en) | The device of intra-loop filtering for the lossless coding mode in high-performance video coding | |
US9055306B2 (en) | Parallel decoding method and system for highly compressed data | |
CN111988611A (en) | Method for determining quantization offset information, image coding method, image coding device and electronic equipment | |
CN105898335A (en) | Method and apparatus of loop filters for efficient hardware implementation | |
CN115150612A (en) | Image encoding and decoding method, encoder, decoder, and storage medium | |
CN114009027A (en) | Quantization of residual in video coding | |
US11962786B2 (en) | Multi-stage block coding | |
CN113785569A (en) | Non-linear adaptive loop filtering method and device for video coding | |
CN104506867A (en) | Sample adaptive offset parameter estimation method and device | |
TWI727826B (en) | Coding using intra-prediction | |
CN105306957A (en) | Adaptive loop filtering method and device | |
CN110495178A (en) | The device and method of 3D Video coding | |
CN116076073A (en) | Hardware codec accelerator for high performance video coding | |
CN107040778A (en) | Loop circuit filtering method and loop filter | |
US11600026B2 (en) | Data processing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |