CN104717507A - 一种视频转码方法及装置 - Google Patents
一种视频转码方法及装置 Download PDFInfo
- Publication number
- CN104717507A CN104717507A CN201510147848.1A CN201510147848A CN104717507A CN 104717507 A CN104717507 A CN 104717507A CN 201510147848 A CN201510147848 A CN 201510147848A CN 104717507 A CN104717507 A CN 104717507A
- Authority
- CN
- China
- Prior art keywords
- task
- video
- encoded
- data
- code
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种视频转码方法及装置,一种视频转码方法,包括以下步骤:确定针对同一源视频的视频转码任务的集合;对所述源视频进行解码,获得所述源视频的解码数据;确定所述集合中每个视频转码任务对应的待编码数据;从所述集合中选择一个任务,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;针对所述集合中尚未被选择过的每个任务,根据已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;获得与所述源视频对应的多个目标视频。应用本发明实施例所提供的技术方案,可以提高视频转码速率,且目标视频的编码算法不用受限于源视频的编码算法,通用性较强。
Description
技术领域
本发明涉及多媒体技术领域,特别涉及一种视频转码方法及装置。
背景技术
视频转码,是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同终端处理能力和不同的用户需求。视频转码本质上是一个先解码、再编码的过程,所以,转换前后的视频码流可能遵循相同的视频编码算法,也可能遵循不同的视频编码算法。
目前通用的视频转码方法是,通过解码器将源视频解码为原始图像,再经过编码预处理后得到待编码数据,通过编码器将待编码数据编码为目标视频。这种方法兼容性强,但转码速率低。随着视频编码算法的不断更新,各种视频应用越来越广泛,视频转码的需求越来越大,对转码速率的要求也越来越高。
在目前通用的视频转码方法基础上,现有的一种提高转码速率的视频转码方法是,利用源视频码流的解码信息(如编码模式、运动矢量等)对待编码数据进行编码。
这种视频转码方法可以在一定程度上提高转码速率,但是因为其在对待编码数据进行编码的过程中需要利用源视频的解码信息,所以对于目标视频所对应的视频编码算法有一定的要求,需要其与源视频对应的视频编码算法具有一定的相关性,通用性受到限制。
发明内容
为解决上述问题,本发明实施例公开了一种视频转码方法及装置。技术方案如下:
一种视频转码方法,包括:
确定针对同一源视频的视频转码任务的集合,所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同;
对所述源视频进行解码,获得所述源视频的解码数据;
根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
从所述集合中选择一个任务,根据该任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
根据编码结果,获得与所述源视频对应的多个目标视频。
在本发明的一种具体实施方式中,所述从所述集合中选择一个任务,包括:
根据不同任务所对应的编码需求,按照预设的选择顺序从所述集合中选择第一个任务。
在本发明的一种具体实施方式中,所述针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理,包括:
依次选择所述集合中的第2、3、……、N个任务进行编码处理,N为所述集合中的总任务数,其中:
在n∈[2,N]的情况下,针对第n个任务,根据该任务对应的编码需求,以及第n-1个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
并且,在n∈[2,N-1]的情况下,针对第n个任务,从编码结果中提取该任务对应的已编码视频帧的编码信息。
在本发明的一种具体实施方式中,所述编码需求为对清晰度或码率的需求,所述预设的选择顺序为清晰度高低顺序或码率高低顺序。
在本发明的一种具体实施方式中,所述针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理,包括:
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择的第一个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
在本发明的一种具体实施方式中,所述已编码视频帧的编码信息包括:模式决策、编码块划分、运动估计、码率控制中的一种或多种。
一种视频转码装置,包括:
转码任务集合确定模块,用于确定针对同一源视频的视频转码任务的集合,所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同;
解码数据获得模块,用于对所述源视频进行解码,获得所述源视频的解码数据;
待编码数据确定模块,用于根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
第一编码处理模块,包括任务选择子模块和第一编码处理子模块,所述任务选择子模块,用于从所述集合中选择一个任务,所述第一编码处理子模块,用于根据任务选择子模块选择的任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
第二编码处理模块,用于针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
目标视频获得模块,用于根据编码结果,获得与所述源视频对应的多个目标视频。
在本发明的一种具体实施方式中,所述任务选择子模块,具体用于:
根据不同任务所对应的编码需求,按照预设的选择顺序从所述集合中选择第一个任务。
在本发明的一种具体实施方式中,所述第二编码处理模块,具体用于:
依次选择所述集合中的第2、3、……、N个任务进行编码处理,N为所述集合中的总任务数,其中:
在n∈[2,N]的情况下,针对第n个任务,根据该任务对应的编码需求,以及第n-1个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
并且,在n∈[2,N-1]的情况下,针对第n个任务,从编码结果中提取该任务对应的已编码视频帧的编码信息。
在本发明的一种具体实施方式中,所述编码需求为对清晰度或码率的需求,所述预设的选择顺序为清晰度高低顺序或码率高低顺序。
在本发明的一种具体实施方式中,所述第二编码处理模块,具体用于:
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择的第一个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
在本发明的一种具体实施方式中,所述已编码视频帧的编码信息包括:模式决策、编码块划分、运动估计、码率控制中的一种或多种。
应用本发明实施例所提供的技术方案,针对转码任务集合中尚未被选择的每一个任务,参考已选择任务对应的已编码视频帧的编码信息,并结合该任务所对应的编码需求,对该任务对应的待编码数据进行编码处理,对于针对同一源视频的不同转码任务来说,不同转码任务所对应的目标视频的相同帧号的视频帧之间具有较高的相似性,参考已编码视频帧的编码信息进行编码,可以加快该任务的视频转码速率,尤其是需要将源视频转换为多个目标视频时,转码速率提高的越为明显,且目标视频所使用的编码算法不用受限于源视频所使用的编码算法,通用性较强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中视频转码方法的一种实施流程图;
图2为本发明实施例中编码处理过程的一种示意图;
图3为本发明实施例中编码处理过程的另一种示意图;
图4为本发明实施例中视频转码装置的一种结构示意图。
具体实施方式
首先对本发明实施例所提供的一种视频转码方法进行说明,该方法可以包括以下步骤:
确定针对同一源视频的视频转码任务的集合,所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同;
对所述源视频进行解码,获得所述源视频的解码数据;
根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
从所述集合中选择一个任务,根据该任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
根据编码结果,获得与所述源视频对应的多个目标视频。
可以理解的是,针对同一内容的视频,根据不同的视频编码算法或者编码需求,可以将其转换为多个视频。针对同一源视频的视频转码任务,即是指将同一源视频转换为几个不同的目标视频,这几个不同的目标视频的视频编码算法相同,但编码需求不同,不同的编码需求对应不同的编码参数。比如,源视频为UGC(User Generated Content,用户生产内容)类视频,该类视频是用户上传的,可能具有各种编码算法,在实际应用中,视频网站需要将这类视频转换为网站所支持的符合各种编码需求且符合网站所支持的编码算法的视频。
确定转码任务集合的同时,即确定了要进行转码处理的源视频和转码任务所对应的目标视频的编码需求。对源视频进行解码,获得源视频的解码数据,并根据该解码数据,可以确定每个转码任务对应的待编码数据,分别对各转码任务对应的待编码数据进行编码可以获得相对应的目标视频。在实际处理中,除处理第一个转码任务时为普通编码外,处理其他转码任务时都可以进行加速编码。具体的,可以先从任务集合中选择一个任务,根据该任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息,然后针对任务集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理,当任务集合中的转码任务处理完成后,即可获得源视频对应的多个目标视频。
应用本发明实施例所提供的技术方案,针对转码任务集合中尚未被选择的每一个任务,参考已选择任务对应的已编码视频帧的编码信息,并结合该任务所对应的编码需求,对该任务对应的待编码数据进行编码处理,对于针对同一源视频的不同转码任务来说,不同转码任务所对应的目标视频的相同帧号的视频帧之间具有较高的相似性,参考已编码视频帧的编码信息进行编码,可以加快该任务的视频转码速率,尤其是需要将源视频转换为多个目标视频时,转码速率提高的越为明显,且目标视频所使用的编码算法不用受限于源视频所使用的编码算法,通用性较强。
为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,为本发明实施例所提供的一种视频转码方法的实施流程图,该方法可以包括以下步骤:
S110:确定针对同一源视频的视频转码任务的集合;
所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同。
视频转码任务是将源视频转换为目标视频,处理针对同一源视频的不同转码任务,可以获得不同的目标视频。本发明实施例对源视频的视频编码算法不做要求,但针对同一源视频的视频转码任务所对应的目标视频的视频编码算法要求相同。不同转码任务对应的编码需求不同,不同的编码需求可以以不同的编码参数进行表征。一个视频的编码参数,是指该视频的码率、帧率、清晰度、编码格式等参数。根据不同的编码需求可以编码得到不同的目标视频。如一个转码任务对应的编码需求为:码率a0、帧率b0、清晰度c0、编码格式d0,处理该转码任务后可以得到目标视频1,另一个转码任务对应的编码需求为:码率a1、帧率b0、清晰度c1、编码格式d0,处理该转码任务后可以得到目标视频2。不同的编码需求中可以有一个或多个编码参数不同。
为方便理解,以不同的编码需求中有一个不同的编码参数为例进行说明:
源视频为视频网站中用户上传的视频,视频网站需要对该源视频进行转码处理,比如要将该源视频转换为清晰度分别为流畅、标清、高清、超高清的目标视频,这里,流畅、标清、高清、超高清分别为不同的编码需求,可以理解为不同的转码任务只对编码参数清晰度有不同的要求,对其他编码参数要求相同,每一种清晰度分别对应一个转码任务,在这种情况下,针对该源视频的转码任务为四个,这四个转码任务构成一个任务集合。
确定转码任务集合的同时,也就确定了每个转码任务所针对的源视频、每个转码任务所对应的目标视频、每个转码任务对应的待编码数据进行编码时所使用的视频编码算法、每个转码任务所对应的编码需求。
S120:对所述源视频进行解码,获得所述源视频的解码数据;
对源视频进行解码,获得该源视频的解码数据。需要说明的是,本发明实施例对视频解码方法不做要求,本领域技术人员可以根据现有技术的解码方法对源视频进行解码。
S130:根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
在步骤S120对源视频进行解码,获得了源视频的解码数据,可以直接将所获得的解码数据确定为任务集合中每个转码任务对应的待解码数据,还可以将对解码数据进行编码预处理后的数据确定为任务集合中每个转码任务对应的待编码数据,所谓对解码数据的编码预处理,是指将解码数据的每一视频帧进行图像优化(锐化、降噪等)、加字幕等处理,如果转码任务对应的编码需求为清晰度的调整,在编码预处理过程还可以包括分辨率调整过程。对于不同的转码任务对应的相同的编码预处理,可以统一进行,节省计算资源。
S140:从所述集合中选择一个任务,根据该任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
在步骤S110所确定的任务集合中选择一个任务,可以随机选择,还可以根据不同任务所对应的编码需求,按照预设的选择顺序选择,如编码需求为对清晰度或码率的需求,则可以按照清晰度高低顺序选择清晰度最低的任务,或者按照码率高低顺序选择码率最低的任务,当然,也可以选择清晰度最高的任务,或者选择码率最高的任务,具体的选择顺序可以根据实际情况进行确定,所选择出的任务可以作为要进行编码处理的第一个任务。如果目标视频对多个编码参数均有不同要求,则可以综合考虑多个编码参数,预先设定选择顺序,从任务集合中选择出一个任务。
从任务集合中选择出一个任务后,根据该任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息。已编码视频帧的编码信息可以包括:模式决策、编码块划分、运动估计、码率控制中的一种或多种。
可以理解的是,如果步骤S130直接将所获得的解码数据确定为任务集合中每个转码任务对应的待解码数据,则对待编码数据进行编码处理的过程可以包括:编码预处理过程和编码处理过程。编码预处理过程同上述的编码预处理过程,不同的转码任务各自进行编码预处理;在编码处理过程中,对进行预处理后的数据的每一视频帧按照预设的视频编码算法进行编码处理,即逐一对每个视频帧进行编码处理,每完成一个或几个视频帧的编码处理,都可以从相应的编码结果中提取该任务对应的已编码视频帧的编码信息。
S150:针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
在步骤S110所确定的任务集合中,至少有两个不同的视频转码任务,在步骤S140选择出一个任务,并根据该任务的编码需求,对该任务对应的待编码数据进行了编码处理,且从编码结果中提取了该任务对应的已编码视频帧的编码信息。可以理解的是,同一源视频对应的不同目标视频的相同帧的图像之间具有很高的相似性,已编码视频帧的编码信息可以提供给其他转码任务中相应视频帧的编码做参考。如将某一清晰度的视频帧的编码信息提取出来,供相应的其他清晰度的视频帧编码时参考使用。针对任务集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
在本发明的一种具体实施方式中,步骤S150可以包括以下步骤:
依次选择所述集合中的第2、3、……、N个任务进行编码处理,N为所述集合中的总任务数。
其中,在n∈[2,N]的情况下,针对第n个任务,根据该任务对应的编码需求,以及第n-1个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;并且,在n∈[2,N-1]的情况下,针对对n个任务,从编码结果中提取该任务对应的已编码视频帧的编码信息。
也就是说在对每一个转码任务(除选择的第一个任务)进行编码处理时,都可以参考上一个转码任务的相应已编码视频帧的编码信息,并且,在对每一个转码任务(除选择的最后一个任务)进行编码处理时,都可以提取该任务对应的已编码视频帧的编码信息,以供下一个转码任务在编码时参考。各转码任务的启动时机可以根据实际情况进行确定,即上一个转码任务进行若干帧(如L帧)后启动下一个转码任务。
为方便理解,举例说明。
假设任务集合中共有三个转码任务,分别为转码任务A、转码任务B、转码任务C。在执行步骤S140的操作时,选择的第一个任务为转码任务A,并提取了转码任务A对应的已编码视频帧的编码信息。此时,选择转码任务B作为第二个任务,根据该任务对应的编码需求,以及第一个任务,即转码任务A对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息,接下来选择转码任务C作为第三个任务,根据该任务对应的编码需求,以及第二个任务,即转码任务B对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
具体的转码过程可以参见图2所示。在图2中,转码任务1对应编码需求1,对该任务对应的待编码数据进行普通编码,同时提取转码任务1对应的已编码视频帧的编码信息,在若干帧(如L帧,可根据实际情况进行设置)后开始对转码任务2进行加速编码,转码任务2对应编码需求2,同时提取转码任务2对应的已编码视频帧的编码信息,同样,在若干帧后开始对转码任务3、4、……、N进行加速编码,在分别对转码任务3、4、……、N-1进行编码的同时,提取这些任务对应的已编码视频帧的编码信息。
在本发明的另一种具体实施方式中,步骤S150可以包括以下步骤:
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择的第一个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
具体的编码过程可以参见图3所示。在图3中,转码任务1对应编码需求1,对该任务对应的待编码数据进行普通编码,同时提取转码任务1对应的已编码视频帧的编码信息,在若干帧(如M帧,可根据实际情况进行设置)后开始对转码任务2、3、……、N进行加速编码,在这些任务编码过程中均参考转码任务1对应的已编码视频帧的编码信息。
当然,需要说明的是,在实际应用中,尚未被选择的每个任务在进行编码处理过程中,可以参考已选择的任一个任务对应的已编码视频帧的编码信息。
S160:根据编码结果,获得与所述源视频对应的多个目标视频。
每个转码任务结束后,得到最终的编码结果,获得与所述源视频对应的多个目标视频。如图2或图3所示,转码任务1完成后获得目标视频1、转码任务2完成后获得目标视频2、……、转码任务N完成后获得目标视频N。
应用本发明实施例所提供的技术方案,针对转码任务集合中尚未被选择的每一个任务,参考已选择任务对应的已编码视频帧的编码信息,并结合该任务所对应的编码需求,对该任务对应的待编码数据进行编码处理,对于针对同一源视频的不同转码任务来说,不同转码任务所对应的目标视频的相同帧号的视频帧之间具有较高的相似性,参考已编码视频帧的编码信息进行编码,可以加快该任务的视频转码速率,尤其是需要将源视频转换为多个目标视频时,转码速率提高的越为明显,且目标视频所使用的编码算法不用受限于源视频所使用的编码算法,通用性较强。
相应于上面的方法实施例,本发明实施例还提供了视频转码装置,参见图4所示,该装置可以包括以下模块:
转码任务集合确定模块210,用于确定针对同一源视频的视频转码任务的集合,所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同;
解码数据获得模块220,用于对所述源视频进行解码,获得所述源视频的解码数据;
待编码数据确定模块230,用于根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
第一编码处理模块240,包括任务选择子模块和第一编码处理子模块,所述任务选择子模块,用于从所述集合中选择一个任务,所述第一编码处理子模块,用于根据任务选择子模块选择的任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
第二编码处理模块250,用于针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
目标视频获得模块260,用于根据编码结果,获得与所述源视频对应的多个目标视频。
在本发明的一种具体实施方式中,所述任务选择子模块,具体用于:
根据不同任务所对应的编码需求,按照预设的选择顺序从所述集合中选择第一个任务。
在本发明的一种具体实施方式中,所述第二编码处理模块250,具体用于:
依次选择所述集合中的第2、3、……、N个任务进行编码处理,N为所述集合中的总任务数,其中:
在n∈[2,N]的情况下,针对第n个任务,根据该任务对应的编码需求,以及第n-1个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
并且,在n∈[2,N-1]的情况下,针对第n个任务,从编码结果中提取该任务对应的已编码视频帧的编码信息。
在本发明的一种具体实施方式中,所述编码需求为对清晰度或码率的需求,所述预设的选择顺序为清晰度高低顺序或码率高低顺序。
在本发明的一种具体实施方式中,所述第二编码处理模块250,具体用于:
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择的第一个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
在本发明的一种具体实施方式中,所述已编码视频帧的编码信息包括:模式决策、编码块划分、运动估计、码率控制中的一种或多种。
应用本发明实施例所提供的装置,针对转码任务集合中尚未被选择的每一个任务,参考已选择任务对应的已编码视频帧的编码信息,并结合该任务所对应的编码需求,对该任务对应的待编码数据进行编码处理,对于针对同一源视频的不同转码任务来说,不同转码任务所对应的目标视频的相同帧号的视频帧之间具有较高的相似性,参考已编码视频帧的编码信息进行编码,可以加快该任务的视频转码速率,尤其是需要将源视频转换为多个目标视频时,转码速率提高的越为明显,且目标视频所使用的编码算法不用受限于源视频所使用的编码算法,通用性较强。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种视频转码方法,其特征在于,包括:
确定针对同一源视频的视频转码任务的集合,所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同;
对所述源视频进行解码,获得所述源视频的解码数据;
根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
从所述集合中选择一个任务,根据该任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
根据编码结果,获得与所述源视频对应的多个目标视频。
2.根据权利要求1所述的方法,其特征在于,所述从所述集合中选择一个任务,包括:
根据不同任务所对应的编码需求,按照预设的选择顺序从所述集合中选择第一个任务。
3.根据权利要求2所述的方法,其特征在于,所述针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理,包括:
依次选择所述集合中的第2、3、……、N个任务进行编码处理,N为所述集合中的总任务数,其中:
在n∈[2,N]的情况下,针对第n个任务,根据该任务对应的编码需求,以及第n-1个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
并且,在n∈[2,N-1]的情况下,针对第n个任务,从编码结果中提取该任务对应的已编码视频帧的编码信息。
4.根据权利要求2所述的方法,其特征在于,所述编码需求为对清晰度或码率的需求,所述预设的选择顺序为清晰度高低顺序或码率高低顺序。
5.根据权利要求1所述的方法,其特征在于,所述针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理,包括:
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择的第一个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述已编码视频帧的编码信息包括:模式决策、编码块划分、运动估计、码率控制中的一种或多种。
7.一种视频转码装置,其特征在于,包括:
转码任务集合确定模块,用于确定针对同一源视频的视频转码任务的集合,所述集合中包括至少两个不同的视频转码任务,不同任务所对应的视频编码算法相同、编码需求不同;
解码数据获得模块,用于对所述源视频进行解码,获得所述源视频的解码数据;
待编码数据确定模块,用于根据所获得的解码数据,确定所述集合中每个视频转码任务对应的待编码数据;
第一编码处理模块,包括任务选择子模块和第一编码处理子模块,所述任务选择子模块,用于从所述集合中选择一个任务,所述第一编码处理子模块,用于根据任务选择子模块选择的任务对应的编码需求,对该任务对应的待编码数据进行编码处理,并从编码结果中提取该任务对应的已编码视频帧的编码信息;
第二编码处理模块,用于针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
目标视频获得模块,用于根据编码结果,获得与所述源视频对应的多个目标视频。
8.根据权利要求7所述的装置,其特征在于,所述任务选择子模块,具体用于:
根据不同任务所对应的编码需求,按照预设的选择顺序从所述集合中选择第一个任务。
9.根据权利要求8所述的装置,其特征在于,所述第二编码处理模块,具体用于:
依次选择所述集合中的第2、3、……、N个任务进行编码处理,N为所述集合中的总任务数,其中:
在n∈[2,N]的情况下,针对第n个任务,根据该任务对应的编码需求,以及第n-1个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理;
并且,在n∈[2,N-1]的情况下,针对第n个任务,从编码结果中提取该任务对应的已编码视频帧的编码信息。
10.根据权利要求8所述的装置,其特征在于,所述编码需求为对清晰度或码率的需求,所述预设的选择顺序为清晰度高低顺序或码率高低顺序。
11.根据权利要求7所述的装置,其特征在于,所述第二编码处理模块,具体用于:
针对所述集合中尚未被选择过的每个任务,根据该任务对应的编码需求,以及已选择的第一个任务对应的已编码视频帧的编码信息,对该任务对应的待编码数据进行编码处理。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述已编码视频帧的编码信息包括:模式决策、编码块划分、运动估计、码率控制中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510147848.1A CN104717507A (zh) | 2015-03-31 | 2015-03-31 | 一种视频转码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510147848.1A CN104717507A (zh) | 2015-03-31 | 2015-03-31 | 一种视频转码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104717507A true CN104717507A (zh) | 2015-06-17 |
Family
ID=53416393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510147848.1A Pending CN104717507A (zh) | 2015-03-31 | 2015-03-31 | 一种视频转码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104717507A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162174A (zh) * | 2016-08-31 | 2016-11-23 | 北京奇艺世纪科技有限公司 | 一种视频多分辨率编码方法和装置 |
CN107659819A (zh) * | 2017-10-30 | 2018-02-02 | 网宿科技股份有限公司 | 一种视频转码的方法和装置 |
CN108366293A (zh) * | 2017-01-03 | 2018-08-03 | 黑帆科技有限公司 | Vr视频转码方法及装置 |
CN109660825A (zh) * | 2017-10-10 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 视频转码方法、装置、计算机设备及存储介质 |
CN111050175A (zh) * | 2018-10-15 | 2020-04-21 | 华为技术有限公司 | 视频编码的方法和装置 |
CN111901620A (zh) * | 2020-07-24 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种直播回放生成方法、装置、电子设备及存储介质 |
CN112188285A (zh) * | 2020-09-28 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 视频转码方法、装置、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1941903A (zh) * | 2006-03-31 | 2007-04-04 | 中山大学 | 一种实现多码流同时输出的转码***及方法 |
CN103686207A (zh) * | 2013-12-04 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 转码任务的调度方法和*** |
CN103826138A (zh) * | 2014-03-12 | 2014-05-28 | 赛特斯信息科技股份有限公司 | 实现音视频内容多种码率和编码格式云转码的***及方法 |
CN103957428A (zh) * | 2014-05-16 | 2014-07-30 | 中国科学院上海高等研究院 | 基于众核处理器且带多码率转码功能的流媒体服务器 |
CN104349178A (zh) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | 实现按需实时转码和自适应码率流媒体播放的***及方法 |
-
2015
- 2015-03-31 CN CN201510147848.1A patent/CN104717507A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1941903A (zh) * | 2006-03-31 | 2007-04-04 | 中山大学 | 一种实现多码流同时输出的转码***及方法 |
CN103686207A (zh) * | 2013-12-04 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 转码任务的调度方法和*** |
CN103826138A (zh) * | 2014-03-12 | 2014-05-28 | 赛特斯信息科技股份有限公司 | 实现音视频内容多种码率和编码格式云转码的***及方法 |
CN103957428A (zh) * | 2014-05-16 | 2014-07-30 | 中国科学院上海高等研究院 | 基于众核处理器且带多码率转码功能的流媒体服务器 |
CN104349178A (zh) * | 2014-11-21 | 2015-02-11 | 赛特斯信息科技股份有限公司 | 实现按需实时转码和自适应码率流媒体播放的***及方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162174A (zh) * | 2016-08-31 | 2016-11-23 | 北京奇艺世纪科技有限公司 | 一种视频多分辨率编码方法和装置 |
CN106162174B (zh) * | 2016-08-31 | 2019-10-29 | 北京奇艺世纪科技有限公司 | 一种视频多分辨率编码方法和装置 |
CN108366293A (zh) * | 2017-01-03 | 2018-08-03 | 黑帆科技有限公司 | Vr视频转码方法及装置 |
CN109660825A (zh) * | 2017-10-10 | 2019-04-19 | 腾讯科技(深圳)有限公司 | 视频转码方法、装置、计算机设备及存储介质 |
CN109660825B (zh) * | 2017-10-10 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 视频转码方法、装置、计算机设备及存储介质 |
US10951905B2 (en) | 2017-10-10 | 2021-03-16 | Tencent Technology (Shenzhen) Company Limited | Video transcoding method, computer device, and storage medium |
CN107659819A (zh) * | 2017-10-30 | 2018-02-02 | 网宿科技股份有限公司 | 一种视频转码的方法和装置 |
CN111050175A (zh) * | 2018-10-15 | 2020-04-21 | 华为技术有限公司 | 视频编码的方法和装置 |
CN111901620A (zh) * | 2020-07-24 | 2020-11-06 | 北京达佳互联信息技术有限公司 | 一种直播回放生成方法、装置、电子设备及存储介质 |
CN112188285A (zh) * | 2020-09-28 | 2021-01-05 | 北京达佳互联信息技术有限公司 | 视频转码方法、装置、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717507A (zh) | 一种视频转码方法及装置 | |
JP7351463B2 (ja) | 画像符号化方法及び装置、画像復号方法及び装置並びにプログラム | |
JP2020096342A (ja) | 動画を処理するための方法および装置 | |
US20160037185A1 (en) | Methods and apparatuses for coding and decoding depth map | |
US20160269728A1 (en) | Coding structure | |
US11955994B2 (en) | Data processing apparatuses, methods, computer programs and computer-readable media | |
CN110401836B (zh) | 一种图像解码、编码方法、装置及其设备 | |
CN109688407B (zh) | 编码单元的参考块选择方法、装置、电子设备及存储介质 | |
CN111263243B (zh) | 视频编码方法、装置、计算机可读介质及电子设备 | |
CN103188494A (zh) | 跳过离散余弦变换对深度图像编码/解码的设备和方法 | |
CN104284188A (zh) | 预测块的划分方法、编码设备和解码设备 | |
US9167274B1 (en) | Generating synchronized dictionaries for sparse coding | |
JP2019110376A (ja) | デコードエラー検出推定装置、映像復号装置、及びこれらのプログラム | |
JP2017130894A (ja) | 画像符号化装置、方法及びプログラム | |
CN112004114B (zh) | 视频处理方法、装置、可读存储介质及电子设备 | |
CN105323636A (zh) | 一种视频处理方法及装置 | |
CN107820084B (zh) | 一种视频感知编码方法及装置 | |
CN105163124A (zh) | 一种图像编码方法、图像解码方法及装置 | |
JP7411785B2 (ja) | イントラ予測のための補間フィルタリング方法と装置、コンピュータプログラム及び電子装置 | |
CN104168482A (zh) | 一种视频编解码方法及装置 | |
US20220103826A1 (en) | Encoding/decoding method and apparatus for motion vector information | |
CN111787326A (zh) | 一种熵编码及熵解码的方法和装置 | |
CN105208396A (zh) | 一种视频帧的编码及解码方法和装置 | |
CN103856780A (zh) | 视频编码方法、解码方法、编码器及解码器 | |
KR20230031797A (ko) | 피처 맵 압축을 위한 방법, 장치 및 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150617 |