视频数据流生成、处理方法及其设备转让专利

申请号 : CN200810035030.0

文献号 : CN101547351B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 武晓阳丁亚强林福辉

申请人 : 展讯通信(上海)有限公司

摘要 :

本发明涉及视频编码和处理领域,公开了一种视频数据流生成、处理方法及其设备,以解决目前ROI标记方式可扩展性差的问题。本发明中,通过将ROI属性信息的总长度加入到数据流分段单元,使得ROI的标记随着应用场合不同,可以有不同的具体定义方法,具有很大的灵活性。本发明还对一个数据流分段单元中的视频数据进行图象识别,将识别结果作为该数据流分段单元的ROI属性的组成部分,在对视频数据进行检索时可以直接对ROI属性进行识别,大大提高了视频检索的效率。

权利要求 :

1.一种视频数据流生成方法,其特征在于,包括以下步骤:生成与一个单元的视频数据相关的感兴趣区域属性信息;

计算所述感兴趣区域属性信息的总长度;

将所述总长度、所述感兴趣区域属性信息和所述视频数据写入数据流分段单元;

在生成与一个单元的视频数据相关的感兴趣区域属性信息的步骤中还包括以下子步骤:对所述一个单元的视频数据进行图象识别,将识别结果作为所述感兴趣区域属性信息的组成部分,供检索使用。

2.根据权利要求1所述的视频数据流生成方法,其特征在于,所述“对所述一个单元的视频数据进行图象识别,将识别结果作为所述感兴趣区域属性信息的组成部分,供检索使用”的步骤包括以下子步骤:从监控摄像头获取一个帧的原始视频数据,对帧中的视频数据进行图像识别,识别出监控区域是否有人,如果有人的话,则一方面将代表监控区域有人的标识写入该帧的感兴趣区域属性信息,另一方面将人脸区域作为一个感兴趣区域,进行相对高质量的视频编码。

3.根据权利要求1所述的视频数据流生成方法,其特征在于,所述感兴趣区域属性信息包括感兴趣区域属性的参数和必要的附加语法元素;

所述数据流分段单元可以是一个帧或一个场或一个层;

所述必要的附加语法元素包括填充比特和/或用于防止伪起始码的标记比特。

4.根据权利要求1所述的视频数据流生成方法,其特征在于,所述感兴趣区域属性信息包括用户定制的感兴趣区域属性及其参数。

5.一种视频数据流处理方法,其特征在于,包括以下步骤:从数据流分段单元中读取感兴趣区域属性信息的总长度;

根据所述总长度从所述数据流分段单元中读取感兴趣区域属性信息,该感兴趣区域属性信息中包括对该数据流分段单元的视频数据进行图象识别的识别结果;

如果所述感兴趣区域属性信息符合查找条件,则将该感兴趣区域属性信息对应的数据流分段单元加入查找结果集,其中该查找条件中包括针对数据流分段单元视频数据进行图象识别的识别结果的条件。

6.一种视频数据流生成设备,其特征在于,包括:

属性生成单元,用于生成与一个单元的视频数据相关的感兴趣区域属性信息;

计算单元,用于计算所述属性生成单元所生成的感兴趣区域属性信息的总长度;

写入单元,用于将所述计算单元得到的总长度、所述属性生成单元所生成的感兴趣区域属性信息和所述视频数据写入数据流分段单元;

还包括图象识别单元,用于对所述一个单元的视频数据进行图象识别;所述属性生成单元还用于将所述图象识别单元的识别结果作为感兴趣区域属性信息的一部分,生成所述感兴趣区域属性信息。

7.一种视频数据流处理设备,其特征在于,包括:

长度读取单元,用于从数据流分段单元中读取感兴趣区域属性信息的总长度;

属性读取单元,用于根据所述总长度从所述数据流分段单元中读取感兴趣区域属性信息,该感兴趣区域属性信息中包括对该数据流分段单元的视频数据进行图象识别的识别结果;

