一种多信源合成视频的动态编码方法和装置转让专利

申请号 : CN201610417361.5

文献号 : CN106101704A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈胜刘会彬

申请人 : 陈胜

摘要 :

一种多信源合成视频的动态编码方法和装置,涉及视频技术领域,解决现有多信源合成视频的信息冗余,压缩效率低的技术不足,包括有如下步骤:步骤S1:合成视频定义;步骤S2:获取各信息源,按预定义的画面尺寸、画面分区、每个分区对应的信息源,把每个分区信息源按压缩比转换至对应分区,根据预定义的信息源编码方式分别编码,并将第一帧和有视频切换指令的画面设为关键帧;步骤S3:若有视频画面切换指令,判断指令是否改变视频画面布局;如果是,转步骤S1;如果不是,判断指令对应的分区,执行该指令,并将该画面编码为关键帧;对多信源合成视频采用分区对象独立编码,使各信息源使用恰当的编码方法,极大提高视频压缩效率。

权利要求 :

1.一种多信源合成视频的动态编码方法,其特征在于所述方法包括有如下步骤:步骤S1:合成视频定义,包括画面尺寸、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令;

步骤S2:获取各信息源,按预定义的画面尺寸、画面分区、每个分区对应的信息源,把每个分区信息源按压缩比转换至对应分区,把每个分区内的视频内容,视为一个单独的视频编码对象,根据预定义的信息源编码方式分别编码,并将第一帧和有视频切换指令的画面设为关键帧;

步骤S3:若有视频画面切换指令,判断指令是否改变视频画面布局;如果是,转步骤S1;

如果不是,判断指令对应的分区,执行该指令,并将该画面编码为关键帧;若没有视频画面切换指令,转步骤S4;

步骤S4:获取下一个合成视频画面,继续对每个分区的视频源编码。

2.根据权利要求1所述的多信源合成视频的动态编码方法,其特征在于:所述方法还包括把PC显示画面编码为连续视频的方法,并将该方法应用于所述的PC显示信息源独立编码,实现方法如下:步骤T1:获取PC信源的内容和画面切换指令,如果只获取PC信源,转步骤T2,如果获取画面切换指令,转步骤T4;

步骤T2:判断PC信源包含的活动对象及每个对象所占画面区域大小;活动对象分为两类:正在播放音视频内容的动态视频对象和只显示文档的静态对象,对这两类活动对象所在的图像区域分别编码,具体如下:如果动态视频对象提供接口,能够获取GOP包,则对该动态视频对象的编码优选所获取的GOP包,分析并插入当前编码帧;如果不能获得动态视频对象的原始码流,则对所占区域进行图像采样;如果静态对象提供接口,可以通过对应接口,把当前的页面直接转换为一幅图像,无需采样计算;如果没有接口,则对所占区域进行图像采样,上述产生的图像为A;

对这两类对象之外的PC桌面剩余区域部分,执行一次图像采样,产生图像B,将图像A与图像B合并,产生静态图像C,将图像C插入当前编码帧;

步骤T3:继续获取PC信源的内容和画面切换指令,若没有画面切换指令,继续对步骤T2所述的活动对象编码,对于静态对象和PC桌面显示部分,无需预测、估计和计算,按残差为0的添加到当前帧;

步骤T4:如果接收到PC画面指令,则将当前帧设为关键帧,并返回步骤T2。

3.根据权利要求1所述的多信源合成视频的动态编码方法,其特征在于:所述的合成视频定义,画面尺寸是指合成之后视频的帧幅,可以预设为1920X1280、

1280X720或任一帧幅;

所述的画面分区和每个分区对应的信息源,是把合成之后视频的帧,划分为由若干个大的宏块,每个大的宏块,一一对应唯一的信息源;

所述的信息源,包括各类视频采集设备和PC显示输出;

所述的每个分区信息源压缩比,是指每个信息源原始信号的采集帧幅与预定义分区尺寸之间的比例,这个比例不等于1,需要根据这个压缩比,将原始采集信号转换成预定义分区的尺寸大小;

所述的信息源编码方式,是为每个信息源预设一种优选的编码方式,使每个分区作为独立的编码对象,分别编码;

所述的视频画面切换指令,包括合成画面的切换、分区内画面的变化;其中,合成画面的切换是指把合成视频画面转为任一形式,包括以下类型:不分区只显示1个信息源、2个分区显示2个信息源、3个分区显示3个信息源;

分区内画面的变化,是指通过声控、红外、无线等形式发出指令,改变其中一个分区内信息源的画面内容。

4.实现权利要求1至3任一项所述的多信源合成视频的动态编码方法的装置,其特征在于所述装置包括:定义模块,用于定义合成视频画面帧幅、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令;

信源获取模块,用于接入和获得各信息源的原始采集信号;

