CN102625109B - 一种基于多核处理器实现的mpeg-2至h.264的转码方法 - Google Patents
一种基于多核处理器实现的mpeg-2至h.264的转码方法 Download PDFInfo
- Publication number
- CN102625109B CN102625109B CN201210089435.9A CN201210089435A CN102625109B CN 102625109 B CN102625109 B CN 102625109B CN 201210089435 A CN201210089435 A CN 201210089435A CN 102625109 B CN102625109 B CN 102625109B
- Authority
- CN
- China
- Prior art keywords
- macro block
- block group
- responsible
- information
- core
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种基于多核处理器实现的MPEG-2至H.264的转码方法,包括:(1)由Core1接收码流,由Core2熵解码,由Core3负责宏块解码;(2)由Core4~9负责宏块估计,由Core10~12负责宏块预测;(3)由Core11~12负责宏块变换量化及反量化反变换,由Core15~16对负责宏块滤波;(4)由Core13熵编码,并由Core14发送码流。本发明的转码方法根据CPDT转码结构各模块间的相互关系,采用功能和数据相结合的划分方式对各核进行任务分配,能够有效提高转码过程的并行加速比,且更适合于高码率的MPEG-2至H.264的转码。
Description
技术领域
本发明属于视频转码技术领域,具体涉及一种基于多核处理器实现的MPEG-2至H.264的转码方法。
背景技术
随着高清数字电视(HDTV)的推广,高清视频处理技术的发展越来越迅速。传统HDTV的视频信号主要采用MPEG-2进行压缩,缺点是压缩率不高,在网络传输过程中会消耗大量的带宽。H.264作为新一代视频压缩标准,具有优异的压缩性能,在近年来的高清视频处理领域中得到了广泛应用。因此,MPEG-2至H.264的高清视频转码具有极大的应用价值;但由于高清转码计算量巨大,普通单核处理器难以实时实现,多核处理器的发展为MPEG-2至H.264的高清实时转码提供了基础,但是如何划分单核的处理信息以及如何高效的实现多核的并行成为关键的制约因素。
高清视频转码系统分为MPEG-2的解码部分和H.264的编码部分。转码器的结构可以分为级联像素域转码结构(CPDT)和离散余弦变换域转码结构(DDT),相对于DDT结构,CPDT具有结构灵活,漂移误差小等特点,因此被广泛应用于高清视频转码系统中。
传统的CPDT转码结构通常将解码部分和编码部分分割开来,且在各个部分的多核并行实现中采用基于单一的数据划分或基于单一的功能划分的方法。
单一的数据划分实现通常是以宏块为单位进行的,在MPEG2的解码部分,需要首先进行熵解码,然后才能进行数据划分。在H.264编码部分,需将视频帧划分为多个slice(片),每个核编码一个slice。这样的划分,降低了视频编码时的搜索范围,在搜索准确性和压缩效率上有所损耗,并改变了编码流的结构。而且由于slice的划分使得部分滤波过程需在视频帧编码完成之后重新进行,增加了核的负载。综上所述,单一的数据划分,并行效果差,转码效果也会有所损失。
单一的功能划分通常是以编解码基本功能模块为单位进行的,其基本思想是在单个核上实现一个转码功能,转码开始一定时间后形成流水,从而实现并行。在CPDT转码系统中,MPEG-2解码基本模块包括熵解码(VLD)、离散余弦反变换(IDCT)、反量化(IQ)和运动补偿(MC_D);H.264编码基本模块包括运动估计(ME)、帧内预测模式估计(IPE)、运动补偿(MC_E)、帧内预测(IP)、离散余弦变换(DCT)和离散余弦反变换(IDCT)、量化(Q)和反量化(IQ)、熵编码(EC)、码率控制(RC)、滤波强度(BS)计算和环内去块滤波(LPF)。由于各个功能模块的复杂度不一,运算量差异较大,如果只采用单一功能划分的形式,每个核完成一个功能,必然造成功能同步时,核与核之间长时间的相互等待。运算量较小的核必然过早的处于等待的状态,不利于并行效率的提高。
发明内容
针对现有技术所存在的上述技术缺陷,本发明提供了一种基于多核处理器实现的MPEG-2至H.264的转码方法,能够有效提高转码过程的并行加速比。
一种基于多核处理器实现的MPEG-2至H.264的转码方法,所述的多核处理器至少具有16个Core(内核),各Core并行处理各自的运算任务;该方法包括如下步骤:
(1)由Core1负责接收MPEG-2视频格式的码流,由Core2负责对所述的码流进行熵解码并陆续生成若干宏块组,所述的宏块组由n个连续的宏块组成,n为大于0的自然数;
由Core3负责对所述的宏块组进行解码得到宏块组的解码数据;
(2)由Core4~9负责对所述的解码数据进行估计得到宏块组的估计信息,所述的估计信息为预测矢量或帧内预测模式;
由Core10~12负责根据所述的估计信息进行预测得到宏块组的预测信息,使所述的解码数据减去预测信息得到宏块组的残差信息;
(3)由Core11~12负责对所述的残差信息依次进行变换和量化;由Core11~12以及Core15~16负责对量化后的残差信息依次进行重建和滤波得到宏块组的重建图像并进行存储;
(4)由Core13负责对所述的估计信息和量化后的残差信息进行熵编码得到宏块组对应的一段H.264视频格式的码流,并由Core14负责发送该段码流。
优选地,所述的宏块组由16个连续的宏块组成;能够使每个Core的运算处理性能得到最大程度体现。
MPEG-2视频格式的码流经熵解码生成的宏块包含有残差数据以及运动矢量;所述的步骤(1)中,对宏块组进行解码的过程为:首先根据宏块组的运动矢量进行运动补偿得到宏块组的预测数据;然后对宏块组的残差数据依次进行反量化和反变换;最后使宏块组反变换后的残差数据与预测数据相加,得到宏块组的解码数据。
所述的步骤(2)中,对解码数据进行估计分为两种情况:
若宏块组所属的图像为关键帧,则由Core8~9负责对解码数据进行帧内预测模式估计得到帧内预测模式;
若宏块组所属的图像为非关键帧,则由Core4~9负责对解码数据进行运动估计和帧内预测模式估计,并经比较后得到预测矢量或帧内预测模式。
优选地,根据宏块组的运动矢量对解码数据进行运动估计;可消除相邻宏块之间确定运动搜索起点的依赖性,减少运动估计的计算量提高相应的速度。
优选地,若宏块组所属的图像为非关键帧,则由Core4~7中每一个Core分别负责对宏块组中n/4个宏块的解码数据进行运动估计,同时由Core8~9中每一个Core分别负责对宏块组中n/2个宏块的解码数据进行帧内预测模式估计;若宏块组所属的图像为关键帧,则由Core8~9中每一个Core分别负责对宏块组中n/2个宏块的解码数据进行帧内预测模式估计。能够平衡Core4~9的计算负载,优化整体转码性能。
所述的步骤(2)中,根据估计信息进行预测分为两种情况:
若宏块组的估计信息为帧内预测模式,则由Core11~12负责根据帧内预测模式进行帧内预测,得到宏块组的预测信息;
若宏块组的估计信息为预测矢量,则由Core10负责根据预测矢量进行运动补偿,得到宏块组的预测信息。
所述的步骤(3)中,对量化后的残差信息依次进行重建和滤波的过程如下:
a.由Core11~12负责对量化后的残差信息依次进行反量化和反变换;
b.使反变换后的残差信息与宏块组的预测信息相加,得到宏块组的重建信息;由Core15负责对所述的重建信息进行滤波强度计算得到滤波强度值;
c.由Core16负责根据所述的滤波强度值对重建信息进行环内去块滤波,得到宏块组的重建图像。
优选地,Core11和Core12分别负责宏块组中每一宏块的亮度分量和色度分量对应的运算处理任务;能够平衡Core11~12的计算负载,优化整体转码性能。
由Core14负责根据步骤(4)中熵编码过程的输出码率对步骤(3)中的量化过程进行码率控制。
所述的变换为离散余弦变换,反变换为离散余弦反变换。
本发明的转码方法根据CPDT转码结构各模块间的相互关系,采用功能和数据相结合的划分方式对各核进行任务分配,能够有效提高转码过程的并行加速比,且更适合于高码率的MPEG-2至H.264的转码。
附图说明
图1为本发明转码方法的执行流程示意图。
图2为CPDT转码器的结构示意图。
图3为CPDT转码器基于功能和数据相结合划分后各模块的处理时间示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的解码方法进行详细说明。
如图1所示,一种基于多核处理器实现的MPEG-2至H.264的转码方法,多核处理器采用Tilera公司TilePro64系列的多核处理器,处理器具有64个Core,各Core并行处理各自的运算任务;该方法包括如下步骤:
(1)由Core1负责接收MPEG-2视频格式的码流,由Core2负责对码流进行熵解码(VLD)并陆续生成若干宏块组,宏块组由16个连续的宏块组成。
MPEG-2视频格式的码流经熵解码生成的宏块包含有残差数据以及运动矢量;由Core3负责对宏块组进行解码得到宏块组的解码数据:首先根据宏块组的运动矢量进行运动补偿(MC_D)得到宏块组的预测数据;然后对宏块组的残差数据依次进行反量化和离散余弦反变换;最后使宏块组反变换后的残差数据与预测数据相加,得到宏块组的解码数据。
对当前宏块进行运动补偿时,需取参考帧的解码数据作为参考;反量化(IQ)和离散余弦反变换(IDCT)的目的在于去除原始图像的空间冗余和控制码率,压缩数据量,尽可能完整地回复原始图像。
(2)由Core4~9负责对宏块组的解码数据进行估计得到宏块组的估计信息(预测矢量或帧内预测模式):
若宏块组所属的图像为非关键帧,则由Core4~7中每一个Core根据宏块组的运动矢量分别负责对宏块组中4个宏块的解码数据进行运动估计,同时由Core8~9中每一个Core分别负责对宏块组中8个宏块的解码数据进行帧内预测模式估计,得到宏块组的预测矢量和帧内预测模式,经比较后选取其一;
若宏块组所属的图像为关键帧,则由Core8~9中每一个Core分别负责对宏块组中8个宏块的解码数据进行帧内预测模式估计;
运动估计(ME)在帧间预测中使用,在参考帧中搜索出于当前编码宏块最为匹配的参考宏块的位置,宏块之间位移就是预测矢量;帧内预测模式估计(IPE)选择合适的帧内预测模式用以进行下一步的帧内预测。
由Core10~12负责根据宏块组的估计信息进行预测得到宏块组的预测信息:
若宏块组的估计信息为帧内预测模式,则由Core11~12负责根据宏块组的帧内预测模式进行帧内预测(IP),得到宏块组的预测信息;帧内预测是根据不同的模式,使用当前宏块左边一列和上边一行的数据,对当前的编码宏块进行预测;
若宏块组的估计信息为预测矢量,则由Core10负责根据宏块组的预测矢量进行运动补偿(MC_E),得到宏块组的预测信息;对当前宏块进行运动补偿时,需取参考帧的重建图像作为参考。
使宏块组的解码数据减去预测信息得到宏块组的残差信息。
(3)由Core11~12负责对宏块组的残差信息依次进行离散余弦变换和量化。
离散余弦变换(DCT)是将时域信息映射到频域上,以除去信号的相关性,DCT与IDCT是一对互逆的过程;量化(Q)是在不影响视觉效果的前提下减少视频帧编码的动态范围,从而降低码率,提高压缩比,H.264的量化原理如下:
其中:y为图像输入样本,FQ为y的量化值,QP为量化步长,round为取整函数。IQ就是Q的反过程:Y=FQ×QP;量化的过程是不可逆的,反量化得到的结果与原始数据是有差异的。
由Core11~12负责对量化后的残差信息依次进行反量化和离散余弦反变换;使反变换后的残差信息与宏块组的预测信息相加,得到宏块组的重建信息。
以宏块为单位进行数据压缩和恢复后,在宏块边界会产生图像不连续的现象,该现象称为方块效应;故需根据宏块类型,计算宏块边界的滤波强度值,然后根据各条边界的滤波强度用滤波器对重建信息进行去块滤波,消除方块效应。
故由Core15负责对宏块组的重建信息进行滤波强度(BS)计算得到滤波强度值;由Core16负责根据滤波强度值对重建信息进行环内去块滤波(LPF),得到宏块组的重建图像;将重建图像进行存储,作为参考帧供后续H.264编码过程中运动估计和运动补偿时使用。
本实施方式中,Core11和Core12分别负责宏块组中每一宏块的亮度分量和色度分量对应的运算处理任务。
(4)由Core13负责对宏块组的估计信息和量化后的残差信息进行熵编码(EC)得到宏块组对应的一段H.264视频格式的码流,并由Core14负责发送该段码流。熵编码是无损压缩的编码方法,经熵编码的码流可以无失真的解码得到原始视频。
由Core14负责根据熵编码过程的输出码率对步骤(3)中的量化过程进行码率控制(RC)。
CPDT转码系统的模块结构如图2所示,整个系统可分为MPEG-2解码部分和H.264编码部分。本实施方式将H.264编码中DCT、Q、IQ和IDCT这几个耦合紧密的模块可以组合成一个计算模块(CALC)。考虑到IP模块需要用到IDCT重建后的数据,因此将其也并入到CALC模块中。从均衡运算负载的角度出发,本实施方式将MPEG-2解码部分运算量较少的IQ、IDCT和MC_D合并成一个功能模块,将运算量少的RC模块和码流发送任务合并。
本实施方式还引入处理数据划分的概念,对运算量大的ME和IPE模块进一步拆分,将IPE拆分成IPE0和IPE1,每个子模块分别处理8个宏块,两个子模块并行进行IPE,其中IPE所用到的宏块左边一列像素和上边一行像素均采用当前帧的相应像素点;ME拆分为ME0、ME1、ME2、ME3,每个子模块分别处理4个宏块。为了去除相邻宏块之间运动搜索起点确定时的依赖性,以MPEG-2解码出的运动矢量作为ME的搜索中心,四个子模块并行进行ME。将编码部分的CALC模块拆分为处理亮度数据的CALC_L和处理色度数据的CALC_C;在经过处理数据划分之后各个功能模块的处理时间情况如图3所示,可见各个模块之间的运算量达到了很好的平衡,各功能模块分别对应核的分配如表1所示。
表1
功能模块 | Core编号 |
接收码流 | 1 |
VLD | 2 |
IQ&IDCT&MC_D | 3 |
ME0、ME1、ME2、ME3 | 4、5、6、7 |
IPE0、IPE1 | 8、9 |
MC_E | 10 |
CALC_L、CALC_C | 11、12 |
EC | 13 |
RC&发送码流 | 14 |
BS | 15 |
LPF | 16 |
经实验测试,在码率为8M,16核配置的情况下,采用现有基于单一功能划分的多核并行转码技术和本实施方式对同一MPEG-2码流进行转码,现有技术的并行加速比为11,而本实施方式的并行加速比达到了12.4,相比提高了13%。
Claims (7)
1.一种基于多核处理器实现的MPEG-2至H.264的转码方法,所述的多核处理器至少具有16个Core,各Core并行处理各自的运算任务;该方法包括如下步骤:
(1)由Core1负责接收MPEG-2视频格式的码流,由Core2负责对所述的码流进行熵解码并陆续生成若干宏块组,所述的宏块组由n个连续的宏块组成,n为大于0的自然数;
由Core3负责对所述的宏块组进行解码得到宏块组的解码数据;
(2)由Core4~9负责对所述的解码数据进行估计得到宏块组的估计信息,所述的估计信息为预测矢量或帧内预测模式;
若宏块组所属的图像为非关键帧,则由Core4~7中每一个Core分别负责对宏块组中n/4个宏块的解码数据进行运动估计,同时由Core8~9中每一个Core分别负责对宏块组中n/2个宏块的解码数据进行帧内预测模式估计,并经比较后得到预测矢量或帧内预测模式;
若宏块组所属的图像为关键帧,则由Core8~9中每一个Core分别负责对宏块组中n/2个宏块的解码数据进行帧内预测模式估计得到帧内预测模式;由Core10~12负责根据所述的估计信息进行预测得到宏块组的预测信息:
若宏块组的估计信息为帧内预测模式,则由Core11~12负责根据帧内预测模式进行帧内预测,得到宏块组的预测信息;
若宏块组的估计信息为预测矢量,则由Core10负责根据预测矢量进行运动补偿,得到宏块组的预测信息;
使所述的解码数据减去预测信息得到宏块组的残差信息;
(3)由Core11~12负责对所述的残差信息依次进行变换和量化;由Core11~12以及Core15~16负责对量化后的残差信息依次进行重建和滤波得到宏块组的重建图像并进行存储;
(4)由Core13负责对所述的估计信息和量化后的残差信息进行熵编码得到宏块组对应的一段H.264视频格式的码流,并由Core14负责发送该段码流。
2.根据权利要求1所述的基于多核处理器实现的MPEG-2至H.264的转码方法,其特征在于:所述的宏块组由16个连续的宏块组成。
3.根据权利要求1所述的基于多核处理器实现的MPEG-2至H.264的转码方法,其特征在于:所述的步骤(1)中,对宏块组进行解码的过程为:首先根据宏块组的运动矢量进行运动补偿得到宏块组的预测数据;然后对宏块组的残差数据依次进行反量化和反变换;最后使宏块组反变换后的残差数据与预测数据相加,得到宏块组的解码数据。
4.根据权利要求1所述的基于多核处理器实现的MPEG-2至H.264的转码方法,其特征在于:根据宏块组的运动矢量对解码数据进行运动估计。
5.根据权利要求1所述的基于多核处理器实现的MPEG-2至H.264的转码方法,其特征在于:所述的步骤(3)中,对量化后的残差信息依次进行重建和滤波的过程如下:
a.由Core11~12负责对量化后的残差信息依次进行反量化和反变换;
b.使反变换后的残差信息与宏块组的预测信息相加,得到宏块组的重建信息;由Core15负责对所述的重建信息进行滤波强度计算得到滤波强度值;
c.由Core16负责根据所述的滤波强度值对重建信息进行环内去块滤波,得到宏块组的重建图像。
6.根据权利要求1或5所述的基于多核处理器实现的MPEG-2至H.264的转码方法,其特征在于:Core11和Core12分别负责宏块组中每一宏块的亮度分量和色度分量对应的运算处理任务。
7.根据权利要求1所述的基于多核处理器实现的MPEG-2至H.264的转码方法,其特征在于:由Core14负责根据步骤(4)中熵编码过程的输出码率对步骤(3)中的量化过程进行码率控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210089435.9A CN102625109B (zh) | 2012-03-30 | 2012-03-30 | 一种基于多核处理器实现的mpeg-2至h.264的转码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210089435.9A CN102625109B (zh) | 2012-03-30 | 2012-03-30 | 一种基于多核处理器实现的mpeg-2至h.264的转码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102625109A CN102625109A (zh) | 2012-08-01 |
CN102625109B true CN102625109B (zh) | 2014-04-16 |
Family
ID=46564770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210089435.9A Active CN102625109B (zh) | 2012-03-30 | 2012-03-30 | 一种基于多核处理器实现的mpeg-2至h.264的转码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102625109B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9307258B2 (en) * | 2012-10-30 | 2016-04-05 | Broadcom Corporation | Parallel transcoding |
US20170019679A1 (en) * | 2015-07-15 | 2017-01-19 | Mediatek Inc. | Hybrid video decoding apparatus for performing hardware entropy decoding and subsequent software decoding and associated hybrid video decoding method |
US20170026648A1 (en) * | 2015-07-24 | 2017-01-26 | Mediatek Inc. | Hybrid video decoder and associated hybrid video decoding method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325255A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市融创天下科技股份有限公司 | 一种多核心cpu视频转码调度方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080310515A1 (en) * | 2007-06-14 | 2008-12-18 | Yasutomo Matsuba | MPEG-2 2-Slice Coding for Simple Implementation of H.264 MBAFF Transcoder |
-
2012
- 2012-03-30 CN CN201210089435.9A patent/CN102625109B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325255A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市融创天下科技股份有限公司 | 一种多核心cpu视频转码调度方法及系统 |
Non-Patent Citations (4)
Title |
---|
DCT域视频转码技术综述;杜耀刚, 蔡安妮;《电子学报》;20050930;第33卷(第9期);第1644-1650页 * |
Design of MPEG-2 to H.264/AVC Transcoder;Liu Yu, Lu Wei, Wang Li, et al.;《Proc. of the 10th International Symposium on Consumer Electronics》;20061231;第1-3页 * |
Liu Yu, Lu Wei, Wang Li, et al..Design of MPEG-2 to H.264/AVC Transcoder.《Proc. of the 10th International Symposium on Consumer Electronics》.2006,1-3. |
杜耀刚, 蔡安妮.DCT域视频转码技术综述.《电子学报》.2005,第33卷(第9期),第1644-1650页. |
Also Published As
Publication number | Publication date |
---|---|
CN102625109A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103270700B (zh) | 使用平面表达的增强帧内预测编码 | |
JP2023179682A (ja) | 隣接サンプル減少を伴う線形またはアフィン変換を使用するイントラ予測 | |
EP3590258A1 (en) | Transform kernel selection and entropy coding | |
CN101490968A (zh) | 用于视频压缩的并行处理装置 | |
US20140010284A1 (en) | Image transform and inverse transform method, and image encoding and decoding device using same | |
CN104041045A (zh) | 用于视频译码的二次边界滤波 | |
CN101557514A (zh) | 一种帧间预测编解码方法、装置及系统 | |
CN101159875A (zh) | 二重预测视频编解码方法和装置 | |
US8594189B1 (en) | Apparatus and method for coding video using consistent regions and resolution scaling | |
CN105474642A (zh) | 使用频域差对图像集合进行重新编码 | |
CN106464878A (zh) | 数据压缩的备选转换的方法 | |
CN111741302B (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN101663895B (zh) | 使用所估计译码成本的视频译码模式选择 | |
WO2023040600A1 (zh) | 图像编码方法、图像解码方法、装置、电子设备及介质 | |
CN102625108A (zh) | 一种基于多核处理器实现的h.264解码方法 | |
CN104704826A (zh) | 两步量化和编码方法和装置 | |
CN101014129A (zh) | 一种视频数据压缩方法 | |
CN104937934A (zh) | 图像边界邻域中的自回归像素预测 | |
CN105245896A (zh) | Hevc并行运动补偿方法及装置 | |
CN102625109B (zh) | 一种基于多核处理器实现的mpeg-2至h.264的转码方法 | |
US9667958B2 (en) | Image coding and decoding methods and apparatuses | |
CN101309404A (zh) | 降分辨率视频转码方法及其转码器 | |
CN102696226B (zh) | 复用码流信息的h264转码方法 | |
CN106131573B (zh) | 一种hevc空间分辨率转码方法 | |
CN102801982B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |