Methods and systems for collaborative-writing-surface image formation

Aspects of the present invention relate to methods and systems for capturing, sharing and recording the information on a collaborative writing surface. According to a first aspect of the present invention, currently persistent collaborative-writing-surface content may be imaged during periods of occlusion by an occluder. According to a second aspect of the present invention, the occluder may be imaged as transparent allowing the visibility of the occluded currently persistent collaborative-writing-surface content. According to a third aspect of the present invention, the occluder may be imaged as a silhouette allowing visibility of the occluded currently persistent collaborative-writing-surface content.

FIELD OF THE INVENTION

Embodiments of the present invention relate generally to collaboration systems and, in particular, to methods and systems for image update and sharing based on occlusion detection.

BACKGROUND

Flipcharts, whiteboards, chalkboards and other physical writing surfaces may be used to facilitate a creative interaction between collaboration participants. Methods and systems for capturing the information on these surfaces, referred to as collaborative writing surfaces, without hindering the creative interaction; allowing the captured information to be shared seamlessly and naturally between non-co-located parties; and generating a record of the interaction that may be subsequently accessed and replayed may be desirable.

SUMMARY

Some embodiments of the present invention comprise methods and systems for capturing, sharing and recording the information on a collaborative writing surface.

According to a first aspect of the present invention, some embodiments of the present invention comprise methods and systems to allow currently persistent collaborative writing-surface content maintained in a prior result image to be visible during periods of occlusion by an occluder.

According to a second aspect of the present invention, in some embodiments of the present invention, an occluder may be imaged as partially transparent, and the occluded portions of the present frame may be rendered based on corresponding portions of the prior result image.

According to a third aspect of the present invention, in some embodiments of the present invention, an occluder may be imaged as a silhouette, and the occluded portions of the present frame may be rendered based on corresponding portions of the prior result image.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Embodiments of the present invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The figures listed above are expressly incorporated as part of this detailed description.

It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the methods and systems of the present invention is not intended to limit the scope of the invention, but it is merely representative of the presently preferred embodiments of the invention.

Elements of embodiments of the present invention may be embodied in hardware, firmware and/or software. While exemplary embodiments revealed herein may only describe one of these forms, it is to be understood that one skilled in the art would be able to effectuate these elements in any of these forms while resting within the scope of the present invention.

Flipcharts, whiteboards, chalkboards and other physical writing surfaces may be used to facilitate a creative interaction between collaboration participants. Methods and systems for capturing the information on these surfaces, referred to as collaborative writing surfaces, without hindering the creative interaction; allowing the captured information to be shared seamlessly and naturally between non-co-located parties; and generating a record of the interaction that may be subsequently accessed and replayed may be desirable.

Some embodiments of the present invention comprise methods for forming an image of a collaborative writing surface, and in some of the exemplary embodiments described herein, the method may be implemented in a computing device. Embodiments of the present invention comprise methods and systems for capturing, sharing and recording the information on a collaborative writing surface. Exemplary collaborative writing surfaces may include a flipchart, a whiteboard, a chalkboard, a piece of paper and other physical writing surfaces.

Some embodiments of the present invention may comprise a collaboration system100that may be described in relation toFIG. 1. The collaboration system100may comprise a video camera, capture device or other image acquisition system,102that is trained on a collaborative writing surface104. In some embodiments of the present invention, color image data may be acquired by the capture device102. In alternative embodiments, the capture device102may acquire black-and-white image data. The capture device102may be communicatively coupled to a host computing system106. Exemplary host computing systems106may comprise a single computing device or a plurality of computing devices. In some embodiments of the present invention, wherein the host computing system106comprises a plurality of computing devices, the computing devices may be co-located. In alternative embodiments of the present invention, wherein the host computing system106comprises a plurality of computing devices, the computing devices may not be co-located.

The connection108between the capture device102and the host computing system106may be any wired or wireless communication link.

In some embodiments of the present invention, the capture device102may be placed at an off-axis viewpoint that is non-perpendicular to the collaborative writing surface104to provide a minimally obstructed view of the collaborative writing surface104to local collaboration participants.