转换模块,用于把每个信息源采集的原始信号,按所述定义模块的对应分区尺寸进行转换;

控制模块,用于执行所述视频画面切换指令,包括合成画面的切换、分区内画面的变化;

重组模块,用于执行所述控制模块的合成画面的重新分区指令,并把每个分区与信息源对应;

编码模块,用于对每个分区对象执行所述定义模块指定的编码方法;

保存和传输模块,用于将所述编码模块产生的GOP,打包保存在本地存储设备或传送至指定的网络播放主机。

说明书 :

一种多信源合成视频的动态编码方法和装置

技术领域

[0001] 本发明涉及视频技术领域,尤其是一种多信源合成视频的编码方法和装置。
[0002]

背景技术

[0003] H.264/AVC和H.265/HEVC采用了相似的编码架构,都包含帧内预测、帧间预测、转换、量化、去区块滤波器、熵编码等模块。为支持4K以上超高清视频的压缩编码效率,H.265把H.264 中16×16 尺寸的宏块,扩大到64×64 尺寸的LCU 块,采用大尺寸四叉树分割结构和残差编码结构,以及编码单元(Coding Unit,CU)、预测单元(Predic tUnit,PU)和转换单元(Transform Unit,TU)三个基本单元执行整个编码过程。H.265帧内预测模式支持33种方向(H.264只支持8种),并提供了更好的运动补偿处理和矢量预测方法。经反复测试,在相同的图像质量下,H.265编码的视频体积可减少40%;在码率减少50%~70%的情况下,H.265编码视频的质量还能与H.264编码视频近似,但H.265需要付出4倍的运算量。
[0004] 在教育教学、企业培训中,常常需要把多个信息源合成一个视频画面,该视频画面按预定义的超大区块分别显示多个信息源。这意味着视频画面的各组成部分是可控的,而且每个组成部分的信息源各具特点。如果对合成的视频画面直接采用H.264/AVC或H.265/HEVC编码, 必然造成大量的信息冗余,消耗更多的视频传输带宽。采用基于对象的快速分形编码,一方面加大了计算量,另一方面,忽视了视频画面结构及变换的先验经验,依然不能大幅提高压缩效率。
[0005]

发明内容

[0006] 本发明的目的在于解决现有多信源合成视频的信息冗余,压缩效率低的技术不足,而提出一种多信源合成视频的编码方法和装置。
[0007] 为解决本发明所提出的技术问题,采用的技术方案为:一种多信源合成视频的动态编码方法,其特征在于所述方法包括有如下步骤:步骤S1:合成视频定义,包括画面尺寸、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令;
步骤S2:获取各信息源,按预定义的画面尺寸、画面分区、每个分区对应的信息源,把每个分区信息源按压缩比转换至对应分区,把每个分区内的视频内容,视为一个单独的视频编码对象,根据预定义的信息源编码方式分别编码,并将第一帧和有视频切换指令的画面设为关键帧;
步骤S3:若有视频画面切换指令,判断指令是否改变视频画面布局;如果是,转步骤S1;
如果不是,判断指令对应的分区,执行该指令,并将该画面编码为关键帧;若没有视频画面切换指令,转步骤S4;
步骤S4:获取下一个合成视频画面,继续对每个分区的视频源编码。
[0008] 所述方法还包括把PC显示画面编码为连续视频的方法,并将该方法应用于所述的PC显示信息源独立编码,实现方法如下:步骤T1:获取PC信源的内容和画面切换指令,如果只获取PC信源,转步骤T2,如果获取画面切换指令,转步骤T4;
步骤T2:判断PC信源包含的活动对象及每个对象所占画面区域大小;活动对象分为两类:正在播放音视频内容的动态视频对象和只显示文档的静态对象,对这两类活动对象所在的图像区域分别编码,具体如下:如果动态视频对象提供接口,能够获取GOP包,则对该活动对象的编码优选所获取的GOP包,分析并插入当前编码帧;如果不能获得活动对象的原始码流,则对所占区域进行图像采样;如果静态对象提供接口,可以通过对应接口,把当前的页面直接转换为一幅图像,无需采样计算;如果没有接口,则对所占区域进行图像采样,上述产生的图像为A;
对这两类对象之外的PC桌面剩余区域部分,执行一次图像采样,产生图像B,将图像A与图像B合并,产生静态图像C,将图像C插入当前编码帧;
步骤T3:继续获取PC信源的内容和画面切换指令,若没有画面切换指令,继续对步骤T2所述的活动对象编码,对于静态对象和PC桌面显示部分,无需预测、估计和计算,按残差为0的添加到当前帧;
步骤T4:如果接收到PC画面指令,将当前帧设为关键帧,并返回步骤T2。
[0009] 所述的合成视频定义,画面尺寸是指合成之后视频的帧幅,可以预设为1920X1280、1280X720等任一帧幅;
所述的画面分区和每个分区对应的信息源,是把合成之后视频的帧,划分为由若干个大的宏块,每个大的宏块,一一对应唯一的信息源;
所述的信息源,包括各类视频采集设备和PC显示输出;
所述的每个分区信息源压缩比,是指每个信息源原始信号的采集帧幅与预定义分区尺寸之间的比例,这个比例不等于1,需要根据这个压缩比,将原始采集信号转换成预定义分区的尺寸大小;
所述的信息源编码方式,是为每个信息源预设一种优选的编码方式,使每个分区作为独立的编码对象,分别编码;
所述的视频画面切换指令,包括合成画面的切换、分区内画面的变化;其中,合成画面的切换是指把合成视频画面转为任一形式,包括以下类型:不分区只显示1个信息源、2个分区显示2个信息源、3个分区显示3个信息源;
分区内画面的变化,是指通过声控、红外、无线等形式发出指令,改变其中一个分区内信息源的画面内容。
[0010] 实现所述的多信源合成视频的动态编码方法的装置,其特征在于所述装置包括:定义模块,用于定义合成视频画面帧幅、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令;
信源获取模块,用于接入和获得各信息源的原始采集信号;
转换模块,用于把每个信息源采集的原始信号,按所述定义模块的对应分区尺寸进行转换;
控制模块,用于执行所述视频画面切换指令,包括合成画面的切换、分区内画面的变化;
重组模块,用于执行所述控制模块的合成画面的重新分区指令,并把每个分区与信息源对应;
编码模块,用于对每个分区对象执行所述定义模块指定的编码方法;
保存和传输模块,用于将所述编码模块产生的GOP,打包保存在本地存储设备或传送至指定的网络播放主机。
[0011] 本发明的有益效果1)对多信源合成视频采用分区对象独立编码,使各信息源使用恰当的编码方法,极大提高视频压缩效率;
2)对PC信息源进行内容分析,动态对象和静态对象分别编码,尤其是对静态对象编码,不仅提高压缩性能,还可以大幅减少编码运算;
3)据反复测试,本发明提供的一种多信源合成视频的方法和装置,能够在画面质量相似的情况下,将合成视频的压缩效率提高50%以上。
[0012]

