一种视频编码和解码的方法、装置和处理系统与流程

文档序号:11844825阅读:165来源:国知局
一种视频编码和解码的方法、装置和处理系统与流程

本发明涉及视频监控技术领域,尤其涉及一种视频编码和解码的方法、装置和处理系统。



背景技术:

数字视频压缩标准开始于20世纪80年,经过30多年的发展,现有的标准有ITU-T系列的H.261、H.263,ISO的MPEG-1、MPEG-4,以及两个组织共同制定的MPEG-2/H.262、H.264/AVC,HEVC(2013年最新发布)。还有其他组织的标准,比如国内的AVS、微软的VC-1、谷歌的VP8等。相同的是,这些标准都采用基于块的混合编码框架,融合预测编码、变换编码、以及熵编码3大编码技术,对图像的等分块进行编码。

预测编码是视频压缩的重要编码技术,根据预测数据来源不同,可以把编码图像分成I帧(帧内预测帧、Intra)、P帧(帧间预测帧、Prediction)、B帧(双向预测帧、Bi-Prediction)。如图1所示,I帧进行预测编码时,只采用本帧的数据进行预测,解码的时候可以独立解码,不依赖其他帧。P帧进行预测编码时,采用前面一帧已编码图像的重建图像作为参考,P帧解码的时候,必须等参考帧的图像解码完成才能解码。B帧进行预测编码时,可以同时采用前面帧和后面帧做参考,成为双向参考帧,B帧解码是需要前面参考帧和后面参考帧都解码成功后才能解码。P帧、B帧在编码时除了用其他帧做参考,也可以像I帧样用本帧数据做参考,选择两者最优情况就行。

在监控视频中,大部分采集的画面是固定的场景,画面上静止的区域多,称为背景;运动的部分少,称为前景(或目标),通常为运动物体。另一方面,随着技术的进步和处理器性能的提升,目标提取精度越来越高。为了进一步提高监控视频的压缩效率,可以将目标提取和视频编码进行结合,将需要编码的画面分成背景部分和目标部分,目标部分也称为前景部分。对于背景部分的编码,采用背景图像做参考,可以很大提高编码效率。图2是基于背景帧参考的编码参考关系,原来的I帧改为R帧(刷新帧),不再是全部采用帧内预测技术,可以参考背景帧进行帧间编码,而且只能参考背景帧。其他P帧、B帧参考关系不变,另外也可以参考背景帧编码。通常情况下G帧(背景帧)间隔很大,理论上只要场景没有大的变化,比如光线骤变、云台转换,都可以采用该背景帧进行编码。通过这样的思路,可以进一步提高视频的压缩效率。

在背景帧参考编码的方案中,背景帧(G帧)与其他帧不同的地方就是它可能并不是视频序列中本来存在的,可以通过背景生成技术或者挑选静止帧等方式产生。这样的背景帧在随机接入时,其实并不需要显示,而只要显示随机接入的R帧即可,但现有技术中,参与编码的图像帧,都是需要显示的,无法实现支持非显示图像的编码。



技术实现要素:

本发明的目的是提供一种视频编码和解码的方法、装置和处理系统,其通过为待编码视频序列生成背景帧,将待编码视频编码为图像帧和背景帧两条视频码流,为视频码流添加标识确认对应的图像在解码时是否需要显示,在码流层支持非显示帧编码,以支持背景图像参考,提高编码效率,并可在 显示时避免显示不必要显示的图像。

为实现上述目的,具体采用以下技术方案:

第一方面采用一种视频编码方法,包括:

为待编码视频序列生成背景帧;

对待编码视频序列的图像帧和背景帧进行编码各自生成视频码流;

在视频码流中插入各帧图像在解码时是否显示的标识。

其中,所述在视频码流中插入各帧图像在解码时是否显示的标识,具体为:

在视频码流的NAL单元的头信息中用2个比特标识该NAL单元对应的帧的类型,其中标识显示该帧为背景帧则解码时不予显示。

其中,所述对待编码视频序列的图像帧和背景帧进行编码各自生成视频码流,具体为:

将待编码视频序列的图像帧和背景帧分成对应条带进行编码各自生成视频流;

所述在视频码流中插入各帧图像在解码时是否显示的标识,具体为:

在条带头信息中增加语法元素或修改原有语法元素的语义以标识该条带在解码时是否显示。

其中,所述在视频码流中插入各帧图像在解码时是否显示的标识,具体为:

在背景帧对应的视频码流前端插入携带背景帧头信息的Picture Header。

