US20200204859A1 - Dynamic media placement in video feed - Google Patents
Dynamic media placement in video feed Download PDFInfo
- Publication number
- US20200204859A1 US20200204859A1 US16/242,891 US201916242891A US2020204859A1 US 20200204859 A1 US20200204859 A1 US 20200204859A1 US 201916242891 A US201916242891 A US 201916242891A US 2020204859 A1 US2020204859 A1 US 2020204859A1
- Authority
- US
- United States
- Prior art keywords
- placeholder
- video feed
- media object
- attribute
- placement
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/81—Monomedia components thereof
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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
-
- 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/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
Definitions
- Video programs such as, for example, television shows, online movies and series are viewed by a large number of viewers.
- the viewers based on their age groups and geographic locations, may have different preferences for the video programs. For instance, younger viewers may prefer watching entertainment-based programs and adult viewers may prefer watching live matches or news related programs.
- the video programs include various media objects, such as, for example, pictures or videos related to advertisements that are shown to the viewers along with content of the video programs.
- An advertisement may be selected based on various factors, such as, for example, age group, geographic locations and the preferences of the viewers, and may include information related to a product or a service and a company logo. Thereafter, an appropriate area may be identified within a feed of the video program where the advertisement can be placed. The video feed may then be broadcast to the viewers with the advertisement blended in the video feed.
- the present disclosure provides a technical solution to a problem to efficiently merge advertisement into the broadcast content.
- FIG. 1 illustrates a block diagram of a system 100 , according to an example embodiment of the present disclosure
- FIG. 2 illustrates an example video feed with a placeholder, according to an example embodiment of the present disclosure
- FIG. 3 illustrates working of the system 100 , according to an example embodiment of the present disclosure
- FIG. 4 illustrates a hardware platform for implementation of the system, according to an example of the present disclosure
- FIG. 5 illustrates a computer-implemented method depicting functionality of the system, according to an example embodiment of the present disclosure
- FIG. 6 illustrates a computer-implemented method depicting functionality of the system, according to another example embodiment of the present disclosure.
- the present disclosure is described by referring mainly to examples thereof.
- the examples of the present disclosure described herein may be used together in different combinations.
- details are set forth in order to provide an understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to all these details.
- the terms “a” and “an” are intended to denote at least one of a particular element.
- the term “includes” means includes but not limited to, the term “including” means including but not limited to.
- the term “based on” means based at least in part on.
- a system may include a receiver, a tracker, a detector, a media obtainer, an aligner and a content generator.
- the receiver, the tracker, the detector, the media obtainer, the aligner and the content generator may be in communication with each other to perform the functionalities of the system.
- the receiver may receive, but is not limited to, a video feed having multiple objects.
- the video feed may be, for instance, of a live match played between two teams at a playground and may be captured by multiple cameras at the location. The multiple cameras may be moved, titled or zoomed for capturing different views of the match.
- the objects may refer to, for example, the playground, players playing the match, goal posts, banners and billboards on the playground.
- the tracker may receive a camera tracking data that includes change in position and size of an object within the video feed based on movement, tilting or zooming of the multiple cameras.
- the change in position and size of the object may be for example, a player moving from one side of the playground to the other side, or decrease in size of the banner on the playground due to zooming out of a camera.
- the detector may detect a place holder within the video feed.
- the placeholder may be a space within the object of the video feed where a media object, such as an advertisement may be placed.
- the placeholder may be detected based on an alpha mask.
- the detector may then detect attributes, such as position, orientation, and size of the placeholder in the video feed.
- the detector may monitor for changes in the attributes of the placeholder in the video feed based on the camera tracking data.
- the media obtainer may obtain information regarding the media object.
- the media object in an example may have a placement attribute corresponding to the placeholder in the video feed.
- the placement attribute includes a characteristic of the media object that is compatible with the placeholder.
- the aligner may adjust the placement attribute of the media object with the attributes of the placeholder for positioning the media object within the placeholder.
- the aligner may apply the changes to the placement attribute of the media object based on a transformation matrix of position coordinates of the placeholder and the media object.
- the content generator may then generate a content including the video feed with the media object embedded within the placeholder of the video feed.
- the video feed may have the advertisement embedded within the placeholder of the video feed where the advertisement may be kept aligned within the placeholder of the video feed when the video feed is played.
- the system of the present disclosure offers an efficient technique of integrating the media object in the video feed with enhanced accuracy. Further the system provides a time-effective integration of the media object into a video feed. In addition, the quality of video with the video feed having the media object is enhanced. Therefore, the present subject matter provides a comprehensive, economic, and time-effective positioning of media objects in video feed.
- FIG. 1 illustrates a schematic view of a system 100 for placement of media object, such as an advertisement in a video feed broadcasted to viewers, according to an example of the present disclosure.
- the present description has been explained in considerable detail with respect to placement of the advertisement in the video feed. However, it will be appreciated that other information in the form of images and videos may also be suitably placed in the video feed.
- the system 100 may include a receiver 102 , a detector 104 , a tracker 106 , a media obtainer 108 , an aligner 110 , and a content generator 112 .
- the detector 104 may be in communication with the receiver 102 .
- the media obtainer 108 may be in communication with the detector 104 and the receiver 102 .
- the aligner 110 may be in communication with the scanner 104 , the detector 104 and the receiver 102 .
- the content generator 112 may be in communication with the detector 104 , the media obtainer 108 , and the aligner 110 .
- the receiver 102 may receive the video feed.
- the video feed may be for example a live video feed of an event, such as a match or a concert that is captured by multiple cameras and then broadcasted to the viewers.
- An example of video feed 200 of a match is illustrated in FIG. 2 .
- the video feed 200 may include a sequence of frames with multiple objects.
- the objects may include a playground 202 , two goal posts 204 and 206 , and a banner 208 .
- the video feed 200 may be dynamic in nature where for each frame, position and size of the multiple objects may change due to either movement of the objects within the video feed 200 or movement of a camera capturing the event. For instance, if the camera capturing the match moves rightwards or zooms view, then the position and size of the objects in the video feed 200 may change.
- the tracker 106 may receive a camera tracking data that includes change in position and size of an object within the video feed based on movement, tilting or zooming of the multiple cameras.
- the detector 104 may detect an object from amongst the multiple objects in the video feed 200 for placing a placeholder.
- the placeholder may be placed at any position within the video feed 200 , such as, for instance, at a top right position, a top left position, a bottom right position, a bottom left position, or at the center of the video feed 200 .
- the selection of the position for placing the placeholder may be performed manually.
- a set of coordinates may be defined for each placeholder, and an array of data or any other data structure may be used for separation between sets of coordinates during broadcast.
- the detector 104 may detect the object by using artificial intelligence techniques. In an example, the detector 104 may detect the object 208 for the placeholder. The detector 104 may also detect attributes, such as position and size of the placeholder. In an example, the detector 104 may also receive camera tracking data for the placeholder. The camera tracking data may be related to camera orientation, tilt, pan or zoom during capturing of the event and may allow determining change in size and orientation of objects within the video feed 200 .
- the detector 104 may detect the placeholder in different frames of the video. Based on the detection and order of the frames, the detector 104 may track the placeholder in the video feed 200 . The placeholder in the different frames may be tracked, based on a comparison of coordinates of the placeholder in the different frames. In an example embodiment, the detector 104 may track the movement of the placeholder in the video feed 200 to ensure a smooth and consistent animation of the media object to be positioned in the placeholder. In an example embodiment, the detector 104 may highlight at least one zone by the placeholder for placing the media object in a frame of the video feed 200 . In an example, the at least one zone may be highlighted in form of a semi-transparent rectangle. For instance, the object 208 may be highlighted semi-transparent.
- the media obtainer 108 may obtain information regarding the media object.
- the information may include size and position of the media object, where the size and position may be coordinates of the media object.
- the media object may have a placement attribute that includes information related to characteristic of the media object compatible with the placeholder. For instance, size of the media object being smaller than the size of the placeholder based on coordinates of size and position of the media object and the placeholder.
- the placement attribute may be adjusted to fit the advertisement into the placeholder.
- the size and position of the placeholder may also change.
- the media object may have to be adjusted as per changing size and position of the placeholder.
- the aligner 110 may adjust the placement attribute of the media object with the attributes of the placeholder to position the media object within the placeholder. For instance, the placement attribute of size may be adjusted based on size of the placeholder when the video feed is played and the size of the placeholder keeps changing.
- the aligner 110 may extract coordinates of position and size of the media object and the placeholder and then apply a transformation matrix to the coordinates of position and size of the media object for alignment.
- the transformation to apply to media object may be determined based on positions of edges based on a Direct Linear Transformation (DLT) technique.
- the DLT technique may be used to formulate a homogenous linear system of equations and solve the equations by finding an approximate null space of a system matrix. For example, with 4 corners a,b,c,d, of each of the media object and the placeholder, six vectors may be defined to resolve and test the matrix M.
- the vectors may be given as: ⁇ right arrow over (ab) ⁇ , ⁇ right arrow over (bc) ⁇ , ⁇ right arrow over (cd) ⁇ , ⁇ right arrow over (da) ⁇ , ⁇ right arrow over (ac) ⁇ , ⁇ right arrow over (bd) ⁇
- P′ i is computed based on a world-to-camera projection that refers to a mapping of real world scene with an image captured by the camera.
- the camera used may be a calibrated camera to reduce erroneous or ambigious readings.
- the mapping may be performed based on an image projection approximation with a pinhole camera.
- the position of the placeholder may be computed based on calibration of the camera and may be given as:
- the camera may not be static and may move, rotate or zoom.
- the camera may have motion sensors embedded within to detect the motion and rotation of the camera.
- a matrix may be defined corresponding to the movement and rotation of the camera.
- rotation may be defined as a 3 by 3 matrix R and the position of the camera may be defined as a point in a 3-Dimensional space t.
- the 4 by 4 world-to-camera matrix is given as:
- the matrix may be applied to the projection to reflect the movement of the camera.
- the value of P may be computed in real time.
- the media object of dimensions 800 ⁇ 200 coordinates may be mapped with the placeholder.
- a function such as getPerspectiveTransform function from a library of programming functions for real-time computer vision, such as may be executed.
- the execution may provide four point coordinates for the media object as (0,0), (800,0), (0,200) and (800, 200) and four point coordinates of the placeholder as ( ⁇ 155, 550), (635, 610), ( ⁇ 155, 750) and (635, 815) and resultant transformation matrix as:
- the content generator 112 may receive the video feed 200 to be broadcasted along with the media object that is to be placed within the placeholder.
- the content generator 112 may generate the video feed 200 with the media object embedded within the placeholder of the video feed 200 .
- the video feed 200 so generated by the content generator 112 may have the media object embedded within the placeholder such that the media object may be positioned within the placeholder when the video feed 200 is broadcasted to a viewer at viewer's home.
- FIG. 3 illustrates the working of the system 100 with additional components, according to an example embodiment of the present disclosure.
- the video feed 200 may be, in an example, tailored and customized with respect to the interests and preferences of each viewer and each household.
- the video feed 200 may be tailored based on viewer profiling to make the advertisement more relevant to the viewer.
- social media data of the viewer may be tracked either directly or through third party vendors and Application Programming Interfaces (API) for identifying interests of the viewer. Additionally, history of previous videos watched by the viewer may also be tracked. Based on this data, a suitable advertisement may be selected for broadcasting to the viewer.
- data for a group of viewers of one house may also be tracked to identify advertisements that may be targeted to such group of viewers. In an example, distinct advertisements may be identified and targeted to different viewers or households based on the data.
- a translation of the advertisement and content of the video feed 200 may also be performed for the viewer.
- an alpha mask 304 may be created and applied for occlusions over the placeholder within the video feed 200 .
- the occlusions may be for instance, when people, objects or vehicles pass in front of the placeholder thereby occluding the placeholder.
- the alpha mask 304 may be utilized for storing and reflecting pixels where the placement of the placeholder may appear.
- an original video may be received and an alpha layer may be created.
- the alpha layer for instance may be to detect the region of the placeholder.
- the original video may be blended with the alpha layer.
- the resultant video has identification of the placeholder within the video where the advertisement is to be placed. The identification may be for instance in form of a grey region within the video feed.
- camera tracking data 306 may also be used for determining the attributes of the placeholder.
- the camera tracking data 306 may include mechanical tracking data for changes in position of a camera capturing an event.
- the camera for instance may be mounted with a head tracking device.
- the camera tracking data 306 may include virtual tracking data where the video may be analyzed with computer vision techniques to detect camera movements.
- One such computer vision technique includes chroma keying, where a key color may be detected by computing distance between chroma values and values of a tested pixel, then an alpha value is set as a linear to that difference.
- a formula for chroma keying is defined as:
- chroma key [ Cb key Cr key ]
- chroma test [ Cb test Cr test ]
- Cb is a blue chroma component and Cr is a red chroma component.
- the distance may be computed as:
- the computer vision techniques may also be used to track and detect occlusions over an area of interest, such as the banners around the playground 202 .
- the camera tracking data 306 may then be used for placeholder tracking 308 .
- the placeholder tracking 308 may be performed based on coordinates that define boundary of the placeholder. The coordinates may change with camera movement, however the placeholder may appear steady in the video feed 200 for varying current camera configuration. Based on the camera tracking data 306 , the placeholder that may have been predefined, for example, the banners may also be tracked. Thereafter, the video feed 200 may be sent for streaming or broadcasting at block 310 .
- the video feed 200 may be streamed or broadcasted using a player 312 .
- the player 312 may be an Internet browser that may decode the video feed 200 with block alpha channel to be played for the viewer.
- an encoded video with a video compression for instance VP8, in a WebM format, has colors encoded with three channels, YCbCr, where Y is a luma component, Cb and Cr are chroma components.
- An additional block of data in the WebM container may be filled with an alpha component corresponding to the alpha layer. Thereafter, a flag, for instance, an alpha mode may be enabled for the video feed 200 .
- the content 314 may then be provided to the player 312 .
- the content 314 may be the advertisement that has been selected for the viewer and the advertisement has varying attributes for each frame of the video feed 200 to fit into the varying size and position of the placeholder of the video feed 200 .
- the player 312 may then embed the content 314 with the video feed 200 and broadcast as video 318 to the viewer.
- FIG. 4 illustrates a hardware platform 400 for implementation of the system 100 , according to an example of the present disclosure.
- the hardware platform 400 may be a computer system 400 that may be used with the examples described herein.
- the computer system 400 may represent a computational platform that includes components that may be in a server or another computer system.
- the computer system 400 may execute, by a processor (e.g., a single or multiple processors) or other hardware processing circuit, the methods, functions and other processes described herein.
- a computer readable medium which may be non-transitory, such as hardware storage devices (e.g., RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), hard drives, and flash memory).
- RAM random access memory
- ROM read only memory
- EPROM erasable, programmable ROM
- EEPROM electrically erasable, programmable ROM
- hard drives e.g., hard drives, and flash memory
- the computer system 400 may include a processor 402 that may implement or execute machine readable instructions performing some or all of the methods, functions, techniques and/or other processes described herein. Commands and data from the processor 402 may be communicated over a communication bus 404 .
- the computer system 400 may also include a main memory 406 , such as a random access memory (RAM), where the machine readable instructions and data for the processor 402 may reside during runtime, and secondary data storage 408 , which may be non-volatile and stores machine readable instructions and data.
- the memory 406 and data storage 408 are examples of non-transitory computer readable mediums.
- the memory 406 and/or the secondary data storage may store data used by the system 100 , such as an object repository including web objects, configuration data, test data, etc.
- the computer system 400 may include an Input/Output (I/O) device 410 , such as a keyboard, a mouse, a display, etc.
- I/O Input/Output
- a user interface (UI) 412 can be a communication device that provides textual and graphical user interfaces to a user of the system 100 .
- the UI 412 may operate with I/O device 410 to accept from and provide data to a user.
- the computer system 400 may include a network interface 414 for connecting to a network. Other known electronic components may be added or substituted in the computer system.
- the processor 402 may be designated as a hardware processor.
- the processor 402 may execute various components of the system 100 described above and perform the methods described below.
- FIG. 5 illustrates a computer-implemented method 500 depicting functionality of the system 100 , according to an example of the present disclosure.
- construction and operational features of the system 100 which are explained in detail in the description of FIG. 1 , FIG. 2 , FIG. 3 , and FIG. 4 are not explained in detail in the description of FIG. 5 .
- the method 500 commences with receiving the video feed.
- the video feed may be a live video feed and may include multiple objects, such as a banner, a billboard, a playground, a stadium.
- a placeholder may be detected in the video feed.
- the detector 104 may detect the placeholder within an object from amongst the multiple objects in the video feed.
- attributes of the placeholder such as position, size may be detected.
- the attributes may be detected by the detector 104 .
- information regarding the media object may be obtained.
- the media object in an example may be an advertisement and may have a placement attribute for the placeholder.
- the media obtainer 108 may obtain the information regarding the media object having the placement attribute.
- the placement attribute may be, for instance, size or position of the media object that may be compatible with the size and position of the placeholder.
- the placement attribute of the media object may be adjusted with the attributes of the placeholder. For example, if the size of the placeholder changes from medium to small then the size of the advertisement may also change from medium to small.
- the aligner 110 may adjust the placement attribute of the media object based on the attribute of the placeholder.
- content may be generated.
- the content having the media object embedded within the placeholder of the video feed.
- the content generator 112 may generate the content, such as the video 318 , with the media object embedded within the placeholder of the video feed.
- FIG. 6 illustrates a computer-implemented method 600 depicting the functionality of the system 100 , according to another example embodiment of the present disclosure.
- construction and operational features of the system 100 which are explained in detail in the description of FIG. 1 , FIG. 2 , FIG. 3 , FIG. 4 , and FIG. 5 are not explained in detail in the description of FIG. 6 .
- the method 600 commences with receiving the camera tracking data for the video feed.
- the camera tracking data may be related to position and movement of a camera capturing the video feed.
- the camera tracking data may also indicate whether the camera has been tilted or zoomed.
- the camera tracking data may be received based on one of a mechanical tracking and a virtual tracking.
- the mechanical tracking multiple sensors may be mounted on the camera to detect movement and rotation of the camera, and in the virtual tracking the video feed may be analyzed based on computer vision techniques to detect movements of the camera.
- a zone may be determined within the video feed for placement of the placeholder.
- the detector 104 may detect the zone for the placement of the placeholder in the video feed.
- coordinates that define boundaries of the zone may be determined. The coordinates may change with the movement of the camera such that the zone appears to be steady within the video feed for different position and movement of the camera.
- the video feed may be analyzed and the placeholder may be replaced by a mask for each frame of the video feed. The mask may be either blended into the original video feed within the alpha layer or the mask may be used as a separate data stream.
- the video feed may be analyzed using computer vision techniques. Thereafter, at block 608 , the video feed may be streamed along with placeholder boundaries.
- the media object may then be received to be placed in the placeholder at block 610 .
- the media object may be placed in the placeholder by using a third party software that may be available online or offline.
- the media object may be unique for the viewer.
- the placeholder may be replaced with the media object.
- the content generator 112 may place the media object within the placeholder of the video feed.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- The present application claims priority to European Patent Application Number 18214595.3 filed on Dec. 20, 2018 titled “Dynamic Media Placement in Video Feed”, the disclosure of which is incorporated by reference herein.
- Video programs, such as, for example, television shows, online movies and series are viewed by a large number of viewers. The viewers, based on their age groups and geographic locations, may have different preferences for the video programs. For instance, younger viewers may prefer watching entertainment-based programs and adult viewers may prefer watching live matches or news related programs.
- Generally, the video programs include various media objects, such as, for example, pictures or videos related to advertisements that are shown to the viewers along with content of the video programs. An advertisement may be selected based on various factors, such as, for example, age group, geographic locations and the preferences of the viewers, and may include information related to a product or a service and a company logo. Thereafter, an appropriate area may be identified within a feed of the video program where the advertisement can be placed. The video feed may then be broadcast to the viewers with the advertisement blended in the video feed.
- Existing systems for placement of media objects within the video feed use multiple processors to analyze content of the video feed, create multiple video feeds where each video feed has the advertisement placed within the area, and then broadcast the multiple video feeds to the viewers. However, such systems are complex and costly as they require multiple processors and related hardware to process and broadcast the video feed. The systems are also inefficient in keeping the advertisement within the area of the video feed when the video feed is played and, therefore, have reduced video quality.
- The present disclosure provides a technical solution to a problem to efficiently merge advertisement into the broadcast content.
- Features of the present disclosure are illustrated by way of examples shown in the following figures. In the following figures, like numerals indicate like elements, in which:
-
FIG. 1 illustrates a block diagram of asystem 100, according to an example embodiment of the present disclosure; -
FIG. 2 illustrates an example video feed with a placeholder, according to an example embodiment of the present disclosure; -
FIG. 3 illustrates working of thesystem 100, according to an example embodiment of the present disclosure; -
FIG. 4 illustrates a hardware platform for implementation of the system, according to an example of the present disclosure; -
FIG. 5 illustrates a computer-implemented method depicting functionality of the system, according to an example embodiment of the present disclosure; and -
FIG. 6 illustrates a computer-implemented method depicting functionality of the system, according to another example embodiment of the present disclosure. - For simplicity and illustrative purposes, the present disclosure is described by referring mainly to examples thereof. The examples of the present disclosure described herein may be used together in different combinations. In the following description, details are set forth in order to provide an understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to all these details. Also, throughout the present disclosure, the terms “a” and “an” are intended to denote at least one of a particular element. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on.
- The present subject matter describes systems and methods for placement of media objects, such as advertisements within a video feed for broadcasting the video feed to viewers. According to an example of the present disclosure, a system may include a receiver, a tracker, a detector, a media obtainer, an aligner and a content generator. In an example embodiment, the receiver, the tracker, the detector, the media obtainer, the aligner and the content generator may be in communication with each other to perform the functionalities of the system.
- The receiver may receive, but is not limited to, a video feed having multiple objects. The video feed may be, for instance, of a live match played between two teams at a playground and may be captured by multiple cameras at the location. The multiple cameras may be moved, titled or zoomed for capturing different views of the match. The objects may refer to, for example, the playground, players playing the match, goal posts, banners and billboards on the playground.
- The tracker may receive a camera tracking data that includes change in position and size of an object within the video feed based on movement, tilting or zooming of the multiple cameras. The change in position and size of the object may be for example, a player moving from one side of the playground to the other side, or decrease in size of the banner on the playground due to zooming out of a camera.
- Upon receiving the video feed, the detector may detect a place holder within the video feed. The placeholder may be a space within the object of the video feed where a media object, such as an advertisement may be placed. In an example, the placeholder may be detected based on an alpha mask. The detector may then detect attributes, such as position, orientation, and size of the placeholder in the video feed. The detector may monitor for changes in the attributes of the placeholder in the video feed based on the camera tracking data.
- In an example embodiment, the media obtainer may obtain information regarding the media object. The media object in an example may have a placement attribute corresponding to the placeholder in the video feed. The placement attribute includes a characteristic of the media object that is compatible with the placeholder.
- The aligner may adjust the placement attribute of the media object with the attributes of the placeholder for positioning the media object within the placeholder. In an example, the aligner may apply the changes to the placement attribute of the media object based on a transformation matrix of position coordinates of the placeholder and the media object.
- The content generator may then generate a content including the video feed with the media object embedded within the placeholder of the video feed. In an example, the video feed may have the advertisement embedded within the placeholder of the video feed where the advertisement may be kept aligned within the placeholder of the video feed when the video feed is played.
- The system of the present disclosure offers an efficient technique of integrating the media object in the video feed with enhanced accuracy. Further the system provides a time-effective integration of the media object into a video feed. In addition, the quality of video with the video feed having the media object is enhanced. Therefore, the present subject matter provides a comprehensive, economic, and time-effective positioning of media objects in video feed.
-
FIG. 1 illustrates a schematic view of asystem 100 for placement of media object, such as an advertisement in a video feed broadcasted to viewers, according to an example of the present disclosure. The present description has been explained in considerable detail with respect to placement of the advertisement in the video feed. However, it will be appreciated that other information in the form of images and videos may also be suitably placed in the video feed. Thesystem 100 may include areceiver 102, adetector 104, atracker 106, a media obtainer 108, analigner 110, and acontent generator 112. - In an example embodiment, the
detector 104 may be in communication with thereceiver 102. The media obtainer 108 may be in communication with thedetector 104 and thereceiver 102. Thealigner 110 may be in communication with thescanner 104, thedetector 104 and thereceiver 102. Thecontent generator 112 may be in communication with thedetector 104, the media obtainer 108, and thealigner 110. - In an example embodiment, the
receiver 102 may receive the video feed. The video feed may be for example a live video feed of an event, such as a match or a concert that is captured by multiple cameras and then broadcasted to the viewers. An example ofvideo feed 200 of a match is illustrated inFIG. 2 . Thevideo feed 200 may include a sequence of frames with multiple objects. The objects may include aplayground 202, twogoal posts banner 208. Thevideo feed 200 may be dynamic in nature where for each frame, position and size of the multiple objects may change due to either movement of the objects within thevideo feed 200 or movement of a camera capturing the event. For instance, if the camera capturing the match moves rightwards or zooms view, then the position and size of the objects in thevideo feed 200 may change. - The
tracker 106 may receive a camera tracking data that includes change in position and size of an object within the video feed based on movement, tilting or zooming of the multiple cameras. Referring toFIG. 1 , thedetector 104 may detect an object from amongst the multiple objects in thevideo feed 200 for placing a placeholder. The placeholder may be placed at any position within thevideo feed 200, such as, for instance, at a top right position, a top left position, a bottom right position, a bottom left position, or at the center of thevideo feed 200. The selection of the position for placing the placeholder may be performed manually. In an example, there may be multiple placeholders to be placed in thevideo feed 200. A set of coordinates may be defined for each placeholder, and an array of data or any other data structure may be used for separation between sets of coordinates during broadcast. - In an example embodiment, the
detector 104 may detect the object by using artificial intelligence techniques. In an example, thedetector 104 may detect theobject 208 for the placeholder. Thedetector 104 may also detect attributes, such as position and size of the placeholder. In an example, thedetector 104 may also receive camera tracking data for the placeholder. The camera tracking data may be related to camera orientation, tilt, pan or zoom during capturing of the event and may allow determining change in size and orientation of objects within thevideo feed 200. - In an example embodiment, the
detector 104 may detect the placeholder in different frames of the video. Based on the detection and order of the frames, thedetector 104 may track the placeholder in thevideo feed 200. The placeholder in the different frames may be tracked, based on a comparison of coordinates of the placeholder in the different frames. In an example embodiment, thedetector 104 may track the movement of the placeholder in thevideo feed 200 to ensure a smooth and consistent animation of the media object to be positioned in the placeholder. In an example embodiment, thedetector 104 may highlight at least one zone by the placeholder for placing the media object in a frame of thevideo feed 200. In an example, the at least one zone may be highlighted in form of a semi-transparent rectangle. For instance, theobject 208 may be highlighted semi-transparent. - In an example embodiment, the media obtainer 108 may obtain information regarding the media object. The information may include size and position of the media object, where the size and position may be coordinates of the media object. In an example, the media object may have a placement attribute that includes information related to characteristic of the media object compatible with the placeholder. For instance, size of the media object being smaller than the size of the placeholder based on coordinates of size and position of the media object and the placeholder. The placement attribute may be adjusted to fit the advertisement into the placeholder.
- In an example embodiment of the present disclosure, as the size and position of the objects within the
video feed 200 keeps changing due to the movement of either the camera, or the objects, the size and position of the placeholder may also change. The media object may have to be adjusted as per changing size and position of the placeholder. Thealigner 110 may adjust the placement attribute of the media object with the attributes of the placeholder to position the media object within the placeholder. For instance, the placement attribute of size may be adjusted based on size of the placeholder when the video feed is played and the size of the placeholder keeps changing. - In an example, the
aligner 110 may extract coordinates of position and size of the media object and the placeholder and then apply a transformation matrix to the coordinates of position and size of the media object for alignment. A corresponding equation may be defined as: M·Pi=P′i, where M is the transformation matrix and is given as: -
-
- is origin point of coordinates for the media object and
-
- is destination point of coordinates for the media object. In an example, the position of every point may be extrapolated based on the value of M. The transformation to apply to media object may be determined based on positions of edges based on a Direct Linear Transformation (DLT) technique. The DLT technique may be used to formulate a homogenous linear system of equations and solve the equations by finding an approximate null space of a system matrix. For example, with 4 corners a,b,c,d, of each of the media object and the placeholder, six vectors may be defined to resolve and test the matrix M. The vectors may be given as: {right arrow over (ab)}, {right arrow over (bc)}, {right arrow over (cd)}, {right arrow over (da)}, {right arrow over (ac)}, {right arrow over (bd)}
- In an example, P′i is computed based on a world-to-camera projection that refers to a mapping of real world scene with an image captured by the camera. In an example, the camera used may be a calibrated camera to reduce erroneous or ambigious readings. The mapping may be performed based on an image projection approximation with a pinhole camera. For a fixed and static camera, the position of the placeholder may be computed based on calibration of the camera and may be given as:
-
- However, the camera may not be static and may move, rotate or zoom. The camera may have motion sensors embedded within to detect the motion and rotation of the camera. To apply the movement, or the rotation of the camera to the projection, a matrix may be defined corresponding to the movement and rotation of the camera. For example, rotation may be defined as a 3 by 3 matrix R and the position of the camera may be defined as a point in a 3-Dimensional space t. The 4 by 4 world-to-camera matrix is given as:
-
- The matrix may be applied to the projection to reflect the movement of the camera. In an example, the value of P may be computed in real time.
- In an example embodiment, the media object of dimensions 800×200 coordinates may be mapped with the placeholder. For obtaining, the transformation based on the DLT technique, a function, such as getPerspectiveTransform function from a library of programming functions for real-time computer vision, such as may be executed. The execution may provide four point coordinates for the media object as (0,0), (800,0), (0,200) and (800, 200) and four point coordinates of the placeholder as (−155, 550), (635, 610), (−155, 750) and (635, 815) and resultant transformation matrix as:
-
- Based on the transformation matrix generated, the attributes of the media object may be adjusted as per the placeholder. The
content generator 112 may receive thevideo feed 200 to be broadcasted along with the media object that is to be placed within the placeholder. In an example embodiment of the present disclosure, thecontent generator 112 may generate thevideo feed 200 with the media object embedded within the placeholder of thevideo feed 200. Thevideo feed 200 so generated by thecontent generator 112 may have the media object embedded within the placeholder such that the media object may be positioned within the placeholder when thevideo feed 200 is broadcasted to a viewer at viewer's home. The working of thesystem 100 is explained in further details with respect to subsequent figure descriptions. -
FIG. 3 illustrates the working of thesystem 100 with additional components, according to an example embodiment of the present disclosure. Thevideo feed 200 may be, in an example, tailored and customized with respect to the interests and preferences of each viewer and each household. Thevideo feed 200 may be tailored based on viewer profiling to make the advertisement more relevant to the viewer. For the viewer profiling, social media data of the viewer may be tracked either directly or through third party vendors and Application Programming Interfaces (API) for identifying interests of the viewer. Additionally, history of previous videos watched by the viewer may also be tracked. Based on this data, a suitable advertisement may be selected for broadcasting to the viewer. Likewise, data for a group of viewers of one house may also be tracked to identify advertisements that may be targeted to such group of viewers. In an example, distinct advertisements may be identified and targeted to different viewers or households based on the data. Based on the data, a translation of the advertisement and content of thevideo feed 200 may also be performed for the viewer. - Thereafter, an
alpha mask 304 may be created and applied for occlusions over the placeholder within thevideo feed 200. The occlusions may be for instance, when people, objects or vehicles pass in front of the placeholder thereby occluding the placeholder. Thealpha mask 304 may be utilized for storing and reflecting pixels where the placement of the placeholder may appear. For creating the alpha mask, an original video may be received and an alpha layer may be created. The alpha layer for instance may be to detect the region of the placeholder. Thereafter, the original video may be blended with the alpha layer. The resultant video has identification of the placeholder within the video where the advertisement is to be placed. The identification may be for instance in form of a grey region within the video feed. - In an example,
camera tracking data 306 may also be used for determining the attributes of the placeholder. Thecamera tracking data 306 may include mechanical tracking data for changes in position of a camera capturing an event. The camera for instance may be mounted with a head tracking device. Additionally, thecamera tracking data 306 may include virtual tracking data where the video may be analyzed with computer vision techniques to detect camera movements. One such computer vision technique includes chroma keying, where a key color may be detected by computing distance between chroma values and values of a tested pixel, then an alpha value is set as a linear to that difference. In an example, a formula for chroma keying is defined as: -
- where, Cb is a blue chroma component and Cr is a red chroma component. The distance may be computed as:
-
distance=[chromakey−chromatest]. - The computer vision techniques may also be used to track and detect occlusions over an area of interest, such as the banners around the
playground 202. - The
camera tracking data 306 may then be used for placeholder tracking 308. The placeholder tracking 308 may be performed based on coordinates that define boundary of the placeholder. The coordinates may change with camera movement, however the placeholder may appear steady in thevideo feed 200 for varying current camera configuration. Based on thecamera tracking data 306, the placeholder that may have been predefined, for example, the banners may also be tracked. Thereafter, thevideo feed 200 may be sent for streaming or broadcasting atblock 310. Thevideo feed 200 may be streamed or broadcasted using aplayer 312. Theplayer 312 may be an Internet browser that may decode thevideo feed 200 with block alpha channel to be played for the viewer. - In an example, an encoded video with a video compression, for instance VP8, in a WebM format, has colors encoded with three channels, YCbCr, where Y is a luma component, Cb and Cr are chroma components. An additional block of data in the WebM container may be filled with an alpha component corresponding to the alpha layer. Thereafter, a flag, for instance, an alpha mode may be enabled for the
video feed 200. - The
content 314 may then be provided to theplayer 312. Thecontent 314 may be the advertisement that has been selected for the viewer and the advertisement has varying attributes for each frame of thevideo feed 200 to fit into the varying size and position of the placeholder of thevideo feed 200. Theplayer 312 may then embed thecontent 314 with thevideo feed 200 and broadcast asvideo 318 to the viewer. -
FIG. 4 illustrates ahardware platform 400 for implementation of thesystem 100, according to an example of the present disclosure. In an example embodiment, thehardware platform 400 may be acomputer system 400 that may be used with the examples described herein. Thecomputer system 400 may represent a computational platform that includes components that may be in a server or another computer system. Thecomputer system 400 may execute, by a processor (e.g., a single or multiple processors) or other hardware processing circuit, the methods, functions and other processes described herein. These methods, functions and other processes may be embodied as machine readable instructions stored on a computer readable medium, which may be non-transitory, such as hardware storage devices (e.g., RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), hard drives, and flash memory). - The
computer system 400 may include aprocessor 402 that may implement or execute machine readable instructions performing some or all of the methods, functions, techniques and/or other processes described herein. Commands and data from theprocessor 402 may be communicated over acommunication bus 404. Thecomputer system 400 may also include amain memory 406, such as a random access memory (RAM), where the machine readable instructions and data for theprocessor 402 may reside during runtime, and secondary data storage 408, which may be non-volatile and stores machine readable instructions and data. Thememory 406 and data storage 408 are examples of non-transitory computer readable mediums. Thememory 406 and/or the secondary data storage may store data used by thesystem 100, such as an object repository including web objects, configuration data, test data, etc. - The
computer system 400 may include an Input/Output (I/O)device 410, such as a keyboard, a mouse, a display, etc. A user interface (UI) 412 can be a communication device that provides textual and graphical user interfaces to a user of thesystem 100. TheUI 412 may operate with I/O device 410 to accept from and provide data to a user. Thecomputer system 400 may include anetwork interface 414 for connecting to a network. Other known electronic components may be added or substituted in the computer system. Theprocessor 402 may be designated as a hardware processor. Theprocessor 402 may execute various components of thesystem 100 described above and perform the methods described below. -
FIG. 5 illustrates a computer-implementedmethod 500 depicting functionality of thesystem 100, according to an example of the present disclosure. For the sake of brevity, construction and operational features of thesystem 100 which are explained in detail in the description ofFIG. 1 ,FIG. 2 ,FIG. 3 , andFIG. 4 are not explained in detail in the description ofFIG. 5 . - At
block 502, themethod 500 commences with receiving the video feed. In an example, the video feed may be a live video feed and may include multiple objects, such as a banner, a billboard, a playground, a stadium. - At
block 504, a placeholder may be detected in the video feed. In an example embodiment, thedetector 104 may detect the placeholder within an object from amongst the multiple objects in the video feed. - At 506, attributes of the placeholder, such as position, size may be detected. The attributes may be detected by the
detector 104. At 508, information regarding the media object may be obtained. The media object in an example may be an advertisement and may have a placement attribute for the placeholder. In an example embodiment, the media obtainer 108 may obtain the information regarding the media object having the placement attribute. The placement attribute may be, for instance, size or position of the media object that may be compatible with the size and position of the placeholder. - At 510, the placement attribute of the media object may be adjusted with the attributes of the placeholder. For example, if the size of the placeholder changes from medium to small then the size of the advertisement may also change from medium to small. In an example, the
aligner 110 may adjust the placement attribute of the media object based on the attribute of the placeholder. - At 512, content may be generated. The content having the media object embedded within the placeholder of the video feed. In an example embodiment, the
content generator 112 may generate the content, such as thevideo 318, with the media object embedded within the placeholder of the video feed. -
FIG. 6 illustrates a computer-implementedmethod 600 depicting the functionality of thesystem 100, according to another example embodiment of the present disclosure. For the sake of brevity, construction and operational features of thesystem 100 which are explained in detail in the description ofFIG. 1 ,FIG. 2 ,FIG. 3 ,FIG. 4 , andFIG. 5 are not explained in detail in the description ofFIG. 6 . - At
block 602, themethod 600 commences with receiving the camera tracking data for the video feed. The camera tracking data may be related to position and movement of a camera capturing the video feed. The camera tracking data may also indicate whether the camera has been tilted or zoomed. In an example, the camera tracking data may be received based on one of a mechanical tracking and a virtual tracking. In the mechanical tracking, multiple sensors may be mounted on the camera to detect movement and rotation of the camera, and in the virtual tracking the video feed may be analyzed based on computer vision techniques to detect movements of the camera. - At
block 604, a zone may be determined within the video feed for placement of the placeholder. In an example, thedetector 104 may detect the zone for the placement of the placeholder in the video feed. For detecting the zone, coordinates that define boundaries of the zone may be determined. The coordinates may change with the movement of the camera such that the zone appears to be steady within the video feed for different position and movement of the camera. Atblock 606, the video feed may be analyzed and the placeholder may be replaced by a mask for each frame of the video feed. The mask may be either blended into the original video feed within the alpha layer or the mask may be used as a separate data stream. In an example, to handle occlusions, the video feed may be analyzed using computer vision techniques. Thereafter, atblock 608, the video feed may be streamed along with placeholder boundaries. - The media object may then be received to be placed in the placeholder at
block 610. The media object may be placed in the placeholder by using a third party software that may be available online or offline. The media object may be unique for the viewer. Atblock 612, the placeholder may be replaced with the media object. In an example embodiment, thecontent generator 112 may place the media object within the placeholder of the video feed. - What has been described and illustrated herein are examples of the present disclosure. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the subject matter, which is intended to be defined by the following claims and their equivalents in which all terms are meant in their broadest reasonable sense unless otherwise indicated.
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18214595.3 | 2018-12-20 | ||
EP18214595.3A EP3672256A1 (en) | 2018-12-20 | 2018-12-20 | Dynamic media placement in video feed |
EP18214595 | 2018-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
US10674207B1 US10674207B1 (en) | 2020-06-02 |
US20200204859A1 true US20200204859A1 (en) | 2020-06-25 |
Family
ID=64959152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/242,891 Active US10674207B1 (en) | 2018-12-20 | 2019-01-08 | Dynamic media placement in video feed |
Country Status (2)
Country | Link |
---|---|
US (1) | US10674207B1 (en) |
EP (1) | EP3672256A1 (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5808695A (en) * | 1995-06-16 | 1998-09-15 | Princeton Video Image, Inc. | Method of tracking scene motion for live video insertion systems |
US5892554A (en) * | 1995-11-28 | 1999-04-06 | Princeton Video Image, Inc. | System and method for inserting static and dynamic images into a live video broadcast |
US6100925A (en) * | 1996-11-27 | 2000-08-08 | Princeton Video Image, Inc. | Image insertion in video streams using a combination of physical sensors and pattern recognition |
US20020144262A1 (en) * | 2001-04-03 | 2002-10-03 | Plotnick Michael A. | Alternative advertising in prerecorded media |
US20070100698A1 (en) * | 2005-07-08 | 2007-05-03 | Onestop Media Group | Adaptive advertisements and adaptive advertising distribution system |
US20080101456A1 (en) * | 2006-01-11 | 2008-05-01 | Nokia Corporation | Method for insertion and overlay of media content upon an underlying visual media |
US20130304604A1 (en) * | 2011-11-02 | 2013-11-14 | Michael Theodor Hoffman | Systems and methods for dynamic digital product synthesis, commerce, and distribution |
US8910201B1 (en) * | 2013-03-11 | 2014-12-09 | Amazon Technologies, Inc. | Product placement in digital content |
US20150038238A1 (en) * | 2013-07-31 | 2015-02-05 | Nintendo Co., Ltd. | Information processing apparatus, information processing system, information processing method, and recording medium |
US20150138238A1 (en) * | 2013-11-15 | 2015-05-21 | Sony Corporation | Method, device and computer software |
US20150339838A1 (en) * | 2012-06-26 | 2015-11-26 | Eyeconit Ltd. | Image mask providing a machine-readable data matrix code |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908172B2 (en) | 2000-03-09 | 2011-03-15 | Impulse Radio Inc | System and method for generating multimedia accompaniments to broadcast data |
EP1317857A1 (en) | 2000-08-30 | 2003-06-11 | Watchpoint Media Inc. | A method and apparatus for hyperlinking in a television broadcast |
CA2424771A1 (en) | 2003-04-07 | 2004-10-07 | Buzz Technologies | System and method for attaching advertisements to media files |
US20080183578A1 (en) | 2006-11-06 | 2008-07-31 | Ken Lipscomb | System and method for creating a customized video advertisement |
US9294822B2 (en) * | 2006-11-23 | 2016-03-22 | Mirriad Advertising Limited | Processing and apparatus for advertising component placement utilizing an online catalog |
US7739596B2 (en) | 2007-04-06 | 2010-06-15 | Yahoo! Inc. | Method and system for displaying contextual advertisements with media |
US9609260B2 (en) | 2007-07-13 | 2017-03-28 | Gula Consulting Limited Liability Company | Video tag layout |
US8285121B2 (en) | 2007-10-07 | 2012-10-09 | Fall Front Wireless Ny, Llc | Digital network-based video tagging system |
WO2009101623A2 (en) * | 2008-02-13 | 2009-08-20 | Innovid Inc. | Inserting interactive objects into video content |
US20100064025A1 (en) | 2008-09-10 | 2010-03-11 | Nokia Corporation | Method and Apparatus for Providing Media Service |
US20100154007A1 (en) | 2008-12-17 | 2010-06-17 | Jean Touboul | Embedded video advertising method and system |
US20120253937A1 (en) | 2009-11-30 | 2012-10-04 | Wing Donald J | Real Time Media Selection and Creation of a Composite Multimedia File Used for Custom Advertising and Marketing |
US20110177775A1 (en) | 2010-01-13 | 2011-07-21 | Qualcomm Incorporated | Signaling mechanisms, templates and systems for creation and delivery of interactivity events on mobile devices in a mobile broadcast communication system |
US9930311B2 (en) | 2011-10-20 | 2018-03-27 | Geun Sik Jo | System and method for annotating a video with advertising information |
WO2014138305A1 (en) | 2013-03-05 | 2014-09-12 | Grusd Brandon | Systems and methods for providing user interactions with media |
WO2015047246A1 (en) | 2013-09-25 | 2015-04-02 | Intel Corporation | Dynamic product placement in media content |
US10375434B2 (en) | 2014-03-11 | 2019-08-06 | Amazon Technologies, Inc. | Real-time rendering of targeted video content |
US10664687B2 (en) | 2014-06-12 | 2020-05-26 | Microsoft Technology Licensing, Llc | Rule-based video importance analysis |
US9646227B2 (en) | 2014-07-29 | 2017-05-09 | Microsoft Technology Licensing, Llc | Computerized machine learning of interesting video sections |
US10019415B1 (en) * | 2015-08-28 | 2018-07-10 | Animoto Inc. | System and method for consistent cross-platform text layout |
US9424494B1 (en) | 2016-01-28 | 2016-08-23 | International Business Machines Corporation | Pure convolutional neural network localization |
WO2018058554A1 (en) | 2016-09-30 | 2018-04-05 | Intel Corporation | Face anti-spoofing using spatial and temporal convolutional neural network analysis |
-
2018
- 2018-12-20 EP EP18214595.3A patent/EP3672256A1/en active Pending
-
2019
- 2019-01-08 US US16/242,891 patent/US10674207B1/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5808695A (en) * | 1995-06-16 | 1998-09-15 | Princeton Video Image, Inc. | Method of tracking scene motion for live video insertion systems |
US5892554A (en) * | 1995-11-28 | 1999-04-06 | Princeton Video Image, Inc. | System and method for inserting static and dynamic images into a live video broadcast |
US6100925A (en) * | 1996-11-27 | 2000-08-08 | Princeton Video Image, Inc. | Image insertion in video streams using a combination of physical sensors and pattern recognition |
US20020144262A1 (en) * | 2001-04-03 | 2002-10-03 | Plotnick Michael A. | Alternative advertising in prerecorded media |
US20070100698A1 (en) * | 2005-07-08 | 2007-05-03 | Onestop Media Group | Adaptive advertisements and adaptive advertising distribution system |
US20080101456A1 (en) * | 2006-01-11 | 2008-05-01 | Nokia Corporation | Method for insertion and overlay of media content upon an underlying visual media |
US20130304604A1 (en) * | 2011-11-02 | 2013-11-14 | Michael Theodor Hoffman | Systems and methods for dynamic digital product synthesis, commerce, and distribution |
US20150339838A1 (en) * | 2012-06-26 | 2015-11-26 | Eyeconit Ltd. | Image mask providing a machine-readable data matrix code |
US8910201B1 (en) * | 2013-03-11 | 2014-12-09 | Amazon Technologies, Inc. | Product placement in digital content |
US20150038238A1 (en) * | 2013-07-31 | 2015-02-05 | Nintendo Co., Ltd. | Information processing apparatus, information processing system, information processing method, and recording medium |
US20150138238A1 (en) * | 2013-11-15 | 2015-05-21 | Sony Corporation | Method, device and computer software |
Also Published As
Publication number | Publication date |
---|---|
US10674207B1 (en) | 2020-06-02 |
EP3672256A1 (en) | 2020-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109416931B (en) | Apparatus and method for gaze tracking | |
US11830161B2 (en) | Dynamically cropping digital content for display in any aspect ratio | |
RU2612378C1 (en) | Method of replacing objects in video stream | |
US11659255B2 (en) | Detection of common media segments | |
US8929720B2 (en) | Apparatus and method for identifying insertion zones in video material and for inserting additional material into the insertion zones | |
US11748870B2 (en) | Video quality measurement for virtual cameras in volumetric immersive media | |
US20170019719A1 (en) | Detection of Common Media Segments | |
US20160050465A1 (en) | Dynamically targeted ad augmentation in video | |
US20120013711A1 (en) | Method and system for creating three-dimensional viewable video from a single video stream | |
US20180302574A1 (en) | Method and Apparatus for Dynamic Image Content Manipulation | |
Turban et al. | Extrafoveal video extension for an immersive viewing experience | |
WO2018148076A1 (en) | System and method for automated positioning of augmented reality content | |
US20220165308A1 (en) | Point of view video processing and curation platform | |
US10674207B1 (en) | Dynamic media placement in video feed | |
US20230388563A1 (en) | Inserting digital contents into a multi-view video | |
US10674184B2 (en) | Dynamic content rendering in media | |
US20220207848A1 (en) | Method and apparatus for generating three dimensional images | |
US10237614B2 (en) | Content viewing verification system | |
US11908340B2 (en) | Magnification enhancement of video for visually impaired viewers | |
CN116506585A (en) | Multi-target tracking and displaying method in panoramic video | |
Glowacz et al. | Compression and distribution of panoramic videos utilising MPEG-7-based image registration | |
Deigmoeller et al. | Contextual cropping and scaling of TV productions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: ACCENTURE GLOBAL SOLUTIONS LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VIDAL, RICHARD;MATHON, EDOUARD;SOUCHE, CHRISTIAN;REEL/FRAME:048413/0697 Effective date: 20190107 |
|
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 YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |