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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000003044 adaptive effect Effects 0.000 title description 5
- 238000001914 filtration Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000015654 memory Effects 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims 2
- 239000003086 colorant Substances 0.000 claims 2
- 230000008030 elimination Effects 0.000 claims 2
- 238000003379 elimination reaction Methods 0.000 claims 2
- 230000001133 acceleration Effects 0.000 abstract description 6
- 238000005070 sampling Methods 0.000 abstract description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 20
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种采样点自适应偏移的参数估计方法及装置,该方法包括:GPU使用预设线程数量,首先确定当前编码帧中的所有编码块的SAO统计信息;根据所述编码块的依赖关系,进行决策处理,得到所述编码帧的所有编码块的SAO参数。通过本发明,利用GPU,通过对编码块的像素值进行相应统计,完成每个编码块的SAO参数的决策,借助于GPU的并行处理能力实现该处理模块的加速,帮助实现CPU+GPU混合编码架构的编码的加速。
The present invention discloses a parameter estimation method and device for sampling point self-adaptive offset. The method includes: GPU uses a preset number of threads to first determine the SAO statistical information of all coding blocks in the current coding frame; according to the coding block Dependency relationship, and decision processing is performed to obtain the SAO parameters of all coding blocks of the coding frame. Through the present invention, the GPU is used to make corresponding statistics on the pixel values of the coding blocks to complete the decision-making of the SAO parameters of each coding block, and the acceleration of the processing module is realized by means of the parallel processing capability of the GPU, helping to realize CPU+GPU hybrid coding Acceleration of coding of schemas.
Description
技术领域technical field
本发明涉及视频压缩编码技术领域,具体而言,涉及一种采样点自适应偏移(Sample AdaptiveOffset,简称为SAO)的参数估计方法及装置。The present invention relates to the technical field of video compression coding, in particular to a parameter estimation method and device for Sample Adaptive Offset (SAO for short).
背景技术Background technique
高效视频编码(High Efficiency Video Coding,简称为HEVC)是由国际标准组织(InternationalOrganization for Standardization,简称为ISO)和国际电联(ITU Telecommunication StandardizationSector,简称为ITU-T)联合提出的新一代视频编码标准,该标准相对于以往的编码标准能够实现更高的视频图像压缩效率。HEVC支持Main、Main10和静态图像三种档次,支持YUV4:2:0取样格式的信号编码,与H.264/AVC相比压缩效率提高了一倍。然而,由于HEVC的算法复杂度高,编码速率偏低,很难在个人电脑上实现实时的编码,因而有不少研究者开始采用图形处理器(GraphicProcessing Unit,简称为GPU)进行编码器的优化,借此实现高速率的编码并且取得了较好的效果。例如针对HEVC的主要运动估计模块的GPU优化,以及解块滤波器的GPU加速算法。High Efficiency Video Coding (HEVC) is a new-generation video coding standard jointly proposed by the International Organization for Standardization (ISO) and the ITU Telecommunication Standardization Sector (ITU-T). , this standard can achieve higher video image compression efficiency than previous coding standards. HEVC supports three grades of Main, Main10 and still images, and supports signal encoding in YUV4:2:0 sampling format, which doubles the compression efficiency compared with H.264/AVC. However, due to the high complexity of the HEVC algorithm and the low encoding rate, it is difficult to achieve real-time encoding on a personal computer, so many researchers have begun to use Graphic Processing Unit (GPU) to optimize the encoder , so as to achieve high-speed encoding and achieve better results. For example, the GPU optimization of the main motion estimation module for HEVC, and the GPU acceleration algorithm of the deblocking filter.
采样点自适应偏移(Sample Adaptive Offset,简称为SAO)是HEVC中新出现的一种滤波算法,其算法复杂度不高,在参考软件的编码耗时中占用的时间比不到1%,目前暂时没有公开的GPU加速算法。但由于其处理过程的特殊性,使得该算法很难通过单指令多数据指令进行优化。因此,在对编码器的优化过程中,有必要也对SAO进行GPU优化。SAO通过检测编码图像的重建帧的边界方向以及像素数值,通过对不同方向和像素区间的点施加不同的补偿值,以使得重建帧图像和要编码的图像更加接近,由此带来了较好的性能增益。Sample Adaptive Offset (SAO for short) is a new filtering algorithm in HEVC. Its algorithm complexity is not high, and it takes up less than 1% of the coding time of the reference software. Currently there is no publicly available GPU acceleration algorithm. However, due to the particularity of its processing, it is difficult to optimize the algorithm through single instruction multiple data instructions. Therefore, during the optimization of the encoder, it is necessary to also perform GPU optimization on SAO. SAO detects the boundary direction and pixel value of the reconstructed frame of the encoded image, and applies different compensation values to points in different directions and pixel intervals, so that the reconstructed frame image is closer to the image to be encoded, thus bringing better results. performance gain.
HEVC的编码处理中,会将图像分成恒定大小的编码块,例如其大小可以配置为32x32。在SAO的处理中,对每一个编码块,会分配一个最优的决策类别及其对应的四个补偿值。SAO的类型分为边界补偿(Edge Offset,简称为EO)和条带补偿(Band Offset,简称为BO)两大类。在EO中,按照边界的方向,分成0度、45度、90度和135度四个类别。BO中的band即条带,是一种像素值的映射,比如8位深的图像,像素值取值范围为0~255,任意像素值x的条带编号是由于颜色的集中性,在条带补偿中,通常只取连续的4个条带,因而需要有一个额外的数值来记录起始的条带编号,此外,针对每个条带,编码器会将其需要补偿的数值记录下来并且编码到码流中。一个编码块的SAO参数示例如表1所示。其中参考模式设置为不参考左边编码块且不参考上边编码块时才有后面信息的编码,而只有SAO打开时,SAO类型以及对应的补偿值才需要被编码。In the encoding process of HEVC, the image will be divided into encoding blocks of constant size, for example, its size can be configured as 32x32. In the processing of SAO, for each coding block, an optimal decision category and its corresponding four compensation values will be assigned. The types of SAO are divided into two categories: edge offset (Edge Offset, EO for short) and band offset (Band Offset, BO for short). In EO, according to the direction of the boundary, it is divided into four categories: 0 degree, 45 degree, 90 degree and 135 degree. The band in BO is a strip, which is a mapping of pixel values. For example, in an 8-bit image, the pixel value ranges from 0 to 255. The band number of any pixel value x is Due to the concentration of the color, in band compensation, usually only 4 consecutive bands are taken, so an additional value is required to record the starting band number. In addition, for each band, the encoder will The value that needs to be compensated is recorded and encoded into the code stream. An example of SAO parameters for an encoding block is shown in Table 1. The reference mode is set to not refer to the left coding block and the upper coding block to encode the following information, and only when SAO is turned on, the SAO type and the corresponding compensation value need to be coded.
表1一个编码块的SAO参数格式Table 1 SAO parameter format of a coding block
针对相关技术中SAO参数估计方法的效率比较低的上述问题,目前尚未提出有效的解决方案。For the above-mentioned problem of relatively low efficiency of the SAO parameter estimation method in the related art, no effective solution has been proposed yet.
发明内容Contents of the invention
针对相关技术中SAO参数估计方法的效率比较低的问题,本发明提供了一种SAO参数估计方法及装置,以至少解决该问题。Aiming at the problem of relatively low efficiency of the SAO parameter estimation method in the related art, the present invention provides a SAO parameter estimation method and device to at least solve the problem.
一方面,提供了一种采样点自适应偏移SAO参数估计方法,包括:图形处理器GPU使用预设线程数量,确定当前编码帧中的部分编码块的SAO参数;根据所述编码块的依赖关系,进行决策处理,得到所述编码帧的所有编码块的SAO参数。On the one hand, a method for estimating sampling point adaptive offset SAO parameters is provided, including: using a preset number of threads on a graphics processor GPU to determine the SAO parameters of some coding blocks in the current coding frame; according to the dependence of the coding blocks relationship, and perform decision processing to obtain the SAO parameters of all coding blocks in the coding frame.
优选地,所述GPU使用1个线程组warp,确定当前编码帧中的部分编码块的SAO参数包括:所述GPU中的1个线程组warp中的每个线程将该每个线程对应于所述编码帧的预设位置的元素的数值拷贝到缓存,其中,所述编码帧中每个编码块拷贝的像素点数值为所述一个线程组warp大小的整数倍;在所述缓存中,所述每个线程确定该每个线程对应的一列像素值的边界类型和对应的所述原始图像帧的像素值的差值;按照预设规则排除的列,将所述列对应的线程的信息设置为零;根据所述一个线程组warp的统计信息,确定边界统计EO信息和条带统计BO信息。Preferably, the GPU uses one thread group warp, and determining the SAO parameters of some coding blocks in the current coding frame includes: each thread in one thread group warp in the GPU corresponds each thread to the The value of the element at the preset position of the coded frame is copied to the cache, wherein the pixel value copied by each coded block in the coded frame is an integer multiple of the warp size of the thread group; in the cache, the Each thread determines the difference between the boundary type of a column of pixel values corresponding to each thread and the pixel value of the corresponding original image frame; according to the column excluded according to the preset rules, the information of the thread corresponding to the column is set is zero; determine boundary statistical EO information and strip statistical BO information according to the statistical information of a thread group warp.
优选地,所述EO信息包括:一个颜色分量的16组N和E值,所述BO信息包括:32组N和E值。Preferably, the EO information includes: 16 sets of N and E values of a color component, and the BO information includes: 32 sets of N and E values.
优选地,不同颜色分量跳过的点数包括:Preferably, the points skipped by different color components include:
在SAO参数类型为EO 0度方向时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 0 degree direction, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3;
在SAO参数类型为EO 90度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5/4;在色度分量中底部跳过行数为2,右边跳过列数为3/2;When the SAO parameter type is EO 90-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3/2;
在SAO参数类型为EO 135度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 135 degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为EO 45度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 45-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为BO时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5/4;在色度分量中底部跳过行数为2/1,右边跳过列数为3/2;When the SAO parameter type is BO, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2/1, and the number of columns skipped at the right is 2/1 The number of columns is 3/2;
其中斜杠后面的数字为使用去块滤波之前像素点数值时跳过的点数。The number after the slash is the number of points skipped when using the pixel value before deblocking filtering.
优选地,根据所述编码块的依赖关系,进行决策处理,得到所述编码帧的所有编码块的SAO参数包括:Preferably, according to the dependencies of the coding blocks, decision processing is performed to obtain the SAO parameters of all coding blocks of the coding frame including:
按照错峰并行的方式进行所述决策处理。The decision-making process is performed in a peak-staggered parallel manner.
另一方面,还提供了一种采样点自适应偏移SAO参数估计装置,应用于GPU,包括:确定模块,用于使用预设线程数量,确定当前编码帧中的部分编码块的SAO参数;处理模块,用于根据所述编码块的依赖关系,进行决策处理,得到所述编码帧的所有编码块的SAO参数。On the other hand, a device for estimating sampling point adaptive offset SAO parameters is also provided, which is applied to GPU, including: a determination module, configured to use a preset number of threads to determine the SAO parameters of some coding blocks in the current coding frame; The processing module is configured to perform decision processing according to the dependencies of the coding blocks to obtain the SAO parameters of all coding blocks of the coding frame.
优选地,所述确定模块包括:Preferably, the determination module includes:
第一确定单元,用于所述GPU使用1个线程组warp时,用于将该每个线程对应于所述编码帧的预设位置的元素的数值拷贝到缓存,其中,所述编码帧中每个编码块拷贝的像素点数值为所述一个线程组warp大小的整数倍;The first determination unit is used to copy the value of the element at the preset position of each thread corresponding to the encoding frame to the cache when the GPU uses one thread group warp, wherein in the encoding frame The pixel point value copied by each coding block is an integer multiple of the warp size of the thread group;
第二确定单元,用于在所述缓存中,所述每个线程确定该每个线程对应的一列像素值的边界类型和对应的所述原始图像帧的像素值的差值;The second determination unit is used for determining, in the cache, each thread the difference between the boundary type of a column of pixel values corresponding to each thread and the corresponding pixel value of the original image frame;
设置单元,用于按照预设规则排除的列,将所述列对应的线程的信息设置为零;The setting unit is used to set the column excluded according to the preset rule, and set the information of the thread corresponding to the column to zero;
第三确定单元,用于根据所述一个线程组warp的统计信息,确定边界统计EO信息和条带统计BO信息。The third determination unit is configured to determine boundary statistics EO information and stripe statistics BO information according to the statistics information of the one thread group warp.
优选地,所述EO信息包括:一个颜色分量的16组N和E值,所述BO信息包括:32组N和E值。Preferably, the EO information includes: 16 sets of N and E values of a color component, and the BO information includes: 32 sets of N and E values.
优选地,所述设置模块在不同颜色分量时跳过的点数包括:Preferably, the points skipped by the setting module in different color components include:
在SAO参数类型为EO 0度方向时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 0 degree direction, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3;
在SAO参数类型为EO 90度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5/4;在色度分量中底部跳过行数为2,右边跳过列数为3/2;When the SAO parameter type is EO 90-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3/2;
在SAO参数类型为EO 135度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 135 degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为EO 45度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 45-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为BO时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5/4;在色度分量中底部跳过行数为2/1,右边跳过列数为3/2;When the SAO parameter type is BO, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2/1, and the number of columns skipped at the right is 2/1 The number of columns is 3/2;
其中斜杠后面的数字为使用去块滤波之前像素点数值时跳过的点数。The number after the slash is the number of points skipped when using the pixel value before deblocking filtering.
优选地,所述处理模块按照错峰并行的方式进行所述决策处理。Preferably, the processing module performs the decision-making processing in a peak-staggered parallel manner.
通过本发明,利用GPU,通过对编码块的像素值进行相应统计,完成每个编码块的SAO参数的决策,借助于GPU的并行处理能力实现该处理模块的加速,帮助实现CPU+GPU混合编码架构的编码的加速。Through the present invention, the GPU is used to make corresponding statistics on the pixel values of the coding blocks to complete the decision-making of the SAO parameters of each coding block, and realize the acceleration of the processing module by means of the parallel processing capability of the GPU, helping to realize CPU+GPU hybrid coding Acceleration of coding of schemas.
附图说明Description of drawings
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The accompanying drawings described here are used to provide a further understanding of the present invention and constitute a part of the application. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations to the present invention. In the attached picture:
图1是根据本发明实施例的SAO参数估计方法的流程图;Fig. 1 is the flowchart of the SAO parameter estimation method according to the embodiment of the present invention;
图2是根据本发明实施例的不同块的SAO决策顺序的示意图;Fig. 2 is a schematic diagram of the SAO decision sequence of different blocks according to an embodiment of the present invention;
图3是根据本发明实施例的一个编码块的SAO参数决策流程的流程图;Fig. 3 is a flow chart of the SAO parameter decision process of a coding block according to an embodiment of the present invention;
图4是根据本发明实施例的SAO参数估计装置的结构框图。Fig. 4 is a structural block diagram of an SAO parameter estimation device according to an embodiment of the present invention.
具体实施方式Detailed ways
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。Hereinafter, the present invention will be described in detail with reference to the drawings and examples. It should be noted that, in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
图1是根据本发明实施例的SAO参数估计方法的流程图,如图1该,该方法包括如下的步骤:Fig. 1 is the flow chart of the SAO parameter estimation method according to the embodiment of the present invention, as shown in Fig. 1, the method comprises the following steps:
步骤S102,GPU使用预设线程数量,确定当前编码帧中的所有编码块的SAO统计信息。In step S102, the GPU uses a preset number of threads to determine SAO statistical information of all coding blocks in the current coding frame.
步骤S104,根据该编码块的依赖关系,进行决策处理,得到当前编码帧的所有编码块的SAO参数。In step S104, according to the dependency relationship of the coding block, decision processing is performed to obtain the SAO parameters of all coding blocks in the current coding frame.
相关技术中,SAO参数的估计采用的是串行地模式遍历方式,其效率相对较低,通过上述步骤,使用GPU进行并行化地处理,能够在保持编码块之间参数依赖关系的前提下同时估计多个编码块的SAO参数,而且在对每个编码块进行参数估计时也并行计算多个补偿值参数配置对应的花费,提高了算法的并行度,使得SAO参数估计的时间复杂度明显降低。In related technologies, the estimation of SAO parameters adopts a serial pattern traversal method, and its efficiency is relatively low. Through the above steps, using GPU for parallel processing can simultaneously maintain the parameter dependencies between coding blocks. Estimate the SAO parameters of multiple coding blocks, and calculate the cost corresponding to multiple compensation value parameter configurations in parallel when estimating the parameters of each coding block, which improves the parallelism of the algorithm and significantly reduces the time complexity of SAO parameter estimation .
优选地,所述GPU可以使用1个线程组warp,上述步骤S102可以采用如下方式执行:Preferably, the GPU can use one thread group warp, and the above step S102 can be performed in the following manner:
所述GPU中的1个线程组warp中的每个线程将该每个线程对应于所述编码帧的预设位置的元素的数值拷贝到缓存,其中,所述编码帧中每个编码块拷贝的像素点数值为所述一个线程组warp大小的整数倍;Each thread in one thread group warp in the GPU copies the value of each thread corresponding to the element at the preset position of the encoding frame to the cache, wherein each encoding block copy in the encoding frame The pixel value of is an integer multiple of the warp size of a thread group;
在所述缓存中,所述每个线程确定该每个线程对应的一列像素值的边界类型和对应的所述原始图像帧的像素值的差值;In the cache, each thread determines the difference between the boundary type of a column of pixel values corresponding to each thread and the corresponding pixel value of the original image frame;
按照预设规则排除的列,将所述列对应的线程的信息设置为零;According to the column excluded according to the preset rules, the information of the thread corresponding to the column is set to zero;
根据所述一个线程组warp的统计信息,确定所有颜色分量的SAO统计信息。According to the statistical information of the one thread group warp, determine the SAO statistical information of all color components.
优选地,所述一个颜色分量的SAO信息包括该颜色分量的EO信息和BO信息,其中EO信息包括:该颜色分量的16组N和E值,所述BO信息包括:该颜色分量的32组N和E值,其中N为特定类别的像素点数量,E为特定类别的像素点位置的原始帧像素值与该模块执行时的像素值的差值的绝对值之和。Preferably, the SAO information of a color component includes EO information and BO information of the color component, wherein the EO information includes: 16 sets of N and E values of the color component, and the BO information includes: 32 sets of the color component N and E values, where N is the number of pixels of a specific category, and E is the sum of the absolute value of the difference between the original frame pixel value of the pixel position of a specific category and the pixel value when the module is executed.
作为另一个较优的实施方式,不同颜色分量跳过的点数包括:As another preferred embodiment, the number of points skipped by different color components includes:
在SAO参数类型为EO 0度方向时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 0 degree direction, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3;
在SAO参数类型为EO 90度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5/4;在色度分量中底部跳过行数为2,右边跳过列数为3/2;When the SAO parameter type is EO 90-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3/2;
在SAO参数类型为EO 135度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 135 degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为EO 45度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 45-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为BO时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5/4;在色度分量中底部跳过行数为2/1,右边跳过列数为3/2;When the SAO parameter type is BO, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2/1, and the number of columns skipped at the right is 2/1 The number of columns is 3/2;
其中斜杠后面的数字为使用去块滤波之前像素点数值时跳过的点数。The number after the slash is the number of points skipped when using the pixel value before deblocking filtering.
作为另一个较优的实施方式,步骤S104可以按照错峰并行的方式进行所述决策处理。As another preferred implementation manner, in step S104, the decision-making process may be performed in a parallel manner with shifted peaks.
下面将结合优选实施例进行说明,以下优选实施例结合了上述实施例及优选实施方式。The following will be described in combination with preferred embodiments, and the following preferred embodiments combine the above-mentioned embodiments and preferred implementation modes.
优选实施例一Preferred embodiment one
本优选实施例提供了一种GPU上的SAO参数估计方法。在本优选实施例中,从给定编码器滤波前的重建帧和原始图像帧像素值进行SAO参数的估计,利用GPU的高效并行处理特性,首先对每个编码块并行计算统计信息,然后对块按照依赖关系进行并行决策,从而实现该模块的成倍加速。下面进行详细描述:This preferred embodiment provides a method for estimating SAO parameters on a GPU. In this preferred embodiment, the estimation of SAO parameters is carried out from the reconstructed frame before filtering by the given encoder and the pixel values of the original image frame, and the efficient parallel processing characteristics of GPU are used to firstly calculate the statistical information for each coding block in parallel, and then Blocks make parallel decisions based on dependencies, resulting in a multiplied speedup for that module. A detailed description is given below:
在本优选实施例中,GPU上的线程分配策略可以包括:In this preferred embodiment, the thread allocation strategy on the GPU may include:
a)在SAO统计信息计算和SAO参数决策中,每个编码块分配额线程数量为GPU的一个线程组warp的大小。a) In SAO statistical information calculation and SAO parameter decision-making, the number of threads assigned to each encoding block is the size of a thread group warp of GPU.
b)对每个编码块,每行拷贝的像素点数量为一个warp大小的整数倍,不额外拷贝超过块边界的像素。b) For each encoding block, the number of pixels copied in each row is an integer multiple of the size of a warp, and pixels beyond the block boundary are not additionally copied.
优选地,在本优选实施例中,舍弃图像边界的部分信息,以实现快速的信息统计,对每个编码块应该跳过的像素点数量如表格2所示。Preferably, in this preferred embodiment, part of the information of the image boundary is discarded to achieve fast information statistics, and the number of pixels that should be skipped for each coding block is shown in Table 2.
表2不同颜色分量跳过的点数Table 2 Number of points skipped by different color components
需要说明的是,斜杠后的数字为使用去块滤波之前像素点数值时应该跳过的点数。It should be noted that the number after the slash is the number of points that should be skipped when using the pixel value before deblocking filtering.
优选实施例二Preferred embodiment two
本优选实施例提供了一种GPU上的快速SAO决策方法。在本优选实施例中,该方法可以包括SAO统计信息计算和SAO参数决策两个步骤。在SAO统计信息计算时充分发挥GPU的并行处理能力,可以整帧图像同时处理;在SAO参数决策时,限于块之间的依赖关系,按照错峰并行处理的方式进行处理。This preferred embodiment provides a fast SAO decision-making method on GPU. In this preferred embodiment, the method may include two steps of SAO statistical information calculation and SAO parameter decision-making. In the calculation of SAO statistical information, the parallel processing capability of the GPU can be fully utilized, and the entire frame of image can be processed at the same time; in the decision-making of SAO parameters, it is limited to the dependencies between blocks, and the processing is carried out in a peak-staggered parallel processing manner.
作为一个较优的实施方式,在SAO统计信息计算中,每个编码块之间不存在依赖关系,可以单独由一个线程组进行处理,如果线程组数量足够多可以同时处理所有的块。As a preferred implementation, in the calculation of SAO statistical information, there is no dependency relationship between each coding block, and it can be processed by a single thread group. If the number of thread groups is large enough, all blocks can be processed at the same time.
优选地,若提前进行SAO统计信息计算,可以同时处理的块数量为当前重建帧已经生成的块;Preferably, if the SAO statistical information is calculated in advance, the number of blocks that can be processed at the same time is the blocks that have been generated in the current reconstruction frame;
优选地,在进行SAO参数决策时,使用错峰并行处理技术进行并行处理,充分提高并行度。Preferably, when making SAO parameter decision-making, peak-staggered parallel processing technology is used for parallel processing to fully increase the parallelism.
优选实施例二Preferred embodiment two
本优选实施例提供了一种网络表格间的快照关系确定方法。在本优选实施例中,利用GPU的强大并行处理能力,对编码图像基于分块进行快速并行地SAO信息统计,然后在保证依赖关系的条件下执行快速的SAO参数决策,在保证客观评价质量无明显损失的条件下实现成倍的加速。This preferred embodiment provides a method for determining snapshot relationship between network tables. In this preferred embodiment, the powerful parallel processing capability of the GPU is used to perform fast and parallel SAO information statistics on the coded image based on the block, and then execute fast SAO parameter decision-making under the condition of ensuring the dependency relationship. Doubling speedup with significant loss.
下面通过具体实施方式进行说明。The following description will be given through specific embodiments.
本优选实施例包括:SAO统计信息计算。This preferred embodiment includes: SAO statistical information calculation.
具体地,在SAO滤波的处理中,编码块中非边界上的像素点都会被分类然后滤波,每个类别的补偿值,依赖于该类点的数量(记为N)和该类点的值与原图像的差值(记为E)。EO的四个类别中,每个类别又分成了四个子类别,因而对一个颜色分量有16组N、E值。而BO依据标准有32组,故而有32组N、E值。因此对每个颜色分量需要计算48对N、E值。边界统计信息和条带统计信息的计算中,为每个编码块(大小为NxN)分配一个warp,由此避免额外的同步。Specifically, in the processing of SAO filtering, the non-boundary pixel points in the coding block will be classified and then filtered, and the compensation value of each category depends on the number of points of this type (denoted as N) and the value of points of this type The difference with the original image (denoted as E). Among the four categories of EO, each category is divided into four subcategories, so there are 16 sets of N and E values for a color component. And BO has 32 groups according to the standard, so there are 32 groups of N and E values. Therefore, 48 pairs of N and E values need to be calculated for each color component. In the calculation of boundary statistics and slice statistics, a warp is allocated for each coded block (size NxN), thereby avoiding additional synchronization.
优选地,对边界信息的统计按照如下步骤进行:Preferably, the statistics of boundary information are performed according to the following steps:
第一步:线程组每个线程拷贝对应位置元素数值到共享缓存。Step 1: Each thread in the thread group copies the value of the corresponding position element to the shared cache.
第二步:从SAO滤波处理的行开始到表格2中限定的最后一行,每个线程计算对应一列像素值的边界类型以及对应的与原图像的差值。Step 2: From the row of SAO filter processing to the last row defined in Table 2, each thread calculates the boundary type corresponding to a column of pixel values and the corresponding difference with the original image.
第三步:依照表2对应该排除的列,将对应列对应的线程的局部统计信息清零。Step 3: According to the columns that should be excluded according to Table 2, clear the local statistical information of the threads corresponding to the corresponding columns.
第四步:累加线程组的统计信息,求出4个子类别的N、E值即统计信息。Step 4: Accumulate the statistical information of the thread group, and obtain the N and E values of the four subcategories, that is, the statistical information.
优选地,在BO的统计信息计算中,线程组根据线程编号分成4个小组,每个小组完成一部分像素值的信息统计。其中,不同颜色分量以及SAO类型需要跳过的编码块的边界点数量如表格2所示。Preferably, in the BO statistical information calculation, the thread group is divided into four groups according to the thread numbers, and each group completes the information statistics of a part of the pixel values. Table 2 shows the number of boundary points of coding blocks that need to be skipped for different color components and SAO types.
本优选实施例包括:SAO参数决策。This preferred embodiment includes: SAO parameter decision-making.
优选地,类似于其他的编码元素,一个编码块的SAO参数也可以参考其上边或者左边的块的参数,这点带来了编码块之间的依赖关系,在不破坏这种依赖关系的前提下,可以以如图的遍历顺序完成所有编码块的SAO参数估计,其中标有相同数值的块是可以在同一时间处理的,而数值较大者需要等待数值较小的块处理完毕。Preferably, similar to other coding elements, the SAO parameters of a coding block can also refer to the parameters of the block above or to the left, which brings about the dependency between coding blocks, without destroying the dependency Next, the SAO parameter estimation of all coding blocks can be completed in the traversal order as shown in the figure, where the blocks marked with the same value can be processed at the same time, and the block with a larger value needs to wait for the block with a smaller value to be processed.
在这种框架下,为每个决策中的块分配一个线程组,进行决策处理,其处理流程是:Under this framework, a thread group is assigned to each decision-making block for decision-making processing. The processing flow is:
第一步:初始化,重置所有行的上下文模型,同时参考块的参数数组置为空,下次处理块的位置横纵坐标之和设置为seq=0。Step 1: Initialize, reset the context model of all rows, and set the parameter array of the reference block to be empty, and set the sum of the horizontal and vertical coordinates of the position of the next processing block to seq=0.
第二步:对所有横纵坐标之和为seq的块,记c为上下文模型的状态,依照如图所示的流程,执行SAO参数估计;Step 2: For all blocks whose sum of horizontal and vertical coordinates is seq, record c as the state of the context model, and perform SAO parameter estimation according to the process shown in the figure;
第三步:将当前决策的所有块的SAO参数写入全局存储,并使用共享缓存备份用故意后续的参考;Step 3: Write the SAO parameters of all the blocks of the current decision into the global storage, and use the shared cache backup for future reference;
第四步:如果所有块处理完毕,则结束,否则seq增加1后从第二步继续循环。Step 4: If all blocks are processed, end, otherwise seq increases by 1 and continues to cycle from step 2.
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。It should be noted that the steps shown in the flowcharts of the accompanying drawings may be performed in a computer system, such as a set of computer-executable instructions, and that although a logical order is shown in the flowcharts, in some cases, The steps shown or described may be performed in an order different than here.
如以下所使用的,术语“子模块”、“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统和方法较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。As used below, the terms "sub-module" and "module" may be a combination of software and/or hardware that realizes a predetermined function. Although the systems and methods described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.
在另外一个实施例中,还提供了一种SAO参数估计软件,该软件用于执行上述实施例及优选实施例中描述的技术方案。In another embodiment, a software for estimating SAO parameters is also provided, and the software is used to implement the technical solutions described in the above embodiments and preferred embodiments.
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述SAO参数估计软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。In another embodiment, a storage medium is also provided, in which the above-mentioned SAO parameter estimation software is stored, and the storage medium includes but is not limited to: optical disks, floppy disks, hard disks, rewritable memories, and the like.
本发明实施例还提供了一种SAO参数估计装置,该SAO参数估计装置可以用于实现上述SAO参数估计方法及优选实施方式,已经进行过说明的,不再赘述,下面对SAO参数估计装置中涉及到的模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统和方法以软件来实现较佳,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。The embodiment of the present invention also provides an SAO parameter estimation device, which can be used to implement the above SAO parameter estimation method and preferred implementation modes, which have already been explained and will not be described in detail, and the SAO parameter estimation device is described below The modules involved in are described. As used below, the term "module" may be a combination of software and/or hardware that realizes a predetermined function. Although the systems and methods described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.
图4是根据本发明实施例的SAO参数估计装置的结构框图,该装置可以应用于GPU,如图4所示,该装置包括:确定模块42,处理模块44,下面对上述结构进行详细说明。Fig. 4 is a structural block diagram of an SAO parameter estimation device according to an embodiment of the present invention, the device can be applied to GPU, as shown in Fig. 4, the device includes: a determination module 42, a processing module 44, the above structure will be described in detail below .
确定模块42,用于使用预设线程数量,确定当前编码帧中的所有编码块的SAO统计信息;处理模块44,连接至确定模块42,用于根据所述编码块的依赖关系,进行决策处理,得到所述编码帧的所有编码块的SAO参数。The determination module 42 is used to determine the SAO statistical information of all coding blocks in the current coding frame by using the preset number of threads; the processing module 44 is connected to the determination module 42 and is used to perform decision processing according to the dependencies of the coding blocks , to obtain the SAO parameters of all coded blocks of the coded frame.
优选地,所述确定模块可以包括:Preferably, the determination module may include:
第一确定单元,用于所述GPU使用1个线程组warp时,用于将该每个线程对应于所述编码帧的预设位置的元素的数值拷贝到缓存,其中,所述编码帧中每个编码块拷贝的像素点数值为所述一个线程组warp大小的整数倍;The first determination unit is used for copying the value of the element at the preset position of each thread corresponding to the encoding frame to the cache when the GPU uses one thread group warp, wherein in the encoding frame The pixel point value copied by each coding block is an integer multiple of the warp size of the thread group;
第二确定单元,用于在所述缓存中,所述每个线程确定该每个线程对应的一列像素值的边界类型和对应的所述原始图像帧的像素值的差值;The second determination unit is used for determining, in the cache, each thread the difference between the boundary type of a column of pixel values corresponding to each thread and the corresponding pixel value of the original image frame;
设置单元,用于按照预设规则排除的列,将所述列对应的线程的信息设置为零;The setting unit is used to set the column excluded according to the preset rule, and set the information of the thread corresponding to the column to zero;
第三确定单元,用于根据所述一个线程组warp的统计信息,确定边界统计EO信息和条带统计BO信息。The third determination unit is configured to determine boundary statistics EO information and stripe statistics BO information according to the statistics information of the one thread group warp.
优选地,所述EO信息包括:一个颜色分量的16组N和E值,所述BO信息包括:32组N和E值。Preferably, the EO information includes: 16 sets of N and E values of a color component, and the BO information includes: 32 sets of N and E values.
优选地,所述设置模块在不同颜色分量时跳过的点数包括:Preferably, the points skipped by the setting module in different color components include:
在SAO参数类型为EO 0度方向时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 0 degree direction, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3;
在SAO参数类型为EO 90度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5/4;在色度分量中底部跳过行数为2,右边跳过列数为3/2;When the SAO parameter type is EO 90-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2, and the column skipped at the right The number is 3/2;
在SAO参数类型为EO 135度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 135 degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为EO 45度方向时,在亮度分量中底部跳过行数为4,右边跳过列数为5;在色度分量中底部跳过行数为2,右边跳过列数为3;When the SAO parameter type is EO 45-degree direction, the number of rows skipped at the bottom in the luma component is 4, and the number of columns skipped at the right is 5; the number of rows skipped at the bottom in the chroma component is 2, and the number of columns skipped at the right is 3;
在SAO参数类型为BO时,在亮度分量中底部跳过行数为4/3,右边跳过列数为5/4;在色度分量中底部跳过行数为2/1,右边跳过列数为3/2;When the SAO parameter type is BO, the number of rows skipped at the bottom in the luma component is 4/3, and the number of columns skipped at the right is 5/4; the number of rows skipped at the bottom in the chroma component is 2/1, and the number of columns skipped at the right is 2/1 The number of columns is 3/2;
其中斜杠后面的数字为使用去块滤波之前像素点数值时跳过的点数。The number after the slash is the number of points skipped when using the pixel value before deblocking filtering.
优选地,所述处理模块按照错峰并行的方式进行所述决策处理。Preferably, the processing module performs the decision-making processing in a peak-staggered parallel manner.
通过上述实施例,提供了一种SAO参数估计方法及装置,GPU上的SAO参数估计方法。其处理过程分为SAO信息计算和SAO参数决策两个部分。根据GPU的处理特性,适当地安排GPU上线程的工作量与算法处理流程,能够实现较高的加速比。在SAO信息计算中,充分利用GPU的计算能力,同时对多个块进行处理,且对一个块的处理中,避免额外的单个像素值的拷贝,由此在损失很小的情况下实现了较高的加速比,与此同时,提出了去块滤波前应该跳过的边界点信息。在SAO决策中,消除行之间的上下文编码模型的依赖性,利用错峰并行处理实现较高的并行度。Through the above embodiments, a method and device for estimating SAO parameters, and a method for estimating SAO parameters on a GPU are provided. Its processing process is divided into two parts: SAO information calculation and SAO parameter decision-making. According to the processing characteristics of the GPU, properly arranging the workload of the threads on the GPU and the algorithm processing flow can achieve a higher speed-up ratio. In the calculation of SAO information, the computing power of the GPU is fully utilized to process multiple blocks at the same time, and in the processing of a block, an additional copy of a single pixel value is avoided, thereby achieving a relatively small loss. High speedup, meanwhile, proposes boundary point information that should be skipped before deblocking filtering. In SAO decision-making, the dependence of the context coding model between rows is eliminated, and a higher degree of parallelism is achieved by using peak-staggered parallel processing.
需要说明的是,这些技术效果并不是上述所有的实施方式所具有的,有些技术效果是某些优选实施方式才能取得的。It should be noted that these technical effects are not possessed by all the above-mentioned implementation manners, and some technical effects can only be obtained by certain preferred implementation manners.
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that each module or each step of the above-mentioned present invention can be realized by a general-purpose computing device, and they can be concentrated on a single computing device, or distributed in a network formed by multiple computing devices Optionally, they can be implemented with program codes executable by computing devices, so that they can be stored in storage devices and executed by computing devices, or they can be made into individual integrated circuit modules, or their Multiple modules or steps are implemented as a single integrated circuit module. As such, the present invention is not limited to any specific combination of hardware and software.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.
Claims (10)
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 Decoding |
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 Decoding |
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 |
---|---|---|
RU2760909C1 (en) | Encoding method | |
US12170757B2 (en) | Hardware codec accelerators for high-performance video encoding | |
CN104303506B (en) | Device and method for processing adaptive sampling point offset of video data | |
CN103503456B (en) | In-loop processing method and device for reconstructing video | |
CN110036637B (en) | Method and apparatus for denoising reconstructed images | |
US9344717B2 (en) | Method and apparatus for sample adaptive offset in a video decoder | |
KR102320733B1 (en) | Deblocking filter method and apparatus | |
CN103947208A (en) | Method and apparatus for reducing deblocking filter | |
US11991399B2 (en) | Apparatus and method for de-blocking filtering | |
US20090285308A1 (en) | Deblocking algorithm for coded video | |
CN104506867B (en) | Sample point self-adapted offset parameter method of estimation and device | |
KR20130095927A (en) | Apparatus for correcting of in-loop pixel filter using parameterized complexity measure and method of the same | |
WO2023082834A1 (en) | Video compression method and apparatus, and computer device and storage medium | |
US20240267529A1 (en) | Context-aware quantization for high-performance video encoding | |
WO2025036071A1 (en) | Video coding method, apparatus and device, storage medium, and program product | |
US20240333923A1 (en) | Image encoding/decoding method using neural network-based in-loop filter, device, and recording medium storing bitstream | |
WO2022077490A1 (en) | Intra prediction method, encoder, decoder, and storage medium | |
US12316863B2 (en) | Chroma-from-luma mode selection for high-performance video encoding | |
Wang et al. | Region of interest oriented fast mode decision for depth map coding in DIBR | |
US8503537B2 (en) | System, method and computer readable medium for decoding block wise coded video | |
CN103702132B (en) | filtering method, device and equipment | |
EP3987811A1 (en) | Combined loop filtering for image processing | |
CN113132721B (en) | Video coding method and device, readable storage medium and electronic equipment | |
CN107623849B (en) | Video decoding method and apparatus | |
CN105230015B (en) | Method and apparatus for adaptively processing video samples in video signal frames |
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 |