低比特率压缩视频流上的计算机视觉的自适应阈值处理的制作方法

文档序号:21789829发布日期:2020-08-07 20:44阅读:153来源:国知局
低比特率压缩视频流上的计算机视觉的自适应阈值处理的制作方法

优先权要求

本申请要求于2018年2月5日递交的、题为“adaptivethresholdingforcomputervisiononlowbitratecompressedvideostreams(低比特率压缩视频流上的计算机视觉的自适应阈值处理)”、序列号为15/888,927的美国专利申请的优先权,通过引用将该申请全部并入。



背景技术:

在一些计算机视觉情境中,设备压缩原始视频以生成压缩视频流,并且视频流被发送到另一设备或者云计算环境,另一设备或云计算环境对视频流解压缩并且对解压缩的视频执行诸如对象检测和/或识别之类的计算机视觉。由于网络带宽约束,为了减小来自大量视频流的聚合带宽,以及其他关注因素,视频经常被压缩到低比特率视频流。结果,解压缩的视频包括使图像特征失真的伪影(由于dct系数的量化,等等)。在对象检测和/或识别期间,失真的图像特征可导致更低的检测得分,即使是在对象发生的位置处也是如此,这一部分是由于对象检测模型是利用原始高质量图像来训练的。这种失真从而可导致实现期间的伪阴性(未检测到或者错过检测)和/或伪阳性(虚假检测)。

在低比特率视频流的情境中改进计算机视觉(例如,对象检测和/或识别)可能是有利的。正是考虑到这些和其他考虑事项,所以需要本改进。随着实现计算机视觉的愿望变得更普遍,这种改进可变得关键。

附图说明

在附图中以示例方式而非限制方式图示了本文描述的素材。为了图示的简单和清晰,附图中图示的元素不一定是按比例绘制的。例如,为了清晰,一些元素的尺寸相对于其他元素可被夸大。另外,在认为适当时,附图标记在附图之间被重复以指示出对应的或相似的元素。在附图中:

图1是用于提供计算机视觉的示例框架的示意图;

图2图示了示例解压缩视频;

图3是图示出用于向解压缩视频应用计算机视觉的示例过程的流程图;

图4是图示出用于利用来自参考帧的计算机视觉结果(例如对象检测结果)来生成预测帧中的兴趣区域的示例过程的流程图;

图5图示出用于与重叠编码块的边界对齐的对限界区域的示例扩展;

图6图示出从参考帧到预测帧的示例兴趣区域分区的示例平移;

图7是图示出用于向解压缩视频应用计算机视觉的示例过程的流程图;

图8是用于向解压缩视频应用计算机视觉的示例系统的示意图;

图9是示例系统的示意图;并且

图10图示了全都根据本公开的至少一些实现方式布置的示例设备。

具体实施方式

现在参考附图描述一个或多个实施例或实现方式。虽然论述了具体配置和布置,但应当理解这么做只是为了说明性目的。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。相关领域的技术人员将会清楚,本文描述的技术和/或布置也可用在与本文所述不同的多种其他系统和应用中。

虽然接下来的描述阐述了可在诸如片上系统(system-on-a-chip,soc)体系结构之类的体系结构中显现的各种实现方式,但本文描述的技术和/或布置的实现方式不限于特定的体系结构和/或计算系统,而是可由任何体系结构和/或计算系统为类似的目的而实现。例如,采用例如多个集成电路(integratedcircuit,ic)芯片和/或封装的各种体系结构和/或诸如机顶盒、智能电话等等之类的各种计算设备和/或消费电子(consumerelectronic,ce)设备可实现本文描述的技术和/或布置。另外,虽然接下来的描述可阐述许多具体细节,例如逻辑实现方式、系统组件的类型和相互关系、逻辑分区/集成选择等等,但要求保护的主题可在没有这种具体细节的情况下实现。在其他情况中,为了避免模糊本文公开的素材,可能没有详细示出一些素材,例如控制结构和完整软件指令序列。

本文公开的素材可以用硬件、固件、软件或者其任何组合来实现。本文公开的素材也可实现为存储在机器可读介质上的指令,这些指令可被一个或多个处理器读取和执行。机器可读介质可包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可包括只读存储器(readonlymemory,rom);随机访问存储器(randomaccessmemory,ram);磁盘存储介质;光存储介质;闪存设备;电的、光的、声的或者其他形式的传播信号(例如,载波、红外信号、数字信号等等),以及其他。

说明书中提及“一个实现方式”、“一实现方式”、“一示例实现方式”等等指示的是描述的实现方式可包括特定的特征、结构或特性,但可能不一定每个实施例都包括该特定特征、结构或特性。另外,这种短语不一定指同一实现方式。另外,当联系一实施例来描述特定的特征、结构或特性时,认为联系其他实现方式(无论本文是否明确描述)来实现这种特征、结构或特性是在本领域技术人员的知识范围内的。

本文描述了与计算机视觉有关、尤其与用于对象检测的自适应阈值处理(thresholding)有关的方法、设备、装置、计算平台和物品。

如前所述,在解压缩的低比特率视频的情境中,压缩伪影可引起诸如对象检测或识别之类的计算机视觉应用中的困难。本文论述的技术提供了在边缘到云联网计算机视觉管线或者任何适当的计算情境中的低比特率视频流上的高效计算机视觉。论述的技术可被应用到具有周期性的高质量i帧夹杂着低质量p帧的解压缩视频流。在一些实施例中,高检测阈值被用于高质量i帧中的对象检测,从而确定可靠的对象检测。可利用诸如限界框之类的任何一个或多个适当的空间指示器来标识这种对象。

对于后续的低质量p帧,检测到的对象的(一个或多个)空间指示器被从i帧平移到p帧以生成兴趣区域。例如,利用落在i帧中的限界框内的宏块(macroblock,mb)的运动向量(例如,对象检测),通过利用运动向量的平均或中值将限界框从i帧平移到p帧来确定p帧中的潜在兴趣区域(regionsofinterest,roi)。在p帧中,较低的检测阈值被用于roi区域,而较高的检测阈值被用于非roi区域。p帧的对象检测得分被与其对应阈值相比较(例如,在roi内与较低阈值相比较并且在roi外部与较高阈值相比较)并且比较起来有利的那些被识别为检测到的对象。

p帧中的最终检测(例如,检测到的对象)于是充当后续的第二p帧(即,其参考先前p帧)的参考检测,并且该过程可递归地重复,直到下一个i帧为止,在这里再次使用对于整个i帧使用单个阈值的对象检测。虽然是对于对象检测论述的,但可使用诸如对象识别之类的任何类型的计算机视觉应用。就本文使用的而言,运动预测帧是至少部分利用运动估计和补偿从一个或多个运动参考帧预测的任何帧。例如,运动预测帧可以是就运动补偿参考i帧或其他p帧的p帧。此外,就本文使用的而言,独立帧是只利用该帧本身而不参考任何运动参考帧来预测的任何帧。例如,独立帧可以是只利用帧内预测技术来预测的i帧。

