CN109391816A - 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 - Google Patents

基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 Download PDF

Info

Publication number
CN109391816A
CN109391816A CN201811258709.6A CN201811258709A CN109391816A CN 109391816 A CN109391816 A CN 109391816A CN 201811258709 A CN201811258709 A CN 201811258709A CN 109391816 A CN109391816 A CN 109391816A
Authority
CN
China
Prior art keywords
gpu
cpu
thread
data
frame image
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
CN201811258709.6A
Other languages
English (en)
Other versions
CN109391816B (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.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
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 Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201811258709.6A priority Critical patent/CN109391816B/zh
Publication of CN109391816A publication Critical patent/CN109391816A/zh
Application granted granted Critical
Publication of CN109391816B publication Critical patent/CN109391816B/zh
Active 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/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/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种基于CPU+GPU异构平台实现HEVC中熵编码环节的高效并行处理方法,是在按HEVC协议标准对视频图像序列进行编码过程中,将当前帧图像的最终熵编码环节与对下一帧图像的处理中除了最终熵编码环节以外的全部其它环节做并行处理‑亦即采用CPU+GPU计算平台对当前帧图像的熵编码用CPU进行处理,对下一帧图像的预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等全部其它环节用GPU进行处理,CPU和GPU二者同时并行计算;通过采用这种并行处理方案,可以省去上述二者之中耗时较短的环节(即最终熵编码环节)所需要花费的处理时间,从而显著提高HEVC编码器的整体计算速度。

Description

基于CPU+GPU异构平台实现HEVC中熵编码环节的并行处理 方法
技术领域
本发明属于数字视频压缩编码技术领域,涉及到在高效视频编码HEVC(HighEfficiency Video Coding,也称为H.265或称为HEVC/H.265)协议标准中的熵编码环节如何实现高效并行处理的方法,以达到显著提升HEVC编码器的计算效率的目的。
背景技术
随着互联网和信息技术的迅速发展,多媒体技术在社会生活中起到了越来越重要的作用。而视频作为一种重要的信息载体,具有直观性、确切性、高效性及广泛性等优点,广泛应用在社会各个领域。随着人们对视频分辨率和清晰度等需求的不断提高,数字视频的发展从最初的352×240分辨率发展到高清(1920×1080)进而再到超高清(4k×2k及以上),视频数据量也随之大幅度增加。然而实际信道及存储设备的容量却是有限的,因此,视频数据压缩已成为视频技术应用和发展中必不可少的关键技术。
作为最新一代高效视频编码标准,HEVC由国际电信联盟的视频编码专家组(ITU-T/VCEG)和国际标准化组织及国际电工委员会(IEC)的运动图像专家组(ISO/IEC MPEG)于2013年正式发布。HEVC包含了最新的视频编码技术,与前一代视频编码标准H.264/AVC相比,HEVC可以在保证相同的编码质量前提下,能够节省约50%的码率。HEVC在获得出***压缩性能的同时也使得编码过程的计算复杂度显著增加(据统计是H.264/AVC的2-4倍),从而给编码器的实时处理的实现带来了巨大挑战。因此,设计高效快速的HEVC编码算法现已成为视频数据压缩领域的一个重要研究课题。
在HEVC编码器中主要包括预测(帧内预测和帧间预测)、变换、量化、率失真优化、反量化、反变换、滤波(去方块效应滤波和样点自适应补偿滤波)、图像重构及熵编码等环节,目前除了熵编码环节以外针对其它各个环节现已分别设计出了相应的高效并行处理算法,进而通过采用GPU和多线程编程技术实现并行计算来显著提升这些环节的计算效率。但对于其中的熵编码环节,由于在HEVC中采用的是基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding:CABAC)方法,该计算过程本身是一种递推运算,在对后一数据的进行编码计算时需要用到对前一数据的编码结果,因此只能在已经求出对前一数据的编码结果之后才能对后一数据进行编码,故只能按照数据的前后顺序依次进行串行运算,而不适于做并行处理,所以难以使该环节的计算速度得到大规模的提高。在整个HEVC编码过程中有两个环节涉及到熵编码计算,一个是在进行率失真优化时需要对图像中各个CU数据块分别求出每个CU块的码率信息以获得其最佳编码参数,另一个是对已经求出全部最佳编码参数后的整帧图像的全部待编码数据进行最终的熵编码以产生该帧图像压缩后的比特码流。
实验测试结果表明,采用第七代i7CPU(例如,CoreTM i7-7700)在对高清(1080P)视频图像在数据压缩比为100-130倍下,用HEVC中的熵编码算法完成一幅整帧图像的最终熵编码环节平均耗时14--17毫秒。而对于预测、变换、量化、反量化、反变换、率失真优化、滤波及图像重构等全部环节,通过采用一块GPU卡(例如GTX-1080)进行并行处理平均可在32--36毫秒内完成。因此,对于整个HEVC编码器,熵编码环节现已成为实现实时处理的瓶颈问题。如何设计出高效的熵编码算法以显著节省该环节的处理时间,对于实现HEVC编码器的实时处理十分关键。
目前,针对提高HEVC编码器的计算效率的研究主要集中于算法改进和硬件加速。2014年发表的硕士学位论文(赵亚楠.新一代视频编码标准HEVC的并行化研究[D].上海交通大学,2014.)针对预测环节同时采用粗粒度并行和细粒度并行两种并行方式,从编码树单元CTU级和CTU内部两个层级进行并行化研究。该方法能在一定程度上提高HEVC编码器的计算效率,但因为细粒度并行仅涉及到CU级并行,其并行度较小,而且并没有针对熵编码环节做并行化处理,因此其加速效果无法满足对实时性的需求。2014年发表于浙江大学学报的论文(周承涛,田翔,陈耀武.HEVC编码单元尺寸快速选择算法[J].浙江大学学报:工学版,2014,48(8):1451-1460.)提出了深度单一性的概念,利用相邻单元编码深度的选择,跳过某些出现概率比较小的深度,从而加快CU块划分速度,该方法虽然使得编码速度提高了约25%,但由于跳过一些CU划分深度,使得HEVC编码器最终的编码质量受到一定影响。2016年发表于Journal of Visual Communication and Image Representation杂志上的文献(Tariq J,Kwong S,Yuan H.HEVC intra mode selection based on Rate Distortion(RD)cost and Sum of Absolute Difference(SAD)[J].Journal of VisualCommunication and Image Representation,2016,35:112-119.)分析了率失真(RD cost)与绝对误差和(SAD)之间的二次关系,得到估计率失真代价的近似计算公式,以此可以省掉求取率失真代价中对各个CU块进行熵编码所需要的耗时。但由于该方法对各个CU块的码长是做近似估算,这样就会给率失真的计算带来误差,从而对图像的编码质量造成一定损失。2018年发表的文献(Cebrián-Márquez G,Galiano V,Migallón H,et al.HeterogeneousCPU plus GPU approaches for HEVC[J].The Journal of Supercomputing,2018,April2:1-12.)对基于片级(Slice)的并行方案以及基于层级(Tile)的并行方案两种方法进行了实现,该方法也使得编码器的计算效率得到了一定程度的提高。但该方法仅为片级或层级并行,并行度受限,无法使其计算效率得到更大规模的提升。以上方法并没有涉及到对已经确定好最佳编码参数后的整帧图像的最终熵编码环节进行并行化处理。而如前所述,该环节本身在处理一帧高清图像(1080p)时平均耗时14--17毫秒。因此,如何有效地节省该环节的处理时间,对于实现整个HEVC编码器的实时处理是至关重要的。
发明内容
本发明提出一种适合在CPU+GPU异构平台上实现的HEVC编码器的并行处理方法,该方法将整帧图像的最终熵编码环节和预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等其它全部环节一起进行并行处理、同步运行,达到显著提升HEVC整体编码器的计算效率的目的。
在HEVC中,对于每一幅当前帧图像都要首先进行预测、变换、量化、率失真优化、反量化、反变换、滤波、图像重构及熵编码等环节的运算。由于在预测、变换、量化、滤波及图像重构这些环节中均可以通过设法对其所涉及的待处理数据进行有效的划分而设计出高效的并行处理算法,同时通过利用GPU的众核结构和多线程编程技术高效并行地实现对这些数据的处理,从而可以大规模地提升这些环节的计算效率。但对于HEVC中的熵编码过程,尤其对于整帧图像进行最终的熵编码环节,如前所述是采用CABAC方法进行编码,这种基于上下文的自适应二进制算术编码方法在对每个数据进行编码时都需要用到对其前一数据的编码结果,故在该环节中对所要处理的待编码数据需要按照各个数据的前后顺序依次串行地处理,而若将这些数据划分成很多小单元进行并行处理,则会破坏前后数据之间的因果关系而产生编码误差。因此,在该熵编码环节中不能像在其它环节中那样通过数据划分做并行处理而使其计算效率得到显著的提升。
然而根据HEVC标准协议可知,对于某一帧视频图像全部待编码数据的最终熵编码环节,此时虽然在该熵编码环节内部仍须按照这些数据间的前后顺序采用串行方式对各个数据进行编码,但该计算过程却同对下一帧图像的预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等环节并不存在数据之间的相互依赖关系,二者可以分别独立进行计算。根据这一分析,本发明提出此“基于CPU+GPU异构平台实现HEVC中熵编码环节的高效并行处理方法”。该方法的主要思路是将当前帧图像的最终熵编码环节与对下一帧图像的处理中除了最终熵编码环节以外的全部其它环节做并行处理-亦即对当前帧图像的熵编码用CPU进行处理,对下一帧图像的预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等全部环节用GPU进行处理,CPU和GPU二者同时并行计算。通过采用这种并行处理方案,可以省去上述二者之中耗时较短的环节(即最终熵编码环节)所需要花费的处理时间,从而显著提高HEVC编码器的整体计算速度。
本发明实现HEVC编码器并行处理的技术方案如下:
(1)采用二核或二核以上的CPU(例如i7-7700或以上档次)和一个GPU卡(例如GTX-1080或以上档次)构成一个CPU+GPU异构计算平台,用于实现本发明所述的HEVC编码器并行处理方法;
(2)如说明书附图所示,在CPU上设置两个线程(分别称为“CPU主线程”和“CPU从线程”),在GPU上设置一个多线程(称为“GPU多线程”)。其中“CPU主线程”负责整个编码器***的计算流程控制、对“CPU从线程”和“GPU多线程”的调度、以及CPU与GPU之间的数据信息交流,“CPU从线程”负责实现对前一帧图像所有待编码数据的最终熵编码环节,“GPU多线程”负责实现对当前帧图像的预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等全部环节;所述的对GPU多线程所涉及的图像的预测、变换、量化、反量化、反变换、滤波及图像重构等全部环节,采用下述学位论文中阐述的并行算法:1)杜军杰.HEVC帧内预测关键技术并行算法的设计与实现[D],大连理工大学硕士学位论文,2015年;2)张维龙.HEVC关键模块并行算法的设计与基于GPU的实现[D],大连理工大学硕士学位论文,2016年;
(3)对于率失真优化过程中对各个CU数据块的熵编码环节,由于该环节是与对当前图像的预测、变换、量化等处理环节结合在一起的,在本方案中预测、变换、量化等环节是由GPU通过“GPU多线程”做并行处理,而且此时是以CU数据块为单元进行计算,故在此过程中可以用“GPU多线程”对每一个CU数据块仍按原串行熵编码算法对该CU块中的各个数据进行编码,而对不同的CU数据块进行并行编码,由此实现CU级的并行熵编码,提高该环节的计算效率。
本发明提出的实现HEVC编码器中最终熵编码环节的高效并行处理方法,能够使得HEVC编码器省去对各帧视频数据进行最终熵编码所需要的处理时间,从而使***的整体计算效率得到显著提升。实验表明,将本发明提出的HEVC编码器并行处理技术在当前消费级的CPU+GPU计算平台上实现(例如,用一台 CoreTM i7-7700计算机加配一块GTX-1080GPU卡),在对高清(1080P)视频图像的数据压缩比达100-130倍下,可以取得27-31帧/秒的视频编码速率,能够满足实时处理(≥25帧/秒)的要求。否则,若在对各帧图像进行最终熵编码时不采用本发明提出的并行熵编码方案,而采用原来的串行方法,则无法省去该环节所需要的计算耗时(14-17毫秒),从而在该平台下不能实现高清视频图像数据的实时编码压缩。本发明针对率失真优化过程中各个CU数据块的熵编码提出了实现CU级的并行熵编码方案,通过执行该并行方案可以使率失真优化环节的计算效率得到进一步的提高。
附图说明
附图1是本发明的流程示意图。
具体实施方式
以下结合技术方案和说明书附图阐述本发明的具体实施例。
设待编码的视频图像序列长度为N(第0-N-1帧),实施步骤如下:
步骤1:如说明书附图所示,从T0时刻开始至T1时间内,首先由CPU端的CPU主线程向GPU端传送视频序列中的第0帧图像数据,并向GPU发出调度指令,启动GPU多线程采用如前面所述的“实现HEVC编码器并行处理的技术方案”对第0帧图像进行预测(此处为帧内预测)、变换、量化、率失真优化、反量化、反变换及图像重构等环节的并行计算。在此期间,CPU主线程与GPU端将有多次的信息交流,CPU主线程会根据GPU端返回的信息所反映的当前GPU端上的GPU多线程的任务执行状况,启动不同的GPU多线程以完成不同环节的处理任务;当GPU端中的GPU多线程完成第0帧图像的重构计算任务后向CPU主线程返回任务结束标志,CPU主线程收到结束标志后,将GPU多线程产生的第0帧的全部待编码数据传到CPU中;在此期间CPU从线程处于空闲状态;
步骤2:从T1时刻开始至T2时间内,CPU主线程启动CPU从线程由该从线程对第0帧全部待编码数据进行熵编码,CPU主线程同时将下一帧(第1帧)图像数据传送到GPU端,并启动GPU端的GPU多线程对第1帧图像进行预测(帧间预测)、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等环节的并行计算。在此期间,CPU主线程与GPU端同样将有多次的信息交流,CPU主线程会根据GPU端返回的信息所反映的当前GPU端上的GPU多线程的任务执行状况,启动不同的GPU多线程以完成不同环节的处理任务。此时CPU主线程与CPU从线程之间也将有信息交流,掌控CPU从线程的任务完成状况。当GPU端中的GPU多线程完成第1帧图像的重构计算任务后向CPU主线程返回任务结束标志,CPU主线程收到结束标志后,将GPU多线程产生的第1帧的全部待编码数据传到CPU中;
步骤3:从T2时刻开始至T3时间内,CPU端的CPU主线程、CPU从线程以及GPU端的GPU多线程分别进行与在步骤2中完全同样的操作处理,所不同的是在此步骤里由CPU主线程向GPU端传送的是第2帧图像数据、GPU多线程处理的也是该帧数据、CPU主线程启动CPU从线程对第1帧全部待编码数据进行熵编码、CPU主线程最后是将这一时段内由GPU多线程产生的第2帧图像的全部待编码数据传到CPU中;
步骤4:从Tn时刻开始至Tn+1时间内(n=3,4,…,N-1),在该步骤中CPU端的CPU主线程、CPU从线程以及GPU端的GPU多线程所进行的操作处理仍然与在步骤2或步骤3中几乎同样的操作处理,不同的是在此步骤里由CPU主线程向GPU端传送的是第n帧图像数据、GPU多线程处理的也是新传过来的这一帧数据、CPU主线程启动CPU从线程对第n-1帧全部待编码数据进行熵编码、以及CPU主线程最后是将这一时段内由GPU多线程产生的第n帧图像的全部待编码数据传到CPU中。此外,与前述步骤有所不同的是:在该步骤中由GPU多线程对第n帧图像所做的预测处理既有可能是帧间预测又有可能是帧内预测,具体为哪一种预测是由事先规定的预测选择算法来决定。在实际运行过程中,是由CPU主线程根据预测选择算法决定对当前帧图像的预测方式,并向GPU发出相应的调度指令,随之由GPU多线程按指令对当前帧图像进行相应的帧内预测或者帧间预测运算。其它所有操作则与步骤2或步骤3完全相同;
步骤5:重复步骤4直到TN时刻为止,到TN时刻已对第N-1帧(最后一帧)图像完成除了最终的熵编码环节以外的全部处理操作,并且已将该帧图像的全部待编码数据传送到了CPU端;
步骤6:在TN时刻,由CPU主线程向CPU从线程发通知由该从线程对第N-1帧的全部待编码数据进行最终的熵编码,获得该最后一帧图像最终压缩后的码流数据。至此,对整个视频图像序列的编码过程结束。

