CN110324636A - 用于对视频流中的帧序列进行编码的方法、设备和系统 - Google Patents

用于对视频流中的帧序列进行编码的方法、设备和系统 Download PDF

Info

Publication number
CN110324636A
CN110324636A CN201910221648.4A CN201910221648A CN110324636A CN 110324636 A CN110324636 A CN 110324636A CN 201910221648 A CN201910221648 A CN 201910221648A CN 110324636 A CN110324636 A CN 110324636A
Authority
CN
China
Prior art keywords
frame
null
coding
encoded
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910221648.4A
Other languages
English (en)
Other versions
CN110324636B (zh
Inventor
维克托·埃德帕尔姆
比约恩·阿多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anxinshi Co Ltd
Original Assignee
Anxinshi Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anxinshi Co Ltd filed Critical Anxinshi Co Ltd
Publication of CN110324636A publication Critical patent/CN110324636A/zh
Application granted granted Critical
Publication of CN110324636B publication Critical patent/CN110324636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及视频编码领域。具体地,本发明涉及用于对视频流中的帧序列进行编码的方法、设备和系统,其中,帧序列中的初始帧的图像数据的运动水平被确定为低于运动水平阈值。在本文描述的编码方法可以降低用于编码的帧序列的比特率,同时避免在被解码和显示时编码的视频流看起来不自然或僵。

Description

用于对视频流中的帧序列进行编码的方法、设备和系统
技术领域
本发明涉及视频编码领域。具体地,本发明涉及用于对帧序列进行编码的方法、编码器和系统,其中,确定帧序列中的初始帧的图像数据的运动水平低于运动水平阈值。
背景技术
视频摄像机常常用于监测目的。由摄像机监视的场景可以在某时间段期间包括移动对象,因此在由摄像机捕捉的视频中引入运动。在其他时间段期间,场景可能仅仅包括静止对象,因此使由摄像机捕捉的视频缺乏运动,即,所捕捉的视频将是静止视频。
当涉及到对视频流进行编码时,带宽效率常常是问题。有利地,对视频流进行编码以降低视频流的比特率,但是不以(太)显而易见的方式影响编码的视频流的质量。为了以带宽有效方式来处理场景中的变化量的运动,编码器可以根据如在帧中描绘的场景中的运动量来动态地调整编码的视频流的帧速率。换句话说,与在帧中不存在或存在小的运动时相比,在帧中(并且因此在场景中)存在运动时的时间段期间,可以使用编码的视频流中的更高的帧速率。例如,当在帧中存在有限的或没有运动时,帧速率可以低到1Hz,意味着在编码的视频流中每秒仅仅存在一个帧。在这样低的帧速率下,在视频中将存在极少的时间噪声。因此,观看解码的视频的用户将发现看起来不自然并且僵,并且用户可能开始想知道是否存在摄像机的硬件或软件故障。
以带宽有效方式处理场景中的变化量的运动的另一种方式是使用编码技术,其中由编码器应用的压缩级别随图像内容的重要性而改变。例如,与其中没有运动存在的视频帧的部分相比,可以利用较低的压缩对描绘移动对象的视频帧的部分进行编码。具体地,可以使用空块(有时被称为跳跃块或P-跳跃块)对其中没有运动存在的视频帧的部分进行编码。在场景中不存在或存在有限量的运动时的时间段期间,将因此利用空块的大多数对帧进行编码。由于空块典型地将被显示为在前的帧中对应块的副本,所以这也将具有在视频中存在极少的时间噪声的效果。因此,再次,观看视频的用户将发现看起来不自然并且僵,并且用户可能开始想知道是否存在关于摄像机的硬件或软件故障。
因此,使用编码的视频流中的低帧速率,或如以上解释的使用大量空块对视频流进行编码可能由于时间噪声的缺乏在视频中引入人工静止。该人工静止不是由场景本身中缺乏运动引起的,这是因为以高帧速率被捕捉的并且类似于移动场景的视频被编码(因此增加编码的视频的比特率)的静态场景的视频由于在图像传感器处的噪声而可能仍然包括时间噪声,而是由当如以上解释的以带宽有效方式对视频进行编码时所使用的帧速率或编码方式的选择引起的。
因而在该上下文内需要改善。
发明内容
鉴于以上所述,因而本发明的目的是克服或至少减轻以上讨论的问题。具体地,目的是提供以带宽有效方式对具有低运动的视频流进行编码的方法,其中当编码的视频流被解码和显示时不会看起来不自然或僵。
根据本发明的第一方面,提供一种对视频流中的帧序列进行编码的方法,该方法包括:确定帧序列中的初始帧的图像数据的运动水平低于运动水平阈值;对多个参考帧进行编码,多个编码的参考帧中的每个参考帧是帧内编码的帧或者帧间编码的帧;以及对多个空帧进行编码,其中,空帧包括编码为跳跃块的宏块和通过对要被编码为空帧的每个帧进行以下操作而作出的对视频流中的另一个帧的参考:
·在多个编码的参考帧当中选择编码的参考帧;
·对具有对所选择的参考帧的直接或间接参考的空帧进行编码;
其中,对于编码的帧序列中的至少一对连续的空帧,用于该对中的第一空帧的所选择的参考帧不同于用于该对中的第二空帧的所选择的参考帧。
可以以任何适当的方式执行确定帧序列中初始帧的图像数据的运动水平低于运动水平阈值的步骤。可以例如通过将帧序列中初始帧的图像数据与视频流中的在前的帧的图像数据相比较来计算运动水平。在一个实施例中,初始帧的运动水平被接收并且与运动水平阈值相比较。在另一个实施例中,已经作出了比较并且接收比较的结果,例如作为布尔值(真或假)。
如在本文所使用的,“空帧”通常意指对于编码的帧中的至少一些宏块(MB)已经使用跳跃块(P-跳跃块、空块等等)被编码的帧。在一些实施例中,空帧的大多数MB被编码为跳跃块。在又一些其他实施例中,所有MB被设置为/编码为跳跃块。而且,空帧包括对视频流中的另一个帧的参考。换句话说,空帧是利用被编码为跳跃块的至少一个MB的帧间编码的帧。
本发明基于如下认识:通过仔细地选择空帧的参考帧,可以将时间噪声引入编码的帧序列,这减少人工静止。当已经确定图像数据的运动水平低于运动水平阈值(其因此使得能够以减小比特率(但是仍然保持编码的流的帧速率原样)的方式使用空帧的概念对帧序列进行编码)时,这可以通过首先以正常(常规)方式对多个参考帧(例如初始I帧和至少一个之后的P帧而没有跳跃块)进行编码来实现。然后编码随后的空帧,使得编码的帧序列中的一对连续的空帧对参考帧中的不同的参考帧进行参考。参考可以是直接的或间接的,如在以下进一步解释的。换句话说,对于编码的帧序列中紧接着后面是第二空帧的第一空帧,用于第一空帧和第二空帧的参考帧不同。典型地,在现有技术中,空帧(例如空帧中的跳跃块)参考编码的帧序列中紧接着在前的帧。因此,在编码的帧序列中紧接着之后是另一个空帧的空帧将参考相同的参考帧。换句话说,第二空帧将通过参考第一空帧(其进而对参考帧进行参考)而间接地与第一空帧参考相同的参考。因此,两个空帧中的对应的跳跃块对参考帧中的完全相同的MB进行参考,并且因此将在稍后解码的视频流中被解码为完全相同的图像数据,从而将人工静止引入解码的视频流中。然而,使用本文公开的本发明构思,空帧中对应的MB将至少由于在捕捉被编码为参考帧的帧序列中的帧时在图像传感器处的噪声而包括时间噪声。该所谓的“舒适噪声”将被包括在编码的视频流中而不需要确定噪声,或通过调整像素值等等来包括“假”噪声,但是将是实施如本文所描述的空帧的结果。
根据一些实施例,对于编码的帧序列中的每对连续的空帧,用于该对中的第一空帧的所选择的参考帧不同于用于该对中的第二空帧的所选择的参考帧。因此,可以更进一步减少人工静止,因为在编码的帧的序列中紧接着后面是另一个空帧的空帧中没有对应的MB将在稍后解码的视频流中被解码为完全相同的图像数据。
根据一些实施例,对于将被编码为空帧的第一帧,所述帧紧接着在帧序列中的多个参考帧当中的第一编码的参考帧之后,在多个编码的参考帧当中选择编码的参考帧的步骤包括在多个编码的参考帧当中选择不同于所述第一编码的参考帧的编码的参考帧。换句话说,在该实施例中,空帧可以不参考帧序列中紧接着在该空帧之前的参考帧。有利地,可以更进一步减少人工静止。
根据一些实施例,多个参考帧包括一个或多个帧间编码的帧,其中,该方法进一步包括将一个或多个帧间编码的帧的所有运动矢量设置为零的步骤。因为帧序列很可能包括非常低水平的运动,所以存在执行块匹配算法以在由将产生运动矢量的帧间编码的帧所参考的帧中搜索对应的MB的有限的需要。替代地,能够将运动矢量设置为零,这将减少用于编码处理的必需的处理功率并且可以导致增加的QP值能够被用于帧间编码的帧,因此进一步降低编码的帧序列的比特率。
根据一些实施例,对于至少一个空帧,空帧的编码包括:在编码的参考帧中选择编码的参考帧,其中,所选择的编码的参考帧已经直接地被另一个编码的空帧参考;以及对参考所述另一个编码的空帧的空帧进行编码。
换句话说,在空帧中对所选择的参考帧的参考可以经由先前编码的空帧是间接的,该先前编码的空帧参考所选择的参考帧。有利地,这要求较少的帧被暂时存储在编码器中,暂时存储的帧被存储以用于被一帧间编码的帧参考。
根据一些实施例,编码的空帧具有其中所有宏块被设置为跳跃块的帧间编码的帧的形式。因此,可以进一步降低编码的帧序列的比特率,这是因为编码的空帧将不包含图像数据或运动矢量,而是仅仅包括对所选择的参考帧的参考,将从所选择的参考帧采用当解码空帧时要示出的图像数据。换句话说,空帧是没有更新的数据的帧间编码的帧。
根据一些实施例,该方法进一步包括如下步骤:在对帧序列中的帧进行编码之前,接收所述帧的图像数据的运动水平,并且确定运动水平是否低于运动水平阈值;一旦确定运动水平低于阈值运动水平,将帧编码为空帧;以及一旦确定运动水平高于阈值运动水平,将帧编码为帧间编码的帧或者帧内编码的帧。在该实施例中,在被捕捉的场景的内容突然开始移动而增加视频流中的帧的图像内容的运动水平的情况下,原本将会被编码为空帧的帧可以改为被编码为帧间编码的帧或者帧内编码的帧(即,没有任何跳跃块)。该实施例增加编码方法的灵活性。
根据一些实施例,将帧序列的初始帧编码为帧内编码的参考帧,并且将帧序列中的紧接着初始帧之后的一个或多个帧编码为帧间编码的参考帧。
根据一些实施例,编码的参考帧包括至少两个帧间编码的帧。有利地,这可以减少空帧中噪声的显而易见的重复,并且因此导致空帧中更逼真的噪声。
根据一些实施例,使用随机函数来执行选择编码的参考帧的步骤。有利地,这降低编码方法的复杂度,这是因为编码器可以不需要存储用于选择参考帧的步骤的任何预先确定的选择顺序。而且,参考帧的数量是不相关的,这是因为这样的随机函数将固有地以随机方式在可用的参考帧当中进行选择。
根据一些实施例,根据预先确定的选择顺序来执行选择编码的参考帧的步骤。可以将这样的顺序作为表格或类似物存储在编码器中。在这种情况下,对于每个数量的可用的参考帧,可以存在一个这样的顺序。在其他实施例中,预先确定的选择顺序是算法的形式,例如模运算。
根据一些实施例,将帧编码为空帧的步骤包括:选择编码的参考帧当中的时间上在前的编码的参考帧。换句话说,能够将空帧与P帧相比较。替换地,或另外地,编码的参考帧可以是在时间上在后的帧(对照B帧)。
根据本发明的第二方面,通过包括计算机可读存储介质的计算机程序产品来实现以上目的,计算机可读存储介质具有适于当由具有处理能力的设备执行时执行第一方面的方法的指令。
根据本发明的第三方面,通过适于对视频流中的帧序列进行编码的设备来实现以上目的,该设备包括:处理器,被配置为:确定帧序列中初始帧的图像数据的运动水平低于运动水平阈值;对多个参考帧进行编码,多个编码的参考帧中的每个参考帧是帧内编码的帧或者帧间编码的帧;以及对多个空帧进行编码,其中,空帧包括被编码为跳跃块的宏块和通过对要被编码为空帧的每个帧进行以下操作而做出的对视频流中的另一个帧的参考:
-在编码的参考帧当中选择编码的参考帧;
-对具有对所选择的参考帧的直接或间接参考的空帧进行编码;
其中,对于编码的帧序列中的至少一对连续的空帧,为该对中的第一空帧选择的参考帧不同于为该对中的第二空帧选择的参考帧。
根据本发明的第四方面,通过以下设备来实现以上目的:第一设备,用于连续地捕捉场景的数据,并且基于所捕捉的数据来产生包括帧序列的视频流;第二设备,适于确定视频流的每个帧的运动水平;以及根据第三方面的第三设备,适于接收帧序列和帧序列的确定的运动水平。
根据一些实施例,在图像捕捉设备例如视频摄像机中实施第一设备、第二设备和第三设备。在其他实施例中,第一设备是图像捕捉设备,并且第二设备是分开地布置的视频分析单元,并且第三设备是分开地布置的视频编码器单元。
第二方面、第三方面和第四方面可以大体上具有与第一方面相同的特征和优点。进一步请注意,本发明涉及特征的所有可能组合,除非被另外明确地陈述。
附图说明
通过参考附图(其中将对类似的要素使用相同的附图标记)进行的以下对本发明的优选实施例的说明性的且非限制性的详细描述,将更好地理解本发明的以上以及附加的目的、特征和优点,在附图中:
图1示出对其中确定低量的运动的帧序列进行编码的已知方法,
图2示出根据本发明的第一实施例的、对其中确定低量的运动的帧序列进行编码的方法,
图3示出根据本发明的第二实施例的、对其中确定低量的运动的帧序列进行编码的方法,
图4示出根据本发明的第二实施例的、对其中确定低量的运动的帧序列进行编码的方法,
图5示出根据一些实施例的对帧序列进行编码的流程图,
图6示出适于捕捉场景的数据、确定场景的内容的运动水平,并且对描绘场景的帧序列进行编码的系统。
具体实施方式
现在将在下文参考其中示出本发明的实施例的附图来更全面地描述本发明。将在操作期间对本文公开的系统和设备进行描述。
图1示出根据现有技术的对帧序列进行编码的方法。如上所述,在被捕捉的场景中不存在或存在有限量的运动时的时间段期间,节约带宽(降低或优化编码的帧序列的比特率)的一种方式可以是将一些帧编码为空帧,即,利用至少一些空块(跳跃块、P-跳跃块等等)进行编码。这些帧在下文被称为图中的“E”。在图1中,帧100的序列中的第一帧被编码为I帧(在图中用“I”表示),并且剩余的帧100被编码为空帧,空帧具有对帧100的序列中紧接着在前的帧的参考并且因此全部具有对I帧的直接或间接参考。这将具有在视频中存在极少(或没有)时间噪声的效果,这是因为所有帧100将被显示为第一帧(即,I帧)的副本。因此,观看由帧100引起的视频的用户将发现看起来不自然并且僵,并且用户可能开始想知道是否存在关于摄像机的硬件或软件故障。该怀疑可能甚至迫使用户物理地检验摄像机,这花费宝贵的时间并且如果摄像机被安装在难以接近的位置中时可能是困难的。
即使场景是完全静止的(例如在晚上的空火车站),由于在图像传感器处的噪声,捕捉的帧的序列中的时间噪声将仍然存在。当对帧进行编码时,可以利用捕捉的图像数据中的该固有的噪声电平。在下文中,将描述如何对帧序列进行编码的若干示例。然而,它们所有都共同具有至少两个特性。首先,对多个参考帧进行编码,其可以被编码的空帧参考。以正常的方式对这些参考帧进行编码,例如I帧后面是参考I帧的(或在多个P帧的情况下参考另一个P帧的)至少一个P帧,其中,在没有任何跳跃块的情况下或至少利用少数跳跃块有利地对参考帧进行编码。其次,对于编码的帧序列中的至少一对连续的空帧,用于该对中的第一空帧的参考帧不同于用于该对中的第二空帧的参考帧。通过以这种方式进行编码,捕捉场景时的固有的时间噪声将存在于多个参考帧中,并且通过对于第一空帧不选择与编码的帧序列中的紧接着之后的第二空帧相同的参考帧,该时间噪声也将存在于该对连续编码的空帧中。
图2-4通过示例示出对对于其确定低量的运动的帧序列进行编码的方法。在这些示例中,编码的帧对应于图片组(GOP),然而,这不是本发明的要求。本文公开的方法可以用于任何帧序列,诸如GOP的一半或类似。
图2通过示例示出根据第一实施例的对帧序列进行编码的方法。对多个参考帧202进行编码,其在这种情况下对应于将帧200的序列的初始帧200a编码为帧内编码的参考帧(图中的“I”),其中,将紧接着帧200的序列中的初始帧200a之后的两个帧200b-c编码为帧间编码的参考帧(图中的“P”)。根据其他实施例,将多个参考帧202中的多于一个帧编码为I帧。帧间编码的参考帧可以是P帧和/或B帧的形式。参考帧202的数量(导致编码的帧200序列的增加的比特率)应当与改善水平的用户体验保持平衡。例如,与较小的GOP相比,较大的GOP可以导致更多参考帧202被编码。在图2中,将GOP中的剩余的帧200d-h(最后编码的帧200i参考随后的GOP的初始帧)编码为空帧204。对于每个空帧204,编码的参考帧202被选择并且被参考(在图2-4中描绘为箭头)。如在图2中能够看出,对于编码的帧200序列中的每对连续的空帧204,用于该对中的第一空帧的所选择的参考帧不同于用于该对中的第二空帧的所选择的参考帧。例如,图2中的第一空帧200d参考第一参考帧200a,而对于紧接着之后的空帧200e,所选择的参考帧是第二参考帧200b。对于这两个空帧200d-e,利用对所选择的参考帧200a-b的直接参考对帧进行编码。对于随后的空帧200f,也是这种情况,其直接地参考第三参考帧200c。对于接下来的空帧200g(图2的示例中的第4空帧),该帧参考第一空帧200d,该第一空帧200d进而参考第一参考帧200a。第4空帧因此包括对参考帧的间接参考(即,经由另一个空帧200d)。换句话说,对第4空帧200g进行编码包括在编码的参考帧202当中选择编码的参考帧200a,其中,所选择的编码参考帧已经直接地被另一个编码的空帧200d参考。参考的该间接方法可以降低在编码时被编码需要存储在存储器中的帧的数量。在该示例中,对于最后的(第5)空帧200h,所选择的参考帧是第三参考帧200c,第三参考帧200c以间接的方式(经由第三空帧200f)被第5空帧200h参考。五个空帧200d-h因此以时间次序对参考帧1-2-3-1-3进行参考。换句话说,对于编码的帧200序列中的每对连续的空帧,用于该对中的第一空帧的所选择的参考帧不同于用于该对中的第二空帧的所选择的参考帧。以这种方式,将在每一个空帧当中引入时间噪声,因此为观看显示的解码帧的用户(例如操作员)提供“舒适”噪声。也请注意,在图2中示出的示例性实施例中,对于在帧200序列中的多个参考帧202当中紧接着特定编码的参考帧200c之后的、要被编码为空帧204的第一帧200d,在多个编码的参考帧202当中选择编码的参考帧的步骤包括在多个编码的参考帧202当中选择不同于特定编码的参考帧200c的编码的参考200a。以这种方式,也将在要被编码为空帧204的第一帧200d与紧接着在所述空帧200d之前的参考帧200c之间引入时间噪声。在其他实施例中,帧200d可以参考帧200c。
在图2的示例中,仅仅将帧序列中的初始帧编码为参考帧202。这仅仅作为示例。在图3中,将两个第一帧200a-b编码为参考帧202。将三个随后的帧200c-e编码为空帧204。将另外的随后的帧200f编码为后面是将被编码为空帧204的多两个帧200g-h的参考帧。稍后在帧序列中引入一个或多个参考帧的该方式可以是有利的,以便在帧200序列的捕捉期间捕捉可能已经发生的场景的改变。与图2的示例的进一步的差异是空帧之一参考时间上稍后的参考帧,在于第一空帧200c参考第三参考帧200f。因为许多标准允许帧间编码的帧以向前方向参考(例如,B帧、双向预测的图片),这也可以对于本发明的空帧(其具有包括被编码为跳跃块的宏块的帧间编码的帧的形式)允许。
在图4中,即使帧200序列包括两个单独的参考帧202的集合,编码的参考帧当中的仅仅时间上在前的编码的参考帧被空帧参考。通过在对空帧204进行编码时仅仅选择时间上在前的编码的参考帧,需要被存储在编码器的存储器中的帧的数量被减小,并且对帧序列进行编码的方法被简化。
图5示出根据一些实施例的对帧序列进行编码的流程图。为了确定究竟是否应当对于帧序列采用空帧,确定S502帧序列中的初始帧的图像数据的运动水平是否低于运动水平阈值。可以基于与一个或多个在前的帧(例如在前的GOP等等)的比较来确定初始帧的运动水平。例如,在前的序列运动水平的平均运动水平可以由编码器从单独运动水平计算单元接收或者在编码器中被计算。运动水平阈值可以基于帧被预先确定,或是例如操作员能够基于使用情况设置的用户可调整的值。如上所述,初始帧可以或可以不对应于GOP的第一帧。如果确定运动水平超过运动水平阈值,则可以确定之后的帧序列应当以常规方式(标准方式)被编码S503,例如使用帧内编码的帧和帧间编码的帧而没有如在本公开中定义的空帧。然而,如果确定初始帧的运动水平低于阈值运动水平,则可以确定很可能之后的帧序列不包括或包括低量的运动,并且因此本公开的编码方法可以有利地用于优化比特率。当捕捉包括低量的光的场景的视频时,使用该方法可以格外有利。在这些情况下,帧间噪声的量将较高,并且如果以常规方式被编码为P帧,将导致需要被编码的大量残余值(相对参考帧的差别)。
然后,对多个参考帧进行编码S504。可选地,在对参考帧进行编码之前,可以对要被编码为参考帧的帧的图像数据的运动水平与运动水平阈值进行比较S506。通过连续地进行此过程,该方法可以在任何时间中止而返回到正常编码S503。通过不在此阶段检查S506运动水平,可以减小编码处理所需要的处理功率。将每个参考帧编码S508为帧内编码的帧或者帧间编码的帧。
根据一些实施例,将帧间编码的帧的所有运动矢量设置为零。因为很可能(或确定S506),与较早的帧相比,参考帧的图像内容包含非常少或几乎没有运动,所以能够通过不执行块匹配以对帧间编码的帧的宏块进行编码而是仅仅参考在前的帧中的相同的块来利用这。因此,可以节约处理功率,并且更高的QP值可以用于编码以进一步增加比特率的节约。
然后,对多个空帧进行编码S510。可选地,在将帧编码为空帧之前,所述帧的图像数据的运动水平被接收或以另外方式被确定并且与运动水平阈值相比较。在该实施例中,确定S512运动水平是否低于运动水平阈值。一旦确定运动水平高于阈值运动水平,方法可以中止,并且标准编码S503继之后。换句话说,以常规方式将当前帧编码为帧间编码的帧或者帧内编码的帧。然而,一旦确定运动水平低于阈值运动水平,将帧编码为空帧。这包括在多个编码的参考帧当中选择S514编码的参考帧。可以使用不同的策略来执行该选择过程。
根据一个实施例,使用随机函数来执行选择编码的参考帧的步骤。随机函数可以采用可用的参考帧的数量作为输入(或帧序列中的可用的参考帧的索引),以及例如任何不被允许的参考帧的索引。不被允许的参考帧可以是用作帧序列中的紧接着在前的空帧的参考的参考帧,以避免两个紧接着之后的空帧将参考相同的参考图像。
根据一个实施例,根据预先确定的选择顺序来执行选择编码的参考帧的步骤。例如,编码器可以例如以用于两个参考图像的情况的一个列表、用于三个的情况的一个列表(例如1、2、3、1、2、3、1、2、3等等)、用于四个的情况的一个列表等等的形式对于每个数量的可能的参考图像了解这样的选择顺序。预先确定的选择顺序可以是算法的形式,例如模运算。这样的算法可以表现为具有以下形式
I=X mod Y,
其中Y是可用的参考图像的数量,并且X是要被编码为帧序列中的空帧的当前帧的索引。模运算(I)的结果于是将用于选择空帧将参考的参考图像的索引。
当已经选择了编码的参考帧时,则利用对所选择的参考帧的直接或间接参考对空帧进行编码S516。
可选地,在对一个或多个空帧进行编码之后,可以对新的参考帧进行编码S504(该方法因此迭代S518),后面是对编码的空帧的集合进行编码S516等等,直到完整的帧序列已经被编码。在其他实施例中,将帧序列中的所有剩余帧编码为空帧。
如在本文所描述的编码方法将遵循诸如h.264和h.265之类的标准。换句话说,标准解码器可以用于解码。
图6示出根据本发明的用于捕捉和编码帧序列的系统600。系统600包括第一设备604(即,视频摄像机),第一设备604用于连续地捕捉场景602的图像数据并且基于捕捉的图像数据来产生包括图像帧606的序列的视频流。系统600进一步包括运动检测器单元608,运动检测器单元608适于确定视频流的每个帧的运动水平609。运动检测器单元608可以(使用例如处理器)使用任何已知的运动检测和/或对象跟踪算法来计算帧的运动水平。
将帧序列606和确定的运动水平609发送给第三设备(编码器)610,第三设备610适于如上所述用于对帧序列进行编码。在图6中,视频捕捉第一设备604、运动检测器单元(第二设备)608和编码第三设备610被描绘为单独的单元。然而,根据一些实施例,所有三个设备604、608、610被实施在公共的图像捕捉设备中。
以上,已经主要地参考有限数量的示例描述了本发明构思。然而,本领域技术人员容易地理解,以上公开的示例之外的其他示例同等地可能在如所附权利要求所限定的本发明构思的范围内。

Claims (15)

1.一种对视频流中的帧序列(606)进行编码的方法,其中,一旦确定(S502)所述帧序列中的初始帧的图像数据的运动水平低于运动水平阈值,所述方法包括:
对多个参考帧(202)进行编码(S504),多个编码的参考帧中的每个参考帧是帧内编码的帧或者帧间编码的帧;以及
对多个空帧(204)进行编码(S510),其中,空帧包括被编码为跳跃块的宏块以及通过对要被编码为空帧的每个帧进行以下操作作出的对所述视频流中的另一个帧的参考:
-在所述多个编码的参考帧当中选择(S514)编码的参考帧;
-对具有对所选择的参考帧的直接或间接参考的空帧进行编码(S516),其中,经由参考所选择的参考帧的先前编码的空帧作出间接参考;
其中,对于编码的帧序列(200)中的至少一对连续的空帧,用于所述对中的第一空帧的所选择的参考帧不同于用于所述对中的第二空帧的所选择的参考帧,其中,用于所述第一空帧的所选择的参考帧和用于所述第二空帧的所选择的参考帧两者在时间上都在所述第一空帧和所述第二空帧之前。
2.根据权利要求1所述的方法,其中,对于所述编码的帧序列中的每对连续的空帧,用于该对中的第一空帧的所选择的参考帧不同于用于该对中的第二空帧的所选择的参考帧。
3.根据权利要求1所述的方法,其中,对于要被编码为空帧的第一帧,所述第一帧紧接着在所述帧序列中的所述多个参考帧当中的第一编码的参考帧之后,在所述多个编码的参考帧当中选择编码的参考帧的步骤包括在所述多个编码的参考帧当中选择不同于所述第一编码的参考帧的编码的参考帧。
4.根据权利要求1所述的方法,其中,所述多个参考帧包括一个或多个帧间编码的帧,其中,所述方法进一步包括以下步骤:
将所述一个或多个帧间编码的帧的所有运动矢量设置为零。
5.根据权利要求1所述的方法,其中,对于至少一个空帧,所述空帧的编码包括:
在所述编码的参考帧当中选择编码的参考帧,其中,所选择的编码的参考帧已经直接地被另一个编码的空帧参考;
对具有对所述另一个编码的空帧的参考的空帧进行编码。
6.根据权利要求1所述的方法,其中,编码的空帧具有其中所有宏块被设置为跳跃块的帧间编码的帧的形式。
7.根据权利要求1所述的方法,进一步包括以下步骤:
在将所述帧序列的帧编码为空帧之前,接收所述空帧的所述图像数据的运动水平(609),并且确定(S512)所述运动水平是否低于所述运动水平阈值;
一旦确定所述运动水平低于阈值运动水平,将该帧编码为空帧;
一旦确定所述运动水平高于阈值运动水平,将该帧编码(S503)为帧间编码的帧或者帧内编码的帧。
8.根据权利要求1所述的方法,其中,将所述帧序列的初始帧编码为帧内编码的参考帧,其中,将所述帧序列中的紧接着所述初始帧之后的一个或多个帧编码为帧间编码的参考帧。
9.根据权利要求1所述的方法,其中,所述编码的参考帧包括至少两个帧间编码的帧。
10.根据权利要求1所述的方法,其中,使用随机函数来执行或根据预先确定的选择顺序来执行选择编码的参考帧的步骤。
11.根据权利要求1所述的方法,其中,将帧编码为空帧的步骤包括:
在所述编码的参考帧当中选择时间上在前的编码的参考帧。
12.一种计算机程序产品,包括具有当由具有处理能力的设备执行时适于执行根据权利要求1所述的方法的指令的计算机可读存储介质。
13.一种适于对视频流中的帧序列(606)进行编码的设备(610),所述设备包括处理器,其中,一旦由所述处理器确定(S502)所述帧序列中的初始帧的图像数据的运动水平低于运动水平阈值,所述处理器被配置为:
对多个参考帧(202)进行编码(S504),多个编码的参考帧中的每个参考帧是帧内编码的帧或者帧间编码的帧;以及
对多个空帧(204)进行编码(S510),其中,空帧包括被编码为跳跃块的宏块以及通过对要被编码为空帧的每个帧进行以下操作作出的对所述视频流中的另一个帧的参考:
-在所述编码的参考帧当中选择(S514)编码的参考帧;
-对具有对所选择的参考帧的直接或间接参考的所述空帧进行编码(S516),其中,经由参考所选择的参考帧的先前编码的空帧作出间接参考;
其中,对于编码的帧序列(200)中的至少一对连续的空帧,为所述对中的第一空帧所选择的参考帧不同于为所述对中的第二空帧所选择的参考帧,其中,用于第一空帧的所选择的参考帧和用于第二空帧的所选择的参考帧两者在时间上都在所述第一空帧和所述第二空帧之前。
14.一种系统(600),包括:
第一设备(604),用于连续地捕捉场景(602)的数据,并且基于所捕捉的数据来产生包括帧序列(606)的视频流;
第二设备(608),适于确定所述视频流的每个帧的运动水平(609);以及
根据权利要求13所述的第三设备(610),适于接收所述帧序列和所述帧序列的确定的运动水平。
15.根据权利要求14所述的系统,其中,在图像捕捉设备中实施所述第一设备、所述第二设备和所述第三设备。
CN201910221648.4A 2018-03-28 2019-03-22 用于对视频流中的帧序列进行编码的方法、设备和系统 Active CN110324636B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18164676.1A EP3547684B1 (en) 2018-03-28 2018-03-28 Method, device and system for encoding a sequence of frames in a video stream
EP18164676.1 2018-03-28

Publications (2)

Publication Number Publication Date
CN110324636A true CN110324636A (zh) 2019-10-11
CN110324636B CN110324636B (zh) 2021-02-05

Family

ID=61832445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910221648.4A Active CN110324636B (zh) 2018-03-28 2019-03-22 用于对视频流中的帧序列进行编码的方法、设备和系统

Country Status (6)

Country Link
US (1) US10856002B2 (zh)
EP (1) EP3547684B1 (zh)
JP (1) JP6836614B2 (zh)
KR (1) KR102113948B1 (zh)
CN (1) CN110324636B (zh)
TW (1) TWI763983B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11695944B2 (en) * 2021-09-08 2023-07-04 Omnivision Technologies, Inc. Video coding device and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005065030A2 (en) * 2004-01-08 2005-07-21 Videocodes, Inc. Video compression device and a method for compressing video
KR20160127705A (ko) * 2016-10-26 2016-11-04 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2017076221A1 (en) * 2015-11-05 2017-05-11 Mediatek Inc. Method and apparatus of inter prediction using average motion vector for video coding
WO2017122604A1 (ja) * 2016-01-15 2017-07-20 日本電気株式会社 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが記憶された記憶媒体
CN107018413A (zh) * 2016-01-28 2017-08-04 安讯士有限公司 视频编码方法和视频编码器系统
CN107852495A (zh) * 2015-09-21 2018-03-27 谷歌有限责任公司 低时延两次视频代码化

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2626841A1 (en) * 2005-11-23 2007-05-31 Object Video, Inc. Object density estimation in video
WO2007072244A1 (en) * 2005-12-23 2007-06-28 Koninklijke Philips Electronics N.V. A device for and a method of processing a data stream comprising a plurality of frames
JP4537348B2 (ja) 2006-05-31 2010-09-01 シャープ株式会社 Mpeg画質補正装置、及びmpeg画質補正方法
US8953685B2 (en) * 2007-12-10 2015-02-10 Qualcomm Incorporated Resource-adaptive video interpolation or extrapolation with motion level analysis
US20100245595A1 (en) 2009-03-31 2010-09-30 Acuity Systems Inc. Recorder test system
EP3029942B1 (en) 2014-12-04 2017-08-23 Axis AB Method and device for inserting a graphical overlay in a video stream

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005065030A2 (en) * 2004-01-08 2005-07-21 Videocodes, Inc. Video compression device and a method for compressing video
CN107852495A (zh) * 2015-09-21 2018-03-27 谷歌有限责任公司 低时延两次视频代码化
WO2017076221A1 (en) * 2015-11-05 2017-05-11 Mediatek Inc. Method and apparatus of inter prediction using average motion vector for video coding
WO2017122604A1 (ja) * 2016-01-15 2017-07-20 日本電気株式会社 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラムが記憶された記憶媒体
CN107018413A (zh) * 2016-01-28 2017-08-04 安讯士有限公司 视频编码方法和视频编码器系统
KR20160127705A (ko) * 2016-10-26 2016-11-04 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Also Published As

Publication number Publication date
TW201943279A (zh) 2019-11-01
KR20190113546A (ko) 2019-10-08
KR102113948B1 (ko) 2020-05-21
JP2019198063A (ja) 2019-11-14
EP3547684A1 (en) 2019-10-02
JP6836614B2 (ja) 2021-03-03
US20190306525A1 (en) 2019-10-03
CN110324636B (zh) 2021-02-05
EP3547684B1 (en) 2020-02-26
TWI763983B (zh) 2022-05-11
US10856002B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
CN108574843B (zh) 确定用于视频编码的gop长度的方法和编码器系统
Huang et al. Analysis and complexity reduction of multiple reference frames motion estimation in H. 264/AVC
CN103650504B (zh) 基于图像捕获参数对视频编码的控制
Zhang et al. An efficient coding scheme for surveillance videos captured by stationary cameras
CN108737837A (zh) 形成视频流的方法及图像处理单元
US20070064799A1 (en) Apparatus and method for encoding and decoding multi-view video
EP2727344B1 (en) Frame encoding selection based on frame similarities and visual quality and interests
KR20150009578A (ko) 비디오 인코딩을 위한 모션 센서 보조 레이트 제어
CN104160703A (zh) 经对象检测所通知的编码
KR100972222B1 (ko) 영상 부호화 방법 및 장치, 영상 복호 방법 및 장치, 그들의 프로그램을 기록한 기록 매체
Jun et al. An efficient priority-based reference frame selection method for fast motion estimation in H. 264/AVC
CN110324636A (zh) 用于对视频流中的帧序列进行编码的方法、设备和系统
CN102098516A (zh) 多视点视频解码端去块滤波方法
Paul Efficient video coding using optimal compression plane and background modelling
CN101257631A (zh) 对包含淡变和闪光的视频信号的压缩
JP2011166370A (ja) 映像信号符号化装置及び映像信号符号化方法
Zuo et al. Library based coding for videos with repeated scenes
CN102036074A (zh) 基于嵌入式设备的码率控制方法及装置
CN104995917A (zh) 一种自适应运动估计方法和模块
JP2007228101A (ja) 動画像符号化装置
CN116614631B (zh) 视频处理方法、装置、设备及介质
CN101742297B (zh) 一种基于视频运动特征的宏块自适应帧场编码方法及设备
Paul et al. Efficient video coding considering a video as a 3D data cube
JP2007013828A (ja) 符号化装置、復号化装置、符号化方法及び復号化方法
JP2007081744A (ja) 動画像符号化装置及び動画像符号化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant