基于视频预处理来进行分级无线视频和图形传输的设备和方法

文档序号:621628 发布日期:2021-05-07 浏览:6次 >En<

阅读说明:本技术 基于视频预处理来进行分级无线视频和图形传输的设备和方法 (Apparatus and method for hierarchical wireless video and graphics transmission based on video pre-processing ) 是由 朱磊 于 2018-09-30 设计创作,主要内容包括:提供用于以下操作的方法和系统:对内容进行预处理;控制与可移动物体相关联的一个或多个状态参数;以及控制预处理操作。例如,对于图像处理方法,其包括:通过处理器从可移动物体上承载的成像装置接收一个或多个图像;以及调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像。该方法还包括:对调整后的图像进行编码,以生成编码后的图像数据;将编码后的图像数据从可移动物体发送至远程终端。(Methods and systems are provided for: preprocessing the content; controlling one or more state parameters associated with the movable object; and controlling the preprocessing operation. For example, with respect to an image processing method, it includes: receiving, by a processor, one or more images from an imaging device carried on a movable object; and adjusting one or more imaging parameters of at least one of the one or more images to obtain an adjusted image. The method further comprises the following steps: encoding the adjusted image to generate encoded image data; the encoded image data is transmitted from the movable object to the remote terminal.)

基于视频预处理来进行分级无线视频和图形传输的设备和 方法

技术领域

本公开总体上涉及对诸如图像、视频或图形之类的内容的预处理以及对所述内容的无线传输的比特速率控制。

背景技术

在传统的视频传输系统中,首先使用视频编码(例如,压缩)技术来对视频进行编码。编码后的视频随后通过通信信道被发送至接收器装置。用于视频编码的编码技术和参数可以影响例如与编码后的视频相关联的比特速率、编码后的视频的峰值信噪比(PSNR)、和/或在缓存区中占用的空间,其可以影响编码后的视频在回放时的质量。另外,发送编码后的视频的发送器装置,接收编码后的数据的接收器装置或用于发送编码后的视频的通信信道可能具有可以影响编码后的视频在回放时的质量的约束。

发明内容

所描述的实施例涉及用于在对内容进行编码之前对内容进行预处理的方法和系统。例如,一种系统可以包括:预处理电路,用于处理输入数据并控制与预处理电路相关联的一个或多个参数;编码器,该用于对处理后的数据进行编码,以生成编码后的数据;速率控制器,用于控制与编码后的数据相关联的比特速率;以及发送器,用于发送编码后的数据。

一些实施例涉及一种处理方法,所述图像处理方法包括:通过处理器从可移动物体上承载的成像装置接收一个或多个图像;以及调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像。该方法还包括:对调整后的图像进行编码,以生成编码后的图像数据,从而将编码后的图像数据从可移动物体发送至远程终端。

一些实施例涉及一种图像处理方法,所述图像处理方法包括:通过处理器从可移动物体的成像装置接收一个或多个图像;以及在对一个或多个图像进行编码之前,基于与可移动物体相关联的一个或多个状态参数,确定是否调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像。

一些实施例涉及一种图像处理方法,所述图像处理方法包括:通过处理器从可移动物体的成像装置接收一个或多个图像;以及确定与可移动物体相关联的一个或多个状态参数是否在预设范围之内。所述方法包括:响应于一个或多个状态参数不在预设范围之内,调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像;以及对调整后的图像进行编码,以生成编码后的图像数据。所述方法包括:响应于一个或多个状态参数在预设范围之内,对一个或多个图像中的至少一个图像进行编码,以生成编码后的图像数据。所述方法还包括:将编码后的图像数据从可移动物体发送至远程终端。

一些实施例涉及一种成像系统。所述成像系统包括:成像装置,承载在可移动物体上并且被配置为捕捉一个或多个图像;以及一个或多个处理器。所述一个或多个处理器在执行指令时,单独地或共同地:调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像;以及对调整后的图像进行编码,以生成编码后的图像数据。所述一个或多个处理器还使用收发器将编码后的图像数据从可移动物体发送至远程终端。

一些实施例涉及一种成像系统。所述成像系统包括:成像装置,承载在可移动物体上并且被配置为捕捉一个或多个图像;以及一个或多个处理器。所述一个或多个处理器在执行指令时,单独地或共同地从成像装置接收一个或多个图像;以及在对一个或多个图像进行编码之前,基于与可移动物体相关联的一个或多个状态参数,确定是否调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像。

一些实施例涉及一种成像系统。所述成像系统包括:成像装置,承载在可移动物体上并且被配置为捕捉一个或多个图像;以及一个或多个处理器。所述一个或多个处理器在执行指令时,单独地或共同地确定与可移动物体相关联的一个或多个状态参数是否在预设范围之内。响应于一个或多个状态参数不在预设范围之内,所述一个或多个处理器:调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像;以及对调整后的图像进行编码,以生成编码后的图像数据。响应于一个或多个状态参数在预设范围之内,所述一个或多个处理器对一个或多个图像中的至少一个图像进行编码,以生成编码后的图像数据。所述一个或多个处理器还使用收发器将编码后的图像数据从可移动物体发送至远程终端。

一些实施例涉及一种包括机器可读指令的非暂时性计算机程序产品。所述机器可读指令使可编程处理装置执行包括以下各项的操作:从可移动物体上承载的成像装置接收一个或多个图像;以及调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像。所述操作还包括:对调整后的图像进行编码,以生成编码后的图像数据;将编码后的图像数据从可移动物体发送至远程终端。

一些实施例涉及一种包括机器可读指令的非暂时性计算机程序产品。所述机器可读指令使可编程处理装置执行包括以下各项的操作:从可移动物体的成像装置接收一个或多个图像;以及在对一个或多个图像进行编码之前,基于与可移动物体相关联的一个或多个状态参数,确定是否调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像。

一些实施例涉及一种包括机器可读指令的非暂时性计算机程序产品。所述机器可读指令使可编程处理装置执行包括以下各项的操作:从可移动物体的成像装置接收一个或多个图像;以及确定与可移动物体相关联的一个或多个状态参数是否在预设范围之内。响应于一个或多个状态参数不在预设范围之内,所述操作还包括:调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像;以及对调整后的图像进行编码,以生成编码后的图像数据。响应于一个或多个状态参数在预设范围之内,所述操作还包括:对一个或多个图像中的至少一个图像进行编码,以生成编码后的图像数据。所述操作还包括:将编码后的图像数据从可移动物体发送至远程终端。

提供该发明内容仅用于说明一些实施例的目的,以提供对本文描述的主题的理解。因此,上述特征仅是示例,并且不应该被解释为缩小本公开中的主题的范围和精神。根据以下

具体实施方式

、附图和权利要求,本公开的其他特征、方面和优点将变得明显。

附图说明

被并入本文并形成说明书的一部分的附图示出了本公开,并且还与说明书一起用于解释本公开的原理,并且使相关领域的技术人员实现和使用本公开。

图1是描绘根据一些实施例的用于执行预处理和参数控制的系统的示例的框图。

图2A是描绘根据一些实施例的用于执行预处理和参数控制的系统的示例的框图。

图2B是描绘根据一些实施例的预处理电路的示例的框图。

图3A是描绘根据一些实施例的用于预处理的示例方法的流程图。

图3B-图3D是描绘根据一些实施例的用于实现图3A的方法300的步骤303的示例方法的流程图。

图4A-图4D是描绘根据一些实施例的用于预处理和参数控制的示例方法的流程图。

图5是可用于实现一些实施例或其部分的示例计算机系统。

参考附图来描述本公开。在附图中,相似的附图标记通常指示相同的或功能上相似的元件。另外,附图标记的最左边的数字通常标识首次出现该附图标记的附图。

具体实施方式

根据一些实施例,在编码后的数据被发送或存储之前,包括但不限于视频数据、图像数据、图形数据等的内容被编码(例如,压缩)成编码后的数据。根据一些示例,在每个时间单元(例如,秒)被用于对单位数据(例如,视频的帧)进行编码的比特的数量被称作比特速率。由于与例如发送编码后的数据的发送器、接收编码后的数据的接收器、用于存储编码后的数据的存储介质或用于发送编码后的数据的通信信道相关联的一些约束,比特速率控制技术可以被用于控制与用于生成编码后的数据的编码技术相关联的一个或多个参数。例如,由于通信信道的传输带宽约束,比特速率控制技术可以被用于控制用于生成编码后的数据的编码技术的量化参数。例如,这些比特速率控制技术可以被用于实现与编码后的数据相关联的比特速率和通信信道的带宽之间的匹配。

然而,编码技术的参数(例如,量化参数)可以具有上限值极限或下限值极限,使得比特速率控制技术不能够进一步改变这些参数以控制比特速率。例如,量化参数具有由编码技术定义的最大值极限。在一些环境中,即使量化参数达到该最大值也不可能获得目标比特速率。根据一些示例,因为不可以获得目标比特速率,因此在接收器装置侧将经历视频滞后。

用于将内容编码成编码后的数据的编码技术可以影响编码后的数据在接收器装置处回放时的质量。例如,(例如,通过对编码后的数据进行解码并将其与内容进行比较所确定的)峰值信噪比(PSNR)值和/或用于存储编码后的数据的一个或多个缓存区的存储空间可以影响编码后的数据在接收器装置处回放时的质量。另外,被用于控制编码技术的一个或多个参数的比特速率控制技术还可以影响编码后的数据的质量。在一些示例中,视频质量(特别是主观视频质量)恶化和损失是由正在使用的编码技术和算法确定的,而不是在用户控制下确定的。

