CN105744283A - 并行视频编码的三维波前并行处理方法 - Google Patents
并行视频编码的三维波前并行处理方法 Download PDFInfo
- Publication number
- CN105744283A CN105744283A CN201610083155.5A CN201610083155A CN105744283A CN 105744283 A CN105744283 A CN 105744283A CN 201610083155 A CN201610083155 A CN 201610083155A CN 105744283 A CN105744283 A CN 105744283A
- Authority
- CN
- China
- Prior art keywords
- lcu
- wpp
- row
- parallel processing
- parallel
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
并行视频编码的三维波前并行处理方法,是波前并行视频编码方法的一种。现有的并行视频编码的并行度和可扩展性有限,基于此,提出一种并行视频编码的三维波前并行处理方法,以及与之兼容的解块滤波器及SAO滤波器。简易3D?WPP容易实现,静态3D?WPP扩展了参考区域,此外,在保持算法确定性的同时改善了RD性能。最后,动态3D?WPP弥补了几乎所有因引入3D并行而产生的RD损失,且在速度和质量方面均得到了优化。
Description
技术领域
本发明涉及一种并行视频编码的三维波前并行处理方法。
背景技术
虽然并行高效视频编码HEVC标准及不同帧内算法所提出的波前并行处理(WPP)可以实现较高的并行性,但由于HEVC所引入的时空预测的各种依赖关系,其并行性的可扩展性仍然有限。
对于H.264/AVC,现有波前并行编码方法,它的实现包含在x264开源H.264编码器中。Azevedo和Meenderinck等通过引入H.264解码帧内波前和H.264/AVC的各种并行方法分析。还有些描述了HEVC帧内编码的编码单元(CU)级并行方法。还有一种通过使用波前并行来实现H.264到HEVC转换的快速转码器。还有对并行可扩展性及不同HEVC并行方法的效果进行了彻底检查,并提出了一种帧内波前方法,名为“重叠波前(OWF)”(主要是在解码器方面)。当SAO被禁用时,有人通过引入帧内并行管道的多个B帧延伸了OWF,新方法叫做帧内波前(IFW)。开源x265编码器执行了从x264得到的帧内波前并行。尽管如此,我们的实验显示,现有的帧内波前(IFW)和开源x265编码器得到的帧内波前并行的方法都受到了并行可扩展性的限制。
发明内容
本发明的目的是为了解决现有的并行高效视频编码的并行性可扩展受限制的问题,而提出一种并行视频编码的三维波前并行处理方法。
并行视频编码的三维波前并行处理方法,所述方法通过以下步骤实现:
步骤一、构建简易3D-WPP:
式中,Ci,j,k表示编码单元;Sim3D表示简易三维波前并行处理操作;Sta3D表示静态三维波前并行处理操作;Dyn3D表示动态三维波前并行处理操作;LH表示增加的列延迟,LW表示增加的行延迟;List表示操作区域;
通过简易3D-WPP,将参考区域局限于矩形区域中,矩形区域表示为:
Refsim3D(Ci,j,k)={Ci′,j′,k′|i′∈RefList(i),
0≤j′≤j+LH,0≤k′≤k+LW} (2)
式中,Ci′,j′,k′表示矩形区域中的编码单元,LH表示增加的列延迟,LW表示增加的行延迟;
步骤二、利用静态3D-WPP附加得到扩大的参考区域:
Refsta3D(Ci,j,k)={Ci′,j′,k′|i′∈RefList(i),
0≤j′≤j+LH,0≤k′<W,
2k′-j′≥2k+2LW-j-LH} (3)
步骤三、简易3D-WPP及静态3D-WPP利用依赖关系图中的并行性,通过分段中的算法对参考区域进行动态扩大,
步骤四、检查Ci′j′k′是否重建不需要互斥锁;
步骤五、利用公式(4):
RefDyn3D(Ci,j,k)={Ci′,j′,k′|Ci′,j′,k′is reconstructed}
=Refsta3D(Ci,i,k)∪{Ci′,j′,k′|Ci′,j′,k′∈Aera3} (4)
并参考所有重建的LCU进行Cijk编码,将不平衡LCU编码时间的不可避免的并行性损失及有限核心机的剩余并行性转换为RD性能增益。
本发明的有益效果为:
本发明提出的帧内帧WPP框架,名为3D-WPP,帧间的波前延迟单位为最大的编码单元(LCUs),而不是行。这将使当前运行的LCUs产生真正的三维(时间,x,y)波前,并使得并行性得到提高。
本发明提出的三种三维波前并行处理(3D-WPP)算法,可在实现复杂性、编码性能之间的良好权衡的同时大大改善并行性。实验结果表明,与现有的帧内帧WPP方法相比,该算法可达到2.8倍的加速比。其中,与现有算法相比,简易3D-WPP和静态3D-WPP引进了0~4.9%的BD率损失,而更复杂的动态3D-WPP则实现了更好的并行性,几乎没有编码性能损失。
附图说明
图1为现有算法及3D-WPP的依赖性和参考;为简易起见,我们只演示参考帧对(Ref(erence),Cur(rent)),这可能是(i,P),(i,B),(P,P),(P,B)或(B,B);箭头A→B是指LCU B依赖于LCUA;简易3D-WPP的参考区域可以表示为区域1。从图中我们看出,在给出相同的参考条件下,与之前的算法相比,3D-WPP的Cur不仅具有更多的处理LCUs,还可以使其它帧参考Cur开始编码,两者均能改善并行性;
相较简易3D-WPP,区域2是通过静态3D-WPP而附加的参考区域。这一扩大的区域有助于在引入实施复杂性时获得RD的性能增益;
图2为本发明在1080p帧时,不同处理单元的LCU实际编码时间,且显示出实际编码时间高度不平衡;
图3为本发明涉及的解块滤波及SAO;
图4为本发明的流程图。
具体实施方式
具体实施方式一:
本实施方式的并行视频编码的三维波前并行处理方法,所述方法通过以下步骤实现:
步骤一、构建简易3D-WPP,其中3D-WPP是指三维波前并行处理操作,此时简易三维波前并行处理操作时的区域相同:
式中,Ci,j,k表示编码单元;Sim3D表示简易三维波前并行处理操作;Sta3D表示静态三维波前并行处理操作;Dyn3D表示动态三维波前并行处理操作;LH表示增加的列延迟,LW表示增加的行延迟;List表示操作区域;
三维是指使当前运行的LCU产生包括时间、X、Y坐标的真正三维波前;
通过简易3D-WPP,将参考区域局限于矩形区域中,矩形区域表示为:
RefSim3D(Ci,j,k)={Ci′,j′,k|i′∈RefList(i),
0≤j′≤j+LH,0≤k′≤k+LW} (2)
式中,Ci′,j′,k′表示矩形区域中的编码单元,LH表示增加的列延迟,LW表示增加的行延迟;
步骤二、利用静态3D-WPP附加得到扩大的参考区域:
Refsta3D(Ci,j,k)={Ci′,j′,k′|i′∈RefList(i),
0≤j′≤j+LH,0≤k′<W,
2k′-j′≥2k+2LW-j-LH} (3)
这一扩大的参考区域有助于在引入实施复杂性时获得RD的性能增益;
步骤三、简易3D-WPP及静态3D-WPP利用依赖关系图中的并行性,通过分段中的算法对参考区域进行动态扩大,
步骤四、检查Ci′j′k′是否重建不需要互斥锁;
步骤五、利用公式(4):
RefDyn3D(Ci,j,k)={Ci′,j′,k′|Ci′,j′,k′is reconstructed}
=Refsta3D(Ci,j,k)∪{Ci′,j′,k′|Ci′,j′,k′∈Aera3} (4)
并参考所有重建的LCU进行Cijk编码,将不平衡LCU编码时间的不可避免的并行性损失及有限核心机的剩余并行性转换为RD性能增益。
在HEVC波前并行处理中,最大的编码单元的编码仅在右上方的重建LCU及其之前的LCU上是独立的。在现实中,不同处理单元的LCU实际编码时间高度不平衡,如1080p帧的图2所示。因此,在实际***中很难达到WPP并行性的理论极限。
所以本发明提出了简易3D-WPP和静态3D-WPP算法,较现有算法相比,具有显著加速及有限RD(率失真)损失。在分析现有帧间WPP算法的RD性能后,建立动态3D-WPP,实现速度与品质方面的高级性能。并在分析帧间WPP的环路解块及SAO,采样点自适应偏移滤波器后,提出与3D-WPP兼容的并行视频编码的三维波前并行处理方法。
具体实施方式二:
与具体实施方式一不同的是,本实施方式的并行视频编码的三维波前并行处理方法,步骤五所述参考所有重建的LCU进行Cijk编码时,LCU的级解块过程为,
步骤五一、对编码器所有RefList内的变量i,等待所有被参考的LCU被编码完毕;
步骤五二、对Ci,j,k进行编码;
步骤五三、图3中,当Ci,j,k(如Ci,4,4)完成编码后,Ci,j-1,k+1(如Ci,3,5)也必须完成编码,并进行标记;解块滤波器引入了一个行延迟,对LCU的Ci,j-1,k(如Ci,3,4)应用一个LCU垂直解块滤波器,经过1个列延迟后再使用一个水平解块滤波器;分别对Ci,j-1,k和Ci,j-1,k-1(如Ci,3,3)做垂直和水平解块。
具体实施方式三:
与具体实施方式一或二不同的是,本实施方式的并行视频编码的三维波前并行处理方法,所述LCU的级解块过程还需进行SAO参数计算,具体过程为,对Ci,j-1,k-1这一编码单元,在完成水平LCU解块后,编码器计算它的SAO参数,一旦满足依赖条件,将立即使用SAO滤波器;每一行都使用它自己的熵编码来进行SAO RD成本优化,工作模式与波前相似;
对于Ci,j-1,k-1,其底部及右边界的解块像素只有在Ci,j,k-1和Ci,j-1,k被解块后才会确定,少量的底部行及右侧多个栏被排除在SAO参数计算之外,因此,在解块后计算出LCU的SAO参数,减少延迟;
伪代码编写为:
具体实施方式四:
与具体实施方式三不同的是,本实施方式的并行视频编码的三维波前并行处理方法,所述SAO滤波器的使用需要全部的解块像素以及计算好的SAO参数,则在解块后计算出LCU的SAO参数后必须引入行延迟和列延迟;根据它们的行延迟和列延迟,所有处理都是流水线形式进行:
图3中,在Ci,j-1,k-1水平解块后,Ci,j-1,k-1上方的LCU(如:Ci,2,3)或其左侧的LCU(如:Ci,3,2)均被解块处理,并进行标记c,可以计算出他们的SAO参数;使用SAO滤波器则会多一个行延迟和列延迟,在图中标记为d。
具体实施方式五:
与具体实施方式一、二或四不同的是,本实施方式的并行视频编码的三维波前并行处理方法,所述3D-WPP模式中使用的解块和SAO滤波器可以由行级细化至LCU级;其它可能的选择有:在解块滤波器之前使用带像素的SAO,以RD损失为代价进一步降低延迟。
实施例1:
由于在没有帧级并行性的情况下很难在具有固定GOP结构的HEVC测试模式(HM)实施帧内WPP,我们在x265[5]v1.4实施了3D-WPP。帧内时间被设为120,LCU尺寸为64。另外,还使用了含QPs{22,27,32,37}的介质预设进行了编码处理。该实验是在36-核(2x英特尔[email protected]超线程关闭,内存为128GB)服务器上进行的。
表2显示的是与以往方法单线程运行相比的加速率。Prev指的是以往的算法(IFW或x265模式),Sim,Sta和Dyn分别是指简易、静态和动态3D-WPP。Prevx或Dynx中的x分别是指IFW中的Lh=x及3D-WPP中的Lh=Lw=x。
在该实验中,较以往的算法,3D-WPP对4k和1080p视频实现了2.4倍加速,对720p视频实现了2.8倍加速。对于4k视频,整体加速率几乎等于机器的内核数。3种3D-WPP方法实现的并行性几乎相同,在增加Lh和Lw的同时略微降低了并行性。
表1显示了现有算法和3D-WPP的RD损失。在多数情况下,简易和静态3D-WPP比以往的方法具有更好的RD性能。而动态3D-WPP弥补了4%的BD率损失,且在某些情况下比以往算法具有更好的RD性能。另外,增加了1个列延迟(Lh)和行延迟(Lw),即便是以往算法和简易算法,都可能导致显著的RD改善,这也可以归因于区域3,而少量的附加参考区域则对品质作出了显著贡献。
从与以往1和动态2的比较来看,我们可以得出如下总结:3D-WPP不仅具有高并行性,还比现有的策略具有更好的RD性能。
提出了三种并行HEVC编码的3D-WPP算法。与现有的帧内帧WPP技术(如IFW和X265机制)相比,新提出的方法改善了并行级别,且具有适度的RD性能损失。
实验结果表明,与以往的算法相比,3D-WPP已达到了2.8倍的加速度。简易3D-WPP容易实施,且大多数情况下,品质良好。静态3D-WPP在维护决定论的同时改善了RD性能。而动态3D-WPP在速度与品质方面都是最佳的,几乎弥补了3D并行性的所有RD损失。
多核***3D-WPP在任务调度、空间和时间局部性、高速缓存缺失等方面的进一步优化也同样重要。
Claims (5)
1.一种并行视频编码的三维波前并行处理方法,其特征在于,所述方法通过以下步骤实现:
步骤一、构建简易3D-WPP:
式中,Ci,j,k表示编码单元;Sim3D表示简易三维波前并行处理操作;Sta3D表示静态三维波前并行处理操作;Dyn3D表示动态三维波前并行处理操作;LH表示增加的列延迟,LW表示增加的行延迟;List表示操作区域;
通过简易3D-WPP,将参考区域局限于矩形区域中,矩形区域表示为:
RefSim3D(Ci,j,k)={Ci′,j′,k′|i′∈RefList(i),
0≤j′≤j+LH,0≤k′≤k+LW} (2)
式中,Ci′,j′,k′表示矩形区域中的编码单元,LH表示增加的列延迟,LW表示增加的行延迟;
步骤二、利用静态3D-WPP附加得到扩大的参考区域:
RefSia3D(Ci,j,k)={Ci′,j′,k′|i′∈RefList(i),
0≤j′≤j+LH,0≤k′<W,
2k′-j′≥2k+2LW-j-LH} (3)
步骤三、简易3D-WPP及静态3D-WPP利用依赖关系图中的并行性,通过分段中的算法对参考区域进行动态扩大,
步骤四、检查Ci′,j′,k′是否重建不需要互斥锁;
步骤五、利用公式(4):
RefDyn3D(C′i,j,k)={C′i′,j′,k′|Ci′,j′,k′is reconstructed}
=RefSta3D(Di,j,k)∪{Ci′,j′,k′|Ci′,j′,k′∈Aera3} (4)
并参考所有重建的LCU进行Cijk编码,将不平衡LCU编码时间的不可避免的并行性损失及有限核心机的剩余并行性转换为RD性能增益。
2.根据权利要求1所述的并行视频编码的三维波前并行处理方法,其特征在于:步骤五所述参考所有重建的LCU进行Cijk编码时,LCU的级解块过程为,
步骤五一、对编码器所有RefList内的变量i,等待所有被参考的LCU被编码完毕;
步骤五二、对Ci,j,k进行编码;
步骤五三、当Ci,j,k和Ci,j-1,k+1完成编码后,进行标记;解块滤波器引入了一个行延迟,对LCU的Ci,j-1,k应用一个LCU垂直解块滤波器,经过1个列延迟后再使用一个水平解块滤波器;分别对Ci,j-1,k和Ci,j-1,k-1做垂直和水平解块。
3.根据权利要求1或2所述的并行视频编码的三维波前并行处理方法,其特征在于:所述LCU的级解块过程还需进行SAO参数计算,具体过程为,对编码单元Ci,j-1,k-1,在完成水平LCU解块后,编码器计算编码单元Ci,j-1,k-1的SAO参数,当满足依赖条件时立即使用SAO滤波器;
在Ci,j,k-1和Ci,j-1,k被解块后确定Ci,j-1,k-1底部及右边界的解块像素,排除在SAO参数计算之外的底部行及右侧多个栏被,在解块后计算LCU的SAO参数。
4.根据权利要求3所述的并行视频编码的三维波前并行处理方法,其特征在于:所述SAO滤波器的使用需要全部的解块像素以及计算好的SAO参数,则在解块后计算出LCU的SAO参数后必须引入行延迟和列延迟;根据行延迟和列延迟,流水线形式进行如下处理:
在Ci,j-1,k-1水平解块后,Ci,j-1,k-1上方的LCU或其左侧的LCU均被解块处理,并进行标记,可以计算出他们的SAO参数;使用SAO滤波器则会多一个行延迟和列延迟,并进行标记。
5.根据权利要求1、2或4所述的并行视频编码的三维波前并行处理方法,其特征在于:所述3D-WPP模式中使用的解块和SAO滤波器可以由行级细化至LCU级,或者选择:在解块滤波器之前使用带像素的SAO,以RD损失为代价的方式进一步降低延迟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610083155.5A CN105744283B (zh) | 2016-02-05 | 2016-02-05 | 并行视频编码的三维波前并行处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610083155.5A CN105744283B (zh) | 2016-02-05 | 2016-02-05 | 并行视频编码的三维波前并行处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105744283A true CN105744283A (zh) | 2016-07-06 |
CN105744283B CN105744283B (zh) | 2019-02-22 |
Family
ID=56241883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610083155.5A Active CN105744283B (zh) | 2016-02-05 | 2016-02-05 | 并行视频编码的三维波前并行处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105744283B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519367A (zh) * | 2013-10-02 | 2015-04-15 | 瑞萨电子株式会社 | 视频解码处理装置及其操作方法 |
US20150382021A1 (en) * | 2014-06-30 | 2015-12-31 | Changwon D. Rhee | Techniques for processing a video frame by a video encoder |
CN105245896A (zh) * | 2015-10-09 | 2016-01-13 | 传线网络科技(上海)有限公司 | Hevc并行运动补偿方法及装置 |
-
2016
- 2016-02-05 CN CN201610083155.5A patent/CN105744283B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104519367A (zh) * | 2013-10-02 | 2015-04-15 | 瑞萨电子株式会社 | 视频解码处理装置及其操作方法 |
US20150382021A1 (en) * | 2014-06-30 | 2015-12-31 | Changwon D. Rhee | Techniques for processing a video frame by a video encoder |
CN105245896A (zh) * | 2015-10-09 | 2016-01-13 | 传线网络科技(上海)有限公司 | Hevc并行运动补偿方法及装置 |
Non-Patent Citations (3)
Title |
---|
DANIEL F. FINCHELSTEIN ET AL: "Multicore Processing and Efficient On-Chip Caching for H.264 and Future Video Decoders", 《CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
YANAN ZHAO ET AL: "Efficient realization of parallel HEVC intra encoding", 《MULTIMEDIA AND EXPO WORKSHOPS》 * |
ZHUO ZHAO ET AL: "A Highly Efficient Parallel Algorithm for H.264 Video Encoder", 《ACOUSTICS SPEECH AND SIGNAL PROCESSING》 * |
Also Published As
Publication number | Publication date |
---|---|
CN105744283B (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fu et al. | Sample adaptive offset in the HEVC standard | |
KR101708265B1 (ko) | 영상 부호화 및 복호화 장치 및 그 방법 | |
US11303900B2 (en) | Method and apparatus for motion boundary processing | |
CN104205836B (zh) | 用于视频编码中色度切片层级量化参数偏移及解块的方法和产品 | |
CN104054344B (zh) | 对色度数据进行解块以用于视频译码 | |
CN108429917B (zh) | 视频编码及解码方法、装置及*** | |
CN104041045B (zh) | 用于视频译码的二次边界滤波 | |
US9247265B2 (en) | Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning | |
US20180213224A1 (en) | Intra prediction method and device in video coding system | |
US20120328029A1 (en) | Systems and methods for reducing blocking artifacts | |
US20180035123A1 (en) | Encoding and Decoding of Inter Pictures in a Video | |
WO2011068360A3 (ko) | 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치 | |
CN103444175A (zh) | 全分辨率帧兼容的立体视频译码中的后滤波 | |
Jiang et al. | Block-Based Parallel Intra Prediction Scheme for HEVC. | |
CN104521234B (zh) | 合并去区块处理和取样自适应偏移处理的视频处理方法和装置 | |
Lin et al. | Error concealment algorithm for HEVC coded video using block partition decisions | |
WO2020139903A1 (en) | Video coding with triangular shape prediction units | |
CN105791865B (zh) | 帧内预测及去块滤波方法 | |
US7680351B2 (en) | Video deblocking method and apparatus | |
CN109005412B (zh) | 运动矢量获取的方法及设备 | |
CN103220507B (zh) | 一种视频编解码方法及*** | |
EP2723083A2 (en) | Apparatus and method for processing image using correlation between views | |
CN103491372A (zh) | 一种适用于hevc标准的去方块滤波器的滤波方法 | |
Wen et al. | Novel 3D-WPP algorithms for parallel HEVC encoding | |
CN105744283A (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 |