用于对视频流进行编码的方法、视频编码器和摄像机技术

技术编号:19126541 阅读:33 留言:0更新日期:2018-10-10 07:56
本发明专利技术提供了一种用于对视频流进行编码的方法、视频编码器和摄像机。该方法包含接收将被编码的视频流的帧、在帧中执行运动检测以识别稳定区域、以及对帧进行时间滤波以提供时间滤波像素值。针对在帧的稳定区域中的像素,在像素属于帧中的将被帧内编码的像素块的条件下,在对像素进行编码时使用时间滤波像素值。在像素改为属于帧中的将被帧间编码的像素块的条件下,在对像素进行编码时使用在对紧接着的前一帧的对应像素进行编码时所使用的值。

【技术实现步骤摘要】
用于对视频流进行编码的方法、视频编码器和摄像机
本专利技术涉及视频编码领域。更具体地,本专利技术涉及一种用于对视频流进行编码的方法、视频编码器和摄像机。
技术介绍
摄像机的使用正变得日益普及。摄像机的一个应用是用于监控。例如,可以布置摄像机网络来监视场景。由摄像机捕捉的视频流通常在被传输到网络中的另一节点(例如服务器或客户端)之前在摄像机中被编码。视频编码通常受制于在一方面为编码视频流的比特率和另一方面为编码视频的质量之间的折衷。在如上所述的相机系统中,由摄像机捕捉的视频流通常会因噪声而降级。由于对噪声进行编码是昂贵,而且对视频质量没有贡献,因此视频流优选在编码之前进行噪声滤波。由于现代编解码器(例如实现h.264或h.265标准的编解码器)对时间噪声比对空间噪声敏感得多,所以通常在对视频流进行编码之前应用时间噪声滤波器。当场景中没有移动时,时间噪声滤波在不引入人为因素的情况下对于减少噪音非常有效。例如,考虑在视频流的两个连续帧之间场景中没有移动的情况。在这种情况下,时间噪声是当前帧和前一帧中相同像素之间的唯一差异,并且时间滤波器对于在不引入人为因素的条件下降低噪声是有效的。然而,即使时间噪声在这样的像素中减少,视频流的连续帧之间的像素值仍将存在波动。这些波动以不希望的方式影响输出比特率。特别是,像素值的时间波动影响帧间编码块的编码成本。更详细地,如果像素属于帧中的将被帧间编码的像素块,即,编码依赖于预测来自前一帧的像素中的值,则只要像素值已经从前一帧改变其值,就将存在用于对该像素值进行编码的成本。然而,如果像素值反而相对于前一帧保持不变,则可以通过仅参考前一帧的像素值而无成本地对该像素进行编码。因此有改进的余地。
技术实现思路
鉴于以上所述,因此本专利技术的目的是提供一种进一步降低编码视频流的比特率的编码方法。根据本专利技术的第一方面,上述目的通过一种对视频流进行编码的方法来实现,该方法包含:接收将被编码的视频流的帧,在帧中执行运动检测以识别稳定区域,其中稳定区域是帧中的未检测到运动的区域,对帧进行时间滤波以便为帧中的每个像素提供时间滤波像素值,针对在帧的稳定区域中的每个像素:在像素属于帧中的将被帧内编码的像素块的条件下,在对像素进行编码时使用时间滤波像素值,在像素属于帧中的将被帧间编码的像素块的条件下,在对像素进行编码时使用在对紧接着的前一帧的对应像素进行编码时所使用的值。所提出的方法基于以下认识:通过消除在未检测到运动的像素中的由噪声引起的像素值的时间波动,可以减少比特率。具体而言,如果像素属于帧的稳定区域并且该像素属于将被帧间编码的像素块,则在对该像素进行编码时使用在对前一帧中的对应像素进行编码时所使用的值。结果,通过仅参考前一帧的对应像素,可以无成本地或者少成本地对该像素进行帧间编码。因此,只要像素中不存在运动并且只要该像素属于将被帧间编码的块,则编码器所使用的像素值就被“冻结(frozen)”,即保持在恒定级别。恒定级别每当像素属于将被帧内编码的块时被更新,并且对应于那时的时间滤波像素值。以这种方式,帧间编码块将更便宜,原因在于帧之间的时间波动被移除,并且帧内编码块的成本将保持相同。与此同时,图像质量不会受到太大影响。紧接着的前一帧是指紧接在另一帧之前的帧,即在两帧之间不存在其它帧。在下文中,为了简单起见,术语前一帧和紧接着的前一帧将被互换使用。时间滤波像素值是指被输入有像素值的时间滤波器的输出值。如果两个像素具有相同的像素位置,即使在视频流的不同帧中,这两个像素也被认为是对应的。在对视频帧序列进行编码时,通常根据所使用的编码标准将每个视频帧划分成像素块,例如16×16像素、32×32像素或64×64像素的块,并且逐块对该帧进行编码。这些块被称为h.264/MPEG-4(第四代运动图像压缩标准)AVC(高级视频编码)中的宏块,以及h.265/HEVC(高效率视频编码)中的编码单元。因此,这里使用的帧的像素块通常是指从h.264/MPEG-4AVC中已知的宏块或者从h.265/HEVC中已知的编码单元。这些块可以被编码为块内块(intra-block)(有时被称为I-块),或者被编码为块间块(inter-block)(有时被称为P-块或B-块)。如果块是帧内编码的,则像素值仅参照当前帧进行编码,例如通过从相同帧中的相邻块的边缘外推。这与通过执行运动补偿参照参考帧(该参考帧可以对应于视频流中的前一帧)中的像素块进行编码的帧间编码块相反。该方法可以进一步包含:针对不在帧的稳定区域中的像素,在对像素进行编码时使用时间滤波像素值。因此,作为缺省,在对像素进行编码时使用时间滤波像素值。然而,在像素属于稳定区域的条件下,并且附加地,在像素属于将被帧间编码的块的条件下,使用在对前一帧进行编码时所使用的值。上述方法的前提是预先知道(即预先编码)帧中的哪些像素块将被帧间编码以及哪些像素块将被帧内编码。为此目的,该方法可以进一步包含:接收用于指示帧的像素块将被帧内编码还是将被帧间编码的信息。基于接收到的信息,可以做出关于在对像素进行编码时使用哪个值的决定,即,是否应当使用时间滤波值或者在对前一帧的对应像素进行编码时所使用的值。已知的视频编码技术,例如h.264和h.265,使用帧间预测来减少一系列帧之间的视频数据。这涉及例如基于块的运动补偿之类的技术,其中可以通过在参考帧中查找匹配块来逐块预测新帧。通过帧间预测,每个帧被分类为特定类型的帧,例如帧内(intra-frame)(有时被称为I-帧,例如在H.264中)或者帧间帧(inter-frame)(有时被称为P-帧或B-帧,例如在H.264中)。帧内帧是一个可以独立解码而不需要参考任何其他帧的独立的帧。这与参考一个或多个在先解码的帧的帧间帧相反。帧内帧和帧间帧按照一定顺序被布置在由画面组(GOP)结构所定义的视频流中。帧内帧指示GOP结构的开始,并且随后有数个帧间帧。接收到的信息可以包括用于识别视频流中的哪些帧将被编码为帧内帧、以及视频流中的哪些帧将被编码为帧间帧的画面组GOP结构,其中帧内帧中的所有像素块将被帧内编码。接收到的GOP结构因此可以被用来推断当前帧是帧内帧还是帧间帧。如上所述,帧内帧的所有像素块被帧内编码。在一些实施例中,帧间帧的所有像素块被帧间编码。然而,在其他实施例中,帧间帧的一些像素块被帧内编码,而帧间帧的其他像素块被帧间编码。以这种方式,以帧内编码块表示新参考点也可以在帧内帧之间设置。这有时被称为“帧内刷新(intra-refresh)”。具体而言,可以存在识别帧间帧中的将被帧内编码的像素块的预定模式。接收到的信息可能包含这种模式。更具体地,该信息可以进一步包括用于识别GOP结构的帧间帧中的哪些像素块将被帧内编码、以及GOP结构的帧间帧中的哪些像素块将被帧间编码的模式。根据接收到的GOP结构和接收到的模式,可以由此确定帧中的像素块是否将被帧间编码或者将被帧内编码。GOP结构以及上面提到的模式是可以被用于预测帧或者像素块将被帧内编码还是帧间编码的预定结构的示例。然而,将帧编码为帧内帧或帧间帧也可能存在其他原因。例如,当编码的视频流通过网络从编码器传输时,一些帧可能被丢失,即它们将永远不会到达接收者。如果发生这种情况,则可能有必要通过对新的帧内帧进本文档来自技高网
...
用于对视频流进行编码的方法、视频编码器和摄像机

