CN111988610B - 用于控制视频编码器的输出比特率的方法和比特率控制器 - Google Patents
用于控制视频编码器的输出比特率的方法和比特率控制器 Download PDFInfo
- Publication number
- CN111988610B CN111988610B CN202010372445.8A CN202010372445A CN111988610B CN 111988610 B CN111988610 B CN 111988610B CN 202010372445 A CN202010372445 A CN 202010372445A CN 111988610 B CN111988610 B CN 111988610B
- Authority
- CN
- China
- Prior art keywords
- bit rate
- quantization parameter
- output
- average
- during
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/179—Methods 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 a scene or a shot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Closed-Circuit Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了用于控制视频编码器的输出比特率的方法和比特率控制器。方法包括:设置允许的平均比特率;通过在第一时间段期间对视频进行编码,并且对于多个时间间隔中的每个时间间隔,存储所输出的相应输出比特率以及用于在相应时间间隔期间进行编码的量化参数,来收集编码数据。通过根据输出比特率和量化参数,计算为预定标称量化参数估计的对应归一化比特率,为每个时间间隔归一化输出比特率。通过对多个时间间隔的归一化比特率进行平均,计算平均归一化比特率。基于平均归一化比特率与允许的平均比特率的比较,计算新的量化参数。在第一时间段之后的第二时间段期间,使用新的量化参数对视频序列进行编码。
Description
技术领域
本发明涉及视频编码领域,并且尤其涉及控制视频编码器的输出比特率。
背景技术
在诸如网络摄像机监控系统的数字视频系统中,视频序列在传输之前由编码器使用各种视频编码方法进行压缩。在许多情况下,网络中传输视频序列的带宽是有限的,并且因此速率控制器常被用于控制编码器的输出比特率。也可能有对存储器容量的限制,要求对编码器输出的比特数量进行控制。
速率控制器可以应用几种比特率控制方案中的一种。它们可以采用恒定比特率(CBR)、最大比特率(MBR)或可变比特率(VBR)。CBR意味着无论在所捕获的场景中发生什么,编码器都将努力始终输出相同的比特率。如果带宽有限,则当场景中有运动时,可能会导致低质量图像,而当图像是静态的时,会导致高质量图像。在监视或监控情况下,这通常是没有用的,因为具有运动的场景通常比静态场景更让人感兴趣。利用MBR,只要比特率不超过设置的比特率限制,就允许改变比特率。与该方法相关的问题类似于与CBR相关联的问题。如果将MBR限制设置得太低,则具有运动的场景的图像可能质量低。然而,如果将限制设置得较高,为了适应运动,在对静态场景的图像进行编码时,输出比特率可能会不必要地高。VBR也可被称为恒定质量比特率,意味着已编码的图像的质量应该保持恒定,但是允许输出比特率根据场景中发生的情况而变化。当场景中有运动时,此方法可能会导致高的输出比特率。
如果带宽有限,例如在移动网络上传输已编码的图像时,这尤其成问题。类似地,如果存储器有限,例如当在摄像机上(例如,在SD卡上)存储图像时,这也是有问题的。如果几个摄像机同时传输具有运动的场景的图像,则高输出比特率在摄像机的大系统中也可能是有问题的。
数字视频系统中的另一个问题是难以评估对存储器容量的需求。如果使用CBR,则通过简单地将恒定比特率乘以期望的保持时间来轻松地估计所需的存储器容量。然而,使用MBR和VBR时,比特率根据在所捕获的场景中发生的情况而变化。在许多情况下,存储器的成本是数字视频系统成本的很大一部分,并且因此系统所有者希望降低存储器容量。不过,这有丢失记录的视频的风险,因为当在捕获的场景中有大量运动和细节时,在期望的保持时间内输出的比特总量对于可用的存储器容量来说可能太大。
在申请人的未决申请EP-3396961中已经解决了这些问题。这里,通过设置长期比特预算和瞬时比特限制来控制比特率。长期比特预算可以基于可用的存储器容量来设置,并且它被用于确定第一允许的比特率。瞬时比特限制可以基于例如可用带宽来设置,并且它被用于确定第二允许的比特率。基于第一允许的比特率和第二允许的比特率控制输出比特率,以便满足长期比特预算、第一允许的比特率和第二允许的比特率。在本申请中,建议可以使用历史数据作为比特率控制器的输入。然而,仍然需要有效且可靠的方式来考虑经验编码数据。
发明内容
本发明的目的在于提供一种控制来自视频编码器的输出比特率的方法,该方法使得可以确保符合比特预算。
另一个目的在于提供一种控制视频编码器的输出比特率的方法,该方法使得能够有效利用可用的比特预算,从而可以提供监控的场景中的感兴趣事件的高质量图像,同时也确保在所监控的场景中活动很少的时候,比特率不会不必要地高。
本发明的目的还在于提供一种控制视频编码器的输出比特率的方法,该方法使得可以考虑从视频序列的早期编码中获得的信息。
另一个目的在于提供一种用于控制对视频序列进行编码的视频编码器的输出比特率的比特率控制器,该比特率控制器能够实现有效的比特使用。
本发明的还一个目的在于提供一种比特率控制器,该比特率控制器可以利用视频序列的先前编码的数据。
根据第一方面,通过控制对视频序列进行编码的视频编码器的输出比特率的方法来完全或至少部分地实现这些目的,该方法包括:设置允许的平均比特率;通过在第一时间段期间对视频进行编码,并且对于第一时间段的多个时间间隔中的每个时间间隔,存储在该时间间隔期间输出的相应输出比特率以及用于在相应时间间隔期间进行编码的量化参数,来收集编码数据;通过根据输出比特率和在相应时间间隔期间使用的量化参数,计算为预定标称量化参数估计的对应归一化比特率,为每个时间间隔归一化输出比特率;通过对多个时间间隔的归一化比特率进行平均,计算第一时间段内的平均归一化比特率;基于平均归一化比特率与允许的平均比特率的比较,计算新的量化参数;以及在第一时间段之后的第二时间段期间,使用新的量化参数对视频序列进行编码。采用这种方法,有可能以有效的方式控制比特率,使得可以符合允许的平均比特率。这也使得有可能确保比特被明智地使用,从而可以在所监控的场景中提供感兴趣事件的高质量图像,并且使得当在场景中有很少或没有事件发生时,比特率不会不必要地高。通过研究在第一时间段的时间间隔期间的输出比特率,并且了解在那些时间间隔期间使用的量化参数,可以估计如果在所有时间间隔期间使用标称量化参数的情况下将会产生的比特率。该归一化比特率反过来使得可以计算整个第一时间段的归一化的平均比特率。基于归一化的平均比特率和允许的平均比特率,可以计算在第二(随后的)时间段期间在编码视频序列时使用的新的量化参数。因此,可以计算新的量化参数,该新的量化参数应当确保在第二时间段期间的输出比特率保持小于允许的平均比特率。在具有周期性行为(例如在白天的活动变化)的场景中,一旦已经存储了关于用以捕获周期性行为的足够长的第一时间段的数据,就有可能找到使得可能符合允许的平均比特率的新的量化参数。只要过冲由更低输出比特率的时间段补偿,就可以允许输出比特率在第二时间段的部分时间内超过允许的平均比特率。允许的平均比特率可以例如反映可用的存储器容量。允许的平均比特率可以被计算为用可用的存储器容量除以所需的保持时间,并且可以例如用比特每秒或比特每小时来表示。所需的保持时间可以例如是60天。允许的平均比特率可以用余量设置,使得其反映例如90%的可用的存储器容量,从而允许产生较高的输出比特率的意外事件。
在该方法的一些变型中,该方法进一步包括将平均归一化比特率与允许的平均比特率进行比较。当平均归一化比特率大于允许的平均比特率时,计算高于标称量化参数的新的量化参数,并且当平均归一化比特率小于或等于允许的平均比特率时,计算低于或等于标称量化参数的新的量化参数。因此,可以调整第二时间段期间的编码,使得随着时间的推移,符合允许的平均比特率。由此,可以实现所需的保持时间。
当平均归一化比特率大于最大平均比特率时,可以应用最大比特率控制,而当平均归一化比特率小于或等于最大平均比特率时,可以应用可变比特率控制。这是确保符合允许的平均比特率的实用方式,这反过来使得可以确保所需的保持时间。最大平均比特率可被计算为用可用的存储器容量除以所需的保持时间。换句话说,最大平均比特率可被称为没有余量的允许的平均比特率。
可替代地,无论平均归一化比特率是大于还是小于最大平均比特率,都可以使用最大比特率控制,但是当平均归一化比特率大于最大平均比特率时,可以将比特率限制设置低,并且当平均归一化比特率小于或等于最大比特率时,可以将比特率限制设置高。比特率限制可被设置为用最大平均比特率的余量除以第二时间段的长度。
在该方法的一些变型中,收集编码数据进一步包括:对于每个时间间隔,存储关于至少一个已知的比特率增加干扰因子的数据。这使得有可能考虑在第一时间段期间的已知的会增加比特率的事件的发生,从而可以调整新的量化参数的计算。干扰因子可以是增加输出比特率而不提供关于场景中的事件的任何有用的或引起兴趣的信息的任何因子。关于至少一个已知的比特率增加干扰因子的数据本身不需要被存储,但是可以被用于影响所存储的量化参数。
干扰因子可以是在相应时间间隔期间被编码的视频的信噪比SNR。该方法可以进一步包括:当SNR小于第一SNR阈值时,将在时间间隔期间使用的量化参数偏移SNR偏移值,使得在计算平均归一化比特率时将更低的量化参数用于相应时间间隔。如果在视频中存在很多噪声,即,如果SNR更低,则即使在场景中没有发生其它的感兴趣的事件,来自编码器的输出比特率也会升高。通过偏移在具有低SNR的时间间隔期间使用的量化参数,可以在新的量化参数的计算中补偿噪声的影响。例如,如果第一时间段的一个或多个时间间隔是在低光照条件期间,诸如黄昏或黎明,则众所周知的是在那些时间间隔期间捕获的图像中通常存在高水平的噪声。噪声不会有助于理解场景中的事件,但是会增加表示图像所需的比特数,因为它减少了图像帧之间的时间冗余。换句话说,噪声会增加来自编码器的输出比特率,但不会增加取证价值。如果在那些时间间隔期间的噪声被允许影响关于如何在随后的时间段(例如第二时间段)期间对视频进行编码的决定,则使用高的量化参数可能会不必要地严重压缩视频,尤其是如果在那些随后的时间段期间的图像没有那么嘈杂时。
在图像传感器数据的上下文中,噪声是表示在所捕获的场景中不存在的某物的图像传感器数据。噪声可以是时间性的,即从一个图像帧到下一个图像帧变化,或者是空间性的,即在同一帧内从一个像素到另一个像素不同。存在各种噪声源。时间性的噪声可以例如是复位噪声、热噪声、闪烁噪声、暗电流散粒噪声、量化噪声或相位噪声。空间性的噪声可以例如是暗固定模式噪声、亮固定模式噪声、泄漏噪声、缺陷像素噪声或表面缺陷噪声。
干扰因子可以是在相应时间间隔期间的PTZ(摇摄/俯仰/变焦)运动。该方法可以进一步包括:当PTZ运动大于第一PTZ阈值时,将在时间间隔期间使用的量化参数偏移PTZ偏移值,使得在计算平均归一化比特率时,将更低的量化参数用于相应时间间隔。类似于噪声,摄像机运动增加了输出比特率,但没有增加太多的取证价值。因此,当计算平均归一化比特率时,能够通过偏移量化参数来减小这种比特率增加的影响是有用的。
不同于当干扰程度高时偏移量化参数,当干扰程度足够低时,也可以向相反方向偏移量化参数。
在该方法的一些变型中,量化参数、标称量化参数和新的量化参数各自是代表一个或多个量化参数的代表性量化参数。以这种方式,可以在每个图像帧的不同部分中使用不同的量化参数。与代表性量化相比,可以减少或增加图像帧的一部分或特定宏块的量化参数。例如,该减少或增加可以基于该部分或宏块是否被认为是在图像帧的相关或不相关部分中。在申请人的未决申请EP-3021583中公开了一种使用将图像帧划分为相关部分和不相关部分的编码方法。
该方法可以进一步包括:在第二时间段期间,通过在第二时间段期间对视频进行编码,并且对于第二时间段的多个时间间隔中的每个时间间隔,在先进先出的基础上存储在该时间间隔期间输出的相应输出比特率以及用于在相应时间间隔期间进行编码的量化参数,来收集编码数据。可以使用滑动窗口方法,其中,一旦获得了关于足够长的时间段的数据,就使用所存储的数据来确定要在即将到来的时间间隔中使用的新的量化参数。然后将那个时间间隔的输出比特率和量化参数添加到信息库中,并且丢弃对应于同样长的时间间隔的最早的数据。
可以在多个时间点重复该方法,并且其中,第一时间段对应于滑动时间窗,对于每个时间点,该滑动时间窗覆盖该时间点之前的固定持续时间的时间范围。
可以使用指定量化参数的改变如何影响输出比特率的预定关系,计算归一化比特率。通过量化参数中的改变如何影响输出比特率的信息,可以计算或估计归一化比特率,而不必使用标称量化参数对视频序列进行重新编码。
在该方法的一些变型中,使用指定量化参数的改变如何影响输出比特率的预定关系,计算新的量化参数。类似于归一化比特率的计算,量化参数的改变和输出比特率之间的关系的信息使得能够计算或估计新的量化参数,而不需要使用一组不同的测试量化参数对第二时间段的视频序列进行测试编码。
根据第二方面,通过用于控制对视频序列进行编码的视频编码器的输出比特率的比特率控制器来完全或至少部分地实现上述目的,该比特率控制器包括:比特率预置器,被配置为设置允许的平均比特率;数据存储器,被配置为存储来自在第一时间段期间对视频进行编码的编码数据,对于第一时间段的多个时间间隔中的每个时间间隔,存储在该时间间隔期间输出的相应输出比特率以及用于在相应时间间隔期间进行编码的量化参数;输出比特率归一化器,被配置为:通过根据输出比特率和在相应时间间隔期间使用的量化参数,计算为预定标称量化参数估计的对应归一化比特率,为每个时间间隔归一化输出比特率;平均比特率计算器,被配置为根据在相应时间间隔期间使用的量化参数,计算第一时间段内的平均归一化比特率;量化参数计算器,被配置为基于平均归一化比特率与允许的平均比特率的比较,计算新的量化参数;以及控制输出,被配置为将新的量化参数输出到视频编码器,以在第一时间段之后的第二时间段期间对视频序列进行编码。这样的比特率控制器使得有可能使用早期编码的结果的信息来设置用于在随后的时间段期间进行编码的适当的量化参数。这使得能够确保维持所需的保持时间,同时还使得能够有效地使用可用的存储器容量。
第二方面的比特率控制器可以以与第一方面的比特率控制方法基本相同的方式来实现,并具有伴随的优点。
根据第三方面,通过计算机程序产品来完全或至少部分地实现上述目的,该计算机程序产品包括非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质具有适于执行根据第一方面的方法的指令。
根据第四方面,通过包括根据第二方面的比特率控制器的摄像机来完全或至少部分地实现上述目的。
根据第五方面,通过包括根据第二方面的比特率控制器的网络录像机来完全或至少部分地实现上述目的。
从下文给出的详细描述中,本发明的进一步的应用范围将变得显而易见。然而,应该理解,虽然详细描述和具体示例指出了本发明的优选实施方式,但仅仅是以说明的方式给出的,因为根据本详细描述,在本发明范围内的各种变化和修改对于本领域技术人员来说是显而易见的。
因此,应当理解,本发明不限于所描述的设备的特定组件部分或所描述的方法的步骤,因为这种设备和方法可以变化。还应当理解,本文所用的术语仅出于描述特定实施例的目的,而非旨在限制。必须注意,如在说明书和所附权利要求中所使用的,冠词“一”、“一个”、“该”和“所述”旨在表示存在一个或多个元件,除非上下文另有明确规定。因此,例如,对“一个对象”或“所述对象”的引用可包括若干对象,等等。此外,词语“包括”不排除其它元件或步骤。
附图说明
现在将通过示例并参照所附示意图更详细地描述本发明,在附图中:
图1示出了由摄像机监控的场景;
图2是摄像机系统的图;
图3是示出在第一时间段期间由视频编码器所使用的量化参数和由视频编码器所产生的输出比特率的图表;
图4是说明本发明方法的变型的流程图;
图5是示出在第一时间段期间测量的SNR的图表;
图6是示出在第一时间段期间注册的PTZ运动的图表;
图7是示出本发明方法的另一变型的流程图;
图8是比特率控制器的实施例的框图;
图9是图1中的摄像机的框图;以及
图10是网络录像机的实施例的框图。
应当注意,图3、图5和图6中的图表中的比例是任意的。它不指示任何实际值,并且不指示所绘制的参数之间的相对大小。该比例仅被用于指示每个所绘制的参数的变化。
具体实施方式
在图1中,示出了由摄像机1监控的场景。记录由摄像机捕获的视频。尽管在许多情况下优选地基于事件触发器或基于时间表进行记录,以减少所记录的不感兴趣的视频的数量,但是这种记录可以连续进行。
可以在摄像机1上(例如,在SD卡上)完成所记录的视频的存储。如果摄像机1是摄像机系统(例如图2所示的摄像机系统20)的一部分,则可替换地或附加地,可以远离摄像机完成存储,例如在网络录像机21中。网络录像机21可以位于控制中心22中。在控制中心22,操作员可以在用户站23上观看所记录的视频以及直播视频。网络24连接摄像机1、网络录像机21和用户站23。网络录像机21可以替代地与控制中心22分开放置,并且可以例如是云服务。
在许多情况下,需要在所需的保持时间期间存储所记录的视频。例如,如果报告了犯罪,则可能有必要从犯罪时间附近的时间回到视频记录,以调查所监控的场景中发生的情况。保持时间必须足够长,使得在调查人员需要视频数据时,所需的视频数据尚未被覆盖。因此可能需要保证例如30天或60天的保持时间。为了满足该要求,比特率控制是必要的。换句话说,需要控制由摄像机中的编码器产生的视频数据量,使得在所需的保持期间产生的数据量不超过可用存储器的容量,但是在摄像机1中的SD卡上或在网络录像机中。可以注意到,比特率控制对于限制输出比特率通常也是必要的,以便确保来自摄像机1的输出比特率小于网络24的带宽,从而可以确保从摄像机1到例如控制中心22的视频的传输。
解决该问题的一种方法是使用恒定比特率(CBR)控制方案。然而,当所记录的视频最有可能是感兴趣的视频时,即当在场景中有大量运动时,这会降低图像质量。如在本申请的背景技术部分中所提到的,该问题在申请人的未决申请EP-3396961中已经得到解决,其方式也使得能够更有效地使用允许的比特数。在那个申请中,使用两个比特率限制来控制来自编码器的输出比特率。这些比特率限制中的一个可以基于可用带宽,使得已编码的视频可被安全地传输到将被观看或存储的地方。另一个比特率限制可以基于可用的存储器容量和所需的保持时间。然而,在为编码寻找合适的参数以便确保保持时间、保持在可用带宽内以及提供感兴趣事件的高质量图像同时不在视频的不感兴趣部分花费不必要的比特方面仍然存在挑战。下面将通过本发明的示例和实施例描述应对这些挑战的方式。
现在可以参考图4,图4是示出本发明方法的示例的步骤的流程图。在步骤S1中,设置允许的平均比特率。该允许的平均比特率BRavg可以被计算为用可用的存储器容量除以所需的保持时间。它可以例如被表示为每天数兆字节或每秒数兆比特。允许的平均比特率可以有利地设置有余量BRavg,marg,使得其基于例如90%的存储器容量而不是整个存储器容量。以这种方式,可以适应导致即使使用下文描述的方法也难以补偿或不可能补偿的输出比特率增加的突发事件。在下文中,在没有余量的情况下计算出的平均比特率将被称为最大平均比特率BRavg,max。
视频由摄像机1捕获并编码(步骤S2)。如图3所示,在第一时间段T1期间的视频编码的数据被存储。第一时间段T1被划分为多个时间间隔t0、t1、…、tn-1、tn,并且对于每个时间间隔,存储在该时间间隔期间来自编码器的输出比特率(或输出比特的数量)以及在该时间间隔期间使用的量化参数(QP)(步骤S3)。如可在图3的示例中看到的,输出比特率和量化参数在第一时间段T1期间变化。
为了使不同时间间隔的输出比特率数据可用于决定在第二后续时间段T2期间编码视频时如何控制比特率,在步骤S4中归一化每个时间间隔的输出比特率。这意味着计算归一化比特率BRnorm,如果在每个时间间隔期间使用了标称量化参数QPnom,则该归一化比特率BRnorm将从编码器输出。使用量化参数的改变与伴随的输出比特率的改变之间的预定关系,执行输出比特率的归一化。该关系可以通过使用多个不同的量化参数对相同的视频序列进行编码来凭经验确定。根据所使用的编码器,可以知道该关系。例如,以下公式可被用于计算归一化比特率:
其中,BRnorm是归一化比特率,BRx是在时间间隔x期间记录的输出比特率,QPx是在相同的时间间隔期间使用的量化参数,并且QPnom是标称量化参数。
对于一些编码器,该公式通常可被表示为:
其中,C取2与欧拉数e之间的值,这取决于所使用的编码器。
标称量化参数QPnom有利地取接近于随着时间的推移预期成为平均量化参数的值,并且可例如在使用H.264的实施例中取0-51的QP标度上的值29,其中,0表示低压缩,通过使用小的量化步长导致高图像质量,以及51表示高压缩,通过使用大的量化步长导致低图像质量。
在步骤S5中,通过将每个时间间隔的归一化比特率乘以相应时间间隔的长度,对如此计算的比特数求总和,以及将该总和除以第一时间段的长度(即,如果时间间隔都具有相同的长度,则将归一化比特率的总和除以时间间隔的数量),来计算平均归一化比特率。
现在,可以在步骤S6中计算在第一时间段T1之后的第二时间段T2期间编码视频时使用的新的量化参数QPnew。与计算归一化比特率时一样,基于量化参数的改变与伴随的输出比特率的改变之间的预定关系来计算新的量化参数。基于归一化的平均比特率BRnorm,avg与允许的平均比特率BRavg,marg的比,计算新的量化参数QPnew。因此,可以使用下面的公式计算新的量化参数:
应当注意,对数的基数将取决于编码器,并且也通常在2与e之间。
如果归一化的平均比特率大于允许的平均比特率,则在第一时间段期间,为了满足所需的保持时间,已经输出了太多的比特,那么后续时间段中的输出比特率应该与第一时间段期间的输出比特率一样高。在这种情况下,将计算高于标称量化参数QPnom的新的量化参数QPnew。换句话说,与使用标称量化参数相比,视频在第二时间段期间的压缩程度更高。另一方面,如果归一化的平均比特率小于或等于允许的平均比特率,则在仍然满足所需的保持时间的同时,应该有更高图像质量的空间。在这种情况下,将计算低于或等于标称量化参数QPnom的新的量化参数QPnew。
第二时间段的长度可以等于第一时间段T1的时间间隔tx的长度。为了便于计算,第一时间段T1的每个时间间隔tx优选地具有相同的长度。然而,只要知道每个时间间隔的长度,就可以改变长度。
当寻找在即将到来的时间间隔tn+1期间编码视频时要使用的新的量化参数QPn+1时,关于输出比特率和在多个先前时间间隔tx期间使用的量化参数的数据将被用于计算。当该方法被初始化时,首先将没有任何数据,并且要使用的量化参数将必须以某种其它方式确定,例如,设置为编码器中的默认值。在几个时间间隔之后,有了一些数据,使得可以开始使用该方法,但是结果可能不是非常精确。根据场景中的事件,量化参数可能首先相当无规律地改变。在初始化时段之后,将有来自足够数量的时间间隔的数据,以便能够很好地利用它们来确定在即将到来的时间间隔期间使用的新的量化参数。初始化时段的长度可以取决于场景中的稳定或循环事件的情况。例如,在办公楼外,可以有一种日常模式,即人们在清晨上班时有大量活动,在上午期间活动较少,在外出午餐或午餐归来时又有一些活动,在下午期间活动较少,然后在工作日结束时又有大量活动。在夜间,可能只有很少的活动。这种模式可以每天重复,使得来自一天的数据可用于找到合适的量化参数,以共在随后的一天中使用。
一旦有来自足够数量的时间间隔的数据,或者换句话说,有来自足够长的第一时间段的数据,当在先进先出的基础上存储来自最近的时间间隔的数据时,可以丢弃来自最早的时间间隔的数据,使得始终保持恒定数量的时间间隔的数据。
在要计算在随后的第二时间段T2(在本示例中是即将到来的时间间隔tn+1)期间用于编码视频的新的量化参数QPn+1的时间点,使用来自多个先前时间间隔的数据。在该示例中,将使用来自时间间隔t0-tn(即,如图3所示的第一时间段T1)的数据。因此,如以上关于图4所描述的,允许的平均比特率已被设置。这可以在比特率控制器的安装和配置期间完成一次,并且仅当可用的存储器容量或所需的保持时间改变时才需要改变。已经在第一时间段T1期间编码了视频,并且已经为每个时间间隔t0-tn存储了关于输出比特率和量化参数的数据。如以上结合步骤S4所论述的,归一化每个时间间隔的比特率,并且计算第一时间段T1的平均归一化比特率。如在相关步骤S6中论述的,计算在即将到来的时间间隔tn+1期间编码视频时使用的新的量化参数QPn+1。编码器然后在即将到来的时间间隔tn+1期间使用新的量化参数QPn+1对视频进行编码。
重复该过程,从而存储在最新的时间间隔tn+1期间使用的量化参数QPn+1,以及在该时间间隔tn+1期间由编码器产生的输出比特率BRn+1。来自最早的时间间隔(在这里是t0)的数据被丢弃。通过这种方式,虽然时间帧已经对应于一个时间间隔的长度被向前移位,但是来自相同时间量的数据保留在存储器中。因此,第一时间段(其具有关于早期编码的数据)保持固定的持续时间,但是根据滑动窗口原理被移位。
同样,在最近的时间间隔tn+1的视频已被编码之后,当要计算在下一个时间间隔tn+2期间使用的新的量化参数QPn+2时,滑动窗口技术意味着将使用来自先前时间间隔t1-tn+1的数据。这些计算以与上述相同的方式执行。当该最近的时间间隔tn+2的视频已经被编码时,存储量化参数QPn+2和所产生的输出比特率BRn+2,并丢弃最早的时间间隔t1的数据。重复该过程,每当要寻找新的量化参数以在随后的第二时间段期间对视频进行编码时,就使用固定持续时间的先前第一时间段的每个时间间隔的关于量化参数和输出比特率的数据。如上所述,第二时间段T2的长度可以有利地等于第一时间段T1的相应时间间隔tx的长度。
如上所述,新的量化参数的计算基于归一化的平均比特率与允许的平均比特率的比较。归一化的平均比特率与最大平均比特率的比较也可被用于确定应当使用哪种比特率控制方案。如果归一化的平均比特率与最大平均比特率的比较发现平均归一化比特率大于最大平均比特率,则可以应用最大比特率控制MBR,以确保满足所需的保持时间。相反,如果归一化的平均比特率小于或等于允许的平均比特率,则可以应用可变比特率控制VBR,从而可以获得恒定的图像质量,而不是恒定的输出比特率。如上所述,也可以在所有时间应用MBR,但是根据归一化的平均比特率与最大平均比特率的比较的结果使用不同的比特率限制。
考虑到并非所有比特率增加都具有任何实际的取证价值,可以对上述方法进行补充。例如,众所周知,捕获的图像中的噪声往往会增加来自编码器的输出比特率。如果噪声是暂时的,则图像帧之间的冗余度会降低,从而即使视频的观看者对噪声不感兴趣,也需要更多的比特来表示帧之间的变化,并且因此不会增加取证价值。类似地,场景和摄像机之间的相对运动通常增加了来自编码器的输出比特率,但并非所有这样的运动都是观看者感兴趣的。场景中的实际运动或变化通常比由摄像机的运动引起的明显运动更令人感兴趣。自然地,摇摄、俯仰和变焦操作(也被称为PTZ运动)对于捕获的视频的观看者是有价值的,因为它们使得有可能看到原本可能不可见的场景的部分,但是在运动期间引起的比特率增加本身并不会增加有用的信息。
如果在第一时间段T1的一些时间间隔tx期间已经出现了这种比特率增加干扰因子,则在那些时间间隔中的输出比特率增加不会增添取证价值,而是将增添归一化的平均比特率。这反过来会导致基于该归一化的平均比特率计算的新的量化参数QPnew的增加。如果比特率增加干扰因子只是暂时出现,即预计不会在第二时间段T2期间再次出现,则在第二时间段期间使用的新的量化参数QPnew可能会不必要地高,导致在第二时间段期间次优的图像质量。为了避免此类比特率增加干扰因子(诸如噪声或摄像机运动)在第二时间段期间负面地影响图像质量,可以为第一时间段的每个时间间隔存储关于这种已知的比特率增加干扰因子的数据。
在图5中,示出了示例,该示例中已经为每个时间间隔存储了关于SNR的数据以及关于量化参数和输出比特率的数据。在图6中,示出了类似的示例,该示例中已经存储了关于PTZ运动的数据。
参考图7,现在将描述本发明方法的变型,在该变型中考虑了已知的比特率增加干扰因子。
以与结合图4所描述的相同的方式,在步骤S1中,设置允许的平均比特率,并且在步骤S2中,在第一时间段期间对视频进行编码。步骤S3’相对于图4中的步骤S3被修改,因为除了关于输出比特率和量化参数的数据之外,还为第一时间段的每个时间间隔存储了关于至少一个已知的比特率增加干扰因子的数据。添加了步骤S3a。在步骤S3a中,基于关于比特率增加干扰因子的数据,偏移在相应时间间隔中使用的量化参数。如果比特率增加干扰被认为足够重要,以至于会另外干扰新的量化参数的计算,则在用于新的量化参数的计算之前,人为地降低在时间间隔期间使用的量化参数。这样,可以减小甚至消除比特率增加干扰因子的影响。
考虑噪声(被表示为SNR)的示例,如果时间间隔中的SNR小于第一SNR阈值(在图5的图表中由虚线SNRth示出),则将在该时间间隔期间使用的量化参数偏移SNR偏移值,使得在归一化的平均比特率的计算中使用更低的量化参数,例如,比量化参数低一个步长或步长的一部分。因此,新的量化参数的计算被“欺骗”成假设在受噪声影响的时间间隔期间部分输出比特率是由更低的量化参数引起的。
参考图6,考虑被称为PTZ运动的摄像机运动的示例,如果时间间隔中的PTZ运动大于第一PTZ阈值PTZth,那么将该时间间隔期间所使用的量化参数偏移PTZ偏移值,使得在归一化的平均比特率的计算中使用更低的量化参数。因此,新的量化参数的计算将基于这样的人为假设,即在该时间间隔期间由编码器输出的部分比特率是由更低的量化参数引起的。PTZ运动可以例如按照摇摄或俯仰运动的速度来表示,或者表示为变焦因子。
可能地,可以为一个或多个干扰因子设置多于一个的阈值。例如,如果在时间间隔期间的SNR小于第一SNR阈值,则在该时间间隔期间使用的量化参数可被偏移第一SNR偏移值,从而比实际量化参数低一个步长或步长的一部分的量化参数被用于归一化的平均比特率的计算。如果有更多的噪声,使得SNR也小于第二SNR阈值(第二SNR阈值低于第一SNR阈值),则在该时间间隔期间使用的量化参数可被偏移第二SNR偏移值,该第二SNR偏移值比第一SNR偏移值对量化的偏移更大,例如大一个或多个步长。
应当注意,诸如噪声和PTZ运动的干扰因子不需要被如此存储。相反,通过影响为相应时间间隔存储的量化参数,它们可被间接地存储,使得量化参数与偏移一起被存储。
此外,如上所述,当几乎没有或没有干扰时,可以改为应用相反的偏移。
可以在诸如图8中示意性示出的比特率控制器80中执行本发明方法。下文描述的各种模块或比特率控制器的部分可以用硬件或软件或它们的任何组合来实现。因此,一些或所有模块可以是被配置为执行下文描述的一个或多个功能的电路的形式。附加地或可替换地,比特率控制器可以包括非暂时性计算机可读介质和用于存储和执行指令的处理器,该指令用于执行一个或多个功能。
比特率控制器80具有比特率预置器81,该比特率预置器81被配置为设置允许的平均比特率。比特率控制器还具有数据存储器82,该数据存储器82被配置为存储来自在第一时间段T1期间的编码的编码数据。对于第一时间段中的每个时间间隔,数据存储器应当存储在该时间间隔期间输出的相应输出比特率,以及在该时间间隔期间使用的量化参数。
进一步地,比特率控制器80具有输出比特率归一化器83,该输出比特率归一化器83被配置为:通过根据输出比特率和在相应时间间隔期间使用的量化参数,计算为预定标称量化参数估计的对应归一化比特率,为每个时间间隔归一化输出比特率。
比特率控制器80还具有平均比特率计算器84,该平均比特率计算器84被配置为根据在相应时间间隔期间使用的量化参数,计算第一时间段内的平均归一化比特率;量化参数计算器85,被配置为基于平均归一化比特率与允许的平均比特率的比较,计算新的量化参数;以及控制输出86,被配置为将新的量化参数输出到视频编码器,以在第一时间段之后的第二时间段期间对视频序列进行编码。
比特率控制器80可以使用上述方法进行操作。
在图9中,示出了摄像机1的简化框图。摄像机1具有镜头91、图像传感器92、比特率控制器80、编码器93、本地存储器94以及网络接口95。如本领域技术人员所理解的,摄像机1具有附加组件,但是由于这些组件对于解释本发明不是必需的,因此它们没有被包括在附图中,并且将不进行进一步地讨论。通过镜头91和图像传感器92,摄像机1捕获场景1的图像。由编码器93对图像进行编码,以形成已编码的图像帧的流。比特率控制器80控制编码器93的输出比特率,如上文所述。本地存储器94可以例如是SD卡,并且可被用于在摄像机中本地存储已编码的图像帧。通过网络接口95,摄像机1可以将已编码的图像帧发送到网络录像机21和/或用户站23。
在图10中,示出了网络录像机21的简化框图。网络录像机21具有网络接口101,网络接口101具有用于连接到摄像机系统20中的摄像机1的输入102,以及用于连接到用户站23的输出103。进一步地,网络录像机21具有存储单元104和比特率控制器80。存储单元104可以例如是磁盘驱动器。以上已经详细描述了比特率控制器80的功能。网络录像机21也可以具有其它组件,但是由于这些组件对于解释本发明不是必需的,因此它们没有在附图中示出并且将不进行进一步的讨论。网络录像机21的比特率控制器80可以控制与其连接的一个或多个摄像机的编码器。这在需要共享可用带宽和存储器容量的两个或多个摄像机的系统中尤其有用。如果网络录像机的比特率控制器控制一个或多个摄像机的编码,则在摄像机中不需要比特率控制器。
可以在计算机程序的帮助下执行本发明方法。该计算机程序可被存储在非暂时性计算机可读存储介质上,并且非暂时性计算机可读存储介质可以包括当由具有处理能力的设备执行时适于执行该方法的指令。
量化参数在整个图像帧中可以是相同的。然而,在图像帧的不同部分或宏块中使用不同的量化参数可能是有利的。例如,前景或图像的被认为相关的部分中的宏块可以比背景或图像的被认为不相关的部分中的宏块压缩得更少。如在发明内容中提及的,申请人的未决申请EP-3021583描述了这种方法。如果使用此类变化的量化参数,则在第一时间段期间使用的量化参数以及标称量化参数和新的量化参数可以各自是代表一个或多个量化参数的代表性量化参数。例如,代表性量化参数可以是基本量化参数,根据基本量化参数,例如基于要编码的宏块的相关性进行偏移。
如以上示例,已经提到了一个或几个步长的量化参数的偏移。应当注意,可能希望使用更小或更大的偏移。通过使例如色度通道偏移一个步长并保持亮度通道不变,可以使偏移小于一个步长。通过局部地偏移量化参数,比一个步长更小的步长也是可能的,例如在一个帧中的图像的上半部分偏移量化一个步长,并且在下一帧中的下半部分偏移一个步长。还可以注意到,存在这样的编码器,其不使用QP步长,但是本发明仍然同样对其适用。例如,AV1使用量化值的查找表。
应当理解,本领域技术人员可以以许多方式修改上述实施例,并且仍然使用如上述实施例所示的本发明的优点。作为示例,编码器不必被集成在摄像机中,而可以是被可操作地连接到摄像机的单独的单元。
比特率控制器已经被描述为被集成在摄像机或网络录像机中,但是它也可以被布置为单独的单元,并且被可操作地连接到摄像机、摄像机的系统或网络录像机。
进一步地,虽然摄像机和网络录像机两者都被描述为包括比特率控制器,但是在摄像机或网络录像机中省去比特率控制器是有可能的。如果在每个摄像机中本地执行比特率控制,则不必在网络录像机中包括比特率控制器。类似地,如果在网络录像机中执行比特率控制方法,则可不必在摄像机中具有比特率控制器。类似地,如果使用单独的比特率控制器,则摄像机和网络录像机都不需要包括比特率控制器。
由编码器编码的图像可被直接从捕获摄像机接收,或者它们可能早已被捕获并存储。因此,图像的直接源可以是图像传感器或数据文件。
摄像机可以是任何种类的摄像机,诸如使用可见光的摄像机、使用NIR(近红外)辐射的摄像机或热成像仪。
摄像机有利地是数字摄像机,但是可以替代地是连接到数字化单元的模拟摄像机。
已经在监控摄像机(有时被称为监视摄像机)的上下文中描述了本发明,但是本发明也可被有利地用于其它摄像机应用中。
虽然摄像机系统已被示出为包括网络录像机,但是布置没有网络录像机的摄像机系统是完全可能的。在这样的系统中,存储可以在摄像机中本地发生和/或远程发生,例如在控制中心中。
在附图中示出并在上文讨论的摄像机1包括本地存储器94。在一些摄像机系统中,本地存储器可以是唯一的存储器,而在其它摄像机系统中,本地存储器可被用于备份和冗余,其中,存储也会发生在网络录像机中或在用户站内或处的存储设备上。例如,服务器可被布置用于控制中心中的存储。在一些摄像机系统中,在摄像机中不包括本地存储器,并且仅使用网络录像机或其它外部存储器。
视频的记录或存储可被连续地执行,但是在许多情况下,仅在由诸如视频运动检测或来自诸如PIR传感器的报警设备的输入的事件触发时才存储视频是有利的。以这种方式,通过仅存储潜在感兴趣的视频序列而不存储在场景中什么也没有发生时的视频,可以节省存储器容量。
已编码的图像帧可被连续地传输到用户站,但是这也可能受到事件触发的限制。在一些视频系统中,已编码的图像帧可被连续地传输到控制中心,以供存储和/或由操作员立即观看,并且它还可以仅基于事件触发而被传输到移动设备,以便当在场景中发生某些事情时可以警告用户。
摄像机中的本地存储器可被用于所谓的故障转移记录。这意味着如果正常地从摄像机连续地传输已编码的图像帧,则在失去与网络的连接时可以开始本地存储。一旦恢复网络连接,存储在本地存储器中的视频数据就可被传输到用户站,并且完整的视频序列可被恢复。
编码器可根据采用运动估计和运动补偿的任何编码标准来操作。编码器可以例如是基于块的混合编码器,诸如H.264(AVC)编码器、H.265(HEVC)编码器、VP9编码器或AV1编码器。
可以通过执行存储在非暂时性计算机可读存储介质上的指令来执行本发明方法。该指令可由具有处理能力的任何设备执行,诸如中央处理单元(CPU)、图形处理单元(GPU)、在集成电路、ASIC、FPGA或包括离散组件的逻辑电路中实现的定制处理设备。
在上面的描述中,已经讨论了已知的比特率增加干扰因子的两个示例。同样也可以考虑其它这样的干扰因子。比特率增加干扰因子的附加的示例是焦点变化和移动的覆盖层。
虽然以上已经描述了不同的实施例和变型,但是它们不应被视为是孤立的,而是可以自由地对其特征进行组合。
因此,本发明不应被限于所示实施例,而是应仅由所附权利要求限定。
Claims (15)
1.一种控制对视频序列进行编码的视频编码器的输出比特率的方法,所述方法包括:
设置允许的平均比特率;
通过在第一时间段期间对视频进行编码,并且对于所述第一时间段的多个时间间隔中的每个时间间隔,存储在所述时间间隔期间输出的相应输出比特率以及用于在所述时间间隔期间进行编码的相应量化参数,来收集编码数据;
通过计算基于预定标称量化参数估计的并且作为所述相应输出比特率和所述相应量化参数的函数的对应归一化比特率,为每个时间间隔归一化所述输出比特率;
通过对所述多个时间间隔的所述归一化比特率进行平均,计算所述第一时间段内的平均归一化比特率;
基于所述平均归一化比特率与所述允许的平均比特率的比较,计算新的量化参数;以及
在所述第一时间段之后的第二时间段期间,使用所述新的量化参数对所述视频序列进行编码。
2.根据权利要求1所述的方法,进一步包括:
将所述平均归一化比特率与所述允许的平均比特率进行比较,
当所述平均归一化比特率大于所述允许的平均比特率时,计算高于所述标称量化参数的新的量化参数,并且
当所述平均归一化比特率小于或等于所述允许的平均比特率时,计算低于或等于所述标称量化参数的新的量化参数。
3.根据权利要求2所述的方法,进一步包括:
当所述平均归一化比特率大于最大平均比特率时,应用最大比特率控制,并且
当所述平均归一化比特率小于或等于所述最大平均比特率时,应用可变比特率控制。
4.根据权利要求1所述的方法,其中,收集编码数据进一步包括:
对于每个时间间隔,存储关于至少一个已知的比特率增加干扰因子的数据。
5.根据权利要求4所述的方法,其中,所述干扰因子是在所述时间间隔期间被编码的所述视频的信噪比SNR,所述方法进一步包括:
当所述SNR小于第一SNR阈值时,将在所述时间间隔期间使用的所述量化参数偏移SNR偏移值,使得在计算所述平均归一化比特率时,将更低的量化参数用于所述时间间隔。
6.根据权利要求4所述的方法,其中,所述干扰因子是在所述时间间隔期间的摇摄/俯仰/变焦PTZ运动,所述方法进一步包括:
当所述PTZ运动大于第一PTZ阈值时,将在所述时间间隔期间使用的所述量化参数偏移PTZ偏移值,使得在计算所述平均归一化比特率时,将更低的量化参数用于所述时间间隔。
7.根据权利要求1所述的方法,其中,所述量化参数、所述标称量化参数和所述新的量化参数各自是代表一个或多个量化参数的代表性量化参数。
8.根据权利要求1所述的方法,进一步包括,在所述第二时间段期间:
通过在所述第二时间段期间对视频进行编码,并且对于所述第二时间段的多个时间间隔中的每个时间间隔,在先进先出的基础上存储在所述时间间隔期间输出的相应输出比特率以及用于在所述时间间隔期间进行编码的相应量化参数,来收集编码数据。
9.根据权利要求1所述的方法,其中,在多个时间点重复所述方法,并且其中,所述第一时间段对应于滑动时间窗,对于每个时间点,所述滑动时间窗覆盖所述时间点之前的固定持续时间的时间范围。
10.根据权利要求1所述的方法,其中,使用指定量化参数的改变如何影响输出比特率的预定关系,计算所述归一化比特率。
11.根据权利要求1所述的方法,其中,使用指定量化参数的改变如何影响输出比特率的预定关系,计算所述新的量化参数。
12.一种用于控制对视频序列进行编码的视频编码器的输出比特率的比特率控制器,所述比特率控制器包括:
比特率预置器,被配置为设置允许的平均比特率,所述比特率预置器根据可用的存储器容量计算所述允许的平均比特率;
数据存储器,被配置为存储来自在第一时间段期间对视频进行编码的编码数据,并且对于所述第一时间段的多个时间间隔中的每个时间间隔,存储在所述时间间隔期间输出的相应输出比特率以及用于在所述时间间隔期间进行编码的相应量化参数;
输出比特率归一化器,被配置为:通过计算基于预定标称量化参数估计的并且作为所述相应输出比特率和所述相应量化参数的函数的对应归一化比特率,为每个时间间隔归一化所述输出比特率;
平均比特率计算器,被配置为通过对所述多个时间间隔的所述归一化比特率进行平均,计算所述第一时间段内的平均归一化比特率;
量化参数计算器,被配置为基于所述平均归一化比特率与所述允许的平均比特率的比较,计算新的量化参数;以及
控制输出,被配置为将所述新的量化参数输出到所述视频编码器,以在所述第一时间段之后的第二时间段期间对所述视频序列进行编码。
13.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质包括适于执行方法的指令,所述方法包括:
设置允许的平均比特率;
通过在第一时间段期间对视频进行编码,并且对于所述第一时间段的多个时间间隔中的每个时间间隔,存储在所述时间间隔期间输出的相应输出比特率以及用于在所述时间间隔期间进行编码的相应量化参数,来收集编码数据;
通过计算基于预定标称量化参数估计的并且作为所述相应输出比特率和所述相应量化参数的函数的对应归一化比特率,为每个时间间隔归一化所述输出比特率;
通过对所述多个时间间隔的所述归一化比特率进行平均,计算所述第一时间段内的平均归一化比特率;
基于所述平均归一化比特率与所述允许的平均比特率的比较,计算新的量化参数;以及
在所述第一时间段之后的第二时间段期间,使用所述新的量化参数对所述视频序列进行编码。
14.一种摄像机,包括用于控制对视频序列进行编码的视频编码器的输出比特率的比特率控制器,所述比特率控制器包括:
比特率预置器,被配置为设置允许的平均比特率,所述比特率预置器根据可用的存储器容量计算所述允许的平均比特率;
数据存储器,被配置为存储来自在第一时间段期间对视频进行编码的编码数据,并且对于所述第一时间段的多个时间间隔中的每个时间间隔,存储在所述时间间隔期间输出的相应输出比特率以及用于在所述时间间隔期间进行编码的相应量化参数;
输出比特率归一化器,被配置为:通过计算基于预定标称量化参数估计的并且作为所述相应输出比特率和所述相应量化参数的函数的对应归一化比特率,为每个时间间隔归一化所述输出比特率;
平均比特率计算器,被配置为通过对所述多个时间间隔的所述归一化比特率进行平均,计算所述第一时间段内的平均归一化比特率;
量化参数计算器,被配置为基于所述平均归一化比特率与所述允许的平均比特率的比较,计算新的量化参数;以及
控制输出,被配置为将所述新的量化参数输出到所述视频编码器,以在所述第一时间段之后的第二时间段期间对所述视频序列进行编码。
15.一种网络录像机,包括用于控制对视频序列进行编码的视频编码器的输出比特率的比特率控制器,所述比特率控制器包括:
比特率预置器,被配置为设置允许的平均比特率,所述比特率预置器根据可用的存储器容量计算所述允许的平均比特率;
数据存储器,被配置为存储来自在第一时间段期间对视频进行编码的编码数据,并且对于所述第一时间段的多个时间间隔中的每个时间间隔,存储在所述时间间隔期间输出的相应输出比特率以及用于在所述时间间隔期间进行编码的相应量化参数;
输出比特率归一化器,被配置为:通过计算基于预定标称量化参数估计的并且作为所述相应输出比特率和所述相应量化参数的函数的对应归一化比特率,为每个时间间隔归一化所述输出比特率;
平均比特率计算器,被配置为通过对所述多个时间间隔的所述归一化比特率进行平均,计算所述第一时间段内的平均归一化比特率;
量化参数计算器,被配置为基于所述平均归一化比特率与所述允许的平均比特率的比较,计算新的量化参数;以及
控制输出,被配置为将所述新的量化参数输出到所述视频编码器,以在所述第一时间段之后的第二时间段期间对所述视频序列进行编码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19176483.6A EP3742728B1 (en) | 2019-05-24 | 2019-05-24 | A method and bitrate controller for controlling output bitrate of a video encoder |
EP19176483.6 | 2019-05-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988610A CN111988610A (zh) | 2020-11-24 |
CN111988610B true CN111988610B (zh) | 2022-11-04 |
Family
ID=66647276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010372445.8A Active CN111988610B (zh) | 2019-05-24 | 2020-05-06 | 用于控制视频编码器的输出比特率的方法和比特率控制器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11178401B2 (zh) |
EP (1) | EP3742728B1 (zh) |
JP (1) | JP7419152B2 (zh) |
KR (1) | KR102537858B1 (zh) |
CN (1) | CN111988610B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11496925B2 (en) * | 2020-04-30 | 2022-11-08 | The Nielsen Company (Us), Llc | Methods and apparatus to determine virtual WiFi data rate |
KR20220132155A (ko) * | 2021-03-23 | 2022-09-30 | 삼성전자주식회사 | 전자 장치 및 최대 양자화 값 가감을 통한 인코딩 방법 |
CN116016924A (zh) * | 2022-12-29 | 2023-04-25 | 杭州海康威视数字技术股份有限公司 | 一种视频数据的编码方法、装置及设备 |
CN116506664B (zh) * | 2023-06-25 | 2023-09-15 | 北京淳中科技股份有限公司 | 一种视频码流生成方法、装置、电子设备及介质 |
CN116708789B (zh) * | 2023-08-04 | 2023-10-13 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于人工智能的视频分析编码系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192075B1 (en) * | 1997-08-21 | 2001-02-20 | Stream Machine Company | Single-pass variable bit-rate control for digital video coding |
CN102301710A (zh) * | 2009-01-29 | 2011-12-28 | 微软公司 | 使用用于自适应视频流传输的可变比特率和动态分辨率的多比特率视频编码 |
CN106331704A (zh) * | 2015-07-07 | 2017-01-11 | 杭州海康威视数字技术股份有限公司 | 一种视频码率控制方法及视频编码装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0428160D0 (en) | 2004-12-22 | 2005-01-26 | British Telecomm | Variable bit rate processing |
US20060227870A1 (en) * | 2005-03-10 | 2006-10-12 | Tao Tian | Context-adaptive bandwidth adjustment in video rate control |
CN100574427C (zh) | 2005-08-26 | 2009-12-23 | 华中科技大学 | 视频编码比特率的控制方法 |
US8107537B2 (en) | 2006-02-02 | 2012-01-31 | Sharp Laboratories Of America, Inc. | Picture layer rate control for video encoding |
US8582647B2 (en) | 2007-04-23 | 2013-11-12 | Qualcomm Incorporated | Methods and systems for quality controlled encoding |
IT1398196B1 (it) | 2009-06-25 | 2013-02-14 | St Microelectronics Srl | Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini |
WO2015130793A1 (en) * | 2014-02-25 | 2015-09-03 | Apple Inc. | Backward-compatible apparatus and method for providing video with both standard and high dynamic range |
EP3021583B1 (en) | 2014-11-14 | 2019-10-23 | Axis AB | Method of identifying relevant areas in digital images, method of encoding digital images, and encoder system |
US10264268B2 (en) | 2015-04-07 | 2019-04-16 | Shenzhen Boyan Technology Ltd. | Pre-encoding for high efficiency video coding |
JP6537396B2 (ja) * | 2015-08-03 | 2019-07-03 | キヤノン株式会社 | 画像処理装置、撮像装置および画像処理方法 |
CN105847805A (zh) | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种基于滑动窗口的码率控制方法和装置 |
EP3396954A1 (en) | 2017-04-24 | 2018-10-31 | Axis AB | Video camera and method for controlling output bitrate of a video encoder |
EP3396961A1 (en) | 2017-04-24 | 2018-10-31 | Axis AB | Method and rate controller for controlling output bitrate of a video encoder |
-
2019
- 2019-05-24 EP EP19176483.6A patent/EP3742728B1/en active Active
-
2020
- 2020-04-06 KR KR1020200041753A patent/KR102537858B1/ko active IP Right Grant
- 2020-04-27 JP JP2020077906A patent/JP7419152B2/ja active Active
- 2020-04-30 US US16/863,245 patent/US11178401B2/en active Active
- 2020-05-06 CN CN202010372445.8A patent/CN111988610B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192075B1 (en) * | 1997-08-21 | 2001-02-20 | Stream Machine Company | Single-pass variable bit-rate control for digital video coding |
CN102301710A (zh) * | 2009-01-29 | 2011-12-28 | 微软公司 | 使用用于自适应视频流传输的可变比特率和动态分辨率的多比特率视频编码 |
CN106331704A (zh) * | 2015-07-07 | 2017-01-11 | 杭州海康威视数字技术股份有限公司 | 一种视频码率控制方法及视频编码装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3742728A1 (en) | 2020-11-25 |
US11178401B2 (en) | 2021-11-16 |
JP2020205580A (ja) | 2020-12-24 |
EP3742728B1 (en) | 2022-09-21 |
CN111988610A (zh) | 2020-11-24 |
KR102537858B1 (ko) | 2023-05-26 |
JP7419152B2 (ja) | 2024-01-22 |
TW202101983A (zh) | 2021-01-01 |
US20200374527A1 (en) | 2020-11-26 |
KR20200135159A (ko) | 2020-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988610B (zh) | 用于控制视频编码器的输出比特率的方法和比特率控制器 | |
US9992455B2 (en) | Video encoding method and video encoder system | |
US10110929B2 (en) | Method of pre-processing digital images, and digital image preprocessing system | |
US20130027581A1 (en) | Adaptive auto exposure adjustment | |
KR102067199B1 (ko) | 비디오를 인코딩하기 위한 방법 및 인코더 시스템 | |
CN105991976A (zh) | 生成事件视频序列的方法和系统以及包括此系统的摄像机 | |
JP5766877B2 (ja) | 類似度、視覚的品質、および関心に基づくフレーム符号化選択 | |
CN108737827B (zh) | 用于控制视频编码器的输出比特率的方法和比特率控制器 | |
JP6094956B2 (ja) | 画像符号化装置、撮影画像記録システム、撮像装置、画像符号化方法、および画像符号化プログラム | |
US11115619B2 (en) | Adaptive storage between multiple cameras in a video recording system | |
EP3989587A1 (en) | Image processing device and method of pre-processing images of a video stream before encoding | |
CN118158429A (zh) | 视频故障转移记录 |
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 |