图1是根据本公开的至少一些实现方式布置的用于提供计算机视觉的示例框架100的示意图。如图1中所示,框架100可包括设备101和系统104,其中设备101包括视频编码器102,系统104包括视频解码器105、计算机视觉检测器106(例如深度神经网络dnn)、自适应阈值模块107和兴趣区域生成器108。在框架100中,设备101可被表征为边缘设备并且系统104可以是云系统、服务器系统等等。然而,设备101和/或系统104可经由能够执行本文论述的操作的任何(一个或多个)适当的设备或系统来实现。例如,系统101和/或系统104可经由任何适当的设备实现,例如服务器、云计算资源、个人计算机、膝上型计算机、平板设备、平板手机、智能电话、数字相机、游戏控制台、可穿戴设备、一体化设备、二合一设备等等或者诸如移动平台之类的平台。例如,就本文使用的而言,系统、设备、计算机或计算设备可包括任何这种设备或平台。

如图所示,设备101的视频编码器102可将在设备101处捕捉的原始视频111编码成比特流112。例如,设备101可经由相机捕捉原始视频111并且由设备101实现的视频编码器102可生成服从标准(例如,mpeg-4、avc、hevc等等)的比特流112。原始视频111可包括采取任何适当分辨率的任何适当的视频帧、视频图片、视频帧的序列、图片组、多个图片组、视频数据等等。例如,视频可以是视频图形阵列(videographicsarray,vga)、高清晰度(highdefinition,hd)、全hd(例如,1080p)、4k分辨率视频、8k分辨率视频等等,并且视频可包括任何数目的视频帧、视频帧的序列、图片、图片组等等。为了呈现的清晰起见,本文论述的技术是对于帧和编码块论述的。然而,这种帧可被表征为图片并且这种块可被表征为宏块、单元、编码单元等等。例如,彩色视频数据的帧可包括亮度平面或分量(即,亮度像素值)和相对于亮度平面处于相同或不同分辨率的两个色度平面或分量(即,色度像素值)或者彩色数据的帧可包括多个(例如、r、g、b)色度平面。原始视频111可包括可由类型来表征(例如,gop中的i帧、p帧等等)、被划分成任何大小的块(例如,m×n个像素块)并且被编码的帧。这种块单元可包括来自像素数据的一个或多个平面或颜色通道的数据。将会明白,这种块也可被划分成子块,用于预测、变换等等。

比特流112可以是任何适当的比特流,例如服从标准的比特流。例如,比特流112可以服从h.264/mpeg-4高级视频编码(advancedvideocoding,avc)标准,服从h.265高效率视频编码(highefficiencyvideocoding,hevc)标准、服从vp9标准,等等。在一些实施例中,比特流112是低比特率视频流。例如,视频编码器102可通过如下方式来编码或压缩原始视频111:向其帧应用gop结构,以使得该gop结构包括周期性的高质量i帧夹杂着低质量p帧,如下文进一步论述的。

如图所示,比特流112可通过网络103被传输到系统104。如图所示,由系统104实现的视频解码器105对比特流112解码以生成解压缩视频113和语法114,语法114可包括帧类型、帧分割、用于编码块的运动向量等等。解压缩视频113可包括从比特流112解压缩或解码的采取任何适当分辨率的任何适当的视频帧、视频图片、视频帧的序列、图片组、多个图片组、视频数据等等。语法114的运动向量可包括指示从参考帧(例如,i帧或p帧)到个体帧(例如,p帧)的预测运动的任何适当的值和信息。此外,解压缩视频113可包括可由类型来表征的帧(例如,gop中的i帧、p帧等等),包括根据由比特流112指示的特征的任何大小的块。例如,比特流112的语法114提供将比特流112重建成解压缩视频113,使得解压缩视频113具有由比特流112指示并且在原始视频111的编码期间提供的特性。

图2图示了根据本公开的至少一些实现方式布置的示例解压缩视频113。如图2中所示,解压缩视频113包括图片组201、202,使得图片组201包括i帧211和若干(例如,29个)p帧212,并且图片组202包括i帧221和若干(例如,29个)p帧222。例如,解压缩视频113可对任何数目的图片组以这种方式继续,如i帧231所指示。将会明白,对于解压缩视频113和语法114指示的gop结构也被视频编码器102应用来对原始视频111编码。例如,解压缩视频113的重建的i帧211对应于原始视频111的被编码为i帧的帧,每个重建的p帧212对应于原始视频111的被编码为p帧的帧,依此类推,以使得在对原始视频111编码和将比特流112解码成解压缩视频113之间维持了每个帧的特性(例如,帧类型、分割成块,等等)。

如图所示,在一些实施例中,解压缩视频113具有一个i帧后跟着若干p帧的gop结构。例如,原始视频111可在设备101处被捕捉并且在设备101的处理器处被压缩,从而存在i帧211、221、231的周期性出现。i帧211、221、231是独立帧,从而它们是在没有对过去或将来的帧(例如,参考帧)的时间依从性的情况下被编码/解码的。与之不同,p帧212、222是(至少部分地)利用运动向量从先前编码/解码的帧预测的。如前所述,相继i帧之间的时空区域可被表征为图片组201、202。在一些实施例中,i帧211、221、231(例如,原始视频111的与i帧211、221、231相对应的帧)是以高保真度(高比特率)编码的,而p帧212、222(例如,原始视频111的与p帧212、222相对应的帧)是以低保真度(非常低的比特率)编码的。例如,通过将i帧混合到16mbps流中并且将p帧混合到50kbps流中可按580kbps的有效比特率来对原始视频111编码。

返回图1,解压缩视频113被提供给计算机视觉检测器106。计算机视觉检测器106接收解压缩视频113并且对于解压缩视频113的每个帧生成置信图115,该置信图115在逐像素的基础上指示出例如置信水平或得分,该置信水平或者分指示出该像素是否包括检测到的计算机视觉结果,例如检测到的对象、辨识出的对象或者其他特征。可利用任何一个或多个适当的技术来生成置信图115。在一实施例中,计算机视觉检测器106向解压缩视频113的每个帧应用深度神经网络以生成置信图115。置信图115可包括任何适当的信息,例如解压缩视频113的每个帧的每个像素(或者像素的局部化分组)的关于该像素是否对应于检测到的对象、辨识出的对象或者视频帧的其他特征的得分。例如,置信图115可包括关于每个像素是否对应于任何类型的检测到的对象的得分,各自指示出像素是否对应于某种类型的检测到的对象(例如,人、车辆等等)的多个得分、关于每个像素是否对应于检测到的计算机视觉的得分,等等。

