CN106658012B - 一种vp9解码器并行流水线任务划分方法 - Google Patents

一种vp9解码器并行流水线任务划分方法 Download PDF

Info

Publication number
CN106658012B
CN106658012B CN201710010859.4A CN201710010859A CN106658012B CN 106658012 B CN106658012 B CN 106658012B CN 201710010859 A CN201710010859 A CN 201710010859A CN 106658012 B CN106658012 B CN 106658012B
Authority
CN
China
Prior art keywords
stage
pipeline
decoder
parallel
deblocking 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.)
Expired - Fee Related
Application number
CN201710010859.4A
Other languages
English (en)
Other versions
CN106658012A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201710010859.4A priority Critical patent/CN106658012B/zh
Publication of CN106658012A publication Critical patent/CN106658012A/zh
Application granted granted Critical
Publication of CN106658012B publication Critical patent/CN106658012B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

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)

Abstract

本发明公开了一种VP9解码器并行流水线任务划分方法,该方法根据分级流水线机制来改进目前的VP9解码器方案。先对VP9解码编码树单元需要的熵解码、反量化、反变换、帧内预测、帧间预测、去块滤波以及像素自适应补偿过程进行测量,根据各个过程模块中热点函数运行时间计算模块所占解码时间比例,再将上述控制单元和工作单元按照分级流水线的工作方式交由各个工作单元并行执行得到改进的VP9解码方案。本发明可以更好地保证解码器在执行的过程中每一个模块之间的流水运行,减少空闲等待,从而提高了解码器的运行效率。

Description