其中,所述图像帧参考所述背景帧进行编码。

其中,增加的所述语法元素包括is_output,类型为u(1),当u(1)的赋值 为0时为不予显示,当u(1)的赋值为1时予以显示。

第二方面采用一种视频编码装置,包括:

背景帧生成单元,用于为待编码视频序列生成背景帧;

码流生成单元,用于对待编码视频序列的图像帧和背景帧进行编码各自生成视频码流;

标识插入单元,用于在视频码流中插入各帧图像在解码时是否显示的标识。

其中,所述标识插入单元,具体用于:

在视频码流的NAL单元的头信息中用2个比特标识该NAL单元对应的帧的类型,其中标识显示该帧为背景帧则解码时不予显示。

其中,所述码流生成单元,具体用于:

将待编码视频序列的图像帧和背景帧分成对应条带进行编码各自生成视频流;

所述标识插入单元,具体用于:

在条带头信息中增加语法元素或修改原有语法元素的语义以标识该条带在解码时是否显示。

其中,所述标识插入单元,具体为:

在背景帧对应的视频码流前端插入携带背景帧头信息的Picture Header。

其中,所述图像帧参考所述背景帧进行编码。

其中,增加的所述语法元素包括is_output,类型为u(1),当u(1)的赋值为0时为不予显示,当u(1)的赋值为1时予以显示。

第三方面采用一种视频解码方法,包括:

获取视频码流,所述视频码流由图像帧和背景帧编码而成,所述视频码流中插入有各帧图像在解码时是否显示的标识;

基于所述背景帧解码所述视频码流的图像帧;

基于所述标识显示相应帧的图像。

其中,所述标识设置于所述视频码流的NAL单元头信息、各帧对应条带的头信息或视频码流前端的Picture Header。

其中,所述背景帧对应的标识为不予显示,所述图像帧对应的标识为显示。

第四方面采用一种视频解码装置,包括:

视频码流获取单元,用于获取视频码流,所述视频码流由图像帧和背景帧编码而成,所述视频码流中插入有各帧图像在解码时是否显示的标识;

解码单元,用于基于所述背景帧解码所述视频码流的图像帧;

显示单元,用于基于所述标识显示相应帧的图像。

其中,所述标识设置于所述视频码流的NAL单元头信息、各帧对应条带的头信息或视频码流前端的Picture Header。

其中,所述背景帧对应的标识为不予显示,所述图像帧对应的标识为显示。

第五方面采用一种视频处理系统,包括上述任意一项所述的视频编码装置和上述任意一项所述的视频解码装置。

本发明的有益效果在于:通过为待编码视频序列生成背景帧,将待编码视频编码为图像帧和背景帧两条视频码流,为视频码流添加标识确认对应的图像在解码时是否需要显示,在码流层支持非显示帧编码,以支持背景图像 参考,提高编码效率,并可在显示时避免显示不必要显示的图像。

附图说明

图1是现有技术中基于块的混合编码中帧间参考关系的示意图;

图2是背景帧参考关系的示意图;

图3是本发明具体实施方式中提供的一种视频编码的方法的第一实施例的方法流程图;

图4是本发明具体实施方式中提供的一种视频编码的方法的第二实施例的方法流程图;

图5是本发明具体实施方式中提供的一种视频编码的方法的第二实施例中NAL头信息的结构示意图;

图6是本发明具体实施方式中提供的一种视频编码的装置的第一实施例的结构方框图;

图7是本发明具体实施方式中提供的一种视频解码的方法的第一实施例的方法流程图。

图8是本发明具体实施方式中提供的一种视频解码的装置的第一实施例的结构方框图。

图9是本发明具体实施方式中提供的一种视频处理系统的第一实施例的结构方框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

请参考图3,其是本发明具体实施方式中提供的一种视频编码的方法的第一实施例的方法流程图。本实施例中的方法,主要用于各种视频存储,特 别是视频图像中场景结构单一的监控视频的存储。如图所示,该方法,包括:

步骤S101:为待编码视频序列生成背景帧。

在视频编码的过程中,背景帧可以不存在于视频序列中,只是通过一定的技术手段从视频序列中生成出来的一种图像帧,并不在视频序列中独立存在,具体可以通过背景生成技术从视频序列中提取出背景帧;或者从视频序列中挑选静止帧作为背景帧。

步骤S102:对待编码视频序列的图像帧和背景帧进行编码各自生成视频码流。

