一种对多路数据进行编码的方法和装置制造方法

文档序号:7774214阅读:226来源:国知局
一种对多路数据进行编码的方法和装置制造方法
【专利摘要】本发明实施例公开了一种对多路数据进行编码的方法和装置。其中,该方法包括:在第m个编码通道对第m路的第n个数据帧进行编码;在对第m路的第n个数据帧进行编码的同时,抓取第m+1路的第n个数据帧;其中,m=1、2…M,n=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。根据本发明实施例,可以节约图形处理器的资源,以及,提高编码过程的处理速度。
【专利说明】一种对多路数据进行编码的方法和装置
【技术领域】
[0001]本发明涉及视频监控领域,特别是涉及一种对多路数据进行编码的方法和装置。【背景技术】
[0002]近年来,随着数字技术和视频监控技术的飞速发展,尤其是网络和高清设备的大量普及,视频数据的处理已经收到越来越多的重视和关注。目前,对视频数据的处理主要是使用中央处理器,虽然近几十年来硬件技术的不断发展导致中央处理器的处理能力飞速上升,但是,由于视频数据的数据量非常巨大,因此,中央处理器对视频数据的处理速度还是远远不能满足现在高端视频监控的需求。基于这种情况,就需要使用在处理能力上具有突出表现的处理器来对监控视频数据进行处理,而图形处理器应运而生。事实证明,在浮点运算和并行运算等方面,图形处理器的处理能力比中央处理器高数十倍乃至上百倍。
[0003]在视频监控应用中,监控中心的用户通常在调阅视频时通常会调阅很多路的视频数据进行轮询和回放,从而实现全面的视频监控。因此,对于图形处理器来说,需要对多路视频数据进行处理。
[0004]在现有技术中,图形处理器通过多个编码通道对多路视频数据进行编码,其方法为:先由APP应用层同时抓取所有路的第I个视频数据帧(通常,也称为对所有路的第I个视频数据帧进行“抓包”或“抓帧”),然后在第I个编码通道对第I路的第I个视频数据帧进行编码,编码完毕后,在第2个编码通道对第2路的第I个视频数据帧进行编码,编码完毕后,在第3个编码通道对第3路的第I个视频数据帧进行编码,依次类推,直到在最后一个编码通道对最后一路的第一个视频数据帧的编码完毕为止。按照上述方式,同时抓取所有路的第2个视频数据帧并编码,依次类推,从而完成对所有路的视频数据的编码。
[0005]但是,在实现本发明的过程中,本发明的发明人发现现有技术中至少存在如下问题:多路视频数据帧需要排队等待编码,越往后的视频数据帧等待的时间越长,由于一路视频数据帧的数据量就非常大,而且,还存在多路视频数据帧,因此,等待编码的这些路视频数据帧会造成图形处理器资源的浪费。
[0006]另外,同时抓取所有路的视频数据帧也会严重影响处理器的处理速度,最终影响整个编码过程的处理速度。

【发明内容】

[0007]为了解决上述技术问题,本发明实施例提供了对多路数据进行编码的方法和装置,以节约图形处理器的资源,以及,提高编码过程的处理速度。
[0008]本发明实施例公开了如下技术方案:
[0009]一种对多路数据进行编码的方法,包括:
[0010]在第m个编码通道对第m路的第η个数据帧进行编码;
[0011]在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧;
[0012]其中,ι?=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。[0013]优选的,所述方法还包括: [0014]在完成对所有路的第η个数据帧的编码处理后,判断所述编码处理的消耗时间是否达到预设时间;
[0015]如果是,对所有路的第η+1个数据帧进行编码处理;
[0016]否则,等待直到所述预设时间到达后,再对所有路的第η+1个数据帧进行编码处理。
[0017]优选的,所述数据为高清摄像机所采集的高清监控视频数据。
[0018]优选的,当所述高清监控视频数据采用电视广播制式PAL时,所述预设时间为40毫秒。
[0019]优选的,编码后的数据中携带有压缩率、帧率和分辨率信息。
[0020]一种对多路数据进行编码的装置,包括:
[0021]编码单元,用于在第m个编码通道对第m路的第η个数据帧进行编码;
[0022]抓包单元,用于在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧;
[0023]其中,ι?=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。
[0024]优选的,所述装置还包括:
[0025]判断单元,用于在完成对所有路的第η个数据帧的编码处理后,判断所述编码处理的消耗时间是否达到预设时间;
[0026]第一编码触发单元,用于在所述编码处理的消耗时间达到预设时间时,触发所述编码单元和所述抓包单元对所有路的第η+1个数据帧进行编码处理;
[0027]第二编码触发单元,用于在所述编码处理的消耗时间没有达到预设时间时,等待直到所述预设时间到达后,再触发所述编码单元和所述抓包单元对所有路的第η+1个数据帧进行编码处理。
[0028]优选的,所述数据为高清摄像机所采集的高清监控视频数据。
[0029]优选的,当所述高清监控视频数据采用PAL时,所述预设时间为40毫秒。
[0030]优选的,编码后的数据中携带有压缩率、帧率和分辨率信息。
[0031]由上述实施例可以看出,与现有技术相比,本发明的优点在于:
[0032]对于每一个数据帧而言,其在抓包后很快就会进入编码,不会出现多路数据帧排队等待编码的问题,从而可以节约图形处理器的资源。另外,由于抓包操作不是一次性完成,而是拆分成多次抓包操作,每次抓包操作都与一次编码操作同时进行,从而明显地节省了抓包操作的时间,提高了图形处理器的处理速度。
【专利附图】