一种VP9解码器并行流水线任务划分方法
技术领域
本发明涉及视频编解码技术,具体涉及VP9解码器流水线改进方法。
背景技术
随着网络通信技术的快速发展,网络视频业务的需求日益增长,网络视频数据占据了互联网数据的绝大部分。2010年,谷歌开始推行WebM工程,致力于开发下一代开放、免授权费的视频压缩标准VP9。2013年2月21日,第一个支持VP9解码技术的谷歌Chroma网页浏览器发布了。
VP9在编码率上较上一代编解码标准VP8和H.264提高了30%~50%,同时也与新一代的标准HEVC不相上下,但是却是以更大的计算量为代价的。因此,优化VP9解码流程成了改善VP9视频编解码技术的一个重要研究方向。
目前,国内外有关于VP9视频编解码的研究工作少之又少,本发明将为VP9解码器提供一种是是可行的优化方案,并且为以后关于最新一代编码标准的技术提供参考。
发明内容
本发明针对VP9解码器现有技术,提出一种VP9解码器并行流水线任务划分方法,具体技术方案如下。
一种VP9解码器并行流水线任务划分方法,其包括如下步骤:
(1)利用热点函数的运行时间来分析VP9解码器中熵解码、反量化、反变换、帧内预测、帧间预测、去块滤波以及像素自适应补偿各阶段的计算量,从而明确每个阶段中最耗时的计算部分;所述热点函数是各阶段中占用运行时间最长的一个或多个函数,包括复杂的计算模块或者重复调用许多次的计算模块;进而得到VP9解码器中熵解码、反量化、反变换、帧内预测、帧间预测、去块滤波以及像素自适应补偿各阶段占整个解码过程的时间比例,为后面的流水线划分提供基础;
(2)对VP9解码器的各个阶段进行拆分和分级流水线分配,根据占整个解码过程的运行时间最长的阶段所进行的运动补偿拆分成并行的三个子模块,去块滤波拆分成两个子模块即垂直方向去块滤波和水平方向去块滤波,形成5级流水线结构,分别是熵解码作为第一级,三个子模块并行的运动补偿为第二级,帧内预测和反量化以及反变换构成第三级,垂直方向去块滤波为第四级,水平方向去块滤波为第五级。
进一步地,步骤(1)所述的利用热点函数的运行时间来分析VP9解码器的各阶段计算量中,通过在程序中埋点来测量热点函数运行时间,根据热点函数的时间来计算VP9解码器中各阶段的运行时间。
进一步地,步骤(2)所述对VP9解码器的各个阶段进行拆分和分级流水线分配中,以熵解码阶段的计算量占整个解码过程的比例作为基准,设计5级流水线,使每一级流水线运行时间相当且均控制在8%到12%之间,流水线无阻塞地运行。
进一步地,步骤(2)所述对VP9解码器的各个阶段进行拆分和分级流水线分配中,将运动补偿拆分成三个并行的子模块:水平方向插值1/2像素点计算模块、垂直方向插值1/2像素点计算模块、1/4像素点计算模块,通过这三个模块的并行计算提高解码效率。
进一步地,步骤(2)所述对VP9解码器的各个阶段进行拆分和分级流水线分配中,将去块滤波拆分成垂直去块滤波和水平去块滤波两个子模块作为两个串行运作的流水级,使这两级的运行时间与前面流水级时间相当,从而提高解码效率使流水线达到分级效果。
与现有技术相比,本发明的优点与积极效果在于:
1、本发明的方法首先采用热点函数的运行时间来分析VP9解码器的各阶段计算时间,从而明确每个阶段中最耗时的计算部分。由程序局部性原理,10%的代码占用了系统90%的运行时间。那么发现和解决这10%代码中存在的问题,就能对90%的运行时间进行优化。而且,程序运行时的瓶颈大部分存在于热点函数中,所以解决瓶颈问题也需要对热点函数加以剖析。热点函数分析就是抛开那些次要的冗余代码,着重分析程序中关键路径上的代码,这样有助于发现性能问题。
2、本发明的方法对VP9解码器的各个阶段进行拆分和分级流水线分配,根据占整个解码过程的运行时间最长的阶段所进行的运动补偿拆分成并行的三个子模块,去块滤波拆分成两个子模块,即垂直方向去块滤波和水平方向去块滤波,与其余的模块形成流水线。形成5级流水线结构,分别是熵解码作为第一级,三个子模块并行的运动补偿为第二级,帧内预测和反量化以及反变换构成第三级,垂直方向去块滤波为第四级,水平方向去块滤波为第五级。本发明的流水线每一级的计算时间都彼此相当,这样,在同一时刻,各模块并行工作,处理任务在时间上相互重叠。数据流按一定的规则被分成宏块,各模块以宏块为单位对数据进行并行处理。
附图说明
图1是VP9解码器运行时间分布图。
图2是VP9解码器流水线设计图。
图3是具体任务并行划分方案图。
图4是流水线工作示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明,但本发明的实施和保护范围不限于此。
如图2所示是本发明基于VP9解码器各阶段的VP9解码器流水线设计图。通过在程序中埋点来测量热点函数运行时间,根据热点函数的时间来计算VP9运行分布时间,由各部分运行时间的分布知道,熵解码所占的计算量为8%,这一部分的计算无法进行并行或流水加速,因此在设计流水线的时候每级的计算量都应该在8%左右。另外在运动补偿时,需要用到参考帧中的像素值作为参考,也就是说在帧级别的数据流中存在帧间预测这个大的数据反馈通路,这个反馈涉及到从运动补偿,重构到去块滤波。因此为了保证数据流的单向性,将熵解码(VLD)设为第一级,所有后续模块为第二级,2级之间以宏块为单位传递数据。在前面有关计算量的统计知道,熵解码仅占整个计算量的8%左右,而后续所有阶段(包括帧内预测、反变换反量化、运动补偿和去块滤波)占74%左右,因此两个流水级的计算量极不平衡,必须将后续模块的加速并行。通过对数据流的分析,我们知道所有后续部分间的数据流在宏块级别基本上存在单向的数据流,唯一的数据反馈出现在帧内预测和重构像素,这是由于帧内预测时需要用到当前帧内之前已经重构的像素作为参考,因此为了避免这一反馈对流水线的破坏,我们将帧内预测和重构像素放到一个大的模块中划分为一个流水级,这样就保证了这个大的模块对于其上端模块和下端模块都具有单向的数据相关性。至此,后续部分中共有4个模块,分别是运动补偿模块,反变换反量化模块,帧内预测与重构模块以及去块滤波模块,这4个模块可以作为流水线的4个流水级。但是,从流水线各流水级计算量的均衡角度来看,这样划分流水级并不是合理的。这四个模块的计算量大概分别占41%,8%,8%,23%,为了使计算量均衡可以将第二、第三个模块合并为一个模块(帧内预测反变换反量化重构模块),这样三个模块的计算量分别为:运动补偿模块41%,帧内预测反变换反量化重构模块16%,去块滤波23%。另外,考虑到流水线的第一级也就是熵解码的计算量为8%,后续部分中宏块级别的流水线结构即使性能达到最好,计算量也是很不均衡的,因此必须要加速后续模块。对于运动补偿模块,从前面对数据流的分析我们知道,虽然分像素插值的三个部分的数据流具有单向性可以实现宏块级的三级流水,但是对于每个像素而言,数据流并不是都经过这3个部分,所以这种流水线的设计方案是不划算的。在进行像素内插计算时,像素间的计算没有相关性,因此,根据这种计算的无相关性,可以在3个任务上并行加速运动补偿模块,使每个任务的计算量达到13%左右。对于帧内预测反变换反量化重构模块,由于存在帧内预测和重构像素这个反馈回路,也不能实现流水线结构,只能根据块内数据的无相关性在2个核上进行并行加速,使1个任务的计算量达到8%左右,另一个任务的计算量为8%左右。对于去块滤波,从数据流分析中我们知道,在宏块级别去块滤波的二维方向上可以实现二级流水,每级的计算量为12%左右。因此,在后续的流水线级别划分中,我们可以划分为4个流水级,第一级为运动补偿模块,第二级为帧内预测反变换反量化重构模块,第三级为垂直方向去块滤波模块,第四级为水平方向去块滤波模块,这些流水级之间的数据以宏块为单位传递。
如图3所示是本发明对于流水线中各项任务的具体分配,第一级的熵解码使用一个线程来进行完成,第二级的运动补偿划分为三个任务线程,第三级的帧内预测和反量化以及反变换构则分配到两个线程上执行,最后的第四级和第五级流水线则分配到一个线程上。
如图4所示是基于宏块的流水线示意图。在同一时刻,各模块并行工作,处理任务在时间上相互重叠。数据流按一定的规则被分成数据块,各模块以数据块为单位对数据进行并行处理。
表1
指标 性能
CPU Intel(R)Xeon(R)E5-2660
核心数 8
主频 2.20GHz
L3缓存 20MB
内存 24GB
操作系统 Windows7专业版
编译器 微软VS2010平台v100编译器
表2
解码器的输入视频 时间比
VP9(foreman_480x272) 68.9%
VP9(Mobile_848x480) 75%
VP9(Ducks_1280x720) 66.6%
如表1所示是用于本发明用于验证的仿真平台环境。表2所示是解码效率性能测试结果。从结果可知,本方法对三种不同分辨率的视频序列下(480x272,848x480,1280x720)的解码时间均有减少,因此本发明所提出的VP9解码器并行流水线任务划分方法对解码效率有较大提升。

