CN108737837B - 形成视频流的方法及图像处理单元 - Google Patents

形成视频流的方法及图像处理单元 Download PDF

Info

Publication number
CN108737837B
CN108737837B CN201810378469.7A CN201810378469A CN108737837B CN 108737837 B CN108737837 B CN 108737837B CN 201810378469 A CN201810378469 A CN 201810378469A CN 108737837 B CN108737837 B CN 108737837B
Authority
CN
China
Prior art keywords
motion
frame
length
image
encoded
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
Application number
CN201810378469.7A
Other languages
English (en)
Other versions
CN108737837A (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.)
Axis AB
Original Assignee
Axis AB
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 Axis AB filed Critical Axis AB
Publication of CN108737837A publication Critical patent/CN108737837A/zh
Application granted granted Critical
Publication of CN108737837B publication Critical patent/CN108737837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/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/57Motion estimation characterised by a search window with variable size or shape
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/177Methods 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 group of pictures [GOP]
    • 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/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/527Global motion vector estimation
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6815Motion detection by distinguishing pan or tilt from motion
    • 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

Abstract

本发明涉及形成视频流的方法及图像处理单元。公开了用于基于由相机捕捉到的场景的图像来形成视频流的方法。该方法包括:编码器基于由相机捕捉到的图像对图像帧进行编码,以形成视频流的编码部分;确定样本图像帧的运动长度,样本图像帧是编码部分中的编码后的图像帧中的一个,运动长度指示样本图像帧相对于时间上在先的图像帧的、相机与场景之间的相对运动量;基于编码器的运动矢量搜索范围来设定运动长度阈值;将所确定的运动长度与所设定的运动长度阈值进行比较;基于比较的结果,对视频流的至少调整部分的所选时间性帧距离进行调整,其中调整部分被包括在编码部分中或者在时间上稍后的编码部分中。还公开了被配置为形成视频流的图像处理单元。

Description