本公开的实施例涉及例如在应用编码技术之前通过主动地预处理内容并主动地控制预处理的一个或多个参数来控制与编码技术相关联的一个或多个参数(例如但不限于:比特速率、PSNR、缓存区大小等)。因此,可以主动地控制编码后的数据的质量。此外,根据一些实施例,即使达到编码技术的参数的上限值极限或下限值极限,仍然可以通过在编码之前对内容进行预处理来获得目标比特速率。这可以提供例如编码后的数据的平滑传输。本公开的实施例可以实现目标比特速率、目标PSNR、目标缓存区大小,并且防止编码后的数据例如在长距离上的传输中的中断。

本公开的实施例的预处理和参数控制可以提高编码技术的质量,并且可以将编码技术的参数(例如,量化参数)保持在高质量范围之内。例如,如果编码技术的参数在比特速率控制期间落在高质量范围之外,则本公开的预处理技术被用于使编码技术的参数回到且保持在高质量范围之内。本公开的实施例的预处理和参数控制可以导致较高质量的编码后的数据、用于发送编码后的数据的较佳的传输质量(例如,较少的滞后时间)、获得目标比特速率等。

另外,通过使用本公开的实施例的预处理和参数控制,编码后的数据的质量(例如,在回放时)符合预定义的质量分类。换言之,可以通过使用本公开的实施例来保留内容的重要信息(例如,边缘信息、高频信息等),并且图像质量不仅仅通过比特速率控制技术来控制。

图1描绘根据一些实施例的用于执行预处理和参数控制的系统的示例100的框图。如图1中所示,系统100可以包括通过通信信道105相互通信的可移动物体(例如但不限于无人飞行器(UAV))101和远程终端(例如,接收器装置)103。

根据一些实施例,UAV 101可以被配置为:收集数据;处理收集到的数据;以及通过通信信道105将处理后的数据发送至接收器装置103。例如,UAV 101可以被配置为收集数据,所述数据可以包括但不限于:视频数据、图像数据、图形数据、音频数据、文本数据等。例如,UAV 101收集由一个或多个传感器生成的数据,所述传感器例如是但不限于:视觉传感器(例如,照相机、红外传感器)、麦克风、接近传感器(例如,超声、激光雷达)、位置传感器、温度传感器、触摸传感器等。在一些示例中,UAV 101收集的数据可以包括来自用户的诸如生物特征信息之类的数据,包括但不限于:脸部特征、指纹扫描、视网膜扫描、语音记录、DNA样本等。

根据一些实施例,接收器装置103可以包括但不限于:遥控装置、膝上型计算机、台式计算机、平板计算机、电视接收器、显示装置、移动电话、车载装置、飞行器承载装置等。接收器装置103被配置为通过通信信道105接收从UAV 101发送的数据。接收器装置103还被配置为:处理接收到的数据;以及例如在显示装置上显示数据。在一些实施例中,接收器装置103也被配置为通过通信信道105将与接收到的数据或通信信道105有关的信息发送回UAV101。

根据一些示例,通信信道105可以包括有线网络或无线网络或与之相关联,所述有线网络或无线网络例如是互联网、局域网(LAN)、广域网(WAN)、存储区域网络(SAN)、点对点网络(P2P)、WiFi网络、蓝牙、蓝牙低能量、无线电网络、长期演进(LTE)、3G、4G、5G网络或其他网络。

根据一些实施例,并且如下文更具体地讨论的,UAV 101被配置为在向接收器装置103发送编码后的数据之前对收集到的数据进行编码,以生成编码后的数据。UAV 101还被配置为控制与UAV 101相关联的一个或多个状态参数。与UAV 101相关联的一个或多个状态参数可以包括但不限于:UAV 101的编码器的一个或多个参数(例如,比特速率、量化参数、PSNR、缓存区的存储空间等)。在一些实施例中,UAV 101被配置为在对收集到的数据进行编码之前对收集到的数据进行预处理。UAV 101被配置为:如果与UAV 101相关联的一个或多个状态参数不在预设范围之内,则对收集到的数据进行预处理。UAV 101也被配置为:如果与UAV 101相关联的一个或多个状态参数不在预设范围之内,则调整预处理的一个或多个参数。因此,可以主动地控制编码后的数据的质量。这可以例如在传输中以较少的延迟来提供编码后的数据的平滑传输。

通过应用本公开的实施例的预处理和参数控制,UAV 101可以提高其使用的编码技术的质量,并且可以将其编码技术的参数保持在高质量范围之内。如果其编码技术的参数落在高质量范围之外,则UAV100被配置为使用本公开的预处理技术使编码技术的参数回到且保持在高质量范围之内。因此,UAV 101可以被配置为:通过使用本公开的实施例的预处理和参数控制,以用于发送编码后的数据的较佳的传输质量(例如,较少的滞后时间)来发送较高质量的编码后的数据,获得目标比特速率等。

应当注意,虽然在图1中描绘了一个UAV和一个接收器装置,但是本公开的实施例可以包括通过一个或多个通信信道与一个或多个接收器装置通信的一个或多个UAV。同样,图1的系统100作为示例性环境来提供。本公开的实施例不限于该系统,UAV 101可以包括任何可移动物体,并且接收器装置103可以包括任何远程终端。本公开的这些实施例可以被应用于包括其他装置系统,例如但不限于:无人飞行系统(UAS)、自行车、汽车、卡车、轮船、游艇、火车、直升机、飞行器、机器人等。

图2A是描绘根据一些实施例的用于执行预处理和参数控制的系统200的示例的框图。例如,系统200可以是图100的UAV 101的一部分或与其相关联。

如图2A中所示,系统200可以包括:预处理电路201、成像装置202、编码器203、收发器205、以及存储装置231。如下文中更具体地讨论的,系统200被配置为:例如,通过使用例如预处理电路201来控制与编码后的数据相关联的比特速率,同时将编码器203的编码参数保持在高质量范围之内。根据一些示例,编码器203的编码参数的高质量范围可以包括编码器203编码的编码后的数据具有预定义的质量的预定范围。根据一些实施例,速率控制器207被配置为:通过调整编码器203的编码参数来控制与编码后的数据相关联的比特速率。如果编码器203的编码参数在比特速率控制期间落在高质量范围之外,则速率控制器207和预处理电路201被配置为使编码参数回到且保持在高质量范围之内。

根据一些实施例,成像装置202可以包括一个或多个传感器,例如但不限于:视觉传感器(例如,照相机、红外传感器)、麦克风、接近传感器(例如,超声、激光雷达)、位置传感器、温度传感器、触摸传感器等。由成像装置202捕捉的数据被输入至预处理电路201。虽然本公开将图像和图像数据作为由成像装置202捕捉的数据和作为输入数据211进行讨论,但本公开的实施例不限于图像数据。输入数据211可以包括但不限于:视频数据、图像数据、图形数据、音频数据、文本数据、或要被编码的任何其他数据。在一些示例中,输入数据201可以是来自用户的诸如生物特征信息之类的数据,包括但不限于:脸部特征、指纹扫描、视网膜扫描、语音记录、DNA样本等。

预处理电路201接收或获取输入数据211。如下文中更具体地讨论的,预处理电路201被配置为在输入数据211被编码器203编码之前对输入数据211进行处理。作为预处理电路201的输出的编码器输入数据213被输入至编码器203。编码器203对编码器输入数据213进行编码,以生成编码后的数据215。速率控制器207被配置为:控制与编码后的数据215相关联的比特速率,同时控制预处理电路201,使得编码器203的编码参数在可接受范围之内。在一些示例中,使用例如收发器205通过通信信道向远程终端发送217编码后的数据215。附加地或备选地,编码后的数据215被存储在存储装置中。

根据一些示例,当预处理电路201从成像装置202接收输入数据211(例如,一个或多个图像)时,预处理电路201(单独或结合速率控制器207)被配置为确定是否要对输入数据211进行预处理。对输入数据211进行预处理可以包括调整输入数据211的一个或多个成像参数。例如,对输入数据211进行预处理可以包括减小输入数据211的一个或多个成像参数。根据一些示例,一个或多个成像参数可以包括但不限于:图像的空间频率、图像的颜色空间的维度、和/或图像的亮度空间的维度。根据一些示例,预处理电路201被配置为调整成像参数中的一个成像参数。附加地或备选地,处理电路201可以调整成像参数中的两个或更多个成像参数。例如,处理电路201可以基于预设优先级来调整成像参数中的两个或更多个成像参数。在一些示例中,与调整颜色空间的维度和/或调整亮度空间的维度相比,调整空间频率可以具有更高的优先级。

预处理电路201被配置为基于与系统200相关联的一个或多个状态参数来确定是否要对输入数据211进行预处理。如下文中更具体地讨论的,预处理电路201(单独或结合速率控制器207)被配置为:确定与系统200相关联的一个或多个状态参数;比较一个或多个状态参数和一个或多个预设值(例如,一个或多个预设范围);以及基于所述比较来确定是否要对输入数据211进行预处理。

根据一些实施例,与系统200相关联的一个或多个状态参数可以包括编码器203的量化参数。该量化参数可以包括被用于对先前输入数据(例如,在输入数据211之前接收的一个或多个图像)进行编码的量化参数。附加地或备选地,该量化参数可以包括通过调整被用于对在输入数据211之前接收的一个或多个图像进行编码的量化参数而获得的调整后的量化参数,其中,可以至少基于通信信道(例如,图1的通信信道105)的带宽来做出调整。例如,如果编码器203的被用于对先前输入数据进行编码的量化参数等于或大于第一量化参数阈值,则预处理电路201可以确定对输入数据211进行预处理。