【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本发明实施例一揭示的一种对多路数据进行编码的方法的流程图;
[0035]图2为本发明中抓包和编码的操作示意图;[0036]图3为本发明实施例二揭示的一种对多路数据进行编码的方法的流程图;
[0037]图4为本发明实施例三揭示的一种对多路数据进行编码的装置的结构图;
[0038]图5为本发明实施例三揭示的另一种对多路数据进行编码的方法的流程图。
【具体实施方式】
[0039]本发明实施例提供了对多路数据进行编码的方法和装置。本发明的核心在于,在编码和抓包操作同时进行,即,在对一路的数据帧进行编码的同时,对下一路的数据帧进行抓包。对于每一个数据帧而言,其在抓包后很快就会进入编码,不会出现多路数据帧排队等待编码的问题,从而可以节约图形处理器的资源。另外,由于抓包操作不是一次性完成,而是拆分成多次抓包操作,每次抓包操作都与一次编码操作同时进行,从而明显地节省了抓包操作的时间,提高了图形处理器的处理速度。
[0040]本发明的技术方案可以应用于监控视频数据,特别是高清监控视频数据。当然,本发明技术方案不局限于应用到监控视频数据上,也可以应用到其它视频数据上,还可以应用到数据量较大的音频数据上。
[0041]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
[0042]实施例一
[0043]请参阅图1,其为本发明实施例一揭示的一种对多路数据进行编码的方法的流程图,该方法包括以下步骤:
[0044]步骤101:在第m个编码通道对第m路的第η个数据帧进行编码;
`[0045]步骤102:在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧。
[0046]其中,ι?=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。
[0047]例如,为了方便描述,假设图形处理器有3个编码通道,并支持对3路数据帧进行编码操作。先抓取第I路的第I个数据帧,然后在第I个编码通道对第I路的第I个数据帧进行编码,在编码的同时,还抓取第2路的第I个数据帧,待第I路的第I个数据帧编码完成后,开始对第2路的第I个数据帧进行编码,在编码的同时,还抓取第3路的第I个数据帧,待第2路的第I个数据帧编码完成后,开始对第3路的第I个数据帧进行编码。通过上述过程,完成对第1-3路中的第I个数据帧的编码,其操作如2所示。
[0048]按照相同的处理方式,完成对第1-3路中的第2个数据帧的编码,依此类推,完成对第1-3路中的所有数据帧的编码。
[0049]另外,在完成对第1-3路中的第I个数据帧的编码处理后,等待预设时间间隔,优选的,该预设时间间隔为40毫秒,然后再对第1-3路中的第2个数据帧进行编码处理。
[0050]一种优选的方式是,在上述技术方案中的数据为高清摄像机所采集的高清监控视频数据。
[0051 ] 编码后的数据中携带有压缩率、帧率和分辨率信息。
[0052]由上述实施例可以看出,与现有技术相比,本发明的优点在于:
[0053]对于每一个数据帧而言,其在抓包后很快就会进入编码,不会出现多路数据帧排队等待编码的问题,从而可以节约图形处理器的资源。另外,由于抓包操作不是一次性完成,而是拆分成多次抓包操作,每次抓包操作都与一次编码操作同时进行,从而明显地节省了抓包操作的时间,提高了图形处理器的处理速度。
[0054]实施例二
[0055]请参阅图2,其为本发明实施例二揭示的一种对多路数据进行编码的方法的流程图,该方法包括以下步骤:
[0056]步骤201:在第m个编码通道对第m路的第η个数据帧进行编码;
[0057]步骤202:在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧;
[0058]其中,ι?=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。
[0059]步骤203:在完成对所有路的第η个数据帧的编码处理后,判断所述编码处理的消耗时间是否达到预设时间,如果是,进入步骤204,否则,进入步骤205 ;
[0060]步骤204:对所有路的第η+1个数据帧进行编码处理,结束流程;
[0061]步骤205:等待直到所述预设时间到达后进入步骤204。
[0062]一种优选的方式是,在上述技术方案中的数据为高清摄像机所采集的高清监控视频数据。
[0063]当为高清监控视频数据时,根据PAL的每秒25帧数据标准,需要在40毫秒之内完成一帧图像的编码,即可能够保证实时视频的转码。因此,需要在40毫秒内完成对所有路的数据帧的一次编码。即,上述预设时间为40毫秒。
[0064]编码后的数据中携带有压缩率、帧率和分辨率信息。
[0065]由上述实施例可以看出,与现有技术相比,本发明的优点在于:
[0066]对于每一个数据帧而言,其在抓包后很快就会进入编码,不会出现多路数据帧排队等待编码的问题,从而可以节约图形处理器的资源。另外,由于抓包操作不是一次性完成,而是拆分成多次抓包操作,每次抓包操作都与一次编码操作同时进行,从而明显地节省了抓包操作的时间,提高了图形处理器的处理速度。
[0067]实施例三
[0068]与上述一种对多路数据进行编码的方法相对应,本发明实施例还提供了一种对多路数据进行编码的装置。请参阅图4,其为本发明实施例三揭示的一种对多路数据进行编码的装置的结构图,该装置包括:编码单元401和抓包单元402。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
[0069]编码单元401,用于在第m个编码通道对第m路的第η个数据帧进行编码;
[0070]抓包单元402,用于在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧;
[0071]其中,ι?=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。
[0072]优选的,如图5所示,上述装置还包括:
[0073]判断单元403,用于在完成对所有路的第η个数据帧的编码处理后,判断所述编码处理的消耗时间是否达到预设时间;
[0074]第一编码触发单元404,用于在所述编码处理的消耗时间达到预设时间时,触发所述编码单元401和所述抓包单元402对所有路的第η+1个数据帧进行编码处理;
[0075]第二编码触发单元405,用于在所述编码处理的消耗时间没有达到预设时间时,等待直到所述预设时间到达后,再触发所述编码单元401和所述抓包单元402对所有路的第η+1个数据帧进行编码处理。
[0076]优选的,所述数据为高清摄像机所采集的高清监控视频数据。
[0077]优选的,当所述高清监控视频数据采用PAL时,所述预设时间为40毫秒。
[0078]优选的,编码后的数据中携带有压缩率、帧率和分辨率信息。
[0079]由上述实施例可以看出,与现有技术相比,本发明的优点在于:
[0080]对于每一个数据帧而言,其在抓包后很快就会进入编码,不会出现多路数据帧排队等待编码的问题,从而可以节约图形处理器的资源。另外,由于抓包操作不是一次性完成,而是拆分成多次抓包操作,每次抓包操作都与一次编码操作同时进行,从而明显地节省了抓包操作的时间,提高了图形处理器的处理速度。
[0081]所述领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0082]在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述到的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0083]所述作为分离部件说明的单元可以是或者也可以是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0084]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,可以采用软件功能单元的形式实现。
[0085]需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
[0086]以上对本发明所提供的一种对多路数据进行编码的方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种对多路数据进行编码的方法,其特征在于,包括: 在第m个编码通道对第m路的第η个数据帧进行编码; 在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧; 其中,πι=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在完成对所有路的第η个数据帧的编码处理后,判断所述编码处理的消耗时间是否达到预设时间; 如果是,对所有路的第η+1个数据帧进行编码处理; 否则,等待直到所述预设时间到达后,再对所有路的第η+1个数据帧进行编码处理。
3.根据权利要求1或2所述的方法,其特征在于,所述数据为高清摄像机所采集的高清监控视频数据。
4.根据权利要求3所述的方法,其特征在于,当所述高清监控视频数据采用电视广播制式PAL时,所述预设时间为40毫秒。
5.根据权利要求1所述的方法,其特征在于,编码后的数据中携带有压缩率、帧率和分辨率信息。
6.一种对多路数据进行编码的装置,其特征在于,包括: 编码单元,用于在第m个编码通`道对第m路的第η个数据帧进行编码; 抓包单元,用于在对第m路的第η个数据帧进行编码的同时,抓取第m+1路的第η个数据帧; 其中,πι=1、2...Μ,η=1、2…N,M为编码通道总数,N为每路数据的数据帧总数。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 判断单元,用于在完成对所有路的第η个数据帧的编码处理后,判断所述编码处理的消耗时间是否达到预设时间; 第一编码触发单元,用于在所述编码处理的消耗时间达到预设时间时,触发所述编码单元和所述抓包单元对所有路的第η+1个数据帧进行编码处理; 第二编码触发单元,用于在所述编码处理的消耗时间没有达到预设时间时,等待直到所述预设时间到达后,再触发所述编码单元和所述抓包单元对所有路的第η+1个数据帧进行编码处理。
8.根据权利要求6或7所述的装置,其特征在于,所述数据为高清摄像机所采集的高清监控视频数据。
9.根据权利要求8所述的装置,其特征在于,当所述高清监控视频数据采用PAL时,所述预设时间为40毫秒。
10.根据权利要求6所述的装置,其特征在于,编码后的数据中携带有压缩率、帧率和分辨率信息。
【文档编号】H04N7/18GK103491376SQ201310500696
【公开日】2014年1月1日 申请日期:2013年10月22日 优先权日:2013年10月22日
【发明者】邓慕琼, 张涛, 曹险峰, 王统杰 申请人:中国农业银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1