Reducing network bandwidth usage in a distributed video editing system

US9530451B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9530451-B2
Application numberUS-201314092008-A
CountryUS
Kind codeB2
Filing dateNov 27, 2013
Priority dateNov 27, 2013
Publication dateDec 27, 2016
Grant dateDec 27, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are disclosed for reducing the amount of network bandwidth used by a distributed video editing system. A server dynamically chooses from among several encoding options, depending on the context and network conditions. The server makes every attempt to transmit a given video frame only once over the network. Depending on network performance, the quality of the transmitted video may vary. A frame identification technique is used to improve efficiency to avoid duplication of rendering work. On the client, the frame identity is used by the client to cache the frames individually, at varying qualities. These frames are cached on the client indefinitely. When the client prepares to play a frame, it examines its local cache of frames and chooses either a local cached frame or requests a remote frame at a different quality, based on the context.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: displaying a first video frame on a display device at a first video quality; sending a request for a second video frame to a server, the request including a context; receiving, via a network, image data representing the second video frame and a unique identifier associated with the second video frame, the image data being encoded by the server using one of a plurality of predefined video encoding schemes corresponding to the context; storing the image data and the unique identifier in a local cache; determining a second video quality of the second video frame stored in the local cache; determining whether the second video quality of the second video frame stored in the local cache is dissimilar to the first video quality of the first video frame displayed on the display device; reducing the second video quality of the second video frame to the first video quality in response to a determination that the second video quality is dissimilar to the first video quality; and displaying the second video frame on the display device at the first video quality sequentially after displaying the first video frame at the first video quality. 2. The method of claim 1 , further comprising: decoding the image data; wherein the displaying of the second video frame on the display device is based on the decoded image data. 3. The method of claim 1 , wherein the predefined video encoding scheme includes: interframe compression, in response to the context including video playback; and intraframe compression, in response to the context including video editing. 4. The method of claim 1 , wherein the predefined video encoding scheme includes: high quality data compression, in response to the context including a network performance characteristic that includes a high data transfer rate relative to a normative data transfer rate; and low quality data compression, in response to the context including a network performance characteristic that includes a low data transfer rate relative to a normative data transfer rate. 5. The method of claim 1 , wherein the second video quality includes at least one of video frame resolution and video frame compression ratio. 6. The method of claim 1 , further comprising determining whether the second video quality of the second video frame stored in the local cache is dissimilar to a video quality of another video frame stored in the local cache. 7. The method of claim 6 , further comprising: in response to a determination that the second video quality of the second video frame stored in the local cache is dissimilar to the video quality of the other video frame stored in the local cache, determining a performance characteristic of the network; determining whether the second video quality of the second video frame stored in the local cache can be improved based on the performance characteristic of the network; and sending another request for the second video frame to the server in response to a determination that the second video quality can be improved. 8. The method of claim 7 , further comprising receiving, via the network, additional image data representing the second video frame at an improved video quality with respect to the image data stored in the local cache, and receiving a different unique identifier associated with the additional image data. 9. The method of claim 1 , further comprising: determining whether the second video quality of the second video frame stored in the local cache can be improved based on a performance characteristic of the network; and sending another request for the second video frame to the server in response to a determination that the second video quality can be improved. 10. The method of claim 1 , further comprising: in response to a determination that the second video quality of the second video frame stored in the local cache is dissimilar to the video quality of the first video frame displayed on the display device, sending another request for the second video frame to the server; receiving, via the network, new image data representing the second video frame at a video quality that is the same as the first video quality of the displayed video frame; decoding the new image data; and displaying the second video frame on the display device based on the decoded new image data sequentially after displaying the first video frame. 11. A system comprising: a storage; and a processor operatively coupled to the storage and configured to execute instructions stored in the storage that when executed cause the processor to carry out a process comprising: displaying a first video frame on a display device at a first video quality; sending a request for a second video frame to a server, the request including a context; receiving, via a network, image data representing the second video frame and a unique identifier associated with the second video frame, the image data being encoded by the server using one of a plurality of predefined video encoding schemes corresponding to the context; storing the image data and the unique identifier in a local cache; determining a second video quality of the second video frame stored in the local cache; determining whether the second video quality of the second video frame stored in the local cache is dissimilar to the first video quality of the first video frame displayed on the display device; reducing the second video quality of the second video frame to the first video quality in response to a determination that the second video quality is dissimilar to the first video quality; and displaying the second video frame on the display device at the first video quality sequentially after displaying the first video frame at the first video quality. 12. The system of claim 11 , wherein the second video quality includes at least one of video frame resolution and video frame compression ratio. 13. The system of claim 11 , wherein the process further comprises: determining whether the second video quality of the second video frame stored in the local cache can be improved based on the performance characteristic of the network; and sending another request for the second video frame to the server in response to a determination that the second video quality can be improved. 14. The system of claim 13 , wherein the process further comprises receiving, via the network, additional image data representing the second video frame at an improved video quality with respect to the image data stored in the local cache, and receiving a different unique identifier associated with the additional image data. 15. The system of claim 11 , wherein the process further comprises: decoding the image data; wherein the displaying of the second video frame on the display device is based on the decoded image data. 16. The system of claim 11 , wherein the predefined video encoding scheme includes: high quality data compression, in response to the context including a network performance characteristic that includes a high data transfer rate relative to a normative data transfer rate; and low quality data compression, in response to the context including a network performance characteristic that includes a low data transfer rate relative to a normative data transfer rate. 17. The system of claim 11 , wherein the process further comprises determining whether the second video quality of the second video frame stored in the local cache is dissimilar to a video quality of another video frame stored in the local cache.

Assignees

Inventors

Classifications

  • Caching operations, e.g. of an advertisement for later insertion during playback · CPC title

  • Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896) · CPC title

  • for generating different versions · CPC title

  • involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568) · CPC title

  • G11B27/031Primary

    Electronic editing of digitised analogue information signals, e.g. audio or video signals · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9530451B2 cover?
Techniques are disclosed for reducing the amount of network bandwidth used by a distributed video editing system. A server dynamically chooses from among several encoding options, depending on the context and network conditions. The server makes every attempt to transmit a given video frame only once over the network. Depending on network performance, the quality of the transmitted video may va…
Who is the assignee on this patent?
Adobe Systems Inc
What technology area does this patent fall under?
Primary CPC classification G11B27/031. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 27 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).