附加地或备选地,与系统200相关联的一个或多个状态参数可以包括先前输入数据(例如,在输入数据211之前接收的一个或多个图像)的PSNR值。例如,如果先前输入数据的PSNR值等于或小于PSNR阈值,则预处理电路201可以确定对输入数据211进行预处理。根据一些实施例,与在输入数据211之前接收的图像相关联的PSNR值是通过对该图像进行编码和解码来获得的。例如,首先使用例如编码器203来对图像进行编码,然后(使用例如解码器(未示出))对编码后的图像进行解码,并且将该图像的解码后的版本与原始版本进行比较,以确定该图像的PSNR值。

除了量化参数和/或PSNR值之外或替代量化参数和/或PSNR值,与系统200相关联的一个或多个状态参数可以包括:在被用于存储与先前输入数据(例如,在输入数据211之前接收的一个或多个图像)相关联的编码后的数据的一个或多个缓存区中占用的存储空间。例如,如果在被用于存储与先前输入数据相关联的编码后的数据的一个或多个缓存区中占用的存储空间等于或大于阈值,则预处理电路201可以确定对输入数据211进行预处理。

要注意,虽然量化参数、PSNR值、和/或缓存区中的存储空间作为与系统200相关联的一个或多个状态参数的示例进行讨论,但是本公开的实施例不限于这些示例,并且系统200的其他参数可以被预处理电路201用于确定是否对输入数据211进行预处理。

现在将更详细地讨论将编码器203的量化参数作为用于确定是否对输入数据211进行预处理的一个状态参数的一些示例。对编码器输入数据213(编码器203的输入)进行编码可以包括数据压缩、加密、差错编码、格式转换等。例如,编码器输入数据213可以被压缩,以减小通过通信信道发送的比特的数量。在另一个示例中,编码器输入数据213可以被加密,以在传输和/或存储期间保护编码器输入数据213。不同类型的编码技术可以被用于对编码器输入数据213进行编码。编码技术的类型可以基于例如以下项来确定:编码器输入数据213的类型、对用于对编码器输入数据213进行编码的装置的要求、用于存储编码后的数据的存储装置的类型和/或用于发送编码后的数据的通信信道的类型、安全性要求等。编码技术可以包括但不限于:视频压缩、音频压缩、有损压缩、无损压缩、霍夫曼编码、Lempel-Ziv-Welch(LZW)压缩等。

根据一些示例,编码可以包括变换步骤、量化步骤、以及熵编码步骤。例如,在变换步骤期间,原始编码器输入数据213从第一域变换到适合编码器输入数据213的数据内容(例如,视频数据)的不同域(例如,空间频率域)。可以使用任何合适的变换编码技术,包括但不限于诸如离散余弦变换(DCT)或改进的DCT之类的傅立叶类型的变换。根据使用DCT的一些示例,基于例如数据单元的大小来确定DCT矩阵。数据单元可以包括4x4或8x8个像素的块、16x16个像素的宏块、任何合适的数据集合。随后,使用矩阵乘法将DCT矩阵应用于数据单元,以创建包括变换系数的变换后的矩阵。

在量化步骤中,变换后的矩阵中的系数可以例如通过以下操作来量化:将每个变换系数除以量化矩阵中的对应元素;以及随后取整到最接近的整数值。量化矩阵可以使用量化参数(也被称作量化索引)来导出。根据一些示例,量化参数可以是量化矩阵的每个元素的值。作为另一个示例,量化矩阵中的元素中的一些或全部可以乘以量化参数(例如,由量化参数缩放),并且缩放后的量化矩阵可以被用于对变换后的矩阵进行量化。根据一些实施例,量化参数可以是特定范围(例如,在下限阈值QL与上限阈值QH之间并且包括QL和QH)之内的值(例如,整数)。在非限制性示例中,量化参数可以在0和50之间并且包括0和50。根据一些示例,量化参数的值越高,量化步长大小越大,并且量化矩阵中的元素越大。这可以使更多的变换系数被量化为0或接近于0,并且使更少的比特被用于对量化后的系数进行编码。零或接近于零的系数越多,用于对系数进行编码的比特就越少,导致由系数表示的数据单元的比特大小越小(因此比特速率越低)。反之亦然,即,量化参数的较低值对应于较小的量化步长大小,用于对量化系数进行编码的比特的数量较多,且使用量化参数对数据单元进行编码的比特大小越大(因此比特速率越高)。

本公开的一些实施例涉及用于以下操作的方法和系统:对编码器输入数据213进行预处理,并且控制编码后的数据215的比特速率,使得诸如量化参数之类的参数被保持在高质量范围之内。

根据一些实施例,在熵编码步骤中,以预定顺序来扫描量化后的矩阵中的量化系数,并且使用任何合适的编码技术来对该量化系数进行编码。在一些示例中,因为大多数非0的DCT系数可能集中在矩阵的左上角,因此从左上方到右下方的Z字形扫描图案是典型的。备选地,可以使用诸如光栅扫描之类的其他扫描顺序。扫描顺序可以被用于最大化获得长游程的连续0系数的概率。可以使用游程长度编码、可变长度编码或任何其他熵编码技术来对扫描后的系数进行编码,以生成编码后的数据215。

根据一些示例,速率控制器207被配置为控制编码后的数据215的比特速率。例如,速率控制器207被配置为将比特速率控制在某一范围之内(例如,小于最大比特速率并且大于最小比特速率)。附加地或备选地,速率控制器207可以将比特速率控制为接近(或基本上接近)目标比特速率(例如,平均目标比特速率)。在一些示例中,速率控制器207被配置为控制比特速率以根据编码器输入数据213而变化。

根据一些示例,为了控制编码后的数据215的比特速率,速率控制器207被配置为确定或调整(例如,更新)与编码器203相关联的编码参数。在一些实施例中,编码参数可以包括用于控制编码器203的编码过程的量化步骤和/或因此控制所产生的编码后的数据215的比特速率的一个或多个量化参数。根据一些实施例,量化参数可以包括量化步长大小、与量化步长大小有关的值(例如,H.264编码器或类似编码器中使用的量化参数(QP))、量化矩阵或与量化矩阵有关的一个或多个参数、或其他有关参数。

应当注意,虽然在一些实施例中将编码参数作为量化参数进行讨论,但是本公开的实施例不限于这些示例,并且其他编码参数可以被速率控制器207用于控制比特速率。例如,编码参数可以包括用于控制编码过程的其他方面的参数,所述其他过程例如是但不限于:预测步骤、变换步骤、或熵编码步骤。例如,编码参数可以包括被用于在系数被熵编码之前移除特定的高频系数的截止索引。作为另一个示例,编码参数可以包括比特分配信息(例如,分配用于对数据单元进行编码的最大值、最小值或目标比特)、帧速率、要变换和量化的数据单元的大小、用于确定是对数据单元(例如,宏块)进行编码还是跳过编码的运动检测阈值、用于速率失真优化的拉格朗日乘数、用于预测、变换或熵编码步骤的算法和参数、或其他类似的参数。

根据一些实施例,为了调整编码参数(例如,量化参数),速率控制器207接收或获取传输信息219、输入信息223、输出信息225或编码器信息227。基于接收或获取的信息,速率控制器207被配置为调整与编码器203相关联的编码参数。速率控制器207向编码器203发送调整后的编码参数229。在一些示例中,编码器203被配置为从速率控制器207获取调整后的编码参数229。附加地或备选地,速率控制器207可以将调整后的编码参数229存储在存储装置231中,并且编码器203可以从储存装置231获取所存储的调整后的编码参数。

根据一些示例,输入信息223可以包括与编码器输入数据213相关联的信息。例如,输入信息223可以包括编码器输入数据213的可以被用于速率控制的任何特性,例如但不限于:分辨率、大小、图像复杂度、纹理、照度、色度、运动信息、或其他类似特性。例如,与更低复杂度的输入数据相比,可以使用更高的比特速率来对更高复杂度的输入数据进行编码。

根据一些示例,输出信息225可以包括与编码后的数据215相关联的信息。例如,输出信息225可以包括编码后的数据215的可以被用于速率控制的任何特性,例如但不限于:大小、与编码后的数据215相关联的PSNR值、错误率、或其他类似特性。

根据一些示例,编码器信息227可以包括与编码后的数据215相关联的信息。例如,编码器信息227可以包括但不限于:用于对数据单元(例如,帧、时隙、宏块)进行编码的比特的数量、与编码后的数据215相关联的比特速率、用于对数据单元进行编码的参数、编码器资源信息(例如,CPU/存储器使用情况、缓存区使用情况)、或其他类似特性。应当注意,虽然输出信息225和编码器信息227被示出为到速率控制器207的不同的输入,但它们可以具有重叠的信息。

附加地或备选地,速率控制器207也可以从例如收发器205接收用于调整编码参数的传输信息219。根据一些实施例,传输信息219可以包括收发器205或(用于发送编码后的数据215的)通信信道的可以用于速率控制任何特性,例如但不限于:与通信信道相关联的带宽、由收发器205接收的反馈信息(例如,与信道相关联的SNR、信道错误、到与系统200相关联的接收器装置的距离、与接收器装置相关联的参数、在接收器装置处的回放质量等)、与收发器205相关联的用于发送编码后的数据215的参数、或其他类似特性。

在一些实施例中,除了信息219、223、225或227之外,速率控制器207还可以使用一个或多个阈值来调整编码参数,以控制编码后的数据215的比特速率。在一些示例中,阈值可以被存储在例如存储装置231中,并且可以由速率控制器207获取。根据一些实施例,阈值的值可以由用户、系统管理员、速率控制器207或其他部件/装置预先确定或动态地更新。存储装置231中存储的阈值可以包括但不限于:与比特速率相关联的阈值或范围、与编码参数相关联的阈值或范围、与预处理电路201相关联的阈值或范围、或类似的阈值或范围。

