IP Library Granted Patent US 10,796,722
Granted Patent B2
US 10,796,722 · App. 16/706,380 · Granted Oct 6, 2020

Method, system and computer program product for distributed video editing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,796,722
App. No.
16/706,380
Granted
Oct 6, 2020
Kind
B2
Abstract

A network editor comprises a central location with stored videos such as movies that can be edited by editors at remote locations. An editor receives a representation of a video and specifies edits relative to the representation, enabling the editor to use a device lacking sufficient processing capability to edit the video directly, and also reducing the volume of information transmitted between the central location and the remote editor. The central location is able to provide the edited movie in a format suitable to the display capabilities of the viewing device of the viewer requesting the edited video.

Claims (52)

1. A system of distributed non-linear video editing, comprising:

a processor; and

a non-transitory computer readable medium storing instructions translatable by the processor for:

receiving a video;

obtaining a plurality of frames of the video, the plurality of frames corresponding to moving image data over time;

generating, for each frame in the plurality of frames, a textured frame representation for that frame and sequencing the textured frame representations generated for the plurality of frames to create a sequence of textured frame representations representing to the plurality of frames;

storing the sequence of textured frame representations as a texture strip, the texture strip comprising the sequence of textured frame representations corresponding to the plurality of frames of the video formatted as a single still image;

sending the texture strip to a client device;

receiving an edit command from the client device, the edit command associated with a selected frame identified by a location expressed relative to the texture strip;

applying the edit command based on the selected frame to generate an edited video; and

sending a representation of the edited video to the client device.

2. The system of claim 1 , further comprising instructions translatable by the processor for:

converting the video from an original format to a proxy format that is different than the original format, the proxy format comprising a plurality of proxy frames; and

applying the edit command to a proxy frame from the plurality of proxy frames.

3. The system of claim 2 , wherein the edited video comprises the plurality of proxy frames.

4. The system of claim 2 , further comprising instructions translatable by the processor for converting the edited video from the proxy format to a format suitable for display on the client device prior to sending the edited video to the client device.

5. The system of claim 1 , wherein generating the textured frame representation for each frame in the plurality of frames, comprises applying a predetermined function to each frame from in the plurality of frames.

6. The system of claim 5 , wherein applying the predetermined function to each frame in the plurality of frames comprises:

for each frame in the plurality of frames, extracting a plurality of pixels from that frame and realigning the plurality of pixels into a shape, wherein the texture strip comprises a sequence of shapes of extracted and realigned pixels from the plurality of frames.

7. The system of claim 5 , wherein applying the predetermined function to each frame in the plurality of frames comprises:

extracting a portion of pixels from a frame from the plurality of frames; and

rendering the portion of the pixels to generate the textured frame representation for the frame reduced in pixel size as compared to that of the frame to which it represents, the rendering based on a transformation of the portion of the pixels into a smaller representation of the frame.

8. The system of claim 1 , further comprising instructions translatable by the processor for converting the video to a series of self-referential frames prior to generating the sequence of textured frame representations for the plurality of frames.

9. The system of claim 1 , wherein the edit command comprises a selection of a portion of the texture strip indicating selected frames from the plurality of frames, and applying the edit command includes extracting the selected frames from the video.

10. The system of claim 1 , wherein the edit command comprises a selection of a portion of the texture strip indicating selected frames from the plurality of frames, and applying the edit command includes deleting the selected frames from the video.

11. The system of claim 1 , wherein the edit command from the client device comprises a selection of an ad and an indication of a frame in which the ad is placed.

12. The system of claim 1 , wherein the edit command from the client device comprises an instruction to add a special effect to the video.

13. A computer program product comprising a non-transitory computer readable medium embodying therein computer readable instructions for:

receiving a video;

obtaining a plurality of frames of the video, the plurality of frames corresponding to moving image data over time;

generating, for each frame in the plurality of frames, a textured frame representation for that frame and sequencing the textured frame representations generated for the plurality of frames to create a sequence of textured frame representations representing to the plurality of frames;

storing the sequence of textured frame representations as a texture strip, the texture strip comprising the sequence of textured frame representations corresponding to the plurality of frames of the video formatted as a single still image;

sending the texture strip to a client device;

