Processing and formatting video for interactive presentation
First Claim
1. A method comprising:
- causing, by a computing device, display of a video comprising a sequence of frames on a display of the computing device;
detecting, by the computing device, user interaction with the display of the computing device during display of the video comprising the sequence of frames, the user interaction detected during display of a current frame of the sequence of frames;
determining, by the computing device, that the user interaction indicates a region of interest in the current frame of the sequence of frames of the displayed video;
detecting, by the computing device, that the computing device has been moved from a first angle or orientation to a second angle or orientation during the display of the video comprising the sequence of frames;
determining, by the computing device, that the displayed video should be cropped according to the user interaction indicating the region of interest to display a portion of each frame of the sequence of frames;
cropping, by the computing device, the current frame of the sequence of frames being displayed to generate a cropped current frame displaying the region of interest;
enlarging the cropped current frame based on a display size corresponding to the second orientation or angle of the computing device;
causing the enlarged cropped current frame to be displayed as part of the sequence of frames of the displayed video;
for each frame of the sequence of frames after the current frame;
cropping, by the computing device, the frame to generate a cropped frame comprising a portion of the frame including the region of interest in the frame and enlarging the cropped frame based on the display size corresponding to the second angle or orientation of the computing device during display of the video; and
causing the enlarged cropped frame to replace the frame such that the enlarged cropped frame is displayed in the sequence of frames of the video on the display of the computing device instead of the frame.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for receiving, at a computing device, a video comprising a plurality of frames and determining, by the computing device, that vertical cropping should be performed for the video. For each frame of the plurality of frames, the computing device processes the video by analyzing the frame to determine a region of interest in the frame, wherein the frame is a first frame, cropping the first frame based on the region of interest in the frame to produce a vertically cropped frame for the video, determining a second frame immediately preceding the first frame, and smoothing a trajectory from the second frame to the vertically cropped frame. The vertically cropped frame is displayed to a user instead of the first frame.
-
Citations
20 Claims
-
1. A method comprising:
-
causing, by a computing device, display of a video comprising a sequence of frames on a display of the computing device; detecting, by the computing device, user interaction with the display of the computing device during display of the video comprising the sequence of frames, the user interaction detected during display of a current frame of the sequence of frames; determining, by the computing device, that the user interaction indicates a region of interest in the current frame of the sequence of frames of the displayed video; detecting, by the computing device, that the computing device has been moved from a first angle or orientation to a second angle or orientation during the display of the video comprising the sequence of frames; determining, by the computing device, that the displayed video should be cropped according to the user interaction indicating the region of interest to display a portion of each frame of the sequence of frames; cropping, by the computing device, the current frame of the sequence of frames being displayed to generate a cropped current frame displaying the region of interest; enlarging the cropped current frame based on a display size corresponding to the second orientation or angle of the computing device; causing the enlarged cropped current frame to be displayed as part of the sequence of frames of the displayed video; for each frame of the sequence of frames after the current frame; cropping, by the computing device, the frame to generate a cropped frame comprising a portion of the frame including the region of interest in the frame and enlarging the cropped frame based on the display size corresponding to the second angle or orientation of the computing device during display of the video; and causing the enlarged cropped frame to replace the frame such that the enlarged cropped frame is displayed in the sequence of frames of the video on the display of the computing device instead of the frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
a display; at least one processor; and a non-transitory computer readable medium coupled with the processor, the computer readable medium comprising instructions stored thereon that are executable by the at least one processor to cause a computing device to perform operations comprising; causing display of a video comprising a sequence of frames on a display of the computing device; detecting user interaction with the display of the computing device during display of the video comprising the sequence of frames, the user interaction detected during display of a current frame of the sequence of frames, determining that the user interaction indicates a region of interest in the current frame of the sequence of frames of the displayed video; detecting that the computing device has been moved from a first angle or orientation to a second angle or orientation during the display of the video comprising the sequence of frames; determining that the displayed video should be cropped according to the user interaction indicating the region of interest to display a portion of each frame of the sequence of frames; cropping the current frame of the sequence of frames being displayed to generate a cropped current frame displaying the region of interest; enlarging the cropped current frame based on a display size corresponding to the second orientation or angle of the computing device; causing the enlarged cropped current frame to be displayed as part of the sequence of frames of the displayed video; for each frame of the sequence of frames after the current frame; cropping the frame to generate a cropped frame comprising a portion of the frame including the region of interest in the frame and enlarging the cropped frame based on the display size corresponding to the second angle or orientation of the computing device during display of the video; and causing the enlarged cropped frame to replace the frame such that the enlarged cropped frame is displayed in the sequence of frames of the video on the display of the computing device instead of the frame. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A non-transitory computer readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to perform operations comprising:
-
causing display of a video comprising a sequence of frames on a display of the computing device; detecting user interaction with the display of the computing device during display of the video comprising the sequence of frames, the user interaction detected during display of a current frame of the sequence of frames; determining that the user interaction indicates a region of interest in the current frame of the sequence of frames of the displayed video; detecting that the computing device has been moved from a first angle or orientation to a second angle or orientation during the display of the video comprising the sequence of frames; determining that the displayed video should be cropped according to the user interaction indicating the region of interest to display a portion of each frame of the sequence of frames; cropping the current frame of the sequence of frames being displayed to generate a cropped current frame displaying the region of interest; enlarging the cropped current frame based on a display size corresponding to the second orientation or angle of the computing device; causing the enlarged cropped current frame to be displayed as part of the sequence of frames of the displayed video; for each frame of the sequence of frames after the current frame; cropping the frame to generate a cropped frame comprising a portion of the frame including the region of interest in the frame and enlarging the cropped frame based on the display size corresponding to the second angle or orientation of the computing device during display of the video; and causing the enlarged cropped frame to replace the frame such that the enlarged cropped frame is displayed in the sequence of frames of the video on the display of the computing device instead of the frame.
-
Specification