如图所示,置信图115被提供给自适应阈值模块107。自适应阈值模块107还接收解压缩视频113和语法114(或者其一部分)以及(一个或多个)兴趣区域116。自适应阈值模块107依据帧类型和(一个或多个)兴趣区域116向整个置信图115应用单个阈值或者向置信图115的(一个或多个)兴趣区域116和置信图115的(一个或多个)非兴趣区域116应用不同的阈值以生成计算机视觉指示器117。例如,对于解压缩视频113的独立帧(例如,i帧)(例如,由语法114指示),自适应阈值模块107向独立帧的置信图115的每个得分或置信值应用单个(高)阈值。与单个(高)阈值比较起来有利(例如,超过、达到或超过等等)的那些得分或置信值被视为检测到的计算机视觉结果的一部分,并且与单个(高)阈值比较起来不有利的那些得分或置信值被视为不是检测到的计算机视觉结果的一部分。被视为检测到的计算机视觉结果的一部分的像素位置可经历由自适应阈值模块107(如图所示)或者系统104的另一模块进行的额外可选处理(例如,像素合并、平滑、限界框应用,等等),并且计算机视觉指示器117可被生成。不被视为检测到的计算机视觉结果的一部分的那些像素位置可被丢弃。计算机视觉指示器117可包括任何适当的信息来识别解压缩视频113的帧中的一个或多个检测到的计算机视觉结果,例如检测到的计算机视觉结果的(一个或多个)空间指示器。例如,计算机视觉指示器117可指示出检测到的计算机视觉结果周围的限界框(例如,提供检测到的计算机视觉结果的拐角的像素位置)、检测到的计算机视觉结果的轮廓(例如,定义轮廓的像素位置)、检测到的计算机视觉结果的中心点和尺寸,等等。所论述的检测到的计算机视觉结果可以是任何适当的特征或结果,例如检测到的对象、辨识出的对象或者视频帧的其他特征。

如图所示,计算机视觉指示器117——如果有的话——也被提供给兴趣区域生成器108。兴趣区域生成器108接收计算机视觉指示器117和指示出解压缩视频113的运动向量的语法114(或者其一部分),并且兴趣区域生成器108生成(一个或多个)兴趣区域116。兴趣区域生成器108可利用任何一个或多个适当的技术来生成(一个或多个)兴趣区域116。例如,兴趣区域生成器108可为参考帧接收计算机视觉指示器117并且兴趣区域生成器108可利用指示出从参考帧到当前个体帧的运动的运动向量来将计算机视觉指示器117(例如,指示参考帧中的检测到的计算机视觉结果)平移到当前个体帧。例如,由计算机视觉指示器117指示的检测到的计算机视觉结果区域(例如,诸如限界框之类的限界区域)可用于确定被检测到的计算机视觉结果区域(至少部分)重叠的参考帧的编码块。与重叠的编码块相对应的运动向量随后被用于将检测到的计算机视觉结果区域从参考帧平移(或外推)到当前个体帧。例如,可确定运动向量的平均或中值并且可利用平均或中值运动向量来平移检测到的计算机视觉结果区域。此外,检测到的计算机视觉结果区域可被更改(例如,被扩展到至少部分重叠的编码块的外边缘之类的)以定义当前帧中的兴趣区域。可对任何数目的检测到的计算机视觉结果区域重复这种技术以生成相等数目的兴趣区域。

如图所示,由兴趣区域生成器108为当前个体帧生成的(一个或多个)兴趣区域116与当前个体帧的置信图115一起被提供给自适应阈值模块107。可如前所述生成当前个体帧的置信图115,来为当前个体帧的像素位置提供得分或置信值。例如,无论帧类型如何,计算机视觉检测器106可应用相同的计算机视觉检测。如前所述,这种计算机视觉分析可以是对象检测、对象辨识、特征提取等等。此外,如前所述,与先前论述的独立帧(例如,i帧)不同,当前预测帧(例如,p帧)可被以更低的保真度(例如,比特率)编码,使得其相对于先前论述的i帧具有更低的视觉质量。对于当前预测帧(例如,p帧),自适应阈值模块107向(一个或多个)兴趣区域116内的得分或置信值应用低阈值并且向(一个或多个)兴趣区域116之外的得分或置信值应用较高的阈值。例如,较高的阈值可以是与应用到独立帧(例如,i帧)相同的阈值,而较低的阈值可以比较高阈值低特定的偏移量或因子。较高和较低阈值可以是任何适当的值。在一实施例中,较低阈值不大于较高阈值的一半。在一实施例中,较低阈值不大于较高阈值的40%。在一实施例中,较低阈值不大于较高阈值的35%。

与在(一个或多个)兴趣区域116外部检测到计算机视觉结果的可能性(例如,如果不一定预期有对象之类,并且可能由于不良帧质量而发生伪阳性)相比,这种技术可允许在(一个或多个)兴趣区域116中检测到计算机视觉结果的可能性增大(例如,如果预期到对象之类已移动,但可能由于不良帧质量而发生伪阴性)。

与其相应的自适应阈值比较起来有利(例如,超过、达到或超过等等)的那些得分或置信值被视为检测到的计算机视觉结果(例如,检测到或识别出的对象)的一部分,并且与其相应的自适应阈值比较起来不有利的那些得分或置信值被视为不是检测到的计算机视觉结果的一部分。被视为检测到的计算机视觉结果的一部分的像素位置可经历额外可选处理(例如,像素合并、平滑、限界框应用,等等),并且计算机视觉指示器117可被生成。不被视为检测到的计算机视觉结果的一部分的那些像素位置可被丢弃。

这种多重自适应阈值处理(即,兴趣区域生成和基于位置在兴趣区域中还是外来向置信图的区域应用不同阈值)对于任何数目的预测帧(例如,p帧)重复。自适应的不同阈值在预测帧之间可以是相同的或者它们可以是变化的。在一些实施例中,较高和/或较低阈值可随着距i帧的预测距离增大而被降低。例如,在第一预测帧中,较高和较低阈值可分别是第一值和第二值,并且在(按帧编码顺序)相对于第一预测帧更远离i帧的第二预测帧中,较高和较低阈值可分别是第三值和第四值,使得第一阈值大于第三阈值并且第二阈值大于第四阈值,或者使得第一阈值和第三阈值相同,并且第二阈值大于第四阈值。