对视频序列中的图像帧和背景帧分别进行编码,图像帧根据编码需要选择是否参考背景帧,同时背景帧也要进行编码,因为背景帧的每一帧都相同,所以背景帧的编码是比较容易。编码完成后各自生成视频码流。

步骤S103:在视频码流中插入各帧图像在解码时是否显示的标识。

按现有的技术方案,视频码流解码将会显示所有图像,但是在本方案中,针对图像帧的实际显示需求,对于其中无需显示的视频码流将会添加标识,用以说明对应的图像是否需要解码显示。

综上所述,通过为待编码视频序列生成背景帧,将待编码视频编码为图像帧和背景帧两条视频码流,为视频码流添加标识确认对应的图像在解码时是否需要显示,在码流层支持非显示帧编码,以支持背景图像参考,提高编码效率。

请参考图4,其是发明具体实施方式中提供的一种视频编码的方法的第二实施例的方法流程图,如图所示,该方法包括:

步骤S201:为待编码视频序列生成背景帧。

步骤S202:将待编码视频序列的图像帧和背景帧分成对应条带进行编码各自生成视频流。

H.264中将图像分成条带slice进行编码,每个slice包含Slice Header信息,也就是条带头信息,表1是条带头信息部分语法元素。

表1

步骤S203:在条带头信息中增加语法元素或修改原有语法元素的语义以标识该条带在解码时是否显示。

在这种方式中,可以在slice header中增加语法元素或者修改原有语法元素语义,以表达该slice是否需要显示,比如在if(IdrPicFlag)前增加is_ouput语法元素,类型为u(1),当u(1)的赋值为0时为不予显示,当u(1)的赋值为1时予以显示。

对于背景帧而言,其对应的图像是不需要显示的,所以背景帧对应的条带头信息中应添加不予显示的标识。

亦可根据编码方式,对应选择的合适操作的标识方式。例如,H.264和H.265中码流组织方式为NAL,每个NAL单元都包含一个NAL头信息。在H.264中,头信息为1个byte;在H.265中,头信息为2个byte。图5是H.264NAL头的组成部分,其中R为2个比特。这时,可以用R=11b表示G帧,R=10b表示R帧,R=01b表示其他P帧、B帧。这样,在解码时,如果遇到R=11b,则代表该帧图像为背景帧,不用显示。

在预测编码中,编码图像分为I帧、B帧和P帧;在本方案中,除了上述的三种帧类型,还有背景帧存在,并且本方案中对应I帧并不是绝对意义上的I帧,I帧可以为P帧提供参考,但是I帧并不能实现帧内预测,也就是不能独立解码,必须参考背景帧,为体现区别,本方案中将对应I帧的功能帧称为R帧,意为刷新帧。

在AVS1-P2标准中,图像编码前都有头信息,I帧前面有i_picture_header,如表2所示。

表2

P、B帧前面有pb_picture_header如表3所示。可以相应增加G帧头信息g_picture_header,如有必要,可以同时将i_picture_header改为r_picture_header。根据头信息记录的帧类型确认是否需要显示,如果是g_picture_header则需要显示,否则不需要显示。

其中,所述图像帧参考所述背景帧进行编码。

表3

综上所述,通过为待编码视频序列生成背景帧,将待编码视频编码为图像帧和背景帧两条视频码流,为视频码流添加标识确认对应的图像在解码时是否需要显示,在码流层支持非显示帧编码,以支持背景图像参考,提高编码效率。并且针对可能采用的编码方式,设计了对应的标识方式。

以下是本发明具体实施方式中提供的一种视频编码的装置的实施例,视频编码的装置的实施例基于上述的视频编码的方法的实施例实现,在视频编码的装置的实施例中未尽的阐述,请参考上述的视频编码的方法的实施例。

请参考图6,其是本发明具体实施方式中提供的一种视频编码的装置的第一实施例的结构方框图,如图所示,该装置,包括:

背景帧生成单元310,用于为待编码视频序列生成背景帧;

码流生成单元320,用于对待编码视频序列的图像帧和背景帧进行编码各自生成视频码流;

标识插入单元330,用于在视频码流中插入各帧图像在解码时是否显示的标识。

按现有的技术方案,视频码流解码将会显示所有图像,但是在本方案中,针对图像帧的实际显示需求,对于其中无需显示的视频码流将会添加标识,用以说明对应的图像是否需要解码显示。

优选地,所述标识插入单元330,具体用于:

在视频码流的NAL单元的头信息中用2个比特标识该NAL单元对应的帧的类型,其中标识显示该帧为背景帧则解码时不予显示。

另一种优选地实施方式,所述码流生成单元320,具体用于:

