1.本文的实施例涉及图像处理。特别地,公开了用于视频处理的方法和图像处理设备。还公开了对应的计算机程序和计算机程序载体。
背景技术:
2.使用成像特别是视频成像对公众进行监控在世界各地的许多地区都是常见的。可能需要监视的区域是例如银行、商店和其他需要安全的区域,例如学校和政府设施。其他可能需要监视的领域是加工、制造和物流应用,其中,视频监控主要用于监视过程。
3.但是,可能存在不能从视频监控中识别人员的要求。
4.已经描述了几种图像处理技术,以避免识别人员同时仍然能够识别活动。例如,边缘检测/表示、边缘增强、使物体呈现轮廓和不同种类的“颜色模糊”(例如颜色变化或膨胀(dilation))都是此类操作的示例。
5.图像处理是指应用于图像的任何处理。处理可以包括对图像应用各种效果、掩模(mask)、滤波器等。以这种方式,图像可以例如被锐化(sharpen)、转换为灰度或以某种方式改变。图像通常由摄像机(video camera)、静止图像相机(still image camera)等捕获。
6.如上所述,避免识别人员的一种方式是实时地对移动的人和物体进行遮掩。可以通过将实况摄像机视图(live camera view)与设置的背景场景进行比较,并将动态掩模应用于变化区域(本质上是移动的人和物体)来进行实况和录制视频中的遮掩。颜色掩模,也可以称为纯色掩模(solid color masking)或单色掩模(monochrome masking),其中物体被某种颜色的叠加纯色掩模遮掩,在提供隐私保护的同时使你能够看到运动。马赛克掩模,也称为像素化(pixelation)、像素化隐私掩模或透明像素化掩模,以较低分辨率显示移动的物体,并让你通过查看物体的颜色更好地区分形状。
7.图1示出示例性数码相机100。数码相机100产生两个图像流a和b,导致具有隐私掩模的第一数字图像101a和没有隐私掩模的第二数字图像101b。在第一数字图像100a中,例如通过将实况摄像机视图与设置的背景场景进行比较并将动态掩模应用于变化区域,个人的身份被遮掩。
8.遮掩实况和录制的视频适用于在由于隐私规则和法规而导致监控另外存在问题的区域中进行远程视频监视或录制。当视频监控主要用于监视流程时,其对于加工、制造和物流应用是理想的。其他潜在应用是在零售、教育和政府设施中。
9.尽管掩模提供了许多优点,但出现的一个问题是,由于将掩模应用于移动的物体(例如人类),可能会减少有效帧速率,因为掩模算法需要不可忽略的时间来完成。如果视频网络系统的其他组件以更高的帧速率(例如全帧速率,即用户为特定流设置的所期望的帧速率)运行,则这不是很好。
10.出现的另一问题是摄像机功耗的增加,这是由于图像的处理的增加,特别是由于与掩模和视频图像的同步相关的处理。
11.此外,当与捕获的图像相关的信息将通过网络发送时,由于与捕获的图像相关的
信息的增加,掩模可能导致所需带宽的增加。
12.公开内容
13.为了更好地理解本文实施例的优点,将首先描述替代参考方案。当执行隐私掩模时,在图像帧和掩模之间同步非常重要。表达图像帧、视频帧和仅仅帧将在下面互换使用。可以通过将与人或物体相关联的像素定义为与确定的背景场景相关的“前景像素”,并在前景像素在背景上移动时遮掩前景像素来实现对人和物体的遮掩。遮掩可以例如通过对个人或物体的轮廓进行洪水填充(flood-filling)来执行。为了不揭示个人或物体的任何部分,掩模和个人之间的对齐至关重要。
14.同步掩模和视频的一种方式是暂停视频帧,直到与视频帧的掩模相关的分析完成。例如,视频帧可被暂停,直到与移动物体识别相关的分析完成。暂停视频帧可能意味着没有新帧通过将视频帧与掩模同步的功能,这意味着最后的同步帧被一次又一次地发送给编码器。一旦视频帧的掩模分析完成,就可以将其视为同步帧。
15.如果在分析完成之前在编码器处需要视频帧(例如,为了获得某个所需的视频帧速率,例如30fps[每秒帧数]),则可以发送最近的先前成功同步的视频帧的副本给编码器。然而,这会产生不希望的额外系统负载,这会增加功耗,因为再次处理相同的帧。此外,当视频通过网络发送时,添加的帧也需要额外的网络资源,因为有更多的数据要在网络上发送。
[0016]
替代地,帧可被丢弃,导致视频帧丢弃。这种帧丢弃可能给人一种相机或视频流被损坏的印象,特别是当相机或场景中的物体正在移动时。例如。使用掩模并结合帧丢弃来同步视频帧可能会在用户处产生以下视频帧模式:(第0帧)向左移动,(第1帧)向左移动,(第2帧)停止,(第3帧)向左移动两次步伐,(第4帧)向左移动。当相机或视频流被损坏时,用户可能会察觉到第2帧处的停止。此外,许多视频网络系统组件优选以规律的间隔接收帧。
[0017]
因此,本文实施例的一个目的可以是避免上述问题中的一些,或者至少减少它们的影响。具体地,目的可以是在隐私掩模期间减少图像处理设备(例如摄像机)的功耗。更具体地,目的可以是在保持恒定帧速率的同时减少图像处理设备的功耗。另一目的可能是减少在网络上发送已经对其应用了隐私掩模的视频或图像流所需的带宽。
[0018]
根据一方面,该目的通过一种用于控制视频处理的方法来实现。该方法可以由图像处理设备执行。接收从图像传感器发出的图像流。评估该流中的图像的内容。图像流的一部分被转发给视频编码器,该部分在正被评估图像之前。直到评估完成,在与被转发图像流对应的编码图像流的末尾处添加至少第一空帧。
[0019]
根据另一方面,该目的通过一种被配置为执行上述方法的图像处理设备来实现。
[0020]
根据另外的方面,该目的通过与上述方面对应的计算机程序和计算机程序载体来实现。
[0021]
通过在编码图像流的末尾处添加至少第一空帧,图像处理设备节省了功率,因为添加的空帧需要较少的、或者在某些情况下不需要进一步的图像处理。
[0022]
本文实施例的另一优点是,与发送被遮掩隐私的视频的其他方法相比,发送图像流所需的带宽减少了。之所以如此,是因为表示空帧所需的数据量远小于表示来源于传感器的帧所需的数据量,甚至小于此类帧的副本。
[0023]
本文实施例的又一个优点是图像处理设备可以保持某个期望的帧速率,这对于内部流程以及生成的视频流的接收器都是有益的。
附图说明
[0024]
在附图中,在一些实施例中出现的特征由虚线指示。
[0025]
从以下详细描述和附图中将容易理解本文公开的实施例的各个方面,包括其特定特征和优点,其中:
[0026]
图1示出带有隐私掩模的数字图像和没有隐私掩模的数字图像,
[0027]
图2a示出本文的图像捕获设备的示例性实施例,
[0028]
图2b是示出本文示例性实施例的示意性概览,
[0029]
图3a-f是示出图像处理设备和图像处理设备中的视频处理方法的示例性实施例的示意性概览,
[0030]
图4是示出图像处理设备中的视频处理方法的实施例的流程图,
[0031]
图5是示出图像处理设备的实施例的框图。
具体实施方式
[0032]
如上所述,以例如允许对匿名图像数据进行人数计数或队列监视的方式对视频执行隐私掩模可能是令人关注的。
[0033]
如上所述,本文实施例的一个目的可以是在隐私掩模期间减少图像处理设备(例如摄像机)的功耗。另一目的可以是减少通过网络发送已应用隐私掩模的视频或图像流所需的带宽。
[0034]
如下文将进一步解释的,本文中的实施例允许以减少的功耗和减少的所需带宽对视频执行隐私掩模,同时保持某个期望的帧速率。
[0035]
本文的实施例可以在一个或多个图像处理设备中实现。图2a描绘了各种示例性图像处理设备210,其可以对数字图像(例如数字视频图像)执行图像处理。图像处理设备可以是图像捕获设备220、230、240(例如录像机)、监控摄像机220、数码相机、包括图像传感器的智能电话230或包括图像传感器的汽车240。
[0036]
图2b描绘了示例性视频网络系统250,其包括可以对数字图像201(例如数字视频图像)执行图像处理的监控摄像机220。视频网络系统250在本文中也可称为网络250。图像处理设备210(例如有线或无线设备)也可以例如通过视频网络系统250等从图像捕获设备220、230、240获得图像。这例如可以是图2b中的视频服务器260的情况。
[0037]
视频服务器是一种基于计算机的设备,其专用于传递视频。视频服务器用于多种应用,并且通常具有满足特定应用的需求的附加功能和能力。例如,安全、监控和检查应用中使用的视频服务器通常被设计为从一个或多个摄像机捕获视频并通过计算机网络传递视频。在视频制作和广播应用中,视频服务器可能能够录制和播放录制的视频,并同时传递许多视频流。在图2b中,视频服务器260通过网络250连接到以监控摄像机220为例的图像捕获设备。视频服务器260还可以连接到用于存储视频图像的视频存储器270和/或连接到用于显示视频图像的监视器280。
[0038]
因此,图像处理设备210能够处理数字图像。图像可能已经由图像处理设备本身捕获,或者它可能已经从捕获图像的另一设备或从诸如硬盘驱动器等的存储器接收。
[0039]
本文的实施例可以在成像系统中实现。为了更好地理解本文的实施例,将首先描述这样的成像系统。
[0040]
图3a是成像系统300的示意图,在这种情况下是数字摄像机。成像系统在图像传感器301上对场景进行成像。图像传感器301可以配备有拜耳滤波器,使得不同的像素将以已知模式接收特定波长区域的辐射。通常,捕获的图像的每个像素由一个或多个值表示,这些值表示特定波长带内的捕获的光的强度。这些值通常称为颜色分量或颜色通道。术语“图像”可以指包括来源于已捕获该图像的图像传感器的信息的图像帧或视频帧。
[0041]
在读取图像传感器301的各个传感器像素的信号之后,可以执行不同的图像处理动作,例如去马赛克和颜色校正。
[0042]
所得图像被转发给图像处理流水线302。在图像处理流水线302中,对图像执行进一步处理。这种进一步处理可以是噪声过滤(用于消除空间和/或时间噪声)、失真校正(用于消除例如桶形失真(barrel distortion)的影响)、全局和/或局部色调映射(例如,使得能够对包含宽范围强度的场景进行成像))、变换(例如,旋转)、平场(flat-field)校正(例如,用于去除光晕(vignetting)效果)、叠加的应用(例如,隐私掩模、解释性文本)等。图像处理流水线302也可以与执行物体检测、识别、告警等的分析引擎相关联。
[0043]
图像处理流水线302可以包括图像处理部分302a和视频后处理(post-processing)部分302b。图像处理部分302a可以应用例如如上所述的噪声过滤、失真校正、全局和/或局部色调映射、变换和平场校正。视频后处理部分302b可以例如执行图像稳定、裁剪图像的部分、应用叠加,并且包括分析引擎。
[0044]
在图像处理流水线302之后,图像可被转发给视频编码器303,有时仅称为编码器303,其中,图像帧中的信息按照已知方式根据编码协议(例如h.264)被编码,并被转发给例如接收客户端(本文以监视器280为例)、视频服务器260、存储器270等。
[0045]
视频编码过程产生必须对其进行编码以形成压缩比特流的许多值。这些值可包括:
[0046]
·
量化变换系数,
[0047]
·
使解码器能够重新创建预测的信息,
[0048]
·
关于压缩的数据的结构和编码期间使用的压缩工具的信息,以及
[0049]
·
关于完整视频序列的信息。
[0050]
使用例如可变长度编码和/或算术编码将这些值和参数(语法元素)转换为二进制代码。这些编码方法中的每一种都会产生该信息的高效、紧凑的二进制表示,也称为编码的比特流。编码的比特流然后可被存储和/或发送。
[0051]
现在将参考图4的流程图并进一步参考图3a和图3b-3f来描述根据本文的实施例的用于控制视频处理的示例性方法。用于控制视频处理的方法可以例如在图2a或2b的任何图像处理设备中实现。可以按照以下示例性顺序执行图4中呈现的以下动作中的一个或多个。在其他示例中,该顺序可与下面描述的不同。
[0052]
动作401
[0053]
图像处理设备210接收从图像传感器301发出的图像流310。例如,在图3a中,图像流310包括六个图像帧。在时间上,图像流从图像传感器301通过图像处理流水线302并进一步到达编码器303。最旧的帧是最右边的帧。帧与时间的这种关系也适用于图3b-3f。
[0054]
如上所述,并且如图3a中所见,图像处理流水线302可以接收从图像传感器301发出的图像流310。在图像处理流水线302中,对图像执行进一步处理。特别地,与本文的实施
例相关的这种进一步处理可以包括隐私例如在移动的物体上应用掩模。图像处理流水线302还可与执行物体检测和识别(特别是人/面部检测)、移动物体检测和背景识别的分析引擎相关联。
[0055]
动作402
[0056]
在图3b中,图像处理设备210评估流310中图像311的内容。图像311也可以称为图像帧311、或视频帧311、或仅称为帧311。例如,该评估可以包括与图像帧311的遮掩或匿名化相关的分析,例如确定应该在图像311中显示或覆盖什么。这种分析和遮掩可以例如与确保视频符合欧盟的通用数据保护条例(gdpr)相关。在图3b中,该评估由评估模块304执行。可以有多个评估模块,每个评估模块对被评估图像311执行不同的评估。这些多个评估可以至少部分地并行执行。
[0057]
如下文将在动作405中描述的,评估的完成可用于控制将空帧插入到图像流310中,例如何时停止添加空帧。在对图像311进行多次评估的情况下,图像处理设备210可以基于最后完成的评估的完成来控制空帧的插入。
[0058]
图像处理设备210的同步模块可以将图像311的显示与评估流程同步。例如,同步模块可以获得图像311的评估何时完成的信息。一旦图像帧311的掩模分析完成,它可以被视为同步帧。同步帧可以意味着掩模和图像帧311被同步,例如通过诸如时间戳之类的时间关系。
[0059]
动作403
[0060]
在对图像311进行分析的同时,图像处理设备210按时间顺序将图像流310的一部分310a转发给视频编码器303。所转发的图像流310的部分310a在正被评估的图像311之前。这也在图3b中示出。在图3b中,被转发图像流310的部分310a包括在被评估的图像311之前的两个图像帧。在此上下文中,之前意味着这些帧是在被评估的图像311被捕获之前的时间实例中捕获的。
[0061]
动作404
[0062]
当编码器303接收到图像流310的之前部分310a时,它开始根据编码协议(例如h.264)对之前部分310a的图像帧中的信息进行编码。然而,因为图像311在某个有限时间内被评估,如果评估花费的时间长于某个时间,则编码的图像的帧速率将下降。例如,为了实现从编码器303输出30fps的视频,编码器应该每33毫秒接收一个新帧。
[0063]
如以上
技术实现要素:
中所讨论的,上述问题可以通过例如将最近的先前成功同步的视频帧331的副本发送给编码器来解决。然而,这产生了不希望的额外系统负载,其增加了图像处理设备210的功耗,因为再次处理相同的帧。
[0064]
根据本文的实施例,通过在与所转发的图像流310a对应的编码图像流330的末尾处添加至少第一空帧320,直到评估完成,来解决上述问题。这在图3c-e中进行了说明。
[0065]
通过在编码图像流330的末尾处添加至少第一空帧320,图像处理设备210节省了功率,因为添加的空帧320需要较少的图像处理,在一些情况下甚至不需要进一步的图像处理。处理的减少取决于使视频帧与掩模同步的函数在图像处理流水线302中驻留的位置。例如,可以去除与图像处理流水线302的全部或部分相关的处理,例如视频后处理部分302b、编码以及用于流式传输的编码帧的软件处理的部分、以及在处理的图像上运行的任何分析应用。由于已知帧为空,因此不需要重新运行分析应用。
[0066]
这个添加的帧320可以在不影响视频质量的情况下被插入和丢弃,但将创建一个帧占位符,例如用于成像系统300,而不耗尽图像处理设备210的性能。
[0067]
本文实施例的另一优点是,与发送遮掩了隐私的视频的其他方法相比,发送编码图像流330的所需的带宽减少了。这是因为表示空帧320所需的数据量远小于表示源自图像传感器的帧或这种帧的副本所需的数据量。
[0068]
动作405
[0069]
为了使图像处理设备210知道何时添加至少第一空帧320,可以在不同部分之间(例如不同软件或硬件模块之间)使用信令。例如,如上文关于动作402所述,同步模块可以获得图像311的评估何时完成的信息,然后例如向添加模块或编码器303发送关于开始和/或停止添加空帧320的指令。
[0070]
例如,关于图3b,同步模块可以从评估模块304获得指示评估完成的信息。在例如由多个评估模块304执行的多次评估的情况下,图像处理设备210可以等待直到所有评估完成来发送关于评估完成的指令。例如,这样做是为了保持掩模和原始图像之间的同步。
[0071]
因此,在一些实施例中,图像处理设备210发送指令以添加至少第一空帧320。图像处理设备210可以例如指示添加模块或任何其他软件或硬件模块添加至少第一空帧320。
[0072]
在一些实施例中,图像处理设备210指示视频编码器303添加至少第一空帧320。图3d示出由编码器303添加空图像320。
[0073]
可以发送指令直到图像帧311的评估完成。例如,图像处理设备210可以发送第一指令以添加至少第一空帧320,然后在评估期间需要添加新帧时再发送进一步的第二指令以添加进一步的第二空帧321。一般情况下,可以添加多个空帧。图3e示出了添加两个空帧:第一空帧320和进一步的空帧321。
[0074]
在一些其他实施例中,在已经接收到添加至少第一空帧320的指令之后例如通过添加模块或编码器303添加空帧320、321,直到接收到新的停止添加空帧的指令。例如,可以仅基于一个指令添加第一空帧320和进一步的空帧321。添加空帧的时间可以预先确定。
[0075]
当需要添加许多帧时,仅发送初始指令以开始添加空帧可能是有利的,因为指令的数量会更少。
[0076]
动作406
[0077]
如上所述,在评估图像311时,例如直到评估完成,在与所转发的图像流310a对应的编码图像流330的末尾处添加至少第一空帧320。上面在动作402和405的描述中讨论了如何检测和发信号通知评估的完成。
[0078]
在一些实施例中,在编码图像流330的末尾处添加至少第一空帧320的速率遵循预定的当前图像帧速率,以使得编码图像流330的帧速率是恒定的。换言之,空帧320被注入编码流330的速率可以遵循所设置的视频的当前图像帧速率,以使得图像离开编码器303的速率是恒定的。如上所述,保留某个所期望的帧速率对于图像处理设备210的内部处理以及所生成的视频流的接收器可能是有益的。
[0079]
在一些实施例中,先前帧是最新编码帧331,或者换言之,紧接的先前帧331,而在其他实施例中,先前帧是任何先前帧,例如紧接的先前帧之前的帧333。
[0080]
空帧320可以是相对于编码图像流330的先前帧331、333没有编码差异的帧。在一些实施例中,空帧320可以是预先计算的编码帧。预先计算的编码帧意味着代替用编码器
303产生编码帧,通过软件算法预先产生编码帧,例如通过以相同的方式对每个空帧320进行编码。因此,空帧320可以是相对于编码图像流330的先前帧331、333没有编码差异的预先计算的编码帧。例如,这样的预先计算的空帧320可以包括一个或多个指示相对于先前帧331、333没有变化的宏块。这种变化可以例如涉及先前帧331、333的图像内容,诸如像素值。
[0081]
在进一步示例中,这样的预先计算的空帧320可以包括宏块,其中,只有单个宏块,例如最后一个宏块,包括指示相对于先前帧331、333没有变化的信息。
[0082]
在一些其他实施例中,空帧320可以包括指示相对于先前帧的固定运动的信息。这种信息可以基于计算的运动信息,例如从陀螺仪计算的运动矢量。
[0083]
在一些实施例中,空帧320不包括已经被运动补偿的预测信息。通常,预测信息可以被运动补偿。运动补偿预测信息可以包括编码运动矢量和预测误差。相反,在本文的实施例中,预测信息可以指示没有运动。这些信息足以重新创建预测。用于正常帧的这种预测信息可被包括在编码处理单元中,例如编码宏块。因此,在一些实施例中,空帧320不包括编码宏块:例如,在一些实施例中,空帧的宏块没有被编码器303编码。相反,宏块可以已经如上面解释的那样被预先计算。
[0084]
此外,在一些实施例中,空帧320不包括编码系数。每个编码系数可以用于标准基础模式的加权值。当在解码器中组合时,加权的基础模式重新创建残余样本的块,例如宏块。
[0085]
相反,空帧可以包括指示没有宏块被编码的标志。例如,该标志可以被实现为传输或容器格式中的元数据标志,或者作为编解码器元数据的一部分。标志的另一种实现可以是使用量化参数(qp)。由于解码空帧320不需要qp值,因此qp值可以用作空帧320的标识符,或者换言之,用作空帧标记。空帧320的标识符因此可以对应于指示没有宏块被编码的标志。空帧可以很容易地通过标识符识别,并在如果必要由另一应用删除或丢弃。因此,在客户端,该标志提供了用于指示空帧320的直接且低成本的手段。通过这样的解决方案,客户端不需要分析帧来找到空帧320。例如,根据h.264/h.265标准,切片报头中的每切片正常qp值或每帧基本qp可被设置为qp 51。对于空帧,例如没有编码块残余的帧,解码器不使用qp,并且如果qp 51从未被编码器303使用,则它可被用作“标志”以指示空帧。使用qp值的一个优点是不需要对其进行任何额外处理,因为它已经是准备好要被使用的视频的一部分。
[0086]
在一些实施例中,对空帧320不执行视频处理。也就是说,在评估完成之后不执行视频处理。
[0087]
在一些实施例中,在编码图像流330的末尾处的至少第一空帧320在编码器303之后被添加,以使得空帧320不通过编码器303。图3c和图3e均示出在编码器303之后添加空帧。图3c示出在编码器303之后添加一个空帧320,而图3e示出在编码器303之后添加两个空帧320、321。在编码器之后添加空帧320的优点是与需要对添加的帧进行编码的方法相比,可以减少功耗。在编码器303之内和之后添加多个空帧320、321的组合也是可能的。例如,第一空帧320可以由编码器303添加,而第二空帧321可以在编码器之后添加,反之亦然。
[0088]
动作407
[0089]
一旦完成对图像311的评估,图像处理设备210恢复将图像流310转发给视频编码器303。恢复包括将被评估图像311转发给视频编码器303。
[0090]
图3e示出将被评估图像311转发给编码器303。在图3f中,图像311已经通过编码器
303,并且已经被添加到包括空帧320的编码的图像流中。图3e和图3f进一步示出进一步图像的评估可以如何继续。在图3e和3f中,空帧320、321已经在图像311的评估期间被添加。
[0091]
在图3e和图3f中,用于掩模分析的缓冲器包括三个缓冲图像帧:第一缓冲图像帧312、第二缓冲图像帧313和第三缓冲图像帧314。为了补偿添加的空帧320,321,下一个用于评估的图像可以是在随后的图像之后的图像,随后的图像在顺序上是在被评估图像311之后的下一个。实际上,用于评估的下一个图像313可以取决于在被评估图像311和就在被评估图像帧311之前的帧之间添加的空帧320、321的数量。在图3f所示的情况下,添加了一个空帧,因此图像处理设备210在选择用于评估的下一个图像(即第二缓冲图像帧313)时跳过一个图像帧。该跳过由交叉图像帧(例如图3f中的随后的第一缓冲图像帧312)指示。另一方面,如果添加了两个帧320、321,如图3e所示,则在选择用于分析的下一个图像帧(例如第三缓冲图像帧314)时,可以跳过缓冲器的两个图像帧(例如第一和第二缓冲图像帧312、313)。当将评估下一个图像时,以与上述相同的方式添加新的空帧。
[0092]
在一些实施例中,通过跳过与添加的数量的帧相对应的数量的帧来选择下一个用于评估的图像313。跳过的帧可能会被丢弃而不发送给编码器。
[0093]
当并行地或至少部分地并行地评估多个图像帧时,对应的过程也是可能的。
[0094]
由于下一个用于评估的图像取决于添加的空帧的数量,因此可以保持原始图像流310的定时,从而该视频将保持其帧速率而不受影响。但是,这样会降低更新图像的有效速率。
[0095]
参考图5,示出对应于图2a和2b的不同图像处理设备的图像处理设备510的实施例的示意框图。图像处理设备510被配置用于视频处理。
[0096]
图像处理设备510可以包括处理模块501,例如用于执行本文描述的方法的装置。该装置可以以一个或多个硬件模块和/或一个或多个软件模块的形式体现。
[0097]
图像处理设备510还可以包括存储器502。该存储器可以包括(例如包含或存储)例如具有计算机程序503的形式的指令,计算机程序503可以包括计算机可读代码单元,计算机程序503当在图像处理设备510上被执行时使图像处理设备510执行视频处理的方法。
[0098]
根据本文的一些实施例,图像处理设备510和/或处理模块501包括作为示例性硬件模块的处理电路504,其可以包括一个或多个处理器。因此,处理模块501可以以处理电路504的形式体现或“由其实现”。指令可以由处理电路504执行,由此图像处理设备510可操作以执行图4的方法。作为另一示例,当由图像处理设备510和/或处理电路504执行时,指令可以使图像处理设备510执行根据图4的方法。
[0099]
鉴于上述内容,在一个示例中,提供了一种用于视频处理的图像处理设备510。再次,存储器502包含可由所述处理电路504执行的指令,由此图像处理设备510可操作用于执行根据图4的方法:
[0100]
接收从图像传感器301发出的图像流310,
[0101]
评估流310中的图像311的内容,
[0102]
按时间顺序将图像流310的部分310a转发给视频编码器303,该部分310a在正被评估的图像311之前,以及
[0103]
直到评估完成,在与所转发的图像流310a对应的编码图像流330的末尾处添加至少第一空帧320。
[0104]
图5进一步示出载体505或程序载体,其包括如上直接描述的计算机程序503。载体505可以是电信号、光信号、无线电信号和计算机可读介质中的一种。
[0105]
图像处理设备510还可操作以执行根据上文结合图4描述的详细实施例的方法。
[0106]
此外,处理模块501包括输入/输出单元506。根据实施例,输入/输出单元506可以包括被配置用于捕获图像200的图像传感器301。
[0107]
在一些实施例中,图像处理设备510和/或处理模块501可以包括接收模块510、评估模块520、转发模块530、添加模块540、发送模块550、恢复模块560中的一个或多个,作为示例性硬件模块。在其他示例中,上述示例性硬件模块中的一个或多个可被实现为一个或多个软件模块。
[0108]
因此,图像处理设备510被配置用于视频处理。
[0109]
因此,根据上述各种实施例,图像处理设备510和/或处理模块501和/或接收模块510被配置用于接收从图像传感器301发出的图像流310。
[0110]
图像处理设备510和/或处理模块501和/或评估模块520被配置用于评估流310中的图像311的内容。
[0111]
图像处理设备510和/或处理模块501和/或转发模块530可以被配置用于按时间顺序将图像流310的在正被评估的图像311之前的部分310a转发给视频编码器303。
[0112]
图像处理设备510和/或处理模块501和/或投影模块540可以被配置用于在与所转发的图像流310a对应的编码图像流330的末尾处添加至少第一空帧320,直到评估完成。
[0113]
在一些实施例中,对至少第一空帧320不执行视频处理。
[0114]
图像处理设备510和/或处理模块501和/或发送模块550可以被配置用于发送添加至少第一空帧320的指令,直到评估完成。
[0115]
图像处理设备510和/或处理模块501和/或恢复模块560可以被配置用于恢复将图像流310转发给视频编码器303。该恢复包括将被评估图像311转发给视频编码器303。
[0116]
如本文所用,术语“模块”可指一个或多个功能模块,其中每一个可被实现为一个或多个硬件模块和/或一个或多个软件模块和/或组合的软件/硬件模块。在一些示例中,模块可以表示被实现为软件和/或硬件的功能单元。
[0117]
如本文所使用的,术语“计算机程序载体”、“程序载体”或“载体”可以指电子信号、光信号、无线电信号和计算机可读介质之一。在一些示例中,计算机程序载体可以排除瞬时的、传播的信号,例如电子、光学和/或无线电信号。因此,在这些示例中,计算机程序载体可以是非暂时性载体,例如非暂时性计算机可读介质。
[0118]
如本文所用,术语“处理模块”可包括一个或多个硬件模块、一个或多个软件模块或其组合。任何这样的模块,无论是硬件、软件还是组合的硬件-软件模块,都可以是本文公开的接收装置、评估装置、转发装置、添加装置、发送装置、恢复装置等。例如,表述“装置”可以是与以上结合附图列出的模块相对应的模块。
[0119]
如本文所用,术语“软件模块”可指软件应用、动态链接库(dll)、软件组件、软件对象、根据组件对象模型(com)的对象、软件组件、软件功能、软件引擎、可执行二进制软件文件等。
[0120]
术语“处理模块”或“处理电路”在本文中可涵盖处理单元,包括例如一个或多个处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等。处理电路等可以包括一个或多个
处理器内核。
[0121]
如本文所用,表述“配置为/用于”可表示处理电路通过软件配置和/或硬件配置被配置为(例如适于或可操作于)执行本文所述的一个或多个动作。
[0122]
如本文所用,术语“动作”可指动作、步骤、操作、响应、反应、活动等。需要说明的是,本文的动作可以在适用时被拆分为两个或更多个子动作。此外,同样适用时,应当注意,本文描述的两个或更多个动作可被合并为单个动作。
[0123]
如本文所使用的,术语“存储器”可以指硬盘、磁存储介质、便携式计算机软盘或盘、闪存、随机存取存储器(ram)等。此外,术语“存储器”可以指处理器等的内部寄存器存储器。
[0124]
如本文所用,术语“计算机可读介质”可以是通用串行总线(usb)存储器、dvd盘、蓝光盘、作为数据流接收的软件模块、闪存、硬盘驱动器、存储器卡(例如记忆棒)、多媒体卡(mmc)、安全数字(sd)卡等。计算机可读介质的上述示例中的一个或多个可以作为一个或多个计算机程序产品提供。
[0125]
如本文所用,术语“计算机可读代码单元”可以是计算机程序的文本、以编译格式表示计算机程序的部分或整个二进制文件或它们之间的任何内容。
[0126]
如本文所用,术语“数量”和/或“值”可以是任何种类的数量,例如二进制、实数、虚数或有理数等。此外,“数量”和/或“值”可以是一个或多个字符,例如字母或字母串。“数量”和/或“值”也可以由比特串(即多个零和/或多个一)表示。
[0127]
如本文所用,表述“在一些实施例中”已用于指示所描述的实施例的特征可与本文公开的任何其他实施例组合。
[0128]
尽管已经描述了各个方面的实施例,但是其许多不同的改变、修改等对于本领域技术人员来说将变得明显。因此,所描述的实施例不旨在限制本公开的范围。
技术特征:
1.一种用于控制视频处理的方法,其中,所述方法包括:接收(401)从图像传感器(301)发出的图像流(310),评估(402)所述流(310)中的图像(311)的内容,按时间顺序将所述图像流(310)的一部分(310a)转发(403)给视频编码器(303),所述部分(310a)在正被评估的所述图像(311)之前,以及直到所述评估完成,在对应于所转发的图像流(310a)的编码图像流(330)的末尾处添加(406)至少第一空帧(320)。2.根据权利要求1所述的方法,其中,在所述编码图像流(330)的所述末尾处添加一个或多个空帧(320)的速率遵循预定的当前图像帧速率,以使得所述编码图像流(330)的所述帧速率是恒定的。3.根据权利要求1或2所述的方法,其中,所述至少第一空帧(320)是相对于所述编码图像流(330)的先前帧(331,333)没有编码差异的预先计算的编码帧。4.根据权利要求3所述的方法,其中,所述先前帧(331,333)是最新编码帧(331)。5.根据权利要求1-4中任一项所述的方法,其中,所述至少第一空帧(320)不包括编码宏块。6.根据权利要求1-5中任一项所述的方法,其中,所述至少第一空帧(320)包括指示没有宏块被编码的标志。7.根据权利要求1-6中任一项所述的方法,其中,对所述至少第一空帧(320)不执行视频处理。8.根据权利要求1-7中任一项所述的方法,其中,在所述编码器(303)之后执行在所述编码图像流(330)的末尾处添加(406)所述至少第一空帧(320),以使得所述至少第一空帧(320)不通过所述编码器(303)。9.根据权利要求1-8中任一项所述的方法,其中,所述方法进一步包括,直到所述评估完成,发送(405)指令以添加所述至少第一空帧(320)。10.根据权利要求1-9中任一项所述的方法,其中,所述方法进一步包括,恢复(407)将所述图像流(310)转发给所述视频编码器(303),其中,所述恢复包括将被评估的图像(311)转发给所述视频编码器(303)。11.一种图像处理设备(210),其被配置为执行根据权利要求1-10中任一项所述的方法。12.一种计算机程序(503),包括计算机可读代码单元,所述计算机可读代码单元当在图像处理设备(210)上被执行时使所述图像处理设备(210)执行根据权利要求1-10中任一项所述的方法。13.一种包括根据前述权利要求所述的计算机程序的载体(505),其中,所述载体(505)是电信号、光信号、无线电信号和计算机可读介质之一。
技术总结
一种用于控制视频处理的方法。从图像传感器发出的图像流被接收。流中的图像的内容被评估。图像流的一部分被转发给视频编码器,该部分在正被评估的图像之前。直到评估完成,在与转发图像流对应的编码图像流的末尾处添加一个或多个空帧。个或多个空帧。个或多个空帧。
技术研发人员:埃帕尔 S
受保护的技术使用者:安讯士有限公司
技术研发日:2021.11.04
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-8421.html