Claims (2)

1.一种基于CPU+GPU异构平台实现HEVC中熵编码环节的并行处理方法,其特征在于:
(1)采用二核或二核以上的CPU和一个GPU卡构成一个CPU+GPU异构计算平台;
(2)在CPU上设置两个线程,分别称为“CPU主线程”和“CPU从线程”;在GPU上设置一个多线程,称为“GPU多线程”;其中“CPU主线程”负责整个编码器***的计算流程控制,也对“CPU从线程”和“GPU多线程”的调度以及CUP与GPU之间的数据信息交流;“CPU从线程”负责实现对前一帧图像所有待编码数据的最终熵编码环节,“GPU多线程”负责实现对当前帧图像的预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构;
(3)对于率失真优化过程中对各个CU数据块的熵编码环节,预测、变换、量化等环节是由GPU通过“GPU多线程”做并行处理,而且此时是以CU数据块为单元进行计算,在此过程中用“GPU多线程”对每一个CU数据块仍按原串行熵编码算法对该CU块中的各个数据进行编码,而对不同的CU数据块进行并行编码,由此实现CU级的并行熵编码,提高该环节的计算效率。
2.根据权利要求1所述的的并行处理方法,其特征在于以下步骤:
步骤1:从T0时刻开始至T1时间内,首先由CPU端的CPU主线程向GPU端传送视频序列中的第0帧图像数据,并向GPU发出调度指令,启动GPU多线程采用如前面所述的“实现HEVC编码器并行处理的技术方案”对第0帧图像进行预测、变换、量化、率失真优化、反量化、反变换及图像重构等环节的并行计算;在此期间,CPU主线程与GPU端将有多次的信息交流,CPU主线程会根据GPU端返回的信息所反映的当前GPU端上的GPU多线程的任务执行状况,启动不同的GPU多线程以完成不同环节的处理任务;当GPU端中的GPU多线程完成第0帧图像的重构计算任务后向CPU主线程返回任务结束标志,CPU主线程收到结束标志后,将GPU多线程产生的第0帧的全部待编码数据传到CPU中;在此期间CPU从线程处于空闲状态;
步骤2:从T1时刻开始至T2时间内,CPU主线程启动CPU从线程由该从线程对第0帧全部待编码数据进行熵编码,CPU主线程同时将下一帧(第1帧)图像数据传送到GPU端,并启动GPU端的GPU多线程对第1帧图像进行预测、变换、量化、率失真优化、反量化、反变换、滤波及图像重构等环节的并行计算;在此期间,CPU主线程与GPU端同样将有多次的信息交流,CPU主线程会根据GPU端返回的信息所反映的当前GPU端上的GPU多线程的任务执行状况,启动不同的GPU多线程以完成不同环节的处理任务;此时CPU主线程与CPU从线程之间也将有信息交流,掌控CPU从线程的任务完成状况;当GPU端中的GPU多线程完成第1帧图像的重构计算任务后向CPU主线程返回任务结束标志,CPU主线程收到结束标志后,将GPU多线程产生的第1帧的全部待编码数据传到CPU中;
步骤3:从T2时刻开始至T3时间内,CUP端的CUP主线程、CPU从线程以及GPU端的GPU多线程分别进行与在步骤2中完全同样的操作处理,所不同的是在此步骤里由CPU主线程向GPU端传送的是第2帧图像数据、GPU多线程处理的也是该帧数据、CPU主线程启动CPU从线程对第1帧全部待编码数据进行熵编码、CPU主线程最后是将这一时段内由GPU多线程产生的第2帧图像的全部待编码数据传到CPU中;
步骤4:从Tn时刻开始至Tn+1时间内(n=3,4,…,N-1),在该步骤中CUP端的CUP主线程、CPU从线程以及GPU端的GPU多线程所进行的操作处理仍然与在步骤2或步骤3中几乎同样的操作处理,不同的是在此步骤里由CPU主线程向GPU端传送的是第n帧图像数据、GPU多线程处理的也是新传过来的这一帧数据、CPU主线程启动CPU从线程对第n-1帧全部待编码数据进行熵编码、以及CPU主线程最后是将这一时段内由GPU多线程产生的第n帧图像的全部待编码数据传到CPU中;在该步骤中由GPU多线程对第n帧图像所做的预测处理既有可能是帧间预测又有可能是帧内预测,具体为哪一种预测是由事先规定的预测选择算法来决定;在实际运行过程中,是由CPU主线程根据预测选择算法决定对当前帧图像的预测方式,并向GPU发出相应的调度指令,随之由GPU多线程按指令对当前帧图像进行相应的帧内预测或者帧间预测运算;其它所有操作则与步骤2或步骤3完全相同;
步骤5:重复步骤4直到TN时刻为止,到TN时刻已对第N-1帧图像完成除了最终的熵编码环节以外的全部处理操作,并且已将该帧图像的全部待编码数据传送到了CPU端;
步骤6:在TN时刻,由CPU主线程向CPU从线程发通知由该从线程对第N-1帧的全部待编码数据进行最终的熵编码,获得该最后一帧图像最终压缩后的码流数据;至此,对整个视频图像序列的编码过程结束。
CN201811258709.6A 2018-10-26 2018-10-26 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 Active CN109391816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811258709.6A CN109391816B (zh) 2018-10-26 2018-10-26 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811258709.6A CN109391816B (zh) 2018-10-26 2018-10-26 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法