The capture device102may obtain image data associated with the collaborative writing surface104. In some embodiments, the image data may be processed, in part, by a processor on the capture device102and, in part, by the host computing system106. In alternative embodiments, the image data may be processed, in whole, by the host computing system106.

In some embodiments of the present invention, raw sensor data obtained by the capture device102may be demosaiced and rendered. Demosaicing may reconstruct coincident three-color output data from non-coincident samples obtained by a camera filter array. Exemplary embodiments of the present invention may comprise a Bayer filter array in the capture device102and may comprise methods and systems known in the art for demosaicing color data obtained from a Bayer filter array. Alternative demosaicing methods and systems known in the art may be used when the capture device102sensor array is a non-Bayer filter array.

In some embodiments of the present invention, the collaboration system100may comprise an image rectifier to eliminate, in the rendered image data, perspective distortion introduced by the relative position of the capture device102and the collaborative writing surface104.FIG. 2depicts an exemplary camera-view image200and the associated image202after geometric transformation to eliminate perspective distortion.

When a participant in a collaboration session changes the content on a collaborative writing surface, the participant may occlude a portion of the collaborative writing surface from view during all, or a portion, of the time during which he is changing the collaborative-writing-surface content. A participant may be referred to as an occluder, an actor or a scribe, during this time. It may be desirable for a collaborative-writing-surface capture-system rendering of the collaborative writing surface to effectively minimize the obstruction of collaborative writing surface by the occluder during the collaboration session. For example, considerFIG. 3which depicts an image300an exemplary collaborative writing surface302on which there are four lines304-307of text “Abcdefghij” and of which three lines305-307are partially occluded308by a collaboration participant who may be changing the content on the collaborative writing surface302. Thus, during the time, or a portion thereof, a portion of the collaborative writing surface may not be visible to collaboration participants.

According to some embodiments of the present invention, the region of the collaborative writing surface that is occluded by the occluder may be imaged, during the occlusion period, as a version of the prior-imaged, also considered currently persistent, content of the region in which the version of the currently persistent content is readily visible and understood by a collaboration participant. In some embodiments of the present invention, the occluder may be imaged as, at least partially, transparent allowing the prior-imaged content of the region to be seen.FIG. 4depicts an image400of an exemplary collaborative writing surface402on which there are four lines404-407of text “Abcdefghij” and of which three lines405-407are partially occluded408by a collaboration participant who may be changing the content on the collaborative writing surface402. In this exemplary image400, the occluder is imaged as a partially transparent region408through which the currently persistent content may be viewed. In alternative embodiments of the present invention, an occluder may be imaged as a silhouette through which the currently persistent content may be viewed. These alternative embodiments may be understood in relation toFIG. 5which depicts an image500of an exemplary collaborative writing surface502on which there are four lines504-507of text “Abcdefghij” and of which three lines505-507are partially occluded508by a collaboration participant who may be changing the content on the collaborative writing surface502. According to some embodiments of the present invention, the occluder may be imaged as a silhouette508through which the currently persistent content may be viewed.

Embodiments of the present invention comprise methods and systems for capturing, sharing and recording the information on a collaborative writing surface and may allow currently persistent content to be visible during periods of occlusion by an occluder. Exemplary collaborative writing surfaces may include a flipchart, a whiteboard, a chalkboard, a piece of paper and other physical writing surfaces.

Some embodiments of the present invention may be understood in relation toFIG. 6. A collaboration system600may comprise a virtual-transparency (VT) capture controller602which may process and analyze a video stream provided by a capture device604to which the VT capture controller602may be communicatively coupled. The capture device may provide a video stream associated with a collaborative writing surface606on which the capture device604may be trained. The connection603between the capture device604and the VT capture controller602may be any wired or wireless communication link or network link. The VT capture controller602may process and analyze the video stream to render and control the broadcast media streams to other system components. For example, the VT capture controller602may be communicatively coupled to an archive608in which a record of the collaboration session may be stored. The connection607between the archive608and the VT capture controller602may be any wired or wireless communication link or network link. The VT capture controller602may be communicatively coupled to one, or more, remote displays (three shown612,614,616) in addition to a local display610. The connection609between the local display610and the VT capture controller602may be any wired or wireless communication link or network link. The connections611,613,615between the remote displays612,614,616and the VT capture controller602may be any wired or wireless communication link or network link. Exemplary displays include television displays, monitor displays, displays associated with consumer communication devices, for example, cellular telephones, projection display systems and other displays and display systems. Exemplary capture devices604may comprise a video camera or other image acquisition system. In some of the exemplary embodiments described herein, the VT capture controller602may be implemented in a computing device or a computing system.