根据一些实施例,速率控制器207基于接收到的输入信息来调整编码器203的编码参数,使得与编码后的数据215相关联的比特速率在预定范围之内或接近(或基本上接近)目标比特速率。在一些示例中,预定范围或目标比特速率是与通信信道相关联的带宽(或基于该带宽来确定)。在调整编码器203的编码参数之后,速率控制器207被配置为确定调整后的编码参数是否在编码参数的可接受范围之内。如果调整后的编码参数在可接受范围之内,则系统200继续编码下一个输入数据和速率控制的过程。然而,如果调整后的编码参数不在可接受范围之内,则速率控制器207被配置为指示预处理电路201对下一个输入数据211进行预处理。另外,速率控制器207被配置为调整预处理电路201的一个或多个参数。用于对下一个输入数据进行预处理的指令和/或预处理电路201的调整后的参数221被发送至预处理电路201。

除了将量化参数用作系统200的一个或多个状态参数之外或替代将量化参数用作系统200的一个或多个状态参数,先前输入数据(例如,在输入数据211之前接收的一个或多个图像)的PSNR值可以被用来触发预处理和/或调整预处理电路201的一个或多个参数。在该示例中,速率控制器207可以确定与先前输入数据和/或编码后的数据215相关联的PSNR值,并且比较所确定的PSNR值与PSNR阈值。响应于所确定的PSNR值等于或小于PSNR阈值,速率控制器207可以指示预处理电路201对下一个输入数据进行预处理和/或调整与预处理电路201相关联的一个或多个参数。例如,速率控制器207可以被配置为比较对编码后的数据215获得进行解码而获得的数据与编码器输入数据213,以确定PSNR值。附加地或备选地,速率控制器207可以在编码器信息227中接收与编码器203相关联的PSNR值。在一些示例中,PSNR值可以是在编码器203对数据进行编码的时间段上确定的平均PSNR。在一些示例中,与编码器203相关联的PSNR值可以是针对编码后的数据215确定的PSNR值。速率控制器207可以比较所确定的PSNR值与PSNR阈值。在一些示例中,PSNR阈值被存储在存储装置231中。响应于所确定的PSNR值等于或小于PSNR阈值,速率控制器207被配置为指示预处理电路201对下一个输入数据211进行预处理。另外,速率控制器207被配置为调整预处理电路201的一个或多个参数。用于对下一个输入数据进行预处理的指令和/或预处理电路201的调整后的参数221被发送至预处理电路201。

除了将量化参数和/或PSNR用作系统200的一个或多个状态参数之外或替代将量化参数和/或PSNR用作系统200的一个或多个状态参数,在用于存储编码后的数据215的一个或多个缓存区中占用的存储空间可以被用来触发预处理和/或调整预处理电路201的一个或多个参数。在该示例中,速率控制器207可以确定在与编码器203和/或收发器205相关联的一个或多个缓存区中占用的存储空间,并且比较一个或多个缓存区中的所确定的存储空间与阈值。响应于一个或多个缓存区中的所确定的存储空间等于或大于阈值的响应,速率控制器207可以指示预处理电路201对下一个输入数据进行预处理和/或调整与预处理电路201相关联的一个或多个参数。例如,速率控制器207可以被配置为比较编码后的数据215与编码器输入数据213,以确定与编码器203相关联的一个或多个缓存区中的存储空间。附加地或备选地,速率控制器207可以在编码器信息227中接收与编码器203相关联的一个或多个缓存区中的存储空间。在一些示例中,与编码器203相关联的一个或多个缓存区中的存储空间可以是在时间段上和/或多个缓存区上确定的平均存储空间。在一些示例中,速率控制器207可以在传输信息219中接收与收发器205相关联的一个或多个缓存区中的存储空间。速率控制器207可以比较一个或多个缓存区中的所确定的存储空间与阈值。在一些示例中,阈值被存储在存储装置231中。响应于一个或多个缓存区中的所确定的存储空间等于或大于阈值的响应,速率控制器207被配置为指示预处理电路201对下一个输入数据211进行预处理。另外,速率控制器207被配置为调整预处理电路201的一个或多个参数。用于对下一个输入数据进行预处理的指令和/或预处理电路201的调整后的参数221被发送至预处理电路201。

图2B是描绘根据一些实施例的预处理电路201的示例的框图。如图2B中所示,根据一些示例,预处理电路201可以包括空间频率控制241、颜色控制243和亮度控制245。虽然空间频率控制241、颜色控制243和亮度控制245被示为分离的电路,但是它们可以组合成一个或多个电路。此外,预处理电路201可以包括其他电路。

如关于图2A所讨论的,预处理电路201可以接收输入数据211并且生成编码器输入数据213。根据一些示例,预处理电路211可以从速率控制器207接收指令,用于对输入数据进行预处理,以生成编码器输入数据213。在一些实施例中,如果预处理电路211没有接收用于预处理的任何指令,则预处理电路211可以将输入数据211作为编码器输入数据213进行传递,而无需对输入数据211进行预处理。

另外,预处理电路211从速率控制器207接收调整后的参数221。根据一些实施例,调整后的参数221是与空间频率控制241、颜色控制243和亮度控制245中的一个或多个相关联的参数。

输入数据211被输入至空间频率控制241、颜色控制243和亮度控制245中的一个或多个,使得输入数据211在被编码器203编码之前被预处理。如上文所讨论的,例如,对输入数据211进行预处理可以包括调整输入数据211的一个或多个成像参数。根据一些示例,一个或多个成像参数可以包括但不限于:图像的空间频率、图像的颜色空间的维度、和/或图像的亮度空间的维度。根据一些实施例,调整输入数据211的一个或多个成像参数可以包括:减小输入数据211的可能导致编码器输入数据213具有比输入数据211更低的质量的一个或多个成像参数。

根据一些示例,空间频率控制241可以包括被配置为控制输入数据211的空间频率的滤波器。例如,空间频率控制241可以包括被配置为通过例如以下操作来控制输入数据211的空间频率的双边滤波器:控制一个或多个高斯内核sigma参数,即,空间尺度参数和值尺度参数。在这个示例中,双边滤波器被配置为减小与输入数据211相关联的噪声。双边滤波器可以是被配置为对输入数据211进行平滑处理的非线性滤波器。

通过使用双边滤波器,输入数据211可以被平滑处理,同时保留与输入数据211相关联的边缘。双边滤波器利用来自帧的邻近像素的强度值的加权平均来替换输入数据211的该帧内的每个像素的强度。在一些示例中,该权重可以基于高斯分布。在一些示例中,权重可以取决于输入数据211中的帧的像素之间的距离(例如,欧式距离)。附加地或备选地,双边距离的权重可以取决于输入数据211的帧的像素之间的辐射度差异(例如,诸如颜色强度、深度距离等的范围差异)。

作为双边滤波器的一个示例,可以通过使用像素与其相邻像素的空间距离以及像素与其相邻像素之间的强度差异来对输入数据211的帧的像素(i,j)进行滤波。例如,考虑输入数据211的帧的像素(i,j)和它的一个相邻像素(k,l),被分配给像素(k,l)以用于对像素(i,j)进行滤波(例如,去噪)的权重如下给出:

这里,f是原始输入数据211的原始帧中的像素的强度。同样,σd(空间尺度参数)和σr(值尺度参数)是双边滤波器的平滑参数。

在使用像素(i,j)的相邻像素对该像素应用双边滤波器之后,滤波后的(例如,去噪后的)像素(i,j)的强度被确定如下:

这里,g(i,j)是通过输入数据211的帧的相邻像素(k,1)对输入数据211的帧的像素(i,j)进行滤波后的(例如,去噪后的)的强度。

预处理电路201的双边滤波器,作为空间频率控制241的一个示例,被配置为对输入数据211进行预处理。如下文中更具体地讨论的,速率控制器207被配置为:基于与系统200相关联的一个或多个状态参数(例如、量化参数、PSNR、缓存区中的存储空间等),控制滤波器241的参数(例如,双边滤波器的σd(空间尺度参数)和σr(值尺度参数))。虽然将双边滤波器作为空间频率控制241的一个示例进行讨论,但是本公开的实施例不限于这个示例,并且其他滤波器可以被用作空间频率控制241。

根据一些实施例,除了空间频率控制241之外,预处理电路201可以包括颜色控制243和亮度控制245。在一些示例中,颜色控制243可以被配置为控制与输入数据211相关联的颜色空间的维度,并且亮度控制可以被配置为控制与输入数据211相关联的亮度空间的维度。

根据一些示例,颜色控制243可以被配置为将与输入数据211相关联的颜色空间的维度调整一预设值。这个预设值可以被存储在预处理电路201中的存储装置中(和/或可由预处理电路201访问)和/或存储装置231中。作为非限制性示例,输入数据211可以包括颜色空间,该颜色空间包含256个等级。颜色控制243可以被配置为:基于来自速率控制器207的控制信号(例如,调整后的参数221)来减小颜色空间的等级。在一个示例中,颜色控制243可以在每次迭代中按照2的幂来减少颜色空间的维度(例如,256到128到64到32到16到8到4到2到1)。在一些示例中,通过使用预处理电路201和速率控制207减小颜色空间的维度,可以减少被用于对编码器输入数据213进行编码的比特的数量,并且因此可以控制与编码后的数据215相关联的比特速率。

根据一些实施例,颜色控制243可以被配置为将与输入数据211相关联的亮度空间的维度调整一预设值。这个预设值可以被存储在预处理电路201中的存储装置中(和/或可由预处理电路201访问)和/或存储装置231中。作为非限制性示例,输入数据211可以包括具有256个等级的亮度空间。亮度控制245可以被配置为:基于来自速率控制器207的控制信号(例如,调整后的参数221)来减小亮度空间的维度。在一个示例中,亮度控制245可以在每次迭代中按照2的幂来减小亮度空间的维度(例如,256到128到64到32到16到8到4到2到1)。在一些示例中,通过使用预处理电路201和速率控制207减小亮度空间的维度,可以减少被用于对编码器输入数据213进行编码的比特的数量,并且因此可以控制与编码后的数据215相关联的比特速率。