查找单元,用于判断所述属性读取单元所读取的感兴趣区域属性信息是否符合查找条件,如果符合,则将该感兴趣区域属性信息对应的数据流分段单元加入查找结果集;其中该查找条件中包括针对数据流分段单元视频数据进行图象识别的识别结果的条件。

说明书 :

视频数据流生成、处理方法及其设备

技术领域

[0001] 本发明涉及视频编码和处理领域,特别涉及基于区域的视频编码和处理技术。

背景技术

[0002] 随着数字视频的拍摄及处理设备不断降价,数字视频技术已成为日常生活的一部分。数字视频不但可以供人娱乐,在生产和安全领域也有重要的应用。例如在生活小区、办公楼、商场和马路上常有视频监控系统,这些视频监控系统是不知疲倦的观察员,可以取代安保人员执行24小时的监控。视频监控过程中会产生大量的视频数据,这些视频数据通常以压缩方式进行编码和保存。压缩时可以采用不同的压缩率,如果压缩率高,则压缩后的视频数据占用较少的存贮空间,但视频图像的质量较差;如果压缩率低,则压缩后的视频数据占用较多的存贮空间,但视频图像的质量较好。
[0003] 为了在所占用的存贮空间和视频图像质量之间达到较好的平衡,技术人员提出了基于区域的视频编码和处理方式,简单地说是将视频图像的一部分区域设定成感兴趣区域(Region Of Interest,简称“ROI”),对ROI进行压缩率较低的高质量编码,而对其它区域进行压缩率较高的低质量编码。
[0004] 这种基于区域的视频编码和处理方式在特殊的应用场合有着重要的意义,比如在视频监控中,有人或者车辆活动的图象部分是关键区域,而其它图象部分都是背景区域,关键区域的内容是监控人员感兴趣的,而背景区域往往可以被忽略。此时可以将有人或者车辆活动的图象部分设置成ROI,对这部分区域采用高质量的编码方式,保留更多的细节。
[0005] ROI可以由用户手工设定,也可以根据图像内容自动生成,例如识别出人脸后自动将该区域定义成ROI。
[0006] 为了使系统能根据ROI进行针对性地处理,其基础是能对ROI进行有效地标记。对感兴趣区域的标记就是规定一系列ROI属性,对于每个属性定义相应参数。这些ROI属性参数将包含在视频码流中,与视频数据一起传输或者存储。这些参数的存在,使得监控的效果更加凸现,它为视频编解码上层提供了接口,使监控系统有着更丰富的功能。
[0007] 目前业界的规范中,对于ROI的标记是“硬性”方法,也就是说对一个ROI有哪一些属性,每个属性有多少参数,每个参数有多少比特都是固定的。这样做的好处是可以用固定的数据结构读取ROI属性,处理起来比较简单。
[0008] 这种“硬性”的ROI标记方法的主要问题是缺乏扩展性。在一些应用场合,可能需要ROI具有更多的属性及参数,但是目前的规范不能支持;在另一些场合,可能并不需要定义这么多参数,造成不必的比特浪费。

发明内容