在解压缩视频113的下一个独立帧(例如,i帧)处,这种处理可重置,以使得如前所述,在该独立帧处,单个(较高)阈值被应用到相应置信图的得分或置信值。在下一个后续预测帧(例如,p帧)处,如前所述基于得分或置信值是否在兴趣区域内来自适应地应用多个阈值。例如,这种技术在例如边缘到云联网计算机视觉管线中在低比特率视频流上提供了高效的计算机视觉。

图3是图示出根据本公开的至少一些实现方式布置的用于向解压缩视频应用计算机视觉的示例过程300的流程图。如图所示,过程300可包括操作301-310来生成对象检测311。过程300可由系统或设备(例如,系统104)执行来通过选择性地应用用于评估对象检测得分的阈值来改进计算机视觉。在过程300中,出于呈现的清晰起见图示了对象检测。然而,过程300可被应用在任何计算机视觉情境中,例如对象辨识、特征辨识或提取,等等。例如,关于过程300论述的对象检测技术可被应用到任何检测到的计算机视觉结果。

如图所示,处理开始于操作301,在这里帧311和与该帧相对应的运动向量312(如果适用的话)被解码。可利用任何一个或多个适当的技术对帧311和运动向量312解码。例如,帧311和运动向量312可由视频解码器105从服从标准的比特流解码。如本文所述,帧311(例如,当前个体帧)可以是只利用帧内预测技术预测的独立帧(例如,i帧),或者至少部分利用从运动参考帧的运动补偿来预测的预测帧(例如,p帧)。与预测帧相比可以更高的保真度(例如,比特率)对独立帧编码,以使得独立帧比预测帧具有更高的视觉质量。在过程300中,单个对象检测阈值被应用到独立帧,而当预测帧包括兴趣区域时,多个对象检测阈值被应用到预测帧,使得在兴趣区域内应用较低阈值。例如,帧311是独立帧(例如,i帧),只有重建的帧(例如,rgb帧)被用于对象识别。如果帧是预测帧(例如,p帧),则从该帧提取的运动向量(mv)被用于roi确定和后续对象识别。

处理在操作302处继续,在这里对帧311执行对象检测以生成逐像素或逐区域(例如,多个区域)地指示出该像素或区域对应于检测到的对象的可能性的对象检测值或得分。例如,深度神经网络(deepneuralnetwork,dnn)、卷积神经网络(convolutionalneuralnetwork,cnn)或者其他预训练学习模型可被应用到独立帧或预测帧以生成对象检测值或得分。如前所述,这种对象检测值或得分可被提供作为置信图,使得每个对象检测值或得分对应于帧311的一像素位置。例如,对于第一独立帧311,过程300开始于检测该帧中的兴趣对象(存储为对象检测311),如对于操作302、304、305、309和310所述。

处理在操作304处继续,在这里选择对象检测值或得分。例如,可按光栅顺序之类的来选择对象检测值或得分。处理在操作305处继续,在这里设置用于评估对象检测值或得分的高检测阈值。高检测阈值可以是任何适当的值。例如,对于提供1.0的最大对象检测得分的模型,可使用0.95或0.9的高检测阈值(例如,最大对象检测得分的95%或90%)。

如图所示,处理在检测操作306处继续,在这里确定当前帧311是否是预测帧(例如,p帧212、222之一)。如果否(例如,当前帧311是独立帧,例如i帧211、221、231之一),则处理在判决操作309处继续,在这里确定在操作304从在操作302为当前个体帧生成的对象检测得分中选择的得分是否大于在操作304设置的高检测阈值。例如,可利用单个高检测阈值来评估非预测帧(例如,独立i帧)。如果得分不大于阈值(或者没有达到阈值或者以其他方式不满足阈值),则处理在操作304处继续,在这里选择另一得分。如果得分满足阈值,则处理在操作310处继续,在这里与得分相对应的位置(例如,像素位置)被保存和/或标记为对象区域,并且在对整个当前个体帧的处理之后,被标记为对象区域的那些像素或区域可被组合、平滑等等,并且被提供作为对象检测311,对象检测311可用于为后续预测帧生成(一个或多个)兴趣区域。可对在操作302生成的所有得分重复操作304、305、306和309,以提供一种用于为独立帧选择和评估得分的迭代方案。然而,可利用任何一个或多个适当的技术来执行这种操作。例如,帧类型指示器可指示出当前帧是独立帧,并且作为响应,每个对象检测得分可被与高检测阈值相比较,而不在每次迭代评估帧类型。

如图所示,过程300还包括操作303,在这里当帧311是预测帧时接收来自参考帧的运动向量312和对象检测311。对于当前预测帧,运动向量312和对象检测311对应于用于当前帧的运动补偿并且已经对其执行对象检测311的参考帧(独立的或者预测的)。例如,可按解码顺序对每个帧执行过程300。

对于是独立帧的那些帧或者对于与不包括任何对象检测的参考帧相对应的那些预测帧,操作303可被跳过并且高阈值可被用于在判决操作309处评估得分。对于与包括一个或多个对象检测的参考帧相对应的那些预测帧,操作303生成(一个或多个)对应的兴趣区域313。这样的(一个或多个)兴趣区域313可以是利用例如关于图4论述的那些之类的任何一个或多个适当的技术从相关参考帧中的对应对象检测生成的。

图4是图示出根据本公开的至少一些实现方式布置的示例过程的流程图,该过程可在操作303处被应用来利用来自参考帧的计算机视觉结果(例如对象检测结果)生成预测帧中的兴趣区域。如图所示,过程400可包括操作401-404来生成(一个或多个)兴趣区域。过程400可由系统或设备(例如,系统104)执行来改进计算机视觉。

如图所示,处理开始于操作401,在这里接收对于参考帧检测到的计算机视觉结果(例如,检测到的对象)的(一个或多个)空间指示器。如前所述,检测到的计算机视觉结果的(一个或多个)空间指示器可包括任何适当的空间指示器,例如定义检测到的计算机视觉结果的边界的像素位置的限界区域。例如,限界区域可以是利用限界框的左上像素位置(或者部分像素位置)和右下像素位置(或者部分像素位置)、限界框的左上像素位置(或者部分像素位置)和水平和垂直大小等等定义的限界框。在其他实施例中,检测到的计算机视觉结果的(一个或多个)空间指示器包括检测到的计算机视觉结果的中心点和大小。在一实施例中,检测到的计算机视觉结果的(一个或多个)空间指示器包括定义检测到的计算机视觉结果的限界区域或周界的数据,等等。就本文使用的而言,术语(一个或多个)空间指示器包括指示检测到的计算机视觉结果的位置和大小的任何数据或信息。如前所述,检测到的计算机视觉结果可以是任何结果,例如检测到的对象、辨识出的对象或者检测到的特征。

