一种视频处理方法及系统与流程

文档序号:12499465阅读:389来源:国知局
一种视频处理方法及系统与流程

本发明涉及视频处理领域,更具体地,涉及一种视频处理方法及系统。



背景技术:

IP视频是指通过网络来传输视频,近年来IP视频在视频监控被广泛应用,它相比传统的模拟视频来说具有部署方便、利于共享等优点,但是同样也存在延时比较大的缺点,这在视频监控领域里,轻微的延时影响并不大,但是IP视频技术应用到计算机控制领域中则对其的延时要求严格很多。

在计算机控制领域中有一种技术叫做网络KVM,它采用网络来传输计算机的输出图像和鼠标键盘等计算机控制指令,由于鼠标键盘的操作直接会导致计算机输出图像的变化,而使用者又需要依赖于图像显示内容来决定操作,因此一般需要控制计算机图像的延时在40毫秒以内。传统的视频处理过程一般包括信号采集、视频编码、视频传输、视频解码,最后到视频显示的过程,随着信号分辨率的日益变大,在相同的处理方法下,每个模块的处理时间都会相应增加,从而导致总的延时也相应增加。

现有技术中有一种解决方案是客户端获取待处理视频文件,将待处理视频文件拆分为若干个分片文件并压缩后上传至服务端,服务端接收并解压缩分片文件,存入分布式文件系统;从分布式文件系统中下载各分片文件进行压缩解码后存入分布式文件系统,从分布式文件系统中获取新的分片文件合并为一个完整的视频文件。此方案在客户端将视频文件由大文件拆分为小文件,分片并行上传,虽然可以提高传输效率,减少网络流量耗费,而在服务端将多个小文件并行解码压缩处理,减少处理时间,但是视频处理的过程不单单包括视频的传输和视频的解码,还包括了视频的采集和视频的显示等过程,每个处理过程都存在处理时间,每个过程都会产生延时,因此,此技术方案仍存在减少时延的空间。而且此技术方案将视频文件拆分后,到最后还需要增加一个合并的过程,将待处理视频文件的所有分片文件完成解码压缩处理后,生成一相应的合并任务放入合并队列中,视频合并处理服务器从合并队列取得任务,将所有新的分片文件合并为一个完整的视频文件后存入分布式文件系统中。此合并过程需要等待所有分片文件解码压缩处理后才进行,在一定程度上增加了视频处理时延。



技术实现要素:

本发明为克服上述现有技术所述的至少一种缺陷(不足),提供一种时延低的视频处理方法。

本发明还提供一种时延低的视频处理系统。

为解决上述技术问题,本发明的技术方案如下:

一种视频处理方法,包括:

对视频数据进行分块采集获得分块图像,然后将分块图像分别进行编码、传输、解码,将解码获得的分块图像按照分块图像在原始图像中的位置放到离屏缓存中。

本发明的方法对视频处理的采集、编码、传输、解码全过程均采用分块处理策略,将分块的策略延伸到视频数据的采集过程中,而且将解码后的图像数据按照分块图像在原始图像中的位置并行放入到离屏缓存中,使得在解码的过程中同时完成了分块图像的拼接操作,直接节省了分块图像的合并处理步骤,相对于现有技术中仅仅对视频数据的编码、传输、解码过程进行分块处理以及还需要合并处理步骤来说,本发明的方法将视频处理的总延时进一步降低了,实现了视频采集、编码、传输、解码过程中更低延时的处理,提高了视频处理实时性和用户体验。

一种视频处理系统,包括采集模块、编码模块、传输模块、解码模块;采集模块,用于对视频数据进行分块采集获得分块图像;

编码模块、传输模块分别用于对分块图像进行编码和传输;

解码模块,用于将分块图像进行解码并将解码获得的图像数据按照分块图像在原始图像中的位置放到离屏缓存中。

在本发明的系统中,采集模块、编码模块、解码模块中均采用分块处理策略,将分块的策略延伸到视频数据的采集过程中,而且解码模块将解码后的图像数据按照分块图像在原始图像中的位置并行放入到离屏缓存中,使得解码模块具备解码功能的同时还同时完成了分块图像的拼接功能,直接节省了分块图像解码后的合并处理模块,相对于现有技术中仅仅对视频数据的编码、传输、解码过程进行分块处理以及还需要合并处理模块来说,本发明的系统将视频处理的总延时进一步降低了,实现了视频采集、编码、传输、解码过程中更低延时的处理,提高了视频处理实时性和用户体验。

