US9934822B2 - Online video distribution - Google Patents

Online video distribution Download PDF

Info

Publication number
US9934822B2
US9934822B2 US14/482,130 US201414482130A US9934822B2 US 9934822 B2 US9934822 B2 US 9934822B2 US 201414482130 A US201414482130 A US 201414482130A US 9934822 B2 US9934822 B2 US 9934822B2
Authority
US
United States
Prior art keywords
video
frame
hyperlink
data
pixels
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.)
Active, expires
Application number
US14/482,130
Other versions
US20140376883A1 (en
Inventor
Steven James Callanan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vimeo com Inc
Original Assignee
Wirewax Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wirewax Ltd filed Critical Wirewax Ltd
Priority to US14/482,130 priority Critical patent/US9934822B2/en
Assigned to WireWax Limited reassignment WireWax Limited ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CALLANAN, STEVEN JAMES
Publication of US20140376883A1 publication Critical patent/US20140376883A1/en
Application granted granted Critical
Publication of US9934822B2 publication Critical patent/US9934822B2/en
Assigned to VIMEO.COM, INC. reassignment VIMEO.COM, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WireWax Limited
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • G11B27/3072Coded signal uses a correlation function for detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/748Hypervideo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • G06F17/30855
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8583Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by creating hot-spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division

Definitions

  • the present invention relates to online video distribution.
  • Online video is now an established communication tool, being used for social purposes and for commercial marketing and other purposes. Indeed, the success of online video is such that content-enabled video services are being developed, allowing functionality to be co-delivered with the video such as clickable hyperlinks within the video frame, such as external links that lead the viewer to a specific website or other internet address, or popouts to display text or images, or play video or audio alongside or instead of the video previously being played.
  • content-enabled video services are being developed, allowing functionality to be co-delivered with the video such as clickable hyperlinks within the video frame, such as external links that lead the viewer to a specific website or other internet address, or popouts to display text or images, or play video or audio alongside or instead of the video previously being played.
  • U.S. Pat. No. 7,620,914 discloses the incorporation of clickable hyperlinks into a viewable video, sending the hyperlink data in a separate stream alongside the video data. The two are then re-united in the video player and the hyperlinks are displayed over the video data, allowing a user to click the hyperlink as and when desired.
  • U.S. Pat. No. 7,817,822 discloses a motion tracking system for such hyperlinks. This allows a user to associate the hyperlink with a specific feature in a frame of the video, following which the motion tracking system detects movement of that feature in subsequent frames and adjusts the position of the hyperlink accordingly. As a result, the hyperlink appears to “float” over the feature and follow it as it moves in the video. The hyperlink can therefore be associated with the feature, such as a link offering more information on or an opportunity to purchase the item forming that feature. Multiple hyperlinks can then be safely added to a video or video segment, with the meaning of each hyperlink remaining clear to a viewer at all times.
  • a video data format comprising viewable video, associated hyperlink data comprising both link data and position data (which may include a location within or relative to the frame, and a size of any bounding box or other object) defining a position within the video frame that may change from frame to frame, and frame count information encoded as pixel data within the video stream.
  • the present invention provides a video data file comprising a viewable video sequence comprising a plurality of frames, associated hyperlink data comprising at least link address information, and position data defining a plurality of positions within a plurality of respective video frames, wherein at least a plurality of the frames include a unique frame number indicia encoded as pixel data within the frame.
  • the hyperlink data and the viewable video can be delivered as separate streams, in which case the hyperlink data can include a frame number associated with each of the defined position data sets.
  • the unique frame number is encoded in a plurality of pixels in the video frame.
  • These can be a group of adjacent pixels, such as a rectangular area which can be located at a corner of the video frame, for example.
  • a group of adjacent pixels arranged in a linear array can be used, such as a group located at an edge of the video frame.
  • the unique frame number indicia is ideally included in substantially all the frames of the viewable video. They can, if desired, be located in a non-viewable area of the video frame such as an area concealed by a menu item or icon.
  • the present invention provides a video player for online video, including a video decoder for interpreting and displaying a received viewable video stream comprising a sequence of frames, a hyperlink decoder able to receive and display over the displayed video stream hyperlink data comprising link address information and position data defining a plurality of positions within a plurality of respective video frames, wherein the player is further arranged to inspect a subset of the pixels of a frame to be displayed time to determine a unique frame number indicia encoded in the subset and use the thus determined frame number to select a hyperlink for display over the frame.
  • the present invention provides a system for encoding online video arranged to receive a viewable video stream comprising a sequence of frames, receive hyperlink data comprising link address information and position data defining a plurality of positions within a plurality of respective video frames, encode a unique frame number indicia into at least the plurality of respective video frames by writing non-image data to a subset of the pixels of the frame, and combine the thus encoded video stream and the hyperlink data for download.
  • the thus encoded video stream and the hyperlink data can be combined to form a single downloadable stream, or sent as two correlated downloadable streams.
  • the present invention provides a video data format comprising a data stream including viewable video comprising a sequence of frames, associated hyperlink data comprising at least link address information, and position data defining a plurality of positions within a plurality of respective video frames, wherein at least a plurality of the frames include a unique frame number indicia encoded as pixel data within the frame.
  • FIG. 1 shows an example of an online player window according to the present invention
  • FIG. 2 shows a group of pixels encoding a frame number
  • FIG. 3 shows the manner in which the frame number is encoded into the pixels of FIG. 2 .
  • FIG. 1 shows an example of an online video player 100 according to the present invention including a video decoder 101 configured for interpreting and displaying a received viewable video stream comprising a sequence of frames, a hyperlink decoder 102 configured to be able to receive and display over the displayed video stream hyperlink data comprising link address information and position data defining a plurality of positions within a plurality of respective video frames.
  • a video player window 10 comprises a video display 12 above a timeline 14 showing the progress of the current playback position through the length of the video.
  • a viewable video stream is currently running and depicts a vehicle 16 on a beach 18 .
  • a highlight area 20 is shown over the vehicle.
  • a clickable hyperlink may result in any of a variety of actions taking place when a user clicks within the highlight area.
  • the video display 12 also includes a number of operating icons. For example, a “full screen” icon 22 is shown adjacent the timeline 14 to allow a user to expand the video display to occupy the entirety of the screen of whatever device is being used for playback. After a preset period of inactivity, the timeline is made to disappear automatically, returning if the mouse pointer or other GUI input becomes active again.
  • FIG. 1 also shows operating icons 24 which help the viewer navigate the tags.
  • there is a flyout icon 26 in the upper right corner of the video display 12 which allows a user access to a wider range of control functions; clicking the flyout icon 26 causes additional icons for these control functions to be displayed.
  • FIG. 2 An image of a typical time code is shown in FIG. 2 , and is in the form of a 6 ⁇ 5 rectangular block 28 of pixels 30 .
  • a 5 ⁇ 5 square group of pixels 32 are allowed to adopt an on (white) or off (black) state, and can thus encode a binary number according to the pattern shown in FIG. 3 .
  • LSB least-significant-bit
  • a vertical strip of pixels 34 to the left of the 5 ⁇ 5 group 32 appear white, black, white, black, white from top to bottom. These pixels retain this pattern throughout the video and indicate to the player that the pixel time code exists. The chances of a chequered column of that arrangement appearing as part of the actual video frame is very unlikely, so the player first looks for this pattern in order to confirm that a pixel time code is present.
  • a different pattern could be adopted, for example using a different pattern of light and dark pixels and/or a different size or shape; all that necessary for such a marker pattern is that it be known in advance and unlikely to appear in the actual video by chance.
  • the individual squares 32 which form the bit values of the time code could each be defined by a plurality of pixels in the video itself, rather than as individual pixels.
  • the 6 ⁇ 5 and/or the 5 ⁇ 5 groups of squares could cover substantially more than a 6 ⁇ 5 block of pixels in the raw video data.
  • This and the use of on/off black/white encoding could help the frame data to be resilient to typical video compression algorithms; while these algorithms may distort the squares slightly, they are unlikely to turn a square completely black (or white) when it was previously white (or black).
  • FIG. 2 shows some squares such as square 32 which are slightly paler than others, but which are clearly intended to be black and are above a mid-grey threshold and can therefore be interpreted as black by a decoding algorithm.
  • a 5 ⁇ 5 block of pixels allows for 25 bits of data. This allows a unique frame number of up to about 3 ⁇ 10 7 which is more than adequate for even the longest video at the highest frame rate, corresponding to about 186 hours of video at 50 frames per second. If desired, a smaller block of squares could be used, which would take up less space and could be concealed by a smaller icon. Alternatively, a non-rectangular block could be used, such as a linear strip of squares which could be aligned along an edge of the video such as the top, bottom, or sides of the video. These could be cropped prior to display and hence remain invisible to the viewer.
  • a larger block of squares could be defined, providing more than 5 ⁇ 5 squares and hence allowing more data to be stored. This will probably be unnecessary for frame identification but would allow other data to be encoded such as (perhaps) the hyperlink data. This latter step might require the bit depth to be increased by allowing colour variation of the squares, but care would need to be taken to ensure this data survived video compression techniques.
  • This frame number reference can be incorporated into the video file during compression or other processing.
  • the algorithm performing the processing can maintain a simple frame count and can be programmed to convert this into the appropriate pattern of squares. These can then be written onto the frame over whatever pixel values were there originally to create the necessary video data file which can then be stored together with (or in combination with) the hyperlink data.
  • the code can be retrieved by the video player by interpreting the pixel data appropriately, returning a reliable frame number and allowing proper synchronisation of the hyperlink information.

Abstract

Online video can now be supplied with hyperlinks that are associated with and move with objects in the video. However, online video players tend not to report an accurate frame number, and this results in poor synchronisation of the movement of the hyperlink and the object. We propose that a subset of the pixels in the frame be used to encode a numeric frame identifier.

Description

FIELD OF THE INVENTION
The present invention relates to online video distribution.
BACKGROUND ART
Online video is now an established communication tool, being used for social purposes and for commercial marketing and other purposes. Indeed, the success of online video is such that content-enabled video services are being developed, allowing functionality to be co-delivered with the video such as clickable hyperlinks within the video frame, such as external links that lead the viewer to a specific website or other internet address, or popouts to display text or images, or play video or audio alongside or instead of the video previously being played.
U.S. Pat. No. 7,620,914 discloses the incorporation of clickable hyperlinks into a viewable video, sending the hyperlink data in a separate stream alongside the video data. The two are then re-united in the video player and the hyperlinks are displayed over the video data, allowing a user to click the hyperlink as and when desired.
U.S. Pat. No. 7,817,822 discloses a motion tracking system for such hyperlinks. This allows a user to associate the hyperlink with a specific feature in a frame of the video, following which the motion tracking system detects movement of that feature in subsequent frames and adjusts the position of the hyperlink accordingly. As a result, the hyperlink appears to “float” over the feature and follow it as it moves in the video. The hyperlink can therefore be associated with the feature, such as a link offering more information on or an opportunity to purchase the item forming that feature. Multiple hyperlinks can then be safely added to a video or video segment, with the meaning of each hyperlink remaining clear to a viewer at all times.
SUMMARY OF THE INVENTION
As U.S. Pat. No. 7,620,914 sends the hyperlink and the video data in separate streams, when the two streams are united a correlation needs to be made between the two so that they can be properly synchronised. If this cannot be done then a system based on U.S. Pat. No. 7,620,914 will not be able to display the video in correct synchronisation.
Most systems use the frame number of the video as a time code to identify current playback point of the video and hence identify the hyperlinks and other objects that should be displayed. However, we have found that most online video players do not in fact provide an accurate record of the frame number and thus the returned frame number information is likewise inaccurate. This inaccuracy is typically of the order of a few frames, such as up to about 5 frames, and is insignificant for most online purposes. It is significant in this context, however, and can lead to a distinct “lag” in the movement of hyperlinks over the displayed video.
We therefore propose a video data format comprising viewable video, associated hyperlink data comprising both link data and position data (which may include a location within or relative to the frame, and a size of any bounding box or other object) defining a position within the video frame that may change from frame to frame, and frame count information encoded as pixel data within the video stream. This enables the player to determine precisely where to position the hyperlink or tag, to ensure that the display of hyperlinks is correlated correctly with the video playback.
Thus, in a first aspect the present invention provides a video data file comprising a viewable video sequence comprising a plurality of frames, associated hyperlink data comprising at least link address information, and position data defining a plurality of positions within a plurality of respective video frames, wherein at least a plurality of the frames include a unique frame number indicia encoded as pixel data within the frame.
The hyperlink data and the viewable video can be delivered as separate streams, in which case the hyperlink data can include a frame number associated with each of the defined position data sets.
We prefer that the unique frame number is encoded in a plurality of pixels in the video frame. These can be a group of adjacent pixels, such as a rectangular area which can be located at a corner of the video frame, for example. Alternatively, a group of adjacent pixels arranged in a linear array can be used, such as a group located at an edge of the video frame.
The unique frame number indicia is ideally included in substantially all the frames of the viewable video. They can, if desired, be located in a non-viewable area of the video frame such as an area concealed by a menu item or icon.
In second aspect, the present invention provides a video player for online video, including a video decoder for interpreting and displaying a received viewable video stream comprising a sequence of frames, a hyperlink decoder able to receive and display over the displayed video stream hyperlink data comprising link address information and position data defining a plurality of positions within a plurality of respective video frames, wherein the player is further arranged to inspect a subset of the pixels of a frame to be displayed time to determine a unique frame number indicia encoded in the subset and use the thus determined frame number to select a hyperlink for display over the frame.
In a third aspect, the present invention provides a system for encoding online video arranged to receive a viewable video stream comprising a sequence of frames, receive hyperlink data comprising link address information and position data defining a plurality of positions within a plurality of respective video frames, encode a unique frame number indicia into at least the plurality of respective video frames by writing non-image data to a subset of the pixels of the frame, and combine the thus encoded video stream and the hyperlink data for download.
The thus encoded video stream and the hyperlink data can be combined to form a single downloadable stream, or sent as two correlated downloadable streams.
Finally, in its fourth aspect the present invention provides a video data format comprising a data stream including viewable video comprising a sequence of frames, associated hyperlink data comprising at least link address information, and position data defining a plurality of positions within a plurality of respective video frames, wherein at least a plurality of the frames include a unique frame number indicia encoded as pixel data within the frame.
BRIEF DESCRIPTION OF THE DRAWINGS
An embodiment of the present invention will now be described by way of example, with reference to the accompanying figures in which;
FIG. 1 shows an example of an online player window according to the present invention;
FIG. 2 shows a group of pixels encoding a frame number; and
FIG. 3 shows the manner in which the frame number is encoded into the pixels of FIG. 2.
DETAILED DESCRIPTION OF THE EMBODIMENTS
FIG. 1 shows an example of an online video player 100 according to the present invention including a video decoder 101 configured for interpreting and displaying a received viewable video stream comprising a sequence of frames, a hyperlink decoder 102 configured to be able to receive and display over the displayed video stream hyperlink data comprising link address information and position data defining a plurality of positions within a plurality of respective video frames. A video player window 10 comprises a video display 12 above a timeline 14 showing the progress of the current playback position through the length of the video. Within the video display 12, a viewable video stream is currently running and depicts a vehicle 16 on a beach 18.
A highlight area 20 is shown over the vehicle. This denotes a clickable hyperlink, which (as discussed above) may result in any of a variety of actions taking place when a user clicks within the highlight area. For example, there could be a pop-up box or window giving further details of the type of car and further information as to its provenance, or further photographs of the car, or one or more links to sites where cars of that type can be purchased.
The video display 12 also includes a number of operating icons. For example, a “full screen” icon 22 is shown adjacent the timeline 14 to allow a user to expand the video display to occupy the entirety of the screen of whatever device is being used for playback. After a preset period of inactivity, the timeline is made to disappear automatically, returning if the mouse pointer or other GUI input becomes active again. FIG. 1 also shows operating icons 24 which help the viewer navigate the tags. In addition, there is a flyout icon 26 in the upper right corner of the video display 12 which allows a user access to a wider range of control functions; clicking the flyout icon 26 causes additional icons for these control functions to be displayed. If present permanently, these icons could be distracting and would obscure part of the video, so they are normally hidden and only the flyout icon 26 is displayed permanently. This does obscure a part of the video, but only a small part and only in one corner; it is unusual for a corner location to contain crucial information.
The part of the video stream that lies underneath this flyout icon 26 is therefore never seen. According to the present invention, the pixels beneath this icon are employed to store a time code instead of video data. An image of a typical time code is shown in FIG. 2, and is in the form of a 6×5 rectangular block 28 of pixels 30. Of this block, a 5×5 square group of pixels 32 are allowed to adopt an on (white) or off (black) state, and can thus encode a binary number according to the pattern shown in FIG. 3. This shows a least-significant-bit (LSB) on the bottom right hand corner of the rectangle with the bit values increasing to the left and upwards. This yields a single number encoded by the pixel values and which can be unique to each frame of a video. Thus, it can be used to indicate a time associated with the frame, or a frame number. Thus uniquely identifies the frame concerned without ambiguity or approximation, and can therefore be used as a reference by which the correct hyperlink placement is identified.
In addition, a vertical strip of pixels 34 to the left of the 5×5 group 32 appear white, black, white, black, white from top to bottom. These pixels retain this pattern throughout the video and indicate to the player that the pixel time code exists. The chances of a chequered column of that arrangement appearing as part of the actual video frame is very unlikely, so the player first looks for this pattern in order to confirm that a pixel time code is present. Of course, a different pattern could be adopted, for example using a different pattern of light and dark pixels and/or a different size or shape; all that necessary for such a marker pattern is that it be known in advance and unlikely to appear in the actual video by chance.
If desired, the individual squares 32 which form the bit values of the time code could each be defined by a plurality of pixels in the video itself, rather than as individual pixels. In other words, the 6×5 and/or the 5×5 groups of squares could cover substantially more than a 6×5 block of pixels in the raw video data. This and the use of on/off black/white encoding could help the frame data to be resilient to typical video compression algorithms; while these algorithms may distort the squares slightly, they are unlikely to turn a square completely black (or white) when it was previously white (or black). FIG. 2 shows some squares such as square 32 which are slightly paler than others, but which are clearly intended to be black and are above a mid-grey threshold and can therefore be interpreted as black by a decoding algorithm.
A 5×5 block of pixels allows for 25 bits of data. This allows a unique frame number of up to about 3×107 which is more than adequate for even the longest video at the highest frame rate, corresponding to about 186 hours of video at 50 frames per second. If desired, a smaller block of squares could be used, which would take up less space and could be concealed by a smaller icon. Alternatively, a non-rectangular block could be used, such as a linear strip of squares which could be aligned along an edge of the video such as the top, bottom, or sides of the video. These could be cropped prior to display and hence remain invisible to the viewer.
Alternatively, a larger block of squares could be defined, providing more than 5×5 squares and hence allowing more data to be stored. This will probably be unnecessary for frame identification but would allow other data to be encoded such as (perhaps) the hyperlink data. This latter step might require the bit depth to be increased by allowing colour variation of the squares, but care would need to be taken to ensure this data survived video compression techniques.
This frame number reference can be incorporated into the video file during compression or other processing. The algorithm performing the processing can maintain a simple frame count and can be programmed to convert this into the appropriate pattern of squares. These can then be written onto the frame over whatever pixel values were there originally to create the necessary video data file which can then be stored together with (or in combination with) the hyperlink data.
When the video data is received for display, the code can be retrieved by the video player by interpreting the pixel data appropriately, returning a reliable frame number and allowing proper synchronisation of the hyperlink information.
It will of course be understood that many variations may be made to the above-described embodiment without departing from the scope of the present invention.

Claims (12)

The invention claimed is:
1. A system for encoding online video comprising:
a video player for processing online video data, the video player including:
i. a video decoder configured to receive a viewable video stream comprising a sequence of viewable video frames,
ii. a hyperlink decoder configured to receive hyperlink data comprising at least link address information and position data defining a plurality of positions within a plurality of respective video frames, and
iii. a video display including a plurality of operating icons and configured to for user access to control functions for the viewable video stream,
wherein the video player is configured to encode a unique frame number indicia into at least the plurality of respective video frames to generate an encoded video stream, wherein the unique frame number indicia unambiguously and exactly identifies a specific frame of the respective video frames and wherein the unique frame number comprises non-image pixel data in a group of adjacent pixels within the video frame, and wherein the group of pixels includes a number of pixels arranged in a predetermined pattern which:
i. is retained throughout the video,
ii. is distinguishable from pixels in the video frame adjacent to the group of pixels, and
iii. which indicates that the unique frame number indicia exists in that frame; and
wherein the video player is configured to respond to user commands provided at the video display to combine the encoded video stream and the hyperlink data for download wherein the encoded video stream and the hyperlink data are displayed simultaneously on the video display.
2. A system according to claim 1, wherein the hyperlink data includes a frame number associated with each of the defined positions.
3. A system according to claim 1, wherein the group of adjacent pixels defines a rectangular area.
4. A system according to claim 3, wherein the rectangular area is located at a corner of the viewable video frame.
5. A system according to claim 1, wherein the group of adjacent pixels is arranged in a linear array.
6. A system according to claim 5, wherein the linear array is located at an edge of the viewable video frame.
7. A system according to claim 1, wherein the position data includes a location within the viewable video frame.
8. A system according to claim 7, wherein the position data includes information relating to the size of the hyperlink.
9. A system according to claim 1, wherein the unique frame number indicia is included in all of the frames.
10. A system according to claim 1, wherein the predetermined pattern of pixels is located in an area of the video frame which is obscured and non-viewable when the video stream is displayed.
11. A system according to claim 1, wherein the encoded video stream and the hyperlink data are combined to form a single downloadable stream.
12. A system according to claim 1, wherein the encoded video stream and the hyperlink data are combined to form at least two correlated downloadable streams.
US14/482,130 2012-07-23 2014-09-10 Online video distribution Active 2034-06-02 US9934822B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/482,130 US9934822B2 (en) 2012-07-23 2014-09-10 Online video distribution

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1213015.9A GB2504270A (en) 2012-07-23 2012-07-23 Synchronising hyperlink and associated object positions using frame numbers encoded as pixel data
GB1213015.9 2012-07-23
GBGB1213015.9 2012-07-23
US13/948,268 US20140026175A1 (en) 2012-07-23 2013-07-23 Online video distribution
US14/482,130 US9934822B2 (en) 2012-07-23 2014-09-10 Online video distribution

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/948,268 Division US20140026175A1 (en) 2012-07-23 2013-07-23 Online video distribution

Publications (2)

Publication Number Publication Date
US20140376883A1 US20140376883A1 (en) 2014-12-25
US9934822B2 true US9934822B2 (en) 2018-04-03

Family

ID=46881780

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/948,268 Abandoned US20140026175A1 (en) 2012-07-23 2013-07-23 Online video distribution
US14/482,130 Active 2034-06-02 US9934822B2 (en) 2012-07-23 2014-09-10 Online video distribution

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/948,268 Abandoned US20140026175A1 (en) 2012-07-23 2013-07-23 Online video distribution

Country Status (3)

Country Link
US (2) US20140026175A1 (en)
EP (1) EP2690866A1 (en)
GB (1) GB2504270A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063101A (en) * 2018-07-27 2018-12-21 北京优酷科技有限公司 The generation method and device of video cover

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10165245B2 (en) 2012-07-06 2018-12-25 Kaltura, Inc. Pre-fetching video content
US9236088B2 (en) 2013-04-18 2016-01-12 Rapt Media, Inc. Application communication
WO2015046649A1 (en) * 2013-09-27 2015-04-02 엘지전자 주식회사 Image display apparatus and method for oeprating image display apparatus
CN107016010A (en) * 2016-06-30 2017-08-04 阿里巴巴集团控股有限公司 The treating method and apparatus of hyperlinked object
CN108566518A (en) * 2018-03-29 2018-09-21 上海掌门科技有限公司 A kind of video editing, playback method, equipment and computer-readable medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918012A (en) 1996-03-29 1999-06-29 British Telecommunications Public Limited Company Hyperlinking time-based data files
US6102406A (en) * 1999-06-07 2000-08-15 Steven A. Miles Internet-based advertising scheme employing scavenger hunt metaphor
US20010023436A1 (en) 1998-09-16 2001-09-20 Anand Srinivasan Method and apparatus for multiplexing seperately-authored metadata for insertion into a video data stream
US6427020B1 (en) 1995-05-08 2002-07-30 Digimarc Corporation Methods and devices for recognizing banknotes and responding accordingly
US20030140346A1 (en) * 2002-01-20 2003-07-24 Shalong Maa Digital enhancement of streaming video and multimedia system
US20030149983A1 (en) 2002-02-06 2003-08-07 Markel Steven O. Tracking moving objects on video with interactive access points
US6912726B1 (en) * 1997-04-02 2005-06-28 International Business Machines Corporation Method and apparatus for integrating hyperlinks in video
US7249367B2 (en) 2000-02-29 2007-07-24 Goldpocket Interactive, Inc. Method and apparatus for switching between multiple programs by interacting with a hyperlinked television broadcast
US20100248787A1 (en) * 2009-03-30 2010-09-30 Smuga Michael A Chromeless User Interface
US20110088075A1 (en) 2009-10-13 2011-04-14 Sony Corporation System and method for distributing auxiliary data embedded in video data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122403A (en) * 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6427020B1 (en) 1995-05-08 2002-07-30 Digimarc Corporation Methods and devices for recognizing banknotes and responding accordingly
US5918012A (en) 1996-03-29 1999-06-29 British Telecommunications Public Limited Company Hyperlinking time-based data files
US6912726B1 (en) * 1997-04-02 2005-06-28 International Business Machines Corporation Method and apparatus for integrating hyperlinks in video
US20010023436A1 (en) 1998-09-16 2001-09-20 Anand Srinivasan Method and apparatus for multiplexing seperately-authored metadata for insertion into a video data stream
US6102406A (en) * 1999-06-07 2000-08-15 Steven A. Miles Internet-based advertising scheme employing scavenger hunt metaphor
US7249367B2 (en) 2000-02-29 2007-07-24 Goldpocket Interactive, Inc. Method and apparatus for switching between multiple programs by interacting with a hyperlinked television broadcast
US20030140346A1 (en) * 2002-01-20 2003-07-24 Shalong Maa Digital enhancement of streaming video and multimedia system
US20030149983A1 (en) 2002-02-06 2003-08-07 Markel Steven O. Tracking moving objects on video with interactive access points
US20100248787A1 (en) * 2009-03-30 2010-09-30 Smuga Michael A Chromeless User Interface
US20110088075A1 (en) 2009-10-13 2011-04-14 Sony Corporation System and method for distributing auxiliary data embedded in video data

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EP Extended Search Report, dated Dec. 17, 2013.
Hernandez-Avalos et al., "Video Watermarking Scheme Resistant to MPEG Compression," Circuits and Systems 2009, MWSCAS '09, 52nd IEEE International Midwest Symposium on, Aug. 2, 2009, pp. 853-858.
UK Search Report, dated Nov. 26, 2012, 1 page.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063101A (en) * 2018-07-27 2018-12-21 北京优酷科技有限公司 The generation method and device of video cover

Also Published As

Publication number Publication date
US20140026175A1 (en) 2014-01-23
US20140376883A1 (en) 2014-12-25
EP2690866A1 (en) 2014-01-29
GB2504270A (en) 2014-01-29
GB201213015D0 (en) 2012-09-05

Similar Documents

Publication Publication Date Title
US9934822B2 (en) Online video distribution
US8656282B2 (en) Authoring tool for providing tags associated with items in a video playback
CN102290082B (en) Method and device for processing brilliant video replay clip
US9024844B2 (en) Recognition of image on external display
US8730354B2 (en) Overlay video content on a mobile device
US20160366463A1 (en) Information pushing method, terminal and server
US10410677B2 (en) Content management system, management content generating method, management content play back method, and recording medium
ES2358889T3 (en) VISUAL ALTERATIONS POSPRODUCTION.
ES2569930T3 (en) Playlists and bookmarks in an interactive media guide application system
US20160343409A1 (en) Method and device for video preview
US20110299832A1 (en) Adaptive video zoom
US8499239B2 (en) Globe container
CN103167361B (en) Handle the method for audio-visual content and corresponding equipment
US11216166B2 (en) Customizing immersive media content with embedded discoverable elements
CN105340014A (en) Touch optimized design for video editing
CN104837060A (en) Scheme for determining locations and timing of advertisements and other insertions in media
CN102804120A (en) Systems and methods for determining proximity of media objects in a 3D media environment
US20140019863A1 (en) Online video distribution
CN110324679B (en) Video data processing method and device
CN101552874A (en) Image processing apparatus, display control method, program, and storage medium
US10453263B2 (en) Methods and systems for displaying augmented reality content associated with a media content instance
US20150221343A1 (en) Content management system, management content generation method, management content reproduction method, program and recording medium
EP3236336B1 (en) Virtual reality causal summary content
TW201520827A (en) System and method of providing augmented reality effect for multi-media data
CN108600858B (en) Video playing method for synchronously displaying AR information

Legal Events

Date Code Title Description
AS Assignment

Owner name: WIREWAX LIMITED, UNITED KINGDOM

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CALLANAN, STEVEN JAMES;REEL/FRAME:033710/0709

Effective date: 20130705

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4

AS Assignment

Owner name: VIMEO.COM, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WIREWAX LIMITED;REEL/FRAME:063562/0444

Effective date: 20230504