US20160044294A1 - System and method for personal floating video - Google Patents

System and method for personal floating video Download PDF

Info

Publication number
US20160044294A1
US20160044294A1 US14/886,742 US201514886742A US2016044294A1 US 20160044294 A1 US20160044294 A1 US 20160044294A1 US 201514886742 A US201514886742 A US 201514886742A US 2016044294 A1 US2016044294 A1 US 2016044294A1
Authority
US
United States
Prior art keywords
video
background
user
subject
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/886,742
Inventor
Lindsay Friedman
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.)
Zoom Video Communications Inc
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US14/886,742 priority Critical patent/US20160044294A1/en
Publication of US20160044294A1 publication Critical patent/US20160044294A1/en
Assigned to BIN 2020, SERIES 550 OF ALLIED SECURITY TRUST I reassignment BIN 2020, SERIES 550 OF ALLIED SECURITY TRUST I ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FLIP LLC
Assigned to Zoom Video Communications, Inc. reassignment Zoom Video Communications, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BIN 2020, SERIES 550 OF ALLIED SECURITY TRUST I
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/74Circuits for processing colour signals for obtaining special effects
    • H04N9/75Chroma key
    • 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
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/793Processing of colour television signals in connection with recording for controlling the level of the chrominance signal, e.g. by means of automatic chroma control circuits

