视频编解码方法、装置
技术领域
本发明的实施方式涉及视频编解码的技术领域,具体而言,涉及视频编解码的方法、装置和计算机程序产品。
背景技术
现代视频编解码技术都使用基于块的预测和量化的块变换。一般把当前编码帧划分成互不重合的编码单元,这个编码单元可以是AVC/H.264(运动图像专家组高级视频编码MPEG-4AVC)或AVS1(国内视频编码标准第1版)中的宏块(MB,macro block),也可以是HEVC/H.265(High Efficiency Video Coding;高效率视频编解码)或AVS2(国内视频编码标准第2版)中的编码单元(CU,coding unit)。编码单元还可以进一步作子划分为编码子单元。利用基于块的预测,重建的像素块(或者区域)可以用来预测其他像素块。
应用于监控行业的视频压缩算法需要在有限的带宽下尽可能减少压缩损失,保证编码质量。针对此类应用的编码方案存在如下不足。
一方面,真实监控中图像传感器带常来了大量的噪声。噪点越多、越明显,对相应图像区域进行编码需要的码字就越多,在整体码率受限的情况下,需要提高视频整体压缩率,必然损失更多图像中的真实物体中信息。因此,在较大视频噪声(比如,摄像机噪声)影响下,需要减弱噪声对视频压缩的影响。当前,前置滤波技术试图通过提升信源信噪比的方法来提升编码质量,它应用广泛但却存在一些问题,例如,2D降噪通过消除图像中的高频分量对当前帧进行噪声滤除,但却同时滤除了图像中物体的轮廓边缘信息。3D降噪技术在2D降噪的基础上,通过参考视频序列中的有限帧然后进行高频滤波,但由于参考帧数有限导致判断不准确,同时运算复杂度也较高。这些问题都亟待解决。
另一方面,监控场景多以视角不变的情形为主,单个运动对象的像素运动方向有较好的一致性。传统的视频压缩方法以宏块为单元进行运动估计,不考虑整体目标对象的运动一致性,往往需要更多的码字对运动信息进行描述。对于这类场景的压缩方法存在提升空间。
发明内容
因此,本发明实施方式的目的旨在解决前述的一个或多个问题。
根据本发明的第一方面,提供一种视频编码方法。该方法包括:对采集的视频数据进行分析,得出视频图像的背景区域和前景区域;对得出的视频图像的背景区域和前景区域进行分析,计算出针对视频图像的智能编码信息,智能编码信息包括噪声描述信息、运动目标对象的运动方向和运动大小;根据计算出的智能编码信息对视频图像进行编码;以及将计算出的智能编码信息和视频图像一起编码在码流中。其中,在根据计算出的智能编码信息对视频图像进行编码时,将噪声描述信息、运动方向和运动大小作为编码时的语法元素;在对背景区域进行编码时,使用较大的量化系数;在对前景区域进行编码时,将运动目标对象的运动方向和运动大小作为编码时运动预测的参考。
在一个实施例中,对得出的视频图像的背景区域和/或前景区域进行分析,可以进一步包括:对得出的视频图像的背景区域进行分析,获得所述视频图像的噪声描述信息。
在一个实施例中,对得出的视频图像的背景区域和/或前景区域进行分析,可以进一步包括:对得出的视频图像的前景区域进行运动目标对象提取,得到运动目标对象在所述视频图像中的位置;以及对运动目标对象的运行进行分析,得到运动目标对象的运动方向。
进一步地,对得出的视频图像的背景区域和/或前景区域进行分析,还可以包括:对运动目标对象的运行进行分析,得到运动目标对象的运动大小。
智能编码信息还包括以下各项中的一项或多项:视频图像的背景区域、前景区域、运动目标对象位置。
在一个实施例中,在所述对采集的视频数据进行分析之前,还可以包括:对采集的视频数据进行降采样处理;和/或,对采集的视频数据进行降帧率处理。
根据本发明的第二方面,提供一种视频编码装置。该装置包括:分析模块,用于对采集的视频数据进行分析,得出视频图像的背景区域和前景区域;计算模块,用于对得出的视频图像的背景区域和前景区域进行分析,计算出针对视频图像的智能编码信息,智能编码信息包括噪声描述信息、运动目标对象的运动方向和运动大小;编码模块,用于根据计算出的智能编码信息对视频图像进行编码,其中,将噪声描述信息、运动方向和运动大小作为编码时的语法元素;在对背景区域进行编码时,使用较大的量化系数;在对前景区域进行编码时,将运动目标对象的运动方向和运动大小作为编码时运动预测的参考;以及封装模块,用于将计算出的智能编码信息和视频图像一起编码在码流中。
在一个实施例中,计算模块可以进一步包括:用于对得出的视频图像的背景区域进行分析,计算所述视频图像的噪声描述信息的模块。
在一个实施例中,计算模块可以进一步包括:用户对得出的视频图像的前景区域进行运动目标对象提取,计算出运动目标对象在所述视频图像中的位置的模块;以及用于对运动目标对象的运行进行分析,计算出运动目标对象的运动方向的模块。
进一步地,计算模块还可以包括:用于对运动目标对象的运行进行分析,计算运动目标对象的运动大小的模块。
智能编码信息可以包括以下各项中的一项或多项:视频图像的背景区域、前景区域、运动目标对象位置。
在一个实施例中,该视频编码装置还可以包括:用于对采集的视频数据进行降采样处理的模块;和/或,用于对采集的视频数据进行降帧率处理的模块。
在一个实施例中,编码模块可以被配置为:在对背景区域进行编码时,使用较大的量化系数;和/或在对前景区域进行编码时,将运动目标对象运动方向和/或运动大小作为编码时运动预测的参考。
根据本发明的第三方面,提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被配置为执行根据前述的视频编码方法。
根据本发明的第四方面,提供一种视频解码方法。该方法包括:从码流中获取视频图像的智能编码信息,智能编码信息包括噪声描述信息、运动目标对象的运动方向和运动大小;以及根据所获取的智能编码信息对码流进行解码,恢复出视频图像;其中,在根据所获取的智能编码信息对码流进行解码时,将噪声描述信息、运动方向和运动大小作为解码时的语法元素;在对背景区域进行解码时,使用较大的量化系数;在对前景区域进行解码时,将运动目标对象的运动方向和运动大小作为解码时运动预测的参考。
根据本发明的第五方面,提供一种视频解码装置。该装置包括:获取模块,用于从码流中获取视频图像的智能编码信息,智能编码信息包括噪声描述信息、运动目标对象的运动方向和运动大小;以及解码模块,用于根据所获取的智能编码信息对码流进行解码,恢复出视频图像,其中,将噪声描述信息、运动方向和运动大小作为解码时的语法元素;在对背景区域进行解码时,使用较大的量化系数;在对前景区域进行解码时,将运动目标对象的运动方向和运动大小作为解码时运动预测的参考。
根据本发明的第六方面,提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被配置为执行根据前述的视频解码方法。
根据本发明的实施方式,智能地分析视频中的背景特征或者运动目标对象的运动特征,利用这些特征信息对图像进行编码,从而能够极大地降低图像噪声对视频压缩的影响,并且提高视频编码(压缩)质量和效率。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显。在附图中:
图1示出了根据本发明一种实施方式的视频编码方法的流程图;
图2示出了根据本发明另一种实施方式的视频编码方法的流程图;以及
图3示出了根据本发明一种实施方式的视频编码装置的框图。
具体实施方式
下文将结合附图参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
附图中的流程图和框图,图示了按照本发明各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现预定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
参考图1,图1示出了根据本发明一种实施方式的视频编码方法100的流程图。
在步骤S110,对采集的视频数据进行分析,得出视频图像的背景区域和/或前景区域。
在步骤S120,对得出的视频图像的背景区域和/或前景区域进行分析,计算出针对视频图像的智能编码信息。智能编码信息可以包括针对图像的背景区域和/或前景区域的特征信息。
在步骤S130,根据计算出的智能编码信息对视频图像进行编码。利用图像的特征信息作为编码时的语法元素,有可能改善编码质量,提高编码效率。
在步骤S140,将计算出的智能编码信息和视频图像一起编码在码流中。
下面结合图2,描述一种根据本发明实施方式的具体实施的示例。参考图2,图2示出了根据本发明一种实施方式的视频编码方法200的流程图。
在步骤S210,对采集的视频数据进行分析,获得每一帧视频图像的背景区域和前景区域。采集的视频数据包括亮度和色度分量。例如,可以针对视频噪声(比如,摄像机噪声)设计统计学噪声模型,基于噪声模型来分割视频场景中的背景与前景,生成背景/前景图。噪声模型可以接收外部参数的设置和调整。参数往往包含统计时间跨度、噪声幅度阈值等。
在步骤S220,对视频的背景区域进行分析,计算出每一帧视频图像的噪声描述信息。
在步骤S230,对视频的前景区域进行运动目标对象提取,得到运动目标对象在每一帧视频图像中的位置。位置可以表示运动目标在采集装置所监控的场景中的位置,可以表示为运动目标对象在背景区域中的坐标。
在步骤S240,对运动目标对象的运行进行分析,得到运动目标对象的运动方向。对于连续的视频序列,在视频分析时,假设前景的运动目标对象的坐标位置是关联的,通过计算运动目标对象的坐标位置的变化方向,可以得到该前景运动目标对象的运动方向的描述。可选地,还可以分析得到运动目标对象的运动大小,通过计算运动目标对象的坐标位置的变化幅度,可以得到该前景运动目标对象的运动大小的描述。运动方向和运动大小构成了运动目标对象的运动矢量,可以用运动目标对象当前位置与前一位置的相对值来描述。
在步骤S250,根据得出的智能编码信息对所述每一帧视频图像进行编码。智能编码信息可以包括前述分析出的每一帧视频图像的背景区域、噪声描述信息、前景区域、运动目标对象位置和运动目标对象的运动方向。可选地,智能编码信息还可以包括前述分析出的运动目标对象的运动大小。
在对背景区域进行编码时,可以使用较大的量化系数,得到较小的码字。同时,可以将运动目标对象位置和运动目标对象的运动方向、以及可选的运动目标对象的运动大小,作为一种视频压缩描述语法,可以提升视频压缩率。
在步骤S260,将所述智能编码信息与对应的所述每一帧视频图像一起编码在码流中。
附加地并且备选地,还可以在对采集的视频数据进行智能分析之前,对其进行降采样处理,以便控制智能分析算法的运算规模。
附加地并且备选地,对采集的视频数据进行智能分析可以进行降帧率处理,即每隔N帧处理1帧,以便控制智能分析算法的运算规模,N例如是1、2或者4等。
附加地并且备选地,对采集的视频数据中的智能分析完毕的视频图像的压缩和对未分析完毕的视频图像的智能分析可以同时处理,也可以在对全部视频数据进行了智能分析之后,在进行视频图像压缩,以便适应不同类型的系统。
在一个实施例中,步骤S220是可选的步骤。结合智能编码信息中的前景区域/背景区域,在对非关键帧的背景区域进行编码时,可以提高压缩量化值,减小噪声影响。本领域技术人员可以理解,这些区域即便有噪声存在,编码后的码字可降为0或者非常小。
在一个实施例中,步骤S230和S240是可选的步骤。结合地前景区域中运动目标对象的分析,可以将运动目标对象运动矢量作为宏块运动预测的参考,提升宏块级预测的准确度。备选地,计算得到的该运动矢量也可以用于由宏块划分而来的更小的预测单元的运动预测。
将智能编码信息封装进码流中,传送给解码端。在对编码的码流进行解码以便还原图像时,例如,如果有对运动目标位置与目标对象的运动矢量的语法,则进行相应解析,得出预测的整体目标像素块,作为图像重建的一部分信息。此外,在解码端的解码播放环节,可实时呈现智能编码信息,直观了解视频中的前景/背景、摄像机噪声状态、和/或运动目标对象等信息。另外,对于含有上述智能编码信息的视频录像,可对运动物体信息进行快速检索,以及基于这些信息开发其他应用功能。
图3示出了根据本发明一种实施方式的视频编码装置300的框图。视频编码装置300可以包括:分析模块310,用于对采集的视频数据进行分析,得出视频图像的背景区域和/或前景区域;计算模块320,用于对得出的视频图像的背景区域和/或前景区域进行分析,计算出针对视频图像的智能编码信息;编码模块330,用于根据计算出的智能编码信息对视频图像进行编码;以及封装模块340,用于将计算出的智能编码信息和视频图像一起编码在码流中。
应当理解,装置300中记载的每个模块与参考图1描述的方法100中的每个步骤相对应。由此,上文针对图1描述的操作和特征同样适用于装置300及其中包含的模块,在此不再赘述。
根据本发明的各种实施方式,还提出用于视频解码的方法,其可以与如图1或图2所述的视频编码的方法相配合使用。该解码方法可以包括:从码流中获取视频图像的智能编码信息;以及根据智能编码信息对码流进行解码,恢复出视频图像。
根据本发明的实施方式,解码端获取码流,在还原图像时,例如,如果有对目标坐标与目标运动矢量的语法,则进行相应解析,得出预测的整体目标像素块,作为图像重建的一部分信息。
根据本发明的各种实施方式,还提出一种用于视频解码的装置,该装置包括:获取模块,用于从码流中获取视频图像的智能编码信息;以及解码模块,用于根据智能编码信息对码流进行解码,恢复出视频图像。
根据本发明的实施方式的视频编解码方案,引入了背景噪声、和/或运动目标对象的运动信息,克服了现有编码压缩系统存在噪声环境编码性能不佳的问题,并且可以提升图像编解码时运动预测的准确度。
应当理解,本发明实施方式所提出的视频编解码方法可以被实现为软件、硬件或者软件和软件的组合。硬件可通过被设计来执行上述功能的转用集成电路(ASIC)、数字信号处理器(DSP)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微处理器、其他电子单元或其组合来实现。软件可通过执行上述功能的模块来实现。软件可被存储在存储单元中并由处理器运行。作为存储单元或处理器,可采用本领域技术人员公知的各种单元。
已经出于示出和描述的目的给出了本发明的说明书,但是其并不意在是穷举的或者限制于所公开形式的发明。本领域技术人员可以想到很多修改和变体。在不脱离本发明精神的前提下,做出的所有修改和替换都将落入所附权利要求定义的本发明保护范围内。