【技术保护点】
1.一种对视频流进行编码的方法,包含:接收(S02)将被编码的视频流的帧,在所述帧中执行运动检测(S04)以识别稳定区域,其中所述稳定区域是所述帧中的未检测到运动的区域,对所述帧进行时间滤波(S06)以便为所述帧中的每个像素提供时间滤波像素值(304a‑e),针对不在所述帧的所述稳定区域中的每个像素:在对所述像素进行编码时,使用(S12)所述时间滤波像素值(304a‑e)作为输入值,针对在所述帧的所述稳定区域中的每个像素:在所述像素属于所述帧中的将被帧内编码的像素块的条件下,在对所述像素进行编码时,使用(S12)所述时间滤波像素值(304a‑e)作为输入值,在所述像素属于所述帧中的将被帧间编码的像素块的条件下,在对所述像素进行编码时,使用(S14)在对紧接着的前一帧的对应像素进行编码时用作输入值的值(306a‑e)作为输入值。

【技术特征摘要】
2017.03.24 EP 17162801.91.一种对视频流进行编码的方法,包含:接收(S02)将被编码的视频流的帧,在所述帧中执行运动检测(S04)以识别稳定区域,其中所述稳定区域是所述帧中的未检测到运动的区域,对所述帧进行时间滤波(S06)以便为所述帧中的每个像素提供时间滤波像素值(304a-e),针对不在所述帧的所述稳定区域中的每个像素:在对所述像素进行编码时,使用(S12)所述时间滤波像素值(304a-e)作为输入值,针对在所述帧的所述稳定区域中的每个像素:在所述像素属于所述帧中的将被帧内编码的像素块的条件下,在对所述像素进行编码时,使用(S12)所述时间滤波像素值(304a-e)作为输入值,在所述像素属于所述帧中的将被帧间编码的像素块的条件下,在对所述像素进行编码时,使用(S14)在对紧接着的前一帧的对应像素进行编码时用作输入值的值(306a-e)作为输入值。2.根据权利要求1所述的方法,进一步包含:接收用于指示所述帧的像素块将被帧内编码还是将被帧间编码的信息。3.根据权利要求2所述的方法,其中所述信息包括用于识别所述视频流中的哪些帧将被编码为帧内帧、以及所述视频流中的哪些帧将被编码为帧间帧的画面组GOP结构,其中帧内帧中的所有像素块将被帧内编码。4.根据权利要求3所述的方法,其中所述信息进一步包括用于识别所述GOP结构的所述帧间帧中的哪些像素块将被帧内编码、以及所述GOP结构的所述帧间帧中的哪些像素块将被帧间编码的模式。5.根据权利要求2-4中任一项所述的方法,其中所述信息包括所述帧被编码为帧内帧的请求。6.根据权利要求1所述的方法,进一步包含:针对所述帧的所述稳定区域中的每个像素:将所述时间滤波像素值(304a-e)与在对所述紧接着的前一帧的对应像素进行编码时用作输入值的所述值(306a-e)进行比较(S13a),在所述时间滤波像素值(304a-e)不同于在对所述紧接着的前一帧的对应像素进行编码时用作输入值的所述值(...

【专利技术属性】
技术研发人员:安东·奥恩维克托·埃德帕尔姆亨里克·伊莱森比约恩·本德留什尼克拉·斯文松范星伏莱德瑞克·皮尔
申请(专利权)人:安讯士有限公司
类型:发明
国别省市:瑞典,SE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1