CN103763569B - 一种基于先入先出队列的hevc细粒度并行预测方法 - Google Patents

一种基于先入先出队列的hevc细粒度并行预测方法 Download PDF

Info

Publication number
CN103763569B
CN103763569B CN201410005285.8A CN201410005285A CN103763569B CN 103763569 B CN103763569 B CN 103763569B CN 201410005285 A CN201410005285 A CN 201410005285A CN 103763569 B CN103763569 B CN 103763569B
Authority
CN
China
Prior art keywords
ctu
size
prediction
input
hevc
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
CN201410005285.8A
Other languages
English (en)
Other versions
CN103763569A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201410005285.8A priority Critical patent/CN103763569B/zh
Publication of CN103763569A publication Critical patent/CN103763569A/zh
Application granted granted Critical
Publication of CN103763569B publication Critical patent/CN103763569B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开一种基于先入先出队列的HEVC细粒度并行预测方法,其特征在于:允许一个编码树单元内部多个不同CU同时进行预测过程,并利用多个先入先出队列管理CU间的同步和通信。与现有技术相比,本发明充分利用了CTU内部的并行性,可以达到CTU内部理论上的最大并行度,并且不会带来任何压缩性能损失。

Description

一种基于先入先出队列的HEVC细粒度并行预测方法
技术领域
本发明涉及一种图像处理和视频编码领域的方法,具体是一种基于先入先出(FIFO,Fist In First Out)队列的HEVC编码树单元(CTU)内部并行预测方法。
背景技术
2013年1月国际电信联盟(ITU)通过的新一代视频编码标准HEVC(HighEfficiency Video Coding)相比于上一代标准H.264/AVC,在主观质量相同的前提下压缩效率提高了一倍。但是,压缩效率的提高是以计算复杂度的急剧上升为代价的,根据多方的测试和统计,HEVC比上一代标准H.264/AVC计算复杂度要高1~2个数量级。如何在保持高压缩效率的同时降低编码的复杂度,是HEVC应用和推广面临的一个迫切问题。
另一方面,由于物理因素的限制,单核处理器近些年的发展越来越缓慢,而多核(multi-core)和众核(many-core)处理器发展迅速,为大型程序提供强大的并行处理能力,典型的产品有多核中央处理器(CPU)和众核图形处理器(GPU)。HEVC的编码框架内存在很多的并行性可供研究,充分利用处理器提供的强大并行计算性能,为HEVC设计不同层次的并行化编码策略,可以给HEVC编码器带来数倍甚至数十倍的速度提升。
发明内容
本发明针对HEVC编码树单元的最佳划分和最佳预测模式判决问题,提供一种基于先入先出队列的CU级并行预测方法。该方法针CTU内部不同CU的预测过程提供并行化便利,在无任何压缩性能损失的同时还可以达到理论上的最大并行度。
为实现上述的目的,本发明所述的基于先入先出队列的HEVC CU级并行预测方法,包括如下步骤:
第一步,初始化:创建多个先入先出队列即FIFO队列,分别用于管理不同尺寸的CU或PU;
第二步,将CTU内所有CU或PU按尺寸分别压入相应的FIFO队列,入队顺序为相应尺寸CU或PU的四叉树扫描顺序;
第三步,各FIFO队列同时工作,从各自的队列中取出一个CU或PU进行预测,串行的兄弟CU或PU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式;
第四步,重复第三步,直到所有FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
本发明的基本思想是允许CTU内的多个独立CU同时进行预测,并用FIFO队列管理CU间的同步。具体地,以帧内预测、CTU32x32、最大划分深度3为例,一个CTU内存在一个32x32CU、4个16x16CU、16个8x8CU以及64个4x4CU,所有CU均是串行进行。CU的处理时间大致正比于其像素个数,因此,设一个CU4x4的处理时间为一个时间单位,则8x8、16x16和32x32分别需要4、16和64个时间单位,整个CTU需要64×1+16×4+4×16+1×16=256个时间单位才能确定其最佳划分和每个划分的最佳预测模式。本发明提出的并行化方法,可以在64个时间单位内完成整个过程,加速比256/64=4。考虑到64已经是最少所需时间(单是CU32x32就需要64个时间单位),因此本发明方法已经达到此配置下理论上的最大并行度。帧间预测时预测单元(PU,Prediction Unit)的组合更多,但原理与此类似,最大并行度也为4。另外,本方法不受编码配置的限制,不同的CTU大小、不同的划分深度下本方法均可以达到相应配置下的最大并行度。
与现有技术相比,本发明具有以下有益效果:
本发明充分利用了CTU内部的并行性,可以达到CTU内部理论上的最大并行度,并且不会带来任何压缩性能损失,对CTU大小、划分深度、帧内、帧间预测等编码配置无特殊限制。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其他特征、目的和优点将会更加明显:
图1是CTU划分和其坐标图。
图2是8x8矩阵的四叉树扫描顺序图。
图3是本发明对帧内(intra)预测实施例的示意图。
图4是对图3第一个16x16CU部分的放大。
图5是本发明对帧间(inter)预测实施例CU16x16部分的示意图。
具体实施方式
下面结合具体实例对本发明进行详细说明。以下实施将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
本发明对CTU大小、划分深度、帧内、帧间预测等编码配置无特殊限制,下面以CTU大小32x32、最大划分深度3、帧内预测为例,来展示本方法的并行处理流程,其他配置下本方法同样适用,只需作相应改动即可。
首先介绍两个概念:先入先出(FIFO)队列和四叉树扫描顺序。
先入先出队列是数据结构和操作系统中的重要概念,其基本思想是将多个任务以一定的顺序放入队列中,处理程序每个从队列中取出一个任务执行,并严格保证先进入队列的任务一定比后进入队列的任务先执行。
HEVC编码单元以四叉树方式进行划分,相应地便存在四叉树扫描方式。四叉树扫描是对所有叶节点进行的一次深度优先遍历,该遍历以深度优先的方式递归地访问每个节点的四个子节点。附图2是对一个8x8矩阵的四叉树扫描,从左上角开始扫描到右下角元素,每个方块内的值表示该点被访问的顺序。
设CTU左上角像素位置为(0,0)。向右为x轴正方形,向下为y轴正方向,如附图1所示。以CUNxM(x,y)表示大小为NxM,左上角坐标为(x,y)的CU。对于每个CTU,HEVC以动态规划算法确定其最佳划分。对每个划分(CU),又以蛮力搜索(brute force searching)的方式从35种预测模式中寻找其最佳预测模式。
本发明允许一个编码树单元内部多个不同CU同时进行预测过程,并利用多个先入先出队列管理CU间的同步和通信。如图3所示,提供一个实施例,具体过程为:
第一步,初始化。创建4个FIFO队列,分别用于管理32x32~4x4四种尺寸的CU。
第二步,将CTU内所有CU(1个CU32x32、4个CU16x16、16个CU8x8、64个CU4x4)按尺寸分别压入相应的FIFO队列,入队顺序为相应尺寸CU的四叉树扫描顺序。
第三步,4个FIFO队列同时工作,从各自的队列中取出一个CU进行帧内预测。4个串行的兄弟CU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式。
第四步,4)重复步骤3),直到4个FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
其中RD代价比较所占时间相对于预测过程可以忽略,因此每级的四个子CU处理时间完全隐藏在父CU处理时间内,最终一个CTU所需的总时间为64个时间单位如附图3和附图4所示,其中图4是对图3中第一个CU16x16部分的放大。由于一个CTU至少需要64个,因此这种基于FIFO队列的细粒度并行方法已经达到CTU内部理论上的最大并行度。帧间并行CU预测的过程与此类似,只是PU的组合更多,附图5给出了一个16x16CU及其8x8、4x4子CU的并行预测过程。因此该方法针CTU内部不同CU的预测过程提供并行化便利,在无任何压缩性能损失的同时还可以达到理论上的最大并行度。
下面提供另一个帧间预测实施例,编码配置为CTU32x32、最大划分深度3、允许非对称划分(AMP,Asymmetric Motion Partition)、帧间预测块不使用帧内模式、不使用PCM模式。
第一步,初始化。创建19个FIFO队列,分别用于管理32x32~4x8/8x4四种尺寸的PU。附图5给出了16x16部分的FIFO,其他部分的FIFO与此类似。
第二步,将所有PU按尺寸分别压入相应的FIFO队列,入队顺序为相应的四叉树扫描顺序。
第三步,各FIFO队列同时工作,从各自的队列中取出一个PU进行帧间预测。串行的兄弟PU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式。
第四步,4)重复步骤3),直到所有FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息。
不同的编码配置,如CTU大小、划分深度、是否选用或跳过某些划分和预测模式组合、帧内/帧间/PCM预测等等,不会对本方法有实质性影响,只需对本文给出的方法稍作改变即可。例如只需在每级CU队列中增加一个并行FIFO,就可以支持PCM模式与帧内/帧间预测模式的并行,这些都属于本方法的保护范围。
本发明中其他没有具体说明的内容均可以采用现有技术实现,对帧内预测,FIFO队列的大小等于不同尺寸PU的数量;对帧间预测,FIFO队列的大小等于所有可能PU划分模式的数量。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (1)

