1.一种计算机实现的方法,包括:
接收第一用户参与视频会议的指示;
确定带宽压缩对于所述视频会议的所述第一用户而言是否是优选的;
如果带宽压缩对于所述视频会议的所述第一用户而言是优选的:
处理与所述第一用户相关联的未处理的视频流以生成降低带宽的视频流;以及将所述降低带宽的视频流提供给视频编码器;以及
如果带宽压缩对于所述视频会议的所述第一用户而言不是优选的,则向所述视频编码器提供所述未处理的视频流,
其中,处理所述未处理的视频流包括执行边缘检测过程、执行将与给定像素相对应的给定像素值替换为与所述给定像素在时间上相邻的时间像素相对应的平均像素值的时间模糊过程以及以下中的一个或多个:
对所述未处理的视频流执行分辨率降低过程,
对所述未处理的视频流执行空间模糊过程,所述空间模糊过程包括以下中的一个或多个:高斯模糊过程以及将与给定像素相对应的给定像素值替换为作为围绕所述给定像素的对应像素的对应像素值的平均值的平均像素值,
对所述未处理的视频流执行图像量化过程,以及
对所述未处理的视频流执行否定过程,所述否定过程允许用户选择所述降低带宽的视频流和所述降低带宽的视频流的负趋光性中的一个。
2.一种计算机实现的方法,包括:
接收第一用户参与视频会议的指示;
确定带宽压缩对于所述视频会议的所述第一用户而言是否是优选的;以及如果带宽压缩对于所述视频会议的所述第一用户而言是优选的:
处理与所述第一用户相关联的未处理的视频流以生成降低带宽的视频流;以及将所述降低带宽的视频流提供给视频编码器,
其中,处理所述未处理的视频流包括对所述未处理的视频流执行边缘检测过程和时间模糊过程,所述时间模糊过程将与给定像素相对应的给定像素值替换为与所述给定像素在时间上相邻的时间像素相对应的平均像素值。
3.根据权利要求2所述的计算机实现的方法,进一步包括:
如果带宽压缩对于所述视频会议的所述第一用户而言不是优选的,则向所述视频编码器提供所述未处理的视频流。
4.根据权利要求2所述的计算机实现的方法,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行分辨率降低过程。
5.根据权利要求2所述的计算机实现的方法,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行空间模糊过程,所述空间模糊过程包括以下中的一个或多个:高斯模糊过程以及将与给定像素相对应的给定像素值替换为作为围绕所述给定像素的对应像素的对应像素值的平均值的平均像素值。
6.根据权利要求2所述的计算机实现的方法,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行图像量化过程。
7.根据权利要求2所述的计算机实现的方法,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行否定过程,所述否定过程允许用户选择所述降低带宽的视频流和所述降低带宽的视频流的负趋光性中的一个。
8.根据权利要求2所述的计算机实现的方法,其中,如果与所述第一用户相关联的一个或多个性能统计不满足用于视频会议的最小性能阈值,则带宽压缩对于所述视频会议的所述第一用户而言是优选的。
9.根据权利要求8所述的计算机实现的方法,其中,所述最小性能阈值包括最小计算阈值和最小带宽阈值中的一个或多个。
10.根据权利要求2所述的计算机实现的方法,其中,在社交网络内执行所述视频会议。
11.一种被配置成执行操作的包括处理器和存储器的计算系统,所述操作包括:
接收第一用户参与视频会议的指示;
确定带宽压缩对于所述视频会议的所述第一用户而言是否是优选的;以及如果带宽压缩对于所述视频会议的所述第一用户而言是优选的:
处理与所述第一用户相关联的未处理的视频流以生成降低带宽的视频流;以及将所述降低带宽的视频流提供给视频编码器,
其中,处理所述未处理的视频流包括对所述未处理的视频流执行边缘检测过程和时间模糊过程,所述时间模糊过程将与给定像素相对应的给定像素值替换为与所述给定像素在时间上相邻的时间像素相对应的平均像素值。
12.根据权利要求11所述的计算系统,进一步被配置成执行包括以下的操作:
如果带宽压缩对于所述视频会议的所述第一用户而言不是优选的,则向所述视频编码器提供所述未处理的视频流。
13.根据权利要求11所述的计算系统,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行分辨率降低过程。
14.根据权利要求11所述的计算系统,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行空间模糊过程,所述空间模糊过程包括以下中的一个或多个:高斯模糊过程以及将与给定像素相对应的给定像素值替换为作为围绕所述给定像素的对应像素的对应像素值的平均值的平均像素值。
15.根据权利要求11所述的计算系统,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行图像量化过程。
16.根据权利要求11所述的计算系统,其中,处理所述未处理的视频流进一步包括对所述未处理的视频流执行否定过程,所述否定过程允许用户选择所述降低带宽的视频流和所述降低带宽的视频流的负趋光性中的一个。
17.根据权利要求11所述的计算系统,其中,如果与所述第一用户相关联的一个或多个性能统计不满足用于视频会议的最小性能阈值,则带宽压缩对于所述视频会议的所述第一用户而言是优选的。
18.根据权利要求17所述的计算系统,其中,所述最小性能阈值包括最小计算阈值和最小带宽阈值中的一个或多个。
19.根据权利要求11所述的计算系统,其中,在社交网络内执行所述视频会议。
带宽降低系统和方法\n[0001] 相关申请\n[0002] 本申请要求于2012年9月17日提交的题为Temporal Blurring System and Method的美国临时申请序号61/701,927的权益,其内容通过引用被合并于此。\n技术领域\n[0003] 本公开涉及视频流,并且更特别地涉及用于降低视频流带宽要求的系统和方法。\n背景技术\n[0004] 因特网当前允许仅仅在几十年前不可想象的方式进行思想和信息的自由交换。用于因特网的一个这样的用途是作为通信介质,无论其是经由一对一交换还是多方交换。例如,两个个体可相互交换私人电子邮件。替选地,多个人可以参与其中他们可张贴为了多个人阅读而发布的条目的公共网络。这样的网站的示例可包括但不限于产品/服务评论站点和主题博客。\n[0005] 因特网的一个这样的用途是允许人们相互进行视频会议。随着视频会议向通信会话添加视频分量,这样的通信会话趋向于对于参与者而言更加令人愉快。遗憾的是,视频会议要求具有相当高的带宽的通信信道。进一步使情况复杂化的是在许多发展中国家中,这样的高带宽通信信道是稀少的,常常导致不那么称心如意的视频会议性能。\n发明内容\n[0006] 在一个实施方式中,一种计算机实现的方法包括接收第一用户参与视频会议的指示。进行关于带宽压缩对于视频会议的第一用户而言是否是优选的确定。如果带宽压缩对于视频会议的第一用户而言是优选的,则处理与第一用户相关联的未处理视频流以生成降低带宽的视频流,并且将降低带宽的视频流提供给视频编码器。如果带宽压缩对于视频会议的第一用户而言不是优选的,则将未处理的视频流提供给视频编码器。处理未处理的视频流包括以下中的一个或多个:对未处理的视频流执行边缘检测过程,对未处理的视频流执行分辨率降低过程,对未处理的视频流执行空间模糊过程,对未处理的视频流执行时间模糊过程,对未处理的视频流执行图像量化过程,以及对未处理的视频流执行否定过程。\n[0007] 在另一实施方式中,一种计算机实现的方法包括接收第一用户参与视频会议的指示。进行关于带宽压缩对于视频会议的第一用户而言是否是优选的确定。如果带宽压缩对于视频会议的第一用户而言是优选的,则处理与第一用户相关联的未处理的视频流以生成降低带宽的视频流,并且将降低带宽的视频流提供给视频编码器。处理未处理的视频流包括对未处理的视频流执行边缘检测过程。\n[0008] 可包括以下特征中的一个或多个。如果带宽压缩对于视频会议的第一用户而言不是优选的,则可将未处理的视频流提供给视频编码器。\n[0009] 处理未处理的视频流还可包括对未处理的视频流执行分辨率降低过程。处理未处理的视频流还可包括对未处理的视频流执行空间模糊过程。处理未处理的视频流还可包括对未处理的视频流执行时间模糊过程。处理未处理的视频流还可包括对未处理的视频流执行图像量化过程。处理未处理的视频流还可包括对未处理的视频流执行否定过程。\n[0010] 如果与第一用户相关联的一个或多个性能统计不满足用于视频会议的最小性能阈值,则带宽压缩对于视频会议的第一用户而言可能是优选的。该最小性能阈值可包括最小计算阈值和最小带宽阈值中的一个或多个。可在社交网络内执行视频会议。\n[0011] 在另一实施方式中,一种包括处理器和存储器的计算系统被配置成执行包括接收参与视频会议的第一用户的指示的操作。进行关于带宽压缩对于视频会议的第一用户而言是否是优选的确定。如果带宽压缩对于视频会议的第一用户而言是优选的,则处理与第一用户相关联的未处理的视频流以生成降低带宽的视频流,并且将降低带宽的视频流提供给视频编码器。处理未处理的视频流包括对未处理的视频流执行边缘检测过程。\n[0012] 可包括以下特征中的一个或多个。如果带宽压缩对于视频会议的第一用户而言不是优选的,则可将未处理的视频流提供给视频编码器。\n[0013] 处理未处理的视频流还可包括对未处理的视频流执行分辨率降低过程。处理未处理的视频流还可包括对未处理的视频流执行空间模糊过程。处理未处理的视频流还可包括对未处理的视频流执行时间模糊过程。处理未处理的视频流还可包括对未处理的视频流执行图像量化过程。处理未处理的视频流还可包括对未处理的视频流执行否定过程。\n[0014] 如果与第一用户相关联的一个或多个性能统计不满足用于视频会议的最小性能阈值,则带宽压缩对于视频会议的第一用户而言可能是优选的。该最小性能阈值可包括最小计算阈值和最小带宽阈值中的一个或多个。可在社交网络内执行视频会议。\n[0015] 在附图和以下描述中阐述了一个或多个实施方式的细节。根据描述和附图以及根据权利要求,其他特征和优点将变得显而易见。\n附图说明\n[0016] 图1是根据本公开的实施方式的包括执行带宽降低过程的计算设备的分布式计算机网络的示意图;\n[0017] 图2是根据本公开的实施方式的图1的带宽降低过程的流程图;\n[0018] 图3是根据本公开的实施方式的由图1的带宽降低过程管理的视频会议的示意图;\n[0019] 图4是根据本公开的实施方式的由图1的带宽降低过程管理的视频会议的另一示意图;\n[0020] 图5是根据本公开的实施方式的图1的计算设备的示意图;\n[0021] 图6是根据本公开的一个或多个实施例的耦合到分布式计算网络的时间模糊过程的说明性示意图;\n[0022] 图7是根据本公开的一个或多个实施例的图6的客户端电子设备的示意图;\n[0023] 图8是根据本公开的一个或多个实施例的图6的时间模糊过程的说明性流程图;\n[0024] 图9是根据本公开的一个或多个实施例的图6的时间模糊过程所显示的屏幕图像的说明性示意图;以及\n[0025] 图10是根据本公开的一个或多个实施例的两个视频帧的说明性示意图。\n[0026] 各图中的相同的附图标记指示相同元件。\n具体实施方式\n[0027] 在图1和2中,示出了带宽降低过程10。可将带宽降低过程10实现为服务器侧过程、客户端侧过程或混合式服务器侧/客户端侧过程。例如,可经由带宽降低过程10s将带宽降低过程10实现为纯服务器侧过程。替选地,可经由带宽降低过程10c1、带宽降低过程10c2、带宽降低过程10c3和带宽降低过程10c4中的一个或多个将带宽降低过程10实现为纯客户端侧过程。替选地,可经由与带宽降低过程10c1、带宽降低过程10c2、带宽降低过程10c3和带宽降低过程10c4中的一个或多个相组合的带宽降低过程10s将带宽降低过程10实现为混合式服务器侧/客户端侧过程。因此,如在本公开中使用的带宽降低过程10可包括带宽降低过程10s、带宽降低过程10c1、带宽降低过程10c2、带宽降低过程10c3以及带宽降低过程\n10c4的任何组合。\n[0028] 关于本公开,公开了带宽降低过程10,其为降低视频会议的带宽要求的新颖方式。\n具体地,在带宽降低过程10接收100第一用户参与视频会议的指示时,可进行关于带宽压缩对于视频会议的第一用户而言是否是优选的确定102。\n[0029] 如果带宽压缩对于视频会议的第一用户而言是优选的,则可通过带宽降低过程10来处理与第一用户相关联的未处理的视频流以生成降低带宽的视频流,并且可将降低带宽的视频流提供给106视频编码器。当处理104未处理的视频流时,可对未处理的视频流执行边缘检测过程。\n[0030] 带宽降低过程10s可以是服务器应用,并且可驻留于可连接到网络14(例如因特网或局域网)的计算设备12上且可被其执行。计算设备12的示例可包括但不限于:个人计算机、膝上型计算机、个人数字助理、数据使能蜂窝式电话、笔记本计算机、其中嵌入有或与之耦合的一个或多个处理器的电视、服务器计算机、一系列服务器计算机、小型计算机、主机计算机或专用网络设备。\n[0031] 可由包括在计算设备12内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行可存储于耦合到计算设备12的存储设备16上的带宽降低过程10s的指令集和子例程。存储设备16的示例可包括但不限于:硬盘驱动器;带驱动器;光驱;RAID设备;\n随机存取存储器(RAM);只读存储器(ROM);以及所有形式的闪速存储器存储设备。\n[0032] 网络14可连接到一个或多个次级网络(例如网络18),例如其示例可包括但不限于:局域网;广域网;或内部网。\n[0033] 带宽降低过程10c1、10c2、10c3、10c4的示例可包括但不限于web浏览器、游戏控制台用户接口、视频会议用户接口或专门应用(例如,在例如安卓tm平台或iPhonetm平台上运行的应用)。可由合并到客户端电子设备28、30、32、34(分别地)中的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行可存储于耦合到客户端电子设备28、30、\n32、34(分别地)的存储设备20、22、24、26(分别地)上的带宽降低过程10c1、10c2、10c3、10c4的指令集和子例程。存储设备20、22、24、26的示例可包括但不限于:硬盘驱动器;带驱动器;\n光驱;RAID设备;随机存取存储器(RAM);只读存储器(ROM);以及所有形式的闪速存储器存储设备。\n[0034] 客户端电子设备28、30、32、34的示例可包括但不限于数据使能的蜂窝式电话28、膝上型计算机30、个人数字助理32、个人计算机34、笔记本计算机(未示出)、服务器计算机(未示出)、游戏控制台(未示出)、电视(未示出)、平板计算机(未示出)和专用网络设备(未示出)。客户端电子设备28、30、32、34可每个执行操作系统,其示例可包括但不限于Microsoft Windowstm、Androidtm、WebOStm、iOStm、Redhat Linuxtm或自定义操作系统。\n[0035] 用户36、38、40、42可通过网络14或通过次级网络18直接访问带宽降低过程10。此外,可通过次级网络18将带宽降低过程10连接到网络14,如用链接线44所示。\n[0036] 各种客户端电子设备(例如客户端电子设备28、30、32、34)可直接地或间接地耦合到网络14(或网络18)。例如,数据使能的蜂窝式电话28和膝上型计算机30被示为经由(分别地)在数据使能的蜂窝式电话28、膝上型计算机30(分别地)和蜂窝式网络/桥接器48(其被示为直接地耦合到网络14)之间建立的无线通信信道44、46(分别地)来无线耦合到网络14。\n此外,个人数字助理32被示为经由在个人数字助理32与被示为直接地耦合到网络14的无线接入点(即WAP)52之间建立的无线通信信道50来无线地耦合到网络14。另外,个人计算机34被示为经由硬接线网络连接来直接耦合到网络18。\n[0037] WAP 52可以是例如IEEE 802.11a、802.11b、802.11g、802.11n、Wi-Fi和/或能够在个人数字助理32与WAP 52之间建立无线通信信道50的蓝牙设备。如在本领域中已知的,IEEE 802.11x规范可使用以太网协议和具有冲突避免的载波感测多路访问(即CSMA/CA)用于路径共享。各种802.11x规范可例如使用相移键控(即PSK)调制或补码键控(即CCK)调制。\n如在本领域中已知的,蓝牙是允许例如使用短程无线连接将移动电话、计算机和个人数字助理互连的电信行业规范。\n[0038] 如在本领域中已知的,社交网络的用户可以能够参与群组通信会话。例如,Google+tm允许该社交网络的用户参与“多人视频聊天”,其为允许人们的虚拟聚集使得他们可以关于特定主题进行聊天的多用户视频会议。虽然以上讨论涉及Google+tm,这仅仅是用于说明性目的,并且不意图是本公开的限制。例如,带宽降低过程10可被包括在任何社交网络内或被其利用。\n[0039] 还参考图3,出于说明性目的假设用户36、38、40、42全部是社交网络150的成员。此外假设用户36、38、40希望参与视频会议152。虽然以下讨论涉及在社交网络150内执行的视频会议152,但这仅仅出于说明性目的,并且不意图是本公开的限制,因为可以有其他配置。\n例如,视频会议152可通过例如独立通信应用/产品(未示出)在社交网络150之外发生。出于说明性目的,进一步假设视频会议152将通过计算设备12发生,其中(在本示例中)用户36、\n38、40将经由客户端电子设备28、30、32(分别地)来访问视频会议152。此外,假设视频会议\n152(如在本公开中使用的)意图涵盖任何形式的视频传输,诸如端对端视频传输、端对多视频传输或公共视频传输。\n[0040] 出于说明性目的假设用户38、40在地理上位于其中(在本示例中)在客户端电子设备30、32与计算设备12之间可使用高带宽因特网连接的区域中。进一步假设用户36在地理上位于其中在客户端电子设备28与计算设备12之间不可用高带宽因特网连接(在本示例中)的区域。\n[0041] 另外且对于本示例,假设客户端电子设备30、32(分别地如用户38、40所使用)是高端设备,其完全能够对高带宽视频流进行编码以便在视频会议152中使用。进一步假设客户端电子设备28(如用户36所使用)是可能不完全能够对高带宽视频流进行编码以便在视频会议152中使用的设备。\n[0042] 因此且继续上述示例,假设用户36、38、40每个指示(例如分别经由客户端电子设备28、30、32)要参与视频会议152的意图,因此分别生成指示54、56、58。带宽降低过程10可接收100用户36、38、40(分别地)希望参与视频会议152的指示(例如指示54、56、58)。\n[0043] 如已知的,视频会议152的质量可高度取决于个体客户端电子设备(例如客户端电子设备28、30、32)的计算性能和可用于在客户端电子设备(例如客户端电子设备28、30、32)与计算设备12之间建立的通信信道的带宽。\n[0044] 因此且为了确保高质量且令人愉快的视频会议,带宽降低过程10可确定102带宽压缩对于视频会议152中的参与者(例如用户36、38、40)而言是否是优选的。\n[0045] 例如,如果参与者中的一个或多个(例如用户36、38、40)选择始终使用带宽压缩,则带宽压缩对于视频会议152的参与者(例如用户36、38、40)而言可以是优选的。例如,可将带宽降低过程10配置成允许用户选择其是否希望使用带宽压缩。此外,如果最后的视频会议利用带宽压缩,则可自动地使用带宽压缩。\n[0046] 替选地,如果与参与者相关联的一个或多个性能统计不满足用于视频会议的最小性能阈值,则带宽压缩对于视频会议152的参与者(例如用户36、38、40)而言可以是优选的。\n这些最小性能阈值的示例可包括但不限于最小带宽阈值和/或最小计算阈值中的一个或多个。\n[0047] 最小带宽阈值可定义用于在客户端电子设备(例如客户端电子设备28、30、32)与计算设备12之间建立的通信信道的最小带宽要求。最小计算阈值可定义用于客户端电子设备(例如客户端电子设备28、30、32)的最小计算速度要求。典型地,可将上述最小阈值定义成使得不能满足上述最小阈值中的一个可导致视频会议152具有低质量。\n[0048] 因此且在这样的配置中,在接收到100指示54、56、58中的每一个时,带宽降低过程\n10可通过确定上述带宽性能统计和计算性能统计是否满足上述最小性能阈值来确定102带宽压缩是否是优选的。\n[0049] 可通过带宽降低过程10以各种方式来确定上述带宽性能统计。例如,可将具有已知大小的文件(例如文件60)存储在计算设备的例如存储设备16上。在从客户端电子设备28接收到例如指示54时,可将文件60从计算设备12传输到客户端电子设备28且随后从客户端电子设备28到计算设备12。由于文件60具有已知大小,带宽降低过程10可计算双向带宽以确定与在客户端电子设备28和计算设备12之间建立的通信信道相关联的性能统计是否满足上述最小带宽阈值。此最小带宽阈值的示例可为每秒100kb。\n[0050] 可通过带宽降低过程10以各种方式来确定上述计算性能统计。例如,在从客户端电子设备28接收到指示54时,带宽降低过程10可执行客户端电子设备28上的一个或多个性能基准应用(未示出)以确定客户端电子设备28是否满足上述最小计算阈值。此最小计算阈值的示例可为每秒15帧,每秒30帧是期望的。\n[0051] 还参考图4,假设带宽降低过程10从客户端电子设备28(与用户36相关联)接收到指示54,并且处于确定与视频会议152中的用户36相关联的上述性能统计(例如带宽性能统计和/或计算性能统计)是否满足上述最小性能阈值的过程中。出于说明性目的假设在客户端电子设备28与计算设备12之间建立通信信道200。\n[0052] 在与例如用户36相关联的上述性能统计(例如带宽性能统计和/或计算性能统计)确实满足用于视频会议152的最小性能阈值的情况下,带宽降低过程10可向包括在客户端电子设备28内的视频编码器204提供108未处理的视频流202以便在通信信道200上传输。视频编码器204的示例可包括但不限于H.264编解码器、WMV编解码器和DIVX编解码器。\n[0053] 然而,在与例如用户36相关联的上述性能统计不满足用于视频会议152的最小性能阈值的情况下:带宽降低过程10可处理104例如与用户36相关联的未处理的视频流202以生成降低带宽的视频流206,并且可向包括在客户端电子设备2内的视频编码器204提供106降低带宽的视频流206以用于在通信信道200上传输。\n[0054] 根据用来配置带宽降低过程10的方式,降低带宽的视频流206可以是例如灰度级图像视频流、灰度级剪影视频流、二进制图像视频流或二进制剪影视频流。下面更详细地讨论带宽降低过程10处理104未处理的视频流202以生成降低带宽的视频流206的方式。\n[0055] 当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行\n110分辨率降低过程。例如,未处理的视频流202可具有640×360像素的原始分辨率。因此,当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行110分辨率降低过程以将未处理的视频流202的分辨率从640×360像素降低至160×90像素。因此,水平像素数目的75%减少和垂直像素数目的75%减少可以导致为其原始大小的1/16(即25%×25%)的视频流。\n[0056] 当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行\n112空间模糊过程。例如,带宽降低过程10可在处理104未处理的视频流202时执行112高斯模糊过程。如在本领域中已知的,高斯模糊过程(也称为高斯平滑)是其中根据高斯函数来模糊图像的数学过程。此外,针对图像内的任何给定像素,可对围绕给定像素的一个或多个像素求平均,并且可用平均像素值来替换给定像素。\n[0057] 可对图形图像(例如视频帧)使用高斯模糊来减少图像噪声和/或减少图像细节。\n在视觉上,高斯模糊过程可导致平滑模糊技术,其类似于通过透明滤波器来查看图像。\n[0058] 当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行\n114边缘检测过程。例如,带宽降低过程10可在处理104未处理的视频流202时执行114苏贝尔边缘检测过程。\n[0059] 可在图像处理中使用使用苏贝尔算子的边缘检测,其在技术上是计算图像强度函数的梯度的近似值的离散微分算子。在图像中的每个点处,苏贝尔算子的结果可以是相应梯度矢量或此矢量的范数。\n[0060] 具体地,苏贝尔算子可计算图像内的每个点处的图像强度的梯度,给出从亮到暗的最大可能增加的方向和该方向上的变化速率。这涉及图像在图像中的任何给定点处有多“突然地”或“平滑地”改变以及因此图像的此特定部分表示边缘(及其取向)的可能性有多大。\n[0061] 当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行\n116时间模糊过程。例如,当处理104未处理的视频流202时,带宽降低过程10可执行时间模糊过程,诸如在题为Temporal Blurring System and Method且在202年9月17日提交的美国临时申请号61/701,927(其内容被通过引用合并于此)中描述的过程。\n[0062] 以类似于上述空间模糊过程的方式,时间模糊可确定多个像素的平均值并使用该平均值来替换给定像素。然而,不同于确定地理上接近的像素(即,在同一视频帧内接近于给定像素定位的那些像素)的平均值的空间模糊,时间模糊对在时间上接近于给定像素的像素求平均。具体地,时间模糊取对应于给定像素的时间上相邻视频帧中的像素的平均值。\n因此,可将视频帧T-1内的像素#113与视频帧T+1中的像素#113求平均,并且此计算平均值可用来填充视频帧T内的像素#113。\n[0063] 当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行\n118图像量化过程。\n[0064] 如在图像处理中使用的图像量化过程是通过将一定范围的值压缩成单个量子值而实现的有损压缩技术。当减少给定视频流中的离散符号的数目时,视频流可变得更加可压缩,因此降低带宽要求。例如,减少表示视频流内的数字图像所需的色彩数目可降低视频流的带宽要求。这样的图像量化过程的示例可包括但不限于JPEG中的位掩码DCT(即离散余弦变换)数据量化和JPEG 2000中的DWT(即离散小波变换)数据量化。\n[0065] 如上文所讨论的,色彩量化可减少在图像内使用的不同色彩的数目,通常意图在于新图像在视觉上尽可能类似于原始图像。可使用色彩量化来在只能显示有限数目的色彩(例如由于存储器限制)的设备上显示具有许多色彩的图像和/或允许某些类型的图像(例如视频流内的离散视频帧)的高效压缩。\n[0066] 当处理104未处理的视频流202时,带宽降低过程10可对未处理的视频流202执行\n120否定过程,其本质上允许在例如降低带宽的视频流206(如图4中所示)与本质上降低带宽的视频流206的负趋光(photonegative)性之间做出选择。具体地,降低带宽的视频流206可被带宽降低过程10在亮背景上渲染为(未处理的视频流202中所示的人的)暗灰阶剪影。\n然而且通过上述否定过程的使用,用户36可选择具有被带宽降低过程102在暗背景上渲染为(未处理的视频流202中所示的人的)亮灰阶剪影的降低带宽的视频流206。\n[0067] 虽然降低带宽的视频流206被示为包括灰阶剪影,但这仅仅出于说明性目的,并且不意图是本公开的限制,因为可以有其他配置。例如,降低带宽的视频流206可被带宽降低过程10渲染成包括二进制剪影(其中剪影中的像素是第一二进制状态(例如黑或白)且背景是第二二进制状态(例如白或黑))。\n[0068] 还参考图5,示出了计算系统12的示意图。虽然在此图中示出了计算系统12,但这仅仅出于说明性目的,并且不意图是本公开的限制,因为可以有其他配置。例如,能够整体地或部分地执行带宽降低过程10的任何计算设备可代替图5内的计算设备12,其示例可包括但不限于客户端电子设备28、30、32、34。\n[0069] 计算系统12可包括被配置成例如针对带宽降低过程10处理数据和执行指令/代码的微处理器250。微处理器250可耦合到存储设备16。如上文所讨论的,存储设备16的示例可包括但不限于:硬盘驱动器;带驱动器;光驱;RAID设备;NAS设备、存储区域网、随机存取存储器(RAM);只读存储器(ROM);以及所有形式的闪速存储器存储设备。可将IO控制器252配置成将微处理器250与各种设备耦合,诸如键盘256、鼠标258、USB端口(未示出)以及打印机端口(未示出)。可将显示适配器260配置成将显示器262(例如CRT或LCD监视器)与微处理器\n250耦合,同时可将网络适配器264(例如以太网卡)配置成将微处理器250耦合到网络14(例如因特网或局域网)。\n[0070] 如本领域的技术人员将认识到的,可将本公开体现为方法(例如整体地或部分地在计算设备12上执行)、系统(例如计算设备12)或计算机程序产品(例如,在存储设备16内编码)。因此,本公开可采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者在本文中一般地可全部称为“电路”、“模块”或“系统”的将软件和硬件方面组合的实施例的形式。此外,本公开可采取具有在介质中体现的计算机可用程序代码的计算机可用存储介质(例如存储设备16)上的计算机程序产品的形式。\n[0071] 可利用任何适当的计算机可用或计算机可读介质(例如存储设备16)。计算机可用或计算机可读介质可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更具体示例(非穷举列表)可包括以下:具有一个或多个布线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程序只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光学存储设备、诸如支持因特网或内部网的那些的传输介质、或磁存储设备。计算机可用或计算机可读介质还可以是在其上打印程序的纸张或另一适当介质,因为可以经由例如纸张或其他介质的光学扫描以电子方式捕捉程序,然后在必要时以适当方式编译、解释或者另外处理,并且然后存储在计算机存储器中。在本文的背景下,计算机可用或计算机可读介质可以是任何介质,其可以包含、存储、传送、传播或传输用于供指令执行系统、装置或设备使用或与之相结合地使用的程序。计算机可用介质可包括在基带中或者作为载波一部分传播的数据信号,其中实现计算机可读程序代码。可使用包括但不限于因特网、导线、光纤电缆、RF等的任何适当介质来发送计算机可用程序代码。\n[0072] 可用诸如Java、Smalltalk、C++等面向对象编程语言来编写用于执行本公开的操作的计算机程序代码。然而,还可用常规过程编程语言来编写用于执行本公开的操作的计算机程序代码,诸如“C”编程语言或类似编程语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上以及部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,可通过局域网/广域网/因特网(例如网络14)将远程计算机连接到用户的计算机。\n[0073] 参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以通过计算机程序指令实现。这些计算机程序指令可以提供给通用计算机/专用计算机/其它可编程数据处理装置(例如计算设备12)的处理器(例如处理器250),使得该指令在通过计算机或其它可编程数据处理装置的处理器(例如处理器250)执行时,产生用于实现流程图和/或框图中的一个或多个方框中指定的功能/动作的装置。\n[0074] 也可以把这些计算机程序指令存储在计算机可读存储器(例如存储设备16)中,这些指令可指引计算机(例如计算设备12)或其它可编程数据处理装置以特定方式工作,使得存储在计算机可读存储器中的指令产生包括实现流程图和/或框图中的一个或多个方框中指定的功能/动作的指令装置的制品。\n[0075] 还可将计算机程序指令加载到计算机(例如计算设备12)或其他可编程数据处理装置上以促使在计算机、其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,使得在计算机、其他可编程装置上执行的指令提供用于实现在流程图和/或一个或多个框图方框中指定的功能/动作的步骤。\n[0076] 图中的流程图和框图可图示根据本公开的各种实施例的系统、方法以及计算机程序产品的可能实施方式的架构、功能以及操作。在这方面,流程图或框图中的每个方框可表示模块、段或代码部分,其包括用于实现指定逻辑函数的一个或多个可执行指令。应注意的是在某些替选实施方式,在方框中所述的功能可不按照图中所述的顺序发生。例如,连续地示出的两个方框事实上可基本上同时地执行,或者各方框有时可按照相反顺序执行,取决于涉及到的功能。还将注意的是可用执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现框图和/或流程图的每个方框以及框图和/或流程图中的方框组合。\n[0077] 本文所使用的术语仅仅用于描述特定实施例的目的且不意图限制本公开。如本文所使用的单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文另外清楚地指明。\n还将理解的是当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加。\n[0078] 用于所附权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作以及等价物意图包括用于与如具体地要求保护的其他要求保护元件组合地执行功能的任何结构、材料或动作。已出于举例说明和描述的目的提出了本公开的描述,但其不意图是穷举的或以公开的形式限制本公开。在不背离本公开的范围和精神的情况下,许多修改和变更对于本领域的技术人员而言将是显而易见的。选择和描述实施例是为了最好地解释本公开的原理及其实际应用,并使得本领域的技术人员能够在设想适合于特定使用的各种修改的情况下针对各种实施例理解本公开。\n[0079] 已详细地且通过参考本申请的实施例描述了本申请的公开,但将显而易见的是在不脱离在所附权利要求中定义的本公开的范围的情况下可进行修改和变更。\n[0080] 时间模糊系统和方法\n[0081] 在远程个体之间的通信会话中可使用视频(例如实时视频)。一般地,发送实时视频的个体可使用网络相机作为从源捕捉实时视频的介质,其中然后可将其通过网络流送以便被接收个体观看。然而,可认为一些网络相机或其他记录设备“有噪声”,导致质量差的视频图像记录和/或观看,其可能由于质量差的网络连接而加剧。这样,捕捉并观看的视频可能不清楚,其可对接收个体造成烦恼并减少针对个体双方的通信会话的总体享受。\n[0082] 在一个实施例中,一种由一个或多个计算设备执行的方法包括在第一视频帧的一坐标处识别第一像素。在与第一视频帧的所述坐标相对应的第二视频帧的坐标处识别第二像素。对第一像素的第一像素值施加第一权值并对第二像素的第二像素值施加第二权值。\n将第一视频帧与第二视频帧组合以生成修改的视频帧。将修改的视频帧发送到视频编码器。\n[0083] 在一个实施方式中,一种由一个或多个计算设备执行的方法包括在第一视频帧的一坐标处识别第一像素。在与第一视频帧的所述坐标相对应的第二视频帧的坐标处识别第二像素。对第一像素的第一像素值和第二像素的第二像素值执行时间模糊。将第一视频帧与第二视频帧组合以生成修改的视频帧。\n[0084] 可包括以下特征中的一个或多个。可将修改的视频帧发送到视频编码器。执行时间模糊可包括对第一像素值施加第一权值并对第二像素值施加第二权值。执行时间模糊可包括帧的有界缓冲。执行时间模糊可包括帧间平均。可对第一视频帧和第二视频帧的至少一部分执行空间模糊。可在修改的视频帧中组合空间模糊和时间模糊。\n[0085] 在另一实施方式中,计算机程序产品驻留于计算机可读存储介质上,该计算机可读存储介质在其上面具有多个指令。当被处理器执行时,指令促使处理器执行操作,该操作包括在第一视频帧的一坐标处识别第一像素。在与第一视频帧的所述坐标相对应的第二视频帧的坐标处识别第二像素。对第一像素的第一像素值和第二像素的第二像素值执行时间模糊。将第一视频帧与第二视频帧组合以生成修改的视频帧。\n[0086] 可包括以下特征中的一个或多个。可将修改的视频帧发送到视频编码器。执行时间模糊可包括对第一像素值施加第一权值并对第二像素值施加第二权值。执行时间模糊可包括帧的有界缓冲。执行时间模糊可包括帧间平均。可对第一视频帧和第二视频帧的至少一部分执行空间模糊。可在修改的视频帧中组合空间模糊和时间模糊。\n[0087] 在另一实施方式中,一种计算系统包括处理器和存储器,其被配置成执行操作,该操作包括在第一视频帧的一坐标处识别第一像素。在与第一视频帧的所述坐标相对应的第二视频帧的坐标处识别第二像素。对第一像素的第一像素值和第二像素的第二像素值执行时间模糊。将第一视频帧与第二视频帧组合以生成修改的视频帧。\n[0088] 可包括以下特征中的一个或多个。可将修改的视频帧发送到视频编码器。执行时间模糊可包括对第一像素值施加第一权值并对第二像素值施加第二权值。执行时间模糊可包括帧的有界缓冲。执行时间模糊可包括帧间平均。可对第一视频帧和第二视频帧的至少一部分执行空间模糊。可在修改的视频帧中组合空间模糊和时间模糊。\n[0089] 在某些实施例中,可在多个远程用户之间发起用于“在线聊天会话”的视频。为了帮助改善观看的视频质量,时间模糊(TB)过程610可识别位于视频的第一视频帧处的视频帧像素。TB过程610还可在与第一视频帧的位置相对应的同一位置处识别另一视频帧的视频帧像素。在一些实施例中,TB过程610可对每个帧的像素中的至少一些执行时间模糊并将其组合以生成修改的视频帧。如下面将更详细地讨论的,对每个帧的像素执行时间模糊并将其组合可产生改善的视频质量记录和/或观看。一般地,视频压缩处理可阻止模糊,因为其可导致细节损失;然而,如也将在下面更详细地讨论的,具有示例性高“学习率”的时间模糊可增加感知的视频质量,其中,例如可存在相对小的相机和/或对象运动,诸如对于静态场景图像而言。因此,结果得到的时间模糊(视频)图像可具有增加的图像细节。\n[0090] 参考图6,示出了时间模糊(TB)过程610,其可驻留于计算机(例如计算机612)上且可由其执行,该计算机可以连接到网络(例如网络614)(例如因特网或局域网)。计算机612的示例可包括但不限于个人计算机、膝上型计算机、移动计算设备、服务器计算机、一系列服务器计算机、主计算机或计算云。例如,计算机612可执行操作系统,例如但不限于OS Red 或自定义操作系统。\n(Microsoft和Windows是微软公司在美国、其他国家或两者的注册商标;Mac和OS X是苹果公司在美国、其他国家或两者的注册商标;Red Hat是Red Hat公司在美国、其他国家或两者的注册商标;并且Linux是Linus Torvalds在美国、其他国家或两者的注册商标)。\n[0091] 如下面将更详细地讨论的,TB过程610可在第一视频帧的一坐标处识别第一像素。\n可在与第一视频帧的所述坐标相对应的第二视频帧的坐标处识别第二像素。可对第一像素的第一像素值和第二像素的第二像素值执行时间模糊。可将第一视频帧与第二视频帧组合以生成修改的视频帧。\n[0092] 可由包括在计算机612内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行可存储于耦合到计算机612的存储设备616上的TB过程610的指令集和子例程。存储设备616可包括但不限于:硬盘驱动器;闪速驱动器;带驱动器;光驱;RAID阵列;随机存取存储器(RAM);以及只读存储器(ROM)。\n[0093] 网络614可连接到一个或多个次级网络(例如网络618),例如其示例可包括但不限于:局域网;广域网;或内部网。\n[0094] 计算机612可执行协作应用(例如,协作应用620),其示例可包括但不限于例如web会议应用、视频会议应用、IP视频应用、IP语音应用、在线“聊天”应用、视频压缩应用或允许虚拟会议和/或远程协作的其他应用。可经由客户端应用622、624、626、628来访问TB过程\n610和/或协作应用620。TB过程610可以是独立应用,或者可以是可与协作应用620相交互和/或在其内部执行的小程序/应用/脚本。客户端应用622、624、626、628的示例可包括但不限于web会议应用、视频会议应用、IP视频应用、IP语音应用、在线“聊天”应用、或允许虚拟会议和/或远程协作的其他应用、标准和/或移动web浏览器、电子邮件客户端应用、文本和/或图形用户界面、自定义web浏览器、插件、视频压缩应用或自定义应用。可由被合并到客户端电子设备638、640、642、644中的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行客户端应用622、624、626、628的指令集和子例程,其可存储于耦合到客户端电子设备638、640、642、644的存储设备630、632、634、636上。\n[0095] 存储设备630、632、634、636可包括但不限于:硬盘驱动器;闪速驱动器、带驱动器;\n光驱;RAID阵列;随机存取存储器(RAM);以及只读存储器(ROM)。客户端电子设备638、640、\n642、644的示例可包括但不限于个人计算机(例如客户端电子设备638)、膝上型计算机(例如客户端电子设备640)、智能电话(例如客户端电子设备642)、笔记本计算机(例如客户端电子设备644)、平板电脑(未示出)、服务器(未示出)、数据使能蜂窝式电话(未示出)、电视(未示出)、智能电视(未示出)以及专用网络设备(未示出)。客户端电子设备638、640、642、tm\n644每个可执行操作系统,其示例可包括但不限于Android 、 OS\nRed 或自定义操作系统。\n[0096] 可将客户端应用622、624、626、628中的一个或多个配置为执行TB过程610的一些或所有功能(并且反之亦然)。因此,TB过程610可以是完全服务器侧应用、完全客户端侧应用或由客户端应用622、624、626、628中的一个或多个和TB过程610合作地执行的混合式服务器侧/客户端侧应用。\n[0097] 可将客户端应用622、624、626、628中的一个或多个配置为实现协作应用620的一些或所有功能(并且反之亦然)。因此,协作应用620可以是完全服务器侧应用、完全客户端侧应用或由客户端应用622、624、626、628中的一个或多个和协作应用620合作地执行的混合式服务器侧/客户端侧应用。\n[0098] 用户646、648、650、652可通过网络614或通过次级网络618直接访问计算机612和TB过程610。此外,计算机612可通过次级网络618连接到网络614,如用阴影链接线654所示。\nTB过程610可包括一个或多个用户界面,诸如浏览器和文本或图形界面,用户646、648、650、\n652可通过其访问TB过程610。\n[0099] 各种客户端计算设备可直接地或间接地耦合到网络614(或网络618)。例如,客户端电子设备638被示为经由硬接线网络连接直接地耦合到网络614。此外,客户端电子设备\n644被示为经由硬接线网络连接直接地耦合到网络618。客户端电子设备640被示为经由在客户端电子设备640与被示为直接地耦合到网络614的无线接入点(即WAP)658之间建立的无线通信信道656而无线耦合到网络614。WAP 658可以是例如IEEE 802.11a、802.11b、\n802.11g、Wi-Fi和/或Bluetoothtm设备,其能够在客户端电子设备640与WAP 658之间建立无线通信信道656。客户端电子设备642被示为经由在客户端电子设备642和被示为直接地耦合到网络614的蜂窝式网络/桥接器662之间建立的无线通信信道660而无线耦合到网络\n614。\n[0100] 如在本领域中已知的,所有IEEE 802.11x规范可使用以太网协议和具有冲突避免的载波感测多路访问(即CSMA/CA)用于路径共享。各种802.11x规范可使用例如相移键控tm\n(即PSK)调制或补码键控(即CCK)调制。如在本领域中已知的,Bluetooth 是允许例如使用短程无线连接将移动电话、计算机、智能电话及其他电子设备互连的电信行业规范。\n[0101] 还参考图7,示出了客户端电子设备640的示意图。虽然在此图中示出了客户端电子设备640,但这仅仅出于说明性目的,并且不意图是本公开的限制,因为可以有其他配置。\n例如,能够整体地或部分地执行TB过程610的任何计算设备可代替图7内的客户端电子设备\n640,其示例可包括但不限于计算机612和客户端电子设备638、642、644。\n[0102] 客户端电子设备640可包括处理器和/或微处理器(例如微处理器700),其被配置成例如处理数据并执行TB过程610的上述代码/指令集和子例程。微处理器700可经由存储适配器(未示出)耦合到上述存储设备616。可将I/O控制器(例如I/O控制器702)配置成将微处理器700与诸如键盘706、指示/选择设备(例如鼠标708)、视频/图像捕捉设备(例如网络相机716)、USB端口(未示出)以及打印机端口(未示出)的各种设备耦合。可将显示适配器(例如显示适配器710)配置成将显示器712(例如CRT或LCD监视器)与微处理器700耦合,同时可将网络控制器/适配器714(例如以太网适配器)配置成将微处理器700耦合到上述网络\n614(例如因特网或局域网)。\n[0103] 如上文所讨论的且还参考图8-10,时间模糊(TB)过程610可在第一视频帧的一坐标处识别800第一像素。TB过程610可在与第一视频帧的所述坐标相对应的第二视频帧的坐标处识别802第二像素。TB过程610可对第一像素的第一像素值和第二像素的第二像素值执行804时间模糊。TB过程610可将第一视频帧与第二视频帧组合806以生成修改的视频帧。\n[0104] 例如,仅仅出于示例性目的假设例如用户648的用户正在经由客户端电子设备640与经由客户端电子设备642的例如用户650的另一用户进行视频“聊天”会话。进一步假设客户端电子设备640正在使用视频/图像捕捉设备(例如网络相机716)来捕捉至少用于聊天会话的一部分的用户648的视频。在一些实施例中,客户端电子设备40上的客户端应用624可包括在显示器712上可见的用户界面(例如用户界面900),其可包括用于在聊天会话中的那些之间交换文本的部分902。在一些实施例中,客户端电子设备640可包括麦克风(未示出),使得可在聊天会话中包括音频。在一些实施例中,用户界面900还可包括其中可在客户端电子设备642处渲染经由客户端电子设备640的网络相机716捕捉的用户648的视频图像的部分904,并且还可包括示出如由客户端电子设备642的网络相机捕捉的用户650的渲染的视频图像的较小部分906。\n[0105] 用来捕捉用户648的视频图像以便在聊天会话期间在客户端电子设备642处渲染的网络相机716可由于例如网络相机716“有噪声”和/或连接到不良网络连接而具有差的质量。结果,在被组合构成由网络相机716捕捉并在显示器712上渲染的视频的至少一部分的个体视频帧(其可包括多个像素)中的一些可能不拥有用户650所期望/预期的质量。\n[0106] 为了帮助改善源自网络相机716的不良视频质量,TB过程610可在视频的第一视频帧(例如视频帧1000a)的一坐标处识别800第一像素。TB过程610可在与第一视频帧的所述坐标相对应的视频的第二视频帧(例如视频帧1000b)的坐标处识别802第二像素。例如,TB过程610可在例如(0,1)的坐标处识别700视频帧1000a中的像素1004a。TB过程610可以识别到802像素1004b在同一坐标(0,1)处但在视频帧1000b中。本领域的技术人员将认识到在不背离本公开的范围的情况下像素的大小、量、几何结构以及配置(例如线性、非线性色彩空间)可改变。在一些实施例中,每个像素可表示原始图像的样本,例如由网络相机716捕捉的视频;然而,本领域的技术人员将认识到可基于适当的上下文来宽泛地解释术语像素(例如,由电子信号承载或用数字值表示的像素、显示设备上的像素、表示光传感器元件的像素等)。\n[0107] TB过程610可对像素1004a的第一像素值和像素1004b的第二像素值执行804时间模糊。例如,可由TB过程610在相邻视频帧(例如,一些或所有视频帧1000a和一些或所有视频帧1000b)之间执行时间模糊(也称为运动模糊)。TB过程610可将视频帧1000a与视频帧\n1000b组合806以生成修改的视频帧(未示出)。在一些实施例中,执行804相邻视频帧之间的时间模糊可例如减少网络相机噪声、改善编码效率、以及改善主观视频质量。\n[0108] 在一些实施例中,执行804时间模糊可包括TB过程610向第一像素值施加808第一权值和向第二像素值施加808第二权值。在实施例中,第一和第二权值可至少部分地基于TB过程610所利用的学习率。例如,使L为在例如0.0与1.0之间的期望“学习率”(L)。在一些实施例中,可能期望L是高的(例如0.85)。可宽泛地将L描述为在后续帧中用来创建修改的视频帧的像素值的百分比。在本示例中,使得F0(例如视频帧1000a)为具有在任何线性色彩空间(例如RGBA)中的像素的黑色视频帧。可将一些或所有捕捉的视频帧存储在F1(例如视频帧1000b)中。在一些实施例中,视频帧1000a是前一视频帧,并且视频帧1000b是相邻(即较新、最新、后续等)视频帧。继续本示例,对于F0中的每个像素P0和F1中的每个相应像素P1,TB过程610可设定P0=L*P1+(1.0-L)*P0。在本示例中,TB过程610可将修改的视频帧(例如F0)发送810到视频编码器(未示出)。\n[0109] 在一些实施例中,TB过程610可在网络相机716已在视频帧已被发送810到视频编码器之前捕捉视频帧(例如视频帧1000a和/或视频帧1000b)之后执行804时间模糊作为预处理动作。在一些实施例中,由于时间模糊可在对视频进行编码之前发生,执行804时间模糊作为预处理动作可允许与大多数(如果不是全部的话)现有视频压缩库(例如因为可将基于视频压缩库的视频压缩应用于被发送810到视频编码器的已修改帧)的互操作性。在一些实施例中,还可用例如在中央处理单元(CPU)和/或图形处理单元(GPU)上的单指令多数据(SIMD)指令将时间模糊高度优化。另外,时间模糊可减少帧间差,其对于一些视频压缩库而言可能是理想的。通常,可将压缩视频帧表示为例如“I帧”、“P帧”和/或“B帧”。通过执行804时间模糊作为预处理动作,TB过程610可减小帧间差,因此允许较小的P和B帧。减小的视频帧大小可显著地改善网络性能。\n[0110] 虽然已描述了执行804时间模糊的至少一个示例,但本领域的技术人员将认识到在不背离本公开的范围的情况下还可执行804时间模糊的变化技术。例如,执行804时间模糊可包括任何帧间平均技术。例如,帧间平均可包括例如经由简单或加权平均将视频序列中的两个帧组合。例如,考虑视频帧1000a和视频帧1000b,其可以是或可以不是相邻帧。在本示例中,对视频帧1000a和视频帧1000b求平均的一个可能技术可以是与视频帧1000b相等地对视频帧1000a的每个像素加权,并且取这些帧的每像素平均以产生结果得到的修改的视频帧。在一些实施例中,简单平均可引入不期望的伪像。更复杂的变体与实时相比可以根据其年龄(例如当捕捉相应视频帧的时间)的函数来不同地对视频帧1000a和视频帧\n1000b加权。例如,如果视频帧1000a比视频帧1000b旧的话,可用比视频帧1000b小的L对视频帧1000a加权。\n[0111] 作为另一示例,执行804时间模糊可包括帧的有界缓冲。例如,帧的有界缓冲可存储N个最近帧的样本以计算加权平均。使用有界缓冲可允许TB过程610在将最老的帧从缓冲去除并添加最新采样的帧时将最老的帧减去。作为另一示例,由TB过程610施加808的权值(可包括上述L)可改变(如上所述)且不需要被相同地加权。这样,时间模糊的任何所述技术应被理解为仅是示例而不是限制本公开的范围。\n[0112] 在一些实施例中,可由TB过程610对视频帧1000a和/或视频帧1000b的至少一部分(以及超过2个视频帧)执行812空间模糊。在时间模糊可涉及两个或更多视频帧(如上文说明性地所述)的情况下,时间模糊可与空间模糊形成对比,其可涉及仅单个视频帧的至少一部分。例如,空间模糊可宽泛地包括单个帧的区域内的模糊,而时间模糊可包括跨多个帧的模糊,如上文所讨论的,但在一些实施例中,具有相同的x,y像素坐标。\n[0113] 在一些实施例中,可由TB过程610在修改的视频帧中(例如,在修改的视频帧已被发送810到视频编码器之前)将(例如视频帧1000a的)空间模糊与(例如视频帧1000a和视频帧1000b)的时间模糊组合814。例如,TB过程610可首先执行804时间模糊,并且然后对结果得到的修改的视频帧执行812空间模糊。作为另一示例,TB过程610可在有或没有包括最新帧的情况下对所有先前的帧执行812空间模糊,并且然后执行804时间模糊。这些变体可对可在结果得到的修改的图像中引入什么伪像具有不同的影响,并且可例如至少部分地根据视频内容和期望结果来选择。\n[0114] 本领域的技术人员将理解本公开可以实现为方法、系统或计算机程序产品。因此,本公开可采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者将在本文中一般地可全部称为“电路”、“模块”或“系统”的软件和硬件方面组合的实施例的形式。此外,本公开可采取具有在介质中体现的计算机可用程序代码的计算机可用存储介质上的计算机程序产品的形式。\n[0115] 可利用任何适当的计算机可用或计算机可读介质。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可用或计算机可读存储介质(包括与计算设备或客户端电子设备相关联的存储设备)可以是例如但不限于电子、磁、光、电磁、红外或半导体系统、装置、设备或前述的任何适当组合。计算机可读介质的更特定示例(非穷举列表)可包括以下:具有一个或多个布线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程序只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光学存储设备、诸如支持因特网或内部网的那些的介质、或磁存储设备。请注意,计算机可用或计算机可读介质甚至可以是在必要时在其上以适当方式存储、扫描、编译、解释或者另外处理且然后存储在计算机存储器中的适当介质。在本文档的上下文中,计算机可用或计算机可读存储介质可以是任何有形介质,其可以包含或存储供指令执行系统、装置或设备使用或与之结合使用的程序。\n[0116] 计算机可读信号介质可以包括例如在基带中或者作为载波的一部分传播的数据信号,其中承载了计算机可读程序代码。这样的传播信号可以采用各种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可使用包括但不限于因特网、导线、光纤电缆、RF等的任何适当介质来发送计算机可读程序代码。计算机可读信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者设备使用或者与其结合使用的程序。\n[0117] 可用诸如 Smalltalk、C++等面向对象编程语言来编写用于执行本公开的操作的计算机程序代码。Java和所有基于Java的商标和徽标是Oracle和/或其分支机构的商标或注册商标。然而,还可用诸如“C”编程语言、PASCAL或类似编程语言的常规过程编程语言以及用诸如Javascript或PERL之类的脚本语言来编写用于执行本公开的操作的计算机程序代码。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一情形中,远程计算机可以通过局域网(LAN)或广域网(WAN)连接到用户计算机,或,可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。\n[0118] 图中的流程图和框图图示出根据本公开的各种实施例的装置(系统)、方法以及计算机程序产品的可能实施方式的架构、功能以及操作。应理解的是流程图和/或框图中的每个方框以及流程图和/或框图中的方框的组合可表示模块、段或代码部分,其包括用于实现指定逻辑功能/动作的一个或多个可执行计算机程序指令。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产机器,使得可经由计算机或其他可编程数据处理装置的处理器执行的计算机程序指令产生实现在流程图和/或框图的方框或多个方框或其组合中指定的功能/动作中的一个或多个的能力。应注意的是,在一些实施方式中,在方框中所述的功能可不按照图中所述的顺序发生。例如,连续地示出的两个方框事实上可基本上同时地执行,或者方框有时可按照相反顺序执行,取决于涉及到的功能。\n[0119] 也可以把这些计算机程序指令存储在计算机可读存储器中,这些指令可以指引计算机、或其它可编程数据处理装置以特定方式工作,使得存储在计算机可读存储器中的指令产生包括实现流程图和/或框图中的一个或多个方框或其组合中指定的功能/动作的指令装置的制品。\n[0120] 还可将计算机程序指令加载到计算机或其他可编程数据处理装置上以促使在计算机或其他可编程数据装置上执行一系列操作步骤(不一定按照特定顺序)以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图的方框或其组合中指定的功能/动作(不一定按照特定顺序)的步骤。\n[0121] 本文所使用的术语仅仅用于描述特定实施例的目的且不意图限制本公开。如本文所使用的单数形式“一”、“一个”和“该”意图也包括复数形式,除非上下文另外清楚地指明。\n还将理解的是当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整体、步骤(不一定按照特定顺序)、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤(不一定按照特定顺序)、操作、元件、部件和/或其群组的存在或添加。\n[0122] 用于以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作以及等价物意图包括用于与如具体地要求保护的其他要求保护元件组合地执行功能的任何结构、材料或动作。已出于举例说明和描述的目的呈现了本本公开的描述,但其并不意图是穷举的或以公开的形成限于本公开。在不背离本公开的范围和精神的情况下,许多修改、变更及其任何组合对于本领域的普通技术人员而言将是显而易见的。选择和描述实施例是为了最好地解释本公开的原理及其实际应用,并使得本领域的技术人员能够在设想适合于特定使用的实施例的各种修改和/或任何组合的情况下针对各种实施例理解本公开。\n[0123] 已详细地且通过参考本申请的实施例描述了本申请的公开,但将显而易见的是在不背离在所附权利要求中定义的本公开的范围的情况下可进行实施例的修改、变更以及任何组合(包括其任何修改、变更以及组合)。
法律信息
- 2018-05-18
- 2018-01-26
著录事项变更
申请人由谷歌公司变更为谷歌有限责任公司
地址由美国加利福尼亚州变更为美国加利福尼亚州
- 2015-08-12
实质审查的生效
IPC(主分类): H04N 7/14
专利申请号: 201280076969.6
申请日: 2012.11.29
- 2015-07-15
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-12-09
|
2009-07-13
| | |
2
| |
2012-02-08
|
2010-08-03
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |