A Microfiche Appendix which includes one (1) sheet of microfiche with thirty (30) frames is incorporated herein by reference.
The present invention relates to copy protection of digital data, and more specifically to copy protection of proprietary digital images displayed on a computer monitor.
Software copy protection is a central concern in software development, and in copyright law itself. Typically, software is distributed in shrink-wrap packages containing diskettes and/or CD-ROMs, and by download over the Internet via ftp servers. Protecting software from rampant unauthorized copying, distribution and use (“software piracy”) is one of the most challenging problems facing the software industry.
Over the past years, several techniques have been developed for combating software piracy. These include use of hardware plugs, use of license keys, use of tokens and sophisticated encryption systems.
One of the leading technologies for controlling use of software within turnkey transaction systems is the Digital Rights Management system of InterTrust® Technologies Corp. of Sunnyvale, Calif., as described in U.S. Pat. Nos. 5,892,900, 5,410,598, 5,050,213, 4,977,594 and 4,827,508. Information about InterTrust is available on the web at http://www.intertrust.com.
Another leading technology is the CyberSales Solution™ of SoftLock.com, Inc. of Maynard, Mass., as described in U.S. Pat. No. 5,509,070. CyberSales Solution provides locking and unlocking functionality so that content can be securely previewed by consumers, electronically purchased and redistributed, and it protects the content in an initial transaction and in subsequent information pass-along. Content providers can control how much information is available without paying, and disable, or additionally charge for, the ability to print or cut and paste. CyberSales Solution handles secure transactions, remittance processing, reports, audits and customer service. Information about CyberSales Solution is available on the web at http://www.softlock.com.
With the advent of the use of compelling multi-media on web pages accessible over the Internet, protection of digital images and other media is becoming increasingly critical. Web designers are reluctant to use valuable digital “works of art” knowing that users can easily copy them onto their own computers, and use them for their own unauthorized purposes. Moreover, anyone using a web browser to view an image posted on the Internet can easily copy the image by simply positioning a mouse pointer over the displayed image, clicking on the right mouse button and selecting a “Save Image As . . . ” command. Copyright and piracy issues are of major concern to web publishers.
Prior art techniques for protecting digital images include the embedding of invisible digital watermarks within images, so that copies of protected images can be identified and traced. Digimarc Corporation of Lake Oswego, Oreg. embeds hidden messages within pixel data for identifying protected images, and tracks their distribution over the Internet to monitor potential copyright infringement. Digimarc images carry unique IDs that link to pre-determined locations on the web. Digimarc images are compatible with standard image formats, such as JPEG, and can be opened and displayed by standard image readers. However, when opened with a Digimarc reader, the images are displayed together with a “Web look up” button that enables a user to identify the sources of the images. Digimarc technology is described in U.S. Pat. Nos. 5,862,260, 5,850,481, 5,841,978, 5,841,886, 5,832,119, 5,822,436, 5,809,160, 5,768,426, 5,765,152, 5,748,783, 5,748,763, 5,745,604, 5,721,788, 5,710,834 and 5,636,292. Information about Digimarc is available on the web at http://www.digimarc.com.
These techniques are useful in thwarting digital image piracy to the extent that they trace pirated content, but they do not prevent unauthorized copying of digital images in the first place.
Other prior art techniques require a webmaster to modify images residing on a server computer in order to protect them. The webmaster is also required to modify his web pages accordingly, so as to reference the modified images. SafeMedia™ is a software product of Internet Expression, Inc. of Exton, Pa. that converts images from a standard format such as JPEG into a SIF (Safe Image Format). SIF images can only be viewed with a SafeMedia Java viewer. SafeMedia embeds a host or domain name into an image, and checks that the image is located on the web site it was intended for. SafeMedia also includes enhanced system control for preventing screen capture by disabling a clipboard. Information about SafeMedia is available on the web at http://www.safemedia.com.
These prior art techniques are difficult to embrace, since they require modification of all protected images on the web, as well as modification of the web pages that reference them. Furthermore the SIF Java viewer has the limitation of only being able to load images from the same server that the viewer came from.
Other prior art techniques for protecting digital images use Java applets within web browsers to disable the menu that pops up when a user right clicks on a displayed image within his web browser. Copysight® is a software application of Intellecutal Protocols, LLC of Nanuet, N.Y. that uses digital watermarking and fingerprinting to protect images, and includes a Java applet that disables the command to save displayed images within a web browser and the command to print them. Copysight operates by converting unprotected files to protected files that are encrypted and that contain digital fingerprints. Copysight also tracks distribution of protected images across the Internet, and issues reports of potential copyright infringement. Information about Copysight is available on the web at http://www.ip2.com.
Typically, when a digital image is displayed on a computer monitor, the pixel data is temporarily stored within a video RAM, the contents of which are then rendered on the monitor. Prior art techniques disable unauthorized copying of digital images from within web browsers, but they do not protect the images from being copied directly from a video RAM. For example, they do not prevent a user from copying digital images displayed in his web browser by means of a Print Screen or other such command that serves to capture contents of a video RAM to a clipboard. Thus a Java applet that prevents unauthorized copying of digital images from within Netscape Communicator of Internet Explorer can be circumvented by a user pressing on a Print Screen button of his keyboard, or by a user copying and pasting from a window of his web browser to a window of another software application.
Another way for a user to copy data from a video RAM within the Microsoft Windows® operating system is by use of a “transparent window” which does not erase its background. A transparent window is one that does not have its own background painted on it. Such a window, when opened on a screen, shows the contents of the screen transparently within it. That is, only its window frame appears on the screen, and the contents of the display appear through the window area within the frame. Although such a transparent window appears genuinely transparent, in fact the contents of the screen are copied and used as the background for the window. This is apparent when a user moves such a transparent window to a new location on the screen. When the window is moved, the previous portion of the screen appears in the window's new location.
Thus it can be appreciated that a user can copy an image displayed on a computer monitor by simply opening a transparent window and positioning it so that its frame encompasses the desired image. The contents of the display screen within the frame are copied into the background of the window, making it possible for a user to then capture the contents, including the desired image.
Specifically, reference is made to
Applicant's four co-pending applications
Reference is now made to
Reference is now made to
Reference is now made to
Reference is now made to
The complete software listing for the application generated by the above steps is provided in Appendix A.
Such a transparent window as transparent window 300 can be used to capture proprietary image data from a computer screen. Reference is now made to
Reference is now made to
Reference is now made to
Thus it can be seen that use of a transparent window with a non-erase background works around security software that normally protects proprietary image data that is displayed from being captured, and, as such, it poses a threat to copy protection of image data over the Internet.
The present invention provides a method and system for preventing unauthorized copying of proprietary digital image data.
There is thus provided in accordance with a preferred embodiment of the present invention a method for preventing copying of proprietary digital image data that is rendered within a window displayed on a computer monitor, including providing screen pixel data for rendering on a computer monitor, the screen pixel data including pixel data for a first window having proprietary digital image data therewithin, detecting that a second window is going to be displayed on the computer monitor, determining the position and size of the second window, determining, based on the position and size of the second window, a portion of the screen pixel data wherein the first window is going to be covered by the second window, and replacing the portion of the screen pixel data with substitute pixel data, prior to the second window being displayed.
There is further provided in accordance with a preferred embodiment of the present invention a system for preventing copying of proprietary digital image data that is rendered within a window displayed on a computer monitor, including a computer monitor on which the screen pixel data is rendered, the screen pixel data including pixel data for a first window having proprietary digital image data therewithin, an event detector detecting that a second window is going to be displayed on the computer monitor, a window processor for determining the position and size of the second window, and for determining, based on the position and size of the second window, a portion of the screen pixel data wherein the first window is going to be covered by the second window, and a pixel processor for replacing the portion of the screen pixel data with substitute pixel data, prior to the second window being displayed.
There is yet further provided in accordance with a preferred embodiment of the present invention a method for preventing copying of proprietary digital image data that is rendered within a window displayed on a computer monitor, including providing screen pixel data for rendering on a computer monitor, the screen pixel data including pixel data for a first window having proprietary digital image data therewithin, detecting that a second window is going to be displayed on the computer monitor, determining the position and size of the second window, determining, based on the position and size of the second window, a portion of the screen pixel data wherein the proprietary digital image data is going to be covered by the second window, and replacing the portion of the screen pixel data with substitute pixel data, prior to the second window being displayed.
There is additionally provided in accordance with a preferred embodiment of the present invention a system for preventing copying of proprietary digital image data that is rendered within a window displayed on a computer monitor, including a computer monitor on which screen pixel data is rendered, the screen pixel data including pixel data for a first window having proprietary digital image data therewithin, an event detector detecting that a second window is going to be displayed on the computer monitor, a window processor for determining the position and size of the second window, and for determining, based on the position and size of the second window, a portion of the screen pixel data wherein the proprietary digital image data is going to be covered by the second window, and a pixel processor for replacing the portion of the screen pixel data with substitute pixel data, prior to the second window being displayed.
The present invention will be more fully understood and appreciated from the following detailed description, taken in conjunction with the drawings in which:
Appendix A is a software listing of prior art functions for creating an application having a window with a non-erase background, using a Microsoft Visual C++ compiler.
The present invention provides a method and system for preventing unauthorized copying of proprietary digital image data. Specifically, the present invention enables blocking use of windows with non-erase backgrounds for copying proprietary image data that is rendered on a computer monitor display screen.
As described hereinabove with reference to
Reference is now made to
Reference is now made to
In a preferred embodiment of the present invention, a software application, such as copy protection application 990, can use Windows system-wide hooks to detect the appearance of window 1020 prior to its being rendered on display screen 940. Hooks are well known to those skilled in the art as a way to get information about operating system events. Specifically, with reference to the Windows operating system, copy protection application 990 preferably registers to have a Windows computer-based training (CBT) system-wide hook and a CallWndProc system-wide hook, which ensures that whenever operating system 910 receives a request for a new CBT event or a new WndProc event, copy protection application 990 is first notified prior to such event's occurrence. CBT events and WndProc events include opening of new windows, and appearances of windows on display screen 940. When operating system 910 receives a request to open window 1020, copy protection application 990 is first notified of such request, and intervenes prior to such request being effectuated by the system. With reference to
In a preferred embodiment of the present invention, when copy protection application 990 receives notice of an event indicating that operating system 910 has been instructed to open window 1020, it determines an area of overlap between application window 960 and window 1020, based on the size and location of window 1020; namely, the hatched area of overlap 1030. Copy protection application 990 then replaces the pixel data in area of overlap 1030 with substitute pixel data, such as all white pixels, prior to the opening of window 1020. As such, when window 1020 does open, its background will only absorb the substitute pixel data in overlap area 1030, and not the proprietary pixel data. Thus proprietary pixels 920 remain copy protected.
If window 1020 is subsequently moved, its background remains the same, as illustrated in
It is not necessary for copy protection application 990 to replace pixel data with substitute pixel data unless window 1020 overlaps with application window 960. Moreover, it is not necessary to replace pixel data with substitute pixel data in the above cases (ii) and (iii) unless the additional portion of the background area of window 1020 after enlargement overlaps with application window 960. Similarly, it is not necessary to replace pixel data with substitute pixel data in the above case (iv), unless the portion of the background area of window 1020 that was covered by the other application window overlaps with application window 960.
It is appreciated that an alternative embodiment of the present invention is to modify the area of overlap between window 1020 and proprietary pixels 920, namely, the doubly hatched area of overlap 1040, rather than the (larger) area of overlap 1030 between window 1020 and window 950. In this alternative embodiment it is not necessary to replace pixel data with substitute pixel data unless window 1020 overlaps with proprietary pixels 920. Moreover, it is not necessary to replace pixel data with substitute pixel data in the above cases (ii) and (iii) unless the additional portion of the background area of window 1020 after enlargement overlaps with proprietary pixels 920. Similarly, it is not necessary to replace pixel data with substitute pixel data in the above case (iv), unless the portion of the background area of window 1020 that was covered by the other application window overlaps with proprietary pixels 920.
This application is a continuation-in-part of assignee's application U.S. Ser. No. 09/459,493, filed Dec. 13, 1999, entitled “Method and System for Copyright Protection of Digital Images” which is a continuation-in-part of U.S. Ser. No. 09/397,331 filed Sep. 14, 1999, which is a continuation-in-part of U.S. Ser. No. 09/313,067 filed May 17, 1999.
Number | Name | Date | Kind |
---|---|---|---|
4405829 | Rivest et al. | Sep 1983 | A |
4827508 | Shear | May 1989 | A |
4977594 | Shear | Dec 1990 | A |
5050213 | Shear | Sep 1991 | A |
5303370 | Brosh et al. | Apr 1994 | A |
5410598 | Shear | Apr 1995 | A |
5509070 | Schull | Apr 1996 | A |
5533124 | Smith et al. | Jul 1996 | A |
5636292 | Rhoads | Jun 1997 | A |
5638513 | Ananda | Jun 1997 | A |
5710834 | Rhoads | Jan 1998 | A |
5715403 | Stefik | Feb 1998 | A |
5721788 | Powell et al. | Feb 1998 | A |
5745360 | Leone et al. | Apr 1998 | A |
5745604 | Rhoads | Apr 1998 | A |
5748763 | Rhoads | May 1998 | A |
5748783 | Rhoads | May 1998 | A |
5754170 | Ranganathan | May 1998 | A |
5758068 | Brandt et al. | May 1998 | A |
5765152 | Erickson | Jun 1998 | A |
5768426 | Rhoads | Jun 1998 | A |
5781914 | Stork et al. | Jul 1998 | A |
5790117 | Halviatti et al. | Aug 1998 | A |
5801679 | McCain | Sep 1998 | A |
5801689 | Huntsman | Sep 1998 | A |
5805724 | Metcalfe et al. | Sep 1998 | A |
5809160 | Powell et al. | Sep 1998 | A |
5822436 | Rhoads | Oct 1998 | A |
5832119 | Rhoads | Nov 1998 | A |
5835722 | Bradshaw et al. | Nov 1998 | A |
5838902 | Shin | Nov 1998 | A |
5841886 | Rhoads | Nov 1998 | A |
5841978 | Rhoads | Nov 1998 | A |
5850481 | Rhoads | Dec 1998 | A |
5862260 | Rhoads | Jan 1999 | A |
5870544 | Curtis | Feb 1999 | A |
5872915 | Dykes et al. | Feb 1999 | A |
5881287 | Mast | Mar 1999 | A |
5892900 | Ginter et al. | Apr 1999 | A |
5905505 | Lesk | May 1999 | A |
5920848 | Schutzer et al. | Jul 1999 | A |
5968119 | Stedman et al. | Oct 1999 | A |
5974441 | Rogers et al. | Oct 1999 | A |
5982931 | Ishimaru | Nov 1999 | A |
5991399 | Graunke et al. | Nov 1999 | A |
5999941 | Andersen | Dec 1999 | A |
6009410 | LeMole et al. | Dec 1999 | A |
6011905 | Huttenlocher et al. | Jan 2000 | A |
6014702 | King et al. | Jan 2000 | A |
6032150 | Nguyen | Feb 2000 | A |
6205480 | Broadhurst et al. | Mar 2001 | B1 |
6236387 | Imada | May 2001 | B1 |
6240450 | Sharples et al. | May 2001 | B1 |
6260141 | Park | Jul 2001 | B1 |
6289137 | Sugiyama et al. | Sep 2001 | B1 |
6298422 | Spilo et al. | Oct 2001 | B1 |
6343274 | McCollom et al. | Jan 2002 | B1 |
6343738 | Ogilvie | Feb 2002 | B1 |
6353892 | Schreiber et al. | Mar 2002 | B2 |
6601108 | Marmor | Jul 2003 | B1 |
Number | Date | Country |
---|---|---|
WO 9844424 | Oct 1998 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 09459493 | Dec 1999 | US |
Child | 09636299 | US | |
Parent | 09397331 | Sep 1999 | US |
Child | 09459493 | US | |
Parent | 09313067 | May 1999 | US |
Child | 09397331 | US |