形成视频流的方法及图像处理单元
技术领域
本发明涉及视频编码领域,并且更具体地涉及如何形成视频流以用于编码。
背景技术
在诸如网络相机监控系统的数字视频系统中,使用各种视频编码方法在传输和/或存储之前对视频序列进行压缩。在许多数字视频编码系统中,使用两种主要模式来对一系列视频帧中的视频帧进行压缩:帧内模式以及帧间模式。在帧内模式中,通过预测、变换和熵编码并利用单个帧的给定信道中的像素的空间性冗余,来对亮度和色度信道进行编码。编码后的帧被称为帧内帧(intra-frames),并且也可被称为I帧。在帧内帧中,像素块(也称为宏块、编码单元或编码树单元)以帧内模式被编码,这意味着参考相同图像帧内的相似块来对像素块进行编码,或者对像素块进行没有任何参考的原始编码。帧间模式反而是利用单独的帧之间的时间性冗余,并且依赖于运动补偿预测技术,该运动补偿预测技术通过针对所选像素块对从一帧到另一帧的像素运动进行编码,从而根据一个或多个先前帧来对帧的部分进行预测。编码后的帧被称为帧间帧(inter-frames),并且可以被称为P帧(前向预测帧),P帧可以参考解码顺序下的先前帧,或B帧(双向预测帧),B帧可以参考两个或更多个先前解码的帧并且可以具有用于预测的帧的任意显示顺序关系。在帧间帧中,像素块可以以帧间模式被编码,这意味着参考先前解码的图像中的相似块对像素块进行编码,或者像素块可以以帧内模式被编码,这意味着参考相同图像帧内的相似块来对像素块进行编码或者对像素块进行没有任何参考的原始编码。
帧间帧通常比帧内帧需要更少的比特来表示图像。类似地,帧间帧的帧间编码块需要比帧内编码块更少的比特位。因此,为了节约存储空间和传输带宽,使用帧间帧并且在帧间帧中使用少量的帧内编码块是有益的。
当要对像素块进行帧间编码时,搜索参考帧中充分相似的像素块。如前所述,参考帧是先前被编码并解码的图像帧。由于参考帧中的块被认为与当前图像中的将被编码的块足够相似而被用作参考块,因此当前图像帧中的块与参考帧中的潜在可能的块之间的差值必须低于预定的相似度阈值。该差值可以例如被表示为绝对差值的合计值SAD。通过获取当前图像帧中的像素与参考帧中的比较块中的对应像素之间的绝对差值并且针对块中的所有像素计算所有这种差值的合计值,来计算SAD。因此,SAD可以被表示为如下:
Figure BDA0001640405090000021
这里,N是所研究的块中的像素的数量,Vc,n是当前图像帧中的像素n的像素值,并且Vr,n是参考帧中的对应像素n的像素值。
如果搜索从其开始的块被认为与将被编码的块相似,则将该第一块用作参考块,并且计算出运动矢量,该运动矢量用于描述图像帧中的将被编码的块相比于参考帧中的参考块位移了多少。
另一方面,如果搜索从其开始的块与将被编码的块差别太大,即如果SAD高于预定的阈值,则搜索继续至另一块。通过用于搜索的搜索模式来确定继续至哪一块。有许多可行的搜索模式,诸如螺旋模式搜索、三步搜索、四步搜索、穷举搜索、二进制搜索、菱形搜索、二维对数搜索、正交搜索、一次一个搜索、交叉搜索、自适应十字模式搜索、分层搜索、或空间相关搜索等。可以使用螺旋搜索模式的变形,诸如黄金螺旋模式或斐波纳契螺旋模式等。只要一找到相似块,就会停止搜索,并且该相似块被用作参考块。通常,编码器对搜索可持续多长时间有所限制,因为否则就可能会花费太长时间来执行将被实时执行的编码搜索。可以将搜索的最大长度设定为例如块的行数或列数。如果在没有找到相似块的情况下达到了搜索的最大长度,则将当前图像帧中的块编码为帧内编码块,即I块,因为这通常比将其编码为具有较大残差的P块(即,使用不太相似的块作为参考块)更为有效。对于当前图像中的所有块,以这种方式来重复进行搜索和编码。
当在捕捉到的场景中存在大量明显运动时,无论是因为场景中存在实际运动、因为场景中存在照明变化、或者因为相机以平移或倾斜运动、缩放操作或摇晃运动而相对于场景移动,在帧间帧中编码I块的概率都会增加,因为从一帧到下一帧发生的运动通常会大于拟合在搜索的最大长度内的最长运动矢量。这意味着参考帧中可能存在着足够相似的块,但是它在最大搜索范围之外。因此许多块将需要被帧内编码。这将导致更大的图像文件、需要更多的带宽以及存储容量。希望在不会不必要地牺牲图像质量的情况下,而且当捕捉图像帧的相机正在移动时以及当在捕捉到的场景中存在大量运动或变化时,都能够减少用于表示图像帧而所需的比特的数量。
发明内容
本发明的目的在于提供一种方法,当在场景中存在大量明显运动时,该方法使得有可能以有效的比特率使用率来对视频流中的图像帧进行编码。
本发明的目的还在于提供一种图像处理单元,能够实现视频流的高效编码。
根据第一方面,这些以及其他的目的将全部或者至少部分地通过用于基于由相机捕捉到的场景的图像来形成视频流的方法来实现,该方法包括:由编码器基于由相机捕捉到的图像对图像帧进行编码,形成视频流的编码部分;确定样本图像帧的运动长度,该样本图像帧是编码部分中的编码后的图像帧中的一个,该运动长度指示样本图像帧相对于时间上在先的图像帧的、相机与场景之间的相对运动量;基于编码器的运动矢量搜索范围来设定运动长度阈值;将所确定的运动长度与所设定的运动长度阈值进行比较;基于比较结果,对视频流的至少调整部分的所选时间性帧距离进行调整,其中调整部分被包括在编码部分中或者在时间上稍后的编码部分中。这种方法可以在场景中存在运动或者用于捕捉场景的相机正在移动时适应性地进行编码。这可以节约比特率。
如本文所使用的,“相机与场景之间的相对运动”意味着场景中的运动以及相机的移动。场景中的运动反过来可以由在场景中实际移动的物体而引起,但是也可以由照明变化而引起。相机的移动可以是相机的平移、倾斜或滚动移动、以及缩放操作。如果相机未被完全固定,则相机的移动也可以由摇晃而引起。
对所选时间性帧距离进行调整的动作可以包括,在所确定的运动长度高于所设定的运动长度阈值时,通过对N≥1个附加图像帧进行编码来减小调整部分的所选时间性帧距离,其中一个或多个附加图像帧位于调整部分的连续图像帧之间。通过对附加图像帧进行编码,因为任意块的移动遍布在更多的图像帧上,所以像素块可以被编码为P块的可能性增加。
一个或多个附加图像帧可以位于样本图像帧与在先图像帧之间。
在该方法的一些变形中,一个或多个附加图像帧使用运动矢量来进行帧间编码且没有残差。由此,比特率可以被进一步降低,因为残差未被编码。
一个或多个附加图像帧可以与非显示标记相关联,该非显示标记用于指示该一个或多个附加图像帧不通过视频流的接收器被显示。在这种方式下,可以保持接收端处的帧速率。如果编码后的视频流的接收器(例如视频管理系统)不能改变显示的帧速率,则这可以是必要的。
在该方法的一些变形中,对所选帧速率进行调整的动作包括:在所确定的运动长度低于所设定的运动长度阈值时,通过去除视频流的编码后的图像帧来增加调整部分的所选时间性帧距离。因此,当运动很少或没有时,可以节约比特率。
运动长度阈值可以被设定为可在运动矢量搜索范围内被检测到的像素块的最长运动长度。在这种方式下,考虑了运动矢量搜索范围,当运动太大而不能用帧间编码来进行编码时,可以对帧速率进行调整。
该方法还可以包括:将所确定的运动长度与运动长度上阈值进行比较;并且在所确定的运动长度低于运动长度上阈值的情况下,对所选时间性帧距离进行调整。由此,当运动太大而不能通过编码附加图像帧来进行补偿时,可以避免对时间性帧距离(或者换言之帧速率)进行调整。
确定编码部分中的样本图像帧的运动长度的动作可以包括将样本图像帧与时间上在先的图像帧进行比较。
在一些变形中,该方法还包括:在比较动作之前,缩小样本图像帧和先前图像帧。由此,可以在相同的运动矢量搜索范围内找到更长的运动矢量。
该方法还可以包括:接收对相机的运动进行指示的数据;其中确定样本图像帧的运动长度的动作是基于所接收到的数据的。对运动进行指示的数据可以从相机的运动传感器或平移-倾斜-变焦PTZ控制单元接收。
根据第二方面,这些以及其他的目的将全部或者至少部分地通过计算机程序产品来实现,该计算机程序产品包括具有指令的非暂时性计算机可读存储介质,所述指令在由具有处理能力的设备执行时,适于执行第一方面的方法。
根据第三方面,这些以及其他的目的将全部或者至少部分地通过被配置为形成视频流的图像处理单元来实现,该图像处理单元包括:接收器,被布置为:接收由图像传感器捕捉到的场景的图像;编码器,被配置为:基于接收到的图像对图像帧进行编码,以形成视频流的编码部分;以及帧速率控制器,被配置为:确定样本图像帧的运动长度,该样本图像帧是编码部分中的编码后的图像帧中的一个,该运动长度指示样本图像帧相对于时间上在先的图像帧的、相机与场景之间的相对运动量;基于编码器的运动矢量搜索范围来设定运动长度阈值;将所确定的运动长度与所设定的运动长度阈值进行比较;并且基于比较的结果,对视频流的至少调整部分的所选时间性帧距离进行调整,其中调整部分被包括在编码部分中或者在时间上稍后的编码部分中。
第三方面的图像处理单元通常可以以与具有所附优势的第一方面的方法相同的方式来实施。
根据第四方面,这些以及其他的目的将全部或者至少部分地通过包括根据第三方面的图像处理单元的相机来实现。
本发明的适用性的进一步范围将根据下面给出的详细描述而变得显而易见。然而,应当理解,虽然详细描述和具体示例,在指示本发明的优选实施例时,仅通过例证的方式给出,但是对于本领域技术人员而言,本发明的范围内的各种变化以及修改根据该详细描述将会变得显而易见。
因此,应当理解,因为所描述的设备和方法可以变化,本发明并不限于所描述的设备的特定部件或所描述的方法的步骤。还应当理解,本文所使用的术语仅用于描述具体实施例的目的,并不旨在进行限制。必须指出,如在说明书和所附权利要求中使用的词语“一”、“该”和“所述”旨在表示存在一个或多个元素,除非上下文中另有明确说明。因此,例如提及“一物体”或“该物体”可以包括多个物体,等等。此外,用语“包括”并不排除其他元件或步骤。
附图说明
现在将通过示例的方式并且参考示意性附图来更加详细地描述本发明,其中:
图1是由相机监控的场景的透视图;
图2a是由相机捕捉到的图1的场景的图像的图示;
图2b是由相机捕捉到的图1的场景的另一图像的图示;
图3示出被划分为像素块以用于编码的图2a和图2b的图像;
图4示出图3的图像和附加图像;
图5是一系列编码后的图像帧的图示;
图6是根据本发明的变形的已调整了帧速率的一系列编码后的图像帧的图示;
图7是根据本发明的另一变形的已调整了帧速率的一系列编码后的图像帧的图示;
图8a和8b示出运动矢量的直方图的示例;
图9是本发明的方法的变形的流程图;
图10是根据本发明的实施例的视频处理单元的框图;以及
图11是根据本发明的实施例的相机的框图。
具体实施方式
在图1中,示出了由相机2监控的场景1。在场景1中,可以看到汽车3。相机2是对场景1的一系列图像进行捕捉的摄像机。图2a示出在第一时间点捕捉到的场景1的第一图像10。在这里,汽车3出现在图像10的左侧。图2b示出在稍后的第二时间点捕捉到的第二图像20。现在汽车3向右行驶了一段距离,因此在图像20中出现在右侧。
图3示出被示意性地划分为像素块11,21以用于编码的两个图像10,20。例如,每个图像可以由1920×1080个像素构成,并且像素可以被分组为例如64×64个像素的块,从而产生30×17个块。然而,为了图的清晰起见,图3中仅示出了减少数量后的块。
当欲对第二图像20进行编码时,将第一图像10的编码和解码版本用作参考帧,并且使用帧间编码。针对第二图像20中的每个像素块21,在第一图像10中搜索充分相似的块。作为示例,将对由方格纹图案所标记的块22进行研究,块22表示汽车靠近后轮的部分。基本上表示汽车的同一部分的相应块12被标记在第一图像10中。当搜索足够相似的块以用作参考块时,该搜索开始于第一图像10中的、与将在第二图像20中被编码的块22的位置相对应的位置。在第二图像中,在与将被编码的块22相对应的位置处的块13由阴影标记。搜索从被相应定位的块13开始并且沿着例如自起始块13起的螺旋图案行进。可以注意到,为了简单起见,像在第二图像20中一样,在第一图像10中示出了像素至块的相同分组。然而,搜索不必限于相同的分组,而是可以在子像素级上进行。在这个简化的示例中,搜索限于搜索区域14,该搜索区域14高度为七个块并且宽度为七个块,并在图3中以虚线标记。可以看出,在这种方式下,搜索将不会到达相似的块12。因此将要被编码的块22将不得不使用帧内编码,即作为I块来进行编码。正如在背景技术部分中已经讨论的那样,具有许多I块的帧间帧通常比具有较少I块的帧间帧需要更多的比特。因此,来自用以对包含第一图像10和第二图像20的视频序列进行编码的编码器的输出比特率可能会不必要地偏高。
根据本发明,这个问题可以通过增加图像帧被编码时的帧速率来解决。这看起来可能违反直觉,因为更多的图像帧相比于更少数量的图像帧预计需要更多的比特来进行编码。然而,本发明的发明人已经认识到,通过增加图像帧被编码时的帧速率,物体在两个连续帧之间移动的距离相比于如若使用了较低的帧速率而言将会更短。因此,可以增加P块的比率,从而允许比特率的降低,该比特率的降低可以超过由增加的比特率所引起的比特率的增加。以每秒帧数或fps表示的帧速率也可以根据以秒表示的时间性帧距离(temporalframe distance)来考虑。例如,如果图像帧以30fps的速率被编码,则连续帧之间的时间性距离(temporal distance)是1/30秒。因此,帧速率和时间性距离是控制同一事物的两个参数,即图像帧多久被编码一次。
以图像10,20中的汽车为例,可以理解,如果使用双倍的帧速率,则在第一图像10与第二图像20之间会存在附加图像。在第一图像10的捕捉时间与第二图像20的捕捉时间之间被中途捕捉到的这种附加图像中,假设汽车以与捕捉帧速率相比合理恒定的速度移动,则汽车将仅移动了从第一图像帧10到第二图像帧20的一半,如同从第一图像帧10到附加图像帧那么远。这在图4中示出,其中在第一图像10与第二图像20之间添加了附加图像30。为了不使附图混乱,除了将要被编码的块22以及为了解释本发明而所需的其他图像中的块之外,图4中并未示出块边界。
当对第二图像20中所标记的块22进行编码时,将附加图像30的编码和解码版本用作参考帧。在此,可以看出,由块22表示的汽车部分从捕捉附加图像30的时刻移动到捕捉第二图像20的时刻,没有如同其在对第一图像10的捕捉和对第二图像20的捕捉之间移动的那么远。在附加图像30中搜索充分相似的块将开始于被相应定位的块33处。采用与之前相同的针对运动矢量搜索区域34的限制,在搜索区域34内实际上找到了和将要被编码的块22一样用于表示汽车的同一的部分的相似块32。因此,将被编码的块22可以参考相似块32而以帧间编码来被编码为P块,运动矢量指示出当前块22相比于参考块32位移了多少,并且残差指示出当前块22的像素值与参考块32的像素值有多少不同。由于P块通常比I块需要更少的比特以用于编码,因此即使被编码的帧数增加,来自编码器的输出比特率也可以被降低。
图5中示出了编码后的图像帧的视频序列或视频流50的示例。在该示例中,视频序列50从第一图像帧10开始,接着是第二图像帧20,继而是一系列图像帧。视频流50以第一帧速率被编码,其在图5中由第一时间性帧距离dt1示出。
如上所述,对于将所有块编码为P块,在第一图像帧10与第二图像帧20之间存在太多的运动。取决于需要将多少个块编码为I块,在第一图像帧和第二图像帧之间引入附加图像帧3是值得的。如果仅需将少量的块编码为I块,例如,如果小物体在场景中快速移动,则由附加图像所增加的比特率可能会高于由I块所增加的比特率,使得引入附加图像帧30将是不利的。然而,如果需要将许多的块编码为I块,例如,如果大物体在场景中快速移动或者如果相机正在移动,则由附加图像帧所增加的比特率可以小于由I块所增加的比特率,使得在总计上可以节约比特位。
现在将描述确定何时增加帧速率或者换言之确定何时减小时间性帧距离的方式。在图5中,视频流的第一部分(将被称为调整部分PA)被标记。调整部分PA由第一视频流的一部分(即多个连续图像帧)构成。第二图像帧20在此将被用作样本图像帧。针对样本图像帧20确定运动长度。运动长度表示在时间上在先的图像帧(在这种情况下是第一图像帧10)与样本图像帧20之间的、相机与场景之间的相对运动量。应该指出,相对运动可以具有很多来源。相机与场景之间的相对运动可以由场景中一个或多个物体的运动而引起。场景中的照明变化也可以体现为运动。此外,如果相机正在平移和/或倾斜运动下移动,则这将在捕捉到的图像中被体现为运动。同样地,如果相机正在进行放大(zoom in)或缩小(zoom out),这将被体现为运动。另外,如果相机在无意中以摇晃运动的方式移动,则这也会在捕捉到的图像中被体现为运动。
确定是否应该添加附加图像(使得时间性帧距离减小)的一种方式是研究在对第二图像20进行编码时所计算出的运动矢量。如果该运动矢量中的很多都很长,以至于它们处于或接近由运动搜索区域所限制的最大长度,则这可能表明存在着大量的快速移动。可以制作直方图,其中不同长度的运动矢量被分类到分组箱(bin)中。图8中示出了这种直方图的示例。每个分组箱都代表运动矢量长度。可以研究直方图以查看是否存在任何峰值,这意味着图像帧中存在许多块以特定长度的运动矢量被编码。由于图3所示的示例中的运动矢量搜索范围的限制是宽为七个块并且高为七个块的区域,所以可被编码的最长运动矢量是水平方向上的三个块长以及垂直方向上的三个块长。因此,运动长度阈值被设定为三个块。图8a示出表示其中大多数运动矢量具有最大运动矢量长度MVmax的大约一半长度的图像帧的直方图。应当注意,图8a和8b中所示的直方图仅仅是示例性的,并且显示出的最大运动矢量长度MVmax不一定是三个块。如图8b所示,如果第二图像帧20中的许多块已经以在任何方向上的长度为三个块的运动矢量来编码,则可以推测还存在着可能用稍长的运动矢量编码的块,使得编码器能够或者允许在更大的区域中进行搜索。如图6所示,通过插入附加图像30,达到了将第二图像帧20中的像素块编码为P块的更好机会。类似地,在调整部分PA中的每对连续图像帧之间插入附加图像,使得帧速率加倍,并且使得时间性帧距离从第一视频序列50的第一时间性帧距离dt1减半至第二视频序列60的第二时间性帧距离dt2。在调整部分PA之后,帧速率可以返回至原始帧速率,使得时间性帧距离返回到第一时间性帧距离dt1
可以注意到,如果实时地进行编码,则可能无法在样本图像帧20之前添加附加图像帧30。相反,添加附加图像帧可能会在样本图像帧之后开始。这在图7中示出,图7示出视频流70,在视频流70中,在样本图像帧20之后通过添加附加图像帧30来增加帧速率。
可以采取不同的方法来确定何时增加帧速率(即,减小时间性帧距离)。在这些方法中的每一种方法中都考虑了用以表示相机与场景之间的相对运动量的运动长度。运动长度可以被确定为在样本图像帧中被编码的最长运动矢量,使得一旦采用具有拟合在运动矢量搜索范围内的最大长度的运动矢量对任何块进行编码,则帧速率就会被增加。在这种方式下,即使只有单一的块,该单一的块代表仅场景的一小部分已移动到足够需要最长的可用运动矢量,帧速率也会被增加。可替代地,样本图像帧的运动长度可以被确定为最长运动矢量长度,至少预定数量的块已经使用该最长运动矢量长度进行编码。因此,如果只有一个或少量的块已经用与运动矢量搜索范围的最大值相对应的运动矢量来进行编码,则这将不会导致增加帧速率的决定,但是如果例如10%的块已经用这样长的运动矢量进行编码,那么该长度将被认为是样本图像帧的运动长度。在这种方式下,少量的块将被允许编码为I块,从而可以通过不添加附加图像帧来节约比特。也可以使用样本图像帧中的所有运动矢量的平均值或中值,来作为该样本图像帧的运动长度。无论用于确定运动长度的方法如何,每个运动矢量都可以具有x方向上的长度以及y方向上的长度。取决于运动矢量如何被编码,可能会令人关注的是不仅要研究每个运动矢量的总长度,而且还要分别研究x分量和y分量的长度。
可以注意到,利用上述方法,不可能找到比拟合在运动矢量搜索范围内的那些运动矢量更长的运动矢量。然而,通过缩小样本图像帧及其参考帧,运动矢量搜索范围可以有效地覆盖原始图像帧的较大部分,使得可以找到较长的运动矢量。在这种方式下,不仅可以确定出一些运动矢量处于运动矢量搜索范围的极限处,而且还可以确定出一些运动矢量甚至会更长。可以找到的运动矢量的长度取决于样本图像帧和参考图像帧以什么因素被缩小。通过在运动矢量搜索之前缩小图像帧,不仅可以确定帧速率应被增加,而且还可以确定增加多少。例如,如果该缩小能够找到实际上比在全尺寸图像中能够找到的运动矢量长出三倍的运动矢量,那么如果最长运动矢量是运动长度阈值的两倍,则帧速率应通过为调整部分中的每个图像帧添加一个附加图像帧来加倍,并且如果最长运动矢量是运动长度阈值的三倍,则帧速率应通过为调整部分中的每个图像帧添加两个附加图像帧而为三倍。
对样本图像帧的运动长度进行确定的另一种方法是使用来自相机的PTZ控制器的输入。PTZ控制器对相机的平移和倾斜移动进行控制,并且对变焦进行控制。尽管变焦不会导致相机的实际移动,但是在由相机捕捉到的图像中,变焦会产生与相机移动相同的效果。来自PTZ控制器的输入可以指示该移动对应于多少个像素块。可替代地,PTZ输入可以告知例如相机视场已被移动了多少度,然后该信息可以被转换成多个像素块。PTZ移动通常涉及x方向和y方向上的移动以及旋转。可以计算出这些移动的加权平均值,并且可以将样本图像帧的加权后的全局的运动长度与运动长度阈值进行比较。如果运动长度高于运动长度阈值,则调整部分的帧速率被增加。
此外,可以使用相机中的运动传感器来确定样本图像帧的运动长度。运动传感器可以例如是加速度计或陀螺仪。该方法还提供样本图像帧的全局的运动长度,并且将该运动长度与运动长度阈值进行比较,以确定是否应当增加帧速率。
不管使用哪种方法,必须对可通过减少P帧中的I块的数量来节约的比特加以权衡,以对抗由添加附加图像帧而引起的比特增加。
通常,可以对用于对运动矢量进行编码、用于对P块进行编码以及用于对I块进行编码的比特成本进行估计。作为简化的示例,用于对运动矢量进行编码所需的比特的数量与对运动矢量的长度取log2成正比。如果许多块具有同步的运动矢量,则比特成本较低。例如,对P块进行编码所需的比特的数量可以被估计为20个比特,并且对I块进行编码所需的比特的数量可以被估计为200个比特。用于帧的开销成本也可以被估计并且除以图像帧中的块数,例如每块0.1个比特。
在从第一图像帧10到第二图像帧20的运动高于最大运动矢量长度,但是附加图像帧的编码将从一个图像帧到下一个图像帧的运动减少至低于最大运动矢量长度的情况下,可以节约比特。例如,如果从第一图像帧10到第二图像帧20的运动是最大运动矢量长度的两倍,则第一图像帧与第二图像帧之间的附加图像帧30的编码将运动减少到第一图像帧10与附加图像帧30之间的最大运动矢量长度以及附加图像帧30与第二图像帧20之间的最大运动矢量长度。利用上面给出的示例性数字,这样可以节约的I块的比特成本减去P块的成本的两倍后的比特(即200-2×20=160个)。这种节约的概率可以被表示为p0并且针对像素的每个块进行计算。
还存在一些情况,增加帧速率将会造成比特率方面的损失。其中之一是当在第一图像帧和第二图像帧之间存在来回的振荡运动时,因为振荡物体可以在对应于附加图像帧的第一图像帧与第二图像帧之间的一时间点处处于从其原始位置起的最大位移处,而第二图像帧中,该振荡物体可能已经返回到它的原始位置。这种损失的概率可以被表示为p1。
另一种损失情况是当存在加速移动时。从第一图像帧到附加图像帧的运动可能低于最大运动矢量长度,但是随着速度的增加,从附加图像帧到第二图像帧的运动可能会太大,使得第二图像帧中的块可能无论如何都需要被编码为I块,从而使得附加图像帧不起作用,而是仅仅增加了比特。这种损失的概率可以被表示为p2。
同样地,当存在减速运动时也可能会造成损失。在这种情况下,从第一图像帧到附加图像帧的运动可能会超过最大运动矢量长度的一半,这表明没有附加图像帧,从第一图像帧到第二图像帧的运动会高于最大运动矢量长度。然而,随着减速,从附加图像帧到第二图像帧的运动可能会足够小,使得从第一图像帧到第二图像帧的总运动低于最大运动矢量长度。这种损失的概率可以被表示为p3。
考虑到概率p0、p1、p2和p3,可以计算每块像素的节约量。如果该节约量高于间接成本,则帧速率应被增加。
在类似于增加帧速率时的方式下,存在着场景中很少或根本没有运动的情况,其中降低帧速率将有利于比特率方面。帧速率降低通常会被预期为降低来自编码器的输出比特率,但是根据上面的讨论可以理解,情况并非总是如此。如果场景中存在一些移动并且帧速率被降低,则必须使用帧内编码来进行编码的像素块的数量可能会增加,因为从一帧到下一帧的块的位移量大于拟合在运动矢量搜索范围内的最长运动矢量。如上所述的相同原理可以被用于确定何时可以安全地降低帧速率。样本图像帧的运动长度被确定。如上所述,这可以通过许多不同的方式来完成。将运动长度与运动长度阈值进行比较,并且如果运动长度低于运动长度阈值或低于运动长度阈值达预定的余量,则可以做出降低帧速率的决定,换言之增加时间性帧距离。这可以通过从视频序列的调整部分中移除一个或多个图像帧来完成。也可以通过避免对在视频序列的时间上稍后的编码部分中对一个或多个图像帧进行编码来完成。
现在将借助图9所示的示例来总结本发明的原理。
图像由诸如图1中的相机2等相机来捕捉。相机2也在图11中示出,这将在下面进一步讨论。图像在编码器中被编码(图9中的步骤S1),由此形成视频流的编码部分。基于编码器的运动矢量搜索范围来设定运动长度阈值(S2)。如上所述,运动矢量搜索范围通常被设定为具有多个像素块的宽度以及多个像素块的高度的区域。在一些编码器中,运动矢量搜索反而受限于最大搜索时间。为样本图像帧确定运动长度(S3)。样本图像帧是视频流的编码部分中的编码后的图像帧中的一个。如上所述,运动长度的确定可以以各种方式来完成。将样本图像帧的运动长度与运动长度阈值进行比较(S4),并且基于该比较,对视频流的调整部分的时间性帧距离进行调整(S5)。如果运动长度高于运动长度阈值,则时间性帧距离被减小,即帧速率被增加。如果运动长度低于运动长度阈值,则时间性帧距离可以被增加或保持不变。可以针对由预定数量的连续图像帧组成的视频流的调整部分,执行对时间性帧距离的调整。在调整部分之后,帧速率并且由此时间性帧距离可以返回到调整之前。可替代地,可以维持调整后的帧速率,直到稍后的样本图像帧中的运动长度与运动长度阈值这两者的新的比较指示出需要新的调整或者返回原始帧速率将是明智的为止。
在一些应用中,诸如视频管理系统的编码视频流的接收器在显示或存储视频流时可能无法调整帧速率。在这种情况下,用非显示标志对附加图像帧进行编码可能是有利的。非显示标志将通知接收端上的解码器:附加图像帧不应被显示而是仅用于解码。即使编码器(和解码器)的帧速率已经被增加,所显示的图像帧也因此而保持原始帧速率。
如果不显示附加图像帧,则可以通过以运动矢量对附加图像帧进行编码来实现进一步的比特率节约,但是没有残差。在这种方式下,解码器将使用附加图像帧的运动矢量来追溯回到不具有非显示标志的在最近的在先参考帧中的参考块,并且被编码的残差将是与该参考帧相比较的残差,而不是与其间的附加图像相比较的残差。
在图10中,示出了被配置为形成视频流的图像处理单元90的示例的框图。图像处理单元90可以根据上述方法来进行工作。图像处理单元90具有接收器91,该接收器91被布置为接收由相机2捕捉到的图像。此外,图像处理单元90具有编码器92,该编码器92被布置为基于接收到的图像对图像帧进行编码,以形成视频流的编码部分。图像处理单元90还具有帧速率控制器93。该帧速率控制器93被布置为确定样本图像帧的运动长度,该样本图像帧是视频流的编码部分中的编码后的图像帧中的一个。如上所述,运动长度指示样本图像帧相对于时间上在先的图像帧的、相机与的场景之间的相对运动量。帧速率控制器93被配置为基于编码器的运动矢量搜索范围来设定运动长度阈值。此外,帧速率控制器被配置为将所确定的运动长度与所设定的运动长度阈值进行比较,并且基于比较结果,对视频流的至少调整部分的所选时间性帧距离进行调整。换言之,可以基于运动长度与运动长度阈值的比较来对帧速率进行调整。如上所述,调整部分被包括在视频流的编码部分中或者在视频流的时间上稍后的编码部分中。图像处理单元90可以以软件、固件或硬件、或者其任何组合来实现。
图像处理单元90可以被集成在诸如图1及图11所示的相机2的相机等相机中。相机2具有用于对图像进行捕捉的镜头101和图像传感器102。如本领域技术人员所理解的,除了图11中所示的那些之外,相机2还具有其他部件。然而,由于那些其他部件对于描述本发明而言不是必需的,所以它们未被示出在图11中并且将不会进一步讨论。
图像处理单元90可以是相机2中的独立的单元,或者图像处理单元90可以由相机2的不同部件来组成。例如,相机2可以具有中央处理单元,该中央处理单元执行图像处理单元90的一些功能,并且其还执行其他的功能,诸如噪声滤波、白平衡和失真校正等。
可以理解的是,本领域技术人员可以以多种方式对上述实施例进行修改,而仍可以使用如上述实施例所示的本发明的优点。作为示例,在上面的描述中,当样本图像帧的运动长度高于运动长度阈值时,帧速率被加倍,即在每对连续图像帧之间添加一个附加图像帧。但是,可以添加多于一个的附加图像帧。通常,不超过10个的附加图像帧被添加。应当注意,只要图像以比其被编码的帧速率更高的帧速率被捕捉,就可以添加附加图像帧。
对时间性帧距离(或换言之,编码器的帧速率)进行调整的决定可以是被动的。当运动是由场景中的实际移动或相机晃动引起时,通常会出现这种情况。但是,如果事先获知了运动,则调整也可以是主动的。这可以是PTZ移动的情况,并且更特别地是用于所谓的巡视。巡视是相机的预编程移动。它可能涉及对PTZ相机的周围空间中的多个预设位置进行访问,并且在指定时间或指定数量的帧之后移动至下一个预设位置。在这种方式下,相机的移动(或变焦)何时将开始以及何时将停止是已知的。也可以获知移动或缩放的速度将有多快。有了这个预先认知,就可以提前计划对时间性帧距离或帧速率的调整。
在上述示例中,通过对在视频流的调整部分中的连续图像帧之间的一个附加图像帧进行编码,来进行时间性帧距离的调整。但是,正如已经示意的那样,添加更多附加图像帧有时可以有所帮助。只要编码器的编码帧速率低于捕捉图像时的帧速率,倘若编码器能够以增加后的帧速率进行操作,则可以对附加图像帧进行编码以调整时间性帧距离。可以预见,时间性帧速率通常可以分别通过添加一个或两个附加图像帧而被减半或被除以三,从而使视频流的调整部分的帧速率加倍或为三倍。因此,更一般而言,可以通过在视频流的调整部分中的连续图像帧之间编码N≥1个附加图像帧,来调整时间性帧距离。附加图像帧的数量通常不会高于N=10。N可以被动态地改变并且可以基于前面所讨论的比特成本的估计。
应该理解,在某些时候,即使场景中存在运动,增加帧速率也没有意义。例如,如果运动太快速使得帧速率不能被增加到足以使带有运动的所有块都能够被编码为P块,那么保持较低的帧速率并且将一些块编码为I块可能更为明智。可以将运动长度上阈值设定为例如运动长度阈值的N倍或运动长度阈值的√N倍。如果运动长度高于运动长度上阈值,则可以确定出不应对时间性帧距离进行调整,并且如果运动长度低于运动长度上阈值,则可以确定出例如,如果运动长度高于运动长度阈值,则通过编码一个或多个附加图像帧来对时间性帧距离进行调整,或者如果运动长度低于运动长度阈值,则通过移除帧来对时间性帧距离进行调整。
以上,图像处理单元已经被描述为被集成于相机,但是图像处理单元也可以被布置为单独的单元并且被可操作地连接于相机。
由图像处理单元接收到的图像可以直接从捕捉相机中接收,或者该图像可以在被传送到图像处理单元之前被更早地捕捉并存储。因此,图像的直接来源可以是图像传感器或数据文件。
在上面的示例中,已经提到了PTZ相机。应当理解,本发明对于能够平移和倾斜但不能进行缩放的相机也是有用的。这种相机可以被称为PT相机。PT相机可以由被安装在所谓的PT头上的固定相机组成,该PT头给出了相机平移和倾斜的能力。此外,本发明还涉及能够变焦的固定相机以及不能变焦的固定相机,即固定焦距相机。
相机可以是任何类型的相机,诸如使用可见光的相机、使用NIR(近红外)辐射的相机、或热相机。
就相机而言,有利地是数码相机,但是相机也可以是连接到数字化单元的模拟相机。
已经在监控相机的情况下描述了本发明,监控相机有时被称为监视相机,但是本发明也可以被成功地使用于其他的相机应用中。
编码器可以根据采用运动估计和运动补偿的任何编码标准来进行操作。编码器可以例如是基于块的混合编码器,诸如H.264、H.265或VP9编码器。
本发明的方法可以通过执行存储在计算机可读的非暂时性存储介质上的指令来执行。这些指令可以由具有处理能力的任何设备来执行,具有处理能力的设备诸如中央处理单元(CPU)、图形处理单元(GPU)、在集成电路中实现的定制处理设备、ASIC、FPGA、或包括分立部件的逻辑电路等。
因此,本发明不应限于所示实施例,而应仅由所附权利要求来限定。

