视频编转码方法与流程

文档序号:25875887发布日期:2021-07-16 17:43阅读:164来源:国知局
视频编转码方法与流程

1.本发明属于视频技术领域,具体涉及一种视频编转码方法。


背景技术:

2.随着视频技术的发展,个性化视频需求的场合越来越多。所谓个性化视频,就是在原有视频的基础上,添加额外的特效,如走马灯字幕、转场效果、二维码等图文,形成一个新的视频。通常使用场景中,这些添加的特效会被限定在一些特定的区域内,且只能在用户点播视频的时候才能确定具体的特效内容,需要在用户点播时进行实时处理。通常的做法就需要在后台服务器实时的对原视频进行解码、特效处理再编码。
3.对于以上个性化视频应用,如果用户点播的并发度高,后台需要很多实时处理的视频服务器,极大地消耗运算资源。且由于实时编码,并发路数巨大的情况下,编码往往不能采用较高等级的编码模式。通常视频编码有不同的编码等级,如最高质量等级,最快速质量等级等。不同的等级,等级越高,通常计算量越大,编码速度越慢,但编码画质越高,反之编码等级越低,则计算量越小,编码速度越快,但编码画质越低。同时对于视频点播业务,通常存在信道带宽有限,对视频码率、峰值码率、码率波动等有较高的要求,而实时转码由于延时的要求,视频画质以及码率要求难以保证,造成较差的用户体验。


技术实现要素:

