CN105872553A - 一种基于并行计算的自适应环路滤波方法 - Google Patents

一种基于并行计算的自适应环路滤波方法 Download PDF

Info

Publication number
CN105872553A
CN105872553A CN201610274918.4A CN201610274918A CN105872553A CN 105872553 A CN105872553 A CN 105872553A CN 201610274918 A CN201610274918 A CN 201610274918A CN 105872553 A CN105872553 A CN 105872553A
Authority
CN
China
Prior art keywords
adaptive loop
loop filter
gpu
cpu
filtering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610274918.4A
Other languages
English (en)
Other versions
CN105872553B (zh
Inventor
纪庆革
高向
梁凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Sun Yat Sen University
Original Assignee
National Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Sun Yat Sen University filed Critical National Sun Yat Sen University
Priority to CN201610274918.4A priority Critical patent/CN105872553B/zh
Publication of CN105872553A publication Critical patent/CN105872553A/zh
Application granted granted Critical
Publication of CN105872553B publication Critical patent/CN105872553B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

本发明提出了一种基于并行计算的自适应环路滤波方法,使用的并行计算主要是基于CUDA的GPU设备的多线程流水线并行方式。本发明通过深入研究视频编解码标准AVS2中原有的自适应环路滤波算法,发现在滤波处理中对像素的处理具有一定的独立性和低耦合度,这些特点非常适合于在GPU设备上进行处理,进而充分发挥GPU设备的多线程流水线并行的特点。然后,通过修改相关处理流程,并运用GPU设备能够解决复杂计算问题的特性,采用CUDA技术重新设计,使得自适应环路滤波算法能够在GPU设备上运行。进而得到较高的加速比,提高自适应环路滤波效率,以此来提高整个编解码器的运行速度和相关性能指标。

Description

一种基于并行计算的自适应环路滤波方法
技术领域
本发明涉及视频编解码领域,更具体地,涉及一种基于并行计算的自适应环路滤波算法。
背景技术
根据第37次中国互联网发展状况统计报告显示:截至2015年12月,中国网络视频用户规模达5.04亿,较2014年底增加7093万,网络视频用户使用率为73.2%,较2014年底增加了6.5个百分点。同时,随着国产智能手机普遍发展,手机价格不断降低,移动终端作为互联网的入口的地位不断提升。不管是WiFi还是移动4G网络,其技术都有长足的发展和广泛的应用,网络带宽也在不断的提升。因此促使了手机视频的大幅度增长。手机视频用户规模为4.05亿,与2014年底相比增长了9228万,增长率为29.5%。手机网络视频使用率为65.4%,相比2014年底增长9.2个百分点。不仅如此,视频在监控,医疗,会议和教育等传统应用领域也在快速的发展,新型的视频应用也在不断的涌现,如公开课视频和以视频流为主要元素的云游戏等。
然而,高清视频应用必然会带来传输带宽和存储空间的问题,这些一直都是视频应用中最为重要的资源。例如,1080P的视频序列采用当今的主流视频压缩标准H.264/AVC进行压缩,需要占用6-10M的带宽。这就给网络和系统的搭建带来很大的成本压力。
在上述的趋势下,如果继续采用传统的H.264视频压缩标准就会出现一些局限性,所以面对视频应用不断走向高清晰度、高帧率和高压缩方向,国际上提出了新的视频编解码标准H.265/HEVC。同时我国在自主研究的视频编解码技术AVS的基础上提出的第二代技术标准AVS2。
虽然在视频压缩比方面,AVS2 技术能带来对比AVS 技术30~50%的提升,然而这样高的压缩效率确实用高昂的时间开销换来的。所以这样的新技术也存在着不可避免的缺点,时间开销庞大,不支持大多数硬件,通常需要更高效率更多的处理器来辅助。所以为了让AVS2 能够满足市场应用需求,并行技术不再仅仅是一个选择,而是一个必然趋势。
环路滤波主要运用于视频编解码器中,例如:h.264、HEVC或AVS2。在视频编解码标准中环路滤波时非常重要的一环。由于在编码过程中,编码器对原始的视频帧进行了相关的技术处理,已达到压缩的目的。而这些技术处理,一般都是有损压缩。环路滤波的主要目的就是修复这些重建视频帧图像,以此来把有损压缩控制在可以接受的范围内。而在编码回路中,重建图像帧又被用作帧间预测的输入。因此,重建图像较低的失真度又能提高帧间预测的准确度。从而整个编码器的率失真度就有了较好的提高。
而在AVS2视频编码标准中,环路滤波共有三种。自适应环路滤波是环路滤波中的最后一环,位于区块滤波和样本自适应偏移滤波之后。自适应环路滤波的基础是维纳滤波。运用维纳滤波的相关特性,可以将重建的视频帧图像与原始视频帧图像之间的均方差达到最小。这样既可以对重建图像进行去噪声处理,又可以提高重建图像的视觉质量。
虽然自适应环路滤波有上述优点,但是其在运算速度不够快,滤波效率上还有待提高。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷,一种运算速度快、滤波效率高的基于并行计算的自适应环路滤波方法。
为解决上述技术问题,本发明的技术方案如下:
一种基于并行计算的自适应环路滤波方法,采用CUDA(通用并行计算架构)技术,并使用CPU+GPU的混合架构,CPU设备负责滤波流程的控制,GPU设备负责滤波过程中相关数据的计算,所述算法包括以下步骤:
S1:对进行自适应环路滤波的CPU和GPU中的相关变量进行初始化;
S2:CPU统计样本数据;
S3:CPU通过核函数调用GPU进行LCU(最大编码单元)位置信息计算和图像相关矩阵统计,并将统计数据写回到CPU;
S4:CPU根据统计数据设置最大编码单元的ALF(环路自适应滤波)标志位,所述ALF标志位为on或off两个取值;
S5:CPU通过核函数调用GPU进行滤波系数求解,并将数据写回到CPU;
S6:在CPU设置当前图像的ALF标志位;
S7:CPU通过核函数调用GPU对重建图像进行环路自适应滤波;
S8:在CPU上,将滤波系数和ALF标志位写入码流。
在一种优选的方案中,所述方法还包括:对外提供一个自适应环路滤波的接口,外部函数通过调用该接口来完成滤波功能。
在一种优选的方案中,步骤S1中,对GPU中的相关变量进行初始化包括选择GPU设备和初始化显存数据;首先对当前运行环境进行检测,如果没有GPU设备则通知Host端,此时滤波模块仍然采用原有的串行方法;如果有多个GPU设备,则选择配置较高的设备;然后,在GPU的global内存和constant内存分配相应的空间,并初始化。
在一种优选的方案中,步骤S2中,CPU通过核函数调用GPU统计样本数据,包括边界统计、亮度统计和色度统计。
在一种优选的方案中,所述边界统计包括计算LCU数量、计算LCU长宽信息、统计LCU右上角的坐标、统计LCU周围邻块信息。
边界统计首先根据当前视频帧的宽高属性计算出LCU的数量;然后,以LCU数量为并行线程数量,每个线程分别计算一个LCU的位置信息,位置信息包括LCU的宽高属性、位置坐标、邻块信息。
在一种优选的方案中,所述亮度统计包括LCU的区域索引、像素边界判断、自相关矩阵统计、互相关矩阵统计、计算像素累加和。
在一种优选的方案中,所述色度统计包括像素边界判断、自相关矩阵统计、互相关矩阵统计。
在一种优选的方案中,步骤S5中,滤波系数求解包括分解自相关矩阵、求解逆矩阵、求解相关系数。滤波系数求解主要是用并行方式对Winer方程求解,主要采用cholesky方法进行求解。
在一种优选的方案中,步骤S5中,滤波过程分成色度滤波和亮度滤波,亮度分量由于要维持一组滤波器,所以加入滤波区域融合的过程。
在一种优选的方案中,步骤S7中,滤波过程包括导出样本区域、导出滤波系数、对样本滤波处理。环路自适应滤波使用已经选择好的滤波系数,对重建图像进行滤波处理并输出,提供给编码器进行下一步的处理。
与现有技术相比,本发明技术方案的有益效果是:本发明提出了一种基于并行计算的自适应环路滤波方法,使用的并行计算主要是基于CUDA的GPU设备的多线程流水线并行方式。本发明通过深入研究视频编解码标准AVS2中原有的自适应环路滤波算法,发现在滤波处理中对像素的处理具有一定的独立性和低耦合度,这些特点非常适合于在GPU设备上进行处理,进而充分发挥GPU设备的多线程流水线并行的特点。然后,通过修改相关处理流程,并运用GPU设备能够解决复杂计算问题的特性,采用CUDA技术重新设计,使得自适应环路滤波算法能够在GPU设备上运行。进而得到较高的加速比,提高自适应环路滤波效率,以此来提高整个编解码器的运行速度和相关性能指标。
附图说明
图1为基于并行计算的自适应环路滤波方法的整体流程图。
图2为基于并行计算的自适应环路滤波方法的功能分工图。
图3为基于并行计算的自适应环路滤波方法的GPU功能模块图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1-3所示,一种基于并行计算的自适应环路滤波方法,采用CUDA(通用并行计算架构)技术,并使用CPU+GPU的混合架构,CPU设备负责滤波流程的控制,GPU设备负责滤波过程中相关数据的计算,所述算法包括以下步骤:
S1:对进行自适应环路滤波的CPU和GPU中的相关变量进行初始化;对GPU中的相关变量进行初始化包括选择GPU设备和初始化显存数据。在具体实施过程中,首先要对当前运行环境进行检测,如果没有GPU设备则通知Host端,此时滤波模块仍然采用原有的串行方法;如果有多个GPU设备,则选择配置较高的设备。然后,在GPU的global内存和constant内存分配相应的空间,并初始化。
S2:CPU通过核函数调用GPU统计样本数据,包括边界统计、亮度统计和色度统计。
所述边界统计包括计算LCU数量、计算LCU长宽信息、统计LCU右上角的坐标、统计LCU周围邻块信息。
边界统计首先根据当前视频帧的宽高属性计算出LCU的数量。然后,以LCU数量为并行线程数量,每个线程分别计算一个LCU的位置信息。这些信息包括LCU的宽高属性,位置坐标,邻块信息等。
所述亮度统计包括LCU的区域索引、像素边界判断、自相关矩阵统计、互相关矩阵统计、计算像素累加和。
所述色度统计包括像素边界判断、自相关矩阵统计、互相关矩阵统计。
亮度统计和色度统计都是以视频帧中LCU为单位,进行自相关矩阵和互相关矩阵统计。不同的是,由于对于亮度的滤波处理有区域融合步骤,所以亮度统计模块的功能较为复杂。
S3:CPU通过核函数调用GPU进行LCU(最大编码单元)位置信息计算和图像相关矩阵统计,并将统计数据写回到CPU;
S4:CPU根据统计数据设置最大编码单元的ALF(环路自适应滤波)标志位,所述ALF标志位为on或off两个取值;
S5:CPU通过核函数调用GPU进行滤波系数求解,滤波系数求解包括分解自相关矩阵、求解逆矩阵、求解相关系数,并将数据写回到CPU。
滤波过程分成色度滤波和亮度滤波,亮度分量由于要维持一组滤波器,所以加入滤波区域融合的过程。
滤波系数求解主要是用并行方式对Winer方程求解,主要采用cholesky方法进行求解。
S6:在CPU设置当前图像的ALF标志位,实现图像级别ALF滤波标志位判定。
S7:CPU通过核函数调用GPU对重建图像进行环路自适应滤波;滤波过程包括导出样本区域、导出滤波系数、对样本滤波处理。
环路自适应滤波使用已经选择好的滤波系数,对重建图像进行滤波处理并输出,提供给编码器进行下一步的处理。
S8:在CPU上,将滤波系数和ALF标志位写入码流。
在具体实施过程中,所述方法还包括:对外提供一个自适应环路滤波的接口,外部函数通过调用该接口来完成滤波功能。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于并行计算的自适应环路滤波方法,其特征在于,采用CUDA技术,并使用CPU+GPU的混合架构,CPU设备负责滤波流程的控制,GPU设备负责滤波过程中相关数据的计算,所述算法包括以下步骤:
S1:对进行自适应环路滤波的CPU和GPU中的相关变量进行初始化;
S2:CPU统计样本数据;
S3:CPU通过核函数调用GPU进行LCU位置信息计算和图像相关矩阵统计,并将统计数据写回到CPU;
S4:CPU根据统计数据设置最大编码单元的ALF标志位,所述ALF标志位为on或off两个取值;
S5:CPU通过核函数调用GPU进行滤波系数求解,并将数据写回到CPU;
S6:在CPU设置当前图像的ALF标志位;
S7:CPU通过核函数调用GPU对重建图像进行环路自适应滤波;
S8:在CPU上,将滤波系数和ALF标志位写入码流。
2.根据权利要求1所述的基于并行计算的自适应环路滤波方法,其特征在于,所述方法还包括:对外提供一个自适应环路滤波的接口,外部函数通过调用该接口来完成滤波功能。
3.根据权利要求1所述的基于并行计算的自适应环路滤波方法,其特征在于,步骤S1中,对GPU中的相关变量进行初始化包括选择GPU设备和初始化显存数据,首先对当前运行环境进行检测,如果没有GPU设备则通知Host端,此时滤波模块仍然采用原有的串行方法;如果有多个GPU设备,则选择配置较高的设备;然后,在GPU的global内存和constant内存分配相应的空间,并初始化。
4.根据权利要求1所述的基于并行计算的自适应环路滤波方法,其特征在于,步骤S2中,CPU通过核函数调用GPU统计样本数据,包括边界统计、亮度统计和色度统计。
5.根据权利要求4所述的基于并行计算的自适应环路滤波方法,其特征在于,所述边界统计包括计算LCU数量、计算LCU长宽信息、统计LCU右上角的坐标、统计LCU周围邻块信息;
边界统计首先根据当前视频帧的宽高属性计算出LCU的数量;然后,以LCU数量为并行线程数量,每个线程分别计算一个LCU的位置信息,位置信息包括LCU的宽高属性、位置坐标、邻块信息。
6.根据权利要求4所述的基于并行计算的自适应环路滤波方法,其特征在于,所述亮度统计包括LCU的区域索引、像素边界判断、自相关矩阵统计、互相关矩阵统计、计算像素累加和。
7.根据权利要求4所述的基于并行计算的自适应环路滤波方法,其特征在于,所述色度统计包括像素边界判断、自相关矩阵统计、互相关矩阵统计。
8.根据权利要求1所述的基于并行计算的自适应环路滤波方法,其特征在于,步骤S5中,滤波系数求解包括分解自相关矩阵、求解逆矩阵、求解相关系数;滤波系数求解用并行方式对Winer方程求解,采用cholesky方法进行求解。
9.根据权利要求1所述的基于并行计算的自适应环路滤波方法,其特征在于,步骤S5中,滤波过程分成色度滤波和亮度滤波,亮度分量由于要维持一组滤波器,所以加入滤波区域融合的过程。
10.根据权利要求1所述的基于并行计算的自适应环路滤波方法,其特征在于,步骤S7中,环路自适应滤波的过程包括导出样本区域、导出滤波系数、对样本滤波处理;环路自适应滤波使用已经选择好的滤波系数,对重建图像进行滤波处理并输出,提供给编码器进行下一步的处理。
CN201610274918.4A 2016-04-28 2016-04-28 一种基于并行计算的自适应环路滤波方法 Expired - Fee Related CN105872553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610274918.4A CN105872553B (zh) 2016-04-28 2016-04-28 一种基于并行计算的自适应环路滤波方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610274918.4A CN105872553B (zh) 2016-04-28 2016-04-28 一种基于并行计算的自适应环路滤波方法

Publications (2)

Publication Number Publication Date
CN105872553A true CN105872553A (zh) 2016-08-17
CN105872553B CN105872553B (zh) 2018-08-28

Family

ID=56628738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610274918.4A Expired - Fee Related CN105872553B (zh) 2016-04-28 2016-04-28 一种基于并行计算的自适应环路滤波方法

Country Status (1)

Country Link
CN (1) CN105872553B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304633A (zh) * 2018-01-22 2018-07-20 武汉大学 水力瞬变数值模拟方法
CN109831288A (zh) * 2019-03-10 2019-05-31 西安电子科技大学 针对大符号率偏差的盲同步方法、装置及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068364A (zh) * 2006-06-16 2007-11-07 威盛电子股份有限公司 视频编码器与图形处理单元
CN103297777A (zh) * 2013-05-23 2013-09-11 广州高清视信数码科技股份有限公司 一种用于加速视频编码速度的方法及装置
US20130322523A1 (en) * 2011-05-10 2013-12-05 Mediatek Inc. Method and apparatus for reduction of in-loop filter buffer
CN103957425A (zh) * 2014-04-23 2014-07-30 华为技术有限公司 图像处理方法及系统
CN104378642A (zh) * 2014-10-29 2015-02-25 南昌大学 一种基于cuda的h.264分数像素快速插值方法
CN104702963A (zh) * 2015-02-13 2015-06-10 北京大学 一种自适应环路滤波的边界处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068364A (zh) * 2006-06-16 2007-11-07 威盛电子股份有限公司 视频编码器与图形处理单元
US20130322523A1 (en) * 2011-05-10 2013-12-05 Mediatek Inc. Method and apparatus for reduction of in-loop filter buffer
CN103297777A (zh) * 2013-05-23 2013-09-11 广州高清视信数码科技股份有限公司 一种用于加速视频编码速度的方法及装置
CN103957425A (zh) * 2014-04-23 2014-07-30 华为技术有限公司 图像处理方法及系统
CN104378642A (zh) * 2014-10-29 2015-02-25 南昌大学 一种基于cuda的h.264分数像素快速插值方法
CN104702963A (zh) * 2015-02-13 2015-06-10 北京大学 一种自适应环路滤波的边界处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
仝明亮: ""基于GPU的H.265视频并行编码设计与实现"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *
邹彬彬 等: "一种基于CPU+GPU的AVS视频并行编码方法", 《上海大学学报(自然科学版)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304633A (zh) * 2018-01-22 2018-07-20 武汉大学 水力瞬变数值模拟方法
CN109831288A (zh) * 2019-03-10 2019-05-31 西安电子科技大学 针对大符号率偏差的盲同步方法、装置及计算机存储介质

Also Published As

Publication number Publication date
CN105872553B (zh) 2018-08-28

Similar Documents

Publication Publication Date Title
US11172217B2 (en) Picture prediction method and related apparatus
TWI519136B (zh) 一種用以移除編碼視頻數據中的編碼瑕疵之自適應過濾機構的方法、資料處理裝置及系統
WO2016065872A1 (zh) 图像预测方法及相关装置
TW201914300A (zh) 一種影像資料的編碼、解碼方法及裝置
CN105163127A (zh) 视频分析方法及装置
CN105072353B (zh) 一种基于多gpu的图像解码拼控方法
Kim et al. Dynamic frame resizing with convolutional neural network for efficient video compression
CN110830808A (zh) 一种视频帧重构方法、装置及终端设备
CN105872553A (zh) 一种基于并行计算的自适应环路滤波方法
Wang et al. Semantic-aware video compression for automotive cameras
CN109495742B (zh) 一种视频帧编码方法、装置及设备
CN110278443B (zh) 划分标志位的上下文建模方法及装置
CN103716635B (zh) 一种提升智能分析性能的方法和装置
CN110740316A (zh) 数据编码方法及装置
CN109640087B (zh) 一种帧内预测模式判决方法、装置及设备
CN115174774B (zh) 一种深度图像的压缩方法、装置、设备及存储介质
CN204131646U (zh) 一种数字视频信号解码器
CN106303366B (zh) 一种基于区域分类编码的视频编码的方法及装置
CN107592547A (zh) 一种基于hevc压缩域的运动感知图提取方法
CN106254811A (zh) 移动终端及其视频通话的控制方法和系统
JP2022546774A (ja) イントラ予測のための補間フィルタリング方法と装置、コンピュータプログラム及び電子装置
CN109451313A (zh) 一种视频编码方法、系统及电子设备和存储介质
US10666971B2 (en) Method and device for image coding and method and device for image decoding
US20230104384A1 (en) Luma mapping with chroma scaling for gradual decoding refresh
CN113438485B (zh) 图像编码方法、装置、电子设备和存储介质

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
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180828

CF01 Termination of patent right due to non-payment of annual fee