附图说明

图1为本发明一种视频处理方法具体实施例的流程图。

图2为本发明在1*2分块方式下的耗时分析图。

图3为发明一种视频处理系统具体实施例的架构图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

在本发明的描述中,需要理解的是,此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含所指示的技术特征的数量。由此,限定的“第一”、“第二”的特征可以明示或隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以是通过中间媒介间接连接,可以说两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明的具体含义。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,为本发明一种视频处理方法具体实施例的流程图。参见图1,本具体实施例一种视频处理方法具体包括如下步骤:

S101.对视频数据进行分块采集获得分块图像;

S102.将分块图像分别进行编码;

S103.将编码后的分块图像分别进行传输;

S104.接收分块图像并进行解码,将解码获得的分块图像按照分块图像在原始图像中的位置放到离屏缓存中。

在本具体实施例中,视频处理的分块策略延伸到视频数据的采集步骤中,在获取视频数据时,对视频数据进行分块采集获得分块图像,然后将分块图像分别进行编码后传输,在接收端接收分块图像并进行解码,解码后获得的分块图像按照分块图像在原始图像中的位置放到离屏缓存中,离屏缓存的存储过程直接完成分块图像的拼接,此方式在视频处理的全过程都采用分块处理方式,而且在解码过程中完成解码操作的同时还完成分块图像拼接的步骤,大大减少视频处理过程的时延,提高了视频数据的实时性,对于IP视频等对时延要求的应用领域,本具体实施例的方法更加适用。

在具体实施过程中,步骤S101的具体步骤包括:

从视频数据源中获取图像数据,获取时以预设单位对图像数据进行扫描获得预设单位大小的分块图像。

通常,预设单位为行像素或列像素,扫描时以图像的行或列为单位对图像进行扫描获得1*N或N*1大小的分块图像,N表示分块图像的大小。在一种优选的实施方式中,为了适应设备,对视频数据的采集是以图像的行作为单位进行扫描,分块的策略采用1*N的方式进行,即在水平方向上不分块,垂直方向上分块,N为分块的数量。

为了对分块图像进行标记,方便后续对分块图像进行拼接,步骤S101中对视频数据进行分块时为获得的每个分块图像记录帧编号和/或时间戳信息以及分块图像在原始图像中的坐标区域信息。

在步骤S102中,编码步骤直接对采集后的各分块图像进行编码,编码时每个分块图像是独立进行的,而且多个分块图像的编码时并行进行的,编码过程中使用采集时记录的帧编号和/或时间戳信息。

在步骤S103中,编码后的分块图像数据通过网络传输出去,如传输到接收端。传输时每个分块图像也是独立进行的,而且可以是并行进行的。

在步骤S104中,并行接收到各个分块图像后,并行进行解码并并行存放到离屏缓存中。解码时根据各个分块图像的帧编号和/或时间戳进行,存入离屏缓存时根据每个分块图像的帧编号和/或时间戳信息以及分块图像在原始图像中的坐标区域信息放到离屏缓存,分块图像在原始图像中的位置是根据每个分块图像在原始图像中的坐标区域信息得到的。在此步骤中,分块图像存入离屏缓存中时同时完成了分块图像的拼接和存放,节省了分块图像的合并过程。

在具体实施过程中,本具体实施例的方法还包括显示步骤:

S105.将离屏缓存中缓存的图像数据切换到到当前屏幕来显示。

传统视频处理方式中,视频数据不进行分块处理,全部视频数据统一进行采集、编码、传输和解码,用Tc、Te、Tt、Td分别表示采集、编码、传输、解码一幅图像的时间,那么传统视频处理方案处理一幅图像整个过程的延时至少为Tc+Te+Tt+Td。

而采用本发明的方案,如图2所示,则延时降成约(Tc+Te+Tt+Td)/N + (N-1) * max(Tc/N,Te/N,Tt/N,Td/N),其中max(Tc/N,Te/N,Tt/N,Td/N)表示取Tc/N、Te/N、Tt/N、Td/N中最大的一个值。

假设对图像进行1*2的分块来处理,为了简化说明,假设Tc、Te、Tt、Td的值相同,则一幅图像从采集到显示中间耗时为(Tc+Te+Tt+Td)+Td/2,会明显优于传统视频处理方案的Tc+Te+Tt+Td。