处理在操作402处继续,在这里检测到的计算机视觉结果的(一个或多个)空间指示器可被扩展到编码块边界。如前所述,(一个或多个)空间指示器指示出参考帧中的检测到的计算机视觉结果的位置和大小。例如,(一个或多个)空间指示器可提供与检测到的计算机视觉结果相对应的限界框或者任何形状的限界区域。在操作402,与检测到的计算机视觉结果相对应的限界区域(由(一个或多个)空间指示器定义)可选地被覆盖到参考帧上。参考帧如前所述包括编码块,例如16×16宏块或者其他编码块或单元。限界区域的边界可被扩展到由至少部分与限界区域重叠的编码块定义的边界。例如,限界区域的边界可被扩展或填充到包括由编码块定义的边界的兴趣区域分区,使得限界区域可例如在该限界区域的所有四条边上被扩展或填充。

图5图示了根据本公开的至少一些实现方式布置的限界区域的示例扩展来与重叠的编码块的边界对齐。图5出于清晰起见图示了示例限界框501;然而,可使用任何适当形状的任何适当限界区域。如图所示,与检测到的计算机视觉结果相对应的限界框501可被覆盖511到包括了检测到的计算机视觉结果的参考帧502上,使得限界框501至少部分覆盖每个编码块503。在图5中,为了呈现的清晰起见只图示了参考帧502的相关部分。限界框501被扩展512以使其与覆盖的编码块503的边界对齐来生成兴趣区域分区504。如下文所述,兴趣区域分区504可利用运动信息(即,运动向量)被从参考帧502平移(或外推)到预测帧。兴趣区域分区504也可被表征为扩展边界区域、扩展边界框或者扩展检测到的计算机视觉结果区域或分区。

返回图4,处理在操作403处继续,在这里确定用于兴趣区域分区的平移的运动向量。可利用任何一个或多个适当的技术来确定运动向量。在一实施例中,确定每个重叠的编码块(例如,编码块503)的运动向量并且以这些运动向量的平均或中值的形式生成兴趣区域分区的运动向量。在一实施例中,选择代表性运动向量,例如与编码块503中的中央编码块或左上编码块相对应的运动向量。可利用任何一个或多个适当的技术来确定每个重叠编码块的运动向量。例如,如本文所述,可从比特流解码运动向量。在一实施例中,预测帧的运动向量被用于通过如下方式来确定重叠编码块的运动向量:通过确定参考重叠编码块的(一个或多个)运动向量或者通过利用参考帧和预测帧之间的运动向量场估计每个重叠编码块的运动向量。

处理在操作404处继续,在这里在操作403确定的运动向量被用于将兴趣区域分区从参考帧平移到当前预测帧。可利用任何一个或多个适当的技术来平移兴趣区域分区,例如运动补偿技术之类的。

图6图示了根据本公开的至少一些实现方式布置的从参考帧502到预测帧602的示例兴趣区域分区504的示例平移。如图所示,兴趣区域分区504的每个编码块503具有与之相对应的运动向量603(虽然一些运动向量可能是零运动向量)。如前所述,基于运动向量603,用于兴趣区域分区504的平移的运动向量(未示出)被确定为运动向量603的平均或中值、代表性运动向量等等。利用所确定的运动向量,兴趣区域分区504被从参考帧502平移611到预测帧602以提供兴趣区域604。可利用任何一个或多个适当的技术,例如运动补偿技术,来将兴趣区域分区504从参考帧502平移611到预测帧602。

此外,如图6中所示,在对诸如对象检测得分之类的计算机视觉结果检测得分的评估期间,与兴趣区域604内的像素位置相对应的那些得分被应用阈值605,而与兴趣区域604之外的像素位置相对应的那些得分被应用阈值606,使得阈值606小于阈值605。

现在返回图3,处理对于预测帧311在操作302处继续,在这里对该帧执行对象检测(例如,虽然可使用任何计算机视觉检测)以生成如上所述的对象检测值或得分。例如,在操作302执行的对象检测对于独立帧和预测帧是相同的。处理在操作304处继续,在这里选择对象检测值或得分,并且在操作305处继续,在这里设置用于评估对象检测得分或值的高检测阈值。处理在判决操作306处继续,在这里确定当前帧311是否是预测帧。当当前帧是预测帧时,处理在判决操作307处继续。处理也从操作303在判决操作处继续,在这里接收预测帧的(一个或多个)描述的roi,如果有的话。

在判决操作307处,确定在操作304处选择的对象检测值或得分是否在兴趣区域内。可利用任何一个或多个适当的技术来作出这种确定。例如,可将得分的像素位置与兴趣区域相比较以确定该像素位置是否在兴趣区域内。如果对象检测值或得分在兴趣区域内,则处理在操作308处继续,在这里设置用于评估对象检测得分或值的低检测阈值。低检测阈值可以是任何适当的值。例如,对于提供1.0的最大对象检测得分的模型,可使用大约0.475、0.45、0.4或0.35的低检测阈值(例如,高检测阈值的大约35%到50%)。如果对象检测值或得分不在兴趣区域内,则不对检测阈值作出改变,并且随后,在操作305处设置的高检测阈值被用于在操作304处选择的对象检测值或得分。

处理在判决操作309处继续,在这里确定在操作304处从在操作302处为当前个体帧生成的对象检测得分中选择的得分是否大于高检测阈值(在操作304处设置)或者低检测阈值(在操作308处设置)中的相关一个。例如,可利用自适应阈值来评估预测帧(例如,p帧),该自适应阈值在得分是针对位于兴趣区域内的像素时是高检测阈值并且在得分是针对位于兴趣区域外的像素时是低检测阈值。如果得分不大于选择的阈值(或者没有达到阈值或者以其他方式不满足阈值),则处理如前所述在操作304处继续,在这里选择另一得分。如果得分满足阈值,则处理在操作310处继续,在这里与得分相对应的位置(例如,像素位置)被保存和/或标记为对象区域,并且在对整个当前个体帧的处理之后,被标记为对象区域的那些像素或区域可被组合、平滑等等,并且被提供作为对象检测311,对象检测311可用于为后续预测帧生成(一个或多个)兴趣区域。

如前所述,操作304、305、306、307、308和309提供了一种用于为预测帧选择和评估得分的迭代方案。然而,这种操作可利用任何一个或多个适当的技术来执行。例如,帧类型指示器可指示出当前帧是预测帧,并且响应于得分在兴趣区域之内或之外,每个对象检测得分可被与高检测阈值或低检测阈值之一相比较,而不在每次迭代时评估帧类型。过程300可被应用到任何数目的独立帧和预测帧。注意对于独立帧或预测帧的对象检测311可被用于为后续预测帧生成(一个或多个)兴趣区域(例如,可基于先前解码的预测帧作为参考帧利用运动补偿来预测这种后续预测帧)。

