IP Library Granted Patent US 9,940,971
Granted Patent B2
US 9,940,971 · App. 14/229,601 · Granted Apr 10, 2018

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 9,940,971
App. No.
14/229,601
Granted
Apr 10, 2018
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 (68)

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

generating, by a transcoder at a computer, a texture strip for visually representing an entire video including a plurality of frames comprising moving image data over a time period,

wherein the texture strip comprises a single still image comprised of a sequence of textured frame representations corresponding to the plurality of frames of the video and associated information applied to or inserted into the frames, the sequence of textured frame representations generated by the transcoder:

obtaining each of the plurality of frames as self-referential frames from the video,

generating, for each frame, a textured frame representation for only that individual frame by applying a predetermined function to only that frame of the video, and

sequencing the textured frame representations for each of the frames in the order of appearance in time of the frames in the video to form the single still image comprised of the sequence of textured frame representations; and

sending, by the computer, the texture strip to a client device communicatively connected to and remote from the computer;

receiving, by the computer, an edit command from the client device via a user interface displaying the texture strip, the edit command associated with a sequence of frames identified by the location of a positioner relative to one or more positions in the texture strip;

applying, by the transcoder, the edit command to one or more of the plurality of frames in the video to generate an edited video, wherein the one or more of the plurality of frames are determined based on the location of the positioner; and

sending, by the computer, a representation of the edited video to the client device.

2. The method according to claim 1 , further comprising:

converting the edited video to a format suitable for display on the client device prior to sending the edited video to the client device.

3. The method according to claim 1 , wherein the client device is embodied on a phone or a mobile device.

4. The method according to claim 1 , further comprising:

converting the edited video in a format suitable for display on a viewing device requesting the edited video.

5. The method according to claim 1 , wherein the edit command from the client device comprises an instruction to select an ad and place the ad in the video.

6. The method according to claim 1 , wherein the edit command from the client device comprises an instruction to delete one or more frames from the video, add one or more special effects to the video, delete one or more segments from the video, share the video or a portion thereof, or a combination thereof.

7. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by a computer to perform:

generating by a transcoder, a texture strip for visually representing an entire video including a plurality of frames comprising moving image data over a time period,

wherein the texture strip comprises a single still image comprised of a sequence of textured frame representations corresponding to the plurality of frames of the video and associated information applied to or inserted into the frames, the sequence of textured frame representations generated by the transcoder:

obtaining each of the plurality of frames as self-referential frames from the video,

generating, for each frame, a textured frame representation for only that individual frame by applying a predetermined function to only that frame of the video, and

sequencing the textured frame representations for each of the frames in the order of appearance in time of the frames in the video to form the single still image comprised of the sequence of textured frame representations;

sending the texture strip to a client device communicatively connected to and remote from the computer;

receiving an edit command from the client device via a user interface displaying the texture strip, the edit command associated with a sequence of frames identified by the location of a positioner relative to one or more positions in the texture strip;

applying by the transcoder, the edit command to one or more of the plurality of frames in the video to generate an edited video, wherein the one or more of the plurality of frames are determined based on the location of the positioner; and

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

8. The computer program product of claim 7 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the computer to perform:

converting, by the transcoder, the edited video to a format suitable for display on the client device prior to sending the edited video to the client device.

9. The computer program product of claim 7 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the computer to perform:

converting, by the transcoder, the edited video in a format suitable for display on a viewing device requesting the edited video.

10. The computer program product of claim 7 , wherein the edit command from the client device comprises an instruction to select an ad and place the ad in the video.

11. A method of distributed non-linear video editing, comprising:

receiving, by a client device, a texture strip for visually representing an entire video including a plurality of frames comprising moving image data over a time period, wherein the texture strip comprises a single still image comprised of a sequence of textured frame representations corresponding to the plurality of frames of the video and associated information applied to or inserted into the frames, the client device communicatively coupled to and remote from a computer providing a transcoder, the texture strip generated by the transcoder obtaining each of the plurality of frames as self-referential frames from the video, generating, for each frame, a textured frame representation for only that individual frame by applying a predetermined function to only that frame of the video, and sequencing the textured frame representations for each of the frames in the order of appearance in time of the frames in the video to form the single still image comprised of the sequence of textured frame representations, sending by a computer, the texture strip to the client device;

forming an edit command by a user interface displaying the texture strip on the client device, the edit command associated with a sequence of frames identified by the location of a positioner relative to one or more positions in the texture strip;

sending the edit command from the client device to the computer, the edit command applied by the transcoder to one or more of the plurality of frames in the video to generate an edited video wherein the one or more of the plurality of frames are determined based on the location of the positioner; and

receiving, by the client device, a representation of the edited video from the computer.

12. The method according to claim 11 , wherein the client device is embodied on a phone or a mobile device.

