US20190235741A1 - Web-based system for video editing - Google Patents
Web-based system for video editing Download PDFInfo
- Publication number
- US20190235741A1 US20190235741A1 US14/339,258 US201414339258A US2019235741A1 US 20190235741 A1 US20190235741 A1 US 20190235741A1 US 201414339258 A US201414339258 A US 201414339258A US 2019235741 A1 US2019235741 A1 US 2019235741A1
- Authority
- US
- United States
- Prior art keywords
- video
- annotation
- compilation
- videos
- timeline
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000470 constituent Substances 0.000 abstract description 2
- 239000003550 marker Substances 0.000 description 8
- 241000272194 Ciconiiformes Species 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000287486 Spheniscidae Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/34—Indicating arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
Definitions
- the disclosed embodiments relate generally to web-based editing, composition, and annotation of digital videos
- Conventional web-based systems permitting the storage and display of digital videos typically allow video playback and have some rudimentary tools for supplementing or altering the original video. These tools typically oblige a user to manually specify aspects such as time ranges during which a particular condition applies. Conventional systems also lack mechanisms for selecting video clips from a larger video and compositing the videos or video clips into a single compilation.
- the present invention includes web-based systems and methods for editing digital videos.
- a graphical editing interface allows designating one or more videos to assemble into a video compilation.
- the graphical editing interface further allows specifying the portion of a constituent video of the video compilation that will be displayed when the video compilation is played.
- the graphical editing interface additionally allows the association of annotations—specifying, for example, slides, people, and highlights—with portions of the video.
- the associated annotations alter the appearance of the video compilation when it is played, such as by displaying slides, or text associated with the annotations, along with the video at times associated with the annotations.
- the associated annotations also enhance the interactivity of the video compilation, such as by allowing playback to begin at points of interest, such as portions of the video for which there is an associated annotation.
- the associated annotations can be created by selection of annotation tools of the graphical editing interface, where at least one of the annotation tools is created responsive to a user providing information associated with the tool.
- FIG. 1 is a block diagram of a system architecture, according to one embodiment.
- FIG. 2 illustrates an example user interface for specifying the videos to be included in the compilation, according to one embodiment.
- FIGS. 3A-3E illustrate an example user interface used for video editing, according to one embodiment.
- FIGS. 3F-3G illustrate an example user interface used for publishing and sharing a video compilation, according to one embodiment.
- FIG. 4 illustrates the steps involved in defining and playing video compilations, according to one embodiment.
- FIG. 5 illustrates the steps involved in annotating a digital video, according to one embodiment.
- FIG. 1 is a block diagram of a system architecture in accordance with one embodiment.
- a video hosting server 108 includes a front end server 124 , a video server 126 , a network interface 122 , a video database 128 , and a user database 140 .
- Other conventional features, such as firewalls, load balancers, application servers, failover servers, site management tools, and so forth are not shown so as to more clearly illustrate the features of the system.
- Examples of a suitable video hosting server 108 for implementation of the system include the YouTubeTM and Google VideoTM websites; other video hosting sites are known as well, and can be adapted to operate according the teaching disclosed herein.
- website represents any system and method of providing content and is not intended to be limited to systems that support content provided via the Internet or the HTTP protocol.
- the various servers are conventionally implemented, whether as a single piece of software or hardware or as multiple pieces of software or hardware and can couple to the network 105 via the network interface 122 .
- functions described in one embodiment as being performed on the server side can also be performed on the client side in other embodiments if appropriate.
- a client 130 executes a browser 132 , and connects to the front end server 124 via a network 105 , which is typically the Internet, but may also be any network, including but not limited to a LAN, a MAN, a WAN, a mobile, wired or wireless network, a private network, or a virtual private network. While only a single client 130 and browser 132 are shown, it is understood that very large numbers (e.g., millions) of clients are supported and can be in communication with the video hosting server 108 at any time.
- the client 130 may include a variety of different computing devices. Examples of client devices 130 are personal computers, digital assistants, personal digital assistants, cellular phones, mobile phones, smart phones or laptop computers. As will be obvious to one of ordinary skill in the art, the present invention is not limited to the devices listed above.
- the browser 132 includes an embedded video player 134 such as, for example, the FlashTM player from Adobe Systems, Inc. or any other player adapted for the video file formats used in the video hosting video hosting server 108 .
- an embedded video player 134 such as, for example, the FlashTM player from Adobe Systems, Inc. or any other player adapted for the video file formats used in the video hosting video hosting server 108 .
- a user can access a video from the video hosting server 108 by browsing a catalog of videos, conducting searches on keywords, reviewing play lists from other users or the system administrator (e.g., collections of videos forming channels), or viewing videos associated with a particular user group (e.g., communities).
- Video server 126 receives uploaded media content from content providers and allows content to be viewed by client 130 .
- Content may be uploaded to video server 126 via the Internet from a personal computer, through a cellular network from a telephone or PDA, or by other means for transferring data over network 105 known to those of ordinary skill in the art.
- Content may be downloaded from video server 126 in a similar manner; in one embodiment media content is provided as a file download to a client 130 ; in an alternative embodiment, media content is streamed client 130 .
- the means by which media content is received by video server 126 need not match the means by which it is delivered to client 130 .
- a content provider may upload a video via a browser on a personal computer, whereas client 130 may view that video as a stream sent to a PDA.
- video server 126 may itself serve as the content provider. Communications between the client 130 and video hosting server 108 , or between the other distinct units of FIG. 1 , may be encrypted or otherwise encoded.
- Users of clients 130 can also search for videos based on keywords, tags or other metadata. These requests are received as queries by the front end server 124 and provided to the video server 126 , which is responsible for searching the video database 128 for videos that satisfy the user queries.
- the video server 126 supports searching on any fielded data for a video, including its title, description, tags, author, category and so forth.
- the uploaded content can include, for example, video, audio or a combination of video and audio.
- the uploaded content is processed and stored in the video database 128 . This processing can include format conversion (transcoding), compression, metadata tagging, and other data processing.
- An uploaded content file is associated with the uploading user, and so the user's account record is updated in the user database 140 as needed.
- the uploaded content will be referred to a “videos”, “video files”, or “video items”, but no limitation on the types of content that can be uploaded are intended by this terminology.
- Each uploaded video is assigned a video identifier when it is processed.
- the user database 140 is responsible for maintaining a record of all users viewing videos on the website. Each individual user is assigned a user ID (also referred to as a user identity). The user ID can be based on any identifying information, such as the user's IP address, user name, or the like. The user database may also contain information about the reputation of the user in the video context, as well as through other applications, such as the use of email or text messaging. The user database may further contain information about membership in user groups. The user database may further contain, for a given user, a list of identities of other users who are considered friends of the user. (The term “list”, as used herein for concepts such as lists of authorized users, URL lists, and the like, refers broadly to a set of elements, where the elements may or may not be ordered.)
- the video database 128 is used to store the received videos.
- the video database 128 stores video content and associated metadata, provided by their respective content owners.
- the video files have metadata associated with each file such as a video ID, artist, video title, label, genre, and time length.
- a video editing server 150 provides the ability to create compilations from, and add annotation to, videos in the video database 128 .
- the video editing server 150 has a user database 152 that maintains a record of all users using the video editing system. Each individual user is assigned a user ID (also referred to as a user identity). The user ID can be based on any identifying information, such as the user's IP address, user name, or the like.
- the user database 152 may also contain information about the reputation of the user in the video context.
- the user database may further contain information about membership in user groups.
- the user database may further contain, for a given user, a list of identities of other users who are considered friends of the user.
- list refers broadly to a set of elements, where the elements may or may not be ordered.
- the user database 140 and the user database 152 are implemented as a single database.
- the video editing server 150 keeps a record of various user video editing actions, such as aggregating videos into a compilation, clipping videos to more restricted portions, annotating the videos with information about slides, people or events, adding popup visuals such as text boxes, and the like. It then stores these records within an editing database 154 in association with the user ID from the user database 152 .
- the video editing server 150 also provides to entities such as the client 130 or the video hosting server 108 , for a given video, records of editing actions stored within the editing database 154 for that video.
- the video editing server 150 is on a separate physical server from the video hosting server 108 , although in other embodiments the annotation functionality is included within the video hosting server 108 .
- Video editing server 150 may be operated by the same entity that operates video hosting server 108 , or may be a service provided by a third party, e.g., for a fee.
- the editing database 154 stores information on video compilations, which are ordered collections of videos treated as a single composite video, and may include a single video.
- editing database 154 stores in association with, e.g., a unique compilation identifier, an identifier of the user who created of the compilation, a total number of videos within the compilation, an identifier of each video to be played as part of the compilation, as well as an indicator (such as a time range) of the portion of each video to be played and an indicator of the order of the video within the compilation (such as “1” to indicate the first video in the compilation ordering).
- the editing database also maintains an association between each annotation and the appropriate portion of the annotated video or video compilation.
- the editing database 154 stores an identifier of the annotation type (e.g., a text box, or an annotation corresponding to a person) along with any information associated with that type (e.g., a text caption, or an ID corresponding to the person), a time stamp(s) of the portion of the video or compilation to which the annotation applies (e.g., from time 01:05 to time 01:26), an identifier of the video which the annotation annotates, and an identifier of a user who submitted the annotation (e.g., the user ID from the user database 152 ).
- annotation type e.g., a text box, or an annotation corresponding to a person
- any information associated with that type e.g., a text caption, or an ID corresponding to the person
- a time stamp(s) of the portion of the video or compilation to which the annotation applies e.g., from time 01:05 to time 01:26
- an identifier of the video which the annotation annotates e.g.,
- FIG. 2 illustrates an example user interface for specifying the videos to be included in the compilation, according to one embodiment.
- region 210 a number of thumbnail representations of videos are displayed, in response to the entry of a query for videos specified in search area 220 .
- region 210 displays videos returned in response to the query “penguin” entered in search area 220 .
- the query may locate videos from various sources, such as the video database 128 .
- a video can be specified directly via an identifier, such as a URL of a video within the video database 128 .
- a selected video is then displayed, e.g. via live video playback, in video region 250 .
- Videos are then added to the compilation via, for example, the Add button 230 .
- Videos currently added to the compilation are displayed in the region 240 .
- Selection of the Done button 260 causes the process to proceed to the editing phase.
- FIG. 3A illustrates an example user interface 300 used during the editing phase, according to one embodiment.
- Videos in the video set 305 correspond to the videos selected via the interface of FIG. 2 .
- the compilation includes three videos 305 A-C, which are depicted using thumbnails representations of their content.
- Each video in the video set 305 has a remove button 306 A and a duplicate button 306 B; selection of the former removes the video from the video set 305 , and selection of the latter creates a new, separate instance of the video and adds it to the video set 305 .
- Selection of “Add Videos” button 325 redisplays the user interface of FIG. 2 , which can be used to select additional videos.
- the controls in playback control area 315 both control playback and display playback position within the set of selected videos.
- the play-pause button 318 is used to start and stop playback of the video.
- the scene seek button 319 allows a user to seek to the next “interesting” portion of the current video (or subsequent videos in the set of videos). As described further below, interesting portions include those with which annotation has been associated.
- the video segment bar 316 displays the relative lengths of each of the videos in the video set 305 , with dividers 316 A and 316 B demarcating the boundaries of the videos. That is, dividers 316 A and 316 B divide the video segment bar 316 into three distinct portions, the length of each reflecting the relative lengths of the played portions of the videos 305 .
- the thumb marker 317 displays the current playback location, including both the video that is being played and the location within that video. For example, the position of the thumb marker 317 in FIG. 3A indicates that the current playback location is near the beginning of the first of the three videos 305 .
- Timeline bar 320 represents the video currently being played, and thus corresponds to one of the segments on the video segment bar 316 .
- the current time marker 322 indicates the current playback location within the current video, and thus corresponds to the thumb marker 317 .
- the timeline bar 320 shows the times of the video currently being played, including the total length. In the example of FIG. 3A , the time interval labels listed on the timeline bar 320 indicate that the current video (the first video 305 A, in the depicted example) has a length of approximately 1 minute and 30 seconds.
- Drag bars 321 A and 321 B indicate start and end times, respectively, for playback of the video.
- a user can drag the start drag bar 321 A to some time after the beginning of the current video, and/or the end drag bar 321 B to some time before the actual end of the video, and subsequent playback of the video will then begin and end at corresponding times.
- the start drag bar 321 A has been dragged forward from time 0:00 to 0:08
- the end drag bar 321 B has been dragged from time 1:30 back to time 0:45.
- the first video will start being played at time 0:08 and end at time 0:45
- the second and third videos will start and end at times according to their own drag bars 321 , which are displayed when the videos have been made active.
- a video is made active either explicitly, such as by the user clicking on the corresponding thumbnail representation of the video 305 , or implicitly, such as by playback of the video completing one video and proceeding to the next in sequence in the compilation.
- annotation tools region 340 displays the available annotation tools within a tool selection region 345 , which in the example of FIG. 3A includes slides, people, and highlights.
- current slide region 330 of FIG. 3A indicates that no slides have yet been associated with the videos 305 .
- Selecting region 330 , or upload button 341 such as by clicking on them with the mouse, leads to the display of the user interface of FIG. 3B .
- FIG. 3B depicts two ways of associating slides with the videos: by uploading a local file (in this case, a Portable Document Format (PDF) file) via selection of the upload button 305 B, which leads to a standard file selection dialog box for specifying the file, or by specifying a URL in text box 310 B.
- PDF Portable Document Format
- FIG. 3B the local file should be in PDF format, and the URL should correspond to a presentation hosted by the SLIDESHARE presentation hosting system, these options are merely for purposes of example, and in other embodiments other formats (e.g., PowerPoint) or presentation hosting systems may equally be employed.
- FIG. 3C depicts the user interface 300 after a presentation has been associated with the videos 305 .
- the “Slides” icon of tool selection region 345 is highlighted to indicate that the slides annotation tool is the tool currently selected, the current slide region 330 now displays the first slide of the presentation, and slide representation region 342 displays a scrollable list of thumbnail representations of the slides in the presentation. Clicking on a slide thumbnail tool from region 342 associates that slide with the currently displayed portion of the video.
- FIG. 3D illustrates the user interface 300 after annotation has been associated with the videos 305 .
- associated slides region 347 displays thumbnails of the slides from the region 342 of FIG. 3C .
- the slide thumbnails within region 347 shrink so that all the slides are displayed at once.
- the content of a given slide may become difficult to discern at smaller thumbnail sizes.
- the user interface 300 enlarges the thumbnails in response to the user indicating an interest in them, such as moving the mouse cursor over them. For example, in FIG.
- the user has moved the mouse cursor over the fourth slide (“History of the Penguin”), and the fourth slide (as well as its neighboring slides) has accordingly grown in size. Moving the mouse cursor away from the fourth slide will cause it (and its neighboring slides) to return to its normal smaller size.
- FIG. 3D also depicts slide markers 355 (as illustrated, markers displaying rectangle icons) placed on the timeline 320 at timeline locations corresponding to the time within the video at which the slide was associated with the video.
- a slide is associated with the portion of the video beginning with the time that the slide was associated, and ending with a time that the next slide was associated, or with the end of the video compilation (i.e., the end of the last video in the sequence of ordered videos in the compilation), if there is no next slide.
- FIG. 3D further depicts user interface region 350 for defining annotation tools and adding annotation relating to people in the video.
- Selecting the “Add a new person” button 351 allows a user to specify data describing a person, such as the person's name and description.
- an annotation tool for the person is added to a list within the region 350 and displayed to the user.
- tools 352 A and 352 B respectively correspond to the person “Peter Penguin”, described as a “Documentary Star”, and “The Announcer”, described as an actor with the BBC.
- Each of these tools 352 can be edited via its associated Edit button.
- Selecting a people tool's “Tag now” button creates an annotation for the person corresponding to that entry and associates it with the current time of the current video, including displaying a person tag at the corresponding locations on the timeline 320 .
- the timeline 320 of FIG. 3D displays two person tags 356 , represented with icons depicting a person.
- FIG. 3E illustrates the user interface 300 of FIG. 3C after the addition of annotation.
- FIG. 3E further depicts a user interface region 355 for adding annotation related to highlights in a video.
- region 355 depicts two text field entries, “Peter slides” and “The penguins begin to fly!” corresponding to two previously specified highlights, as well as a current text field 357 for adding a new highlight. Selecting the button 358 creates a new highlight for the text within the current text field 357 , associating it with the current time of the current video of the compilation and creating a marker tag at the corresponding time on the video.
- FIG. 3E illustrates two highlight marker tags 357 , depicted with star icons, indicating the highlights 356 A and 356 B.
- FIG. 3E further depicts a user interface for selectively viewing the video compilation so as to focus on particular people or events.
- Selecting the icons 362 toggles display of their associated menus. For example, selecting the “People” or “Highlights” icons within icon set 362 causes menus 361 A and 361 B to appear or disappear, respectively.
- Menus 361 display the people and highlights annotations, respectively, with which videos of the video compilation have been annotated.
- menu 361 A contains an item for “Peter Penguin”, the only people annotation that has been added to the compilation.
- Each selection of the “Peter Penguin” item causes video playback to begin at the next video portion (following the position indicated by the current time marker 322 ) previously associated with the corresponding people tag.
- menu 361 B contains a list of each highlight with which the video compilation has been tagged, the selection of any of which will cause playback of the video compilation at the corresponding time.
- FIG. 3E additionally depicts displaying an indication of a region to which an annotation corresponds before a user causes playback to begin at the portion of the video corresponding to that annotation.
- indicator 359 is located on the video segment bar 316 , its horizontal start and end positions indicating start and end times of a portion of the video to which the annotation applies.
- the indicator 359 can appear in response to a variety of events, such as hovering the mouse pointer over a visual representation of the annotation, such as an entry for annotations in menus 361 , a slide displayed in associated slides region 347 , or one of the annotation tags on timeline 320 . Moving the mouse pointer away from the visual representation of the annotation then causes the indicator 359 to disappear.
- FIG. 3E also depicts the addition of textual comments to the video compilation. For example, moving the mouse cursor over the video playing in the video playback region 310 causes a prompt 365 to be displayed at the location of the mouse cursor. Responding to the prompt, e.g. by clicking the mouse at the current location, causes display of a text box entry area allowing the user to comment on the current portion of the video. For example, resulting comment area 366 displays a comment “He's sliding!” entered by the author of the video.
- any of the annotations displayed on the timeline 320 can be associated with different portions of the video compilation by dragging their tag icons 355 - 357 to a different location on the timeline. Similarly, the annotations may be removed entirely by dragging their icons off the timeline, selecting them and pressing the “Delete” key, or the like.
- the resulting video compilation may then be saved, e.g. via the Save button 370 , and published to the Internet.
- Related information such as compilation title, compilation description, compilation tags (e.g. for finding the compilation as part of a search), whether the compilation is private to the author or also available to the public, and whether users other than the author can provide comments, can also be specified as part of publishing, e.g. as depicted in the sample user interface of FIG. 3F .
- the compilation can also be shared, such as with users of social networking sites, as depicted in FIG. 3G .
- any previously-specified annotations are displayed and can be used to alter the flow of control of the video compilation.
- any slides that were associated with the video compilation are displayed within the associated slides region 347 of FIG. 3D , the current slide being visually distinguished from the others (e.g., with an orange highlight) and also displayed in the current slide region 330 .
- Selecting a slide thumbnail within the associated slides region 347 causes video playback to begin at the point in time associated with that slide.
- selecting a people or highlights tag from menus 361 causes video playback to begin at the highlight, or at the next instance of the people tag, if any.
- the text associated with any of the markup tags or comments is displayed along with the video at the times of the video at which the tags/comments were specified.
- comments such as the comment area 366 of FIG. 3E
- the name of a people tag entry e.g. “Peter Penguin”
- the title of an event e.g. “Peter slides”
- the video editing server 150 of FIG. 1 could be part of the video hosting server 108 , a server on the same local network as the video hosting server, or on a remote network from the video hosting server.
- the authentication server 170 could be separate from the video hosting server, or could be a component thereof.
- some clients 130 could be configured not to communicate with the annotation server 150 , or the video editing server 150 not to provide annotations to the client 130 , in which case the client 130 obtains un-annotated video (e.g. clients in each country or language can have their own set of annotations).
- the client 130 can perform annotation offline, without a network connection to the annotation server 150 , and later synchronize the annotations with the video editing server 150 when a network connection becomes available.
- FIG. 4 illustrates the steps involved in defining and playing video compilations, according to one embodiment.
- videos are received 410 , e.g. after a user selects the videos to include in the compilation via the user interface of FIG. 2 . These received videos make up the video compilation.
- Ordered representations of the videos are then displayed 420 .
- the thumbnail representations 305 of FIG. 3A constitute one such ordered representation, the thumbnail representations being arranged in an order specified by a user, such as the order in which the videos were added using the user interface of FIG. 2 , or a new order resulting from the user dragging the thumbnail representations into a new order.
- a timeline such as timeline 320 of FIG.
- the timeline comprises start and end drag bars 321 corresponding to start and end times of a display portion of the video to display during video playback.
- This alters 440 the start or end time of the display portion. For example, advancing the start drag bar 321 causes the video, when played, to begin at a later point.
- the result of the prior actions defines 450 a video compilation comprising the display portions of the videos specified by the start and end drag bars 321 , where the display portions are ordered according to the corresponding ordered representations of the plurality of videos, e.g. the thumbnail representations 305 depicted in FIG. 3A .
- the video compilation can then be played 460 , where the display portions of the videos are played in the order of their respective videos, and the non-display portions are omitted from playback.
- FIG. 5 illustrates the steps involved in annotating a digital video, according to one embodiment.
- a video is received 510 , e.g. after a user selects a video via the user interface of FIG. 2 .
- a graphical user interface is then displayed 520 , the graphical user interface including the video, a timeline associated with the video, and annotation tools.
- the user interface 300 of FIG. 3D displays people annotation tools 352 A and 352 B.
- At least one of the annotation tools is created responsive to a user providing information associated with the tool, such as a user selecting the “Add a new person” button 351 of FIG. 3D and specifying the name and description of a new person, leading to the creation of tools such as 352 .
- the slide thumbnail tools of region 342 of FIG. 3C are created responsive to the user specifying a slide presentation (e.g., via the user interface of FIG. 3B ) from which to create the slide thumbnail tools.
- An annotation is then associated 530 with a portion of the video responsive to selection by the user of one of the annotation tools. For example, if a user selects a slide annotation tool, a corresponding slide annotation is created and associated with a portion of the video starting at the current playback time of the video and ending at the beginning of the next slide annotation, or at the end of the video or video compilation, if there is no such next slide annotation.
- a visual indication of the annotation is additionally displayed on the timeline 320 at a location corresponding to the first portion of the video. For example, FIG.
- 3E depicts a visual indication in the form of highlight annotation tag 357 added on the timeline 320 at a location corresponding to the current time of the video, as indicated by the current time marker 322 .
- These various visual indications can further be moved along the timeline to associate their respective annotations with different portions of the video, dragged off the timeline to remove them, and the like.
- process steps and instructions of the present invention can be embodied in software, firmware or hardware, and when embodied in software, can be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
- the present invention also relates to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Disclosed are web-based systems and methods for editing digital videos. A graphical editing interface allows designating one or more videos to assemble into a video compilation. The graphical editing interface further allows specifying the portion of a constituent video of the video compilation that will be displayed when the video compilation is played. The graphical editing interface additionally allows the association of annotations—specifying, for example, slides, people, and highlights—with portions of the video. The associated annotations alter the appearance of the video compilation when it is played, such as by displaying slides, or text associated with the annotations, along with the video at times associated with the annotations. The associated annotations also enhance the interactivity of the video compilation, such as by allowing playback to begin at points of interest, such as portions of the video for which there is an associated annotation. The associated annotations can be created by selection of annotation tools of the graphical editing interface, where at least one of the annotation tools is created responsive to a user providing information associated with the tool.
Description
- This application is a continuation of co-pending U.S. application Ser. No. 12/411,162, filed Mar. 25, 2009, which is incorporated by reference in its entirety.
- The disclosed embodiments relate generally to web-based editing, composition, and annotation of digital videos
- Conventional web-based systems permitting the storage and display of digital videos typically allow video playback and have some rudimentary tools for supplementing or altering the original video. These tools typically oblige a user to manually specify aspects such as time ranges during which a particular condition applies. Conventional systems also lack mechanisms for selecting video clips from a larger video and compositing the videos or video clips into a single compilation.
- The present invention includes web-based systems and methods for editing digital videos. A graphical editing interface allows designating one or more videos to assemble into a video compilation. The graphical editing interface further allows specifying the portion of a constituent video of the video compilation that will be displayed when the video compilation is played. The graphical editing interface additionally allows the association of annotations—specifying, for example, slides, people, and highlights—with portions of the video. The associated annotations alter the appearance of the video compilation when it is played, such as by displaying slides, or text associated with the annotations, along with the video at times associated with the annotations. The associated annotations also enhance the interactivity of the video compilation, such as by allowing playback to begin at points of interest, such as portions of the video for which there is an associated annotation. The associated annotations can be created by selection of annotation tools of the graphical editing interface, where at least one of the annotation tools is created responsive to a user providing information associated with the tool.
- The features and advantages described in this summary and the following detailed description are not all-inclusive. Many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims presented herein.
-
FIG. 1 is a block diagram of a system architecture, according to one embodiment. -
FIG. 2 illustrates an example user interface for specifying the videos to be included in the compilation, according to one embodiment. -
FIGS. 3A-3E illustrate an example user interface used for video editing, according to one embodiment. -
FIGS. 3F-3G illustrate an example user interface used for publishing and sharing a video compilation, according to one embodiment. -
FIG. 4 illustrates the steps involved in defining and playing video compilations, according to one embodiment. -
FIG. 5 illustrates the steps involved in annotating a digital video, according to one embodiment. - The figures depict various embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
-
FIG. 1 is a block diagram of a system architecture in accordance with one embodiment. As illustrated inFIG. 1 , avideo hosting server 108 includes afront end server 124, avideo server 126, anetwork interface 122, avideo database 128, and auser database 140. Other conventional features, such as firewalls, load balancers, application servers, failover servers, site management tools, and so forth are not shown so as to more clearly illustrate the features of the system. Examples of a suitablevideo hosting server 108 for implementation of the system include the YouTube™ and Google Video™ websites; other video hosting sites are known as well, and can be adapted to operate according the teaching disclosed herein. It will be understood that the term “website” represents any system and method of providing content and is not intended to be limited to systems that support content provided via the Internet or the HTTP protocol. The various servers are conventionally implemented, whether as a single piece of software or hardware or as multiple pieces of software or hardware and can couple to thenetwork 105 via thenetwork interface 122. In general, functions described in one embodiment as being performed on the server side can also be performed on the client side in other embodiments if appropriate. - A
client 130 executes abrowser 132, and connects to thefront end server 124 via anetwork 105, which is typically the Internet, but may also be any network, including but not limited to a LAN, a MAN, a WAN, a mobile, wired or wireless network, a private network, or a virtual private network. While only asingle client 130 andbrowser 132 are shown, it is understood that very large numbers (e.g., millions) of clients are supported and can be in communication with thevideo hosting server 108 at any time. Theclient 130 may include a variety of different computing devices. Examples ofclient devices 130 are personal computers, digital assistants, personal digital assistants, cellular phones, mobile phones, smart phones or laptop computers. As will be obvious to one of ordinary skill in the art, the present invention is not limited to the devices listed above. - In some embodiments, the
browser 132 includes an embeddedvideo player 134 such as, for example, the Flash™ player from Adobe Systems, Inc. or any other player adapted for the video file formats used in the video hostingvideo hosting server 108. A user can access a video from thevideo hosting server 108 by browsing a catalog of videos, conducting searches on keywords, reviewing play lists from other users or the system administrator (e.g., collections of videos forming channels), or viewing videos associated with a particular user group (e.g., communities). -
Video server 126 receives uploaded media content from content providers and allows content to be viewed byclient 130. Content may be uploaded tovideo server 126 via the Internet from a personal computer, through a cellular network from a telephone or PDA, or by other means for transferring data overnetwork 105 known to those of ordinary skill in the art. Content may be downloaded fromvideo server 126 in a similar manner; in one embodiment media content is provided as a file download to aclient 130; in an alternative embodiment, media content is streamedclient 130. The means by which media content is received byvideo server 126 need not match the means by which it is delivered toclient 130. For example, a content provider may upload a video via a browser on a personal computer, whereasclient 130 may view that video as a stream sent to a PDA. Note also thatvideo server 126 may itself serve as the content provider. Communications between theclient 130 andvideo hosting server 108, or between the other distinct units ofFIG. 1 , may be encrypted or otherwise encoded. - Users of
clients 130 can also search for videos based on keywords, tags or other metadata. These requests are received as queries by thefront end server 124 and provided to thevideo server 126, which is responsible for searching thevideo database 128 for videos that satisfy the user queries. Thevideo server 126 supports searching on any fielded data for a video, including its title, description, tags, author, category and so forth. - Users of the
clients 130 andbrowser 132 can upload content to thevideo hosting server 108 vianetwork 105. The uploaded content can include, for example, video, audio or a combination of video and audio. The uploaded content is processed and stored in thevideo database 128. This processing can include format conversion (transcoding), compression, metadata tagging, and other data processing. An uploaded content file is associated with the uploading user, and so the user's account record is updated in theuser database 140 as needed. - For purposes of convenience and the description of one embodiment, the uploaded content will be referred to a “videos”, “video files”, or “video items”, but no limitation on the types of content that can be uploaded are intended by this terminology. Each uploaded video is assigned a video identifier when it is processed.
- The
user database 140 is responsible for maintaining a record of all users viewing videos on the website. Each individual user is assigned a user ID (also referred to as a user identity). The user ID can be based on any identifying information, such as the user's IP address, user name, or the like. The user database may also contain information about the reputation of the user in the video context, as well as through other applications, such as the use of email or text messaging. The user database may further contain information about membership in user groups. The user database may further contain, for a given user, a list of identities of other users who are considered friends of the user. (The term “list”, as used herein for concepts such as lists of authorized users, URL lists, and the like, refers broadly to a set of elements, where the elements may or may not be ordered.) - The
video database 128 is used to store the received videos. Thevideo database 128 stores video content and associated metadata, provided by their respective content owners. The video files have metadata associated with each file such as a video ID, artist, video title, label, genre, and time length. - A
video editing server 150 provides the ability to create compilations from, and add annotation to, videos in thevideo database 128. Thevideo editing server 150 has auser database 152 that maintains a record of all users using the video editing system. Each individual user is assigned a user ID (also referred to as a user identity). The user ID can be based on any identifying information, such as the user's IP address, user name, or the like. Theuser database 152 may also contain information about the reputation of the user in the video context. The user database may further contain information about membership in user groups. The user database may further contain, for a given user, a list of identities of other users who are considered friends of the user. (The term “list”, as used herein for concepts such as lists of authorized users, URL lists, and the like, refers broadly to a set of elements, where the elements may or may not be ordered.) In an embodiment in which thevideo hosting server 108 and thevideo editing server 150 are implemented using the same server system, then theuser database 140 and theuser database 152 are implemented as a single database. - The
video editing server 150 keeps a record of various user video editing actions, such as aggregating videos into a compilation, clipping videos to more restricted portions, annotating the videos with information about slides, people or events, adding popup visuals such as text boxes, and the like. It then stores these records within anediting database 154 in association with the user ID from theuser database 152. Thevideo editing server 150 also provides to entities such as theclient 130 or thevideo hosting server 108, for a given video, records of editing actions stored within theediting database 154 for that video. In one embodiment, thevideo editing server 150 is on a separate physical server from thevideo hosting server 108, although in other embodiments the annotation functionality is included within thevideo hosting server 108.Video editing server 150 may be operated by the same entity that operatesvideo hosting server 108, or may be a service provided by a third party, e.g., for a fee. - The
editing database 154 stores information on video compilations, which are ordered collections of videos treated as a single composite video, and may include a single video. For example,editing database 154 stores in association with, e.g., a unique compilation identifier, an identifier of the user who created of the compilation, a total number of videos within the compilation, an identifier of each video to be played as part of the compilation, as well as an indicator (such as a time range) of the portion of each video to be played and an indicator of the order of the video within the compilation (such as “1” to indicate the first video in the compilation ordering). The editing database also maintains an association between each annotation and the appropriate portion of the annotated video or video compilation. In one embodiment, for example, theediting database 154 stores an identifier of the annotation type (e.g., a text box, or an annotation corresponding to a person) along with any information associated with that type (e.g., a text caption, or an ID corresponding to the person), a time stamp(s) of the portion of the video or compilation to which the annotation applies (e.g., from time 01:05 to time 01:26), an identifier of the video which the annotation annotates, and an identifier of a user who submitted the annotation (e.g., the user ID from the user database 152). Many other storage implementations for annotations would be equally possible to one of skill in the art. -
FIG. 2 illustrates an example user interface for specifying the videos to be included in the compilation, according to one embodiment. In region 210, a number of thumbnail representations of videos are displayed, in response to the entry of a query for videos specified insearch area 220. Specifically, region 210 displays videos returned in response to the query “penguin” entered insearch area 220. The query may locate videos from various sources, such as thevideo database 128. Alternatively, a video can be specified directly via an identifier, such as a URL of a video within thevideo database 128. A selected video is then displayed, e.g. via live video playback, invideo region 250. Videos are then added to the compilation via, for example, theAdd button 230. Videos currently added to the compilation are displayed in theregion 240. Selection of theDone button 260 causes the process to proceed to the editing phase. -
FIG. 3A illustrates anexample user interface 300 used during the editing phase, according to one embodiment. Videos in the video set 305 correspond to the videos selected via the interface ofFIG. 2 . In the example ofFIG. 3A , the compilation includes threevideos 305A-C, which are depicted using thumbnails representations of their content. Each video in the video set 305 has aremove button 306A and aduplicate button 306B; selection of the former removes the video from the video set 305, and selection of the latter creates a new, separate instance of the video and adds it to thevideo set 305. Selection of “Add Videos”button 325 redisplays the user interface ofFIG. 2 , which can be used to select additional videos. One of the videos—video 305A in the example ofFIG. 3A —is visually distinguished, for example by use of a highlighted box or other characteristic to designate that it is the currently selected video, and is shown inplayback area 310. The controls inplayback control area 315 both control playback and display playback position within the set of selected videos. The play-pause button 318 is used to start and stop playback of the video. The scene seekbutton 319 allows a user to seek to the next “interesting” portion of the current video (or subsequent videos in the set of videos). As described further below, interesting portions include those with which annotation has been associated. Thevideo segment bar 316 displays the relative lengths of each of the videos in the video set 305, withdividers dividers video segment bar 316 into three distinct portions, the length of each reflecting the relative lengths of the played portions of thevideos 305. Thethumb marker 317 displays the current playback location, including both the video that is being played and the location within that video. For example, the position of thethumb marker 317 inFIG. 3A indicates that the current playback location is near the beginning of the first of the threevideos 305. -
Timeline bar 320 represents the video currently being played, and thus corresponds to one of the segments on thevideo segment bar 316. Thecurrent time marker 322 indicates the current playback location within the current video, and thus corresponds to thethumb marker 317. Thetimeline bar 320 shows the times of the video currently being played, including the total length. In the example ofFIG. 3A , the time interval labels listed on thetimeline bar 320 indicate that the current video (thefirst video 305A, in the depicted example) has a length of approximately 1 minute and 30 seconds. Drag bars 321A and 321B indicate start and end times, respectively, for playback of the video. Thus, a user can drag thestart drag bar 321A to some time after the beginning of the current video, and/or theend drag bar 321B to some time before the actual end of the video, and subsequent playback of the video will then begin and end at corresponding times. For example, referring toFIG. 3D , thestart drag bar 321A has been dragged forward from time 0:00 to 0:08, and theend drag bar 321B has been dragged from time 1:30 back to time 0:45. Thus, when the video compilation is played back, the first video will start being played at time 0:08 and end at time 0:45, and the second and third videos will start and end at times according to their own drag bars 321, which are displayed when the videos have been made active. A video is made active either explicitly, such as by the user clicking on the corresponding thumbnail representation of thevideo 305, or implicitly, such as by playback of the video completing one video and proceeding to the next in sequence in the compilation. - The
user interface 300 ofFIG. 3A additionally provides the ability to associate slides and other types of annotation with the videos in the compilation. For example,annotation tools region 340 displays the available annotation tools within atool selection region 345, which in the example ofFIG. 3A includes slides, people, and highlights. Regarding the slides annotation,current slide region 330 ofFIG. 3A indicates that no slides have yet been associated with thevideos 305. Selectingregion 330, or uploadbutton 341, such as by clicking on them with the mouse, leads to the display of the user interface ofFIG. 3B . -
FIG. 3B depicts two ways of associating slides with the videos: by uploading a local file (in this case, a Portable Document Format (PDF) file) via selection of the uploadbutton 305B, which leads to a standard file selection dialog box for specifying the file, or by specifying a URL intext box 310B. Although in the example ofFIG. 3B the local file should be in PDF format, and the URL should correspond to a presentation hosted by the SLIDESHARE presentation hosting system, these options are merely for purposes of example, and in other embodiments other formats (e.g., PowerPoint) or presentation hosting systems may equally be employed. -
FIG. 3C depicts theuser interface 300 after a presentation has been associated with thevideos 305. The “Slides” icon oftool selection region 345 is highlighted to indicate that the slides annotation tool is the tool currently selected, thecurrent slide region 330 now displays the first slide of the presentation, and sliderepresentation region 342 displays a scrollable list of thumbnail representations of the slides in the presentation. Clicking on a slide thumbnail tool fromregion 342 associates that slide with the currently displayed portion of the video. - For example,
FIG. 3D illustrates theuser interface 300 after annotation has been associated with thevideos 305. In particular, associated slidesregion 347 displays thumbnails of the slides from theregion 342 ofFIG. 3C . As more slides are added, the slide thumbnails withinregion 347 shrink so that all the slides are displayed at once. Thus, as more slides are added, the content of a given slide may become difficult to discern at smaller thumbnail sizes. In order to allow a user to view the contents of the slide thumbnails at a sufficiently large size to be viewable, theuser interface 300 enlarges the thumbnails in response to the user indicating an interest in them, such as moving the mouse cursor over them. For example, inFIG. 3D , the user has moved the mouse cursor over the fourth slide (“History of the Penguin”), and the fourth slide (as well as its neighboring slides) has accordingly grown in size. Moving the mouse cursor away from the fourth slide will cause it (and its neighboring slides) to return to its normal smaller size. -
FIG. 3D also depicts slide markers 355 (as illustrated, markers displaying rectangle icons) placed on thetimeline 320 at timeline locations corresponding to the time within the video at which the slide was associated with the video. In one embodiment, a slide is associated with the portion of the video beginning with the time that the slide was associated, and ending with a time that the next slide was associated, or with the end of the video compilation (i.e., the end of the last video in the sequence of ordered videos in the compilation), if there is no next slide. -
FIG. 3D further depictsuser interface region 350 for defining annotation tools and adding annotation relating to people in the video. Selecting the “Add a new person”button 351 allows a user to specify data describing a person, such as the person's name and description. Once defined, an annotation tool for the person is added to a list within theregion 350 and displayed to the user. For example,tools 352A and 352B respectively correspond to the person “Peter Penguin”, described as a “Documentary Star”, and “The Announcer”, described as an actor with the BBC. Each of these tools 352 can be edited via its associated Edit button. Selecting a people tool's “Tag now” button creates an annotation for the person corresponding to that entry and associates it with the current time of the current video, including displaying a person tag at the corresponding locations on thetimeline 320. For example, thetimeline 320 ofFIG. 3D displays two person tags 356, represented with icons depicting a person. -
FIG. 3E illustrates theuser interface 300 ofFIG. 3C after the addition of annotation. In addition to the slide and people annotations depicted inFIG. 3D ,FIG. 3E further depicts auser interface region 355 for adding annotation related to highlights in a video. For example,region 355 depicts two text field entries, “Peter slides” and “The penguins begin to fly!” corresponding to two previously specified highlights, as well as acurrent text field 357 for adding a new highlight. Selecting thebutton 358 creates a new highlight for the text within thecurrent text field 357, associating it with the current time of the current video of the compilation and creating a marker tag at the corresponding time on the video. For example,FIG. 3E illustrates two highlight marker tags 357, depicted with star icons, indicating thehighlights -
FIG. 3E further depicts a user interface for selectively viewing the video compilation so as to focus on particular people or events. Selecting theicons 362 toggles display of their associated menus. For example, selecting the “People” or “Highlights” icons within icon set 362 causesmenus menu 361A contains an item for “Peter Penguin”, the only people annotation that has been added to the compilation. Each selection of the “Peter Penguin” item causes video playback to begin at the next video portion (following the position indicated by the current time marker 322) previously associated with the corresponding people tag. Similarly,menu 361B contains a list of each highlight with which the video compilation has been tagged, the selection of any of which will cause playback of the video compilation at the corresponding time. -
FIG. 3E additionally depicts displaying an indication of a region to which an annotation corresponds before a user causes playback to begin at the portion of the video corresponding to that annotation. Specifically,indicator 359 is located on thevideo segment bar 316, its horizontal start and end positions indicating start and end times of a portion of the video to which the annotation applies. Theindicator 359 can appear in response to a variety of events, such as hovering the mouse pointer over a visual representation of the annotation, such as an entry for annotations in menus 361, a slide displayed in associatedslides region 347, or one of the annotation tags ontimeline 320. Moving the mouse pointer away from the visual representation of the annotation then causes theindicator 359 to disappear. -
FIG. 3E also depicts the addition of textual comments to the video compilation. For example, moving the mouse cursor over the video playing in thevideo playback region 310 causes a prompt 365 to be displayed at the location of the mouse cursor. Responding to the prompt, e.g. by clicking the mouse at the current location, causes display of a text box entry area allowing the user to comment on the current portion of the video. For example, resultingcomment area 366 displays a comment “He's sliding!” entered by the author of the video. - Any of the annotations displayed on the
timeline 320—e.g., slide, people, and highlight tags—can be associated with different portions of the video compilation by dragging their tag icons 355-357 to a different location on the timeline. Similarly, the annotations may be removed entirely by dragging their icons off the timeline, selecting them and pressing the “Delete” key, or the like. - The resulting video compilation may then be saved, e.g. via the
Save button 370, and published to the Internet. Related information, such as compilation title, compilation description, compilation tags (e.g. for finding the compilation as part of a search), whether the compilation is private to the author or also available to the public, and whether users other than the author can provide comments, can also be specified as part of publishing, e.g. as depicted in the sample user interface ofFIG. 3F . The compilation can also be shared, such as with users of social networking sites, as depicted inFIG. 3G . - During video playback, either while the video is being edited, or during post-publication viewing, any previously-specified annotations are displayed and can be used to alter the flow of control of the video compilation. For example, any slides that were associated with the video compilation are displayed within the associated slides
region 347 ofFIG. 3D , the current slide being visually distinguished from the others (e.g., with an orange highlight) and also displayed in thecurrent slide region 330. Selecting a slide thumbnail within the associated slidesregion 347 causes video playback to begin at the point in time associated with that slide. Likewise, selecting a people or highlights tag from menus 361 causes video playback to begin at the highlight, or at the next instance of the people tag, if any. Additionally, as the video plays, the text associated with any of the markup tags or comments is displayed along with the video at the times of the video at which the tags/comments were specified. For example, comments (such as thecomment area 366 ofFIG. 3E ), the name of a people tag entry (e.g. “Peter Penguin”), and the title of an event (e.g. “Peter slides”) are displayed along with the video, such as over top of the playing video, or adjacent to it, for some given time period, e.g. 3 seconds. - It is appreciated that the exact components and arrangement thereof, the order of operations, and other aspects of the above description are purely for purposes of example, and a wide variety of alternative component arrangements and operation orders would be equally possible to one of skill in the art. For example, the
video editing server 150 ofFIG. 1 could be part of thevideo hosting server 108, a server on the same local network as the video hosting server, or on a remote network from the video hosting server. As another example, the authentication server 170 could be separate from the video hosting server, or could be a component thereof. Further, someclients 130 could be configured not to communicate with theannotation server 150, or thevideo editing server 150 not to provide annotations to theclient 130, in which case theclient 130 obtains un-annotated video (e.g. clients in each country or language can have their own set of annotations). In some embodiments, theclient 130 can perform annotation offline, without a network connection to theannotation server 150, and later synchronize the annotations with thevideo editing server 150 when a network connection becomes available. -
FIG. 4 illustrates the steps involved in defining and playing video compilations, according to one embodiment. First, videos are received 410, e.g. after a user selects the videos to include in the compilation via the user interface ofFIG. 2 . These received videos make up the video compilation. Ordered representations of the videos are then displayed 420. For example, thethumbnail representations 305 ofFIG. 3A constitute one such ordered representation, the thumbnail representations being arranged in an order specified by a user, such as the order in which the videos were added using the user interface ofFIG. 2 , or a new order resulting from the user dragging the thumbnail representations into a new order. A timeline, such astimeline 320 ofFIG. 3A , is then displayed 430 responsive to a selection of one of therepresentations 305. The timeline comprises start and end drag bars 321 corresponding to start and end times of a display portion of the video to display during video playback. When the user changes the position of the start or end drag bars 321, this alters 440 the start or end time of the display portion. For example, advancing the start drag bar 321 causes the video, when played, to begin at a later point. The result of the prior actions defines 450 a video compilation comprising the display portions of the videos specified by the start and end drag bars 321, where the display portions are ordered according to the corresponding ordered representations of the plurality of videos, e.g. thethumbnail representations 305 depicted inFIG. 3A . The video compilation can then be played 460, where the display portions of the videos are played in the order of their respective videos, and the non-display portions are omitted from playback. -
FIG. 5 illustrates the steps involved in annotating a digital video, according to one embodiment. First, a video is received 510, e.g. after a user selects a video via the user interface ofFIG. 2 . A graphical user interface is then displayed 520, the graphical user interface including the video, a timeline associated with the video, and annotation tools. For example, theuser interface 300 ofFIG. 3D displays people annotationtools 352A and 352B. At least one of the annotation tools is created responsive to a user providing information associated with the tool, such as a user selecting the “Add a new person”button 351 ofFIG. 3D and specifying the name and description of a new person, leading to the creation of tools such as 352. Likewise, the slide thumbnail tools ofregion 342 ofFIG. 3C are created responsive to the user specifying a slide presentation (e.g., via the user interface ofFIG. 3B ) from which to create the slide thumbnail tools. An annotation is then associated 530 with a portion of the video responsive to selection by the user of one of the annotation tools. For example, if a user selects a slide annotation tool, a corresponding slide annotation is created and associated with a portion of the video starting at the current playback time of the video and ending at the beginning of the next slide annotation, or at the end of the video or video compilation, if there is no such next slide annotation. A visual indication of the annotation is additionally displayed on thetimeline 320 at a location corresponding to the first portion of the video. For example,FIG. 3E depicts a visual indication in the form ofhighlight annotation tag 357 added on thetimeline 320 at a location corresponding to the current time of the video, as indicated by thecurrent time marker 322. These various visual indications can further be moved along the timeline to associate their respective annotations with different portions of the video, dragged off the timeline to remove them, and the like. - Reference in the specification to “one embodiment” or to “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- It should be noted that the process steps and instructions of the present invention can be embodied in software, firmware or hardware, and when embodied in software, can be downloaded to reside on and be operated from different platforms used by a variety of operating systems.
- The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
- The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any references below to specific languages are provided for disclosure of enablement and best mode of the present invention.
- While the invention has been particularly shown and described with reference to a preferred embodiment and several alternate embodiments, it will be understood by persons skilled in the relevant art that various changes in form and details can be made therein without departing from the spirit and scope of the invention.
- Finally, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
Claims (19)
1. A computer-implemented method for annotating a compilation of digital videos, the method comprising:
displaying in a graphical user interface indicia of each of a plurality of videos included in a compilation, and a video segment bar divided into portions, each of the portions reflecting a relative length of one of the plurality of videos, a first portion and a second portion of the video segment bar reflecting a first relative length of a first video of the videos and second relative length of a second video of the videos, respectively;
receiving a selection of the first video from the plurality of videos in the compilation;
displaying in the graphical user interface a timeline reflecting a total length of the first video, the timeline visually distinct from the video segment bar;
receiving, via the graphical user interface, a selection of an annotation to include in the compilation at a position within the compilation associated with a first portion of the first video, the first portion of the first video corresponding to a currently displayed portion of the first video, wherein the annotation includes a slide;
displaying an iconic representation of the selected annotation at a location on the timeline corresponding to the first portion of the first video; and
displaying, on the video segment bar in the graphical user interface, an indicator that indicates start and end times of the first portion of the first video to which the annotation applies.
2. (canceled)
3. The computer-implemented method of claim 1 , wherein the annotation includes information describing a person.
4. The computer-implemented method of claim 1 , wherein the annotation includes textual information describing a portion of the first video.
5. The computer-implemented method of claim 1 , further comprising:
responsive to a selection of the iconic representation of the selected annotation at the
location on the timeline, causing playback of the compilation starting at the first portion of the first video.
6. The computer-implemented method of claim 1 , wherein the timeline comprises:
a start drag bar corresponding to a start time of a display portion of the first video; and
an end drag bar corresponding to an end time of the display portion of the first video.
7. The computer-implemented method of claim 6 , further comprising responsive to a change of position of the start drag bar or the end drag bar on the timeline, modifying the start time or the end time of the display portion of the first video within the compilation.
8. The computer-implemented method of claim 1 , further comprising:
displaying in the graphical user interface a scene seek control;
wherein selection of the scene seek control causes playback of the first video starting at a next portion of the first video, the next portion of the first video being after the currently displayed portion of the first video.
9. The computer-implemented method of claim 1 , further comprising associating the annotation with a second portion of the first video responsive to a movement of the iconic representation of the annotation to a location on the timeline corresponding to the second portion of the first video.
10. A computer system for annotating a digital video, the system comprising:
an editing database storing user editing actions applied to a compilation; and
a processor configured to execute instructions performing actions comprising:
providing a graphical user interface to a client, the graphical user interface including:
indicia of each of a set of videos to include in the compilation, a video segment bar divided into portions, each of the portions reflecting relative length of one of the set of videos, a first portion and a second portion of the video segment bar reflecting a first relative length of a first video of the set of videos and a second relative length of a second video of the set of videos, respectively; and
a timeline reflecting a total length of the first video, the timeline being visually distinct from the video segment bar;
receiving using the graphical user interface a selection of an annotation to include in the compilation at a position within the compilation associated with a first portion of the first video, the first portion of the first video corresponding to a currently displayed portion of the first video, wherein the annotation includes a slide;
displaying an iconic representation of the selected annotation at a location on the timeline corresponding to the first portion of the first video; and
displaying, on the video segment bar in the graphical user interface, an indicator that indicates start and end times of the first portion of the first video to which the annotation applies.
11. (canceled)
12. The computer system of claim 10 , wherein the annotation includes information describing a person.
13. The computer system of claim 10 , wherein the annotation includes textual information describing a portion of the first video.
14. The computer system of claim 10 , the actions performed by the instructions further comprising:
responsive to a selection of the iconic representation of the selected annotation at the location on the timeline, causing playback of the compilation starting at the first portion of the first video.
15. The computer system of claim 10 , wherein the timeline comprises:
a start drag bar corresponding to a start time of a display portion of the first video; and
an end drag bar corresponding to an end time of the display portion of the first video.
16. The computer system of claim 15 , the actions performed by the instructions further comprising responsive to a change of position of the start drag bar or the end drag bar on the timeline, modifying the start time or the end time of the display portion of the first video within the compilation.
17. The computer system of claim 10 , the actions performed by the instructions further comprising:
providing, within the graphical user interface, a scene seek control;
wherein client selection of the scene seek control causes playback of the selected video starting at a next portion of the first video, the next portion of the first video being after the currently displayed portion of the first video.
18. The computer system of claim 10 , the actions performed by the instructions further comprising:
storing the annotation in association with a second portion of the first video responsive to receiving a notice indicating movement of the iconic representation of the annotation to a location on the timeline corresponding to the second portion of the first video.
19. A non-transitory computer-readable storage medium storing a computer program executable by a processor for annotating a digital video, actions of the computer program comprising:
displaying in a graphical user interface indicia of each of a plurality of videos included in a compilation, and a video segment bar divided into portions, each of the portions reflecting a relative length of one of the plurality of videos, a first portion and a second portion of the video segment bar reflecting a first relative length of a first video of the set of videos and a second relative length of a second video of the set of videos, respectively;
receiving a selection of the first video from the plurality of videos;
displaying in the graphical user interface a timeline reflecting a total length of the first video, the timeline being visually distinct from the video segment bar;
receiving using the graphical user interface a selection of an annotation to include in the compilation at a position within the compilation associated with a first portion of the first video, the first portion of the first video corresponding to a currently displayed portion of the first video, wherein the annotation includes a slide;
displaying an iconic representation of the selected annotation at a location on the timeline corresponding to the first portion of the first video; and
displaying, on the video segment bar in the graphical user interface, an indicator that indicates start and end times of the first portion of the first video to which the annotation applies.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/339,258 US20190235741A1 (en) | 2009-03-25 | 2014-07-23 | Web-based system for video editing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/411,162 US8826117B1 (en) | 2009-03-25 | 2009-03-25 | Web-based system for video editing |
US14/339,258 US20190235741A1 (en) | 2009-03-25 | 2014-07-23 | Web-based system for video editing |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/411,162 Continuation US8826117B1 (en) | 2009-03-25 | 2009-03-25 | Web-based system for video editing |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190235741A1 true US20190235741A1 (en) | 2019-08-01 |
Family
ID=51400185
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/411,162 Active 2029-12-05 US8826117B1 (en) | 2009-03-25 | 2009-03-25 | Web-based system for video editing |
US14/339,258 Abandoned US20190235741A1 (en) | 2009-03-25 | 2014-07-23 | Web-based system for video editing |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/411,162 Active 2029-12-05 US8826117B1 (en) | 2009-03-25 | 2009-03-25 | Web-based system for video editing |
Country Status (1)
Country | Link |
---|---|
US (2) | US8826117B1 (en) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108777B2 (en) | 2008-08-11 | 2012-01-31 | Microsoft Corporation | Sections of a presentation having user-definable properties |
US10127524B2 (en) | 2009-05-26 | 2018-11-13 | Microsoft Technology Licensing, Llc | Shared collaboration canvas |
US8910046B2 (en) | 2010-07-15 | 2014-12-09 | Apple Inc. | Media-editing application with anchored timeline |
US9864612B2 (en) | 2010-12-23 | 2018-01-09 | Microsoft Technology Licensing, Llc | Techniques to customize a user interface for different displays |
US8745499B2 (en) * | 2011-01-28 | 2014-06-03 | Apple Inc. | Timeline search and index |
US11747972B2 (en) | 2011-02-16 | 2023-09-05 | Apple Inc. | Media-editing application with novel editing tools |
US9098611B2 (en) * | 2012-11-26 | 2015-08-04 | Intouch Technologies, Inc. | Enhanced video interaction for a user interface of a telepresence network |
US10079039B2 (en) * | 2011-09-26 | 2018-09-18 | The University Of North Carolina At Charlotte | Multi-modal collaborative web-based video annotation system |
US9354763B2 (en) * | 2011-09-26 | 2016-05-31 | The University Of North Carolina At Charlotte | Multi-modal collaborative web-based video annotation system |
US8682973B2 (en) | 2011-10-05 | 2014-03-25 | Microsoft Corporation | Multi-user and multi-device collaboration |
US9544158B2 (en) | 2011-10-05 | 2017-01-10 | Microsoft Technology Licensing, Llc | Workspace collaboration via a wall-type computing device |
US9996241B2 (en) * | 2011-10-11 | 2018-06-12 | Microsoft Technology Licensing, Llc | Interactive visualization of multiple software functionality content items |
US10198485B2 (en) | 2011-10-13 | 2019-02-05 | Microsoft Technology Licensing, Llc | Authoring of data visualizations and maps |
GB2504310B (en) * | 2012-07-25 | 2019-05-01 | Wirewax Ltd | Online video distribution |
US20170024097A1 (en) * | 2012-09-13 | 2017-01-26 | Bravo Ideas Digital Co., Ltd. | Method and Host Server for Creating a Composite Media File |
US9720894B1 (en) | 2012-09-14 | 2017-08-01 | Google Inc. | Methods and systems for annotating an image and publishing the annotated image |
US10001904B1 (en) * | 2013-06-26 | 2018-06-19 | R3 Collaboratives, Inc. | Categorized and tagged video annotation |
US10277643B2 (en) * | 2014-05-23 | 2019-04-30 | Samsung Electronics Co., Ltd. | Server and method of providing collaboration services and user terminal for receiving collaboration services |
US10095390B1 (en) * | 2014-09-22 | 2018-10-09 | Google Llc | Methods, systems, and media for inserting and presenting video objects linked to a source video |
US10681391B2 (en) | 2016-07-13 | 2020-06-09 | Oath Inc. | Computerized system and method for automatic highlight detection from live streaming media and rendering within a specialized media player |
USD833474S1 (en) * | 2017-01-27 | 2018-11-13 | Veritas Technologies, LLC | Display screen with graphical user interface |
US11018884B2 (en) * | 2017-04-24 | 2021-05-25 | Microsoft Technology Licensing, Llc | Interactive timeline that displays representations of notable events based on a filter or a search |
US10276213B2 (en) * | 2017-05-22 | 2019-04-30 | Adobe Inc. | Automatic and intelligent video sorting |
WO2019036690A1 (en) * | 2017-08-18 | 2019-02-21 | BON2 Media Services LLC | Embedding interactive content into a shareable online video |
US10955999B2 (en) * | 2017-11-29 | 2021-03-23 | LearnZillion, Inc. | Controlled content presentation of objects on a canvas in a browser according to a grid |
US10664650B2 (en) * | 2018-02-21 | 2020-05-26 | Microsoft Technology Licensing, Llc | Slide tagging and filtering |
US11106916B2 (en) | 2019-08-23 | 2021-08-31 | International Business Machines Corporation | Identifying segment starting locations in video compilations |
CN113556610B (en) * | 2021-07-06 | 2023-07-28 | 广州方硅信息技术有限公司 | Video synthesis control method and device, equipment and medium thereof |
EP4124971A1 (en) * | 2021-07-30 | 2023-02-01 | L&A Video Consulting GmbH | Media platform and method for providing structured access to media content |
US20230088315A1 (en) * | 2021-09-22 | 2023-03-23 | Motorola Solutions, Inc. | System and method to support human-machine interactions for public safety annotations |
US11741995B1 (en) * | 2021-09-29 | 2023-08-29 | Gopro, Inc. | Systems and methods for switching between video views |
US11861141B2 (en) * | 2021-10-11 | 2024-01-02 | Motorola Mobility Llc | Screenshot capture based on content type |
US11532179B1 (en) | 2022-06-03 | 2022-12-20 | Prof Jim Inc. | Systems for and methods of creating a library of facial expressions |
Family Cites Families (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69222102T2 (en) * | 1991-08-02 | 1998-03-26 | Grass Valley Group | Operator interface for video editing system for the display and interactive control of video material |
JPH05197573A (en) | 1991-08-26 | 1993-08-06 | Hewlett Packard Co <Hp> | Task controlling system with task oriented paradigm |
GB2270242A (en) | 1992-08-29 | 1994-03-02 | Ibm | A method of editing for an object oriented computer system |
US5339393A (en) * | 1993-04-15 | 1994-08-16 | Sony Electronics, Inc. | Graphical user interface for displaying available source material for editing |
US6262732B1 (en) | 1993-10-25 | 2001-07-17 | Scansoft, Inc. | Method and apparatus for managing and navigating within stacks of document pages |
US5664216A (en) * | 1994-03-22 | 1997-09-02 | Blumenau; Trevor | Iconic audiovisual data editing environment |
US5600775A (en) | 1994-08-26 | 1997-02-04 | Emotion, Inc. | Method and apparatus for annotating full motion video and other indexed data structures |
US5812642A (en) | 1995-07-12 | 1998-09-22 | Leroy; David J. | Audience response monitor and analysis system and method |
US5708845A (en) | 1995-09-29 | 1998-01-13 | Wistendahl; Douglass A. | System for mapping hot spots in media content for interactive digital media program |
US5966121A (en) | 1995-10-12 | 1999-10-12 | Andersen Consulting Llp | Interactive hypervideo editing system and interface |
US5732184A (en) * | 1995-10-20 | 1998-03-24 | Digital Processing Systems, Inc. | Video and audio cursor video editing system |
US5760767A (en) | 1995-10-26 | 1998-06-02 | Sony Corporation | Method and apparatus for displaying in and out points during video editing |
US5781188A (en) | 1996-06-27 | 1998-07-14 | Softimage | Indicating activeness of clips and applying effects to clips and tracks in a timeline of a multimedia work |
US6570587B1 (en) | 1996-07-26 | 2003-05-27 | Veon Ltd. | System and method and linking information to a video |
US20030093790A1 (en) | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20020120925A1 (en) | 2000-03-28 | 2002-08-29 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US6006241A (en) * | 1997-03-14 | 1999-12-21 | Microsoft Corporation | Production of a video stream with synchronized annotations over a computer network |
US6792618B1 (en) | 1998-03-02 | 2004-09-14 | Lucent Technologies Inc. | Viewer customization of displayed programming based on transmitted URLs |
US6289346B1 (en) | 1998-03-12 | 2001-09-11 | At&T Corp. | Apparatus and method for a bookmarking system |
US6295092B1 (en) | 1998-07-30 | 2001-09-25 | Cbs Corporation | System for analyzing television programs |
WO2000016221A1 (en) | 1998-09-15 | 2000-03-23 | Microsoft Corporation | Interactive playlist generation using annotations |
US6956593B1 (en) | 1998-09-15 | 2005-10-18 | Microsoft Corporation | User interface for creating, viewing and temporally positioning annotations for media content |
US6357042B2 (en) | 1998-09-16 | 2002-03-12 | Anand Srinivasan | Method and apparatus for multiplexing separately-authored metadata for insertion into a video data stream |
US20020059218A1 (en) | 1999-01-26 | 2002-05-16 | Katherine Grace August | System and method for obtaining real time survey information for media programming using input device |
KR100326400B1 (en) | 1999-05-19 | 2002-03-12 | 김광수 | Method for generating caption location information, method for searching thereby, and reproducing apparatus using the methods |
US6415438B1 (en) | 1999-10-05 | 2002-07-02 | Webtv Networks, Inc. | Trigger having a time attribute |
US7055168B1 (en) | 2000-05-03 | 2006-05-30 | Sharp Laboratories Of America, Inc. | Method for interpreting and executing user preferences of audiovisual information |
KR20040041082A (en) | 2000-07-24 | 2004-05-13 | 비브콤 인코포레이티드 | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
JP2002163143A (en) | 2000-07-28 | 2002-06-07 | Any One Wireless Co Ltd | Content reformatting system and its method for radio site |
US20020065678A1 (en) | 2000-08-25 | 2002-05-30 | Steven Peliotis | iSelect video |
US7207006B1 (en) | 2000-09-01 | 2007-04-17 | International Business Machines Corporation | Run-time hypervideo hyperlink indicator options in hypervideo players |
US8020183B2 (en) | 2000-09-14 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Audiovisual management system |
US6774908B2 (en) | 2000-10-03 | 2004-08-10 | Creative Frontier Inc. | System and method for tracking an object in a video and linking information thereto |
US7254605B1 (en) | 2000-10-26 | 2007-08-07 | Austen Services Llc | Method of modulating the transmission frequency in a real time opinion research network |
US7032178B1 (en) | 2001-03-30 | 2006-04-18 | Gateway Inc. | Tagging content for different activities |
US20040138946A1 (en) | 2001-05-04 | 2004-07-15 | Markus Stolze | Web page annotation systems |
US20020188630A1 (en) | 2001-05-21 | 2002-12-12 | Autodesk, Inc. | Method and apparatus for annotating a sequence of frames |
WO2002101584A2 (en) | 2001-06-11 | 2002-12-19 | C-Burn Systems Ltd | Selecting tracks from a jukebox via a wireless communications device |
WO2003001413A1 (en) | 2001-06-22 | 2003-01-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
TW520602B (en) * | 2001-06-28 | 2003-02-11 | Ulead Systems Inc | Device and method of editing video program |
US20030018668A1 (en) | 2001-07-20 | 2003-01-23 | International Business Machines Corporation | Enhanced transcoding of structured documents through use of annotation techniques |
WO2003019325A2 (en) | 2001-08-31 | 2003-03-06 | Kent Ridge Digital Labs | Time-based media navigation system |
US7343487B2 (en) | 2001-10-10 | 2008-03-11 | Nokia Corporation | Datacast distribution system |
US7180623B2 (en) | 2001-12-03 | 2007-02-20 | Canon Kabushiki Kaisha | Method and apparatus for print error recovery |
US20030107592A1 (en) | 2001-12-11 | 2003-06-12 | Koninklijke Philips Electronics N.V. | System and method for retrieving information related to persons in video programs |
US20030112276A1 (en) | 2001-12-19 | 2003-06-19 | Clement Lau | User augmentation of content |
US7137062B2 (en) | 2001-12-28 | 2006-11-14 | International Business Machines Corporation | System and method for hierarchical segmentation with latent semantic indexing in scale space |
US20040205482A1 (en) | 2002-01-24 | 2004-10-14 | International Business Machines Corporation | Method and apparatus for active annotation of multimedia content |
US7424715B1 (en) | 2002-01-28 | 2008-09-09 | Verint Americas Inc. | Method and system for presenting events associated with recorded data exchanged between a server and a user |
US6988245B2 (en) * | 2002-06-18 | 2006-01-17 | Koninklijke Philips Electronics N.V. | System and method for providing videomarks for a video program |
US7149755B2 (en) | 2002-07-29 | 2006-12-12 | Hewlett-Packard Development Company, Lp. | Presenting a collection of media objects |
US7257774B2 (en) | 2002-07-30 | 2007-08-14 | Fuji Xerox Co., Ltd. | Systems and methods for filtering and/or viewing collaborative indexes of recorded media |
US6993347B2 (en) | 2002-12-17 | 2006-01-31 | International Business Machines Corporation | Dynamic media interleaving |
US8307273B2 (en) | 2002-12-30 | 2012-11-06 | The Board Of Trustees Of The Leland Stanford Junior University | Methods and apparatus for interactive network sharing of digital video content |
US7131059B2 (en) | 2002-12-31 | 2006-10-31 | Hewlett-Packard Development Company, L.P. | Scalably presenting a collection of media objects |
US7383497B2 (en) | 2003-01-21 | 2008-06-03 | Microsoft Corporation | Random access editing of media |
US7904797B2 (en) | 2003-01-21 | 2011-03-08 | Microsoft Corporation | Rapid media group annotation |
US7739597B2 (en) | 2003-02-24 | 2010-06-15 | Microsoft Corporation | Interactive media frame display |
US8392834B2 (en) | 2003-04-09 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Systems and methods of authoring a multimedia file |
JP4406008B2 (en) | 2003-06-02 | 2010-01-27 | ディズニー エンタープライゼス インコーポレイテッド | Interactive video playback system and method |
US8321470B2 (en) | 2003-06-20 | 2012-11-27 | International Business Machines Corporation | Heterogeneous multi-level extendable indexing for general purpose annotation systems |
US7418656B1 (en) | 2003-10-03 | 2008-08-26 | Adobe Systems Incorporated | Dynamic annotations for electronics documents |
US20050097451A1 (en) | 2003-11-03 | 2005-05-05 | Cormack Christopher J. | Annotating media content with user-specified information |
US20050203892A1 (en) | 2004-03-02 | 2005-09-15 | Jonathan Wesley | Dynamically integrating disparate systems and providing secure data sharing |
KR20060132722A (en) | 2004-03-15 | 2006-12-21 | 야후! 인크. | Search systems and methods with integration of user annotations |
US7805678B1 (en) | 2004-04-16 | 2010-09-28 | Apple Inc. | Editing within single timeline |
JP2005352933A (en) | 2004-06-14 | 2005-12-22 | Fuji Xerox Co Ltd | Display arrangement, system, and display method |
US20050289469A1 (en) | 2004-06-28 | 2005-12-29 | Chandler Roger D | Context tagging apparatus, systems, and methods |
US20060041564A1 (en) | 2004-08-20 | 2006-02-23 | Innovative Decision Technologies, Inc. | Graphical Annotations and Domain Objects to Create Feature Level Metadata of Images |
US20070118794A1 (en) | 2004-09-08 | 2007-05-24 | Josef Hollander | Shared annotation system and method |
JP4727342B2 (en) | 2004-09-15 | 2011-07-20 | ソニー株式会社 | Image processing apparatus, image processing method, image processing program, and program storage medium |
US20060064733A1 (en) | 2004-09-20 | 2006-03-23 | Norton Jeffrey R | Playing an audiovisual work with dynamic choosing |
JP2008516475A (en) | 2004-10-05 | 2008-05-15 | ヴェクターマックス コーポレーション | Method and system for broadcasting multimedia data |
US7472341B2 (en) | 2004-11-08 | 2008-12-30 | International Business Machines Corporation | Multi-user, multi-timed collaborative annotation |
JP4353083B2 (en) | 2004-11-30 | 2009-10-28 | 日本電信電話株式会社 | Inter-viewer communication method, apparatus and program |
JP2006155384A (en) | 2004-11-30 | 2006-06-15 | Nippon Telegr & Teleph Corp <Ntt> | Video comment input/display method and device, program, and storage medium with program stored |
US9275052B2 (en) | 2005-01-19 | 2016-03-01 | Amazon Technologies, Inc. | Providing annotations of a digital work |
US20060286536A1 (en) | 2005-04-01 | 2006-12-21 | Sherman Mohler | System and method for regulating use of content and content styles in a distributed learning system |
US7769819B2 (en) | 2005-04-20 | 2010-08-03 | Videoegg, Inc. | Video editing with timeline representations |
US7636883B2 (en) | 2005-05-18 | 2009-12-22 | International Business Machines Corporation | User form based automated and guided data collection |
US20080005064A1 (en) | 2005-06-28 | 2008-01-03 | Yahoo! Inc. | Apparatus and method for content annotation and conditional annotation retrieval in a search context |
US8086605B2 (en) | 2005-06-28 | 2011-12-27 | Yahoo! Inc. | Search engine with augmented relevance ranking by community participation |
CN101253777A (en) | 2005-07-01 | 2008-08-27 | 极速决件公司 | Method, apparatus and system for use in multimedia signal encoding |
KR20070004153A (en) | 2005-07-04 | 2007-01-09 | 주식회사 다음커뮤니케이션 | System of providing contents preferred by a user and method thereof, system of selecting contents preferred by a user and method thereof, and system of selecting contents preferred by a group of users and method thereof |
EP1758398A1 (en) | 2005-08-23 | 2007-02-28 | Syneola SA | Multilevel semiotic and fuzzy logic user and metadata interface means for interactive multimedia system having cognitive adaptive capability |
JP2007151057A (en) | 2005-10-25 | 2007-06-14 | Dainippon Printing Co Ltd | Video content browsing system using evaluation comment information |
US20070099684A1 (en) | 2005-11-03 | 2007-05-03 | Evans Butterworth | System and method for implementing an interactive storyline |
US7945653B2 (en) | 2006-10-11 | 2011-05-17 | Facebook, Inc. | Tagging digital media |
US7761436B2 (en) | 2006-01-03 | 2010-07-20 | Yahoo! Inc. | Apparatus and method for controlling content access based on shared annotations for annotated users in a folksonomy scheme |
WO2007082169A2 (en) * | 2006-01-05 | 2007-07-19 | Eyespot Corporation | Automatic aggregation of content for use in an online video editing system |
US8214516B2 (en) | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
JP2007274090A (en) | 2006-03-30 | 2007-10-18 | Toshiba Corp | Content reproducing apparatus, method, and program |
US8645991B2 (en) | 2006-03-30 | 2014-02-04 | Tout Industries, Inc. | Method and apparatus for annotating media streams |
JP5051218B2 (en) | 2006-04-10 | 2012-10-17 | ヤフー! インコーポレイテッド | Video generation based on aggregated user data |
US7954049B2 (en) | 2006-05-15 | 2011-05-31 | Microsoft Corporation | Annotating multimedia files along a timeline |
JP4769635B2 (en) | 2006-05-22 | 2011-09-07 | 日本電信電話株式会社 | Server apparatus and client apparatus and program thereof |
WO2008014408A1 (en) | 2006-07-28 | 2008-01-31 | Blue Lava Technologies | Method and system for displaying multimedia content |
WO2008018550A1 (en) | 2006-08-10 | 2008-02-14 | Panasonic Corporation | Program recommendation system, program view terminal, program view program, program view method, program recommendation server, program recommendation program, and program recommendation method |
US7529797B2 (en) | 2006-08-16 | 2009-05-05 | Tagged, Inc. | User created tags for online social networking |
US8850464B2 (en) | 2006-10-09 | 2014-09-30 | Verizon Patent And Licensing Inc. | Systems and methods for real-time interactive television polling |
US7559017B2 (en) | 2006-12-22 | 2009-07-07 | Google Inc. | Annotation framework for video |
US7707162B2 (en) | 2007-01-08 | 2010-04-27 | International Business Machines Corporation | Method and apparatus for classifying multimedia artifacts using ontology selection and semantic classification |
US20080284910A1 (en) | 2007-01-31 | 2008-11-20 | John Erskine | Text data for streaming video |
US20080250331A1 (en) | 2007-04-04 | 2008-10-09 | Atul Tulshibagwale | Method and System of a Voting Based Wiki and Its Application to Internet Topic Directories |
US20090064005A1 (en) | 2007-08-29 | 2009-03-05 | Yahoo! Inc. | In-place upload and editing application for editing media assets |
US8209223B2 (en) | 2007-11-30 | 2012-06-26 | Google Inc. | Video object tag creation and processing |
US8291492B2 (en) | 2007-12-12 | 2012-10-16 | Google Inc. | Authentication of a contributor of online content |
US8181197B2 (en) | 2008-02-06 | 2012-05-15 | Google Inc. | System and method for voting on popular video intervals |
US8112702B2 (en) | 2008-02-19 | 2012-02-07 | Google Inc. | Annotating video intervals |
US8566353B2 (en) | 2008-06-03 | 2013-10-22 | Google Inc. | Web-based system for collaborative generation of interactive videos |
-
2009
- 2009-03-25 US US12/411,162 patent/US8826117B1/en active Active
-
2014
- 2014-07-23 US US14/339,258 patent/US20190235741A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US8826117B1 (en) | 2014-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8826117B1 (en) | Web-based system for video editing | |
US8826357B2 (en) | Web-based system for generation of interactive games based on digital videos | |
US9690768B2 (en) | Annotating video intervals | |
US9407974B2 (en) | Segmenting video based on timestamps in comments | |
US7908556B2 (en) | Method and system for media landmark identification | |
EP1999953B1 (en) | Embedded metadata in a media presentation | |
TWI511539B (en) | Techniques for management and presentation of content | |
US9659278B2 (en) | Methods, systems, and computer program products for displaying tag words for selection by users engaged in social tagging of content | |
US8688679B2 (en) | Computer-implemented system and method for providing searchable online media content | |
US20120315009A1 (en) | Text-synchronized media utilization and manipulation | |
US20070079321A1 (en) | Picture tagging | |
US9436950B2 (en) | Integrating sponsored media with user-generated content | |
US10264324B2 (en) | System and method for group-based media composition | |
WO2016161442A1 (en) | Selection overlays on electronic content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044567/0001 Effective date: 20170929 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |