IP Library Granted Patent US 10,090,019
Granted Patent B2
US 10,090,019 · App. 14/968,425 · Granted Oct 2, 2018

Method, system and computer program product for editing movies in distributed scalable media environment

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,090,019
App. No.
14/968,425
Granted
Oct 2, 2018
Kind
B2
Abstract

A movie editor converts a received movie into a proxy format, and creates a texture strip representing the frames of the movie. An editor can use the texture strip to edit the movie, rather than editing the movie directly. Deep tags and/or special effects can be defined for the texture strip using a graphical interface. The graphical interface enables movies to be combined into a playback product according to a control structure graphically presented in the graphical interface.

Claims (93)

1. A method of non-linearly viewing videos in a distributed scalable media environment, comprising:

in a viewer application executing on a computer, receiving a video comprising a plurality of frames, the plurality of frames comprising at least a portion of the video;

applying, by the viewer application, a predetermined texture strip function to each frame of the plurality of frames of the video to generate a textured frame representation for only that individual frame, wherein each textured frame representation includes texture data, and wherein each frame of the plurality of frames is a self-referential frame from the video;

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 a single still image comprised of the sequence of textured frame representations;

generating a texture strip using the sequenced texture frame representations, the texture strip comprising the single still image for visually representing the entire video including the plurality of frames comprising moving image data over a time period, the single still image of the texture strip comprised of the textured frame representations corresponding to the plurality of frames of the video sequenced according to their order of appearance in time in the video;

receiving a selection of at least a portion of the video based on a selected part of the texture strip, the selected part of the texture strip corresponding to subject texture data;

applying, by the viewer application, a predetermined highlight function to the subject texture data to generate a highlighted portion of the single still image of the texture strip corresponding to the selected part of the texture strip; and

displaying, in the viewer application, a playback of the video, the texture strip, and the highlighted portion of the texture strip.

2. The method of claim 1 , further comprising:

generating a plurality of thumbnails corresponding to videos received at the computer; and

displaying the plurality of thumbnails.

3. The method of claim 1 , further comprising:

mapping a position in the texture strip to a temporal position of a frame in the video.

4. The method of claim 1 , further comprising:

receiving a proxy format representing the video; and

displaying the video based on the proxy format.

5. The method of claim 1 , further comprising:

generating or obtaining metadata for the video; and

overlaying the metadata on the texture strip.

6. The method of claim 1 , wherein the predetermined highlight function generates an expanded representation of a frame compared to a representation of a frame generated by the predetermined texture strip function and wherein the highlighted portion of the texture strip is positioned along the texture strip.

7. The method of claim 1 , wherein the predetermined texture strip function generates the textured frame representation by extracting pixels of each frame,

wherein the textured frame representations are aligned into a column, and

wherein the texture strip comprises the column of textured frame representations.

8. The method of claim 1 , wherein the viewer application comprises a transcoder, the transcoder performing the steps of:

applying the predetermined texture strip function to each frame of the plurality of frames of the video to generate the textured frame representation for only that individual frame;

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

generating the texture strip using the sequenced texture frame representations.

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

receiving a video comprising a plurality of frames;

applying a predetermined texture strip function to each frame of the plurality of frames of the video to generate a textured frame representation for only that individual frame, wherein each textured frame representation includes texture data, and wherein each frame of the plurality of frames is a self-referential frame from the video;

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 a single still image comprised of the sequence of textured frame representations;

generating a texture strip using the sequenced texture frame representations, the texture strip comprising the single still image for visually representing the entire video including the plurality of frames comprising moving image data over a time period, the single still image of the texture strip comprised of the sequence of textured frame representations corresponding to the plurality of frames of the video sequenced according to their order of appearance in time in the video;

receiving a selection of at least a portion of the video based on a selected part of the texture strip, the selected part of the texture strip corresponding to subject texture data;

applying a predetermined highlight function to the subject texture data to generate a highlighted portion of the single still image of the texture strip corresponding to the selected part of the texture strip; and

displaying a playback of the video, the texture strip, and the highlighted portion of the texture strip.

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

generating a plurality of thumbnails corresponding to videos received at the computer; and

displaying the plurality of thumbnails.

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

mapping a position in the texture strip to a temporal position of a frame in the video.

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

receiving a proxy format representing the video; and

displaying the video based on the proxy format.

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

generating or obtaining metadata for the video; and

overlaying the metadata on the texture strip.

14. The computer program product of claim 9 , wherein the predetermined highlight function generates an expanded representation of a frame compared to a representation of a frame generated by the predetermined texture strip function and wherein the highlighted portion of the texture strip is positioned along the texture strip.