[0009] 本发明的目的在于提供一种视频数据流生成、处理方法及其设备,以解决目前ROI标记方式可扩展性差的问题。
[0010] 为解决上述技术问题,本发明的实施方式提供了一种视频数据流生成方法,包括以下步骤:
[0011] 生成与一个单元的视频数据相关的感兴趣区域属性信息;
[0012] 计算感兴趣区域属性信息的总长度;
[0013] 将总长度、感兴趣区域属性信息和视频数据写入数据流分段单元。
[0014] 本发明的实施方式还提供了一种视频数据流处理方法,包括以下步骤:
[0015] 从数据流分段单元中读取感兴趣区域属性信息的总长度;
[0016] 根据总长度从数据流分段单元中读取感兴趣区域属性信息。
[0017] 本发明的实施方式还提供了一种视频数据流生成设备,包括:
[0018] 属性生成单元,用于生成与一个单元的视频数据相关的感兴趣区域属性信息;
[0019] 计算单元,用于计算属性生成单元所生成的感兴趣区域属性信息的总长度;
[0020] 写入单元,用于将计算单元得到的总长度、属性生成单元所生成的感兴趣区域属性信息和视频数据写入数据流分段单元。
[0021] 本发明的实施方式还提供了一种视频数据流处理设备,包括:
[0022] 长度读取单元,用于从数据流分段单元中读取感兴趣区域属性信息的总长度;
[0023] 属性读取单元,用于根据总长度从数据流分段单元中读取感兴趣区域属性信息。
[0024] 本发明的实施方式还提供了一种属性可扩展的感兴趣区域标记方法,对于存在感兴趣区域标记的数据流分段单元,该数据流分段单元中存在语法元素以表示在该数据流分段单元中用于记录感兴趣区域所有属性的参数和必要的附加语法元素的总长度。
[0025] 本发明实施方式与现有技术相比,主要区别及其效果在于:
[0026] 通过将ROI属性信息的总长度加入到数据流分段单元,使得ROI的标记随着应用场合不同,可以有不同的具体定义方法,具有很大的灵活性。
[0027] 进一步地,本发明对一个数据流分段单元中的视频数据进行图象识别,将识别结果作为该数据流分段单元的ROI属性的组成部分,在对视频数据进行检索时可以直接对ROI属性进行识别,不再需要对每一个数据流分段单元中的视频数据分别进行图象识别,大大提高了视频检索的效率。识别结果可以是车辆型号、人数等信息,也可以是一个事件,例如发生了撞车事件。
[0028] 进一步地,ROI属性信息中还可以包括必要的附加语法元素以使扩展后的ROI属性信息在语法上与现有技术兼容,例如填充比特可以使ROI属性信息实现字节对齐、标记比特可以防止ROI属性信息中出现伪起始码。

附图说明

[0029] 图1是本发明第一实施方式中的视频数据流生成流程示意图;
[0030] 图2是本发明第三实施方式中的视频数据流处理流程示意图;
[0031] 图3是本发明第四实施方式中的视频数据流处理流程示意图。

具体实施方式