Publications (2)

Publication Number Publication Date
CN109391816A true CN109391816A (zh) 2019-02-26
CN109391816B CN109391816B (zh) 2020-11-03

Family

ID=65426863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811258709.6A Active CN109391816B (zh) 2018-10-26 2018-10-26 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法

Country Status (1)

Country Link
CN (1) CN109391816B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969672A (zh) * 2019-11-14 2020-04-07 杭州飞步科技有限公司 图像压缩方法及装置
CN112385225A (zh) * 2019-09-02 2021-02-19 北京航迹科技有限公司 用于改进图像编码的方法和***
CN114827614A (zh) * 2022-04-18 2022-07-29 重庆邮电大学 一种实现lcevc视频编码优化的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297777A (zh) * 2013-05-23 2013-09-11 广州高清视信数码科技股份有限公司 一种用于加速视频编码速度的方法及装置
CN104869398A (zh) * 2015-05-21 2015-08-26 大连理工大学 一种基于cpu+gpu异构平台实现hevc中的cabac的并行方法
US20170150181A1 (en) * 2015-11-20 2017-05-25 Nvidia Corporation Hybrid Parallel Decoder Techniques
CN107135392A (zh) * 2017-04-21 2017-09-05 西安电子科技大学 基于异步模式的hevc运动搜索并行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297777A (zh) * 2013-05-23 2013-09-11 广州高清视信数码科技股份有限公司 一种用于加速视频编码速度的方法及装置
CN104869398A (zh) * 2015-05-21 2015-08-26 大连理工大学 一种基于cpu+gpu异构平台实现hevc中的cabac的并行方法
US20170150181A1 (en) * 2015-11-20 2017-05-25 Nvidia Corporation Hybrid Parallel Decoder Techniques
CN107135392A (zh) * 2017-04-21 2017-09-05 西安电子科技大学 基于异步模式的hevc运动搜索并行方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BIAO WANG 等: "Highly parallel HEVC decoding for heterogeneous systems with CPU and GPU", 《SIGNAL PROCESSING: IMAGE COMMUNICATION》 *
张维龙: "HEVC关键模块并行算法的设计与基于GPU的实现", 《中国优秀硕士学位论文全文数据库》 *
马爱迪: "基于CPU+GPU混合平台的HEVC并行解码器", 《中国优秀硕士学位论文全文数据库》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112385225A (zh) * 2019-09-02 2021-02-19 北京航迹科技有限公司 用于改进图像编码的方法和***
CN110969672A (zh) * 2019-11-14 2020-04-07 杭州飞步科技有限公司 图像压缩方法及装置
CN114827614A (zh) * 2022-04-18 2022-07-29 重庆邮电大学 一种实现lcevc视频编码优化的方法
CN114827614B (zh) * 2022-04-18 2024-03-22 重庆邮电大学 一种实现lcevc视频编码优化的方法