颜色空间和亮度空间的维度被作为示例提供,并且本公开的实施例不限于这些示例。可以使用其他数量的维度和用于控制维度的其他方案。

根据一些示例,空间频率控制241、颜色控制243和亮度控制245中的一个或多个可以被应用于输入数据211,以生成编码器输入数据213。空间频率控制241、颜色控制243和亮度控制245中的一个或多个被用于调整输入数据211的一个或多个成像参数。根据一些示例,可以分级地并且基于预设优先级来完成空间频率控制241、颜色控制243和亮度控制245到输入数据211的应用。在一个示例中,空间频率控制241可以具有最高的优先级。在这个示例中,首先将空间频率控制241应用于输入数据211,然后,如果需要,则应用颜色控制243和亮度控制245。然而,这是一个示例,并且可以应用用于应用空间频率控制241、颜色控制243和亮度控制245(和/或其他控制机制)以调整输入数据211的一个或多个成像参数的其他顺序。

类似地,可以分级地完成对空间频率控制241、颜色控制243和亮度控制245的参数的控制(例如,调整)。例如,速率控制207被配置为:首先基于系统200的一个或多个状态参数来控制空间频率控制241的参数。在空间频率控制241的参数达到一个或多个阈值之后,则速率控制207可以基于系统200的一个或多个状态参数来控制颜色控制243的参数。在颜色控制243的参数达到一个或多个阈值之后,则速率控制器207可以基于系统200的一个或多个状态参数来控制亮度控制245的参数。对空间频率控制241、颜色控制243和亮度控制245的控制的顺序作为一个示例被提供,并且其他顺序可以被用于控制这些电路。

图3A是描绘根据一些实施例的用于预处理的示例方法300的流程图。为了方便,将参考图1、图2A和图2B来描述图3A,但是,如本领域技术人员将理解的,方法300不限于这些附图中所描绘的具体实施例,并且其他系统可以被用于执行所述方法。应当理解,可能不需要全部的步骤,并且步骤可以不按照如图3A中示出的相同顺序来执行。

根据一些示例,方法300在预处理电路201接收到输入数据211时在301处开始。输入数据211可以包括由系统200的成像装置202捕捉的一个或多个图像(例如,视频数据的一个或多个帧)。在303处,确定与系统200相关联的一个或多个状态参数是否在预设范围之内。根据一些示例,该确定可以由预处理电路201做出。附加地或备选地,该确定可以由速率控制器207做出。

根据一些实施例,与系统200相关联的一个或多个状态参数可以包括编码器203的量化参数。该量化参数可以包括被用于对先前输入数据(例如,在输入数据211之前接收的一个或多个图像)进行编码的量化参数。附加地或备选地,该量化参数可以包括通过调整被用于对在输入数据211之前接收的一个或多个图像进行编码的量化参数而获得的调整后的量化参数,其中,可以至少基于通信信道(例如,图1的通信信道105)的带宽来做出调整。例如,预处理电路201(单独或结合速率控制器207)可以确定用于对先前输入数据进行编码的编码器203的量化参数是否等于或大于第一量化参数阈值。附加地或备选地,与系统200相关联的一个或多个状态参数可以包括先前输入数据(例如,在输入数据211之前接收的一个或多个图像)的PSNR值。例如,预处理电路201可以确定先前输入数据的PSNR值是否等于或小于PSNR阈值。除了量化参数和/或PSNR值之外或替换量化参数和/或PSNR值,与系统200相关联的一个或多个状态参数可以包括在被用于存储与先前输入数据(例如,在输入数据211之前接收的一个或多个图像)相关联的编码后的数据的一个或多个缓存区中占用的存储空间。例如,预处理电路201可以确定在被用于存储与先前输入数据相关联的编码后的数据的一个或多个缓存区中占用的存储空间是否等于或大于阈值。

如果预处理电路201(单独或结合速率控制器207)确定与系统200相关联的一个或多个状态参数在预设范围之内,则在311处,编码器203对输入数据211中的一个或多个图像中的至少一个图像进行编码,以生成编码后的图像数据(编码后的数据215)。根据一些实施例,因为与系统200相关联的一个或多个状态参数在预设范围之内,所以预处理电路201不对输入数据211中的一个或多个图像中的至少一个图像进行预处理。在309处,收发器205发送编码后的图像数据。

然而,如果预处理电路201(单独或结合速率控制器207)确定与系统200相关联的一个或多个状态参数不在预设范围之内,则在305处,预处理电路201对输入数据211中的一个或多个图像中的至少一个图像进行预处理。根据一些示例,305处的预处理可以包括调整一个或多个图像中的至少一个图像的一个或多个成像参数,以获得调整后的图像(图2A的编码器输入数据213)。

根据一些实施例,在305处调整一个或多个成像参数可以包括:减小输入数据211中的一个或多个图像中的至少一个图像的一个或多个成像参数,以生成调整后的图像(图2A的编码器输入数据213)。减小一个或多个成像参数可能导致降低输入数据211中的一个或多个图像中的至少一个图像的质量。根据一些示例,所述一个或多个成像参数可以包括但不限于一个或多个图像中的至少一个图像的空间频率、颜色空间的维度和/或亮度空间的维度。

在305处调整一个或多个成像参数可以包括:使用滤波器(例如,双边滤波器)来调整一个或多个图像中的至少一个图像的空间频率。此外,305处的调整可以包括调整滤波器的一个或多个配置参数(例如,空间尺度参数、值尺度参数等)。在一些示例中,调整一个或多个配置参数可以基于预设顺序。

附加地或备选地,在305处调整一个或多个成像参数可以包括:使用例如预设值来调整一个或多个图像中的至少一个图像的颜色空间的维度。同样,在305处调整一个或多个成像参数可以包括:使用例如预设值来调整一个或多个图像中的至少一个图像的亮度空间的维度。

要注意,在305处调整一个或多个成像参数可以包括:调整一个成像参数、调整两个成像参数、调整三个成像参数、或调整任意数量的成像参数。此外,在305处调整一个或多个成像参数可以包括:基于预设优先级来调整成像参数。作为非限制性示例,调整空间频率可以具有最高的优先级,随后是调整颜色空间的维度,并且随后是调整亮度空间的维度。然而,也可以使用任何其他顺序和预设优先级。

在305处对输入数据211的一个或多个图像中的至少一个图像进行预处理以生成调整后的图像(编码器输入数据213)之后,编码器203对调整后的图像(编码器输入数据213)进行编码,以生成编码后的图像数据(编码后的数据215)。在309处,收发器205发送编码后的图像数据。该编码后的图像数据可以来自307或311。

图3B-图3D是描绘根据一些实施例的用于实现图3A的方法300的步骤303的示例方法的流程图。为了方便,将参考图1、图2A和图2B来描述图3B-图3D,但是,如本领域技术人员将理解的,图3B的方法303-1、图3C的方法303-2、以及图3D的方法303-3不限于这些附图中所描绘的具体实施例,并且其他系统可以被用于执行所述方法。应当理解,可能不需要全部的步骤,并且步骤可以不按照如图3B-图3D中示出的相同顺序来执行。

根据一些实施例,在图3A的303的确定中使用的与系统200相关联的一个或多个状态参数可以包括编码器203的量化参数。该量化参数可以包括用于对先前输入数据(例如,在图3A的301处接收的一个或多个图像之前接收的一个或多个图像)进行编码的量化参数。附加地或备选地,该量化参数可以包括通过调整被用于对在图3A的301处接收的一个或多个图像之前接收的一个或多个图像进行编码的量化参数而获得的调整后的量化参数,其中,可以至少基于通信信道(例如,图1的通信信道105)的带宽来做出调整。例如,如图3B的方法303-1中所示,如果编码器203的被用于对先前输入数据进行编码的量化参数等于或大于第一量化参数阈值,则预处理电路201(单独或结合速率控制器207)可以确定对输入数据211进行预处理。

在321处,速率控制器207被配置为:接收和/或确定与一个或多个图像相关联的比特速率,该一个或多个图像在图3A的301处接收的一个或多个图像之前被编码。如上文关于图2A所讨论的,速率控制器207被配置为接收传输信息219、输入信息223、输出信息225、以及编码器信息229中的一项或多项。在一些示例中,这些接收的信息可以包括与先前被编码的一个或多个图像相关联的比特速率。附加地或备选地,比特控制器207可以使用接收的信息来确定与先前被编码的一个或多个图像相关联的比特速率。

在一个示例性实施例中,速率控制器207被配置为:使用传输信息219来确定与先前发送的编码后的数据相关联的比特速率。例如,传输信息219可以包括从图1的接收器装置103接收的反馈信号。根据一些示例,反馈信号是对接收器装置103处接收的先前被编码的数据的响应。速率控制器207可以通过收发器205从接收器装置103接收反馈信号和反馈信息。使用接收的反馈信号,速率控制器207可以确定由接收器装置103接收的先前发送的编码后的数据215的质量,或者可以确定系统200与接收器装置103之间的大致距离。在该示例中,速率控制器207可以基于所确定的质量和/或所确定的大致距离来确定与先前发送的编码后的数据相关联的比特速率。

在323处,速率控制器207被配置为比较比特速率和一个或多个阈值。例如,速率控制器207被配置为控制编码器203,使得比特速率在某一范围之内(例如,小于最大值且大于最小值)。在另一个示例中,速率控制器207被配置为控制编码器203,使得比特速率接近目标值(例如,平均目标比特速率)。在该示例中,速率控制器207被配置为控制编码器203,使得比特速率小于与用于发送编码后的数据215的通信信道相关联的信道带宽。速率控制器207可以接收信道带宽,或基于例如输出信息225或传输信息219来确定信道带宽。