4.本发明要解决的技术问题是提供一种视频编转码方法,用于降低具有特效效果的个性化视频直播系统的转码成本,提高转码效率。
5.为解决上述技术问题,本发明采用如下的技术方案:
6.本发明实施例的第一方面提供了一种视频编转码方法,将输入根据转码参数集进行转码得到输出,其中输入为种子视频,转码参数集包括编码参数以及特效区域信息,输出包括中间视频文件以及转码参数集。
7.优选地,编码参数包括视频格式、分辨率,帧率,平均码率,峰值码率、gop长度、b帧、参考帧数量中的至少一种。
8.优选地,转码采用离线方式。
9.优选地,对编码画面进行划分,在时间域上以画面组gop为单位,整个编码画面分割为两类区域,记做第一类区域以及第二类区域,第一类区域在整个gop时间段内不包含任何特效区域,第二类区域则包含整个gop时间段内所有特效区域。
10.优选地,把第二类区域扩充为编码块的整数倍。
11.优选地,编码时,采用条带编码方式,对第一类区域采用独立的或者多个条带编码,对第二类区域也采用独立或者多个条带编码,第一类区域和第二类区域编码时在时间域不互相参考。
12.本发明实施例的第二方面提供了一种视频编转码方法,将输入根据转码参数集进行转码得到输出,其中输入为中间视频文件,转码参数集包括编码参数、特效区域信息和具
体的特效信息,输出包括最终视频输出文件或视频流。
13.优选地,编码参数包括视频格式、分辨率,帧率,平均码率,峰值码率、gop长度、b帧、参考帧数量中的至少一种。
14.优选地,对编码画面进行划分,在时间域上以画面组gop为单位,整个编码画面分割为两类区域,记做第一类区域以及第二类区域,第一类区域在整个gop时间段内不包含任何特效区域,第二类区域则包含整个gop时间段内所有特效区域。
15.优选地,把第二类区域扩充为编码块的整数倍。
16.优选地,编码时,采用条带编码方式,对第一类区域采用独立的或者多个条带编码,对第二类区域也采用独立或者多个条带编码,第一类区域和第二类区域编码时在时间域不互相参考。
17.本发明实施例的第三方面提供了一种视频编转码方法,将输入根据转码参数集进行转码得到输出,输入为种子视频,转码参数集包含编码参数、特效区域信息和具体的特效信息,输出包括中间文件以及相应的参数集,最终视频文件或视频流。
18.优选地,编码参数包括视频格式、分辨率,帧率,平均码率,峰值码率、gop长度、b帧、参考帧数量中的至少一种。
19.优选地,对编码画面进行划分,在时间域上以画面组gop为单位,整个编码画面分割为两类区域,记做第一类区域以及第二类区域,第一类区域在整个gop时间段内不包含任何特效区域,第二类区域则包含整个gop时间段内所有特效区域。
20.优选地,把第二类区域扩充为编码块的整数倍。
21.优选地,编码时,采用条带编码方式,对第一类区域采用独立的或者多个条带编码,对第二类区域也采用独立或者多个条带编码,第一类区域和第二类区域编码时在时间域不互相参考。
22.本发明实施例的第四方面提供了一种视频编转码方法,包括以下步骤:每次实际需要启动实时转码任务时,转码系统被指定种子视频,转码参数集包含编码参数,以及特效信息、特效区域信息;先通过数据库等方式查询,之前是否有存在种子视频、编码参数、特效区域信息完全一致的中间视频文件,如果可以查询到完全匹配的,则将输入根据转码参数集进行转码得到输出,以查询到的中间文件做输入源,转码参数集保持不变,输出最终视频流或者文件;如果查询不到,则将输入根据转码参数集进行转码得到输出,以种子视频为输入,同时输出视频中间文件以及相应参数集、最终视频文件或流。
23.本发明实施例的第五方面提供了一种视频编转码方法,包括以下步骤:
24.种子视频入库的时候,先把种子视频存储于服务器,为该种子视频设置一个种子视频id;
25.后台在合适的时候启动第一类转码:将输入根据转码参数集进行转码得到输出,其中输入为种子视频,转码参数集包括编码参数以及特效区域信息,输出包括中间视频文件以及转码参数集;
26.每次实际需要启动实时转码任务的时候,启动第二类转码:将输入根据转码参数集进行转码得到输出,其中输入为中间视频文件,转码参数集包括编码参数、特效区域信息和具体的特效信息,输出包括最终视频输出文件或视频流。
27.本发明实施例的第六方面提供了一种视频编转码方法,包括以下步骤:,包括以下
步骤:
28.种子视频入库的时候,先把种子视频存储于服务器,为该种子视频设置一个种子视频id;
29.每次实际需要启动实时转码任务时,转码系统被指定种子视频,转码参数集包含编码参数,以及特效信息、特效区域信息;先通过数据库等方式查询,之前是否有存在种子视频、编码参数、特效区域信息完全一致的中间视频文件,如果可以查询到完全匹配的,则将输入根据转码参数集进行转码得到输出,以查询到的中间文件做输入源,转码参数集保持不变,输出最终视频流或者文件;如果查询不到,则将输入根据转码参数集进行转码得到输出,以种子视频为输入,同时输出视频中间文件以及相应参数集、最终视频文件或流。
30.采用本发明具有如下的有益效果:降低具有特效效果的个性化视频直播系统的转码服务器的总成本,并且提升个性化视频画质以及码率波动等指标,最终以较低的建设成本达到较好的用户体验。
附图说明
31.图1为本发明实施例1的视频编转码方法的流程图;
32.图2为编码时对编码画面进行划分的区域第一种结构示意图;
33.图3为编码时对编码画面进行划分的区域第二种结构示意图;
34.图4为本发明实施例3的视频编转码方法的流程图;
35.图5为本发明实施例5的视频编转码方法的流程图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.实施例1
38.参照图1,所示为本发明实施例的视频编转码方法的流程图,将输入根据转码参数集进行转码得到输出,其中输入为种子视频,转码参数集包括编码参数以及特效区域信息,输出包括中间视频文件以及转码参数集。特效区域信息为特效添加的区域,特效信息以及特效区域信息可以因不同的帧而发生变化。特效信息包含叠加图文、走马灯字幕、以及转换效果等等。编码参数是限定输出视频文件或流的参数集,包含但不限于视频格式、分辨率,帧率,平均码率,峰值码率、gop长度、b帧、参考帧数量中的至少一种。每个种子视频具有一个种子视频id。
39.以上视频编转码方法,可以采用离线编码来编码,甚至可以采用多次编码的方式来编码,使得输出的中间视频文件在编码画质、码率波动等各方面具有较高的质量要求,可以选择编码质量等级较高(使用算力较多,编码画质高但编码速度较慢)的编码算法配置。
40.中间视频文件存储于系统可访问到的存储系统,转码参数集可存储于中间视频文件内,或者单独的以文件形式存储于可访问到的存储系统,比如数据库,具体存储方式本专利不做限定,但转码参数集信息以及中间视频文件需要方便系统查询。
41.具体应用场景经济效益分析:对于一个典型的应用,如个性化视频彩铃系统,采用实施例1的转码方法,且对于所有的输入视频,只设置一个固定输出视频分辨率以及固定的特效区域,典型的分辨率为720x1280,典型的特效区域为矩形区域,其左上角的横坐标为0,左上角的纵坐标为1200,右下角的横坐标为720,右下角的纵坐标为1280(整幅图像的其左上角的横坐标为0,左上角的纵坐标为0,右下角的横坐标为720,右下角的纵坐标为1280)。区域位置与图像最低端对齐。则只需要启动一次实施例1的转码任务。对于每个种子视频,只需执行一次离线转码任务,而实时转码会由于不同的具体特效信息而多次转码。典型的,平均一个种子视频被使用1000次,那么采用传统转码方式,需要转码1000次,占用计算资源720x1280x1000个单位,而采用本发明实施例的方法,占用计算资源为720x1280+720x80x1000,节省计算资源(720x1280x1000)/(720x1280+720x80x1000)倍,约为15倍。
42.实施例2
43.在实施例1的基础上,为了实现更好的编码技术效果,具体应用实例中,参见图2和图3,编码时对编码画面进行划分,在时间域上以画面组gop(group of picture)为单位,整个编码画面分割为两类区域,记做第一类区域a以及第二类区域b,第一类区域a在整个gop时间段内不包含任何特效区域,第二类区域b则包含整个gop时间段内所有特效区域。在gop时间段内保持固定不变,且第一类区域a与第二类区域b互不重叠,且互补构成整个画面。第一类区域a的特点为在整个gop时间段内,第一类区域a不包含任何特效区域,而第二类区域b则包含整个gop时间段内所有特效区域,且适当做边界扩充,最少保持编码块的整数倍。可选的,可以把第二类区域b扩充为编码块的整数行。编码的时候,采用条带编码方式,对第一类区域a采用独立的或者多个条带编码,对第二类区域b也同样采用独立或者多个条带编码,其中第一类区域a和第二类区域b在编码时候在时间域不互相参考,但第一类区域a或者第二类区域b内部各条带可以互相参考。其中,整帧为一副画面,每个小正方形格子为一个编码块,粗线条为图像边界以及区域边界。其中图2划分较为简单,一幅图仅仅只有一个一类区域以及一个二类区域,且第二类区域扩展成为编码块的整数行。图3则为更通用的划分,分别含有多个第一类区域以及第二类区域,且第二类区域仅仅扩充为编码块的整数倍。
44.目前主流的视频编码格式为h264、h265、avs2、avs3等。这些格式都支持多条带(slice)编码或者tile编码模式,由于不同的视频格式叫法可能不一样,但基本特点一致,本发明实施例中统一用条带编码来表示。条带由若干连续的编码块构成,编码块为一个固定的正方形像素区域,在不同标准中名字也不相同,h264中叫宏块/mb,在h265中叫最大编码树块/ctb,本发明实施例中统一称之为编码块。而每个编码块由若干独立的预测块构成,预测块可能需要引用当前条带已经编解码好的编码块数据,或者编码时间域上之前的帧的数据。条带之间在帧内可以独立解析,但是帧间编码可以跨域条带边界。所以条带解码并不能保证完全独立解码。如果要做到条带可以独立解码,需要对标准算法做一些额外约束。
45.本领域技术人员可以理解的是,以上对第一类区域a和第二类区域b的划分,其个数可以根据需要编码的画面大小以及特效区域位置设置为多个。
46.同时在空间域上,做关闭条带边界的环路滤波特性,以保证条带间空间域互不依赖。对第一类区域a中的任意一个编码块的预测单元(predictionunit,pu),先采用正常模式对该pu做运动估计获取最优的运动矢量(motionvector,mv)。具体运动搜索方法本发明实施例中不做限定。但是运动搜索过程中,对每一个尝试的mv,判断该参考块是否需要引用
到第二类区域b中的像素值。如果不需要,则对当前的mv做正常的运动补偿进而判断是否为最终mv。如果当前的参考块需要引用到第二类区域b的像素,则视当前的pu的运动估计误差为无穷大,即永远不选用当前mv,继续按照既有运动估计算法尝试其他mv。
47.判断该参考块是否需要引用到第二类区域b中的像素值具体为:
48.第一种,如果当前pu中存在某个像素加上mv的偏移,落到了第二类区域b,则视当前pu引用了第二类区域b。
49.第二种,当前某像素加上mv的偏移为分像素,虽然还没有落到第二类区域b,仍然在第一类区域a,但为了生成当前分像素的值,需要用到第一类区域a中的像素值,也视当前pu需要引用第二类区域b。
50.实施例3
51.参照图4,所示为本发明实施例的视频编转码方法的流程图,将输入根据转码参数集进行转码得到输出,其中输入为中间视频文件,转码参数集包括编码参数、特效区域信息和具体的特效信息,输出包括最终视频输出文件或视频流。特效区域信息为特效添加的区域,特效信息以及特效区域信息可以因不同的帧而发生变化。特效信息包含叠加图文、走马灯字幕、以及转换效果等等。编码参数是限定输出视频文件或流的参数集,包含但不限于视频格式、分辨率,帧率,平均码率,峰值码率、gop长度、b帧、参考帧数量中的至少一种。
52.本领域技术人员可以理解的是,本实施例同样可以适用实施例2中区域分割以及条带编码相关的特征,与实施例2相同实施的部分在此不再赘述。
53.实施例4
54.在实施例3的基础上,本发明实施例提供的视频编转码方法,在执行转码过程中,对于每帧,可以采取部分转码的方法。具体的,参照实施例2中对编码画面进行区域划分的方法。对第一类区域a不做任何处理,即既不解码也不编码,把对应条带的码流直接拷贝出来,这样这部分区域既保持了画质,也节省了编码运算资源。对于第二类区域b,需要单独解码出来,同时由于中间视频编码的特征,第二类区域b是可以单独解码的。然后根据转码参数集中的特效信息以及特效区域信息,完成特效处理,然后单独编码成一个或多个条带。当一帧编码完毕,把拷贝的第一类区域a的码流与新编码的第二类区域b的码流拼接成完整的一帧,并输出到视频文件或者流。
55.实施例5
56.参照图5,所示为本发明实施例的视频编转码方法的流程图,将输入根据转码参数集进行转码得到输出,输入为种子视频,转码参数集包含编码参数、特效区域信息和具体的特效信息,输出包括中间文件以及相应的参数集,最终视频文件或视频流。特效区域信息为特效添加的区域,特效信息以及特效区域信息可以因不同的帧而发生变化。特效信息包含叠加图文、走马灯字幕、以及转换效果等等。编码参数是限定输出视频文件或流的参数集,包含但不限于视频格式、分辨率,帧率,平均码率,峰值码率、gop长度、b帧、参考帧数量中的至少一种。每个种子视频具有一个种子视频id。
57.以上方法实现的视频编转码方法为一进二出的转码,无论中间编码文件,还是最终视频文件,其区域分割以及条带编码相关的特征与实施例2中完全一致,与实施例2相同实施的部分在此不再赘述。区别是中间输出文件没有包含特效,而最终视频文件包含了特效信息。此2个输出视频对应的第一类型区域a部分完全一样,可以共同编码一次,而仅仅需
要对第二类型区域b(特效区域)各自编码,可以节省计算资源。中间文件以及转码参数集保存起来可以供以后实时转码作为输入视频来使用。
58.实施例6
59.本发明实施例提供的视频编转码方法,每次视频入库时候,或者之后的某个时刻,系统可以将输入根据转码参数集进行转码得到输出,其中输入为种子视频,转码参数集包括编码参数以及特效区域信息,输出包括中间视频文件以及转码参数集。启动次数也可以多个,每次转码任务的输入为此入库文件,即种子视频,每次分别有不同的编码参数集以及特效区域等设置。每次转码的输出的中间文件以及参数集可以通过数据库手段等方式查询到。
60.本领域技术人员可以理解的是,本实施例同样可以适用实施例2中区域分割以及条带编码相关的特征,与实施例2相同实施的部分在此不再赘述。
61.实施例7
62.本发明实施例提供的视频编转码方法,每次实际需要启动实时转码任务时,转码系统被指定种子视频,转码参数集包含编码参数,以及特效信息、特效区域信息;先通过数据库等方式查询,之前是否有存在种子视频、编码参数、特效区域信息完全一致的中间视频文件,如果可以查询到完全匹配的,则将输入根据转码参数集进行转码得到输出,以查询到的中间文件做输入源,转码参数集保持不变,输出最终视频流或者文件;如果查询不到,则将输入根据转码参数集进行转码得到输出,以种子视频为输入,同时输出视频中间文件以及相应参数集、最终视频文件或流。
63.本领域技术人员可以理解的是,本实施例同样可以适用实施例2中区域分割以及条带编码相关的特征,与实施例2相同实施的部分在此不再赘述。
64.实施例8
65.本发明实施例提供的视频编转码方法,包括以下步骤:
66.种子视频入库的时候,先把种子视频存储于服务器,为该种子视频设置一个种子视频id;
67.后台在合适的时候启动第一类转码:将输入根据转码参数集进行转码得到输出,其中输入为种子视频,转码参数集包括编码参数以及特效区域信息,输出包括中间视频文件以及转码参数集。启动次数也可以多个,每次转码任务的输入为此入库文件,即种子视频,每次分别有不同的编码参数集以及特效区域等设置。每次转码的输出的中间文件以及参数集可以通过数据库手段等方式查询到。
68.每次实际需要启动实时转码任务的时候,启动第二类转码:将输入根据转码参数集进行转码得到输出,其中输入为中间视频文件,转码参数集包括编码参数、特效区域信息和具体的特效信息,输出包括最终视频输出文件或视频流。
69.本领域技术人员可以理解的是,本实施例同样可以适用实施例2中区域分割以及条带编码相关的特征,与实施例2相同实施的部分在此不再赘述。
70.实施例9
71.本发明实施例提供的视频编转码方法,包括以下步骤:
72.种子视频入库的时候,先把种子视频存储于服务器,为该种子视频设置一个种子视频id;
73.每次实际需要启动实时转码任务时,转码系统被指定种子视频,转码参数集包含编码参数,以及特效信息、特效区域信息;先通过数据库等方式查询,之前是否有存在种子视频、编码参数、特效区域信息完全一致的中间视频文件,如果可以查询到完全匹配的,则将输入根据转码参数集进行转码得到输出,以查询到的中间文件做输入源,转码参数集保持不变,输出最终视频流或者文件;如果查询不到,则将输入根据转码参数集进行转码得到输出,以种子视频为输入,同时输出视频中间文件以及相应参数集、最终视频文件或流。
74.本领域技术人员可以理解的是,本实施例同样可以适用实施例2中区域分割以及条带编码相关的特征,与实施例2相同实施的部分在此不再赘述。
75.本发明实施例提供的编转码方法,可以用于个性化视频彩铃系统。采用本发明实施例提供的技术方案,运营商或者用户可以高效的在视频彩铃的部分区域添加动态的走马灯等广告或者祝福信息。
76.也可以用于基于流化的视频点播系统,这类流化点播系统的特点是,播放终端只是一个标准的视频播放器,不具备任何图文叠加等特殊功能和接口。同时对码率等有比较严格的要求,业务层面也需要添加走马灯的字幕。这类系统可以用于酒店vod点播,ktv系统等。
77.应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1