Definitions

  • the present exemplary embodiments relate generally to systems and methods for removing pixels. They find particular application in conjunction with producing universally formatted floating video that can be applied, with other components, to websites, web pages, social networking pages, emails and other social mediums. However, it is to be appreciated that the present exemplary embodiment is also amenable to other like applications.
  • a floating video is a video in which the background of the video is removed, thereby giving the foreground of the video the effect of floating.
  • a subject of focus such as an object or a person, demarcates between the background and the foreground of the video. Additionally, in certain instances, the floating video is overlaid on a new background.
  • a common usage of floating video is in weather forecasts, wherein meteorologists present the weather in front of a weather map.
  • a method for providing a user with a floating video of a subject.
  • the method receives a background image and/or video of a static single colored background from the user over a communications network.
  • a processor removes the background of the primary video to define a subject video, where the background is removed using the background image and/or video, and the subject video is stored.
  • a method for providing a user with a floating video of a subject.
  • the method receives a webcam image of a user placed in front of static single colored background over a communications network.
  • the user selects the single color range that the method should remove.
  • a processor removes the selected color in real time.
  • the user can then watch and record their video with the selected background masked out of the video.
  • a method for providing a user with a floating video of a subject.
  • the method records a background image and/or video of a static background.
  • the method records a primary video of the subject, wherein the subject is disposed in front of the static single colored background.
  • a processor removes the background of the primary video to define a subject video, wherein the background is removed using the background image and/or video, and the subject video is stored.
  • a system for providing a user with a floating video of a subject.
  • the system includes an imaging device, a processor and a storage medium.
  • the digital video recorder records a background image and/or video of a static background.
  • the imaging device records a primary video of the subject, wherein the subject is disposed in front of the static background.
  • the processor removes the background of the primary video to define a subject video, wherein the background is removed using the background image and/or video, and the subject video is stored on the storage medium.
  • FIG. 1 illustrates a method for providing a user with a floating video and/or hosting the floating video for the user
  • FIG. 2 illustrates a method for providing a user with a floating video and/or hosting the floating video for the user
  • FIG. 3 illustrates a system employing the method of FIG. 1 and/or the method of FIG. 2 .
  • FIGS. 4 , 5 and 6 use computer screen shots to illustrate a personal floating video processing method in accordance with one embodiment of the present development.
  • the systems and methods pertain to systems and methods for producing universally formatted floating video. Namely, said systems and methods strip a fixed single colored background from a video, thereby leaving a floating subject, such as an object or a person, that can be floated on top of any webpage, profile page, eCard, emails, and the like.
  • a method for providing a user with a floating video and/or hosting the floating video for the user is illustrated.
  • a user records (captures) a background digital image (one frame of pixels) or video (at least two frames of pixels) of any desired static single colored background such as a wall, a sheet or the like.
  • the user records a primary digital video of a person or object or other subject in front of the static background.
  • the digital video recorder can be a cellular phone digital video recorder such as an Apple iPhone or other cell phone video camera, a Flip or other brand digital video recorder or the like.
  • the static background need not be any particular color and need not be smooth and homogenous, it does however, need to be single colored.
  • the static background can be any wall or any other desired static location, but it is preferred that a static (non-moving) background color be selected that will contrast with the subject to facilitate subsequent image processing as described herein.
  • the background image/video and primary video are typically captured and stored as successive frames of a single video file but they could be discrete files that are captured and stored separately. Under the former, the first few seconds, for example, can be stripped from the single video file to define the background image/video.
  • an administrator receives the background image/video and the primary video, collectively referred to herein as “input data,” from the user.
  • the administrator receives the input data via a communications network, such as the Internet.
  • the input data is converted to a desired video format for further processing.
  • a step S 3 in exchange for a fee paid by the uploading user or by an advertiser or by a third party website, technology sites, or companies that have licensed the technology, the administrator processes the primary video file received in step S 2 to identify and modify at least a majority of background pixels (i.e., pixels that represent the static background but not the subject) in all or at least a select group of the frames of the primary video data file.
  • Backgrounds pixels are identified as those pixels having color values within a subset of color values within the background image/video.
  • backgrounds pixels are identified using the background image/video under the assumption that the background image/video includes all, or substantially all, the varying background color values created by different lighting circumstances.
  • the user may select how granular pixel comparisons are.
  • the identified background pixels are then “removed” in the sense that they are modified so as to be defined as being completely or partially “clear” or “transparent” in terms of color and transparency/opacity or are otherwise modified to have a desired color and/or transparency/opacity.
  • the alpha value for each background pixel may be set to zero.
  • the non-background (subject) pixels that define the subject are identified and extracted for input to a new video file that has a transparent background or other background of desired color and transparency/opacity.
  • a “subject video” file (also referred to as a “floating video”) is derived from the background removal operation, wherein the subject video comprises a plurality of frames of pixels that represent the subject (“subject pixels”) set against a new background that is completely clear or transparent or that has another desired color and transparency/opacity.
  • a pixel is deemed to be fully or partially “transparent” if it does not fully obscure or replace underlying pixel data on a video monitor when it is rendered to the same location on the video monitor so that it allows the underlying pixel data to be perceived by a user.
  • a completely clear or transparent background pixel will not affect the underlying pixel data and/or the manner in which it is perceived by a viewer of the video monitor, while a partially transparent background pixel will diffuse or partially obscure the underlying pixel data as it is perceived by a viewer of the video monitor.
  • the background removal operation could also comprise deleting the identified background pixels such that the subject video (floating video) is defined only by the remaining subject pixels (and any residual background pixels not identified and deleted).
  • step S 3 a the subject video or floating video with its transparent or otherwise modified background is converted to a desired format such as Flash or html5.
  • a step S 4 the administrator stores the subject video file.
  • a step S 4 a is performed in which the administrator transmits the subject video file to the user for the user's own use as desired, e.g., by a line of html produced by the method instantly, by e-mail or by selected file format.
  • a user can download an advanced H-264 desktop version of the application on to their pc. With this method the video is recorded, processed and stored on the user's pc.
  • This application is for use in professional fields where conversion from a desktop video to an online video is required for distribution over the internet.
  • a step S 4 b is additionally or alternatively performed in which the administrator receives a request from an application or website to stream or download or otherwise transmit the subject video file for playback by the website or application.
  • This can be a request from a website such as a MySpace page or a media player or an application such as a Facebook application or a request from a personal website, or other process or application.
  • a step S 4 c is performed in which the administrator streams or downloads or otherwise transmits the subject video to the requesting application or webpage over the internet or other network.
  • the administrator provides the user that created the input data with an address and other required information for requesting playback of the subject video, which is stored by the administrator, and the step S 4 b comprises receiving a request that uses the subject video address.
  • the step S 4 c is performed according to user selected playback options, if any.
  • the administrator receives user input for desired playback options, and some or all of the user-requested options can be pay-options in which the user must pay the administrator to implement the options.
  • a user can choose to implement cookies or other tags that track streaming or other transmission of the subject video. In such case, the user can choose to implement a cookie that enables one of a plurality of different stored subject videos to be transmitted in step S 4 c , depending whether the request received in step S 4 b is a new request or a repeat request.
  • step S 2 In the case where a website initiates a request for streaming playback of the subject video in response to a user visiting the website, this could prevent a user being subjected to a second performance of the same subject video.
  • Other options available to a user in step S 2 include the ability to control the placement and size of the subject video during streaming/playback, the ability to embed links and/or advertising in the subject video file, and the ability to control the extent to which the background pixels are modified in the input data.
  • the above-described process enables a system in which users create the input data and pay the administrator to derive the subject video data from the input data file.
  • the user also pays to enable cookies and other streaming playback options such as controlling size and placement of the floating video during its stream/playback.
  • the user pays the administrator for each stream or other transmission of the floating video from the administrator to a requesting website or application.
  • a method for providing a user with a floating video is illustrated.
  • a user records (captures) a background digital image (one frame of pixels) or video (at least two frames of pixels) of any desired static background such as a wall, a sheet or the like.
  • the user records a primary digital video of a person or object or other subject in front of the static background.
  • the digital video recorder can be a cellular phone digital video recorder such as an Apple iPhone or other cell phone video camera, a Flip or other brand digital video recorder, a PC camera such as a webcam or the like.
  • the static background need not be any particular color and need not be smooth and homogenous.
  • the static background can be any single colored wall or any other desired single colored static location, but it is preferred that a static (non-moving) background be selected that will contrast with the subject to facilitate subsequent image processing as described herein.
  • the background image/video and primary video are typically captured and stored as successive frames of a single video file but they could be discrete files that are captured and stored separately. Under the former, the first few seconds, for example, can be stripped from the single video file to define the background image/video.
  • a background is deemed to be “single colored” if its color and luminance are substantially uniform such that a human observer would deem the background to be a single color.
  • step S 1 a the background image/video and/or the primary video are converted to a desired video format for further processing.
  • a step S 2 the user processes the primary video file recorded in step S 1 to identify and modify at least a majority of background pixels (i.e., pixels that represent the static background but not the subject) in all or at least a select group of the frames of the primary video data file.
  • Backgrounds pixels are identified as those pixels having color values within a subset of color values within the background image/video.
  • backgrounds pixels are identified using the background image/video under the assumption that the background image/video includes all, or substantially all, the varying background color values created by different lighting circumstances.
  • the user may select how granular pixel comparisons are.
  • the identified background pixels are then “removed” in the sense that they are modified so as to be defined as being completely or partially “clear” or “transparent” in terms of color and transparency/opacity or are otherwise modified to have a desired color and/or transparency/opacity.
  • the alpha value for each background pixel may be set to zero.
  • the non-background (subject) pixels that define the subject are identified and extracted for input to a new video file that has a transparent background or other background of desired color and transparency/opacity.
  • a “subject video” file (also referred to as a “floating video”) is derived from the background removal operation, wherein the subject video comprises a plurality of frames of pixels that represent the subject (“subject pixels”) set against a new background that is completely clear or transparent or that has another desired color and transparency/opacity.
  • a pixel is deemed to be fully or partially “transparent” if it does not fully obscure or replace underlying pixel data on a video monitor when it is rendered to the same location on the video monitor so that it allows the underlying pixel data to be perceived by a user.
  • a completely clear or transparent background pixel will not affect the underlying pixel data and/or the manner in which it is perceived by a viewer of the video monitor, while a partially transparent background pixel will diffuse or partially obscure the underlying pixel data as it is perceived by a viewer of the video monitor.
  • the background removal operation could also comprise deleting the identified background pixels such that the subject video (floating video) is defined only by the remaining subject pixels (and any residual background pixels not identified and deleted).
  • step S 2 a the subject video or floating video with its transparent or otherwise modified background is converted to a desired format such as Flash or html5.
  • a step S 3 the user stores the subject video file.
  • a step S 3 a is performed in which the user is provided with the subject video for the user's own use as desired.
  • the user may be provided with a local file path to the subject video.
  • a step S 3 b is additionally or alternatively performed in which the user uploads the subject video or floating video with its transparent or otherwise modified background to a media server of an administrator for hosting.
  • the media server may, for example, be a Flash Media Server.
  • the user may also specify playback options, where some or all of the user-requested options can be pay-options in which the user must pay an administrator of the media server to implement the options.
  • the user can choose to implement cookies or other tags that track streaming or other transmission of the subject video.
  • Other options available to the user include the ability to control the placement and size of the subject video during streaming/playback, the ability to embed links and/or advertising in the subject video file, and the ability to add a watermark to the subject video.
  • a step S 3 c is performed in which the user receives a code snippet and/or link to embed the uploaded subject video file in a webpage, profile page, eCard, emails, and the like.
  • the user could receive an html code snippet.
  • the code snippet and/or link allows an application or website to stream or download or otherwise request the subject video file from the media server for playback by the website or application.
  • the code snippet and/or link can be embedded within a website such as a MySpace page or a media player or an application such as a Facebook application or a request from a personal website, or other process or application.
  • the above-described process enables a system in which users create the subject video or floating video to pay the administrator to host the subject video. Users may also pay to enable cookies and other streaming playback options such as controlling size and placement of the floating video during its stream/playback. In one example, the user pays the administrator for each stream or other transmission of the floating video from the administrator to a requesting website or application.
  • a user can download an advanced H-264 desktop version of the application on to their pc. With this method the video is recorded, processed and stored on the user's pc.
  • This application is for use in professional fields where conversion from a desktop video to an online video is required for distribution over the Internet.
  • the method of FIG. 1 concerns a server based method of generating the subject video and the method of FIG. 2 concerns a user based method of generating the subject video.
  • the method of FIG. 2 generally takes place on a user device, such as a mobile phone, and the method of FIG. 1 generally takes place on a server remote from the user device.
  • the method of FIG. 2 can be augmented with the method of FIG. 1 to timely generate the subject video.
  • the background image/video and the primary video recorded on the user device can be passed to a remote server for processing should it be determined that the user device lacks sufficient resources to generate the subject video. Thereafter, the subject video can be returned to the user device for continuation along the method of FIG. 2 or left on the remote server for continuation along the method of FIG. 1 .
  • the system includes a web server 302 , a user device 304 and a remote server 306 all interconnected by a communications network 308 .
  • the communications network 308 is, for example, the Internet and/or a local area network
  • the web server 302 is a traditional web server running Apache, IIS or the like.
  • the web server 302 may alternatively or additionally be an application server.
  • the system further includes a digital video recorder 310 , where the digital video recorder can be a cellular phone digital video recorder such as an Apple iPhone or other cell phone video camera, a Flip or other brand digital video recorder or the like.
  • the user device 304 and the digital video recorder 310 are operatively connected such that recordings from the digital video recorder 310 can be transferred to the user device 304 .
  • This may be by way of USB, firewire, Bluetooth, wifi, etc.
  • the user device 304 and the digital video recorder 310 may be one and the same.
  • the user device 304 and remote server 306 include a processor 306 , a network interface 308 and a storage medium 310 .
  • the processor 306 is a microprocessor, microcontroller, graphic processing unit (GPU), etc.
  • the storage medium 310 is a magnetic disk or other magnetic storage medium, an optical disk or other optical storage medium, a random access memory (RAM) or other electronic memory device or chip or set of operatively interconnected chips, a network server from which data may be retrieved via the Internet or a local area network, or so forth.
  • the network interface 308 communicates with other devices connected to the communications network 308 , such as the remote server 308 /user device 304 and the web server 302 .
  • the user device and/or the remote server may be distributed across a plurality of devices and/or a plurality of servers.
  • the user device 304 in conjunction with the digital video recorder 310 , carries out the method of FIG. 2 .
  • a user of the user device 304 records a background image and/or video of a static background using the digital video recorder 310 .
  • the user records a primary video of a subject, wherein the subject is disposed in front of the static background.
  • the user device 304 uses a processor 312 to remove the background of the primary video to define a subject video.
  • the subject video is then stored on a storage medium 314 and optionally sent to the remote server 306 for hosting over the communications network 308 via the network interface 316 .
  • the user device 304 receives, from the remote server 306 , code and/or a link to embed the subject video in their website suitably hosted by the web server 302 .
  • the remote server 306 in conjunction with the digital video recorder 310 and the user device 304 , carries out the method of FIG. 1 .
  • a user of the user device 304 records a background image and/or video of a static background using the digital video recorder 310 .
  • the user records a primary video of the subject, wherein a subject is disposed in front of the static background.
  • the user device 304 transfers the background image and/or video and the primary video, collectively referred to herein as “input data,” to the remote server 306 over the communications network 308 via the network interface 316 .
  • the remote server 306 receives the input data via a network interface 318 and uses a processor 320 to remove the background of the primary video to define a subject video.
  • the subject video is then stored on a storage medium 322 and optionally sent to the user device 304 via the communications network 308 . Additionally, or in the alternative, the subject video is hosted for the user of the user device 304 so as to stream the subject video to requesting websites such as a website hosted by the web server 302 .
  • the user device 304 and remote server 306 coordinate with each other to carry out a hybrid of the method of FIG. 2 and the method of FIG. 1 .
  • the user device 304 carries out the method of FIG. 2 .
  • the background image/video and the primary video recorded on the user device 304 are passed to the remote server 306 for processing in accordance with the method of FIG. 1 .
  • the method includes processing (either locally or on a remote server) a webcam video stream of a user placed in front of static single colored background.
  • the webcam video stream is processed in real-time by a local or remote application A in accordance with the development described herein, and the result is displayed to the user as a webcam video stream in real-time on the user's computer.
  • a user selects box T 1 to initiate a “Define Background” step in which the user uses his/her own computer and webcam to display video V of a subject S in front of a background B of a certain color (the color is indicated by the particular cross-hatching).
  • the webcam video V is continuously displayed to the user in real-time as shown in a window WV.
  • the user can select the box B 1 “Show Removal Area” which causes the application to use a color or other indicia to “flag” or indicate in the window WV which regions of the video V will be removed based upon the color of that region. For example, a bright color, shading, or other indicia (indicated by bi-directional cross-hatching in FIG. 5 ) is then added to the video V to flag or show all regions thereof that will be removed (while the video continues to stream).
  • the user selects any object in the video of a certain color (e.g., the background B), and the video is processed in real-time to show which parts will be removed (by coloring the parts to be removed a certain color or by otherwise or otherwise flagging or changing the appearance of the parts to be removed).
  • the color being removed from the video is displayed in the box B 2 and is labeled “Color Removed” and the “Color Removed” box B 2 is updated as the user selects a different colored object in the video V.
  • FIG. 5 shows that the user has selected the box B 1 and has also selected the background B as the color to be removed, which has caused the application to “flag” or change the color of the background B in the video V to a conspicuous color (bright pink or bright green, etc.—indicated in FIG. 5 by the bidirectional cross-hatching of the background B) to indicate that the background B will be removed when the webcam video stream is ultimately processed according to the present development.
  • the video V including the flagging is sometimes referred to herein as the altered video.
  • the user can move to the next step of recording the video by selecting box T 2 .
  • FIG. 6 shows an example that is similar to FIG. 5 , but where the user will not be satisfied.
  • the user's left arm has been flagged for removal from the video V due to the fact that the color of his/her left arm has been deemed to be similar to the background B by the application A.
  • the user can change his/her appearance (e.g., change his/her shirt), change the lighting, change the background color, etc.
  • the user can change the color removal processing settings by selecting the box B 3 “Adjust Settings” so that the user is presented with multiple image processing parameters that can be adjusted by slider bars or the like (e.g., color sensitivity) until the user is satisfied with the resulting video V and the user then selects box T 2 to begin the recording process.
  • Adjust Settings e.g., color sensitivity
  • the user When the user selects the “Record Video” box T 2 , the user is presented with “RECORD” “STOP RECORD” “PREVIEW” boxes (not shown) so that the user can record the video V (in one or more stages) while simultaneously viewing same in the window WV, preview the result, and re-record if desired.
  • the areas to be removed are flagged with color or otherwise flagged as noted above so that the user can see in real time (or during preview playback) which parts of the video V will be/are being removed.
  • the user selects the box T 3 to embed the video in his/her website.
  • the user is presented with a code snippet as described above to accomplish the video embedding.
  • the user is also presented with a chance to preview the video in a test webpage.
  • the exemplary methods, the systems employing the same, and so forth, of the present invention are embodied by a storage medium storing instructions executable (for example, by a digital processor) to implement the determination of image anchor templates.
  • the storage medium may include, for example: a magnetic disk or other magnetic storage medium; an optical disk or other optical storage medium; a random access memory (RAM), read-only memory (ROM), or other electronic memory device or chip or set of operatively interconnected chips; an Internet server from which the stored instructions may be retrieved via the Internet or a local area network; or so forth.