15. The computer program product of claim 14 , wherein the predetermined texture strip function generates the textured frame representation by extracting pixels of each frame,

wherein the textured frame representations are aligned into a column, and

wherein the texture strip comprises the column of textured frame representations.

16. The computer program product of claim 9 , further comprising instructions to provide a transcoder configured to perform the steps of:

applying the predetermined texture strip function to each frame of the plurality of frames of the video to generate the textured frame representation for only that individual frame;

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

generating the texture strip using the sequenced texture frame representations.

17. A system, comprising:

at least one processor; and

at least one non-transitory computer readable medium storing instructions translatable by the at least one processor to perform:

receiving a video comprising a plurality of frames;

applying a predetermined texture strip function to each frame of the plurality of frames of the video to generate a textured frame representation for only that individual frame, wherein each textured frame representation includes texture data, and wherein each frame of the plurality of frames is a self-referential frame from the video;

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 a single still image comprised of the sequence of textured frame representations;

generating a texture strip using the sequenced texture frame representations, the texture strip comprising the single still image for visually representing the entire video including the plurality of frames comprising moving image data over a time period, the single still image of the texture strip comprised of the sequence of textured frame representations corresponding to the plurality of frames of the video;

receiving a selection of at least a portion of the video based on a selected part of the texture strip, the selected part of the texture strip corresponding to subject texture data;

applying a predetermined highlight function to the subject texture data to generate a highlighted portion of the single still image of the texture strip corresponding to the selected part of the texture strip; and

displaying a playback of the video, the texture strip, and the highlighted portion of the texture strip.

18. The system of claim 17 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

generating a plurality of thumbnails corresponding to videos received at the computer; and

displaying the plurality of thumbnails.

19. The system of claim 18 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

mapping a position in the texture strip to a temporal position of a frame in the video.

20. The system of claim 17 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

receiving a proxy format representing the video; and

displaying the video based on the proxy format.

21. The system of claim 17 , wherein the at least one non-transitory computer readable medium stores further instructions translatable by the at least one processor to perform:

generating or obtaining metadata for the video; and

overlaying the metadata on the texture strip.

22. The system of claim 17 , wherein the predetermined highlight function generates an expanded representation of a frame compared to a representation of a frame generated by the predetermined texture strip function and wherein the highlighted portion of the texture strip is positioned along the texture strip.

23. The system of claim 17 , wherein the instructions are translatable by the at least one processor to provide a transcoder to perform the steps of:

applying the predetermined texture strip function to each frame of the plurality of frames of the video to generate the textured frame representation for only that individual frame;

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

generating a texture strip using the sequenced texture frame representations.

24. A method of non-linearly viewing videos in a distributed scalable media environment, comprising:

receiving, in a viewer application executing on a computer, 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 viewer application, each of the plurality of frames from the video, the transcoder communicatively connected to a computer;

converting, by the viewer application, 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 viewer application, 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 the 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 viewer application, 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 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 a selection of at least a portion of the video based on a selected part of the texture strip, the selected part of the texture strip corresponding to subject texture data;

applying, by the viewer application, a predetermined highlight function to the subject texture data to generate a highlighted portion of the texture strip corresponding to the selected part of the texture strip; and

displaying, in the viewer application, a playback of the video, the texture strip, and the highlighted portion of the texture strip.

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 Dec 16, 2015
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 037307/0505 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Dec 15, 2015
From: VIGNETTE LLC
To: VIGNETTE SOFTWARE LLC
Reel/Frame 037291/0233 →
CONVERSION Recorded Dec 15, 2015
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 037291/0314 →
MERGER Recorded Dec 15, 2015
From: MICRONETS, INC.
To: VIGNETTE CORPORATION
Reel/Frame 037291/0334 →
CONVERSION Recorded Dec 15, 2015
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 037291/0398 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2015
From: GILLEY, THOMAS S.
To: MICRONETS, INC.
Reel/Frame 037290/0914 →
MERGER Recorded Dec 15, 2015
From: VIGNETTE SOFTWARE, LLC
To: VIGNETTE CORPORATION
Reel/Frame 037290/0926 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (4%) Recorded Dec 15, 2015
From: VIGNETTE CORPORATION
To: VIGNETTE SOFTWARE LLC
Reel/Frame 037291/0182 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT (96%) Recorded Dec 15, 2015
From: VIGNETTE CORPORATION
To: VIGNETTE LLC
Reel/Frame 037291/0129 →