This disclosure relates generally to video, and more specifically to conversion of video to video frame still image sequences.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
These component files (504) may then be stored on a storage mechanism (510) for later playback within a limited video capability context.
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.
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.).
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.
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.
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.
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.).
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.
As some part of the hosting application's process, it may load the player (708), and then continue, independent of the player's behavior.
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).
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).
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).
If the application ends (728), then playback may also end (724).
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.
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.
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.
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.
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.
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.
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.
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.
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.
The present application claims the benefit under 35 U.S.C. §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 is incorporated by reference as if fully disclosed herein.
Number | Name | Date | Kind |
---|---|---|---|
5329320 | Yifrach | Jul 1994 | A |
5524637 | Erickson | Jun 1996 | A |
5576551 | Adair | Nov 1996 | A |
5675752 | Scott et al. | Oct 1997 | A |
5676551 | Knight et al. | Oct 1997 | A |
5895123 | Fujii et al. | Apr 1999 | A |
6222925 | Shiels et al. | Apr 2001 | B1 |
6223211 | Hamilton et al. | Apr 2001 | B1 |
6357047 | Kurtze et al. | Mar 2002 | B1 |
6687454 | Kuroiwa | Feb 2004 | B1 |
6975832 | Adams et al. | Dec 2005 | B2 |
6977673 | McKain et al. | Dec 2005 | B1 |
7373377 | Altieri | May 2008 | B2 |
7623754 | McKain et al. | Nov 2009 | B1 |
7702014 | Kellock et al. | Apr 2010 | B1 |
7788583 | Amzallag et al. | Aug 2010 | B1 |
8156520 | Casagrande et al. | Apr 2012 | B2 |
8380049 | Lang et al. | Feb 2013 | B2 |
8600220 | Bloch et al. | Dec 2013 | B2 |
8732180 | Lindahl et al. | May 2014 | B2 |
20020082063 | Miyaki et al. | Jun 2002 | A1 |
20020091455 | Williams | Jul 2002 | A1 |
20020120456 | Berg et al. | Aug 2002 | A1 |
20030169295 | Becerra, Jr. | Sep 2003 | A1 |
20040009813 | Wind | Jan 2004 | A1 |
20040193441 | Altieri | Sep 2004 | A1 |
20050071736 | Schneider et al. | Mar 2005 | A1 |
20050102707 | Schnitman | May 2005 | A1 |
20050120389 | Boss et al. | Jun 2005 | A1 |
20050217462 | Thomson et al. | Oct 2005 | A1 |
20060268007 | Gopalakrishnan | Nov 2006 | A1 |
20070020604 | Chulet et al. | Jan 2007 | A1 |
20070112837 | Houh et al. | May 2007 | A1 |
20070118801 | Harshbarger et al. | May 2007 | A1 |
20070162395 | Ben-Yaacov et al. | Jul 2007 | A1 |
20070239754 | Schnitman | Oct 2007 | A1 |
20080163089 | Altieri | Jul 2008 | A1 |
20080300967 | Buckley et al. | Dec 2008 | A1 |
20080320531 | Kim et al. | Dec 2008 | A1 |
20090022159 | Coleman et al. | Jan 2009 | A1 |
20090172022 | Bathiche et al. | Jul 2009 | A1 |
20090228572 | Wall et al. | Sep 2009 | A1 |
20100031149 | Gentile et al. | Feb 2010 | A1 |
20100088735 | Sadja et al. | Apr 2010 | A1 |
20100186579 | Schnitman | Jul 2010 | A1 |
20100242110 | Louch et al. | Sep 2010 | A1 |
20100293455 | Bloch | Nov 2010 | A1 |
20100332404 | Valin | Dec 2010 | A1 |
20110028213 | Dusenberry et al. | Feb 2011 | A1 |
20110126106 | Shaul et al. | May 2011 | A1 |
20110200116 | Bloch et al. | Aug 2011 | A1 |
20110202562 | Bloch et al. | Aug 2011 | A1 |
20130104024 | Rajkumar et al. | Apr 2013 | A1 |
20130259442 | Bloch et al. | Oct 2013 | A1 |
20140019863 | Callanan | Jan 2014 | A1 |
20140026175 | Callanan | Jan 2014 | A1 |
20140033038 | Callanan | Jan 2014 | A1 |
20140078397 | Bloch et al. | Mar 2014 | A1 |
20140082666 | Bloch et al. | Mar 2014 | A1 |
20140178051 | Bloch et al. | Jun 2014 | A1 |
20140376883 | Callanan | Dec 2014 | A1 |
Number | Date | Country |
---|---|---|
10053720 | Apr 2002 | DE |
1033157 | Sep 2000 | EP |
2712206 | Mar 2014 | EP |
2428329 | Jan 2007 | GB |
2008052009 | May 2008 | WO |
2010131244 | Nov 2010 | WO |
2010131244 | Nov 2010 | WO |
2012114329 | Aug 2012 | WO |
2012114330 | Aug 2012 | WO |
2012114330 | Aug 2012 | WO |
2013150378 | Oct 2013 | WO |
Entry |
---|
“CD-i or Compact Disc Interactive”, Wikipedia, retrieved on Aug. 9, 2011 from URL: http://en.wikipedia.org/wiki/CD-i, 6 pages. |
“Dragon's Lair”, Wikipedia, retrieved on Aug. 9, 2011 from URL: http://en.wikipedia.org/wiki/Dragon%27s—Lair, 11 pages. |
“Laserdisc video game”, Wikipedia, retrieved on Aug. 9, 2011 from URL: http://en.wikipedia.org/wiki/Laserdisc—video—game, 2 pages. |
“You Tube Help—Creating or editing annotations”, YouTube, retrieved on Aug. 9, 2011 from URL: http://www.google.com/support/youtube/bin/answer.py?answer=92710&topic=14354, 5 pages. |
EP Supplemental Search Report dated Jun. 28, 2012, EP Application No. 2430631, 2 Pages. |
PCT International Search Report and Written Opinion dated Mar. 8, 2012, PCT Application No. PCT/US2011/056453, filed Oct. 14, 2011, 12 pages. |
PCT International Search Report dated Aug. 25, 2010, PCT Application No. PCT/IL2010/000362, 2 pages. |
US Non-Final Office Action dated Jul. 23, 2012, U.S. Appl. No. 13/034,645, 13 pages. |
“Official word from Google”, retrieved on Apr. 7, 2014 from URL: https://supportgoogle.com/webmasters/answer/34445?hl=en, 1 page. |
“An iFrame test”, retrieved on Apr. 7, 2014 from URL: http://www.rimmkaufman.com/blog/do-search-engines-follow-links-in-iframes/31012012/, 11 pages. |
“http://www.readwritethink.org/classroom-resources/student-interactives/plot-diagram-30040.html”, earliest date Feb. 21, 2010. |
Final Office Action dated Apr. 10, 2014, for U.S. Appl. No. 13/274,224. |
Non-Final Office Action dated Sep. 13, 2013, for U.S. Appl. No. 13/274,224. |
Non-Final Office Action dated Sep. 10, 2014, for U.S. Appl. No. 13/934,800. |
Non-Final Office Action dated Aug. 29, 2014, for U.S. Appl. No. 13/934,446. |
Number | Date | Country | |
---|---|---|---|
20140314394 A1 | Oct 2014 | US |
Number | Date | Country | |
---|---|---|---|
61813531 | Apr 2013 | US |