发布信息

一种视频转码方法、装置、设备和计算机可读存储介质与流程 专利技术说明

作者:admin      2022-11-30 09:43:34     802



电子通信装置的制造及其应用技术1.本技术涉及通信技术领域,尤其涉及一种视频转码方法、装置、设备和计算机可读存储介质。背景技术:2.视频转码是将已经压缩编码的视频码流转换为另一种视频码流,以适应不同的网络带宽以及具有不同处理能力的终端。在网络带宽发生变化的情况下,就需要重新对视频进行转码,已适应变化后的网络带宽;然而,在实现过程中,发明人发现现有技术中至少存在如下问题:转码过程中的计算量较大,导致转码速度较慢。技术实现要素:3.为解决上述技术问题,本技术实施例期望提供一种视频转码方法、装置、设备和计算机可读存储介质,解决了现有技术的转码过程中计算量较大,导致转码速度较慢的问题。4.本技术的技术方案是这样实现的:5.一种视频转码方法,所述方法包括:6.获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及所述第一宏块对应的宏块模式;其中,所述多帧第一图像是基于第一码率对所述待处理视频进行编码后得到的;7.获取所述待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价;其中,所述多帧第二图像是基于第二码率对所述待处理视频进行编码后得到的,所述第二码率小于所述第一码率;8.基于所述第一宏块的代价、所述第二宏块的代价以及所述第一宏块对应的宏块模式,确定所述第二宏块对应的宏块模式;9.基于所述多帧第二图像和所述第二宏块对应的宏块模式,对所述待处理视频进行转码处理。10.上述方案中,所述基于所述第一宏块的代价、所述第二宏块的代价以及所述第一宏块对应的宏块模式,确定所述第二宏块对应的宏块模式,包括:11.针对每一第二宏块,从所述第一宏块中确定所述每一第二宏块对应的目标宏块;12.基于所述目标宏块的代价与所述每一第二宏块的代价之间的关系,以及所述目标宏块对应的宏块模式与第一模式之间的关系,确定所述每一第二宏块对应的宏块模式;其中,所述第一模式表征所述每一第二宏块无运动矢量、无像素残差。13.上述方案中,所述基于所述目标宏块的代价与所述每一第二宏块的代价之间的关系,以及所述目标宏块对应的宏块模式与第一模式之间的关系,确定所述每一第二宏块对应的宏块模式,包括:14.在所述每一第二宏块的代价小于所述目标宏块的代价、且所述目标宏块对应的宏块模式为所述第一模式的情况下,确定所述每一第二宏块对应的宏块模式为所述第一模式;15.在所述每一第二宏块的代价大于所述目标宏块的代价、且所述目标宏块对应的宏块模式为所述第一模式的情况下,确定所述每一第二宏块对应的宏块模式为第二模式;其中,所述第二模式表征所述每一第二宏块有像素残差、无运动矢量。16.上述方案中,所述基于所述目标宏块的代价与所述每一第二宏块的代价之间的关系,以及所述目标宏块对应的宏块模式与第一模式之间的关系,确定所述每一第二宏块对应的宏块模式,包括:17.在所述每一第二宏块的代价小于所述目标宏块的代价、且所述目标宏块对应的宏块模式不为所述第一模式的情况下,或者,在所述每一第二宏块的代价大于所述目标宏块代价、且所述目标宏块对应的宏块模式不为所述第一模式的情况下,基于所述第一模式决策方法,确定所述每一第二宏块的最佳宏块模式;18.确定所述每一第二宏块对应的宏块模式为所述最佳宏块模式;其中,所述最佳宏块模式表征所述每一第二宏块的预测代价最小。19.上述方案中,所述基于所述目标宏块的代价与所述每一第二宏块的代价之间的关系,以及所述目标宏块对应的宏块模式与第一模式之间的关系,确定所述每一第二宏块对应的宏块模式,包括:20.在所述每一第二宏块的代价等于所述目标宏块的代价的情况下,基于第二模式决策方法确定所述每一第二宏块的最佳宏块模式;21.确定所述每一第二宏块对应的宏块模式为所述最佳宏块模式;其中,所述第一模式决策方法不包括所述第二模式决策方法中对所述第一模式进行判断的操作。22.上述方案中,所述基于所述多帧第二图像和所述第二宏块对应的宏块模式,对所述待处理视频进行转码处理,包括:23.针对每帧第二图像,从所述第一图像中确定所述每帧第二图像对应的目标图像;24.确定所述目标图像中宏块模式为第一模式的宏块数量;25.基于所述宏块数量对所述每帧第二图像的初始量化参数进行调整,得到所述每帧第二图像的目标量化参数;26.基于所述目标量化参数和所述每帧第二图像中第二宏块对应的宏块模式,对所述待处理视频进行转码处理。27.上述方案中,所述基于所述宏块数量对所述每帧第二图像的初始量化参数进行调整,得到所述每帧第二图像的目标量化参数,包括:28.确定所述每帧第二图像对应的初始量化参数;29.计算所述宏块数量占所述目标图像中的宏块总数量的比例,得到目标数值;30.基于所述目标数值对所述初始量化参数进行调整,得到所述目标量化参数。31.上述方案中,所述基于所述目标数值对所述初始量化参数进行调整,得到目标量化参数,包括:32.在所述目标数值小于第一数值的情况下,基于第一参数阈值对所述初始量化参数进行运算处理,得到所述目标量化参数;33.在所述目标数值大于第二数值的情况下,基于第二参数阈值对所述初始量化参数进行运算处理,得到所述目标量化参数。34.一种视频转码装置,所述装置包括:35.获取单元,用于获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及所述第一宏块对应的宏块模式;其中,所述多帧第一图像是基于第一码率对所述待处理视频进行编码后得到的;36.所述获取单元,还用于获取所述待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价;其中,所述多帧第二图像是基于第二码率对所述待处理视频进行编码后得到的,所述第二码率小于所述第一码率;37.处理单元,用于基于所述第一宏块的代价、所述第二宏块的代价以及所述第一宏块对应的宏块模式,确定所述第二宏块对应的宏块模式;38.所述处理单元,还用于基于所述多帧第二图像和所述第二宏块对应的宏块模式,对所述待处理视频进行转码处理。39.一种视频转码设备,所述设备包括:处理器、存储器和通信总线;40.所述通信总线用于实现所述处理器和所述存储器之间的通信连接;41.所述处理器用于执行所述存储器中的视频转码程序,以实现上述的视频转码方法的步骤。42.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的视频转码方法的步骤。43.因为获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式,获取待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价,接着基于第一宏块的代价、第二宏块的代价以及第一宏块对应的宏块模式,确定第二宏块对应的宏块模式,然后基于多帧第二图像和第二宏块对应的宏块模式,对待处理视频进行转码处理;其中,第二码率小于第一码率;如此,通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考,对第二码率编码下的多帧第二图像中的第二宏块进行分析,能够快速确定出第二宏块对应的宏块模式,减少了转码过程中的计算量,克服了现有技术中的转码过程中的计算量较大导致转码速度较慢的问题,提高了第二宏块对应的宏块模式的确定速度,进而提高了转码速度。附图说明44.图1为本技术实施例提供的一种视频转码方法的流程示意图;45.图2为本技术实施例提供的另一种视频转码方法的流程示意图;46.图3为本技术实施例提供的又一种视频转码方法的流程示意图;47.图4为本技术另一实施例提供的一种视频转码方法的流程示意图;48.图5为本技术实施例提供的一种视频转码装置的结构示意图;49.图6为本技术实施例提供的一种视频转码设备的结构示意图。具体实施方式50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。51.应理解,说明书通篇中提到的“本技术实施例”或“前述实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“本技术实施例中”或“在前述实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。52.在未做特殊说明的情况下,电子设备执行本技术实施例中的任一步骤,可以是电子设备的处理器执行该步骤。还值得注意的是,本技术实施例并不限定电子设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本技术实施例中的任一步骤是电子设备可以独立执行的,即电子设备执行下述实施例中的任一步骤时,可以不依赖于其它步骤的执行。53.应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。54.本技术实施例提供一种视频转码方法,该方法可以应用于视频转码设备中,参照图1所示,该方法包括以下步骤:55.步骤101、获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式。56.其中,多帧第一图像是基于第一码率对待处理视频进行编码后得到的。57.在本技术实施例中,待处理视频是当前需要进行转码的视频,待处理视频可以是一个视频,也可以是多个视频,本技术实施例不限定待处理视频的数量。多帧第一图像是对基于第一码率对待处理视频进行编码后得到的;其中,第一码率可以预先设置,且第一码率可以根据实际业务需求进行设置;在一种可行的方式中,第一码率可以为高码率,以便于后续在基于第二码率对待处理视频进行转码的过程中提供参考,此时多帧第一图像是基于高码率对待处理视频进行编码后得到的多帧图像。第一宏块是第一图像中的宏块,每帧第一图像可以包括多个第一宏块,第一宏块的代价可以为第一宏块的运动矢量;第一宏块对应的宏块模式为第一宏块采用的预测模式,以在最小的计算复杂度下获得更好的图像质量。58.在一种可行的方式中,可以对待处理视频进行一个高码率的编码操作,然后按帧存储编码后的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式,便于后续在基于第二码率对待处理视频进行转码的过程中提供参考。59.步骤102、获取待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价。60.其中,多帧第二图像是基于第二码率对待处理视频进行编码后得到的,第二码率小于第一码率。61.在本技术实施例中,第二码率可以预先设置,第二码率可以根据业务需求进行设置,只要确保第二码率小于第一码率即可;由于基于高码率对待处理视频进行转码后的图像中保留的图像信息更丰富,因此可以为在基于低码率对待处理视频进行转码的过程中提供参考和分析依据,所以第二码率要小于第一码率。在一种可行的方式中,第二码率可以为低码率,那么多帧第二图像为基于低码率对待处理视频进行编码后的多帧图像;第二宏块是第二图像中的宏块,每帧第二图像可以包括多个第二宏块,第二宏块的代价可以为第二宏块的运动矢量。62.在一种可行的方式中,可以对待处理视频进行一个低码率的编码操作,然后按帧存储编码后的多帧第二图像,每帧第二图像中第二宏块的代价;多帧第二图像和多帧第一图像均按帧存储,是为了将第一图像与第二图像进行对齐,便于后续通过第一图像中的图像信息为第二图像提供参考和分析依据。63.步骤103、基于第一宏块的代价、第二宏块的代价以及第一宏块对应的宏块模式,确定第二宏块对应的宏块模式。64.在本技术实施例中,第二宏块对应的宏块模式为第二宏块采用的预测模式,以在最小的计算复杂度下获得更好的图像质量。基于第一宏块的代价、第二宏块的代价以及第一宏块对应的宏块模式确定第二宏块对应的宏块模式,也即是基于第一码率转码后的多帧第一图像、每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式以及第二码率编码后的多帧第二图像中第二宏块的代价来确定第二宏块对应的宏块模式;由于第一码率大于第二码率,所以基于第一码率编码后的每帧第一图像中所包括的图像信息要比基于第二码率编码后的每帧第二图像中所包括的图像信息更为丰富,此时可以通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式为参考和分析依据,对第二码率编码下的多帧第二图像中第二宏块进行分析,以快速确定出第二宏块对应的宏块模式,减少转码过程中的计算量,提高第二宏块对应的宏块模式的确定速度。65.步骤104、基于多帧第二图像和第二宏块对应的宏块模式,对待处理视频进行转码处理。66.在本技术实施例中,确定第二宏块对应的宏块模式后,可以基于第二宏块对应的宏块模式对多帧第二图像进行预测编码、转换编码和熵编码等操作,以实现对待处理视频的转码处理。由于提高了第二宏块对应的宏块模式的确定速度,减少了计算量,进而基于多帧第二图像和第二宏块对应的宏块模式对待处理视频进行转码处理能够提高转码速度。67.本技术实施例所提供的视频转码方法,通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考,对第二码率编码下的多帧第二图像中的第二宏块进行分析,能够快速确定出第二宏块对应的宏块模式,减少了转码过程中的计算量,克服了现有技术中的转码过程中的计算量较大导致转码速度较慢的问题,提高了第二宏块对应的宏块模式的确定速度,进而提高了转码速度。68.基于前述实施例,本技术实施例提供一种视频转码方法,参照图2所示,该方法包括以下步骤:69.步骤201、视频转码设备获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式。70.其中,多帧第一图像是基于第一码率对待处理视频进行编码后得到的。71.步骤202、视频转码设备获取待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价。72.其中,多帧第二图像是基于第二码率对待处理视频进行编码后得到的,第二码率小于第一码率。73.步骤203、针对每一第二宏块,视频转码设备从第一宏块中确定每一第二宏块对应的目标宏块。74.在本技术实施例中,每帧第二图像可以包括多个第二宏块,因此对每帧第二图像进行分析,也即是对每帧第二图像中的每一第二宏块进行分析;其中,对每一第二宏块进行分析的操作都是类似的,本技术实施例在此以每一第二宏块为例进行说明。目标宏块是从第一宏块中确定出的与每一第二宏块对应的宏块;在对每一第二宏块进行分析时,需要先从与这个第二宏块所在的第二图像对应的第一图像中的第一宏块中确定与这个第二宏块对应的目标宏块,以这个目标宏块为参考宏块,以对这个第二宏块对应的宏块模式进行分析;简单地,如果每一第二宏块为编码后按帧存储的第一帧第二图像中的第一个宏块,那么这个第二宏块对应的目标宏块为编码后按帧存储的第一帧第一图像中的第一个宏块。75.步骤204、视频转码设备基于目标宏块的代价与每一第二宏块的代价之间的关系,以及目标宏块对应的宏块模式与第一模式之间的关系,确定每一第二宏块对应的宏块模式。76.其中,第一模式表征每一第二宏块无运动矢量、无像素残差。77.在本技术实施例中,由于目标宏块和每一第二宏块都是基于待处理视频进行编码后得到的,只是采用的码率不同,因此目标宏块与每一第二宏块具有一定的关系,从而可以基于目标宏块的代价与每一第二宏块的代价之间的关系以及目标宏块对应的宏块模式与第一模式之间的关系,快速确定出每一第二宏块对应的宏块模式。第一模式表征每一第二宏块无运动矢量、无像素残差;在一种可行的方式中,第一模式可以为skip模式。78.在一种可行的方式中,在确定出每一第二宏块对应的目标宏块后,可以从存储的第一宏块的代价中确定目标宏块的代价,进而基于目标宏块的代价与每一第二宏块的代价之间的关系以及目标宏块对应的宏块模式与第一模式之间的关系快速确定每一第二宏块对应的宏块模式。79.步骤205、针对每帧第二图像,视频转码设备从第一图像中确定每帧第二图像对应的目标图像。80.在本技术实施例中,目标图像是与每帧第二图像对应的第一图像;在一种可行的方式中,针对每帧第二图像,先确定每帧第二图像的排序,然后确定与该排序相同的第一图像,将这个第一图像确定为目标图像;也就是说,如果每帧第二图像为编码后按帧存储的第一帧第二图像,那么目标图像为编码后按帧存储的第一帧第一图像。81.步骤206、视频转码设备确定目标图像中宏块模式为第一模式的宏块数量。82.在本技术实施例中,如果第一模式为skip模式,那么确定目标图像中宏块模式为第一模式的宏块数量,也即确定目标图像中宏块模式为skip模式的宏块数量。83.步骤207、视频转码设备基于宏块数量对每帧第二图像的初始量化参数进行调整,得到每帧第二图像的目标量化参数。84.在本技术实施例中,量化参数能够反映图像在空间细节上的压缩情况,量化参数的值与图像质量成反比,也即量化参数的值越小,量化越精细、图像质量越高;反之,量化参数的值越大,量化越粗糙,图像质量越差;初始量化参数可以预先设置,可以根据实际业务需求对初始量化参数进行设置,本技术实施例对此不作限定;目标量化参数是调整后的量化参数。基于目标图像中宏块模式为第一模式的宏块数量对初始量化参数进行调整,也即基于为第一模式的宏块数量适应性地调整初始量化参数,可以使调整后的目标量化参数更贴合图像,保障了图像质量。85.步骤208、视频转码设备基于目标量化参数和每帧第二图像中第二宏块对应的宏块模式,对待处理视频进行转码处理。86.在本技术实施例中,基于第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考能够提高第二宏块对应的宏块模式的确定速度,进而提高转码速度;同时,基于目标量化参数对待处理视频进行转码处理能够保障转码后的待处理视频中的图像质量。87.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。88.本技术实施例所提供的视频转码方法,通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考,对第二码率编码下的多帧第二图像中的第二宏块进行分析,能够快速确定出第二宏块对应的宏块模式,减少了转码过程中的计算量,克服了现有技术中的转码过程中的计算量较大导致转码速度较慢的问题,提高了第二宏块对应的宏块模式的确定速度,进而提高了转码速度。89.基于前述实施例,本技术实施例提供一种视频转码方法,参照图3所示,该方法包括以下步骤:90.步骤301、视频转码设备获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式。91.其中,多帧第一图像是基于第一码率对待处理视频进行编码后得到的。92.步骤302、视频转码设备获取待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价。93.其中,多帧第二图像是基于第二码率对待处理视频进行编码后得到的,第二码率小于第一码率。94.步骤303、针对每一第二宏块,视频转码设备从第一宏块中确定每一第二宏块对应的目标宏块。95.需要说明的是,步骤303之后,可以执行步骤304、或步骤305、或步骤306~307、或步骤308~309。96.步骤304、在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,视频转码设备确定每一第二宏块对应的宏块模式为第一模式。97.其中,第一模式表征每一第二宏块无运动矢量、无像素残差。98.在本技术实施例中,每一第二宏块的代价可以表示为cur_cost,目标宏块的代价可以表示为info_curcost,如果第一模式为skip模式,那么在cur_cost<info_curcost,且目标宏块对应的宏块模式为skip模式的情况下,确定每一第二宏块对应的宏块模式为skip模式。99.步骤305、在每一第二宏块的代价大于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,视频转码设备确定每一第二宏块对应的宏块模式为第二模式。100.其中,第二模式表征每一第二宏块有像素残差、无运动矢量。101.在本技术实施例中,第二模式表征每一第二宏块有像素残差、无运动矢量,在一种可行的方式中,第二模式可以为p16x16模式;其中,p宏块是指利用前面已解码的像素作为参考实现帧内预测的,16x16是指p宏块的尺寸为16x16;如果第一模式为skip模式,那么在cur_cost>info_curcost,且目标宏块对应的宏块模式为skip模式的情况下,确定每一第二宏块对应的宏块模式为p16x16模式。102.步骤306、在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式不为第一模式的情况下,或者,在每一第二宏块的代价大于目标宏块代价、且目标宏块对应的宏块模式不为第一模式的情况下,视频转码设备基于第一模式决策方法,确定每一第二宏块的最佳宏块模式。103.其中,最佳宏块模式表征每一第二宏块的预测代价最小。104.在本技术实施例中,第一模式决策方式可以为现有的模式决策方法中去除对skip模式进行判断的操作后的模式决策方法,也即不进行skip模式的判断操作,直接进行p16x16模式的判断操作以及后续对p8x8模式以及i4x4模式的判断操作,从中选取代价最小的模式作为最佳宏块模式。如果第一模式为skip模式,那么在cur_cost<info_curcost,且目标宏块对应的宏块模式不为skip模式的情况下,基于第一模式决策方法确定每一第二宏块的最佳宏块模式;或者,在cur_cost>info_curcost,且目标宏块对应的宏块模式不为skip模式的情况下,基于第一模式决策方法确定每一第二宏块的最佳宏块模式。105.步骤307、视频转码设备确定每一第二宏块对应的宏块模式为最佳宏块模式。106.在本技术实施例中,在确定出最佳宏块模式后,将最佳宏块模式确定为每一第二宏块对应的宏块模式。107.步骤308、在每一第二宏块的代价等于目标宏块的代价的情况下,视频转码设备基于第二模式决策方法确定每一第二宏块的最佳宏块模式。108.在本技术实施例中,第二模式决策方法可以为现有的模式决策方法。在每一第二宏块的代价等于目标宏块的代价的情况下基于第二模式决策方法确定每一第二宏块的最佳宏块模式,也即,在每一第二宏块的代价等于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,或者,在每一第二宏块的代价等于目标宏块的代价、且目标宏块对应的宏块模式不为第一模式的情况下,基于第二模式决策方法确定每一第二宏块的最佳宏块模式。109.在一种可实现的方式中,在cur_cost=info_curcost,且目标宏块对应的宏块模式为skip模式的情况下,基于第二模式决策方法确定每一第二宏块的最佳宏块模式;或者,在cur_cost=info_curcost,且目标宏块对应的宏块模式不为skip模式的情况下,基于第二模式决策方法确定每一第二宏块的最佳宏块模式;也就是说,在cur_cost=info_curcost的情况下,直接采用现有的模式决策方法确定最佳宏块模式。110.步骤309、视频转码设备确定每一第二宏块对应的宏块模式为最佳宏块模式。111.其中,第一模式决策方法不包括第二模式决策方法中对第一模式进行判断的操作。112.在本技术实施例中,在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,可以直接确定每一第二宏块对应的宏块模式为第一模式;并且在每一第二宏块的代价大于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,可以确定每一第二宏块对应的宏块模式为第二模式,不需要执行一遍现有的模式决策方法,所以速度更大;其次,在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式不为第一模式的情况下,或者,在每一第二宏块的代价大于目标宏块代价、且目标宏块对应的宏块模式不为第一模式的情况下,可以跳过现有中对第一模式的判断操作来确定每一第二宏块的最佳宏块模式,相比于现有的模式决策方法判断步骤减少了,所以速度更快了;因此相比于现有技术中针对每一宏块都需要执行一遍模式决策方法来说,确定第二宏块对应的宏块模式的确定速度更快,计算复杂度也更低。113.需要说明的是,步骤304、步骤305、步骤307以及步骤309之后,均可以执行步骤310。114.步骤310、针对每帧第二图像,视频转码设备从第一图像中确定每帧第二图像对应的目标图像。115.步骤311、视频转码设备确定目标图像中宏块模式为第一模式的宏块数量。116.步骤312、视频转码设备确定每帧第二图像对应的初始量化参数。117.在本技术实施例中,初始量化参数是初始设置的针对待处理视频的量化参数;进一步地,可以对待处理视频中的每帧图像都设置初始量化参数,也即待处理视频中每帧图像都有对应的初始量化参数,而且不同帧图像对应的初始量化参数可以相同也可以不同,可以根据实际业务需求对初始量化参数进行设置,本技术实施例对此不作限定。在一种可实现的方式中,在对每帧第二图像进行处理时,可以预先确定每帧第二图像对应的初始量化参数,以便后续对初始量化参数进行调整。118.步骤313、视频转码设备计算宏块数量占目标图像中的宏块总数量的比例,得到目标数值。119.在本技术实施例中,目标数值是目标图像中宏块模式为第一模式的宏块数量占目标图像中宏块总数量的比例。在一种可行的方式中,可以先统计目标图像中宏块模式为第一模式的宏块数量,然后确定目标图像中的宏块总数量,将宏块数量除以宏块总数量得到目标数值。120.步骤314、视频转码设备基于目标数值对初始量化参数进行调整,得到目标量化参数。121.在本技术实施例中,基于目标图像中宏块模式为第一模式所占的比例对初始量化参数进行调整,可以使调整后的目标量化参数更贴合图像,保障了图像质量。在一种可行的方式中,可以基于目标数值对应的目标参数阈值对初始量化参数进行运算处理,以得到目标量化参数;其中,目标参数阈值可以预先设置,可以根据实际业务需求和业务经验进行设置。122.其中,步骤314可以通过以下步骤来实现:123.步骤314a、在目标数值小于第一数值的情况下,视频转码设备基于第一参数阈值对初始量化参数进行运算处理,得到目标量化参数。124.在本技术实施例中,第一数值和第一参数阈值均可以预先设置,第一数值和第一参数阈值可以根据实际业务需求和业务经验进行设置,本技术实施例对此不作限定;在一种可行的方式中,第一数值可以设置为0.2,第一参数阈值可以设置为0.5。125.在一种可行的方式中,在目标数值小于第一数值的情况下,可以将初始量化参数减去第一参数阈值,以得到目标参数阈值;也就是说,如果第一数值为0.2,第一参数阈值为0.5,那么在目标数值小于0.2的情况下,将初始参数阈值减去0.5,得到目标参数阈值。126.步骤314b、视频转码设备在目标数值大于第二数值的情况下,基于第二参数阈值对初始量化参数进行运算处理,得到目标量化参数。127.在本技术实施例中,第二数值和第二参数阈值均可以预先设置,第二数值和第二参数阈值可以根据实际业务需求和业务经验进行设置,本技术实施例对此不作限定;其中,第二参数阈值可以与第一参数阈值相同,也可以与第一参数阈值不同;在一种可行的方式中,第二数值可以设置为0.85,第二参数阈值可以设置为0.5。128.在一种可行的方式中,在目标数值大于第二数值的情况下,可以将初始量化参数加上第二参数阈值,以得到目标参数阈值;也就是说,如果第二数值为0.85,第二参数阈值为0.5,那么在目标数值大于0.85的情况下,将初始参数阈值加上0.5,得到目标参数阈值。129.在本技术其他实施例中,如果目标数值即不小于第一数值,也不大于第二数值,这种情况下,不对初始参数阈值进行调整,直接将初始参数阈值确定为目标参数阈值。130.步骤315、视频转码设备基于目标量化参数和每帧第二图像中第二宏块对应的宏块模式,对待处理视频进行转码。131.如图4所示,基于第一码率对待处理视频进行编码后的多帧第一图像可以表示为{info1、info2、info3、…、infon};其中,n是多帧第一图像的帧数;基于第二码率对待处理视频进行编码后的多帧第二图像可以表示为{1、2、3、…、n};其中,n是多帧第二图像的帧数;获取待处理视频在第一码率下编码后的每帧第一图像中第一宏块的代价以及第一宏块的宏块模式,如此在通过比第一码率小的第二码率对待处理视频进行编码时,可以在获取到待处理视频在第二码率下编码后的每帧第二图像中第二宏块的代价后,基于每帧第一图像中第一宏块的代价以及第一宏块的宏块模式对第二宏块的代价进行分析,快速确定出第二宏块对应的宏块模式,然后基于多帧第二图像和每帧第二图像中宏块对应的宏块模式对待处理进行转码,提高了转码速度。132.本技术实施例提供的视频转码方法还可以应用于通过高分辨率下的视频编码信息对低分辨率下的视频转码进行提速;具体地,获取待处理视频在高分辨率下的多帧第三图像、每帧第三图像中第三宏块的代价以及第三宏块对应的宏块模式,获取待处理视频在低分辨率下的多帧第四图像、每帧第四图像中第四宏块的代价,接着基于每帧第三图像中第三宏块的代价、第三宏块对应的宏块模式以及第四宏块的代价,快速确定第四宏块对应的宏块模式,进而基于多帧第四图像和每帧第四图像中第四宏块对应的宏块模式对待处理视频进行编码,得到低分辨率下转码后的待处理视频;其中,基于每帧第三图像中第三宏块的代价、第三宏块对应的宏块模式以及第四宏块的代价,快速确定第四宏块对应的宏块模式的操作与基于第一宏块的代价、第一宏块对应的宏块模式以及第二宏块的代价确定第二宏块对应的宏块模式的操作类似,本技术实施例对此不再赘述。133.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。134.本技术实施例所提供的视频转码方法,通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考,对第二码率编码下的多帧第二图像中的第二宏块进行分析,能够快速确定出第二宏块对应的宏块模式,减少了转码过程中的计算量,克服了现有技术中的转码过程中的计算量较大导致转码速度较慢的问题,提高了第二宏块对应的宏块模式的确定速度,进而提高了转码速度。135.基于前述实施例,本技术实施例提供一种视频转码装置,该视频转码装置可以应用于图1~3对应的实施例提供的视频转码方法中,参照图5所示,该视频转码装置4可以包括:136.获取单元41,用于获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式;其中,多帧第一图像是基于第一码率对待处理视频进行编码后得到的;137.获取单元41,还用于获取待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价;其中,多帧第二图像是基于第二码率对待处理视频进行编码后得到的,第二码率小于第一码率;138.处理单元42,用于基于第一宏块的代价、第二宏块的代价以及第一宏块对应的宏块模式,确定第二宏块对应的宏块模式;139.处理单元42,还用于基于多帧第二图像和第二宏块对应的宏块模式,对待处理视频进行转码处理。140.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:141.针对每一第二宏块,从第一宏块中确定每一第二宏块对应的目标宏块;142.基于目标宏块的代价与每一第二宏块的代价之间的关系,以及目标宏块对应的宏块模式与第一模式之间的关系,确定每一第二宏块对应的宏块模式;其中,第一模式表征每一第二宏块无运动矢量、无像素残差。143.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:144.在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,确定每一第二宏块对应的宏块模式为第一模式;145.在每一第二宏块的代价大于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,确定每一第二宏块对应的宏块模式为第二模式;其中,第二模式表征每一第二宏块有像素残差、无运动矢量。146.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:147.在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式不为第一模式的情况下,或者,在每一第二宏块的代价大于目标宏块代价、且目标宏块对应的宏块模式不为第一模式的情况下,基于第一模式决策方法,确定每一第二宏块的最佳宏块模式;148.确定每一第二宏块对应的宏块模式为最佳宏块模式;其中,最佳宏块模式表征每一第二宏块的预测代价最小。149.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:150.在每一第二宏块的代价等于目标宏块的代价的情况下,基于第二模式决策方法确定每一第二宏块的最佳宏块模式;151.确定每一第二宏块对应的宏块模式为最佳宏块模式;其中,第一模式决策方法不包括第二模式决策方法中对第一模式进行判断的操作。152.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:153.针对每帧第二图像,从第一图像中确定每帧第二图像对应的目标图像;154.确定目标图像中宏块模式为第一模式的宏块数量;155.基于宏块数量对每帧第二图像的初始量化参数进行调整,得到每帧第二图像的目标量化参数;156.基于目标量化参数和每帧第二图像中第二宏块对应的宏块模式,对待处理视频进行转码处理。157.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:158.确定每帧第二图像对应的初始量化参数;159.计算宏块数量占目标图像中的宏块总数量的比例,得到目标数值;160.基于目标数值对初始量化参数进行调整,得到目标量化参数。161.在本技术的其他实施例中,处理单元42,具体用于执行以下步骤:162.在目标数值小于第一数值的情况下,基于第一参数阈值对初始量化参数进行运算处理,得到目标量化参数;163.在目标数值大于第二数值的情况下,基于第二参数阈值对初始量化参数进行运算处理,得到目标量化参数。164.需要说明的是,各个单元所执行的步骤的具体说明可以参照图1~3对应的实施例提供的视频转码方法中,此处不再赘述。165.本技术实施例所提供的视频转码装置,通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考,对第二码率编码下的多帧第二图像中的第二宏块进行分析,能够快速确定出第二宏块对应的宏块模式,减少了转码过程中的计算量,克服了现有技术中的转码过程中的计算量较大导致转码速度较慢的问题,提高了第二宏块对应的宏块模式的确定速度,进而提高了转码速度。166.基于前述实施例,本技术的实施例提供一种视频转码设备,该视频转码设备可以应用于图1~3对应的实施例提供的视频转码方法中,参照图6所示,该视频转码设备5可以包括:处理器51、存储器52和通信总线53,其中:167.通信总线53用于实现处理器51和存储器52之间的通信连接;168.处理器51用于执行存储器52中的视频转码程序,以实现以下步骤:169.获取待处理视频对应的多帧第一图像、每帧第一图像中第一宏块的代价以及第一宏块对应的宏块模式;其中,多帧第一图像是基于第一码率对待处理视频进行编码后得到的;170.获取待处理视频对应的多帧第二图像、每帧第二图像中第二宏块的代价;其中,多帧第二图像是基于第二码率对待处理视频进行编码后得到的,第二码率小于第一码率;171.基于第一宏块的代价、第二宏块的代价以及第一宏块对应的宏块模式,确定第二宏块对应的宏块模式;172.基于多帧第二图像和第二宏块对应的宏块模式,对待处理视频进行转码处理。173.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于第一宏块的代价、第二宏块的代价以及第一宏块对应的宏块模式确定第二宏块对应的宏块模式,以实现以下步骤:174.针对每一第二宏块,从第一宏块中确定每一第二宏块对应的目标宏块;175.基于目标宏块的代价与每一第二宏块的代价之间的关系,以及目标宏块对应的宏块模式与第一模式之间的关系,确定每一第二宏块对应的宏块模式;其中,第一模式表征每一第二宏块无运动矢量、无像素残差。176.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于目标宏块的代价与每一第二宏块的代价之间的关系,以及目标宏块对应的宏块模式与第一模式之间的关系确定每一第二宏块对应的宏块模式,以实现以下步骤:177.在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,确定每一第二宏块对应的宏块模式为第一模式;178.在每一第二宏块的代价大于目标宏块的代价、且目标宏块对应的宏块模式为第一模式的情况下,确定每一第二宏块对应的宏块模式为第二模式;其中,第二模式表征每一第二宏块有像素残差、无运动矢量。179.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于目标宏块的代价与每一第二宏块的代价之间的关系,以及目标宏块对应的宏块模式与第一模式之间的关系确定每一第二宏块对应的宏块模式,以实现以下步骤:180.在每一第二宏块的代价小于目标宏块的代价、且目标宏块对应的宏块模式不为第一模式的情况下,或者,在每一第二宏块的代价大于目标宏块代价、且目标宏块对应的宏块模式不为第一模式的情况下,基于第一模式决策方法,确定每一第二宏块的最佳宏块模式;181.确定每一第二宏块对应的宏块模式为最佳宏块模式;其中,最佳宏块模式表征每一第二宏块的预测代价最小。182.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于目标宏块的代价与每一第二宏块的代价之间的关系,以及目标宏块对应的宏块模式与第一模式之间的关系确定每一第二宏块对应的宏块模式,以实现以下步骤:183.在每一第二宏块的代价等于目标宏块的代价的情况下,基于第二模式决策方法确定每一第二宏块的最佳宏块模式;184.确定每一第二宏块对应的宏块模式为最佳宏块模式;其中,第一模式决策方法不包括第二模式决策方法中对第一模式进行判断的操作。185.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于多帧第二图像和第二宏块对应的宏块模式对待处理视频进行转码处理,以实现以下步骤:186.针对每帧第二图像,从第一图像中确定每帧第二图像对应的目标图像;187.确定目标图像中宏块模式为第一模式的宏块数量;188.基于宏块数量对每帧第二图像的初始量化参数进行调整,得到每帧第二图像的目标量化参数;189.基于目标量化参数和每帧第二图像中第二宏块对应的宏块模式,对待处理视频进行转码处理。190.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于宏块数量对每帧第二图像的初始量化参数进行调整得到每帧第二图像的目标量化参数,以实现以下步骤:191.确定每帧第二图像对应的初始量化参数;192.计算宏块数量占目标图像中的宏块总数量的比例,得到目标数值;193.基于目标数值对初始量化参数进行调整,得到目标量化参数。194.在本技术的其他实施例中,处理器51用于执行存储器52中的视频转码程序的基于目标数值对初始量化参数进行调整得到目标量化参数,以实现以下步骤:195.在目标数值小于第一数值的情况下,基于第一参数阈值对初始量化参数进行运算处理,得到目标量化参数;196.在目标数值大于第二数值的情况下,基于第二参数阈值对初始量化参数进行运算处理,得到目标量化参数。197.需要说明的是,处理器所执行的步骤的具体说明可以参照图1~3对应的实施例提供的视频转码方法中,此处不再赘述。198.本技术实施例所提供的视频转码设备,通过以待处理视频在第一码率编码下的每帧第一图像中第一宏块的代价、第一宏块对应的宏块模式为参考,对第二码率编码下的多帧第二图像中的第二宏块进行分析,能够快速确定出第二宏块对应的宏块模式,减少了转码过程中的计算量,克服了现有技术中的转码过程中的计算量较大导致转码速度较慢的问题,提高了第二宏块对应的宏块模式的确定速度,进而提高了转码速度。199.基于前述实施例,本技术的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现图1~3对应的实施例提供的视频转码方法的步骤。200.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。201.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。202.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。203.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。204.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部