13. The method according to claim 11 , wherein the client device is communicatively connected to the transcoder over a public network.

14. The method according to claim 11 , wherein the edit command from the client device comprises an instruction to select an ad and place the ad in the video.

15. The method according to claim 11 , wherein the edit command from the client device comprises an instruction to delete one or more frames from the video, add one or more special effects to the video, delete one or more segments from the video, share the video or a portion thereof, or a combination thereof.

16. A computer program product comprising at least one non-transitory computer readable medium storing instructions translatable by a device to perform:

receiving, by the device, a texture strip for visually representing an entire video including a plurality of frames comprising moving image data over a time period,

wherein the texture strip comprises a single still image comprised of a sequence of textured frame representations corresponding to the plurality of frames of the video and associated information applied to or inserted into the frames, the texture strip generated by a transcoder at a computer:

obtaining each of the plurality of frames as self-referential frames from the video,

generating, for each frame, a textured frame representation for only that individual frame by applying a predetermined function to only that frame of the video, and

sequencing the textured frame representations for each of the frames in the order of appearance in time of the frames in the video to form the single still image comprised of the sequence of textured frame representations,

sending, by the computer, the texture strip to a client device, the computer communicatively connected to and remote from the device;

forming an edit command by the client device, the edit command associated with a sequence of frames identified by the location of a positioner relative to one or more positions in the texture strip;

sending the edit command from the device to the computer, the edit command applied by the transcoder to one or more of the plurality of frames in the video to generate an edited video wherein the one or more of the plurality of frames are determined based on the location of the positioner; and

receiving, by the device, a representation of the edited video from the computer.

17. The computer program product of claim 16 , wherein the device is a phone or a mobile device.

18. The computer program product of claim 16 , wherein the device is communicatively connected to the computer over a public network.

19. The computer program product of claim 16 , wherein the edit command from the device comprises an instruction to select an ad and place the ad in the video.

20. The computer program product of claim 16 , wherein the edit command from the client comprises an instruction to delete one or more frames from the video, add one or more special effects to the video, delete one or more segments from the video, share the video or a portion thereof, or a combination thereof.

21. A method of distributed non-linear video editing, comprising:

receiving, at a transcoder, an uploaded video from a user or a web site, the video including a plurality of frames and incorporating moving image data;

obtaining, by the transcoder, each of the plurality of frames from the video, the transcoder communicatively connected to a computer;

converting, by the transcoder, the video to a series of self-referential frames, wherein the conversion involves stripping the frames of any compression of frames wherein a compressed frame refers to an earlier and/or later frame;

applying, by the transcoder, a predetermined function to each of the self-referential frames to extract image data from each frame in the series of self-referential frames to generate texture data for each frame in the series of self-referential frames;

saving the texture data for each frame in the series of self-referential frames;

sequencing textured frame representations for each of the self-referential frames in the order of appearance of the frames in the video according to their temporal locations;

converting, by the transcoder, the sequence of textured frame representations to a format suitable for display on a client device;

saving the sequence of textured frame representations as a texture strip on the computer, the texture strip comprising a still image file for display of a still image on a user interface of the client device communicatively connected to, and remote from, the computer, the still image showing frames representing content of the video at more than one temporal moment in the video;

sending, by the computer, the texture strip to the client device;

receiving, by the transcoder, via the computer, an edit command, the edit command comprising a user's selection of one or more frames represented in the texture strip and metadata, deep tags, or effects associated with one or more frames represented by the texture strip;

applying, by the transcoder, the edit command to the frames selected by their representations in the texture strip to generate an edited video; and

sending, by the computer, a representation of the edited video to the client device over a network.

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 Sep 13, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 040019/0627 →
CERTIFICATE OF CONTINUANCE Recorded Sep 13, 2016
From: OP IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040019/0500 →
CERTIFICATE OF AMALGAMATION Recorded Sep 13, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 040019/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 032735/0551 →
MERGER Recorded Apr 9, 2014
From: VIGNETTE SOFTWARE, LLC
To: VIGNETTE CORPORATION
Reel/Frame 032633/0704 →
CONVERSION Recorded Apr 9, 2014
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 032641/0955 →
CONVERSION Recorded Apr 9, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 032641/0958 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Apr 1, 2014
From: VIGNETTE LLC
To: VIGNETTE SOFTWARE LLC
Reel/Frame 032588/0380 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Apr 1, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE LLC
Reel/Frame 032588/0327 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (4%) Recorded Apr 1, 2014
From: VIGNETTE CORPORATION
To: VIGNETTE SOFTWARE LLC
Reel/Frame 032588/0435 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: GILLEY, THOMAS S.
To: MICRONETS, INC.
Reel/Frame 032573/0360 →
MERGER Recorded Apr 1, 2014
From: MICRONETS, INC.
To: VIGNETTE CORPORATION
Reel/Frame 032573/0394 →