Abstract

Systems and methods for providing a user with a floating video of a subject are provided. The systems and methods generate a floating video by removing background pixels of a primary video using a background image/video, where the user records the primary video and the background image/video. The floating video may be generated on a recording device of the user and/or a remote server. Further, the user and/or the remote server may host the floating video.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 12/879,733 filed Sep. 10, 2010, now assigned U.S. Pat. No. 9,165,605, which claims priority from and benefit of the filing date of U.S. provisional application Ser. No. 61/241,580 filed Sep. 11, 2009, and claims priority from and benefit of the filing date of U.S. provisional application Ser. No. 61/330,637 filed May 3, 2010, and the entire disclosure of each of said prior applications is hereby incorporated by reference into the present specification.
  • BACKGROUND
  • The present exemplary embodiments relate generally to systems and methods for removing pixels. They find particular application in conjunction with producing universally formatted floating video that can be applied, with other components, to websites, web pages, social networking pages, emails and other social mediums. However, it is to be appreciated that the present exemplary embodiment is also amenable to other like applications.
  • A floating video is a video in which the background of the video is removed, thereby giving the foreground of the video the effect of floating. Generally, a subject of focus, such as an object or a person, demarcates between the background and the foreground of the video. Additionally, in certain instances, the floating video is overlaid on a new background. A common usage of floating video is in weather forecasts, wherein meteorologists present the weather in front of a weather map.
  • Traditional solutions for generating a floating video rely upon chroma key compositing in which a color (or a small color range) is removed from a video. However, these solutions depend upon a studio to professionally shoot the video in front of a “green screen” or a “blue screen” and to edit the video to remove the background. Naturally, such solutions tend to prove costly, whereby they're not readily available to the common person.
  • In view of the deficiencies noted above, there exists a need for improved systems and/or methods for bringing floating video to the masses. The present application contemplates such new and improved systems and/or methods which may be employed to mitigate the above-referenced problems and others.
  • BRIEF DESCRIPTION
  • In accordance with one aspect of the present application, a method is illustrated for providing a user with a floating video of a subject. The method receives a background image and/or video of a static single colored background from the user over a communications network. Similarly, the method receives a primary video of the subject from the user over the communications network, where the subject is disposed in front of the static background. A processor removes the background of the primary video to define a subject video, where the background is removed using the background image and/or video, and the subject video is stored.
  • In accordance with another aspect of the present application, a method is illustrated for providing a user with a floating video of a subject. The method receives a webcam image of a user placed in front of static single colored background over a communications network. The user then selects the single color range that the method should remove. A processor removes the selected color in real time. The user can then watch and record their video with the selected background masked out of the video.
  • In accordance with another aspect of the present application, a method is illustrated for providing a user with a floating video of a subject. The method records a background image and/or video of a static background. Similarly, the method records a primary video of the subject, wherein the subject is disposed in front of the static single colored background. A processor removes the background of the primary video to define a subject video, wherein the background is removed using the background image and/or video, and the subject video is stored.
  • In accordance with another aspect of the present application, a system is provided for providing a user with a floating video of a subject. The system includes an imaging device, a processor and a storage medium. The digital video recorder records a background image and/or video of a static background. Further the imaging device records a primary video of the subject, wherein the subject is disposed in front of the static background. The processor removes the background of the primary video to define a subject video, wherein the background is removed using the background image and/or video, and the subject video is stored on the storage medium.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a method for providing a user with a floating video and/or hosting the floating video for the user;
  • FIG. 2 illustrates a method for providing a user with a floating video and/or hosting the floating video for the user; and
  • FIG. 3 illustrates a system employing the method of FIG. 1 and/or the method of FIG. 2.
  • FIGS. 4, 5 and 6 use computer screen shots to illustrate a personal floating video processing method in accordance with one embodiment of the present development.
  • DETAILED DESCRIPTION
  • The systems and methods, discussed in detailed hereafter, pertain to systems and methods for producing universally formatted floating video. Namely, said systems and methods strip a fixed single colored background from a video, thereby leaving a floating subject, such as an object or a person, that can be floated on top of any webpage, profile page, eCard, emails, and the like.
  • With reference to FIG. 1, a method for providing a user with a floating video and/or hosting the floating video for the user is illustrated. In a step S1, using any suitable digital video recorder, a user records (captures) a background digital image (one frame of pixels) or video (at least two frames of pixels) of any desired static single colored background such as a wall, a sheet or the like. Also in step S1, the user records a primary digital video of a person or object or other subject in front of the static background. The digital video recorder can be a cellular phone digital video recorder such as an Apple iPhone or other cell phone video camera, a Flip or other brand digital video recorder or the like. Unlike known “green screen” or “blue screen” methods, the static background need not be any particular color and need not be smooth and homogenous, it does however, need to be single colored. Instead, the static background can be any wall or any other desired static location, but it is preferred that a static (non-moving) background color be selected that will contrast with the subject to facilitate subsequent image processing as described herein. The background image/video and primary video are typically captured and stored as successive frames of a single video file but they could be discrete files that are captured and stored separately. Under the former, the first few seconds, for example, can be stripped from the single video file to define the background image/video.
  • In a step S2, an administrator receives the background image/video and the primary video, collectively referred to herein as “input data,” from the user. Preferably, the administrator receives the input data via a communications network, such as the Internet. In an optional step S2 a, the input data is converted to a desired video format for further processing.
  • In a step S3, in exchange for a fee paid by the uploading user or by an advertiser or by a third party website, technology sites, or companies that have licensed the technology, the administrator processes the primary video file received in step S2 to identify and modify at least a majority of background pixels (i.e., pixels that represent the static background but not the subject) in all or at least a select group of the frames of the primary video data file. Backgrounds pixels are identified as those pixels having color values within a subset of color values within the background image/video. Hence, backgrounds pixels are identified using the background image/video under the assumption that the background image/video includes all, or substantially all, the varying background color values created by different lighting circumstances. To adjust between performance and quality, the user may select how granular pixel comparisons are. In this “background removal” operation, the identified background pixels are then “removed” in the sense that they are modified so as to be defined as being completely or partially “clear” or “transparent” in terms of color and transparency/opacity or are otherwise modified to have a desired color and/or transparency/opacity. For example, the alpha value for each background pixel may be set to zero. In an alternative “background removal” operation, the non-background (subject) pixels that define the subject (the inverse of the static background) are identified and extracted for input to a new video file that has a transparent background or other background of desired color and transparency/opacity. In either case, a “subject video” file (also referred to as a “floating video”) is derived from the background removal operation, wherein the subject video comprises a plurality of frames of pixels that represent the subject (“subject pixels”) set against a new background that is completely clear or transparent or that has another desired color and transparency/opacity. As used herein, a pixel is deemed to be fully or partially “transparent” if it does not fully obscure or replace underlying pixel data on a video monitor when it is rendered to the same location on the video monitor so that it allows the underlying pixel data to be perceived by a user. A completely clear or transparent background pixel will not affect the underlying pixel data and/or the manner in which it is perceived by a viewer of the video monitor, while a partially transparent background pixel will diffuse or partially obscure the underlying pixel data as it is perceived by a viewer of the video monitor. The background removal operation could also comprise deleting the identified background pixels such that the subject video (floating video) is defined only by the remaining subject pixels (and any residual background pixels not identified and deleted).
  • In an optional step S3 a, the subject video or floating video with its transparent or otherwise modified background is converted to a desired format such as Flash or html5.
  • In a step S4, the administrator stores the subject video file.
  • In one embodiment, a step S4 a is performed in which the administrator transmits the subject video file to the user for the user's own use as desired, e.g., by a line of html produced by the method instantly, by e-mail or by selected file format.
  • In another embodiment a user can download an advanced H-264 desktop version of the application on to their pc. With this method the video is recorded, processed and stored on the user's pc. This application is for use in professional fields where conversion from a desktop video to an online video is required for distribution over the internet.
  • In another embodiment, a step S4 b is additionally or alternatively performed in which the administrator receives a request from an application or website to stream or download or otherwise transmit the subject video file for playback by the website or application. This can be a request from a website such as a MySpace page or a media player or an application such as a Facebook application or a request from a personal website, or other process or application. A step S4 c is performed in which the administrator streams or downloads or otherwise transmits the subject video to the requesting application or webpage over the internet or other network. In one example, the administrator provides the user that created the input data with an address and other required information for requesting playback of the subject video, which is stored by the administrator, and the step S4 b comprises receiving a request that uses the subject video address.
  • The step S4 c is performed according to user selected playback options, if any. In the illustrated embodiment, as part of the step S2, the administrator receives user input for desired playback options, and some or all of the user-requested options can be pay-options in which the user must pay the administrator to implement the options. In one example, a user can choose to implement cookies or other tags that track streaming or other transmission of the subject video. In such case, the user can choose to implement a cookie that enables one of a plurality of different stored subject videos to be transmitted in step S4 c, depending whether the request received in step S4 b is a new request or a repeat request. In the case where a website initiates a request for streaming playback of the subject video in response to a user visiting the website, this could prevent a user being subjected to a second performance of the same subject video. Other options available to a user in step S2 include the ability to control the placement and size of the subject video during streaming/playback, the ability to embed links and/or advertising in the subject video file, and the ability to control the extent to which the background pixels are modified in the input data.
  • The above-described process enables a system in which users create the input data and pay the administrator to derive the subject video data from the input data file. The user also pays to enable cookies and other streaming playback options such as controlling size and placement of the floating video during its stream/playback. In one example, the user pays the administrator for each stream or other transmission of the floating video from the administrator to a requesting website or application.
  • With reference to FIG. 2, a method for providing a user with a floating video is illustrated. In a step S1, using any suitable digital video recorder, a user records (captures) a background digital image (one frame of pixels) or video (at least two frames of pixels) of any desired static background such as a wall, a sheet or the like. Also in step S1, the user records a primary digital video of a person or object or other subject in front of the static background. The digital video recorder can be a cellular phone digital video recorder such as an Apple iPhone or other cell phone video camera, a Flip or other brand digital video recorder, a PC camera such as a webcam or the like. Unlike known “green screen” or “blue screen” methods, the static background need not be any particular color and need not be smooth and homogenous. Instead, the static background can be any single colored wall or any other desired single colored static location, but it is preferred that a static (non-moving) background be selected that will contrast with the subject to facilitate subsequent image processing as described herein. The background image/video and primary video are typically captured and stored as successive frames of a single video file but they could be discrete files that are captured and stored separately. Under the former, the first few seconds, for example, can be stripped from the single video file to define the background image/video. In one example of the present development, a background is deemed to be “single colored” if its color and luminance are substantially uniform such that a human observer would deem the background to be a single color.
  • In an optional step S1 a, the background image/video and/or the primary video are converted to a desired video format for further processing.
  • In a step S2, the user processes the primary video file recorded in step S1 to identify and modify at least a majority of background pixels (i.e., pixels that represent the static background but not the subject) in all or at least a select group of the frames of the primary video data file. Backgrounds pixels are identified as those pixels having color values within a subset of color values within the background image/video. Hence, backgrounds pixels are identified using the background image/video under the assumption that the background image/video includes all, or substantially all, the varying background color values created by different lighting circumstances. To adjust between performance and quality, the user may select how granular pixel comparisons are. In this “background removal” operation, the identified background pixels are then “removed” in the sense that they are modified so as to be defined as being completely or partially “clear” or “transparent” in terms of color and transparency/opacity or are otherwise modified to have a desired color and/or transparency/opacity. For example, the alpha value for each background pixel may be set to zero. In an alternative “background removal” operation, the non-background (subject) pixels that define the subject (the inverse of the static background) are identified and extracted for input to a new video file that has a transparent background or other background of desired color and transparency/opacity. In either case, a “subject video” file (also referred to as a “floating video”) is derived from the background removal operation, wherein the subject video comprises a plurality of frames of pixels that represent the subject (“subject pixels”) set against a new background that is completely clear or transparent or that has another desired color and transparency/opacity. As used herein, a pixel is deemed to be fully or partially “transparent” if it does not fully obscure or replace underlying pixel data on a video monitor when it is rendered to the same location on the video monitor so that it allows the underlying pixel data to be perceived by a user. A completely clear or transparent background pixel will not affect the underlying pixel data and/or the manner in which it is perceived by a viewer of the video monitor, while a partially transparent background pixel will diffuse or partially obscure the underlying pixel data as it is perceived by a viewer of the video monitor. The background removal operation could also comprise deleting the identified background pixels such that the subject video (floating video) is defined only by the remaining subject pixels (and any residual background pixels not identified and deleted).
  • In an optional step S2 a, the subject video or floating video with its transparent or otherwise modified background is converted to a desired format such as Flash or html5.
  • In a step S3, the user stores the subject video file.
  • In one embodiment, a step S3 a is performed in which the user is provided with the subject video for the user's own use as desired. For example, the user may be provided with a local file path to the subject video.
  • In another embodiment, in exchange for a fee paid by the user or by an advertiser or by a third party website, technology sites, or companies that have licensed the technology, a step S3 b is additionally or alternatively performed in which the user uploads the subject video or floating video with its transparent or otherwise modified background to a media server of an administrator for hosting. The media server may, for example, be a Flash Media Server. As part of step S3 b, the user may also specify playback options, where some or all of the user-requested options can be pay-options in which the user must pay an administrator of the media server to implement the options. In one example, the user can choose to implement cookies or other tags that track streaming or other transmission of the subject video. Other options available to the user include the ability to control the placement and size of the subject video during streaming/playback, the ability to embed links and/or advertising in the subject video file, and the ability to add a watermark to the subject video.
  • Thereafter, a step S3 c is performed in which the user receives a code snippet and/or link to embed the uploaded subject video file in a webpage, profile page, eCard, emails, and the like. For example, the user could receive an html code snippet. The code snippet and/or link allows an application or website to stream or download or otherwise request the subject video file from the media server for playback by the website or application. The code snippet and/or link can be embedded within a website such as a MySpace page or a media player or an application such as a Facebook application or a request from a personal website, or other process or application.
  • The above-described process enables a system in which users create the subject video or floating video to pay the administrator to host the subject video. Users may also pay to enable cookies and other streaming playback options such as controlling size and placement of the floating video during its stream/playback. In one example, the user pays the administrator for each stream or other transmission of the floating video from the administrator to a requesting website or application.
  • In another embodiment, a user can download an advanced H-264 desktop version of the application on to their pc. With this method the video is recorded, processed and stored on the user's pc. This application is for use in professional fields where conversion from a desktop video to an online video is required for distribution over the Internet.
  • In view of the discussion heretofore, it should be appreciated the method of FIG. 1 concerns a server based method of generating the subject video and the method of FIG. 2 concerns a user based method of generating the subject video. In other words, the method of FIG. 2 generally takes place on a user device, such as a mobile phone, and the method of FIG. 1 generally takes place on a server remote from the user device. Further, although not illustrated, in situations where the user device lacks sufficient resources to generate the subject video in a timely manner, the method of FIG. 2 can be augmented with the method of FIG. 1 to timely generate the subject video. Namely, the background image/video and the primary video recorded on the user device can be passed to a remote server for processing should it be determined that the user device lacks sufficient resources to generate the subject video. Thereafter, the subject video can be returned to the user device for continuation along the method of FIG. 2 or left on the remote server for continuation along the method of FIG. 1.
  • With reference to FIG. 3, a system 300 employing the method of FIG. 1 and/or the method of FIG. 2 is illustrated. The system includes a web server 302, a user device 304 and a remote server 306 all interconnected by a communications network 308. The communications network 308 is, for example, the Internet and/or a local area network, and the web server 302 is a traditional web server running Apache, IIS or the like. In certain embodiments, the web server 302 may alternatively or additionally be an application server. The system further includes a digital video recorder 310, where the digital video recorder can be a cellular phone digital video recorder such as an Apple iPhone or other cell phone video camera, a Flip or other brand digital video recorder or the like. As shown, the user device 304 and the digital video recorder 310 are operatively connected such that recordings from the digital video recorder 310 can be transferred to the user device 304. This may be by way of USB, firewire, Bluetooth, wifi, etc. However, in alternative embodiments, the user device 304 and the digital video recorder 310 may be one and the same.
  • The user device 304 and remote server 306 include a processor 306, a network interface 308 and a storage medium 310. Suitably, the processor 306 is a microprocessor, microcontroller, graphic processing unit (GPU), etc. and the storage medium 310 is a magnetic disk or other magnetic storage medium, an optical disk or other optical storage medium, a random access memory (RAM) or other electronic memory device or chip or set of operatively interconnected chips, a network server from which data may be retrieved via the Internet or a local area network, or so forth. Further, the network interface 308 communicates with other devices connected to the communications network 308, such as the remote server 308/user device 304 and the web server 302. Although only a single user device 304 and/or a single remote server 306 are shown, it is to be appreciated that the user device and/or the remote server may be distributed across a plurality of devices and/or a plurality of servers.
  • In certain embodiments, the user device 304, in conjunction with the digital video recorder 310, carries out the method of FIG. 2. Namely, a user of the user device 304 records a background image and/or video of a static background using the digital video recorder 310. Likewise, the user records a primary video of a subject, wherein the subject is disposed in front of the static background. Thereafter, the user device 304 uses a processor 312 to remove the background of the primary video to define a subject video. The subject video is then stored on a storage medium 314 and optionally sent to the remote server 306 for hosting over the communications network 308 via the network interface 316. Assuming the subject video is sent to the remote server 306, the user device 304 receives, from the remote server 306, code and/or a link to embed the subject video in their website suitably hosted by the web server 302.
  • In other embodiments, the remote server 306, in conjunction with the digital video recorder 310 and the user device 304, carries out the method of FIG. 1. Namely, a user of the user device 304 records a background image and/or video of a static background using the digital video recorder 310. Likewise, the user records a primary video of the subject, wherein a subject is disposed in front of the static background. Thereafter, the user device 304 transfers the background image and/or video and the primary video, collectively referred to herein as “input data,” to the remote server 306 over the communications network 308 via the network interface 316. The remote server 306 receives the input data via a network interface 318 and uses a processor 320 to remove the background of the primary video to define a subject video. The subject video is then stored on a storage medium 322 and optionally sent to the user device 304 via the communications network 308. Additionally, or in the alternative, the subject video is hosted for the user of the user device 304 so as to stream the subject video to requesting websites such as a website hosted by the web server 302.
  • In other embodiments, the user device 304 and remote server 306 coordinate with each other to carry out a hybrid of the method of FIG. 2 and the method of FIG. 1. Namely, in situations where the user device 304 has sufficient resources to generate the subject video, the user device 304 carries out the method of FIG. 2. However, in situations where the user device lacks sufficient resources to generate the subject video, the background image/video and the primary video recorded on the user device 304 are passed to the remote server 306 for processing in accordance with the method of FIG. 1.
  • In accordance with one embodiment, the method includes processing (either locally or on a remote server) a webcam video stream of a user placed in front of static single colored background. The webcam video stream is processed in real-time by a local or remote application A in accordance with the development described herein, and the result is displayed to the user as a webcam video stream in real-time on the user's computer. As shown in FIG. 4, a user selects box T1 to initiate a “Define Background” step in which the user uses his/her own computer and webcam to display video V of a subject S in front of a background B of a certain color (the color is indicated by the particular cross-hatching). The webcam video V is continuously displayed to the user in real-time as shown in a window WV.
  • Referring also to FIG. 5, as the webcam video V is displayed in real-time, the user can select the box B1 “Show Removal Area” which causes the application to use a color or other indicia to “flag” or indicate in the window WV which regions of the video V will be removed based upon the color of that region. For example, a bright color, shading, or other indicia (indicated by bi-directional cross-hatching in FIG. 5) is then added to the video V to flag or show all regions thereof that will be removed (while the video continues to stream). The user then selects any object in the video of a certain color (e.g., the background B), and the video is processed in real-time to show which parts will be removed (by coloring the parts to be removed a certain color or by otherwise or otherwise flagging or changing the appearance of the parts to be removed). The color being removed from the video is displayed in the box B2 and is labeled “Color Removed” and the “Color Removed” box B2 is updated as the user selects a different colored object in the video V. FIG. 5 shows that the user has selected the box B1 and has also selected the background B as the color to be removed, which has caused the application to “flag” or change the color of the background B in the video V to a conspicuous color (bright pink or bright green, etc.—indicated in FIG. 5 by the bidirectional cross-hatching of the background B) to indicate that the background B will be removed when the webcam video stream is ultimately processed according to the present development. The video V including the flagging is sometimes referred to herein as the altered video.
  • If the user is satisfied with the areas to be removed from the video V as he/she is viewing the video in real-time (e.g., as shown in FIG. 5), the user can move to the next step of recording the video by selecting box T2.
  • FIG. 6 shows an example that is similar to FIG. 5, but where the user will not be satisfied. In this case, the user's left arm has been flagged for removal from the video V due to the fact that the color of his/her left arm has been deemed to be similar to the background B by the application A. In such case, the user can change his/her appearance (e.g., change his/her shirt), change the lighting, change the background color, etc. Alternatively/additionally, the user can change the color removal processing settings by selecting the box B3 “Adjust Settings” so that the user is presented with multiple image processing parameters that can be adjusted by slider bars or the like (e.g., color sensitivity) until the user is satisfied with the resulting video V and the user then selects box T2 to begin the recording process.
  • When the user selects the “Record Video” box T2, the user is presented with “RECORD” “STOP RECORD” “PREVIEW” boxes (not shown) so that the user can record the video V (in one or more stages) while simultaneously viewing same in the window WV, preview the result, and re-record if desired. During recording and any preview playback, the areas to be removed are flagged with color or otherwise flagged as noted above so that the user can see in real time (or during preview playback) which parts of the video V will be/are being removed.
  • After recording is complete, the user selects the box T3 to embed the video in his/her website. The user is presented with a code snippet as described above to accomplish the video embedding. The user is also presented with a chance to preview the video in a test webpage.
  • In view of the discussion heretofore, in some embodiments, the exemplary methods, the systems employing the same, and so forth, of the present invention are embodied by a storage medium storing instructions executable (for example, by a digital processor) to implement the determination of image anchor templates. The storage medium may include, for example: a magnetic disk or other magnetic storage medium; an optical disk or other optical storage medium; a random access memory (RAM), read-only memory (ROM), or other electronic memory device or chip or set of operatively interconnected chips; an Internet server from which the stored instructions may be retrieved via the Internet or a local area network; or so forth.
  • Further, it will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.