在计算机视觉、尤其是联网计算机视觉管线的情境中,论述的技术可提供更低的网络带宽使用(由于使用低比特率比特流)和更低的云计算成本(由于相同或改进的检测的更低复杂度)。例如,这种技术可被应用在自主驾驶员辅助系统中,使得参考图1,视频被车辆处的设备101捕捉和压缩并且被通过网络103传输到实现系统104的云服务器或类似的计算设备。系统可生成计算机视觉指示器117并且将它们发送到车辆处的设备101或者进一步开发场景的语义(例如,行人、其他车辆、建筑物、道路等等)并且将这种语义提供给设备101或者车辆处的另一设备。论述的技术提供了带宽和计算机视觉质量之间的折衷。

图7是图示出根据本公开的至少一些实现方式布置的用于向解压缩视频应用计算机视觉的示例过程700的流程图。过程700可包括如图7中所示的一个或多个操作701-704。过程700可形成计算机视觉过程的至少一部分。作为非限制性示例,过程700可形成由诸如系统104之类的如本文所述的任何设备或系统执行的计算机视觉过程的至少一部分。此外,本文将参考图8的系统800来描述过程700。

图8是根据本公开的至少一些实现方式布置的用于向解压缩视频应用计算机视觉的示例系统800的示意图。如图8中所示,系统800可包括中央处理器801、视频处理器802和存储器803。还如图所示,视频处理器802可包括或实现视频解码器105、计算机视觉检测器106、自适应阈值模块107和兴趣区域生成器108。在一实施例中,存储器803存储重建的视频帧、供计算机视觉检测器106实现的神经网络以及供自适应阈值模块107实现的阈值。此外,在系统800的示例中,存储器803可存储帧数据、像素值、比特流语法、运动向量、计算机视觉得分、对象检测得分、计算机视觉检测阈值、对象检测阈值、和/或如本文所述的任何其他数据。

如图所示,在一些实施例中,视频解码器105、计算机视觉检测器106、自适应阈值模块107和兴趣区域生成器108是经由视频处理器802实现的。在其他实施例中,视频解码器105、计算机视觉检测器106、自适应阈值模块107和兴趣区域生成器108中的一个或多个或一些部分是经由中央处理器801或者诸如图像处理器、图形处理器之类的另一处理单元实现的。

视频处理器802可包括任何数目和类型的可提供如本文所述的操作的视频、图像或图形处理单元。这种操作可经由软件或硬件或者其组合来实现。例如,视频处理器802可包括专用于操纵从存储器803获得的帧、帧数据等等的电路。中央处理器801可包括任何数目和类型的可以为系统800提供控制和其他高级别功能和/或提供如本文所述的任何操作的处理单元或模块。存储器803可以是任何类型的存储器,例如易失性存储器(例如,静态随机访问存储器(staticrandomaccessmemory,sram)、动态随机访问存储器(dynamicrandomaccessmemory,dram)等等)或者非易失性存储器(例如,闪存等等),等等。在非限制性示例中,存储器803可由缓存存储器实现。

在一实施例中,视频解码器105、计算机视觉检测器106、自适应阈值模块107和兴趣区域生成器108中的一个或多个或一些部分是经由执行单元(executionunit,eu)实现的。eu可例如包括可编程逻辑或电路,例如可提供多种多样的可编程逻辑功能的一个或多个逻辑核。在一实施例中,视频解码器105、计算机视觉检测器106、自适应阈值模块107和兴趣区域生成器108中的一个或多个或一些部分是经由诸如固定功能电路之类的专用硬件实现的。固定功能电路可包括专用逻辑或电路并且可提供一组固定功能入口点,这些固定功能入口点可映射到用于固定目的或功能的专用逻辑。

返回对图7的论述,过程700可开始于操作701,在这里通过将参考视频帧中的第一检测到的计算机视觉结果的一个或多个空间指示器平移到个体视频帧来生成该个体视频帧中的兴趣区域。在一实施例中,生成个体视频帧中的兴趣区域包括确定参考视频帧中的一个或多个编码块,其中每个编码块被与空间指示器相对应的限界区域的至少一部分所重叠,获得与该一个或多个编码块相对应的一个或多个运动向量,并且利用该一个或多个运动向量将至少该限界区域从参考视频帧平移到个体视频帧以生成兴趣区域。在一实施例中,一个或多个运动向量包括多个运动向量并且利用一个或多个运动向量平移限界区域包括利用多个运动向量的平均或中值的至少一者来平移限界区域。在一实施例中,过程700还包括将限界区域扩展到由一个或多个编码块定义的边界来生成兴趣区域。在一实施例中,过程700还包括对接收到的比特流解码以生成个体视频帧和参考视频帧并且确定一个或多个运动向量。在一实施例中,个体视频帧可以是运动预测帧并且参考视频帧可以是用比个体视频帧更少的比特编码的运动预测帧。在一实施例中,个体视频帧是运动预测帧并且参考视频帧是独立帧。

处理可在操作702处继续,在这里在个体视频帧上执行计算机视觉以生成第一和第二计算机视觉得分,使得第一计算机视觉得分是针对兴趣区域内的个体视频帧的第一位置的并且第二计算机视觉得分是针对兴趣区域之外的个体视频帧的第二位置的。计算机视觉可包括任何适当的计算机视觉技术,例如生成对象检测得分的对象检测,生成对象辨识的对象辨识,或者生成特征检测得分的特征检测。在一实施例中,执行计算机视觉包括深度神经网络的应用。

处理可在操作703处继续,在这里个体视频帧的第一位置的第一计算机视觉得分被与第一阈值相比较,并且个体视频帧的第二位置的第二计算机视觉得分被与第二阈值相比较,以确定第一得分或第二得分是否对应于第二检测到的计算机视觉结果,使得响应于第一位置在兴趣区域内并且第二位置在兴趣区域外,第一阈值小于第二阈值。可利用任何一个或多个适当的技术来应用阈值。如前所述,与兴趣区域外相比,在兴趣区域内应用更低的阈值。高和低阈值可以是任何适当的值。在一实施例中,低阈值不大于第二阈值的一半。在一实施例中,低阈值不大于第二阈值的40%。在一实施例中,低阈值不大于第二阈值的35%。在一实施例中,要比较起来有利,第一得分和第二得分必须超过其各自的阈值。在一实施例中,要比较起来有利,第一得分和第二得分必须达到或超过其各自的阈值。在一实施例中,过程700还包括将针对参考视频帧的第三计算机视觉得分与第一阈值相比较以确定参考视频帧中的第一检测到的计算机视觉结果。例如,相同的(高)阈值可被应用到整个独立帧以及应用到预测帧的非兴趣区域。

