用于按组块传输图像的方法和系统技术方案

技术编号:27098019 阅读:23 留言:0更新日期:2021-01-25 18:38
本申请涉及用于按组块传输图像的方法和系统。示例性实施例涉及用于提高图像(例如,JPEG)的速度和呈现质量的技术,并且在端到端加密环境中特别有用。图像可以在发送客户端侧分析,并且图像数据被分解成多个类别。在一个实施例中,图像数据被分解成四个组块,其中每个组块可以被呈现(结合先前的组块),以提供越来越高的质量水平(例如,缩略图组块、中等质量组块、高质量组块和完整质量组块)。图像被上传到blob储存器,并且带有图像信息的消息被发送到接收客户端。在接收者侧,从blob储存器检索JPEG图像数据,并且以逐渐增加的质量水平呈现每个组块。因此,图像被更快地呈现,并且质量随着时间提高。着时间提高。着时间提高。

【技术实现步骤摘要】
用于按组块传输图像的方法和系统
[0001]相关申请
[0002]本申请要求于2019年7月16日提交的且题为“Progressive JPEGs”的美国临时专利申请62,874,554、于2020年5月20日提交的且题为“Methods And Systems For Transmitting An Image With Thumbnail Data”的美国非临时专利申请16/878,883以及于2020年5月20日提交的且题为“Methods And Systems For Transmitting An Image In Chunks”的美国非临时专利申请16/878,902的优先权。上述申请的内容在此通过引用被并入。
[0003]背景
[0004]诸如消息传送(messaging)服务和社交网络服务的一些通信服务允许用户与其他用户交换消息。通信可以包括图像(如JPEG图像)。特别是当图像尺寸相对较大时,其可能需要一些时间才能被接收并加载到接收者的设备上。例如,当通过网络请求图像时,一种常见的现象是图像的上半部分将在一段时间后开始加载,而下半部分为空白。最终,当接收到更多数据时,图像的剩余部分被填充。
[0005]附图简述
[0006]图1A-1E描绘了根据实施例的不同质量水平的同一图像。
[0007]图2描绘了适用于以端到端(end-to-end)加密方式传输图像的示例性通信系统。
[0008]图3是描绘适用于实践示例性实施例的示例性计算系统的框图。
[0009]图4A描绘了根据示例性实施例的适用于存储图像数据的示例性数据结构。
[0010]图4B描绘了根据示例性实施例的示例性消息结构。
[0011]图5是描绘在第一实施例中的计算系统之间的信息交换的示例性数据流图。
[0012]图6A-6B是描绘根据第一实施例的示例性逻辑的流程图,分别用于从发送客户端编码和发送图像以及在接收客户端处接收和解码图像。
[0013]图6C是描绘用于将接收到的图像重新传输到另一客户端的示例性接收客户端侧图像转发逻辑的流程图。
[0014]图7是描绘在第二实施例中的计算系统之间的信息交换的示例性数据流图。
[0015]图8A-8B是描绘根据第二实施例的示例性逻辑的流程图,分别用于从发送客户端编码和发送图像以及在接收客户端处接收和解码图像。
[0016]图9是描绘用于消息传送服务的系统的示例的框图;
[0017]图10是示出适用于与示例性实施例一起使用的示例性计算设备的框图;
[0018]图11描绘了示例性通信架构;以及
[0019]图12是描绘示例性多载波通信设备的框图。
[0020]详细描述
[0021]通常在网络中,图像(如JPEG)会随着数据被接收而从上到下加载。这通常是由于这样的事实,即这种图像通常被打包并从图像数据结构的开头到结尾进行传输,这意味着构成图像的第一部分的图像数据在构成图像的后续部分的图像数据之前被完全传输。因此,在加载图像时,用户可能对图像没有特别好的感觉,因为最初来自图像底部部分的图像
数据不可用。
[0022]为了解决这个问题,一些通信网络允许它们的用户在接收到包括图像的通信时自动下载图像。通过这种方式,如果用户没有立即打开包括图像的消息,他们就可以被提供对图像的完整质量(full-quality)版本的快速访问。问题是,在许多情况下,用户根本不查看下载的图像,这意味着浪费了用于传输该消息的网络带宽。
[0023]另一个潜在的解决方案是创建图像的较小“缩略图(thumbnail)”。用户可以查看缩略图以获得图像外观的预览,然后可以选择缩略图来下载完整尺寸的图像。该解决方案允许用户预览整个图像,并且也具有这样的优点,即如果用户不希望下载完整图像,则可以减少在网络上传输的信息量。如果用户查看预览并决定他们不希望下载整个图像,则他们可以不这样做,并避免传输完整质量图像的需要,在这种场景下只发送了较小的缩略图。不幸的是,如果用户确实希望下载整个图像,那么以这种方式使用缩略图实际上增加了在网络上传输的数据总量,因为需要下载完整质量图像和较小的缩略图两者。此外,当加载完整尺寸图像时,它仍然可能从上到下加载。因此,传统缩略图的使用没有解决递增地加载完整尺寸图像的问题。
[0024]另一个潜在的解决方案是使用渐进式(progressive)JPEG。当图像通过网络传输时,典型地会将完整图像上传到中间服务器以方便传递。中间服务器使用适当的转码(transcoding)参数多次扫描图像,以生成图像数据的多个版本。当这些版本向接收者传输时,接收者可以首先以模糊的方式呈现(render)它们,然后逐渐变得更加清晰。这是对从上到下的非渐进式JPEG方法的改进。
[0025]然而,渐进式JPEG传输通常依赖于中间服务器来处理JPEG。对于渐进式JPEG,图像的多次扫描是根据扫描脚本执行的,该扫描脚本包括定义在每次扫描期间编码的数据的转码参数。例如,JPEG典型地包括三个通道:一个亮度通道(Y)和两个色度通道(Cr和Cb)。每个通道可以包括针对该通道提供数据的64个系数:一个DC系数和63个AC系数。特定通道的某些系数对图像的影响比其他系数更大,因此渐进式JPEG可能会在第一次扫描中发送最重要的有影响的且数据密集性较低的信息,然后在后续扫描中平衡图像上剩余数据的影响与实现该影响所需的数据量。为了确定该数据中的哪些将被包括在哪次扫描中,中间服务器分析图像,选择适当的转码参数,并生成或应用扫描脚本来定义图像的各次扫描。然后,根据扫描脚本对图像进行多次扫描,以生成适当的图像数据,该图像数据然后可以被流式传输到接收者设备,以允许接收者设备渐进地呈现JPEG。
[0026]虽然这在传统通信系统中运行良好,但近来趋势已经朝向端到端加密(E2EE)环境发展。在E2EE环境中,通信的主体在发送客户端上加密,并且在接收客户端处解密,以确保没有其他参与者可以查看消息。因此,处理通信的任何中间服务器都不能查看通信内容。如果消息包括图像,则中间服务器无法确定转码参数,使得难以有效地传输图像。
[0027]示例性实施例解决了与图像发送和接收相关的这些和其他问题。所描述的技术提高了图像(例如JPEG)的速度和呈现质量,并且特别适合于端到端加密环境(E2EE)。
[0028]根据示例性实施例,可以在发送客户端侧分析图像,并且可以将图像数据分解成多个类别或片段。在一个实施例中,图像数据被分解成两个组块(chunk):缩略图组块和高质量图像组块。完整质量图像组块取决于缩略图组块,使得当使用高质量图像组块呈现完整图像时,来自缩略图组块的图像数据被重新使用。
[0029]发送客户端确定组块,识别组块尺寸,并计算每个组块上基于散列的消息认证码(HMAC)。图像数据可以被加密并上传到blob储存器,并且通知消息可以与确定的图像信息和合适的解密密钥一起被发送到接收客户端。接收客户端可以首先下载缩略图组块,并使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:经由发送设备和接收设备之间的端到端加密会话,接收包括对图像的引用的消息;建立到blob储存器的连接,所述blob储存器保存所述图像的加密缩略图、当与所述加密缩略图组合时产生所述图像的低质量版本的第一附加加密数据、以及当与所述加密缩略图和所述第一附加加密数据组合时产生所述图像的高质量版本的第二附加加密数据;从所述blob储存器检索所述加密缩略图,解密所述缩略图,并显示所述缩略图;接收显示所述图像的请求;从所述blob储存器检索所述第一附加加密数据,解密所述第一附加数据,并将解密的第一附加数据与所述缩略图组合;以及显示所述图像的低质量版本。2.根据权利要求1所述的方法,其中,所述blob储存器在数据流中向所述接收设备传输信息,并且所述方法还包括:接收网络质量参数;将所述网络质量参数和与所述图像的高质量版本相关联的阈值进行比较;确定所述网络质量参数没有超过所述阈值;以及终止所述数据流以取消所述第二附加加密数据的传输。3.根据权利要求1所述的方法,其中,直接响应于接收到所述消息,自动地执行从所述blob储存器检索所述加密缩略图。4.根据权利要求1所述的方法,其中,所述加密缩略图、所述第一附加加密数据和所述第二附加加密数据一起存储在图像结构中,并且包括对所述图像的引用的所述消息包括:划分所述加密缩略图与所述第一附加加密数据的所述图像结构中的第一位置,以及划分所述第一附加加密数据与所述第二附加加密数据的所述图像结构中的第二位置。5.根据权利要求4所述的方法,还包括:接收将所述图像转发给第二接收者的请求;以及重新传输所述图像结构中的所述第一位置和第二位置,同时避免对所述图像重新转码。6.根据权利要求1所述的方法,其中,响应于对所述消息中引用的对于所述图像的单个请求,一起执行从所述blob储存器检索所述加密缩略图、从所述blob储存器检索所述第一附加加密数据以及从所述blob储存器检索所述第二附加加密数据。7.根据权利要求1所述的方法,其中,检索所述加密缩略图包括:下载包括所述加密缩略图的至少一些的数据组块;接收与所述数据组块相关的键控散列消息认证码(HMAC);在下载的数据组块上计算HMAC;以及将计算的HMAC与接收的HMAC进行比较,以验证所述加密缩略图没有改动。8.一种非暂时性计算机可读介质,其存储指令,所述指令被配置成使处理器:经由发送设备和接收设备之间的端到端加密会话,接收包括对图像的引用的消息;建立到blob储存器的连接,所述blob储存器保存所述图像的加密缩略图、当与所述加密缩略图组合时产生所述图像的低质量版本的第一附加加密数据、以及当与所述加密缩略图和所述第一附加加密数据组合时产生所述图像的高质量版本的第二附加加密数据;
从所述blob储存器检索所述加密缩略图,解密所述缩略图,并显示所述缩略图;接收显示所述图像的请求;从所述blob储存器检索所述第一附加加密数据,解密所述第一附加数据,并将解密的第一附加数据与所述缩略图组合;以及显示所述图像的低质量版本。9.根据权利要求8所述的介质,其中,所述blob储存器在数据流中向所述接收设备传输信息,并且所述介质还包括用于以下操作的指令:接收网络质量参数;将所述网络质量参数和与所述图像的高质量版本相关联的阈值进行比较;确定所述网络质量参数没有超过所述阈值;以及终止所述数据流以取消所述第二附加加密数据的传输。10.根据权利要求8所述的介质,其中,直接响应于接收到所述消息,自动地执行从所述blob储存...

【专利技术属性】
技术研发人员:亚伦
申请(专利权)人:沃兹艾普公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1