[0032] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
[0033] 本发明的第一实施方式涉及一种视频数据流生成方法,其流程如图1所示。
[0034] 在步骤110中,生成与一个单元的视频数据相关的ROI属性信息。
[0035] 本发明实施方式中所称的ROI属性信息包括ROI属性的参数和必要的附加语法元素。必要的附加语法元素包括填充比特、标记比特等。其中填充比特的用处是保证ROI属性信息是字节对齐的,以方便应用层对ROI属性信息进行处理,而标记比特的作用是防止伪起始码出现。这些必要的附加语法元素目的在于使得记录感兴趣区域所有属性的参数的数据流满足相应规范的要求或者应用要求。在记录感兴趣区域所有属性的参数的数据流已经达到要求的情况下,并不需要必要的附加语法元素。例如,如果ROI属性信息已经是字节对齐的,就不需要填充比特了,如果ROI属性信息中没有出现伪起始码,则不需要标记比特了。
[0036] ROI属性信息中可以包含一个或多个ROI,每个ROI中又可以包含一个或多个参数。
[0037] 本发明的实施方式中,一个单元的视频数据是指将会封装在一个数据流分段单元中的视频单元,数据流分段单元是一个逻辑单元,在不同的场合可以有不同的定义,例如可以是一个帧或一个场或一个层等等。帧、场、层都是现有技术中的术语,其概念可以参考相关的公开文献,本发明实施方式中不详细解释了。
[0038] ROI属性信息包括ROI的固有属性和ROI的定制属性。在视频编解码中,ROI是视频图像中的一部分,只不过相对于图像其它部分而言,ROI中的内容有着更重要的意义,ROI是用户感兴趣的区域,用户需要对ROI赋予不同的属性。这样,标记ROI的属性便分成两个方面:第一,ROI的固有属性;第二,ROI的定制属性,即用户定制的ROI属性。ROI的固有属性是ROI存在状态描述的属性,包括图像中ROI的数目、ROI的形状、ROI的大小、ROI的位置、ROI的基本单位(例如基本单位为宏块或者象素)等等;ROI的定制属性就难成一家之言,不同的应用环境可能需要定制不同的属性,比如说,交通监控需要知道监控区域发生的事件、车辆型号、车辆颜色等;柜台监控需要知道监控区域是否有人、人的数目、人的性别等等。
[0039] 本发明的实施方式中,对数据流分段单元中的ROI属性信息可以是即有固有属性又有定制属性,也可以是只有定制属性,还可以是只有固有属性。
[0040] 此后进入步骤120,计算ROI属性信息的总长度。总长度通常是以字节(Byte)计算的,不过在特定应用场合也可以以比特(Bit)或字(Word)等单位进行计算。
[0041] 此后进入步骤130,将总长度、ROI属性信息和视频数据写入数据流分段单元。
[0042] 一种典型的做法先写一个表示ROI开始的起始码,然后先后写入总长度和ROI属性信息。这样做的好处是总长度和ROI属性信息在数据流分段单元中是连续存放的,读取的时候比较方便。
[0043] 当然总长度和ROI属性信息也可以不连续存放,例如总长度可以写在一个帧的帧头里,而ROI属性信息可以写在帧的最后。
[0044] 只要能将总长度、ROI属性信息和视频数据都写入数据流分段单元就可以了,这三者的相对顺序并不是太重要。
[0045] 除了总长度、ROI属性信息和视频数据之外,数据流分段单元中也可以写入其它的内容,这些内容根据不同的协议、不同的应用场景会有不同。
[0046] 通过将ROI属性信息的总长度加入到数据流分段单元,使得ROI的标记随着应用场合不同,可以有不同的具体定义方法,具有很大的灵活性。
[0047] 本发明的第二实施方式在第一实施方式的基础上进行了改进。主要的改进是在步骤110,即在生成ROI属性信息的步骤中,增加了对图象的识别操作。下面以数据流分段单元是一个帧为例进行说明。
[0048] 具体地说,在生成ROI属性信息时,可以先对一个帧的视频数据进行图象识别,将识别结果和通过其它方式得到的ROI属性信息合在一起作为需要写入到帧中ROI属性信息。通过其它方式得到的ROI属性信息可以是ROI的固有属性、用户手工定义的ROI定制属性等等。在一些特定的应用场合,ROI属性信息中也可以只有识别结果而没有其它方式得到的ROI属性信息。
[0049] 以交通监控为例,从监控摄像头获取一个帧的原始视频数据,对帧中的视频数据进行图像识别,判断是否有撞车事件发生,如果有则在该帧的ROI属性信息中加入表示有撞车事件发生的事件标识。这样以后只要查找ROI属性信息就可以快速找到有撞车事件发生的相关视频画面,不再需要在查找时对视频流进行逐帧的分析。
[0050] 以柜台监控为例,从监控摄像头获取一个帧的原始视频数据,对帧中的视频数据进行图像识别,识别出监控区域是否有人,如果有人的话,则一方面将代表监控区域有人的标识写入该帧的ROI属性信息,另一方面将人脸区域作为一个ROI,进行相对高质量的视频编码。在将来检索时,系统可以快速跳过没有人的视频段,在看到有人进入监控区域的画面时,可以较为容易地对人进行识别。
[0051] 本发明的第三实施方式涉及一种视频数据流处理方法,其流程图如图2所示。
[0052] 在步骤210中,从数据流中获取一个数据流分段单元,放到缓存中。数据流分段单元可以一是个帧、一个场或一个层等等。
[0053] 此后进入步骤220,从数据流分段单元中读取ROI属性信息的总长度。
[0054] 此后进入步骤230,根据总长度从数据流分段单元中读取ROI属性信息。
[0055] 在一个典型的例子中,总长度和ROI属性信息是在数据流分段单元中依次存贮的,并以一个特定的起始码指示总长度和ROI属性信息的开始。在步骤220中,如果读到那个特定的起始码,就可以接着读取总长度L(总长度作为一个字段,其本身的字节数是固定的),再接着读取总长度之后的L个字节,就是该数据流分段单元的ROI属性信息了。
[0056] 此后进入步骤240,对所读取的ROI属性信息进行语法处理。
[0057] 通常的语法处理包括去除防止伪起始码出现的标记比特,以预先定义好的数据结构将ROI属性信息中各个ROI及其参数解析出来,丢弃填充比特等等。
[0058] 本发明的第四实施方式也涉及一种视频数据流处理方法,具体地说是一种视频检索的方法,其中应用到了第三实施方式中的技术方案。第四实施方式的基本流程如图3所示。
[0059] 步骤310-340分别与第三实施方式中的步骤210-240相同,这里不再赘述。
[0060] 在步骤340之后进入步骤350,判断读取到的ROI属性信息是否符合查找条件。查找条件是用户自定义的,例如找出是否发生了撞车事件、是否有人进入监控区、是否有2人以上同时出现在监控区等等。
[0061] 如果ROI属性信息符合查找条件,则进入步骤360,否则进入步骤370。
[0062] 在步骤360中,因为当前数据流分段单元的ROI属性信息符合查找条件,所以将该数据流分段单元的标识加入到查找结果集,此后进入步骤370。
[0063] 在步骤370中,判断是否满足结束查找的条件,如果是则结束本流程,否则回到步骤310对下一个数据流分段单元进行处理。查找条件也是用户自定义的,可以是在找到第一符合查找条件后结束、在完成对数据流中所有数据流分段单元的查找后结束等等。
[0064] 本发明的第五实施方式涉及一种视频数据流生成设备,包括
[0065] 属性生成单元,用于生成与一个单元的视频数据相关的ROI属性信息;
[0066] 计算单元,用于计算属性生成单元所生成的ROI属性信息的总长度;
[0067] 写入单元,用于将计算单元得到的总长度、属性生成单元所生成的ROI属性信息和视频数据写入数据流分段单元。
[0068] 本实施方式所涉及的设备可以用于完成第一实施方式中提到的方法流程。因此在第一实施方式中提到的所有技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
[0069] 本发明的第六实施方式也涉及一种视频数据流生成设备,第六实施方式在第五实施方式的基础上进行了改进了,增加了图象识别单元,用于对一个单元的视频数据进行图象识别;
[0070] 属性生成单元还用于将图象识别单元的识别结果作为ROI属性信息的一部分,生成ROI属性信息。
[0071] 本实施方式所涉及的设备可以用于完成第二实施方式中提到的方法流程。因此在第二实施方式中提到的所有技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
[0072] 本发明的第七实施方式涉及一种视频数据处理设备,包括:
[0073] 长度读取单元,用于从数据流分段单元中读取ROI属性信息的总长度;
[0074] 属性读取单元,用于根据总长度从数据流分段单元中读取ROI属性信息。
[0075] 本实施方式所涉及的设备可以用于完成第三实施方式中提到的方法流程。因此在第三实施方式中提到的所有技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
[0076] 本发明的第八实施方式涉及一种视频数据流处理设备,在第七实施方式的基础上增加了视频查找的功能,具体地说是增加了查找单元,用于判断属性读取单元所读取的ROI属性信息是否符合查找条件,如果符合,则将该ROI属性信息对应的数据流分段单元加入查找结果集。
[0077] 本实施方式所涉及的设备可以用于完成第四实施方式中提到的方法流程。因此在第四实施方式中提到的所有技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
[0078] 需要说明的是,本发明设备实施方式(第五至第八实施方式)中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合是才解决本发明所提出的技术问题的关键。例如,第五实施方式中的写入单元除了可以写入总长度、ROI属性信息和视频数据之外还可以写入其它的信息;又如,第六实施方式中的图象识别单元与计算单元在物理上可以用同一个数字信号处理器(Digital Signal Processor,简称“DSP”)实现,等等。
[0079] 此外,为了突出本发明的创新部分,本发明上述设备实施方式(第五至第八实施方式)并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。例如,第七实施方式的视频数据处理设备还可以有缓存单元用于对处理中的数据进行缓存等等;第八实施方式的视频数据处理设备还可以有显示屏用于向用户显示查找结果等等。
[0080] 本发明的第九实施方式涉及一种属性可扩展的ROI标记方法,对于存在ROI标记的数据流分段单元,该数据流分段单元中存在语法元素以表示在该数据流分段单元中用于记录ROI所有属性的参数和必要的附加语法元素的总长度。
[0081] 在视频监控系统中,ROI区域能够让监控效果更加凸现,但ROI跟视频编解码之间的关系并不那么直接。比如在AVS当前编解码框架,就编码器来说,ROI的作用在于告诉编码器该图像帧有多少ROI,每个ROI在什么位置,每个ROI中包含什么事件,每个ROI重要性如何等等信息;编码器根据这些信息的提示,选择合适的编码策略进行编码,比如对ROI区域选择小QP量化(小QP量化就是高质量的量化,在不同的协议中会有不同的表达方式,例如可以称为小量化步长)。就解码器来说,ROI只是码流中一串语法元素,解码器不需要知道有几个ROI,什么地方有ROI,ROI事件是什么,也不需要知道ROI的其它属性,它只需要根据编码器“传输”的策略进行对应的解码就行。
[0082] 将ROI标记放在视频层中,并频繁存在视频码流中,其原因在于它的存在能够为上层提供更丰富的应用。在只有视频流的情况下(比如监控录像存储的序列),应用程序可以根据ROI语法元素对监控码流进行检索、事件判断、重要性判断等等有效处理,甚至是一些后续处理(比如对ROI区域进行增强之类)。
[0083] ROI的标记,也就是ROI属性参数的规定是ROI应用的基础。不同的应用环境对ROI的表示的要求不一样,有些只需要简略的ROI标记,比如ROI个数和位置;有些需要比较详细的ROI标记,比如要知道ROI中发生的事情等。这样需要对ROI的标记采用一种可扩展的方法。
[0084] 在视频中,ROI一般是与图象帧相关联的,如果该图像帧存在ROI区域,需要在该图象帧的数据流中存在ROI标记,包含ROI个数,位置,大小等等属性参数。ROI的标记可以放在图像头picture header中,也可以放在扩展数据extension data中,也可以放在帧级单位的其它地方。以放在扩展数据中为例,可以如下定义ROI的标记:
[0085] roi_parameters_extension(){
[0086] extension_id
[0087] roi_para_len
[0088] //roi属性参数列表
[0089] //可能存在的marker_bit
[0090] stuffing_bits
[0091] next_start_code()
[0092] }
[0093] 其中extensio_id是扩展数据的标号,不属于ROI属性参数部分;roi_para_len就是表示该帧ROI所有属性参数长度的语法元素;随后会记录ROI属性参数,属性包括ROI个数、位置、大小等固有属性,也包括定制属性,比如ROI事件类型等;并在可能出现伪起始码的地方插入marker_bit(标记比特);stuffing_bits是填充比特,目的是保证roi_parameters_extension数据是字节对齐的。marker_bit和stuffing_bits就是必要的附加语法元素,marker_bit防止伪起始码出现,stuffing_bits可以方便应用层对ROI属性参数进行处理。在这种情况下,roi_para_len的值是指roi属性参数表示数据、marker_bit以及stuffing_bits的总长度。
[0094] 本发明的方法实施方式可以以软件、硬件、固件等等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可是换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digtal Versatile Disc,简称“DVD”)等等。
[0095] 虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。