Claims (5)

1.一种VP9解码器并行流水线任务划分方法,其特征在于包括如下步骤:
(1) 利用热点函数的运行时间来分析VP9解码器中熵解码、反量化、反变换、帧内预测、帧间预测、去块滤波以及像素自适应补偿各阶段的计算量,从而明确每个阶段中最耗时的计算部分;所述热点函数是各阶段中占用运行时间最长的一个或多个函数,包括复杂的计算模块或者重复调用许多次的计算模块;进而得到VP9解码器中熵解码、反量化、反变换、帧内预测、帧间预测、去块滤波以及像素自适应补偿各阶段占整个解码过程的时间比例,为后面的流水线划分提供基础;
(2) 对VP9解码器的各个阶段进行拆分和分级流水线分配,对占整个解码过程的运行时间最长的阶段所进行的运动补偿拆分成并行的三个子模块,去块滤波拆分成两个子模块即垂直方向去块滤波和水平方向去块滤波,形成5级流水线结构,分别是熵解码作为第一级,三个子模块并行的运动补偿为第二级,帧内预测和反量化以及反变换构成第三级,垂直方向去块滤波为第四级,水平方向去块滤波为第五级。
2.根据权利要求1所述的一种VP9解码器并行流水线任务划分方法,其特征在于步骤(1)所述的利用热点函数的运行时间来分析VP9解码器的各阶段计算量中,通过在程序中埋点来测量热点函数运行时间,根据热点函数的时间来计算VP9解码器中各阶段的运行时间。
3.根据权利要求1所述的一种VP9解码器并行流水线任务划分方法,其特征在于步骤(2)所述对VP9解码器的各个阶段进行拆分和分级流水线分配中,以熵解码阶段的计算量占整个解码过程的比例作为基准,设计5级流水线,使每一级流水线运行时间相当且均控制在8%到12%之间,流水线无阻塞地运行。
4.根据权利要求1所述的一种VP9解码器并行流水线任务划分方法,其特征在于步骤(2)所述对VP9解码器的各个阶段进行拆分和分级流水线分配中,将运动补偿拆分成三个并行的子模块:水平方向插值1/2像素点计算模块、垂直方向插值1/2像素点计算模块、1/4像素点计算模块,通过这三个模块的并行计算提高解码效率。
5.根据权利要求1所述的一种VP9解码器并行流水线任务划分方法,其特征在于步骤(2)所述对VP9解码器的各个阶段进行拆分和分级流水线分配中,将去块滤波拆分成垂直去块滤波和水平去块滤波两个子模块作为两个串行运作的流水级,使这两级的运行时间与前面流水级时间相当,从而提高解码效率使流水线达到分级效果。
CN201710010859.4A 2017-01-06 2017-01-06 一种vp9解码器并行流水线任务划分方法 Expired - Fee Related CN106658012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710010859.4A CN106658012B (zh) 2017-01-06 2017-01-06 一种vp9解码器并行流水线任务划分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710010859.4A CN106658012B (zh) 2017-01-06 2017-01-06 一种vp9解码器并行流水线任务划分方法