The VT capture controller602may generate an image of the collaborative writing surface606and may communicate the generated image to display devices, archival devices and other image consumption and storage locations based on the extent of a collaboration session.

In some embodiments of the present invention described in relation toFIG. 7, a VT capture controller602may comprise a current-frame receiver702which may receive a current image frame704, also considered a current frame, associated with a collaborative writing surface. In some embodiments, the VT capture controller602may receive the current frame704directly from a capture device that may be trained on the collaborative writing surface. In alternative embodiments, the VT capture controller602may receive the current frame from a preprocessor (not shown) which may preprocess the raw sensor data obtained by the capture device. Exemplary preprocessing may include demosaicing, image rectification, region-of-interest extraction and other preprocessing. Demosaicing may reconstruct coincident three-color output data from non-coincident samples obtained by a camera filter array. Exemplary embodiments of the present invention may comprise a Bayer filter array in the capture device and may comprise methods and systems known in the art for demosaicing color data obtained from a Bayer filter array. Alternative demosaicing methods and systems known in the art may be used when the capture device sensor array is a non-Bayer filter array. Image rectification may eliminate, in the image data, perspective distortion introduced by the relative position of the capture device and the collaborative writing surface. The current-frame receiver702may make the received current frame703available to a foreground-object segmenter706, a mark-history-memory updater708and a virtual-transparency renderer710.

The foreground-object segmenter706may process the received current frame703to generate a labeled image707, also considered a segmentation map and a foreground mask, in which each image region may be labeled as writing-surface content or as a foreground object, for example, an occluder. A person having ordinary skill in the art will recognize there are many techniques known in the art to perform foreground-object segmentation, for example, frame-by-frame motion estimation techniques, chroma key segmentation techniques, learned writing-surface color-modeling based techniques, active depth sensing and other segmentation techniques. In some embodiments of the present invention, an adaptive color-background model that changes with sensed room lighting may be used for foreground-object segmentation. The segmentation map707may be made available from the foreground-object segmenter706to an occluder tracker712.

The occluder tracker712may track, over time, the foreground objects identified in the segmentation map707and may determine when the collaborative writing surface may be occluded. The occluder tracker712may also determine the level of activity in the scene and may compensate for foreground-object segmentation errors. In some embodiments of the present invention, the occluder tracker712may estimate foreground-object motion trajectories and magnitudes and use these measures to differentiate random jitter due to segmentation errors from a more structured motion of a scribe drawing on the collaborative writing surface.

In some embodiments of the present invention described in relation toFIG. 7andFIG. 8, the occluder tracker712may receive800a segmentation map707from the foreground-object segmenter706. The occluder tracker712may perform802component filtering to reject noise in the foreground regions. In some embodiments of the present invention, a component may be relabeled as a non-foreground component if the component is not sufficiently large and does not abut the image frame boundary. In some embodiments of the present invention, component labeling may performed according to methods and systems described in U.S. patent application Ser. No. 12/636,533, entitled “Methods and Systems for Attaching Semantics to a Collaborative Writing Surface,” filed on Dec. 11, 2009, said application U.S. patent application Ser. No. 12/636,533 is hereby incorporated by reference herein, in its entirety. In some embodiments of the present invention, a component may be considered a noise component and rejected as a foreground region if the size of the component is less than 20% of the size of the image frame.