Claims (13)

1.一种用于基于由相机捕捉到的场景的图像来形成视频流的方法,所述方法包括:
由编码器基于由所述相机捕捉到的图像对图像帧进行编码,以形成所述视频流的编码部分;
确定样本图像帧的运动长度,所述样本图像帧是所述编码部分中的编码后的图像帧中的一个,所述运动长度指示所述样本图像帧相对于时间上在先的图像帧的、所述相机与所述场景之间的相对运动量,其中所述样本图像帧的所述运动长度被确定为最长运动矢量长度,已使用所述最长运动矢量长度对至少预定数量的块进行编码;
设定运动长度阈值为在所述编码器的运动矢量搜索范围内能被检测到的像素块的最长运动长度;
将所确定的所述样本图像帧的运动长度与所设定的运动长度阈值进行比较;并且
基于所比较的结果,对所述视频流的至少调整部分的所选时间性帧距离进行调整,其中所述调整部分被包括在所述编码部分中或者在时间上稍后的编码部分中,
其中调整所选时间性帧距离包括:响应于所确定的运动长度高于所设定的运动长度阈值,通过对一个或多个附加图像帧进行编码来减小所述调整部分的所选时间性帧距离,其中所述对一个或多个附加图像帧进行编码增加编码后的图像帧中的、像素块被编码为P块与I块的比率,其中所述一个或多个附加图像帧位于所述调整部分的连续图像帧之间。
2.根据权利要求1所述的方法,其中,
所述一个或多个附加图像帧位于所述样本图像帧与在先图像帧之间。
3.根据权利要求1或2所述的方法,其中,
所述一个或多个附加图像帧使用运动矢量来进行帧间编码且没有残差。
4.根据权利要求1所述的方法,其中,
所述一个或多个附加图像帧与非显示标记相关联,所述非显示标记用于指示所述一个或多个附加图像帧不通过所述视频流的接收器被显示,并且其中所述一个或多个附加图像帧使用运动矢量来进行编码且没有残差。
5.根据权利要求1所述的方法,其中,调整所选时间性帧距离进一步包括:
在所确定的运动长度低于所设定的运动长度阈值时,通过去除所述视频流的编码后的图像帧来增加所述调整部分的所选时间性帧距离。
6.根据权利要求1所述的方法,进一步包括:
将所确定的运动长度与运动长度上阈值进行比较;并且
在所确定的运动长度低于所述运动长度上阈值的条件下,对所选时间性帧距离进行调整。
7.根据权利要求1所述的方法,其中,确定所述编码部分中的所述样本图像帧的运动长度的动作包括:
将所述样本图像帧与时间上在先的图像帧进行比较。
8.根据权利要求7所述的方法,进一步包括:
在所述比较动作之前,缩小所述样本图像帧和所述在先的图像帧。
9.根据权利要求1所述的方法,进一步包括:
接收对所述相机的运动进行指示的数据;
其中确定所述样本图像帧的运动长度的动作是基于所接收到的数据的。
10.根据权利要求9所述的方法,其中,
对运动进行指示的所述数据从所述相机的运动传感器或平移-倾斜-缩放PTZ控制单元接收。
11.一种具有指令的非暂时性计算机可读存储介质,所述指令在由具有处理能力的设备执行时,适于执行权利要求1所述的方法。
12.一种图像处理单元,被配置为形成视频流,所述图像处理单元包括:
接收器,被布置为:
接收由图像传感器捕捉到的场景的图像;
编码器,被配置为:
基于接收到的图像对图像帧进行编码,以形成所述视频流的编码部分;以及帧速率控制器,被配置为:
确定样本图像帧的运动长度,所述样本图像帧是所述编码部分中的编码后的图像帧中的一个,所述运动长度指示所述样本图像帧相对于时间上在先的图像帧的、所述图像传感器与所述场景之间的相对运动量,其中所述样本图像帧的所述运动长度被确定为最长运动矢量长度,已使用所述最长运动矢量长度对至少预定数量的块进行编码;
设定运动长度阈值为在所述编码器的运动矢量搜索范围内能被检测到的像素块的最长运动长度;
将所确定的所述样本图像帧的运动长度与所设定的运动长度阈值进行比较;并且
基于所比较的结果,对所述视频流的至少调整部分的所选时间性帧距离进行调整,其中所述调整部分被包括在所述编码部分中或者在时间上稍后的编码部分中,其中调整所选时间性帧距离包括:响应于所确定的运动长度高于所设定的运动长度阈值,通过对一个或多个附加图像帧进行编码来减小所述调整部分的所选时间性帧距离,其中所述对一个或多个附加图像帧进行编码增加编码后的图像帧中的、像素块被编码为P块与I块的比率,其中所述一个或多个附加图像帧位于所述调整部分的连续图像帧之间。
13.一种照相机,包括根据权利要求12所述的图像处理单元。
CN201810378469.7A 2017-04-25 2018-04-25 形成视频流的方法及图像处理单元 Active CN108737837B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17167949.1A EP3396952B1 (en) 2017-04-25 2017-04-25 Method and image processing unit for forming a video stream
EP17167949.1 2017-04-25