Publications (2)

Publication Number Publication Date
CN106658012A CN106658012A (zh) 2017-05-10
CN106658012B true CN106658012B (zh) 2020-06-19

Family

ID=58842675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710010859.4A Expired - Fee Related CN106658012B (zh) 2017-01-06 2017-01-06 一种vp9解码器并行流水线任务划分方法

Country Status (1)

Country Link
CN (1) CN106658012B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989825B (zh) * 2018-07-18 2021-05-07 北京奇艺世纪科技有限公司 一种算术编码方法、装置及电子设备
WO2020145805A1 (ko) * 2019-01-12 2020-07-16 주식회사 윌러스표준기술연구소 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
CN113447883A (zh) * 2021-06-25 2021-09-28 海宁奕斯伟集成电路设计有限公司 多工位并测的测试方法和测试系统
CN113630601B (zh) * 2021-06-29 2024-04-02 杭州未名信科科技有限公司 一种仿射运动估计方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6482874A (en) * 1987-09-25 1989-03-28 Fujitsu Ltd Parallel entropy decoding method
US20090010326A1 (en) * 2007-07-05 2009-01-08 Andreas Rossholm Method and apparatus for parallel video decoding
CN101466039B (zh) * 2008-12-31 2011-04-13 中国科学院计算技术研究所 一种视频解码装置和方法
CN101778288B (zh) * 2010-03-02 2012-04-04 青岛海信信芯科技有限公司 数字视频解码方法和装置
US20120236940A1 (en) * 2011-03-16 2012-09-20 Texas Instruments Incorporated Method for Efficient Parallel Processing for Real-Time Video Coding
CN103888782B (zh) * 2014-03-04 2017-02-08 上海交通大学 一种hevc解码器并行任务划分方法
CN104125466B (zh) * 2014-07-10 2017-10-10 中山大学 一种基于gpu的hevc并行解码方法
CN105072447B (zh) * 2015-07-17 2018-03-27 福州瑞芯微电子股份有限公司 一种用于vp9解码器运动矢量预测的方法和装置

Also Published As

Publication number Publication date
CN106658012A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106658012B (zh) 一种vp9解码器并行流水线任务划分方法
CN105791829B (zh) 一种基于多核平台的hevc并行帧内预测方法
CN101170688B (zh) 一种宏块模式的快速选择方法
US9332275B2 (en) Methods, apparatuses, and programs for encoding and decoding picture
US20240098248A1 (en) Video predictive coding method and apparatus
CN105491377A (zh) 一种计算复杂度感知的视频解码宏块级并行调度方法
CN105898325A (zh) 运动向量预测子候选项集合的推导方法与装置
KR101877867B1 (ko) 비디오 파라미터를 이용한 복잡도 측정 기반의 병렬 인-루프 화소 보정에 대한 부호화/복호화 장치 및 방법
US9693071B1 (en) Self-adaptive load balance optimization for multicore parallel processing of video data
EP4262203A1 (en) Method and apparatus for video predictive coding
CN105516728A (zh) 一种H.265/HEVC中8x8子宏块的并行帧内预测方法
WO2018171445A1 (zh) 一种高效视频编码方法及装置、计算机可读存储介质
JP2023500223A (ja) 画像処理方法、装置、端末及びコンピュータプログラム
CN103888763A (zh) 一种基于hevc的帧内编码方法
CN112422986A (zh) 硬件解码器流水线优化方法及应用
CN110971896B (zh) 一种h.265编码方法和装置
CN103581685B (zh) H264参考帧选择方法及其装置
Jiang et al. A novel parallel deblocking filtering strategy for HEVC/H. 265 based on GPU
CN102075753B (zh) 一种视频编解码中去块滤波方法
KR100999505B1 (ko) 매크로블록 기반의 데이터 병렬 처리를 수행하는 동영상 인코딩/디코딩 장치
CN111918059B (zh) 硬件友好的基于回归树的帧内预测模式决策方法及装置
CN104052999B (zh) 平行编码系统中执行速率控制的方法及平行编码系统
CN101964912A (zh) 一种在mpeg2中游程编码快速计算游程长度的方法
He et al. Parallel HD encoding on CELL
Krommydas et al. Mapping and optimization of the AVS video decoder on a high performance chip multiprocessor

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200619