此外,如背景技术中所提及的现有技术一种解决方案,为了方便进行耗时计算,在此将其步骤简化为编码、传输、解码过程进行分块处理(从背景技术看,该视频处理过程还包括先后两次在分布式文件系统进行数据存储等其他步骤),其延时至少包括Tc、Te/N、Tt/N、Td/N,还应当包括图像合并处理的时间Th,因此其总的延时至少为Tc+Te/N+Tt/N+Td/N+Th,可见本发明的方法相对于该解决方案,在延时上仍有大幅度的降低。

实施例2

在实施例1的基础上,本发明还提供一种视频处理系统。如图3所示,为本发明一种视频处理系统的架构图。参见图2,本具体实施例一种视频处理系统具体包括采集模块201、编码模块202、传输模块203、解码模块204;

采集模块201,用于对视频数据进行分块采集获得分块图像;

编码模块202,用于将分块图像分别进行编码;

传输模块203,用于将编码好的分块图像进行传输;

解码模块204用于接收分块图像,将分块图像进行解码并将解码获得的图像数据按照分块图像在原始图像中的位置并放到离屏缓存中。

在本具体实施例中,视频处理的分块策略延伸到视频数据的采集模块201中,采集模块201在获取视频数据时,对视频数据进行分块采集获得分块图像,然后编码模块202和传输模块203将分块图像分别进行编码后传输,解码模块204在接收端接收分块图像并进行解码,解码后获得的分块图像按照分块图像在原始图像中的位置放到离屏缓存中,离屏缓存的存储过程直接完成分块图像的拼接,此方式在视频处理的全过程都采用分块处理方式,而且解码模块204在解码过程中完成解码操作的同时还完成分块图像的拼接,大大减少视频处理过程的时延,提高了视频数据的实时性,对于IP视频等对时延要求的应用领域,本具体实施例的方法更加适用。

在具体实施过程中,采集模块201具体用于:

从视频数据源中获取图像数据,获取时以图像行像素或列像素为单位对图像数据进行扫描获得1*N或N*1大小的分块图像,N表示图像中最大的列像素或者行像素。在一种优选的实施方式中,为了适应设备,采集模块201对视频数据的采集是以图像的行作为单位进行扫描,分块的策略采用1*N的方式进行,即在水平方向上不分块,垂直方向上分块。

为了对分块图像进行标记,方便后续对分块图像进行拼接,采集模块201对视频数据进行分块时为获得的每个分块图像记录帧编号和/或时间戳信息以及分块图像在原始图像中的坐标区域信息。

在编码模块202中,直接对采集后的各分块图像进行编码,编码时每个分块图像是独立进行的,而且多个分块图像的编码时并行进行的,编码过程中使用采集模块201记录的帧编号和/或时间戳信息。

在传输模块203中,将编码后的分块图像数据通过网络传输出去,如传输到接收端。传输时每个分块图像也是独立进行的,而且可以是并行进行的。

在解码模块204中,并行接收到各个分块图像后,并行进行解码并并行存放到离屏缓存中。解码时根据各个分块图像的帧编号和/或时间戳进行,存入离屏缓存时根据每个分块图像的帧编号和/或时间戳信息以及分块图像在原始图像中的坐标区域信息放到离屏缓存,分块图像在原始图像中的位置是根据每个分块图像在原始图像中的坐标区域信息得到的。在此模块中,分块图像存入离屏缓存中时同时完成了分块图像的拼接和存放,节省解码后的合并模块

在具体实施过程中,本具体实施例的系统还包括显示模块205,用于将离屏缓存中缓存的图像数据切换到到当前屏幕来显示。

传统视频处理系统中,视频数据不进行分块处理,全部视频数据统一进行采集、编码、传输和解码,用Tc、Te、Tt、Td分别表示采集模块、编码模块、传输模块、解码模块来处理一幅图像的时间,那么传统视频处理方案处理一幅图像整个过程的延时至少为Tc+Te+Tt+Td。

而采用本发明的方案,如图2所示,则延时降成约(Tc+Te+Tt+Td)/N + (N-1) * max(Tc/N,Te/N,Tt/N,Td/N),其中max(Tc/N,Te/N,Tt/N,Td/N)表示取Tc/N、Te/N、Tt/N、Td/N中最大的一个值。

假设对图像进行1*2的分块来处理,为了简化说明,假设Tc、Te、Tt、Td的值相同,则一幅图像从采集到显示中间耗时为(Tc+Te+Tt+Td)+Td/2,会明显优于传统视频处理方案的Tc+Te+Tt+Td。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1