1.一种基于先入先出队列的HEVC细粒度并行预测方法,其特征在于所述方法包括如下步骤:
第一步,初始化:创建多个先入先出队列即FIFO队列,分别用于管理不同尺寸的CU或PU;
第二步,将CTU内所有CU或PU按尺寸分别压入相应的FIFO队列,入队顺序为相应尺寸CU或PU的四叉树扫描顺序;
第三步,各FIFO队列同时工作,从各自的队列中取出一个CU或PU进行预测,串行的兄弟CU或PU完成预测时,和它们所属的父CU进行RD代价比较,选取代价较小的作为当前父CU层的最佳划分和预测模式;
第四步,重复步骤第三步,直到所有FIFO队列均为空,得到该CTU的最佳划分和最佳预测模式信息;
对帧内预测,FIFO队列的大小等于不同尺寸PU的数量;对帧间预测,FIFO队列的大小等于所有可能PU划分模式的数量。
CN201410005285.8A 2014-01-06 2014-01-06 一种基于先入先出队列的hevc细粒度并行预测方法 Expired - Fee Related CN103763569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410005285.8A CN103763569B (zh) 2014-01-06 2014-01-06 一种基于先入先出队列的hevc细粒度并行预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410005285.8A CN103763569B (zh) 2014-01-06 2014-01-06 一种基于先入先出队列的hevc细粒度并行预测方法