Publications (2)

Publication Number Publication Date
CN108737837A CN108737837A (zh) 2018-11-02
CN108737837B true CN108737837B (zh) 2023-06-16

Family

ID=58632282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810378469.7A Active CN108737837B (zh) 2017-04-25 2018-04-25 形成视频流的方法及图像处理单元

Country Status (4)

Country Link
US (1) US11102508B2 (zh)
EP (1) EP3396952B1 (zh)
JP (1) JP7011506B2 (zh)
CN (1) CN108737837B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK2164967T3 (en) 2007-05-31 2015-10-19 Univ Iowa Res Found Reduction of off-target rna interferenstoksicitet
US20180302455A1 (en) * 2017-04-18 2018-10-18 Facebook, Inc. Systems and methods for adjusting video transmission bitrates
EP3474548A1 (en) * 2017-10-18 2019-04-24 Axis AB Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames
US10412391B1 (en) * 2018-08-06 2019-09-10 AnyClip Ltd. Minimize number of encoded video stream frames for content recognition
US10855988B2 (en) * 2018-12-19 2020-12-01 Qualcomm Incorporated Adaptive prediction structures
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
JP7423196B2 (ja) * 2019-05-09 2024-01-29 キヤノン株式会社 撮像装置、撮像システム、およびその制御方法
EP3745706B1 (en) * 2019-05-29 2021-06-30 Axis AB System and method for video processing with picture stabilization and predictive compression
JPWO2021006146A1 (zh) * 2019-07-10 2021-01-14
EP3796652B1 (en) * 2019-09-23 2022-05-18 Axis AB Video encoding method and method for reducing file size of encoded video
EP3833028B1 (en) 2019-12-03 2022-02-09 Axis AB Method and system for calculating a cost of encoding a motion vector
US11645766B2 (en) * 2020-05-04 2023-05-09 International Business Machines Corporation Dynamic sampling for object recognition
CN112104871B (zh) * 2020-11-13 2021-03-02 腾讯科技(深圳)有限公司 一种数据编码方法、装置以及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6020931A (en) * 1996-04-25 2000-02-01 George S. Sheng Video composition and position system and media signal communication system
US6731813B1 (en) 1999-10-07 2004-05-04 World Multicast.Com, Inc. Self adapting frame intervals
KR20050078099A (ko) * 2004-01-30 2005-08-04 삼성전자주식회사 적응적으로 키 프레임을 삽입하는 비디오 코딩 장치 및 방법
JP4687404B2 (ja) 2005-11-10 2011-05-25 ソニー株式会社 画像信号処理装置、撮像装置、および画像信号処理方法
JP2008035281A (ja) 2006-07-28 2008-02-14 Sanyo Electric Co Ltd 画像符号化方法
US20080232468A1 (en) 2007-03-21 2008-09-25 Mediatek Inc. Method and apparatus for adaptive gop structure determination
US8457424B2 (en) * 2008-03-18 2013-06-04 Entropic Communications, Inc. Method for testing a motion vector
KR101467875B1 (ko) 2008-09-04 2014-12-02 삼성전자주식회사 프레임 레이트의 가변화 설정이 가능한 디지털 카메라 및 그 제어방법
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
EP3021579B1 (en) * 2014-11-14 2016-10-12 Axis AB Method and encoder system for encoding video