Claims (7)

1. A method for providing a user with a floating video of a subject, said method comprising:
receiving from a user a primary video of a subject located in front of a single colored static background, wherein said single colored static background has a color not known prior to said primary video being received from said user, and wherein said color of said single colored static background is not limited to any predetermined color;
processing said primary video to identify a background region defined by background pixels having said color of said single colored static background;
creating a floating video in which said subject is perceptible and said single color static background is at least substantially imperceptible based upon substantially all of said identified pixels defining said background region being set to transparent.
2. The method as set forth in claim 1, wherein said floating video is created by modifying said primary video.
3. The method as set forth in claim 1, wherein said floating video is created by extracting a subject portion of said primary video that defines said subject and using said extracted subject portion to create a new video file comprising said floating video.
4. The method as set forth in claim 1, further comprising a step of receiving at least one background image of said single colored static background without said subject prior to receiving said primary video, wherein said background image has a single color that corresponds to said color of said single colored static background.
5. A method for providing a user with a floating video of a subject, said method comprising:
receiving from a user a primary video of a subject located in front of a colored static background, wherein said colored static background has a single color not known prior to said primary video being received from said user, and wherein said single color of said colored static background is not limited to any predetermined color;
for a plurality of frames of the primary video, identifying all pixels defined with said single color of said static background and setting all said identified pixels having said single color to be transparent to define a floating video comprising said plurality of frames of said primary video in which said subject is perceptible and said single color static background is substantially imperceptible based upon substantially all of said pixels defining said single color static background being set to transparent.
6. The method as set forth in claim 5, further comprising a step of receiving at least one background image of said colored static background prior to receiving said primary video, wherein said single color is determined by the color of said background image.
7. The method as set forth in claim 5, wherein said step of determining a color range comprises receiving input from a user that selects an area of said colored static background in said primary video.
US14/886,742 2009-09-11 2015-10-19 System and method for personal floating video Abandoned US20160044294A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/886,742 US20160044294A1 (en) 2009-09-11 2015-10-19 System and method for personal floating video

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US24158009P 2009-09-11 2009-09-11
US33063710P 2010-05-03 2010-05-03
US12/879,733 US9165605B1 (en) 2009-09-11 2010-09-10 System and method for personal floating video
US14/886,742 US20160044294A1 (en) 2009-09-11 2015-10-19 System and method for personal floating video

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/879,733 Continuation US9165605B1 (en) 2009-09-11 2010-09-10 System and method for personal floating video