receiving an edit command from the client device, the edit command associated with a selected frame identified by a location expressed relative to the texture strip;

applying the edit command based on the selected frame to generate an edited video; and

sending a representation of the edited video to the client device.

14. The computer program product of claim 13 , further comprising computer readable instructions for:

converting the video from an original format to a proxy format that is different than the original format, the proxy format comprising a plurality of proxy frames; and

applying the edit command to a proxy frame from the plurality of proxy frames.

15. The computer program product of claim 14 , wherein the edited video comprises the plurality of proxy frames.

16. The computer program product of claim 14 , further comprising computer readable instructions for converting the edited video from the proxy format to a format suitable for display on the client device prior to sending the edited video to the client device.

17. The computer program product of claim 13 , wherein generating the textured frame representation for each frame in the plurality of frames, comprises applying a predetermined function to each frame from in the plurality of frames.

18. The computer program product of claim 17 , wherein applying the predetermined function to each frame in the plurality of frames comprises:

for each frame in the plurality of frames, extracting a plurality of pixels from that frame and realigning the plurality of pixels into a shape, wherein the texture strip comprises a sequence of shapes of extracted and realigned pixels from the plurality of frames.

19. The computer program product of claim 17 , wherein applying the predetermined function to each frame in the plurality of frames comprises:

extracting a portion of pixels from a frame from the plurality of frames; and

rendering the portion of the pixels to generate the textured frame representation for the frame reduced in pixel size as compared to that of the frame to which it represents, the rendering based on a transformation of the portion of the pixels into a smaller representation of the frame.

20. The computer program product of claim 13 , further comprising computer readable instructions for converting the video to a series of self-referential frames prior to generating the sequence of textured frame representations for the plurality of frames.

21. The computer program product of claim 13 , wherein the edit command comprises a selection of a portion of the texture strip indicating selected frames from the plurality of frames, and applying the edit command includes extracting the selected frames from the video.

22. The computer program product of claim 13 , wherein the edit command comprises a selection of a portion of the texture strip indicating selected frames from the plurality of frames, and applying the edit command includes deleting the selected frames from the video.

23. The computer program product of claim 13 , wherein the edit command from the client device comprises a selection of an ad and an indication of a frame in which the ad is placed.

24. The computer program product of claim 13 , wherein the edit command from the client device comprises an instruction to add a special effect to the video.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: OPEN TEXT CORP.
To: CROWDSTRIKE, INC.
Reel/Frame 068123/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: OPEN TEXT SA ULC
To: OPEN TEXT CORP.
Reel/Frame 067400/0102 →
IP BUSINESS SALE AGREEMENT Recorded Apr 2, 2020
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 052311/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2020
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 052301/0932 →
CERTIFICATE OF CONTINUANCE Recorded Apr 2, 2020
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 052311/0111 →
CERTIFICATE OF AMALGAMATION Recorded Apr 2, 2020
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 052311/0155 →
IP PURCHASE AGREEMENT (96%) Recorded Feb 12, 2020
From: VIGNETTE LLC
To: VIGNETTE SOFTWARE LLC
Reel/Frame 051915/0417 →
CERTIFICATE OF CONVERSION Recorded Feb 12, 2020
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 051915/0460 →
CERTIFICATE OF CONVERSION Recorded Feb 12, 2020
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 051915/0479 →
MERGER Recorded Feb 12, 2020
From: MICRONETS, INC.
To: VIGNETTE CORPORATION
Reel/Frame 051915/0484 →
MERGER Recorded Feb 12, 2020
From: VIGNETTE SOFTWARE LLC
To: VIGNETTE CORPORATION
Reel/Frame 051804/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2020
From: GILLEY, THOMAS S.
To: MICRONETS, INC.
Reel/Frame 051804/0703 →
IP PURCHASE AGREEMENT (4%) Recorded Feb 12, 2020
From: VIGNETTE CORPORATION
To: VIGNETTE SOFTWARE LLC
Reel/Frame 051914/0825 →
IP PURCHASE AGREEMENT (96%) Recorded Feb 12, 2020
From: VIGNETTE CORPORATION
To: VIGNETTE LLC
Reel/Frame 051915/0372 →