Publications (2)

Publication Number Publication Date
CN103763569A CN103763569A (zh) 2014-04-30
CN103763569B true CN103763569B (zh) 2016-11-09

Family

ID=50530717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410005285.8A Expired - Fee Related CN103763569B (zh) 2014-01-06 2014-01-06 一种基于先入先出队列的hevc细粒度并行预测方法

Country Status (1)

Country Link
CN (1) CN103763569B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125466B (zh) * 2014-07-10 2017-10-10 中山大学 一种基于gpu的hevc并行解码方法
CN105791829B (zh) * 2016-03-30 2019-05-03 南京邮电大学 一种基于多核平台的hevc并行帧内预测方法
WO2020063598A1 (en) * 2018-09-25 2020-04-02 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《A Highly Efficient Parallel Algorithm for H.264 Encoder Based on Macro-Block Region Partition》;Shuwei Sun等;《High Performance Computing and Communications》;Springer;20071231;第577-585页 *
《EFFICIENT REALIZATION OF PARALLEL HEVC INTRA ENCODING》;Yanan Zhao等;《Multimedia and Expo Workshops(ICMEW)》;20130719;第1-6页 *
《Highly Parallel Mode Decision Method for HEVC》;Jun Zhang等;《Picture Coding Symposium(PCS)》;IEEE;20131211;第281-284页 *

Also Published As

Publication number Publication date
CN103763569A (zh) 2014-04-30

Similar Documents

Publication Publication Date Title
CN103688533B (zh) 可减少行存储器的色度帧内预测方法及装置
CN105491377B (zh) 一种计算复杂度感知的视频解码宏块级并行调度方法
CN102547289B (zh) 基于gpu并行实现的快速运动估计方法
CN106851293B (zh) 用于帧内预测的解码图像的装置
KR101588144B1 (ko) 루마 기반 크로마 인트라 예측
CN104885467B (zh) 用于下一代视频编码的内容自适应参数变换
CN102647594B (zh) 一种整像素精度运动估计方法及其系统
KR102144881B1 (ko) 비디오 처리를 위한 송신 장치 및 방법
DE112009004320T5 (de) Speicher-Untersystem
US20100246665A1 (en) Parallelization of high-performance video encoding on a single-chip multiprocessor
JP2010527194A (ja) 動的運動ベクトル分析方法
CN101860752B (zh) 一种针对嵌入式多核系统的视频编码流水化并行方法
CN103763569B (zh) 一种基于先入先出队列的hevc细粒度并行预测方法
CN107563951A (zh) 在二维图像处理器上的统计操作
CN101115207B (zh) 基于预测点间相关性的帧内预测实现的方法及装置
CN110337002A (zh) 一种在多核处理器平台上hevc多层次高效并行解码算法
CN102572430B (zh) 一种基于可重构技术的h.264去块滤波算法的实现方法
Abramowski et al. A double-path intra prediction architecture for the hardware H. 265/HEVC encoder
CN101252691A (zh) 一种多处理器并行实现高分辨率图像滤波的方法
CN102647595B (zh) 一种基于avs的亚像素运动估计的装置
CN101383971A (zh) 一种基于图像编解码的帧内预测的处理方法
Liu et al. Hybrid parallel bundle adjustment for 3d scene reconstruction with massive points
CN105160622B (zh) 基于fpga的图像超分辨率的实现方法
CN101256668A (zh) 一种计算均衡的多核进行视频滤波的方法
CN102769754A (zh) H264编码器及其图像变换、量化及重构的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
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: 20161109