视频转码方法和装置的制作方法

文档序号:7711697阅读:75来源:国知局
专利名称:视频转码方法和装置的制作方法
技术领域
本发明实施例涉及通信技术领域,特别涉及一种视频转码方法和装置。
背景技术
随着移动通信技术的不断发展,网络接入速度的飞速提升,移动终端的越趋智能 化,以及数字压缩技术的日益优化,移动终端已从简单的通信、联络工具,发展成为一个多 媒体智能平台。与此同时,传统的彩信、图铃下载等增值业务已无法满足用户的需求。移动 流媒体的出现将改变这种状况,移动流媒体能为用户提供包括视频点播、移动视频聊天、移 动视频监控等服务。移动流媒体是移动通信和流媒体传输的结合,通过移动网络在移动终 端上采用流媒体技术进行数据传输。然而,移动终端的多样性,无线网络的波动性以及移动 终端的处理能力限制了移动流媒体的发展。码率变换的视频转码可以根据移动终端的处理能力以及网络带宽的条件,提供最 合适的视频流,因此是促进移动流媒体发展的关键技术。码率转换最直接的办法是采用级 联的全解全编转码器。全解全编转码器分为两个部分先由解码器对输入视频流进行完全 解码,再由一个编码器按照目标码率对解码后的视频进行编码压缩。通过将解码后的视频 流按目标码率进行重新编码,从而能够得到最佳的图像质量。在实现本发明的过程中,发明人发现现有技术至少存在以下问题现有技术提供 的视频转码方案在实现时需要对输入码流进行完全解码,然后对解码后的输入码流重新进 行运动估计、编码模式判决等编码操作,运算复杂度高,使得转码速度低,不能更好地满足 实时视频转码的要求。

