U.S. patent application number 14/684055 was filed with the patent office on 2015-07-30 for video frame still image sequences.
The applicant listed for this patent is Rapt Media, Inc.. Invention is credited to Justin Tucker Trautman, Jonathan R.A. Woodard.
Application Number | 20150213834 14/684055 |
Document ID | / |
Family ID | 51729075 |
Filed Date | 2015-07-30 |
United States Patent
Application |
20150213834 |
Kind Code |
A1 |
Trautman; Justin Tucker ; et
al. |
July 30, 2015 |
Video Frame Still Image Sequences
Abstract
An electronic device may determine to present a video frame
still image sequence version of a video instead of the video. The
electronic device may derive a plurality of still images from the
video. The electronic device may generate the video frame still
image sequence by associating the plurality of still images. The
electronic device may present the video frame still image sequence.
The video frame still image sequence may be displayed according to
timing information to resemble play of the video. In some cases,
audio may also be derived from the video. In such cases, display of
the video frame still image sequence may be performed along with
play of the audio.
Inventors: |
Trautman; Justin Tucker;
(Morrison, CO) ; Woodard; Jonathan R.A.; (Boulder,
CO) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Rapt Media, Inc. |
Boulder |
CO |
US |
|
|
Family ID: |
51729075 |
Appl. No.: |
14/684055 |
Filed: |
April 10, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13935014 |
Jul 3, 2013 |
9031375 |
|
|
14684055 |
|
|
|
|
61813531 |
Apr 18, 2013 |
|
|
|
Current U.S.
Class: |
386/344 |
Current CPC
Class: |
G06F 9/542 20130101;
G11B 27/105 20130101; G11B 27/005 20130101 |
International
Class: |
G11B 27/00 20060101
G11B027/00; G11B 27/10 20060101 G11B027/10 |
Claims
1. A video display method, comprising: determining, utilizing at
least one processing unit, to present a video frame still image
sequence version of a video instead of the video; obtaining,
utilizing at least one processing unit, a video frame still image
sequence derived from the video; and displaying a plurality of the
still images of the video frame still image sequence according to
timing information to resemble play of the video.
2. The video display method of claim 1, wherein the operation of
the obtaining a video frame still image sequence includes:
transmitting a request for the video frame still image sequence to
a remote computing device; and receiving the video frame still
image sequence from the remote computing device in response to the
request; wherein the video frame still image sequence is derived
and generated by the remote computing device.
3. The video display method of claim 1, wherein the operation of
the obtaining a video frame still image sequence includes: deriving
a plurality of still images from the video utilizing the at least
one processing unit; and generating the video frame still image
sequence by associating the plurality of still images together
utilizing the at least one processing unit.
4. The video display method of claim 3, wherein the operation of
deriving a plurality of still images from the video utilizing the
at least one processing unit further comprises: determining a
number of still images that can be displayed to resemble play of
the video; and deriving the number of still images from the
video.
5. The video display method of claim 4, wherein the operation of
determining a number of still images that can be displayed to
resemble play of the video comprises determining the number based
at least on a frame rate of the video.
6. The video display method of claim 1, wherein the timing
information is based at least on a duration of the video.
7. The video display method of claim 1, further comprising:
deriving audio from the video; and playing at least a portion of
the audio and displaying a portion of the still images of the video
frame still image sequence according to timing information
associated with the audio.
8. The video display method of claim 7, further comprising:
determining that the display of the video frame still image
sequence is chronologically behind the playing of the audio; and
replacing a current image in the displaying of the video frame
still image sequence with an image that corresponds to a current
chronological position of the audio.
9. The video display method of claim 7, further comprising:
determining that the display of the video frame still image
sequence is chronologically ahead of the playing of the audio; and
delaying the display of the video frame still image sequence a
current chronological position of the audio corresponds to a
current chronological position of the video frame still image
sequence.
10. The video display method of claim 1, wherein the operation of
determining, utilizing at least one processing unit, to present a
video frame still image sequence version of a video instead of the
video comprises determining that an electronic device cannot play
the video.
11. The video display method of claim 1, wherein the operation of
determining, utilizing at least one processing unit, to present a
video frame still image sequence version of a video instead of the
video comprises determining that an electronic device can play the
video on only a portion of a display of the particular electronic
device.
12. The video display method of claim 1, wherein the operation of
determining, utilizing at least one processing unit, to present a
video frame still image sequence version of a video instead of the
video comprises determining that an electronic device does not have
sufficient resources to play the video.
13. A video display method, comprising: determining, utilizing at
least one processing unit, to present a video frame still image
sequence version of a video instead of the video; transmitting a
request for the video frame still image sequence to a remote
computing device; receiving the video frame still image sequence
from the remote computing device in response to the request;
displaying a plurality of the still images of the video frame still
image sequence according to timing information to resemble play of
the video; and wherein the video frame still image sequence is
derived and generated by the remote computing device.
14. The video display method of claim 13, wherein the remote
computing device derives and generates the video frame still image
sequence in response to receiving the request.
15. The video display method of claim 13, wherein the remote
computing device derives and generates the video frame still image
sequence prior to receiving the request.
16. The video display method of claim 13, wherein each of the
plurality of still images of the video frame still image sequence
are transmitted form the remote computing device in response to a
respective request for the respective still image.
17. The video display method of claim 13, wherein at least one
group of the plurality of still images of the video frame still
image sequence are transmitted from the remote computing in
response to a respective request for the at least one group.
18. The video display method of claim 13, wherein the remote
computing device derives audio the video and transmits the audio in
response to the request.
19. A video transmission method, comprising: receiving a request
for a video frame still image sequence from an electronic device;
deriving a plurality of still images from a video utilizing at
least one processing unit; and generating a video frame still image
sequence by associating the plurality of still images together
utilizing the at least one processing unit; and transmitting the
video frame still image sequence to the electronic device in
response to the request.
20. The video transmission method of claim 19, wherein the
operation of deriving a plurality of still images from a video
utilizing the at least one processing unit further comprises:
determining a number of still images that can be displayed to
resemble play of the video; and deriving the number of still images
from the video.
21. The video transmission method of claim 20, wherein the
operation of determining a number of still images that can be
displayed to resemble play of the video comprises determining the
number based on at least a frame rate of the video.
22. The video transmission method of claim 19, wherein the
operations of deriving and generating occur in response to
receiving the request.
23. The video transmission method of claim 19, wherein the
operations of deriving and generating occur prior to receiving the
request.
24. The video transmission method of claim 19, further comprising
transmitting a plurality of still images of the video frame still
image sequence in response to a respective request for each of the
respective still images.
25. The video transmission method of claim 19, further comprising
transmitting at least one group of the plurality of still images of
the video frame still image sequence in response to a respective
request for the at least one group.
26. The video transmission method of claim 19, further comprising:
deriving audio from the video; and transmitting the audio to the
electronic device in response to the request.
27. A system for displaying a video, comprising: at least one
non-transitory storage medium storing instructions; and at least
one processing unit; wherein the at least one processing unit
executes the instructions to: determine to present a video frame
still image sequence version of a video instead of the video;
obtain a video frame still image sequence derived from the video;
and display a plurality of the still images of the video frame
still image sequence according to timing information to resemble
play of the video.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is a continuation application of
U.S. patent application Ser. No. 13/935,014, filed on Jul. 3, 2013,
entitled "Video Frame Still Image Sequences," which claims the
benefit under 35 U.S.C. .sctn.119(e) to U.S. Provisional Patent
Application No. 61/813,531, which was filed on Apr. 18, 2013,
entitled "SYSTEM AND METHOD FOR CREATING AND ANALYZING INTERACTIVE
EXPERIENCES," which are incorporated by reference as if fully
disclosed herein.
TECHNICAL FIELD
[0002] This disclosure relates generally to video, and more
specifically to conversion of video to video frame still image
sequences.
BACKGROUND
[0003] Many electronic device that are capable of playing video,
particularly mobile devices such as smart phones, may have
limitations imposed on their play/playback of video. For example,
some electronic devices may force full screen playback, disallowing
other interactive elements to be on the screen with the video. By
way of another example, some electronic devices may require user
interaction to begin playback. By way of yet a third example, some
electronic devices may not possess sufficient hardware and/or
software resources (such as screen size, processing power, memory,
and so on) for play of video. By way of a fourth example, some
video may be in a format that may not be compatible with some
electronic devices.
[0004] Such imposed limitations may unnecessarily limit the
functionality of video on electronic devices. For example, such
limitations may prevent the creation and/or utilization of
interactive media. Such limitations may also prevent play of
various videos on various electronic devices. In some cases,
concern regarding such limitations may not have existed for certain
types of media delivery devices such as televisions or desktop
computers as those devices may have had fewer limitations imposed
on their play/playback of video, such as fewer restrictive screen
or bandwidth limitations.
SUMMARY
[0005] The present disclosure discloses systems, methods, and
computer program products for converting video to video frame still
image sequences. An electronic device may determine to present a
video frame still image sequence version of a video instead of the
video. The electronic device may derive a plurality of still images
from the video. The electronic device may generate the video frame
still image sequence by associating the plurality of still images.
The electronic device may present the video frame still image
sequence.
[0006] The video frame still image sequence may be displayed
according to timing information to resemble play of the video. Such
timing information may be based at least in part on a duration of
the video and may be stored in the video frame still image
sequence, stored in one or more files related to the video frame
still image sequence, determined by the electronic device
presenting the video frame still image sequence, and so on.
[0007] When the video frame still image sequence is displayed, a
determination may be made as to whether or not the video frame
still image sequence is in synch with the timing information. If an
image of the video frame still image sequence being presented is
chronologically ahead of the timing information, the display may be
delayed to resynchronize the video frame still image sequence with
the timing information. On the other hand, if an image of the video
frame still image sequence being presented is chronologically
behind the timing information, the display jump to a subsequent
image of the video frame still image sequence to resynchronize the
video frame still image sequence with the timing information.
[0008] In some cases, audio may also be derived from the video. In
such cases, display of the video frame still image sequence may be
performed along with play of the audio. Further, in such cases the
timing information may be based at least one the audio and may be
contained within the audio. Additionally, in such cases the display
of the video frame still image sequence may be kept in synch with
the play of the audio as described above.
[0009] In various implementations, an electronic device may
determine to present a video frame still image sequence version of
a video instead of the video upon receiving a request to play the
video. In such implementations the electronic device may generate
the video frame still image sequence (and may store the generated
video frame still image sequence) and presenting the video frame
still image sequence may include displaying the video frame still
image sequence. Alternatively in such implementations, the
electronic device may request and receive the video frame still
image sequence from another electronic device that generates video
frame still image sequence. The electronic device may determine to
present a video frame still image sequence version of a video
instead of the video in response to determining that the electronic
device cannot play the video (such as the electronic device does
not have a video codec compatible with the video), does not have
sufficient resources to play the video (such as insufficient video
memory), cannot play the video on only a portion of a display of
the electronic device (such as the electronic device must present
the video full screen instead of within a video player application
embedded within another application such as a web browser), and so
on.
[0010] In other implementations, an electronic device may determine
to present a video frame still image sequence version of a video
instead of the video by determining that another electronic device
may request the video frame still image sequence version of the
video instead of the video. In such implementations, the generation
operation may be performed in anticipation of a request for the
video frame still image sequence, in response to a request for the
video frame still image sequence and/or a portion thereof, and so
on. Further, in such implementations the operation of presentation
may include transmitting the video frame still image sequence
and/or a portion thereof to the other electronic device.
[0011] In one or more implementations, the operation of deriving
the still images from the video may include determining a number of
images that can be displayed to resemble play of the video and
deriving that number of images. The determination of the number may
be based at least one a frame rate of the video, a duration of the
video and/or audio associated with the video, default frame rates,
and so on.
[0012] It is to be understood that both the foregoing general
description and the following detailed description are for purposes
of example and explanation and do not necessarily limit the present
disclosure. The accompanying drawings, which are incorporated in
and constitute a part of the specification, illustrate subject
matter of the disclosure. Together, the descriptions and the
drawings serve to explain the principles of the disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 is a block diagram illustrating a system for
converting video to video frame still image sequences.
[0014] FIG. 2 is a flow chart illustrating a method for playing
video and/or displaying still image sequence versions of the video.
This method may be performed by an electronic device such as the
electronic device or the remote computing device of FIG. 1.
[0015] FIG. 3 is a flow chart illustrating a method for converting
video to video frame still image sequences. This method may be
performed by an electronic device such as the electronic device or
the remote computing device of FIG. 1.
[0016] FIG. 4 is a functional block diagram of one example of video
play embedded within another application.
[0017] FIG. 5 is a functional block diagram of one example of a
process to take a video file formatted for traditional video
players, and translate it into a package of files for use within a
video player for limited video capability contexts.
[0018] FIG. 6 illustrates a manner in which a video can be
delivered to a player as individual components.
[0019] FIG. 7 describes the operational flow of a player that
utilizes still images and a timing mechanism to deliver a video
experience that is independent of a hosting application's flow.
DETAILED DESCRIPTION
[0020] The description that follows includes sample systems,
methods, and computer program products that embody various elements
of the present disclosure. However, it should be understood that
the described disclosure may be practiced in a variety of forms in
addition to those described herein.
[0021] The present disclosure discloses systems, methods, and
computer program products for converting video to video frame still
image sequences. An electronic device may determine to present a
video frame still image sequence version of a video instead of the
video. The electronic device may derive a plurality of still images
from the video. The electronic device may generate the video frame
still image sequence by associating the plurality of still images.
The electronic device may present the video frame still image
sequence.
[0022] The video frame still image sequence may be displayed
according to timing information to resemble play of the video. Such
timing information may be based at least in part on a duration of
the video and may be stored in the video frame still image
sequence, stored in one or more files related to the video frame
still image sequence, determined by the electronic device
presenting the video frame still image sequence, and so on.
[0023] When the video frame still image sequence is displayed, a
determination may be made as to whether or not the video frame
still image sequence is in synch with the timing information. If an
image of the video frame still image sequence being presented is
chronologically ahead of the timing information, the display may be
delayed to resynchronize the video frame still image sequence with
the timing information. On the other hand, if an image of the video
frame still image sequence being presented is chronologically
behind the timing information, the display jump to a subsequent
image of the video frame still image sequence to resynchronize the
video frame still image sequence with the timing information.
[0024] In some cases, audio may also be derived from the video. In
such cases, display of the video frame still image sequence may be
performed along with play of the audio. Further, in such cases the
timing information may be based at least one the audio and may be
contained within the audio. Additionally, in such cases the display
of the video frame still image sequence may be kept in synch with
the play of the audio as described above.
[0025] In various implementations, an electronic device may
determine to present a video frame still image sequence version of
a video instead of the video upon receiving a request to play the
video. In such implementations the electronic device may generate
the video frame still image sequence (and may store the generated
video frame still image sequence) and presenting the video frame
still image sequence may include displaying the video frame still
image sequence. Alternatively in such implementations, the
electronic device may request and receive the video frame still
image sequence from another electronic device that generates video
frame still image sequence. The electronic device may determine to
present a video frame still image sequence version of a video
instead of the video in response to determining that the electronic
device cannot play the video (such as the electronic device does
not have a video codec compatible with the video), does not have
sufficient resources to play the video (such as insufficient video
memory), cannot play the video on only a portion of a display of
the electronic device (such as the electronic device must present
the video full screen instead of within a video player application
embedded within another application such as a web browser), and so
on.
[0026] In other implementations, an electronic device may determine
to present a video frame still image sequence version of a video
instead of the video by determining that another electronic device
may request the video frame still image sequence version of the
video instead of the video. In such implementations, the generation
operation may be performed in anticipation of a request for the
video frame still image sequence, in response to a request for the
video frame still image sequence and/or a portion thereof, and so
on. Further, in such implementations the operation of presentation
may include transmitting the video frame still image sequence
and/or a portion thereof to the other electronic device.
[0027] In one or more implementations, the operation of deriving
the still images from the video may include determining a number of
images that can be displayed to resemble play of the video and
deriving that number of images. The determination of the number may
be based at least one a frame rate of the video, a duration of the
video and/or audio associated with the video, default frame rates,
and so on.
[0028] FIG. 1 is a block diagram illustrating a system 100 for
converting video to video frame still image sequences. The system
100 includes an electronic device 101 which may be any kind of
electronic device such as a desktop computer, a laptop computer, a
smart phone, a cellular telephone, a personal digital assistant, a
mobile computer, a tablet computer, a digital video player, and/or
other such electronic device.
[0029] The electronic device 101 may include one or more processing
units 103, one or more one or more non-transitory storage media 104
(which may take the form of, but is not limited to, a magnetic
storage medium; optical storage medium; magneto-optical storage
medium; read only memory; random access memory; erasable
programmable memory; flash memory; and so on), one or more
communication components 105, and/or other components (such as one
or more displays and/or audio presentation components, which are
not shown, for playing audio and/or video and/or displaying one or
more video frame still image sequences. The processing unit 103 may
execute instructions stored in the non-transitory storage medium
104 to perform various electronic device functions such as playing
video; displaying video frame still image sequences; playing audio
and displaying video frame still image sequences; executing
applications such as web browser applications, video player
applications, executing video player applications embedded in other
applications such as web browser applications; converting video to
video frame still image sequences; communicating with the remote
computing device (such as to request and/or receive one or more
videos, video frame still image sequences, audio related to video
frame still image sequences, timing information related to video
frame still image sequences, and so on), and/or other such
functions.
[0030] The system 100 may also include a remote computing device
102 which may be any kind of computing device such as a desktop
computer, a laptop computer, a smart phone, a cellular telephone, a
personal digital assistant, a mobile computer, a tablet computer, a
digital video player, and/or other such electronic device. The
remote computing device 102 may be remote from the electronic
device 101 in that they are not the same device and communicate via
one or more communication media (such as via the communication
components 105 and 108).
[0031] The remote computing device 102 may include one or more
processing units 106, one or more one or more non-transitory
storage media 107 (which may take the form of, but is not limited
to, a magnetic storage medium; optical storage medium;
magneto-optical storage medium; read only memory; random access
memory; erasable programmable memory; flash memory; and so on), one
or more communication components 108, and/or other components. The
processing unit 106 may execute instructions stored in the
non-transitory storage medium 107 to perform various remote
computing device functions such as converting video to video frame
still image sequences; storing and/or serving one or more videos,
audio, video frame still image sequences, and so on; communicating
with the electronic device (such as to transmit and/or receive
requests for one or more videos, video frame still image sequences,
audio related to video frame still image sequences, timing
information related to video frame still image sequences, and so
on); and/or other such functions.
[0032] The electronic device 101 and/or the remote computing device
102 may determine to present a video frame still image sequence
version of a video instead of the video. As such, the electronic
device and/or the remote computing device may derive a plurality of
still images from the video. The electronic device and/or the
remote computing device may generate the video frame still image
sequence by associating the plurality of still images. The
electronic device and/or the remote computing device may then
present the video frame still image sequence.
[0033] The video frame still image sequence may be displayed
according to timing information to resemble play of the video. Such
timing information may be based at least in part on a duration of
the video and may be stored in the video frame still image
sequence, stored in one or more files related to the video frame
still image sequence, determined by the electronic device 101 when
presenting the video frame still image sequence, and so on.
[0034] When the video frame still image sequence is displayed, the
electronic device 101 may determine whether or not the video frame
still image sequence is in synch with the timing information. If an
image of the video frame still image sequence being presented is
chronologically ahead of the timing information, the electronic
device may delay display of the image to resynchronize the video
frame still image sequence with the timing information. On the
other hand, if an image of the video frame still image sequence
being presented is chronologically behind the timing information,
the electronic device may jump to a subsequent image of the video
frame still image sequence to resynchronize.
[0035] In some cases, the electronic device 101 and/or the remote
computing device 102 may also derive audio from the video. In such
cases, the electronic device 101 may display the video frame still
image sequence along with play of the audio. Further, in such cases
the timing information may be based at least one the audio and may
be contained within the audio. Additionally, in such cases the
electronic device may keep display of the video frame still image
sequence in synch with the play of the audio.
[0036] For example, when the video frame still image sequence is
displayed, the electronic device 101 may determine whether or not
the video frame still image sequence is in synch with the audio. If
an image of the video frame still image sequence being presented is
chronologically ahead of the audio, the electronic device may delay
display of the image to resynchronize the video frame still image
sequence with the audio. On the other hand, if an image of the
video frame still image sequence being presented is chronologically
behind the audio, the electronic device may jump to a subsequent
image of the video frame still image sequence to resynchronize.
[0037] In various implementations, the electronic device 101 may
determine to present a video frame still image sequence version of
a video instead of the video upon receiving a request to play the
video (such as from a user or from one or more executing
applications). In such implementations the electronic device may
generate the video frame still image sequence (and may store the
generated video frame still image sequence) and presenting the
video frame still image sequence may include displaying the video
frame still image sequence.
[0038] Alternatively in such implementations, the electronic device
101 may request and receive the video frame still image sequence
from the remote computing device 102, which generates video frame
still image sequence (whether in response to or in anticipation of
the request).
[0039] The electronic device 101 may determine to present a video
frame still image sequence version of a video instead of the video
in response to determining that the electronic device 101 cannot
play the video (such as the electronic device does not have a video
codec compatible with the video), does not have sufficient
resources to play the video (such as insufficient video memory),
cannot play the video on only a portion of a display of the
electronic device (such as the electronic device must present the
video full screen instead of within a video player application
embedded within another application such as a web browser), and so
on.
[0040] In other implementations, the remote computing device 102
may determine to present a video frame still image sequence version
of a video instead of the video by determining that the electronic
device 101 may request the video frame still image sequence version
of the video instead of the video. In such implementations, the
generation may be performed in anticipation of a request for the
video frame still image sequence, in response to a request for the
video frame still image sequence and/or a portion thereof, and so
on. Further, in such implementations, presentation may include
transmitting the video frame still image sequence and/or a portion
thereof to the electronic device.
[0041] In one or more implementations, deriving of the still images
from the video by the electronic device 101 and/or the remote
computing device 102 may include determining a number of images
that can be displayed to resemble play of the video and deriving
that number of images. The determination of the number may be based
at least one a frame rate of the video, a duration of the video
and/or audio associated with the video, default frame rates, and so
on.
[0042] FIG. 2 illustrates a method 200 for playing video and/or
displaying still image sequence versions of the video. The method
200 may be performed by an electronic device such as the electronic
device 101 or the remote computing device 102 of FIG. 1.
[0043] The flow begins at block 201 and proceeds to block 202 where
the electronic device operates. The flow then proceeds to block 203
where the electronic device determines whether or not a request to
play video has been received. If so, the flow proceeds to block
204. Otherwise, the flow returns to block 202 where the electronic
device continues to operate.
[0044] At block 204, the electronic device determines whether or
not to display a series of still images converted from the video
instead of the video. If so, the flow proceeds to block 205.
Otherwise, the flow proceeds to block 206.
[0045] At block 205, after the electronic device determines to
display the series of still images converted from the video instead
of the video, the electronic device displays the series of still
images. Such display may be performed along with play of audio
derived from the video. Such display may also be performed in
accordance with timing information in order to resemble or mimic
play of the video. The flow then returns to block 202 where the
electronic device continues to operate.
[0046] At block 206, after the electronic device determines not to
display the series of still images converted from the video instead
of the video, the electronic device plays the video. The flow then
returns to block 202 where the electronic device continues to
operate.
[0047] FIG. 3 illustrates a method 300 for converting video to
video frame still image sequences. The method 300 may be performed
by an electronic device such as the electronic device 101 or the
remote computing device 102 of FIG. 1.
[0048] The flow begins at block 301 and proceeds to block 302 where
the electronic device operates. The flow then proceeds to block 303
where the electronic device determines whether or not to convert
video to a still image sequence version of the video. If so, the
flow proceeds to block 304. Otherwise, the flow proceeds to block
309.
[0049] At block 304, after the electronic device determines to
convert video to a still image sequence version of the video, the
electronic device derives still images from the video. The flow
then proceeds to block 305 where the electronic device determines
whether or not to capture audio from the video to associate with
the still image sequence. If so, the flow proceeds to block 307.
Otherwise, the flow proceeds to block 306.
[0050] At block 306, after the electronic device determines not to
capture audio from the video to associate with the still image
sequence, the electronic device associates the derived still images
together as the still image sequence and stores the still image
sequence. Such storage may include loading the still image sequence
and/or a portion thereof in a memory as part of displaying the
still image sequence. The flow then returns to block 302 where the
electronic device continues to operate.
[0051] At block 307, after the electronic device determines to
capture audio from the video to associate with the still image
sequence, the electronic device captures audio from the video. The
flow then proceeds to block 308 where the electronic device
associates the captured audio with the derived still images. The
flow then proceeds to block 306 where the electronic device
associates the derived still images and the audio together as the
still image sequence and stores the still image sequence. Such
storage may include loading the still image sequence and/or a
portion thereof in a memory as part of displaying the still image
sequence and/or playing the audio.
[0052] In various implementations, a video player, embedded within
the display of another application, may load a collection of still
images and utilize some timing mechanism such as an audio file or a
simple timer. As the timing mechanism proceeds, it may trigger the
video player to transition from one image to another, in sequence,
giving the impression of more traditional video playback.
[0053] FIG. 4 illustrates 400 the manner in which a video player
may be embedded within another application and still allow the user
to interact with the external application without impacting the
video in any way.
[0054] When a device (402) loads an application that can embed
videos (408), it may render a video player (406) within the display
area for the application (404). The display area for the
application (404) may continue to interact with the application
(408), completely independent of the video player, which could pull
its data from some other data store (401), independent of the
application.
[0055] The user may interact with the player before, during, or
after playback of a video, as with a normal video player, with or
without having any impact on the external application's display
(404), or the application itself (408). The user may also interact
with the external application's display (404) with or without
having any impact on the video player (406).
[0056] FIG. 5 details an example process 500 to take a video file
formatted for traditional video players, and translate it into a
package of files for use within a video player for limited video
capability contexts.
[0057] When a traditional video format file (501) is provided, the
CPU (502) may process this file and translate it into component
files (504) for storage and later delivery. The component files may
include a collection of video frame still images from the video
(506) at regular intervals, as well as an audio file (508)
containing audio to accompany the generated images, of the same or
similar time length as the original video. The video frame still
images may be post processed to create video frame still image
sequences that exist in a single image file to reduce the number of
storage requests needed to deliver the content.
[0058] These component files (504) may then be stored on a storage
mechanism (510) for later playback within a limited video
capability context.
[0059] Herein, unless otherwise defined, "traditional video" is
intended to include all digital files (such as mpeg, h.264, ogg,
webm, avi, etc.) and analog storage formats (magnetic tape, film
negative, etc.) for videos, intended to be used directly through a
mechanical or digital playback device.
[0060] Herein, unless otherwise defined, "storage mechanism" is
intended to include any form of storing digital data for later use,
such as hard drives (e.g. solid state, disk media, etc.), portable
media (e.g. flash drive, DVD, CD, etc.), cloud storage (e.g. Amazon
S3, etc.).
[0061] In general, the audio file generated by this process may be
generated from the original video file, or it may be generated
through any artificial means such as a file containing only white
noise, a file provided independently from the video, or a file of
complete silence.
[0062] FIG. 6 illustrates a manner 600 in which a video may be
delivered to a player as individual components, which the player
may then piece together in order to deliver a video playback
experience to viewers.
[0063] When a player (606) loads, the CPU (604) may load a video
payload (602) from a storage medium (601). The CPU may then break
this payload into individual image and audio data. Then, the player
may deliver this data as separate payloads of images (608) and
audio (610). The player may play the audio and simultaneously
display the images in sequence at the same rate as the audio so as
to maintain synchronization between the auditory and visual aspects
of the content. The audio's progress timing may update and correct
the image display's progress timing to reduce unacceptable
differences in loading and or rendering and or processing between
the audio and images so as to help ensure adequate synchronization
is maintained.
[0064] Herein, unless otherwise defined, "video payload" is
intended to include any form of digitally represented video,
including but not limited to existing video codecs/playback formats
(such as mpeg, h.264, ogg, webm, avi, etc.), separate audio and
video files, or a collection of images with an audio file.
[0065] Herein, unless otherwise defined, "storage medium" is
intended to include any form of storing digital data for later use,
such as hard drives (e.g. solid state, disk media, etc.), portable
media (e.g. flash drive, DVD, CD, etc.), cloud storage (e.g. Amazon
S3, etc.).
[0066] FIG. 7 describes the operational flow of a player may
utilize still images and a timing mechanism to deliver a video
experience that is independent of a hosting application's flow.
[0067] The hosting application (700) may load (704) and begin its
processing (706). Once the application begins, any of the
interactions (706, 714) with the player (702) may happen at any
time, and possibly multiple times.
[0068] As some part of the hosting application's process, it may
load the player (708), and then continue, independent of the
player's behavior.
[0069] When the player loads (708), it may load the images (710)
and audio (712) that it may need for playback. Once these media are
loaded, the player may wait for another signal from the hosting
application to begin playback (714) whereupon it may begin playing
the audio and displaying the images in sequence (716).
[0070] As the audio plays, the player may track the audio playback
position (718). As the audio playback position changes, the player
may ensure the currently displayed image matches of is properly
correlated (720). If the image is chronologically behind the
position of the audio, the current image may be replaced with the
correct image. If the image is chronologically ahead of the
position of the audio, the player may delay updating the image
until the audio progress has caught up. The process of steps 718
and 720 may continue (722) until the playback ends through some
signal (724) either directly from the user, or from the hosting
application itself (726).
[0071] The player may also report events such as play starting
(716), audio updates (718), image changes (720), and playback
ending (724) back to the hosting application's process (706).
[0072] If the application ends (728), then playback may also end
(724).
[0073] Herein, unless otherwise defined, "hosting application" is
intended to include any mechanism for user interaction which could
include video delivery, such as dedicated applications, web pages,
or operating systems.
[0074] In one or more implementations, a method may include
receiving a video file; forming an audio component file by
extracting an audio portion of the video file; and forming a video
component file by extracting a series of video frame still images
from a video portion of the video file, wherein each video frame
still image corresponds to a time wise point, or a time range (if
several video frame still images are concatenated into one file),
in the audio portion of the video file. In some cases, the method
may also include storing the audio and video component files for
later delivery. In various cases, the method may also include
outputting the audio component file and outputting the video
component file concurrently with the audio component file, wherein
outputting the video component file includes displaying a
particular video frame still image at the same rate of playback as
the audio component while continually synchronizing the displayed
image with the audio component's progress.
[0075] In various implementations, a method may include delivering
an audio component file and a video component file for playback,
wherein the video component file includes a series of images and
each image corresponds to a time wise point, or a time range (if
several video frame still images are concatenated into one file),
in the audio component file; outputting the audio component file;
and outputting the video component file concurrently with the audio
component file, wherein outputting the video component file
includes displaying images at the same rate of playback as the
audio component while continually synchronizing the displayed image
with the audio component's progress.
[0076] In some implementations, an electronic device may include a
processor; a display surface connected to the processor; a
non-transitory computer readable storage medium connected to the
processor; an application stored on the storage medium and
executable by the processor, wherein when the application executes
on the processor, the application outputs to a first area of the
display surface; and a video player stored on the storage medium
and executable on the processor; wherein when the video player
executes on the processor responsive to a call from the
application, the video player outputs to a second area of the
display surface, the second area being contained within the first
area. In some cases, the video player is configured to receive
video file; form an audio component file by extracting an audio
portion of the video file; and form a video component file by
extracting a series of video frame still images from a video
portion of the video file, wherein each video frame still image
corresponds to a time wise point, or a time range (if several video
frame still images are concatenated into one file), in the audio
portion of the video file. Further, the video player may be
configured to output the audio component file; and output the video
component file concurrently with the audio component file, wherein
outputting the video component file includes displaying a
particular video frame still image in the second area at a rate of
playback equal to the audio component while continually
synchronizing the displayed image with the audio components.
Moreover, the application may be configured to provide output to
the first area not including the second area while the video player
provides output to the second area.
[0077] As described above, the present disclosure discloses
systems, methods, and computer program products for converting
video to video frame still image sequences. An electronic device
may determine to present a video frame still image sequence version
of a video instead of the video. The electronic device may derive a
plurality of still images from the video utilizing the at least one
processing unit. The electronic device may generate the video frame
still image sequence by associating the plurality of still images.
The electronic device may present the video frame still image
sequence.
[0078] In the present disclosure, the methods disclosed may be
implemented as sets of instructions or software readable by a
device. Further, it is understood that the specific order or
hierarchy of steps in the methods disclosed are examples of sample
approaches. In other embodiments, the specific order or hierarchy
of steps in the method can be rearranged while remaining within the
disclosed subject matter. The accompanying method claims present
elements of the various steps in a sample order, and are not
necessarily meant to be limited to the specific order or hierarchy
presented.
[0079] The described disclosure may be provided as a computer
program product, or software, that may include a non-transitory
machine-readable medium having stored thereon instructions, which
may be used to program a computer system (or other electronic
devices) to perform a process according to the present disclosure.
A non-transitory machine-readable medium includes any mechanism for
storing information in a form (e.g., software, processing
application) readable by a machine (e.g., a computer). The
non-transitory machine-readable medium may take the form of, but is
not limited to, a magnetic storage medium (e.g., floppy diskette,
video cassette, and so on); optical storage medium (e.g., CD-ROM);
magneto-optical storage medium; read only memory (ROM); random
access memory (RAM); erasable programmable memory (e.g., EPROM and
EEPROM); flash memory; and so on.
[0080] It is believed that the present disclosure and many of its
attendant advantages will be understood by the foregoing
description, and it will be apparent that various changes may be
made in the form, construction and arrangement of the components
without departing from the disclosed subject matter or without
sacrificing all of its material advantages. The form described is
merely explanatory, and it is the intention of the following claims
to encompass and include such changes.
[0081] While the present disclosure has been described with
reference to various embodiments, it will be understood that these
embodiments are illustrative and that the scope of the disclosure
is not limited to them. Many variations, modifications, additions,
and improvements are possible. More generally, embodiments in
accordance with the present disclosure have been described in the
context or particular embodiments. Functionality may be separated
or combined in blocks differently in various embodiments of the
disclosure or described with different terminology. These and other
variations, modifications, additions, and improvements may fall
within the scope of the disclosure as defined in the claims that
follow.
* * * * *