在325处,速率控制器207确定与一个或多个先前被编码的数据相关联的比特速率是否在预定范围之内或小于目标比特速率。例如,速率控制器207确定比特速率是否大于信道带宽。如果比特速率不大于(即,小于或等于)信道带宽,图3B的方法303-1返回至图3A的方法300的311。然而,如果比特速率大于信道带宽,则方法继续到327。

在327处,速率控制器207基于所确定的比特速率和预定的比特速率范围或目标比特速率,使用比特速率控制算法来调整一个或多个编码参数(与编码器203相关联的参数)。在一些示例中,一个或多个编码参数包括编码器203的一个或多个量化参数。比特速率控制算法可以包括用于基于所确定的比特速率和与比特速率相关联的一个或多个阈值来调整一个或多个编码参数的任何算法。例如,比特速率控制算法可以包括例如比特速率是一个或多个编码参数(例如,量化参数)的函数的模型,并且因此,一个或多个编码参数(例如,量化参数)可以基于比特速率和与比特速率相关联的一个或多个阈值之间的比较来调整。然而,本公开的实施例不限于该示例,并且可以使用用于比特速率控制的其他模型和算法。

在329处,速率控制器207比较调整后的量化参数和第一量化参数阈值,以确定调整后的量化参数是否等于或大于第一量化参数阈值。如果编码器203的被用于编码对先前输入数据进行编码的量化参数等于或大于第一量化参数阈值,则图3B的方法303-1在图3A方法303的305处继续,以对在图3A的301处接收的一个或多个图像中的至少一个图像进行预处理。然而,如果编码器203的被用于对先前输入数据进行编码的量化参数小于第一量化参数阈值,则图3B的方法303-1在图3A的方法303的311处继续。

根据一些实施例,图3A的303的确定中使用的与系统200相关联的一个或多个状态参数可以包括先前输入数据(例如,在图3A的301处接收的一个或多个图像之前接收的一个或多个图像)的PSNR值。例如,如图3C的方法303-2中所示,如果先前输入数据的PSNR值等于或小于PSNR阈值,则预处理电路201(单独或结合速率控制器207)可以确定对输入数据211进行预处理。

在341处,速率控制器207(单独或结合预处理电路201)被配置为:接收和/或确定与在图3A的301处接收的一个或多个图像之前被编码的一个或多个图像相关联的PSNR值。在一些示例中,速率控制器207可以确定与编码器203相关联的和/或与在301处接收的一个或多个图像之前被编码的一个或多个图像相关联的PSNR值。例如,速率控制器207可以被配置为:比较通过对先前被编码的一个或多个图像进行解码而获得的数据与其对应的先前被接收的一个或多个图像,以确定PSNR值。附加地或备选地,速率控制器207可以在编码器信息227中接收PSNR值。在一些示例中,PSNR值可以是在编码器203对数据进行编码的时间段上确定的平均PSNR。

在343处,速率控制器207(单独或结合预处理电路201)比较PSNR值与PSNR阈值,以确定PSNR值是否等于或小于PSNR阈值。如果PSNR值等于或小于PSNR阈值,则图3C的方法303-2在图3A方法303的305处继续,以对在图3A的301处接收的一个或多个图像中的至少一个图像进行预处理。然而,如果PSNR值大于PSNR阈值,则图3C的方法303-2在图3A的方法303的311处继续。

根据一些实施例,图3A的303的确定中使用的与系统200相关联的一个或多个状态参数可以包括在一个或多个缓存区中占用的存储空间,所述一个或多个缓存区被用于存储与先前输入数据(例如,在图3A的301处接收的一个或多个图像之前接收的一个或多个图像)相关联的编码后的数据。例如,如图3C的方法303-2中所示,如果在被用于存储与先前输入数据相关联的编码后的数据的一个或多个缓存区中占用的存储空间等于或大于阈值,则预处理电路201(单独或结合速率控制器207)可以确定对输入数据211进行预处理。

在351处,速率控制器207(单独或结合预处理电路201)被配置为:接收和/或确定在被用于存储与先前输入数据相关联的编码后的数据的一个或多个缓存区中占用的存储空间,其中先前输入数据在图3A的301处接收的一个或多个图像之前被编码。例如,速率控制器207可以被配置为:比较先前被编码的数据和对应的先前被接收的输入数据,以确定与编码器203相关联的一个或多个缓存区中的存储空间。附加地或备选地,速率控制器207可以在编码器信息227中接收与编码器203相关联的一个或多个缓存区中的存储空间。在一些示例中,与编码器203相关联的一个或多个缓存区中的存储空间可以是在时间段上和/或多个缓存区上确定的平均存储空间。在一些示例中,速率控制器207可以在传输信息219中接收与收发器205相关联的一个或多个缓存区中的存储空间。

在353处,速率控制器207(单独或结合预处理电路201)比较在一个或多个缓存区中占用的存储空间与阈值,以确定在一个或多个缓存区中占用的存储空间是否等于或大于阈值。如果在一个或多个缓存区中占用的存储空间等于或大于阈值,则图3D的方法303-3在图3A方法303的305处继续,以对在图3A的301处接收的一个或多个图像中的至少一个图像进行预处理。然而,如果在一个或多个缓存区中占用的存储空间小于阈值,则图3D的方法303-3在图3A的方法303的311处继续。

图4A-图4D是描绘根据一些实施例的示例方法的流程图。为了方便,将参考图1、图2A和图2B描述图4A-图4D,但是,如本领域技术人员将理解的,图4A-图4D的方法400不限于这些附图中所描绘的具体实施例,并且其他系统可以被用于执行所述方法。应当理解,可能不需要全部的步骤,并且步骤可以不按照如图4A-图4D中示出的相同顺序来执行。

要注意,虽然针对比特速率控制和量化参数作为系统200的状态参数之一讨论了图4A-图4D,但是图4A-图4D的方法可以如之前所讨论地那样使用系统200的其他状态参数来执行。同样,虽然将图4A-图4D讨论为首先调整图像的空间频率,然后调整图像的颜色空间的维度,然后调整图像的亮度空间的维度,但是图4A-图4D的方法可以使用不同的参数和/或参数的不同的顺序来调整图像的一个或多个成像参数。

根据一些示例,方法400在401处开始,此时编码器203对编码器输入数据213中的一个或多个图像或一个或多个调整后的图像进行编码,以生成编码后的图像数据(编码后的数据215)。在一些示例中,编码器输入数据213中的一个或多个图像或一个或多个调整后的图像包括视频数据的一个或多个帧。从例如图2的系统200的成像装置202或预处理电路201接收一个或多个图像或一个或多个调整后的图像。

在403处,使用例如收发器205来发送编码后的图像数据(编码后的数据215)。根据一些示例,通过通信信道将编码后的数据215发送至例如图1的接收器装置103。

在405处,速率控制器207(单独或结合预处理电路201-本文被称作速率控制器207)被配置为接收或确定与编码后的图像数据(编码后的数据215)相关联的比特速率。

在407处,速率控制器207被配置为比较比特速率与一个或多个阈值。例如,速率控制器207被配置为控制编码器203,使得比特速率在某一范围之内(例如,小于最大值且大于最小值)。在另一个示例中,速率控制器207被配置为控制编码器203,使得比特速率接近目标值(例如,平均目标比特速率)。在该示例中,速率控制器207被配置为控制编码器203,使得比特速率小于与用于发送编码后的数据215的通信信道相关联的信道带宽。速率控制器207可以接收信道带宽,或基于例如输出信息225或传输信息219来确定信道带宽。在407处,速率控制器207还确定与编码后的图像数据(编码后的数据215)相关联的比特速率是否在预定范围之内或小于目标比特速率。例如,速率控制器207确定比特速率是否大于信道带宽。如果与编码后的数据215相关联的比特速率不大于(即,小于或等于)信道带宽,则方法400继续到409。

在409处,预处理电路201接收输入数据211内的下一个图像(例如,下一帧)并且方法400在401处继续。在一些示例中,预处理电路201在409处不对下一个图像进行预处理。

然而,如果与编码后的图像数据(编码后的数据215)相关联的比特速率大于信道带宽,则方法继续到411。在411处,速率控制器207基于所确定的比特速率和预定比特速率范围或目标比特速率,使用比特速率控制算法来调整一个或多个编码参数(与编码器203相关联的参数)。在一些示例中,一个或多个编码参数包括编码器203的一个或多个量化参数。

在413处,速率控制器207比较调整后的一个或多个编码参数与一个或多个阈值。在一些示例中,调整后的编码参数包括调整后的量化参数。例如,调整后的量化参数可以是在特定范围内的值(例如,在下限阈值QL和上限阈值QH之间且包括QL和QH)。在413处,速率控制器207比较调整后的量化参数与例如下限阈值QL和上限阈值QH。在413处,速率控制器207确定调整后的编码参数是否满足一个或多个阈值。例如,速率控制器207确定调整后的量化参数是否在预定范围之内(例如,在下限阈值QL与上限阈值QH之间)。

如果速率控制器207确定在调整后的编码参数满足一个或多个阈值,则方法在409处继续,在409处,预处理电路201接收输入数据211内的下一个图像(例如,下一帧)并且方法400在401处继续。在一些示例中,预处理电路201在409处不对下一个图像进行预处理。