Publications (1)

Publication Number Publication Date
US20160044294A1 true US20160044294A1 (en) 2016-02-11

Family

ID=54290420

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/879,733 Active 2031-03-18 US9165605B1 (en) 2009-09-11 2010-09-10 System and method for personal floating video
US14/886,742 Abandoned US20160044294A1 (en) 2009-09-11 2015-10-19 System and method for personal floating video

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/879,733 Active 2031-03-18 US9165605B1 (en) 2009-09-11 2010-09-10 System and method for personal floating video

Country Status (1)

Country Link
US (2) US9165605B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190340823A1 (en) * 2018-05-02 2019-11-07 Bear Method and system for generating augmented reality content on the fly on a user device
WO2020192048A1 (en) * 2019-03-28 2020-10-01 深圳市酷开网络科技有限公司 Video transparent playing processing method, intelligent television, and storage medium
US11113983B1 (en) 2013-03-15 2021-09-07 Study Social, Inc. Video presentation, digital compositing, and streaming techniques implemented via a computer network

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9648274B2 (en) * 2014-01-21 2017-05-09 Avaya, Inc. Coordinated video-phone overlay on top of PC desktop display
US10839572B2 (en) * 2016-03-10 2020-11-17 FlyInside, Inc. Contextual virtual reality interaction
US20180338103A1 (en) * 2017-05-16 2018-11-22 Bell Helicopter Textron Inc. Software video combiner

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781198A (en) * 1995-12-22 1998-07-14 Intel Corporation Method and apparatus for replacing a background portion of an image

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914748A (en) * 1996-08-30 1999-06-22 Eastman Kodak Company Method and apparatus for generating a composite image using the difference of two images
JP4034380B2 (en) * 1996-10-31 2008-01-16 株式会社東芝 Image encoding / decoding method and apparatus
US5764306A (en) 1997-03-18 1998-06-09 The Metaphor Group Real-time method of digitally altering a video data stream to remove portions of the original image and substitute elements to create a new image
US7839399B2 (en) * 1999-07-29 2010-11-23 Benman William J System and method for volumetric display of video images extracted from arbitrary background environments
WO2001041049A1 (en) * 1999-12-02 2001-06-07 Channel Storm Ltd. System and method for rapid computer image processing with color look-up table
US20020056123A1 (en) * 2000-03-09 2002-05-09 Gad Liwerant Sharing a streaming video
US6912313B2 (en) 2001-05-31 2005-06-28 Sharp Laboratories Of America, Inc. Image background replacement method
US7251056B2 (en) * 2001-06-11 2007-07-31 Ricoh Company, Ltd. Image processing apparatus, image processing method and information recording medium
US20050157175A1 (en) * 2003-09-22 2005-07-21 Fuji Xerox Co., Ltd. Image information processing system, image information processing apparatus, image information outputting method, code information processing apparatus and program thereof
GB0409463D0 (en) 2004-04-28 2004-06-02 Ibm Method for removal of moving objects from a video stream
KR100568237B1 (en) * 2004-06-10 2006-04-07 삼성전자주식회사 Apparatus and method for extracting moving objects from video image
US20070065143A1 (en) * 2005-09-16 2007-03-22 Richard Didow Chroma-key event photography messaging
CA2623633A1 (en) * 2005-09-27 2007-04-05 Independent Film Development Group, Llc Method of distributing video content via the internet
US20100217884A2 (en) 2005-09-28 2010-08-26 NuMedia Ventures Method and system of providing multimedia content
US8294823B2 (en) * 2006-08-04 2012-10-23 Apple Inc. Video communication systems and methods
US20080077953A1 (en) 2006-09-22 2008-03-27 Objectvideo, Inc. Video background replacement system
US8279254B2 (en) * 2007-08-02 2012-10-02 Siemens Enterprise Communications Gmbh & Co. Kg Method and system for video conferencing in a virtual environment
CN101946500B (en) * 2007-12-17 2012-10-03 伊克鲁迪控股公司 Real time video inclusion system
US20090167870A1 (en) * 2008-01-02 2009-07-02 Serge Caleca Method for Creating Custom Digital Images Utilizing Background Replacement Technology Over a Network
WO2010002921A1 (en) * 2008-07-01 2010-01-07 Yoostar Entertainment Group, Inc. Interactive systems and methods for video compositing
TW201034430A (en) * 2009-03-11 2010-09-16 Inventec Appliances Corp Method for changing the video background of multimedia cell phone
US9286720B2 (en) * 2009-08-20 2016-03-15 Northrop Grumman Systems Corporation Locative video for situation awareness
US8218818B2 (en) * 2009-09-01 2012-07-10 Behavioral Recognition Systems, Inc. Foreground object tracking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781198A (en) * 1995-12-22 1998-07-14 Intel Corporation Method and apparatus for replacing a background portion of an image

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113983B1 (en) 2013-03-15 2021-09-07 Study Social, Inc. Video presentation, digital compositing, and streaming techniques implemented via a computer network
US11151889B2 (en) 2013-03-15 2021-10-19 Study Social Inc. Video presentation, digital compositing, and streaming techniques implemented via a computer network
US20190340823A1 (en) * 2018-05-02 2019-11-07 Bear Method and system for generating augmented reality content on the fly on a user device
US10891794B2 (en) * 2018-05-02 2021-01-12 Argo Method and system for generating augmented reality content on the fly on a user device
WO2020192048A1 (en) * 2019-03-28 2020-10-01 深圳市酷开网络科技有限公司 Video transparent playing processing method, intelligent television, and storage medium
US11902613B2 (en) 2019-03-28 2024-02-13 Coocaa Network Technology Co., Ltd. Video transparent playing processing method, intelligent television, and storage medium

