CN103414896A - 一种基于多核实现的运动估计方法 - Google Patents
一种基于多核实现的运动估计方法 Download PDFInfo
- Publication number
- CN103414896A CN103414896A CN2013103238680A CN201310323868A CN103414896A CN 103414896 A CN103414896 A CN 103414896A CN 2013103238680 A CN2013103238680 A CN 2013103238680A CN 201310323868 A CN201310323868 A CN 201310323868A CN 103414896 A CN103414896 A CN 103414896A
- Authority
- CN
- China
- Prior art keywords
- processor
- estimation
- communication
- processor core
- bunch
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明属于数字视频信号编解码技术领域,具体为一种基于多核实现的运动估计方法。本发明使用多核处理器处理运动估计,包括多核处理器的任务划分和多核处理器的核间通信;本发明中,利用多核处理器的并行性,将具有复杂运算量的运动估计过程映射到多核处理器上,最后得到运动向量以及块划分模式。本发明可根据使用要求提供不同的快速搜索算法和模式判决准则,以便对编码开销和图像质量进行平衡,适用于最新的视频编码标准,大幅度提高编码速度。本发明在使用16核处理器进行视频编码过程中,相比单核处理器,能够提供8.5倍的加速比。
Description
技术领域
本发明属于数字视频信号编码技术领域,具体涉及针对于HEVC视频标准的运动估计的方法。
背景技术
HEVC(High efficiency video coding)是由国际电信组织(ITU)和运动图像专家组(MPEG)联合制定而成的最新国际视频编码标准。相对于旧的H.264标准,HEVC具有更高的压缩效率,更适合超高分辨率视频的编码。
运动估计,是在帧间预测编码中,由于活动图像在相邻帧之间存在一定的相关性,因此可以将活动图像分成若干块,设法搜索出每个块在相邻帧中的位置,编码两者之间的相对偏移量,便可在解码端恢复图像。
相比于H.264的宏块,在HEVC标准中,编码层的核心为编码单元,编码单元的大小可以设置成8,16,32或者64。同时HEVC引入了层次化的编码四叉树的概念,编码单元可以递归式向下划分。在HEVC中,运动估计的基本处理单元为预测单元,预测单元划分结构的根节点在编码单元层,预测单元至此多种尺寸划分,从最大的64×64到最小的4×4。由于层次化的结构和多种可变尺寸块的划分,使得HEVC中的运动估计的计算量和复杂度都大大提升。
多核处理器是在一个处理器上集成多个完整的计算内核,通过把任务合理划分到多核处理器进行并行处理,能够大大提高运算速度。对于运算量密集型的任务,多核处理器能够获得更多的性能提升。因此利用多核处理器技术提高数字视频信号编码中的运动估计的性能十分可行。
发明内容
本发明的目的在于提出一种基于多核实现的运动估计方法,适用于HEVC视频规范所规定编码过程,以实现对多种块大小的预测单元进行并行化运动估计。
本发明提出的基于多核实现的运动估计方法,使用多核处理器处理运动估计,包括两个部分:多核处理器的任务划分和多核处理器的核间通信。其中:
所述多核处理器的任务划分,是指将运动估计算法中串行的流程拆分成并行的流程,并分配到每个处理器核心上;多核处理器任务划分的主要依据是尽可能地提高并行度,同时需要保证每个多核处理器的负担均衡。预测单元的运动估计的多核处理器任务划分包括以下方面:
(1)每一种预测单元块划分在一个核内:
每个处理器核心完成一种预测单元块的运动估计;预测单元块的运动估计,采用基于模型的快速搜索的算法,如4步搜索(4SS),钻石搜索(DS)和六边形搜索(HS)等。运动估计的判别准则采用绝对差值和(SAD)准则:
(2)每一种编码单元划分在一个簇内:
簇是若干个多核处理器核心的集合,作为片上网络通信的基本结点。将每一种编码单元划分在一个簇内,是为了便于处理器核的核间通信。为了保证每个处理器核心的负担均衡,允许将较小的编码单元(16×16或者8×8)划分到多个簇上,同时这些预测单元在进行运动估计时,搜索窗口可以根据实际情况适当地增加;
(3)每个簇需要一个处理器核心处理核间通信和对运动估计进行模式判决:
决定采用何种大小的预测单元和何种大小的编码单元,需要利用拉格朗日率失真优化策略进行最后化模式判决:
(2)
所述多核处理器的核间通信,是指处理器核心之间的通信,本发明中,充分利用了多核处理器的多种层次的通信方式:
(1)共享内存通信
共享内存通信主要为簇内的处理器核心提供服务。簇内的处理器核心将标志位、运动向量和率失真率存储在共享内存中,负责模式判决的处理器核心利用这些数据做出预测单元的模式判决;
(2)包路由通信
对于不同簇的处理器,采用包路由(包交换网络的路由器)的通信机制。包交换网络是广泛应用于多核处理器的通信机制。模式判决所需要的数据传递到包交换网络的路由器,路由器根据目的地和当前网路状态寻找合适路径,将数据传送到其他处理器核心;
(3)广播式通信
在运动估计中,需要传送大量的原始像素和参考帧像素,内存带宽开销十分巨大,对于多核并行处理挑战更大。因此利用广播式通信机制能够降低内存通信开销。对于簇内的处理器核心,原始像素和参考帧像素只需要一份,被所有处理器核心共享使用。对于不同簇,原始像素和参考帧像素在链路交换网络上通过广播的方式进行传送。在传送过程中,对于重叠的搜索窗口,数据可以得到进一步的复用。
本发明中,所述的模式判决适用于任意基于模型的快速搜索算法。
本发明利用多核处理器的并行性,将具有复杂运算量的运动估计过程映射到多核处理器上,最后得到运动向量以及块划分模式。本方法可根据使用要求提供不同的快速搜索算法和模式判决准则,以便对编码开销和图像质量进行平衡,适用于最新的视频编码标准,大幅度提高编码速度。本方法在使用16核处理器进行视频编码过程中,相比单核处理器,能够提供8.5倍的加速比。
附图说明
图1为基于多核实现的运动估计并行架构。
图2为预测单元的运动估计的多核处理器任务划分。
图3为多核处理器的核间通信。
具体实施方式
下面结合附图对本发明做进一步的描述。
本发明所述的基于多核实现的运动估计方法,具体实施方式如下:
(1)运动估计多核处理器任务划分
如图1所示,簇内的三个处理器核心分别负责2N×2N,2N×N和N×2N 预测单元的运动估计,剩下的一个处理器核心负责当前编码单元的模式判决以及核间通信。在16核的多核处理中,两个簇用于进行编码单元大小为8×8的运动估计,剩下两个簇的处理器核心负责编码单元大小为16×16和32×32的运动估计。
(2)多核处理器核心的核间通信
如图2所示,首先利用广播式通信,将原始像素和参考帧像素传送到共享内存中。各个处理核心进行运动估计,获得最佳的运动矢量和RD-cost存储在共享内存中。每完成一个编码单元之后,负责模式判决的处理器核心会利用存储在共享内存中的数据进行模式判决,同时将判决的结果通过包交换网络发送到负责上层编码单元的处理器核心。最后当所有的编码单元和预测单元完成之后,获得最佳的编码单元划分和预测单元模式。
(3)具体实施举例
本例子中采用了16核处理核心,最大的编码单元为32×32,最小的编码单元为8×8,预测单元模式为2N×2N,2N×N和N×2N。采用不同的快速搜索算法:4步搜索(4SS),钻石搜索(DS)和六边形搜索(HS)。
通过(3)式计算得到采用1核心,4核心,8核心和16核心的加速比,如表1所示。
表1 采用1核心,4核心,8核心和16核心的加速比
Claims (3)
1. 一种基于多核实现的运动估计方法,其特征在于使用多核处理器处理运动估计,包括两个部分:多核处理器的任务划分和多核处理器的核间通信;其中:
所述多核处理器的任务划分,是指将运动估计算法中串行的流程拆分成并行的流程,并分配到每个处理器核心上;多核处理器任务划分的主要依据是尽可能地提高并行度,同时需要保证每个多核处理器的负担均衡;预测单元的运动估计的多核处理器任务划分包括以下方面:
(1)每一种预测单元块划分在一个核内:
每个处理器核心完成一种预测单元块的运动估计,预测单元块的运动估计,采用基于模型的快速搜索的算法,运动估计的判别准则采用绝对差值和SAD准则:
(2)每一种编码单元划分在一个簇内:
簇是若干个多核处理器核心的集合,作为片上网络通信的基本结点;将每一种编码单元划分在一个簇内,便于处理器核的核间通信;
(3)每个簇需要一个处理器核心处理核间通信和对运动估计进行模式判决:
决定采用何种大小的预测单元和何种大小的编码单元,需要利用拉格朗日率失真优化策略进行最后化模式判决:
所述多核处理器的核间通信,是指处理器核心之间的通信,核间通信利用多核处理器的多种层次的通信方式:
(1)共享内存通信
共享内存通信主要为簇内的处理器核心提供服务;簇内的处理器核心将标志位、运动向量和率失真率存储在共享内存中,负责模式判决的处理器核心利用这些数据做出预测单元的模式判决;
(2)包路由通信
对于不同簇的处理器,采用包路由即包交换网络的路由器的通信机制;模式判决所需要的数据传递到包交换网络的路由器,路由器根据目的地和当前网路状态寻找合适路径,将数据传送到其他处理器核心;
(3)广播式通信
对于簇内的处理器核心,原始像素和参考帧像素只需要一份,被所有处理器核心共享使用;对于不同簇,原始像素和参考帧像素在链路交换网络上通过广播的方式进行传送;在传送过程中,对于重叠的搜索窗口,数据得到进一步的复用。
2. 根据权利要求1所述的基于多核实现的运动估计方法,其特征在于,将较小的编码单元:16×16或者8×8划分到多个簇上,以保证每个处理器核心的负担均衡;同时这些预测单元在进行运动估计时,搜索窗口适当增加。
3. 根据权利要求1或2所述的基于多核实现的运动估计方法,其特征在于所述的模式判决适用于任意基于模型的快速搜索算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310323868.0A CN103414896B (zh) | 2013-07-30 | 2013-07-30 | 一种基于多核实现的运动估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310323868.0A CN103414896B (zh) | 2013-07-30 | 2013-07-30 | 一种基于多核实现的运动估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103414896A true CN103414896A (zh) | 2013-11-27 |
CN103414896B CN103414896B (zh) | 2018-04-27 |
Family
ID=49607878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310323868.0A Active CN103414896B (zh) | 2013-07-30 | 2013-07-30 | 一种基于多核实现的运动估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103414896B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104159123A (zh) * | 2014-08-11 | 2014-11-19 | 哈尔滨工业大学深圳研究生院 | 一种适合于硬件实现的hevc运动估计方法 |
CN105245896A (zh) * | 2015-10-09 | 2016-01-13 | 传线网络科技(上海)有限公司 | Hevc并行运动补偿方法及装置 |
CN106060555A (zh) * | 2016-06-29 | 2016-10-26 | 东华大学 | 一种基于多核处理器的编码器 |
WO2018023352A1 (zh) * | 2016-08-01 | 2018-02-08 | 南京信息工程大学 | 一种基于在线学习的快速运动估计方法 |
CN113239348A (zh) * | 2021-04-21 | 2021-08-10 | 北京邮电大学 | 多核冗余系统 |
CN113489985A (zh) * | 2021-05-26 | 2021-10-08 | 杭州博雅鸿图视频技术有限公司 | 一种分像素运动估计方法及估计系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267564A (zh) * | 2008-04-16 | 2008-09-17 | 中国科学院计算技术研究所 | 一种多处理器视频编码芯片装置和方法 |
US20090049281A1 (en) * | 2007-07-24 | 2009-02-19 | Samsung Electronics Co., Ltd. | Multimedia decoding method and multimedia decoding apparatus based on multi-core processor |
US20090154572A1 (en) * | 2007-12-17 | 2009-06-18 | Samsung Electronics Co., Ltd. | Method and apparatus for video decoding based on a multi-core processor |
US20120236940A1 (en) * | 2011-03-16 | 2012-09-20 | Texas Instruments Incorporated | Method for Efficient Parallel Processing for Real-Time Video Coding |
-
2013
- 2013-07-30 CN CN201310323868.0A patent/CN103414896B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090049281A1 (en) * | 2007-07-24 | 2009-02-19 | Samsung Electronics Co., Ltd. | Multimedia decoding method and multimedia decoding apparatus based on multi-core processor |
US20090154572A1 (en) * | 2007-12-17 | 2009-06-18 | Samsung Electronics Co., Ltd. | Method and apparatus for video decoding based on a multi-core processor |
CN101267564A (zh) * | 2008-04-16 | 2008-09-17 | 中国科学院计算技术研究所 | 一种多处理器视频编码芯片装置和方法 |
US20120236940A1 (en) * | 2011-03-16 | 2012-09-20 | Texas Instruments Incorporated | Method for Efficient Parallel Processing for Real-Time Video Coding |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104159123A (zh) * | 2014-08-11 | 2014-11-19 | 哈尔滨工业大学深圳研究生院 | 一种适合于硬件实现的hevc运动估计方法 |
CN104159123B (zh) * | 2014-08-11 | 2017-04-12 | 哈尔滨工业大学深圳研究生院 | 一种适合于硬件实现的hevc运动估计方法 |
CN105245896A (zh) * | 2015-10-09 | 2016-01-13 | 传线网络科技(上海)有限公司 | Hevc并行运动补偿方法及装置 |
CN106060555A (zh) * | 2016-06-29 | 2016-10-26 | 东华大学 | 一种基于多核处理器的编码器 |
WO2018023352A1 (zh) * | 2016-08-01 | 2018-02-08 | 南京信息工程大学 | 一种基于在线学习的快速运动估计方法 |
CN113239348A (zh) * | 2021-04-21 | 2021-08-10 | 北京邮电大学 | 多核冗余系统 |
CN113489985A (zh) * | 2021-05-26 | 2021-10-08 | 杭州博雅鸿图视频技术有限公司 | 一种分像素运动估计方法及估计系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103414896B (zh) | 2018-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414896A (zh) | 一种基于多核实现的运动估计方法 | |
CN111918339B (zh) | 移动边缘网络中基于强化学习的ar任务卸载和资源分配方法 | |
CN108134843B (zh) | 一种5g-c-ran场景下的服务功能链部署方法 | |
CN103299627B (zh) | 视频译码中的帧分裂 | |
CN110087087A (zh) | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 | |
CN111475274B (zh) | 云协同多任务调度方法及装置 | |
CN105245897A (zh) | 用于在多核处理器上转码到高效视频编码的高效软件 | |
CN107852495A (zh) | 低时延两次视频代码化 | |
Shen et al. | Ultra fast H. 264/AVC to HEVC transcoder | |
CN105007541B (zh) | 可伸缩视频流动态多码率组播优化传输方法 | |
CN101710986A (zh) | 基于同构多核处理器的h.264并行解码方法和系统 | |
CN107667528A (zh) | 用于视频编解码的自适应参考帧缓存的方法和系统 | |
CN113286329B (zh) | 基于移动边缘计算的通信和计算资源联合优化方法 | |
CN106888379B (zh) | 应用于h.264到hevc的帧间快速视频转码方法 | |
CN104954787B (zh) | Hevc帧间预测模式选择方法及装置 | |
CN103327327A (zh) | 用于高性能视频编码hevc的帧间预测编码单元选择方法 | |
CN114640870A (zh) | 一种QoE驱动的无线VR视频自适应传输优化方法及系统 | |
CN105245896A (zh) | Hevc并行运动补偿方法及装置 | |
CN109429064A (zh) | 一种处理视频数据的方法和装置 | |
CN103313058A (zh) | 针对芯片实现的hevc视频编码多模块优化方法和系统 | |
WO2018171445A1 (zh) | 一种高效视频编码方法及装置、计算机可读存储介质 | |
Wu et al. | Dynamic traffic prediction with adaptive sampling for 5G HetNet IoT applications | |
CN105516109B (zh) | 一种保证无线多跳网络视频传输服务质量的传输调度方法 | |
Politis et al. | On optimizing scalable video delivery over media aware mobile clouds | |
CN102647595A (zh) | 一种基于avs的亚像素运动估计的装置 |
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 |