然而,如果在413处,速率控制器207确定一个或多个编码参数不满足一个或多个预定阈值,则速率控制器207可以调整图像的空间频率和/或调整用于调整图像的空间频率的空间频率控制241(例如,滤波器)的一个或多个配置参数。例如,在415处,速率控制器207被配置为调整预处理电路201的滤波器241的第一参数。在一个示例中,滤波器241的第一参数是σd(空间尺度参数)。例如,速率控制器207被配置为:(例如,通过为空间尺度参数(σd)添加空间尺度步长大小或通过从空间尺度参数(σd)减去空间尺度步长大小)来将空间尺度参数(σd)调整一预设值。根据一些示例,如果在411处所确定的调整后的量化参数大于上限阈值QH,则速率控制器207被配置为通过向空间尺度参数(σd)添加空间尺度步长大小来调整空间尺度参数(σd)。在一些示例中,如果在411处所确定的调整后的量化参数小于下限阈值QL,则速率控制器207被配置为通过从空间尺度参数(σd)减去空间尺度步长大小来调整空间尺度参数(σd)。在这些示例中,空间尺度步长大小可以被存储在速率控制器207可以访问的存储装置231中。应当注意,其他方法可以用于调整空间尺度参数(σd)。作为一个示例,空间尺度参数(σd)的集合可以被存储在例如存储装置231中,当要调整空间尺度参数(σd)时,速率控制器207可以从存储装置231中选择。

在调整空间尺度参数(σd)之后,速率控制器207可以在417处和419处比较调整后的空间尺度参数(σd)与一个或多个阈值。在一个示例中,速率控制器207可以比较调整后的空间尺度参数(σd)与下限阈值和/或上限阈值在419处,如果调整后的空间尺度参数(σd)仍然在由下限阈值和上限阈值定义的范围之内则比特速率控制器207可以将调整后的空间尺度参数(σd)传送至预处理电路201的空间频率控制241(例如,滤波器)。方法400随后可以在421和423处继续。在该示例中,在421处,预处理电路201从成像装置202接收输入数据211内的下一个图像(例如,下一个视频帧)。在423处,预处理电路201调整空间频率控制241(例如,滤波器)的配置参数,并且使用更新后的配置参数(例如,调整后的空间尺度参数(σd))来调整接收到的下一个图像的空间频率。然后方法400返回到401。

在419处,如果调整后的空间尺度参数(σd)小于或等于上限阈值并且也小于下限阈值则比特速率控制器207可以将空间尺度参数(σd)调整为等于下限阈值并且可以将调整后的空间尺度参数(σd)传送至预处理电路201的滤波器241。方法400然后可以在421和423处继续。

在417处,如果速率控制器207确定调整后的空间尺度参数(σd)不在由下限阈值和上限阈值定义的范围之内(例如,调整后的空间尺度参数(σd)大于上限阈值),则在427处,速率控制器207将空间尺度参数(σd)调整为等于上限阈值并且调整预处理电路201的滤波器241的第二参数。在一个示例中,滤波器241的第二参数是σr(值尺度参数)。例如,速率控制器207被配置为:(例如,通过向值尺度参数(σr)添加值尺度步长大小或通过从值尺度参数(σr)减去值尺度步长大小)来将值尺度参数(σr)调整一预设值。根据一些示例,如果在411处所确定的调整后的量化参数大于上限阈值QH,则速率控制器207被配置为通过向值尺度参数(σr)添加值尺度步长大小来调整值尺度参数(σr)。在一些示例中,如果在411所确定的调整后的量化参数小于下限阈值QL,则速率控制器207被配置为:通过从值尺度参数(σr)减去值尺度步长大小来调整值尺度参数(σr)。在该示例中,步长大小的值可以被存储在速率控制器207可以访问的存储装置231中。应当注意,其他方法可以用于调整值尺度参数(σr)。作为一个示例,值尺度参数(σr)的集合可以被存储在例如存储装置231中,当要调整值尺度参数(σr)时,速率控制器207可以从存储装置231选择。

在调整值尺度参数(σr)之后,速率控制器207可以在429处和在431处比较调整后的值尺度参数(σr)与一个或多个阈值。在一个示例中,速率控制器207可以比较调整后的值尺度参数(σr)与下限阈值和/或上限阈值在429处和在431处,如果调整后的值尺度参数(σr)仍然在由下限阈值和上限阈值定义的范围之内则比特速率控制器207可以将调整后的值尺度参数(σr)传送至预处理电路201的空间频率控制241(例如,滤波器)。方法400可以在421和423处继续。在该示例中,在421处,预处理电路201从成像装置202接收输入数据211内的下一个图像(例如,下一个视频帧)。在423处,预处理电路201调整空间频率控制241(例如,滤波器)的配置参数,并且使用更新后的配置参数(例如,调整后的空间尺度参数(σd)和/或调整后的值尺度参数(σr))来调整接收到的下一个图像的空间频率。然后方法400返回到401。

在431处,如果调整后的值尺度参数(σr)小于或等于上限阈值并且也小于下限阈值则比特速率控制器207可以将值尺度参数(σr)调整为等于下限阈值并且可以将调整后的值尺度参数(σr)传送至预处理电路201的滤波器241。方法400然后可以在421和423处继续。

在429处,如果速率控制器207确定调整后的值尺度参数(σr)不在由下限阈值和上限阈值定义的范围之内(例如,调整后的值尺度参数(σr)大于上限阈值),则在435处,速率控制器207将值尺度参数(σr)调整为等于上限阈值

在440处,预处理电路201基于例如调整后的空间尺度参数(σd)和/或调整后的值尺度参数(σr)来调整空间频率控制241(例如,滤波器)的配置参数。在440处,预处理电路201可以从成像装置202接收下一个图像,并且可以使用空间频率控制241的更新后的配置参数来调整接收到的下一个图像的空间频率。

方法400还继续用于调整颜色控制243和/或亮度控制245的配置参数。在一个示例中,在441处,速率控制器207将接收到的下一个图像的颜色空间的维度调整一预设值,以生成调整后的图像。根据一些非限制性示例,调整颜色空间的维度可以包括将颜色空间的维度减小预设值在该示例中,Kc是与预处理201的颜色控制243相关联的参数。参数Kc可以是整数,并且可以在控制过程开始时被初始化为具有值1。在一些示例中,参数Kc的初始值可以被存储在存储装置231中。根据一些实施例,减小颜色空间的维度可以包括将与图像的每个像素相关联的颜色值除以

在443处,编码器203对调整后的图像进行编码,以生成编码后的图像数据。在445处,收发器205发送编码后的图像数据。在447处,速率控制器207确定和/或接收与编码后的数据相关联的比特速率,并且在449处,速率控制器比较比特速率与例如通信信道的所确定的带宽。如果所确定的比特速率小于或等于带宽,则方法400在440处继续。

然而,如果在449处,速率控制器207确定所确定的比特速率大于带宽,则速率控制器207在451处调整编码器203的一个或多个编码参数(例如,一个或多个量化参数)。在453处,速率控制器207比较调整后的一个或多个参数与一个或多个阈值。如果一个或多个编码参数满足一个或多个阈值,则方法400在440处继续。步骤443-步骤453与上文所讨论的步骤401-步骤413类似。

如果一个或多个编码参数不满足一个或多个阈值,则方法400在455处继续,在455处,速率控制器207调整与预处理201的颜色控制243相关联的预设值(例如,参数Kc)。根据一些实施例,速率控制器207通过向参数Kc添加步长大小或通过从参数Kc减去步长大小来调整参数Kc。根据一些示例,如果在451处所确定的调整后的量化参数大于上限阈值QH,则速率控制器207被配置为通过向参数Kc添加步长大小来调整参数Kc。在一些示例中,如果在451处所确定的调整后的量化参数小于下限阈值QL,则速率控制器207被配置为通过从参数Kc减去步长大小来调整参数Kc。在一些示例中,用于调整参数Kc的步长大小可以是1。应当注意,其他方法和/或步长大小的其他值可以被用于调整参数Kc。根据一些实施例,用于调整参数Kc的步长大小可以被存储在存储装置231中。

在调整参数Kc之后,速率控制器207在457处确定调整后的参数Kc是否达到阈值。在一些示例中,速率控制器207比较调整后的参数Kc与上限阈值在一些实施例中,上限阈值可以是7,但是也可以使用其他上限阈值。上限阈值可以被存储在存储装置231中。如果速率控制器207在457处确定调整后的参数Kc没有达到上限阈值,则速率控制器207可以将调整后的参数Kc传送至预处理电路201的颜色控制243,并且方法400可以在440处继续。在该示例中,调整与预处理201的颜色控制243相关联的参数Kc,并且在441处将参数Kc的调整后的值用于输入数据201的下一个图像。如果在457处速率控制器207确定调整后的参数Kc已经达到上限阈值则速率控制器207将参数Kc调整为等于上限阈值并且方法400在460处继续。

在一些示例中,速率控制器207比较调整后的参数Kc与下限阈值在一些实施例中,下限阈值可以是0,但是也可以使用其他下限阈值。下限阈值可以被存储在存储装置231中。如果速率控制器207在457处确定调整后的参数Kc大于下限阈值则速率控制器207可以将调整后的参数Kc传送至预处理电路201的颜色控制243并且方法400可以在440处继续。在该示例中,调整与预处理201的颜色控制243相关联的参数Kc,并且在441处将参数Kc的调整后的值用于输入数据201的下一个图像。根据一些示例,如果在457处速率控制器207确定调整后的参数Kc小于下限阈值则速率控制器207将参数Kc调整为等于下限阈值并且方法400可以在427处继续。

在460处,预处理电路201基于例如调整后的空间尺度参数(σd)和/或调整后的值尺度参数(σr)来调整空间频率控制241(例如,滤波器)的配置参数。在460处,预处理电路201可以从成像装置202接收下一个图像,并且可以使用空间频率控制241的更新后的配置参数来调整接收到的下一个图像的空间频率。在460处,预处理电路201也可以使用来自455的调整后的预设值来调整该下一个图像的颜色空间的维度。