Also Published As

Publication number Publication date
US11102508B2 (en) 2021-08-24
US20180310022A1 (en) 2018-10-25
EP3396952A1 (en) 2018-10-31
EP3396952B1 (en) 2019-04-17
JP7011506B2 (ja) 2022-01-26
CN108737837A (zh) 2018-11-02
JP2018201189A (ja) 2018-12-20

Similar Documents

Publication Publication Date Title
CN108737837B (zh) 形成视频流的方法及图像处理单元
US10582196B2 (en) Generating heat maps using dynamic vision sensor events
US9402034B2 (en) Adaptive auto exposure adjustment
KR102067199B1 (ko) 비디오를 인코딩하기 위한 방법 및 인코더 시스템
US9936217B2 (en) Method and encoder for video encoding of a sequence of frames
JP2018201189A5 (zh)
US9332279B2 (en) Method and digital video encoder system for encoding digital video data
KR100426174B1 (ko) 영상압축 알고리즘을 이용한 카메라 제어방법
CN111314696B (zh) 用于对图像帧的序列进行编码的方法和设备
Paul et al. Video coding with dynamic background
JP6707334B2 (ja) リアルタイム符号化のための方法及び装置
CN114500787A (zh) 基于照相机运动生成替代图像帧
EP3131295A1 (en) Video encoding method and system
CN114157870A (zh) 编码方法、介质及电子设备
JP2002051341A (ja) 動画像符号化装置および動画像の特殊効果シーン検出装置
JP6995083B2 (ja) 原映像ストリームから有意映像ストリームを生成するプログラム、装置及び方法
Paul et al. McFIS in hierarchical bipredictve pictures-based video coding for referencing the stable area in a scene
US10856002B2 (en) Method, device and system for method of encoding a sequence of frames in a video stream
JP6694902B2 (ja) 映像符号化装置及び映像符号化方法
JP5173946B2 (ja) 符号化前処理装置、符号化装置、復号装置及びプログラム
CN112672148B (zh) 视频编码方法以及被配置为执行此方法的视频编码器
JP4003149B2 (ja) 画像符号化装置及びその方法
WO2019176361A1 (ja) 映像符号化装置及び映像符号化方法
CN116614630A (zh) 对包括叠层的视频流进行编码
CN112887718A (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