处理可在操作704处继续,在这里当第一得分与第一阈值比较起来有利或者第二得分与第二阈值比较起来有利时,第二检测到的计算机视觉结果的指示器被发送或存储。该指示器可包括任何适当的信息,例如超过阈值的位置和对超过阈值的指示,等等。例如,多个这种指示可被使用或组合来确定计算机视觉结果区域,例如对象检测区域、对象辨识区域或者特征检测区域。过程700还可包括发送或存储指示这种区域的数据。这种发送可以是到本地设备或者远程设备的。

过程700可对任何数目的兴趣区域、帧等等串行或并行地重复任意多次。如前所述,过程700可提供计算机视觉,包括在兴趣区域内应用不同的阈值,以使得兴趣区域是从参考帧的第一检测到的计算机视觉结果的空间指示器平移的。

本文描述的系统的各种组件可以用软件、固件和/或硬件和/或其任何组合实现。例如,本文论述的系统或设备的各种组件可至少部分由计算机片上系统(soc)的硬件提供,例如可存在于诸如智能电话之类的计算系统中。本领域技术人员可认识到,本文描述的系统可包括在相应附图中没有描绘的额外组件。例如,本文论述的系统可包括为了清晰而没有描绘的额外组件,例如比特流复用器或解复用器模块等等。

虽然本文论述的示例过程的实现方式可包括按图示顺序进行示出的所有操作,但本公开不限于此,并且在各种示例中,这里的示例过程的实现方式可只包括示出的操作的子集,包括按与图示不同的顺序执行的操作,或者包括额外的操作。

此外,本文论述的操作中的任何一个或多个可响应于由一个或多个计算机程序产品提供的指令来进行。这种程序产品可包括提供指令的信号承载介质,所述指令当被例如处理器执行时可提供本文描述的功能。计算机程序产品可在任何形式的一个或多个机器可读介质中提供。从而,例如,包括一个或多个图形处理单元或处理器核的处理器可响应于被一个或多个机器可读介质输送到处理器的程序代码和/或指令或指令集而进行这里的示例过程的一个或多个块。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式输送软件,所述程序代码和/或指令或指令集可使得本文描述的任何设备和/或系统实现本文论述的操作的至少一些部分和/或如本文所述的设备、系统或任何模块或组件的任何部分。

如在本文描述的任何实现方式中使用的,术语“模块”指的是被配置为提供本文描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可实现为软件封装、代码和/或指令集或指令,并且如本文描述的任何实现方式中所使用的,“硬件”例如可单一地或者按其任意组合地包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储被可编程电路执行的指令的固件。模块可集体地或者个体地体现为形成诸如集成电路(ic)、片上系统(soc)之类的更大系统的一部分的电路。

图9是根据本公开的至少一些实现方式布置的示例系统900的示意图。在各种实现方式中,系统900可以是移动系统,但是系统900不限于此情境。例如,系统900可被包含到以下各项中:个人计算机(pc)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(personaldigitalassistant,pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(mobileinternetdevice,mid)、消息传递设备、数据通信设备、相机(例如,傻瓜相机、超级变焦相机、数码单反(digitalsingle-lensreflex,dslr)相机),等等。

在各种实现方式中,系统900包括耦合到显示器920的平台902。平台902可从内容设备接收内容,其中内容设备例如是(一个或多个)内容服务设备930或(一个或多个)内容递送设备940或其他类似的内容源。包括一个或多个导航特征的导航控制器950可用于与例如平台902和/或显示器920交互。在下文更详细地描述这些组件的每一者。

在各种实现方式中,平台902可包括芯片集905、处理器910、存储器912、天线913、存储装置914、图形子系统915、应用916和/或无线电装置918的任何组合。芯片集905可提供处理器910、存储器912、存储装置914、图形子系统915、应用916和/或无线电装置918之间的相互通信。例如,芯片集905可包括能够提供与存储装置914的相互通信的存储适配器(未图示)。

处理器910可实现为复杂指令集计算机(complexinstructionsetcomputer,cisc)或精简指令集计算机(reducedinstructionsetcomputer,risc)处理器、x86指令集兼容处理器、多核或者任何其他微处理器或中央处理单元(cpu)。在各种实现方式中,处理器910可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器,等等。

存储器912可实现为易失性存储器设备,例如但不限于,随机访问存储器(ram)、动态随机访问存储器(dram)或静态ram(sram)。

存储装置914可实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存、电池后备sdram(同步dram)和/或网络可访问存储设备。在各种实现方式中,例如当包括多个硬盘驱动器时,存储装置914可包括技术来为有价值的数字媒体增加存储性能增强保护。

图形子系统915可执行诸如静态或视频之类的图像的处理以便显示。图形子系统915例如可以是图形处理单元(graphicsprocessingunit,gpu)或视觉处理单元(visualprocessingunit,vpu)。模拟或数字接口可用于通信地耦合图形子系统915和显示器920。例如,该接口可以是高清晰度多媒体接口、显示端口、无线hdmi和/或无线hd符合技术中的任何一者。图形子系统915可被集成到处理器910或芯片集905中。在一些实现方式中,图形子系统915可以是通信地耦合到芯片集905的独立设备。

本文描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集内。可替换地,可使用分立的图形和/或视频处理器。作为另外一种实现方式,图形和/或视频功能可由包括多核处理器在内的通用处理器提供。在另外的实施例中,这些功能可实现在消费电子设备中。

无线电装置918可包括能够利用各种适当的无线通信技术来发送和接收信号的一个或多个无线电装置。这种技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wirelesslocalareanetwork,wlan)、无线个人区域网(wirelesspersonalareanetwork,wpan)、无线城域网(wirelessmetropolitanareanetwork,wman)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电装置918可根据任何版本的一个或多个适用的标准操作。

在各种实现方式中,显示器920可包括任何电视型监视器或显示器。显示器920例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器920可以是数字的和/或模拟的。在各种实现方式中,显示器920可以是全息显示器。另外,显示器920可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(mobileaugmentedreality,mar)应用的视觉覆盖。在一个或多个软件应用916的控制下,平台902可在显示器920上显示用户界面922。

在各种实现方式中,(一个或多个)内容服务设备930可由任何国家的、国际的和/或独立的服务所容宿并从而例如是平台902经由互联网可访问的。(一个或多个)内容服务设备930可耦合到平台902和/或显示器920。平台902和/或(一个或多个)内容服务设备930可耦合到网络960以向和从网络960传输(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备940也可耦合到平台902和/或显示器920。

在各种实现方式中,(一个或多个)内容服务设备930可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的具备互联网能力的设备或家电、以及能够经由网络960或直接地在内容提供者与平台902和/或显示器920之间单向或双向地传输内容的任何其他类似设备。将会明白,可经由网络960单向地和/或双向地向和从系统900中的组件的任何一者和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息,等等。

(一个或多个)内容服务设备930可接收内容,例如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的示例可包括任何有线电视或卫星电视或者无线电或互联网内容提供者。提供的示例并不意图以任何方式限制根据本公开的实现方式。

在各种实现方式中,平台902可从具有一个或多个导航特征的导航控制器950接收控制信号。导航特征例如可用于与用户界面922交互。在各种实施例中,导航可以是指点设备,该指点设备可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体而言是人机接口设备)。诸如图形用户界面(gui)、电视机和监视器之类的许多系统允许用户利用物理手势控制计算机或电视机和向其提供数据。