附图说明

[0013] 图1为本发明提供一种一种多信源合成视频的方法流程图图2为本发明提供一种把PC显示画面编码为连续视频的方法流程图
图3为本发明提供一种一种多信源合成视频的装置结构图
图4为本发明所述由2个视频源合成视频画面的实例示意图
图5为本发明所述由3个视频源合成视频画面的实例示意图
图6为为本发明所述一个信息源压缩比的实例示意图

具体实施方式

[0014] 以下结合本发明实施实例的附图,对本发明提供的一种多信源合成视频的动态编码方法和装置进一步描述。
[0015] 图1为本发明一种多信源合成视频的动态编码方法的流程图,包括:步骤S1:合成视频定义,定义的内容包括:
合成视频的画面尺寸、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令。
[0016] 合成视频定义,包括画面尺寸、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令;所述的合成视频定义,画面尺寸是指合成之后视频的帧幅,可以预设为1920X1280、
1280X720等任一帧幅。
[0017] 所述的画面分区和每个分区对应的信息源,是把合成之后视频的帧,划分为由若干个大的宏块,每个大的宏块,一一对应唯一的信息源。
[0018] 所述的信息源,包括各类视频采集设备和PC显示输出。
[0019] 所述的每个分区信息源压缩比,是指每个信息源原始信号的采集帧幅与预定义分区尺寸之间的比例,一般情况下,这个比例不等于1,需要根据这个压缩比,将原始采集信号转换成预定义分区的尺寸大小。
[0020] 所述的信息源编码方式,是为每个信息源预设一种优选的编码方式,使每个分区作为独立的编码对象,分别编码。
[0021] 所述的视频画面切换指令,包括合成画面的切换、分区内画面的变化。其中,合成画面的切换是指把合成视频画面转为任一形式,包括但不限于以下类型:不分区显示1个信息源、2个分区显示2个信息源、3个分区显示3个信息源等。
[0022] 分区内画面的变化,是指通过声控、红外、无线等形式发出指令,改变其中一个分区内信息源的画面内容。
[0023] 如图4所示,1920X1280的合成画面中包含一个640X480的画面分区。
[0024] 如图5所示,1280X720的合成画面中包含2个640X360的视频源和640X720的PC显示画面。
[0025] 如果原始信息源与对应分区的幅面不一致,则进行图像压缩,如图6所示,把1280X720的原始视频尺寸压缩为640X360幅面。所述的压缩会影响转换后的画面质量,应当采用滤波技术使画面平滑。
[0026] 信息源编码方式,包含H.264/AVC或H.265/HEVC编码框架下的方法和本发明所述的一种把PC显示画面编码为连续视频的方法。对PC显示信息源,采用后者,其他视频采集源,采用前者编码。
[0027] 视频画面切换指令,包括但不限于合成视频画面的重新分区指令、PC显示分区内活动对象的操作指令,如上下翻页、全屏、关闭等。
[0028] 步骤S2:获取各信息源视频,按定义的画面尺寸、画面分区、每个分区对应的信息源,把每个分区信息源按压缩比转换至对应分区,把每个分区内的视频内容,视为一个单独的视频编码对象,根据定义的信息源编码方式分别编码,并将第一帧和有视频切换指令的画面设为关键帧;步骤S3:若接收到视频画面切换指令,判断指令是否改变视频画面布局,如果是,转步骤11;如果不是,判断指令对应的分区,执行该指令,并将该画面编码为关键帧;若没有视频画面切换指令,转步骤S4;
步骤S4:获取下一个合成视频画面,继续对每个分区的视频源独立编码。
[0029] 还包括把PC显示画面编码为连续视频的方法,并将该方法应用于所述的PC显示信息源独立编码,实现方法如下:步骤T1:获取PC信源的内容和画面切换指令,如果只获取PC信源,转步骤T2,如果获取画面切换指令,转步骤T4;
步骤T2:判断PC信源包含的活动对象及每个对象所占画面区域大小;活动对象分为两类:正在播放音视频内容的动态视频对象和只显示文档的静态对象,对这两类活动对象所在的图像区域分别编码,具体如下:如果动态视频对象提供接口,能够获取GOP包,则对该活动对象的编码优选所获取的GOP包,分析并插入当前编码帧;如果不能获得活动对象的原始码流,则对所占区域进行图像采样;如果静态对象提供接口,如MS WORD、MS Powerpoint等常用编辑工具,可以通过COM接口,把当前的页面直接转换为一幅图像,无需采样计算;如果没有接口,则对所占区域进行图像采样,上述产生的图像为A;
对这两类对象之外的PC桌面剩余区域部分,执行一次图像采样,产生图像B,将图像A与图像B合并,产生静态图像C,将图像C插入当前编码帧;
步骤T3:继续获取PC信源的内容和画面切换指令,若没有画面切换指令,继续对步骤T2所述的活动对象编码,对于静态对象和PC桌面显示部分,无需预测、估计和计算,按残差为0的添加到当前帧;
步骤T4:如果接收到PC画面指令,则将当前帧设为关键帧,并返回步骤T2。
[0030] 图2为一种把PC显示画面编码为连续视频的方法流程图,上述步骤S2中,如果信息源中存在PC显示画面,则需要采用该方法,实施步骤如下:步骤21:获取PC信源的内容和画面切换指令,如果只获取PC信源,转步骤22,如果获取画面切换指令,转步骤24;
步骤22:判断PC信源包含的活动对象及每个对象所占画面区域大小。活动对象分为两类:正在播放音视频内容的动态对象和只显示文档的静态对象,对这两类活动对象所在的图像区域分别编码,具体如下:
如果活动对象提供接口,能够获取GOP包,则对该活动对象的编码优选所获取的GOP包,分析并插入当前编码帧。如果不能获得活动对象的原始码流,则对所占区域进行图像采样;
如果静态对象提供接口,如MS WORD、MS Powerpoint等常用编辑工具,可以通过COM接口,把当前的页面直接转换为一幅图像,无需采样计算;如果没有接口,则对所占区域进行图像采样,上述产生的图像为A;
对这两类对象之外的PC桌面剩余区域部分,执行一次图像采样,产生图像B,将A与B合并,产生静态图像C,将图像C插入当前编码帧;
步骤23:继续获取PC信源的内容和画面切换指令,若没有画面切换指令,继续对步骤22所述的活动对象编码,对于静态对象和PC桌面显示部分,无需预测、估计和计算,按残差为0的添加到当前帧;
步骤24:如果接收到PC画面指令,则将当前帧设为关键帧,并返回步骤T2。
[0031]图3是本发明提供一种一种多信源合成视频的装置结构图,如图所示:
定义模块,用于定义合成视频画面帧幅、画面分区、每个分区对应的信息源、每个分区信息源压缩比、信息源编码方式、视频画面切换指令;
信源获取模块,用于接入和获得各信息源的原始采集信号;
转换模块,用于把每个信息源采集的原始信号,按所述定义模块的对应分区尺寸进行转换;
控制模块,用于执行所述视频画面切换指令,包括合成画面的切换、分区内画面的变化;
重组模块,用于执行所述控制模块的合成画面的重新分区指令,并把每个分区与信息源对应;
编码模块,用于对每个分区对象执行所述定义模块指定的编码方法;
保存和传输模块,用于将所述编码模块产生的GOP,打包保存在本地存储设备或传送至指定的网络播放主机。