将待编码视频序列的图像帧和背景帧分成对应条带进行编码各自生成 视频流;

所述标识插入单元330,具体用于:

在条带头信息中增加语法元素或修改原有语法元素的语义以标识该条带在解码时是否显示。

进一步地,增加的所述语法元素包括is_output,类型为u(1),当u(1)的赋值为0时为不予显示,当u(1)的赋值为1时予以显示。

又一种优选地实施方式,所述标识插入单元330,具体为:

在背景帧对应的视频码流前端插入携带背景帧头信息的Picture Header。

其中,所述图像帧参考所述背景帧进行编码。

综上所述,上述各单元的协同工作,通过为待编码视频序列生成背景帧,将待编码视频编码为图像帧和背景帧两条视频码流,为视频码流添加标识确认对应的图像在解码时是否需要显示,在码流层支持非显示帧编码,以支持背景图像参考,提高编码效率。

以下是本发明具体实施方式中提供的一种视频解码的方法的实施例,视频解码的方法的实施例主要是针对前述视频编码的方法实施例中得到的视频码流进行解码。如图7所以,该方法包括:

步骤S401:获取视频码流,所述视频码流由图像帧和背景帧编码而成,所述视频码流中插入有各帧图像在解码时是否显示的标识。

步骤S402:基于所述背景帧解码所述视频码流的图像帧;

步骤S403:基于所述标识显示相应帧的图像。

在本方案中,因为背景帧对应的码流添加了标识,在解码时,不再是直接根据参考关系解码和显示所有的帧,而是根据标识选择性地显示需要显示 的图像,提高了显示效率。具体的解码过程在现有技术中多有阐述,在此不做进一步说明。

其中,所述标识设置于所述视频码流的NAL单元头信息、各帧对应条带的头信息或视频码流前端的Picture Header。

其中,所述背景帧对应的标识为不予显示,所述图像帧对应的标识为显示。

以下是本发明具体实施方式中提供的一种视频解码的装置的实施例,视频解码的装置的实施例基于上述的视频解码的方法的实施例实现,在视频解码的装置的实施例中未尽的阐述,请参考上述的视频解码的方法的实施例。

请参考图8,其是本发明具体实施方式中提供的一种视频解码的装置的实施例的结构方框图,如图所示,该装置,包括:

视频码流获取单元510,用于获取视频码流,所述视频码流由图像帧和背景帧编码而成,所述视频码流中插入有各帧图像在解码时是否显示的标识;

解码单元520,用于基于所述背景帧解码所述视频码流的图像帧;

显示单元530,用于基于所述标识显示相应帧的图像。

其中,所述标识设置于所述视频码流的NAL单元头信息、各帧对应条带的头信息或视频码流前端的Picture Header。

其中,所述背景帧对应的标识为不予显示,所述图像帧对应的标识为显示。

在本方案中,因为背景帧对应的码流添加了标识,在解码时,不再是直接根据参考关系解码和显示所有的帧,而是根据标识选择性地显示需要显示的图像,提高了显示效率。

本发明具体实施方式中最后提供了一种视频处理系统的实施例。如图9所示,该视频处理系统,包括视频编码装置30和视频解码装置50,其中,该视频编码装置30,包括:

背景帧生成单元310,用于为待编码视频序列生成背景帧;

码流生成单元320,用于对待编码视频序列的图像帧和背景帧进行编码各自生成视频码流;

标识插入单元330,用于在视频码流中插入各帧图像在解码时是否显示的标识。

该视频解码装置50,包括:

视频码流获取单元510,用于获取视频码流,所述视频码流由图像帧和背景帧编码而成,所述视频码流中插入有各帧图像在解码时是否显示的标识;

解码单元520,用于基于所述背景帧解码所述视频码流的图像帧;

显示单元530,用于基于所述标识显示相应帧的图像。

该视频处理系统,通过为待编码视频序列生成背景帧,将待编码视频编码为图像帧和背景帧两条视频码流,为视频码流添加标识确认对应的图像在解码时是否需要显示,在码流层支持非显示帧编码,以支持背景图像参考,提高编码效率。在解码时,不再是直接根据参考关系解码和显示所有的帧,而是根据标识选择性地显示需要显示的图像,提高了显示效率。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和 边界、或者这种范围和边界的等同形式内的全部变化和修改例。

尽管已经详细描述了本发明的实施方式,但是应该理解的是,在不偏离本发明的精神和范围的情况下,可以对本发明的实施方式做出各种改变、替换和变更。

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