Also Published As

Publication number Publication date
CN109391816B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN104967850B (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
CN104869398B (zh) 一种基于cpu+gpu异构平台实现hevc中的cabac的并行方法
CN106464894B (zh) 视频处理方法及装置
CN104935932B (zh) 图像解码设备
CN106170092A (zh) 用于无损编码的快速编码方法
CN110087087A (zh) Vvc帧间编码单元预测模式提前决策及块划分提前终止方法
CN102065298B (zh) 高性能宏块编码实现方法
CN105981383B (zh) 视频处理方法及装置
CN101394560A (zh) 一种用于视频编码的混合流水线装置
CN109391816A (zh) 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法
CN107483947A (zh) 视频编码和解码设备及非暂时性计算机可读存储介质
CN107623857A (zh) 视频编码/解码方法、设备以及生成和存储比特流的方法
CN103327325A (zh) 基于hevc标准的帧内预测模式快速自适应选择方法
CN101895756A (zh) 视频图像块的编码、解码、重构方法及***
CN105681797A (zh) 一种基于预测残差的dvc-hevc视频转码方法
CN102196272B (zh) 一种p帧编码方法及装置
CN104702959B (zh) 一种视频编码的帧内预测方法及***
CN108347602A (zh) 用于无损压缩视频数据的方法和装置
CN105100799B (zh) 一种减少hevc编码器中帧内编码时延的方法
CN102065293B (zh) 一种基于空间域预测编码的图像压缩方法
CN108965814A (zh) 一种基于cuda加速技术的视频混合解码渲染方法
CN104980764A (zh) 基于复杂度均衡的并行编解码方法、装置及***
CN101841722B (zh) 滤波边界强度的检测装置的检测方法
CN102595137B (zh) 基于图像像素块行/列流水线的快速模式判决装置和方法
CN104053009A (zh) 一种监控视频的编码方法及装置

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