After component filtering802, the appearance of the filtered segmentation mask, also considered the occluder mask, over time may be cached804. In some embodiments of the present invention, OpenCV Motion Template methods may be used to update a floating point motion history image that may represent the appearance of the occluder mask over time. A global motion direction may be estimated806by a motion gradient estimator using the cached occluder motion history. Additionally, the motion gradient estimator may calculate808the amount of change within the scene. In some embodiments of the present invention, the amount of change may be the magnitude of the global motion vector. Region statistics may be calculated810for each foreground component. In some embodiments of the present invention, the region statistics may comprise color difference statistics and component size statistics. The occluder tracker may determine812, based on the global motion direction, the amount of change within the scene and the region statistics, whether or not the collaborative writing surface is being occluded by a foreground object and the activity level within the scene, for example, “static” or “active.” In some embodiments of the present invention, object trajectories over time may be used to differentiate a plurality of occluder states, for example, a “stationary” state in which an occluding object may not be moving significantly, an “exit” state in which the motion trajectory of an occluding object may be in a direction indicative of the object moving out of the scene, an “entrance” state in which the motion trajectory of an occluding object may be in a direction indicative of the object moving into the scene, a “writing” state in which an occluding object may be largely stationary with an oscillating motion trajectory in the up-down direction and a slowly moving left-to-right component indicative of Latin writing systems. Some embodiments may further comprise a “drawing” state different from the “writing” state. The “drawing” state may be indicated by a motion trajectory with larger, more random motion trajectories in comparison to a “writing” state. The occluder tracker712output may be made available to a mark-history memory updater708, a virtual-transparency renderer710and a capture controller716.

In some embodiments of the present invention described in relation toFIG. 7andFIG. 9, the mark-history-memory updater708may cache and update a record of the content on the collaborative writing surface allowing the rendering of prior content that may not currently be observable. The mark-history memory may control the virtual transparency rendering and stream control.

The mark-history-memory updater708may comprise an update controller902that may selectively trigger an edge detector904, an edge selector906and the updating of the mark-history memory908. The update controller902may be used to avoid unnecessary processing during periods of inactivity and may determine how to update the mark-history memory. The update controller902may receive information910,912, from the occluder tracker712, comprising an activity measure910and occlusion control information912. The update controller902may determine a state associated with the scene, for example, whether the scene is static, also considered non-active, or active. The update controller902may also detect scene state transitions, for example, a transition from active to non-active, a transition from non-active to active, a transition from occluded to non-occluded, a transition from non-occluded to occluded, and other state transitions. In some embodiments of the present invention, scene state determination and scene state transition detection may be performed according to methods and systems described in U.S. patent application Ser. No. 12/636,533, entitled “Methods and Systems for Attaching Semantics to a Collaborative Writing Surface,” filed on Dec. 11, 2009, said application U.S. patent application Ser. No. 12/636,533 is hereby incorporated by reference herein, in its entirety. The update controller902may control internal and follow-on processing based on the scene state or state transition. In some embodiments, when the update controller902determines that a scene is active or transitioning from active to static, then a control signal may be sent to an edge detector904.

The edge detector904may perform edge detection upon receiving a control signal from the update controller902. The edge detector904may produce an edge map, also referred to as an edge mask,905. In some embodiments of the present invention, edge detection may be performed periodically, for example, every N frames or T seconds during active states. In an exemplary embodiment, an edge map may be produced every 0.5 seconds.

In some embodiments of the present invention, the edge detector904may comprise a Sobel gradient operator and a binarization process that uses a threshold set based on image-dependent scene statistics. The gradient variation of background pixel values may largely follow a Gaussian model, and existing surface marks may contribute to outliers in the distribution. The Gaussian model may be calculated by first rejecting outliers from the distribution and then estimating the model parameters from the remaining values. The binarization process threshold may be set as a multiple of the standard deviation from the estimated mean. The binarization process may be applied to the results of the Sobel gradient operator. In alternative embodiments, other gradient operators may be used.

An edge selector906may fuse the edge mask905with the foreground mask707to reject edges that result from an occluding object.