导航特征的移动可被在显示器上显示的指针、光标、聚焦环或其他视觉指示物的移动复现在显示器(例如,显示器920)上。例如,在软件应用916的控制下,位于导航上的导航特征例如可被映射到在用户界面922上显示的虚拟导航特征。在各种实施例中,可不是单独的组件,而是可被集成到平台902和/或显示器920中。然而,本公开并不限于本文示出或描述的元素或者情境。

在各种实现方式中,例如,当被启用时,驱动器(未示出)可包括使得用户能够在初始启动之后通过触摸按钮像电视机那样即刻开启和关闭平台902的技术。程序逻辑可允许平台902即使在平台被“关闭”时也可将内容流送到媒体适配器或(一个或多个)其他内容服务设备930或(一个或多个)内容递送设备940。此外,芯片集905可包括对例如5.1环绕立体声音频和/或高清晰度9.1环绕立体声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在各种实施例中,图形驱动器可包括高速外围组件互连(peripheralcomponentinterconnect,pci)图形卡。

在各种实现方式中,系统900中示出的组件中的任何一个或多个可被集成。例如,平台902和(一个或多个)内容服务设备930可被集成,或者平台902和(一个或多个)内容递送设备940可被集成,或者平台902、(一个或多个)内容服务设备930、和(一个或多个)内容递送设备940可被集成。在各种实施例中,平台902和显示器920可以是集成的单元。例如,显示器920和(一个或多个)内容服务设备930可被集成,或者显示器920和(一个或多个)内容递送设备940可被集成。这些示例并不意图限制本公开。

在各种实施例中,系统900可实现为无线系统、有线系统或者两者的组合。当实现为无线系统时,系统900可包括适合于通过无线共享介质通信的组件和接口,例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的示例可包括无线频谱的一些部分,例如rf频谱等等。当实现为有线系统时,系统900可包括适合于通过有线通信介质通信的组件和接口,例如输入/输出(i/o)适配器、将i/o适配器与相应的有线通信介质连接的物理连接器、网络接口卡(networkinterfacecard,nic)、盘控制器、视频控制器、音频控制器,等等。有线通信介质的示例可包括导线、线缆、金属引线、印刷电路板(printedcircuitboard,pcb)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤,等等。

平台902可建立一个或多个逻辑或物理信道来传输信息。该信息可包括媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容的示例例如可包括来自语音交谈、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音交谈的数据可例如是话音信息、静默时段、背景噪声、舒适噪声、音调,等等。控制信息可以指表示打算用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于将媒体信息路由过系统,或者指示节点以预定的方式处理媒体信息。然而,实施例并不限于图9中示出或描述的元素或情境。

如上所述,系统900可实现为不同的物理风格或外形参数。图10图示了根据本公开的至少一些实现方式布置的示例小外形参数设备1000。在一些示例中,系统900可经由设备1000实现。在其他示例中,设备101或系统104或其一些部分可经由设备1000实现。在各种实施例中,例如,设备1000可实现为具有无线能力的移动计算设备。移动计算设备例如可以指具有处理系统和移动电源或供给电源(例如一个或多个电池)的任何设备。

移动计算设备的示例可包括:个人计算机(pc)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、智能设备(例如,智能电话、智能平板或智能移动电视)、移动互联网设备(mid)、消息传递设备、数据通信设备、相机,等等。

移动计算设备的示例还可包括被布置为供人穿戴的计算机,例如手腕计算机、手指计算机、指环计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋子计算机、衣服计算机、和其他可穿戴计算机。在各种实施例中,例如,移动计算设备可实现为除了语音通信和/或数据通信以外还能够执行计算机应用的智能电话。虽然作为示例一些实施例可利用被实现为智能电话的移动计算设备来描述,但可明白也可利用其他无线移动计算设备来实现其他实施例。实施例不限于此情境中。

如图10中所示,设备1000可包括具有正面1001和背面1002的外壳。设备1000包括显示器1004、输入/输出(i/o)设备1006、和集成天线1008。设备1000还可包括导航特征1012。i/o设备1006可包括用于将信息输入到移动计算设备中的任何适当的i/o设备。i/o设备1006的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音辨识设备和软件,等等。信息也可通过麦克风(未示出)被输入到设备1000中,或者可被语音辨识设备数字化。如图所示,设备1000可包括集成到设备1000的背面1002(或别处)的相机1005(例如,包括镜头、光圈和成像传感器)和闪光灯1010。在其他示例中,相机1005和闪光灯1010可被集成到设备1000的正面1001,或者可提供正面和背面相机两者。相机1005和闪光灯1010可以是相机模块的组件,该相机模块用于发源图像数据,该图像数据被处理成流视频,该流视频被输出到显示器1004和/或被从设备1000例如经由天线1008远程传送。

各种实施例可利用硬件元素、软件元素或者两者的组合来实现。硬件元素的示例可包括:处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑器件(programmablelogicdevice,pld)、数字信号处理器(digitalsignalprocessor,dsp)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集,等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(applicationprograminterface,api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定一实施例是否利用硬件元素和/或软件元素实现可根据任何数目的因素而变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。

至少一个实施例的一个或多个方面可由存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令实现,该指令当被机器读取时使得该机器制造逻辑来执行本文描述的技术。这种被称为ip核的表示可被存储在有形机器可读介质上并且被提供给各种客户或制造设施以加载到实际制作该逻辑或处理器的制造机器中。

虽然已参考各种实现方式描述了本文阐述的某些特征,但此描述并不打算被从限制意义上来解释。因此,对本公开所属领域的技术人员来说显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为落入本公开的精神和范围内。

将会认识到,实施例不限于这样描述的实施例,而是可在带有修改和变更的情况下实践,而不脱离所附权利要求的范围。例如,上述实施例可包括特征的特定组合。然而,上述实施例不限于此,并且在各种实现方式中,上述实施例可包括仅从事这种特征的子集,从事这种特征的不同顺序,从事这种特征的不同组合,和/或从事除明确列出的那些特征以外的额外特征。因此应当参考所附权利要求以及这种权利要求有权享有的等同物的完整范围来确定实施例的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1