Also Published As

Publication number Publication date
US9165605B1 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
US10735798B2 (en) Video broadcast system and a method of disseminating video content
US20160044294A1 (en) System and method for personal floating video
US10534525B1 (en) Media editing system optimized for distributed computing systems
KR102096077B1 (en) Storyboard-directed video production from shared and individualized assets
US8566865B2 (en) Dynamic insertion of cinematic stage props in program content
WO2021135334A1 (en) Method and apparatus for processing live streaming content, and system
US20130132843A1 (en) Methods of editing personal videograpghic media
JP2007018198A (en) Device for generating index information with link information, device for generating image data with tag information, method for generating index information with link information, method for generating image data with tag information, and program
JP6162345B2 (en) Raw scene recognition that allows scene-dependent image modification before image recording or display
CN104796778A (en) Publishing media content to virtual movie theater
CN107659831A (en) Media data processing method, client and storage medium
WO2016011504A1 (en) Method and system for creating a video advertisement with embedded user content
US20200037034A1 (en) System and Method for Navigating in a Digital Environment
KR102295776B1 (en) Apparatus for Providing Advertisement Service and Driving Method Thereof
CN113038185B (en) Bullet screen processing method and device
CN112262570A (en) Method and system for automatic real-time frame segmentation of high-resolution video streams into constituent features and modification of features in individual frames to create multiple different linear views from the same video source simultaneously
JP2007019768A (en) Tag information generating apparatus, tag information generating method, and program
US20220284870A1 (en) Embedding Animation in Electronic Mail, Text Messages and Websites
CN110035320A (en) The advertisement load rendering method and device of video
KR102308508B1 (en) Review making system
US11720989B2 (en) Systems and methods for generating device-identifying digital content on social media platforms
Dufaux Hyper-Realistic and Immersive Imaging for Enhanced Quality of Experience
Reinhardt Video with Adobe Flash CS4 Professional Studio Techniques
KR20130022098A (en) Method of setting up background image of mobile terminal using moving picture, the mobile with the apparatus setting up background image of mobile terminal using moving picture, the system thereof and recording medium thereof
KR20060035033A (en) System and method for producing customerized movies using movie smaples

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: BIN 2020, SERIES 550 OF ALLIED SECURITY TRUST I, NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FLIP LLC;REEL/FRAME:052834/0479

Effective date: 20200602

AS Assignment

Owner name: ZOOM VIDEO COMMUNICATIONS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BIN 2020, SERIES 550 OF ALLIED SECURITY TRUST I;REEL/FRAME:056489/0338

Effective date: 20210525