The mark-history memory908may combine the current visible edge state with the prior edge state. As content is added or removed from the collaborative writing surface, the mark-history memory may be updated to reflect these changes and content control signals920may be passed to other modules to indicate magnitude and type of change. In one exemplary embodiment, the mark-history memory908may be updated by a logical “OR” operation between the previous memory and the result of the edge selector906. The mark-history memory908may become full of outdated edges that may have been erased. To reduce the amount of stale information in the mark-history memory908, in some embodiments, a procedure to remove stale information may be run during periods of inactivity. In alternative embodiments, the information in the mark-history memory908may have an associated age limit after which the system may be required to confirm the stored information. In these embodiments, a region that is not occluded by a foreground object may be required to be verified periodically, while an occluded region may retain old marks until after dis-occlusion at which time verification may be performed. In some embodiments, a mark location may be reset to a default value, and then in follow-on frames, if the unoccluded location did not contain a mark, the value may be decremented until the mark-history memory no longer records a mark in the location. These embodiments may tolerate noise detection by requiring several states of confirmation before a mark may be erased from the mark-history memory908.

Render control918, the received current frame703, the prior result715, the occlusion control713and the content control920may be made available to the virtual-transparency renderer710. The virtual transparency renderer710may comprise logic to combine, or blend, the received current frame703with the prior result715. In some embodiments, the virtual-transparency renderer710may produce a visual representation711,718of the collaborative writing surface in which occluding foreground objects may be rendered transparent, or partially transparent, and the occluded portions of the present frame may be rendered based on corresponding portions of the prior result image715. In some embodiments, the virtual-transparency renderer710may produce a visual representation711,718of the collaborative writing surface in which occluding foreground objects may be rendered as silhouettes, and the occluded portions of the present frame may be rendered based on corresponding portions of the prior result image715. During periods of inactivity when no new content is being added or in which current content is not being removed from the collaborative writing surface, the virtual-transparency renderer710may not be active as there is no need to blend information from prior frames and the current frame. During periods of activity, the virtual-transparency renderer710may use a blending mask to select pixels from the current frame703or the prior result715. The blending mask may be determined based on the values in the foreground object mask and the mark-history memory. The blending mask may be formed to indicate that the value of a pixel at a pixel location may be selected from the current frame703for unoccluded marker locations and from the prior result715for occluded regions or non-marked locations. In some embodiments, the current frame703and the prior result715may be blended using an alpha blending method. In these embodiments, the prior result715may slowly change into values from the new frames. In some embodiments, the blending strength may controlled by a confidence value associated with a location. The confidence value associated with a location may reflect a confidence level that the edge location contains a mark or a confidence level that the location is mislabeled as a foreground object. The virtual-transparency renderer710may write the resulting combined image711to the prior-result memory714. The resulting combined image711may be available from the prior-result memory714as the current output frame718.

In alternative embodiments of the present invention, the rendered image711may be enhanced using image processing methods and systems. In some exemplary embodiments, the collaborative writing surface illumination variation may be normalized and color balance corrected. Some exemplary embodiments comprise a sharpening filter to improve the legibility of the marks on the image of the collaborative writing surface. In some embodiments of the present invention, the virtual-transparency renderer710may comprise the enhancement functionality. In alternative embodiments (not shown), the results of the virtual-transparency renderer may be available to an image enhancer which then may make the enhanced image results available to the prior-result memory.

The capture controller716may comprise logic to control the broadcast and routing of the virtual transparency result to other system components. A stream control signal717may be sent to display systems associated with a collaboration system to indicate new information is available for display. A stream control signal717may be sent to a system archive module to store significant changes to the record of the collaborative writing surface content. Alternatively, meta-data associated with the collaboration session may be passed via the stream control717to denote regions-of-interest, actor identification, semantic attachments and other collaboration session information. In some embodiments of the present invention, meta-data may be identified according to methods and systems described in U.S. patent application Ser. No. 12/636,533, entitled “Methods and Systems for Attaching Semantics to a Collaborative Writing Surface,” filed on Dec. 11, 2009, said application U.S. patent application Ser. No. 12/636,533 is hereby incorporated by reference herein, in its entirety.

Although the charts and diagrams in the figures described herein may show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of the blocks may be changed relative to the shown order. Also, as a further example, two or more blocks shown in succession in a figure may be executed concurrently, or with partial concurrence. It is understood by those with ordinary skill in the art that software, hardware and/or firmware may be created by one of ordinary skill in the art to carry out the various logical functions described herein.

Some embodiments of the present invention may comprise a computer-program product that is a computer-readable storage medium, and/or media, having instructions stored thereon, and/or therein, that may be used to program a computer to perform any of the features presented herein.