方法400还继续用于调整配置亮度控制245的参数。在一个示例中,在461处,速率控制器207还将接收到的下一个图像的亮度空间的维度调整一预设值,以生成调整后的图像。根据一些非限制性示例,调整亮度空间的维度可以包括将颜色空间的维度减小预设值在该示例中,Kb是与预处理201的亮度控制245相关联的参数。参数Kb可以是整数且可以在控制过程开始时被初始化为具有值1。在一些示例中,参数Kb的初始值可以被存储在存储装置231中。根据一些实施例,减小亮度空间的维度可以包括将与图像的每个像素相关联的亮度值除以

在463处,编码器203对调整后的图像进行编码,以生成编码后的图像数据。在465处,收发器205发送编码后的图像数据。在467处,速率控制器207确定和/或接收与编码后的数据相关联的比特速率,并且在469处,速率控制器比较比特速率与例如通信信道的所确定的带宽。如果所确定的比特速率小于或等于带宽,则方法400在460处继续。

然而,如果在469处,速率控制器207确定所确定的比特速率大于带宽,则速率控制器207在471处调整编码器203的一个或多个编码参数(例如,一个或多个量化参数)。在473处,速率控制器207比较调整后的一个或多个参数与一个或多个阈值。如果一个或多个编码参数满足一个或多个阈值,则方法400在460处继续。步骤463-步骤473与上文讨论的步骤401-步骤413类似。

如果一个或多个编码参数不满足一个或多个阈值,则方法400在475处继续,在475处,速率控制器207调整与预处理201的亮度控制245相关联的预设值(例如,参数Kb)。根据一些实施例,速率控制器207通过向参数Kb添加步长大小或通过从参数Kb减去步长大小来调整参数Kb。根据一些示例,如果在471处确定的调整后的量化参数大于上限阈值QH,则速率控制器207被配置为通过向参数Kb添加步长大小来调整参数Kb。在一些示例中,如果在471处确定的调整后的量化参数小于下限阈值QL,则速率控制器207被配置为通过从参数Kc减去步长大小来调整参数Kb。在一些示例中,用于调整参数Kb的步长大小可以是1。应当注意,其他方法和/或步长大小的其他值可以被用于调整参数Kb。根据一些实施例,用于调整参数Kb的步长大小可以被存储在存储装置231中。

在调整参数Kb之后,速率控制器207在477处确定调整后的参数Kb是否达到阈值。在一些示例中,速率控制器207比较调整后的参数Kb与上限阈值在一些实施例中,上限阈值可以是7,但是也可以使用其他阈值。上限阈值可以被存储在存储装置231中。如果速率控制器207在477处确定调整后的参数Kb没有达到上限阈值,则速率控制器207可以将调整后的参数Kb传送至预处理电路201的亮度控制245,并且方法400可以在460处继续。在该示例中,调整与预处理201的亮度控制245相关联的参数Kb,并且在461处将参数Kb的调整后的值用于输入数据201的下一个图像。

根据一些实施例,如果在477处速率控制器207确定调整后的参数Kb已经达到上限阈值则速率控制器207将参数Kb调整为等于上限阈值并且方法400可以通过发布错误消息来在479处继续。错误消息可以指示系统200的状态参数(例如,与编码后的图像数据相关联的比特速率、编码参数(例如,量化参数)、PSNR、和/或一个或多个缓存区的存储空间等)不在预设范围之内并且预处理电路201的参数也在预定范围之外。附加地或备选地,方法400可以继续到460,在460处,可以使用预处理电路201利用预处理电路201的参数来对输入数据211内的接下来的帧进行预处理,预处理电路201的参数当前处于其最大阈值。

在一些示例中,速率控制器207比较调整后的参数Kb与下限阈值在一些实施例中,下限阈值可以是0,但是也可以使用其他下限阈值。下限阈值可以被存储在存储装置231中。如果速率控制器207在477处确定调整后的参数Kb大于下限阈值则速率控制器207可以将调整后的参数Kb传送至预处理电路201的亮度控制245,并且方法400可以在460处继续。在该示例中,调整与预处理201的亮度控制245相关联的参数Kb,并且在461处将参数Kc的调整后的值用于输入数据201的下一个图像。根据一些示例,如果在477处速率控制器207确定调整后的参数Kb小于下限阈值则速率控制器207将参数Kb调整为等于下限阈值并且方法400可以在427处继续。

可以例如使用一个或多个众所周知的计算机系统(例如,图5中示出的计算机系统500)来实现各个实施例。例如,参考图1、图2A、图2B、图3A-图3C、以及图4A-图4D所描述的组件和/或操作中的每一项可以使用一个或多个计算机系统500或其部分来实现。计算机系统500可以例如被用于实现图3A-图3D的方法300或图4A-图4D的方法400。例如,根据一些实施例,计算机系统500可以被用于预处理和参数控制。计算机系统500可以是能够执行本文所描述的功能的任何计算机。

计算机系统500包括诸如处理器504之类的一个或多个处理器(也被称作中央处理单元或CPU)。处理器506被连接至通信基础设施或总线506。

处理器506可以是例如图形处理单元(GPU)。在一些实施例中,GPU是如下处理器:该处理器是被设计用于处理数学密集应用的专门的电子电路。GPU可以具有并行的结构,该结构对于大的数据块(例如,对计算机图形应用、图像、视频等常见的数学密集数据)的并行处理是有效的。

计算机系统500还包括与通信基础设施504通信的用户输入/输出/显示装置522,例如,监视器、键盘、指向装置等。

计算机系统500还包括主存储器或主要存储器508,例如随机存取存储器(RAM)。主存储器508可以包括一级或多级缓存。主存储器508中存储控制逻辑528A(例如,计算机软件)和/或数据。

计算机系统500还可以包括一个或多个辅存储装置或辅存储器510。辅存储器510可以包括:例如,硬盘驱动器512和/或可移除存储装置或可移除存储驱动器514。可移除存储驱动器514可以是软盘驱动器、磁带驱动器、光盘驱动器、光存储装置、磁带备份装置和/或任何其他存储装置/驱动器。

可移除存储驱动器514可以与可移除存储单元516交互。可移除存储单元518包括存储控制逻辑528B(例如,计算机软件)和/或数据的计算机可用或可读存储装置。可移除存储单元518可以是软盘、磁带、光盘、DVD、光存储盘和/任何其他计算机数据存储装置。可移除存储驱动器514从可移除存储单元516读取数据和/或向其写入数据。

计算机系统500还可以包括通信接口或网络接口518。通信接口518使计算机系统500能够与远程装置、远程网络、远程实体等(单独地或共同地由附图标记530引用)的任何组合通信和交互。例如,通信接口518可以允许计算机系统500通过通信路径526与远程装置530通信,通信路径526可以是有线的和/或无线的,并且其可以包括LAN、WAN、互联网等的任何组合。控制逻辑和/或数据可以经由通信路径526被发送至计算机系统500和从计算机系统500发送。

在一些实施例中,包括存储有控制逻辑(软件)的有形的计算机可用或可读介质的有形装置或制品在本文也被称作“计算机程序产品”或“程序存储装置”。这包括但不限于:计算机系统500、主存储器508、辅存储器510和可移除存储单元516、以及体现前述的任何组合的有形制品。这些控制逻辑在由一个或多个数据处理装置(例如计算机系统500)执行时,使该数据处理装置如本文所述地操作。

基于在本公开中包含的教导,如何使用除了图5中所示的数据处理装置、计算机系统和/或计算机体系结构之外的数据处理装置、计算机系统和/或计算机体系结构来产生和使用本公开的实施例对相关领域技术人员将是明显的。具体地,实施例可以利用除了本文描述的软件实现、硬件实现和/或操作系统实现之外的软件实现、硬件实现和/或操作系统实现来操作。

应当理解,具体实施方式部分而不是发明内容部分和摘要部分意在用于解释权利要求。发明内容部分和摘要部分可以阐述发明人预期的本公开的一个或多个示例性实施例但不是所有的示例性实施例,因此不旨在以任何方式限制本公开和所附的权利要求。

已经在上文借助于说明指定功能及其关系的实现的功能构建块描述了本公开。为便于描述,本文任意定义这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义备选边界。

具体实施例的前述描述如此全面地显示本公开的一般性质,从而使其他人可以通过应用本领域技术中的知识,无需过度实验就能针对各种应用容易地修改和/或适配这些具体实施例,而不背离本公开的总体构思。因此,这些适配和修改旨在落在基于本文所提出的教导和指导的所公开的实施例的等同实施例的含义和范围之内。应当理解的是,本文的措辞或术语用于描述而不是限制的目的,使得本说明书的术语或措辞由技术人员根据教导和指导来解释。

本文对“一个实施例”、“实施例”、“示例实施例”或类似短语的引用指示了所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以不必包括该特定特征、结构或特性。而且,这些短语不必指代同一实施例。此外,当结合实施例描述特定特征、结构或特性时,将这种特征、结构或特性合并在其他实施例中(无论是否在本文明确提及或描述)是在相关领域的技术人员的知识内的。

本公开的宽度和范围不应被上述示例性实施例中的任何一个限制,而是应该仅根据所附的权利要求及其等同物来定义。

本申请中的权利要求与任何母案申请或其他相关申请不同。因此申请人撤回在母案申请或任何在先申请或相关申请中所做出的与本申请有关的权利要求范围的任何弃权声明。因此建议审查员可能需要重新浏览任何之前的这种弃权声明和使其被避免的引用的参考文献。此外,还提醒审查员,在本申请中做出的任何弃权声明不应该在母案申请或相关申请中解读或针对母案申请或相关申请来解读。

51页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用3D辅助数据的运动估计

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类