白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

Methods and systems for transmitting an image with thumbnail data

專利號
US11178079B1
公開日期
2021-11-16
申請人
WhatsApp Inc.(US CA Menlo Park)
發(fā)明人
Aaron Patel; Jonathan Sheller
IPC分類
H04L12/58; H04L29/08; H04L9/06
技術領域
image,thumbnail,may,data,client,quality,messaging,in,or,blob
地域: CA CA Menlo Park

摘要

Exemplary embodiments relate to techniques for improving the speed and rendering quality of an image (e.g., a JPEG), particularly in an end-to-end encrypted environment. The image may be analyzed on the sending-client side and the image data may be broken into a thumbnail and a full-quality image, where the full-quality image data relies on the thumbnail data to render a high-quality image. The image is uploaded to a blob store, and a message is sent to the receiving client with image information. At the recipient side, the JPEG image data is retrieved from the blob store and the thumbnail is first rendered. Subsequently, as the remainder of the image data is received at the receiving client, the image is updated. Consequently, images are rendered faster, and the thumbnail can be automatically downloaded so that a user can determine if they wish to download the full image.

說明書

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application 62/874,554, filed on Jul. 16, 2019 and entitled “Progressive JPEGs.” The contents of the aforementioned application are hereby incorporated by reference.

BACKGROUND

Some communications services, such as messaging services and social networking services, allow users to exchange communications with other users. The communications may include images (such as a JPEG image). Particularly when the image is relatively large in size, it may take some time to be received and loaded on the recipient's device. For instance, a common phenomenon when images are requested over a network is that the top half of an image will initially load after a certain period of time, leaving the bottom half blank. Eventually, when more data is received, the remainder of the image is filled in.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1E depict the same image at varying levels of quality, according to an embodiment.

FIG. 2 depicts an exemplary communications system suitable for transmitting an image in an end-to-end encrypted fashion.

FIG. 3 is a block diagram depicting exemplary computing systems suitable for practicing exemplary embodiments.

FIG. 4A depicts an exemplary data structure suitable for storing image data according to an exemplary embodiment.

FIG. 4B depicts an exemplary message structure according to an exemplary embodiment.

權利要求

1
The invention claimed is:1. A method, comprising:receiving, via an end-to-end encrypted session between a sending device and a receiving device, a message including a reference to an image;establishing a connection to a blob store, the blob store holding an encrypted thumbnail of the image and additional encrypted data that, when combined with the encrypted thumbnail, results in a full-quality version of the image;retrieving the encrypted thumbnail from the blob store, wherein retrieving the encrypted thumbnail comprises:downloading a data chunk including at least some of the encrypted thumbnail; receiving a keyed-hash message authentication code (HMAC) in connection with the data chunk;calculating an HMAC over the downloaded data chunk;comparing the calculated HMAC to the received HMAC to verify that the encrypted thumbnail has not been altered;decrypting the thumbnail; anddisplaying the thumbnail;receiving a request to display the full-quality version of the image;retrieving the additional encrypted data from the blob store, decrypting the additional data, and combining the decrypted additional data with the thumbnail; anddisplaying the full-quality version of the image.2. The method of claim 1, wherein retrieving the encrypted thumbnail from the blob store is performed automatically in direct response to receiving the message.3. The method of claim 1, wherein the encrypted thumbnail and the additional encrypted data are stored together in an image structure, and the message including the reference to the image comprises a location in the image structure that divides the encrypted thumbnail from the additional encrypted data.4. The method of claim 3, further comprising:receiving a request to forward the image to a second recipient; andretransmitting the location in the image structure that divides the encrypted thumbnail from the additional encrypted data while refraining from retranscoding the image.5. The method of claim 1, wherein retrieving the encrypted thumbnail from the blob store and retrieving the additional encrypted data from the blob store are performed together in response to a single request for the image referenced in the message.6. The method of claim 1, wherein the image is a progressive JPEG.7. A non-transitory computer readable medium storing instructions configured to cause a processor to:receive, via an end-to-end encrypted session between a sending device and a receiving device, a message including a reference to an image;establish a connection to a blob store, the blob store holding an encrypted thumbnail of the image and additional encrypted data that, when combined with the encrypted thumbnail, results in a full-quality version of the image;retrieve the encrypted thumbnail from the blob store, wherein retrieving the encrypted thumbnail comprises:downloading a data chunk including at least some of the encrypted thumbnail; receiving a keyed-hash message authentication code (HMAC) in connection with the data chunk;calculating an HMAC over the downloaded data chunk;comparing the calculated HMAC to the received HMAC to verify that the encrypted thumbnail has not been altered;decrypt the thumbnail; anddisplay the thumbnail;receive a request to display the full-quality version of the image;retrieve the additional encrypted data from the blob store, decrypt the additional data, and combine the decrypted additional data with the thumbnail; anddisplay the full-quality version of the image.8. The medium of claim 7, wherein retrieving the encrypted thumbnail from the blob store is performed automatically in direct response to receiving the message.9. The medium of claim 7, wherein the encrypted thumbnail and the additional encrypted data are stored together in an image structure, and the message including the reference to the image comprises a location in the image structure that divides the encrypted thumbnail from the additional encrypted data.10. The medium of claim 9, further storing instructions for:receiving a request to forward the image to a second recipient; andretransmitting the location in the image structure that divides the encrypted thumbnail from the additional encrypted data while refraining from retranscoding the image.11. The medium of claim 7, wherein retrieving the encrypted thumbnail from the blob store and retrieving the additional encrypted data from the blob store are performed together in response to a single request for the image referenced in the message.12. The medium of claim 7, wherein the image is a progressive JPEG.13. An apparatus comprising:a network interface configured to:receive, via an end-to-end encrypted session between a sending device and a receiving device, a message including a reference to an image; andestablish a connection to a blob store, the blob store holding an encrypted thumbnail of the image and additional encrypted data that, when combined with the encrypted thumbnail, results in a full-quality version of the image; a processor configured to:retrieve the encrypted thumbnail from the blob store, wherein retrieving the encrypted thumbnail comprises:downloading a data chunk including at least some of the encrypted thumbnail;receiving a keyed-hash message authentication code (HMAC) in connection with the data chunk;calculating an HMAC over the downloaded data chunk; andcomparing the calculated HMAC to the received HMAC to verify that the encrypted thumbnail has not been altered;decrypt the thumbnail; anddisplay the thumbnail;receive a request to display the full-quality version of the image; andretrieve the additional encrypted data from the blob store, decrypt the additional data, and combine the decrypted additional data with the thumbnail; anda display configured to display the full-quality version of the image.14. The apparatus of claim 13, wherein retrieving the encrypted thumbnail from the blob store is performed automatically in direct response to receiving the message.15. The apparatus of claim 13, wherein the encrypted thumbnail and the additional encrypted data are stored together in an image structure, and the message including the reference to the image comprises a location in the image structure that divides the encrypted thumbnail from the additional encrypted data.16. The apparatus of claim 15, wherein the network interface is further configured to:receive a request to forward the image to a second recipient; andretransmit the location in the image structure that divides the encrypted thumbnail from the additional encrypted data while refraining from retranscoding the image.17. The apparatus of claim 13, wherein retrieving the encrypted thumbnail from the blob store and retrieving the additional encrypted data from the blob store are performed together in response to a single request for the image referenced in the message.
微信群二維碼
意見反饋