发明内容
本发明实施例提供一种视频转码方法和装置,以实现根据输入码流和输出码流的 像素转码率,实时选择宏块编码模式,在确保恢复视频质量的前提下,提高转码速度。本发明实施例提供了一种视频转码方法,包括对输入码流进行解码,提取解码后的输入码流的宏块信息,根据所述输入码流确 定像素转码率;当确定的所述像素转码率小于预设的第一门限值时,根据所述宏块信息对所述解 码后的输入码流进行编码;当所述像素转码率大于所述第一门限值时,根据所述宏块信息重新确定宏块编码 模式,并根据重新确定的宏块编码模式对所述解码后的输入码流进行编码。本发明实施例还提供一种视频转码装置,包括解码模块,用于对输入码流进行解码;提取模块,用于提取所述解码模块解码后的输入码流的宏块信息;像素转码率确定模块,用于根据所述输入码流确定像素转码率;编码模块,用于当所述像素转码率确定模块确定的像素转码率小于预设的第一门限值时,根据所述提取模块提取的宏块信息对所述解码模块解码后的输入码流进行编码;编码模式确定模块,用于当所述像素转码率确定模块确定的像素转码率大于所述 第一门限值时,根据所述提取模块提取的宏块信息重新确定宏块编码模式;所述编码模块 还用于根据所述编码模式确定模块重新确定的宏块编码模式对所述解码模块解码后的输 入码流进行编码。本发明实施例根据像素转码率和输入码流的宏块信息实时确定宏块编码模式,然 后再根据确定的宏块编码模式进行编码,从而在确保恢复的视频质量的前提下,提高了转 码速度,更好地满足了实时视频转码的要求。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这 些附图获得其他的附图。图1为本发明视频转码方法一个实施例的流程图;图2为本发明视频转码方法另一个实施例的流程图;图3为本发明视频转码装置一个实施例的结构示意图;图4为本发明视频转码装置另一个实施例的结构示意图;图5为本发明Carphone, qcif序列的PSNR性能对比示意图;图6为本发明Carphone, qcif序列的转码速度对比示意图;图7为本发明Foreman, cif序列的PSNR性能对比示意图;图8为本发明Foreman, cif序列的转码速度对比示意图。
具体实施例方式下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显 然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施 例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属 于本发明保护的范围。本发明实施例提供一种视频转码方法,通过复用输入码流中的图像信息、运动矢 量、宏块编码类型、预测残差等信息,简化编码模式判决、运动估计等操作以降低转码运算 复杂度,提高转码速度。图1为本发明视频转码方法一个实施例的流程图,如图1所示,包括步骤101,对输入码流进行解码,提取解码后的输入码流的宏块信息,根据输入码 流确定像素转码率。步骤102,当确定的像素转码率小于预设的第一门限值时,根据该宏块信息对解码 后的输入码流进行编码。其中,像素转码率为输入码流中平均每像素占用的比特数与预设的输出码流中平 均每像素占用的比特数的比值,其中,预设的输出码流中平均每像素占用的比特数为一表 示期望输出的数值,与转码需要过程中的相关指标及输入码流中的相关信息(如码率等)有关。像素转码率表示输入码流与预期的输出码流之间的相似程度,像素转码率越小,表示 输入码流与预期的输出码流之间的相似性越高。当像素转码率小于预设的第一门限值时,解码后的输入码流与预期的输出码流之 间具有较强的相似性,因此不需要对输入码流进行较大的调整,可以根据解码后的输入码 流的宏块信息对解码后的输入码流进行编码。步骤103,当像素转码率大于该第一门限值时,根据该宏块信息重新确定宏块编码 模式,并根据重新确定的宏块编码模式对解码后的输入码流进行编码。具体地,当像素转码率大于该第一门限值时,解码后的输入码流与预期的输出码 流之间的差异性较大,因此根据解码后的输入码流的宏块信息对解码后的输入码流进行编 码,无法保证转码后的输出码流的视频质量。这种情况下,需要根据解码后的输入码流中的 宏块信息重新确定宏块编码模式,再根据重新确定的宏块编码模式对解码后的输入码流进 行编码。本实施例中,根据输入码流中平均每像素占用的比特数和预设的输出码流中平均 每像素占用的比特数,可以确定上述像素转码率。具体地,码流中平均每像素占用的比特数为bpp,bpp可以通过式(1)计算,bpp = R/(FXffXH)(1)式(1)中,R标识码流的码率,F表示码流的帧率,W和H分别表示图像的宽度和高度。对输入码流进行解码之后,可以获得输入码流的码率和帧率,以及解码后的输入 码流中图像的宽度和高度,根据这些参数即可计算得到解码后的输入码流中平均每像素占 用的比特数;以上只是获得输入码流的码率和帧率,以及输入码流中图像的宽度和高度,进 而获得输入码流中平均每像素占用的比特数的一种方式,本发明实施例并不局限于此,输 入码流的码率和帧率,以及输入码流中图像的宽度和高度并不一定在解码后才能得到,上 述参数也可以通过其他方式获得,例如预先输入上述参数;本发明实施例对获得输入码 流的码率和帧率,以及输入码流中图像的宽度和高度的方式不作限定。另外,可以根据转码要求预先设置输出码流的码率和帧率,以及输出码流中图像 的宽度和高度,根据这些参数即可计算得到预设的输出码流中平均每像素占用的比特数。其中,该宏块信息包括块类型信息、分块模式信息、运动矢量信息、块编码类型 (Coded Block Pattern ;以下简称CBP)信息、量化参数和宏块残差等编码所需的信息;宏 块编码模式包括块类型信息、分块模式信息和运动矢量信息。上述步骤102和步骤103的执行顺序不分先后,可并行执行。本实施例根据像素转码率和输入码流的宏块信息实时确定宏块编码模式,然后再 根据确定的宏块编码模式进行编码,从而在确保恢复的视频质量的前提下,提高了转码速 度,更好地满足了实时视频转码要求。图2为本发明视频转码方法另一个实施例的流程图,如图2所示,包括步骤201,对输入码流进行解码,提取解码后的输入码流的宏块信息。步骤202,根据输入码流中平均每像素占用的比特数和预设的输出码流中平均每 像素占用的比特数,确定像素转码率。具体地,码流中平均每像素占用的比特数为bpp,bpp可以通过式(1)计算。
对输入码流进行解码之后,可以获得输入码流的码率和帧率,以及解码后的输入 码流中图像的宽度和高度,根据这些参数即可计算得到解码后的输入码流中平均每像素占 用的比特数;以上只是获得输入码流的码率和帧率,以及输入码流中图像的宽度和高度,进 而获得输入码流中平均每像素占用的比特数的一种方式,本发明实施例并不局限于此,输 入码流的码率和帧率,以及输入码流中图像的宽度和高度并不一定在解码后才能得到,上 述参数也可以通过其他方式获得,例如预先输入上述参数;本发明实施例对获得输入码 流的码率和帧率,以及输入码流中图像的宽度和高度的方式不作限定。另外,可以根据转码要求预先设置输出码流的码率和帧率,以及输出码流中图像 的宽度和高度,根据这些参数即可计算得到预设的输出码流中平均每像素占用的比特数。输入码流中平均每像素占用的比特数与预设的输出码流中平均每像素占用的比 特数的比值,即为像素转码率。以ω表示像素转码率,以bPPi表示输入码流中平均每像素 占用的比特数,以bpp。表示预设的输出码流中平均每像素占用的比特数,则,CO=BppiZbpp0(2)像素转码率表示输入码流与预期的输出码流之间的相似程度,像素转码率越小, 表示输入码流与预期的输出码流之间的相似性越高。步骤203,判断像素转码率是否大于预设的第一门限值。如果该像素转码率小于该 第一门限值,则执行步骤204 步骤206 ;如果该像素转码率大于该第一门限值,则执行步 骤 207。本实施例中,预先设置第一门限值α,这里的α的取值为一经验值,可以将α在 一定范围内取多个值,通过多次仿真调试后得到最佳的数量,如α可以取0.5、或0.45等, 本文中的其他门限值也可用类似方法获取。当设置第一门限值α后,判断像素转码率ω 是否大于α。如果ω > α,则表示解码后的输入码流与预期的输出码流之间的差异性较 大,因此根据解码后的输入码流的宏块信息对解码后的输入码流进行编码无法保证转码后 的输出码流的视频质量。这种情况下,需要根据解码后的输入码流中的宏块信息重新确定 宏块编码模式,再根据重新确定的宏块编码模式对解码后的输入码流进行编码;如果ω < α,则表示解码后的输入码流与预期的输出码流之间具有较强的相似 性,因此不需要对输入码流进行较大的调整,可以根据解码后的输入码流的宏块信息对解 码后的输入码流进行编码。步骤204,根据解码后的输入码流的宏块信息对解码后的输入码流的每一帧进行 编码之后,计算编码后的输出帧的第一失真度,以及该输出帧对应的输入帧的第二失真度, 并计算第一失真度与第二失真度的比值。输入码流是由一帧一帧的图像组成的,每一帧图像包括多个宏块,宏块中的 头比特表示宏块编码模式、运动矢量等信息所占用的比特,头比特的长度与量化参数 (Quantization Parameter ;以下简称QP)基本无关;而宏块中的纹理比特指宏块残差所 占用的比特,纹理比特的长度与QP密切相关。当ω < α时,可以直接根据解码后的输入码流的宏块信息对该解码后的输入码 流进行编码。在编码时,完全复用输入宏块的运动信息,因此输出宏块的头比特数与对应的 输入宏块的头比特数非常接近。这时,编码后的输出码流与输入码流的主要差别在于纹理 比特数。由于码率转码通常都是码率降低转码,即编码后的输出宏块所采用的QP —般不小于输入宏块的QP,即输出宏块的纹理比特数会小于输入宏块的纹理比特数。当输出宏块的 QP略大于输入宏块的QP时,输出宏块的纹理比特数略小于输入宏块的纹理比特数,这时输 出码流的码率与输入码流的码率相差不大,因此可以保证输出码流的质量。当输出宏块的 QP大于输入宏块的QP较多时,输出宏块的纹理比特数远远小于输入宏块的纹理比特数,这 时输出码流的码率与输入码流的码率相差较大,输出码流的质量大大下降。为保证编码后的输出码流的视频质量,本实施例在根据解码后的输入码流的宏块 信息对解码后的输入码流的每一帧进行编码之后,均计算编码后的输出帧的第一失真度与 该输出帧对应的输入帧的第二失真度的比值。具体可以为首先,计算编码后的输出帧中每个宏块的纹理比特数与该宏块的总比特数的第一 比值,并计算编码后的输出帧中所有宏块的第一比值的均值,该第一比值的均值即为第一 失真度;具体地,以R(M。)表示该第一比值,
权利要求
1.一种视频转码方法,其特征在于,包括对输入码流进行解码,提取解码后的输入码流的宏块信息,根据所述输入码流确定像 素转码率;当确定的所述像素转码率小于预设的第一门限值时,根据所述宏块信息对所述解码后 的输入码流进行编码;当所述像素转码率大于所述第一门限值时,根据所述宏块信息重新确定宏块编码模 式,并根据重新确定的宏块编码模式对所述解码后的输入码流进行编码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述输入码流确定像素转码率 包括根据所述输入码流中平均每像素占用的比特数和预设的输出码流中平均每像素占用 的比特数,确定像素转码率。
3.根据权利要求1所述的方法,其特征在于,所述根据所述宏块信息对所述解码后的 输入码流进行编码包括根据所述宏块信息对所述解码后的输入码流的每一帧进行编码之后,计算编码后的输 出帧的第一失真度,以及所述输出帧对应的输入帧的第二失真度,并计算所述第一失真度 与所述第二失真度的比值;当所述比值大于预设的第二门限值时,根据所述宏块信息对所述解码后的输入码流进 行编码;当所述比值小于所述第二门限值时,根据所述宏块信息重新确定宏块编码模式,并根 据重新确定的宏块编码模式对后续待编码的码流进行编码,直至对所述解码后的输入码流 的编码结束。
4.根据权利要求3所述的方法,其特征在于,所述计算编码后的输出帧的第一失真度 包括计算所述编码后的输出帧中每个宏块的纹理比特数与所述宏块的总比特数的第一比 值,并计算所述编码后的输出帧中所有宏块的第一比值的均值,所述第一比值的均值为第一失真度;所述计算所述输出帧对应的输入帧的第二失真度包括计算所述输出帧对应的输入帧中每个宏块的纹理比特数与所述宏块的总比特数的第 二比值,并计算所述输入帧中所有宏块的第二比值的均值,所述第二比值的均值为所述第二失真度。
5.根据权利要求3所述的方法,其特征在于,所述根据所述宏块信息对所述解码后的 输入码流进行编码包括提取所述宏块信息中的块编码类型CBP信息; 对所述CBP信息指示为零的宏块直接进行熵编码。
6.根据权利要求1所述的方法,其特征在于,还包括 根据所述宏块信息,确定待编码的宏块是否为Skip块;当所述待编码的宏块为Skip块时,直接对所述Skip块的下一宏块进行编码。
7.根据权利要求6所述的方法,其特征在于,所述确定待编码的宏块为Skip块的步骤 包括当帧F中的第m个宏块为M(F,m),经过模式判决和运动估计后得到的最优率失真代 价为RD(M(F,m)),解码侧当前帧为FD。,解码侧当前帧对应的参考帧为Fdk,编码侧当前帧为 Fk,编码侧当前帧对应的参考帧为Fek,所述待编码的宏块的RDskip(M(FK,m))满足
8.根据权利要求1、3、5或6所述的方法,其特征在于,所述宏块信息包括块类型信 息、分块模式信息、运动矢量信息、CBP信息、量化参数和宏块残差;所述宏块编码模式包括块类型信息、分块模式信息和运动矢量信息。
9.一种视频转码装置,其特征在于,包括 解码模块,用于对输入码流进行解码;提取模块,用于提取所述解码模块解码后的输入码流的宏块信息; 像素转码率确定模块,用于根据所述输入码流确定像素转码率; 编码模块,用于当所述像素转码率确定模块确定的像素转码率小于预设的第一门限值 时,根据所述提取模块提取的宏块信息对所述解码模块解码后的输入码流进行编码;编码模式确定模块,用于当所述像素转码率确定模块确定的像素转码率大于所述第一 门限值时,根据所述提取模块提取的宏块信息重新确定宏块编码模式;所述编码模块还用 于根据所述编码模式确定模块重新确定的宏块编码模式对所述解码模块解码后的输入码 流进行编码。
10.根据权利要求9所述的视频转码装置,其特征在于,所述像素转码率确定模块具体 用于根据所述输入码流中平均每像素占用的比特数和预设的输出码流中平均每像素占用 的比特数,确定像素转码率。
11.根据权利要求9所述的视频转码装置,其特征在于,所述编码模块包括失真度计算子模块,用于在根据所述提取模块提取的宏块信息对所述解码模块解码后 的输入码流的每一帧进行编码之后,计算编码后的输出帧的第一失真度,以及所述输出帧 对应的输入帧的第二失真度,并计算所述第一失真度与所述第二失真度的比值;第一编码子模块,用于当所述失真度计算子模块计算的比值大于预设的第二门限值 时,根据所述提取模块提取的宏块信息对所述解码模块解码后的输入码流进行编码。
12.根据权利要求11所述的视频转码装置,其特征在于,所述编码模式确定模块还用 于当所述失真度计算子模块计算的比值小于所述第二门限值时,根据所述提取模块提取的 宏块信息重新确定宏块编码模式;所述编码模块还包括第二编码子模块,用于根据所述编码模式确定模块重新确定的 宏块编码模式对后续待编码的码流进行编码,直至对所述解码后的输入码流的编码结束。
13.根据权利要求11所述视频转码装置,其特征在于,所述失真度计算子模块用于计 算所述编码后的输出帧中每个宏块的纹理比特数与所述宏块的总比特数的第一比值,并计 算所述编码后的输出帧中所有宏块的第一比值的均值,所述第一比值的均值为第一失真度;所述失真度计算子模块还用于计算所述输出帧对应的输入帧中每个宏块的纹理比特 数与所述宏块的总比特数的第二比值,并计算所述输入帧中所有宏块的第二比值的均值, 所述第二比值的均值为所述第二失真度。
14.根据权利要求11所述的视频转码装置,其特征在于,所述提取模块还用于提取所述宏块信息中的块编码类型CBP信息;所述第一编码子模块用于对所述CBP信息指示为零的宏块直接进行熵编码。
15.根据权利要求9所述视频转码装置,其特征在于,还包括Skip块确定模块,用于根据所述提取模块提取的宏块信息,确定待编码的宏块是否为 Skip 块;所述编码模块还用于当所述Skip块确定模块确定所述待编码的宏块为Skip块时,直 接对所述Skip块的下一宏块进行编码;所述Skip块确定模块确定待编码的宏块为Skip块的步骤包括当帧F中的第m个宏块为M(F,m),经过模式判决和运动估计后得到的最优率失真代 价为RD(M(F,m)),解码侧当前帧为FD。,解码侧当前帧对应的参考帧为Fdk,编码侧当前帧为 Fk,编码侧当前帧对应的参考帧为Fek,所述待编码的宏块的RDskip(M(FK,m))满足
全文摘要
本发明实施例公开了一种视频转码方法和装置,所述视频转码方法包括对输入码流进行解码,提取解码后的输入码流的宏块信息,根据所述输入码流确定像素转码率;当确定的所述像素转码率小于预设的第一门限值时,根据所述宏块信息对所述解码后的输入码流进行编码;当所述像素转码率大于所述第一门限值时,根据所述宏块信息重新确定宏块编码模式,并根据重新确定的宏块编码模式对所述解码后的输入码流进行编码。本发明实施例在确保恢复的视频质量的前提下,提高了转码速度,更好地满足了实时视频转码的要求。
文档编号H04N7/26GK101998117SQ20091016522
公开日2011年3月30日 申请日期2009年8月13日 优先权日2009年8月13日
发明者唐繁荣, 宋彬, 李兵伟, 秦浩, 郭姗 申请人:华为技术有限公司;西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1