US20080074432A1 - Method for acquiring a computer screen image - Google Patents

Method for acquiring a computer screen image Download PDF

Info

Publication number
US20080074432A1
US20080074432A1 US11/862,614 US86261407A US2008074432A1 US 20080074432 A1 US20080074432 A1 US 20080074432A1 US 86261407 A US86261407 A US 86261407A US 2008074432 A1 US2008074432 A1 US 2008074432A1
Authority
US
United States
Prior art keywords
update
hardware
image
region
accelerated
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
US11/862,614
Inventor
Chengkun SUN
Hongwei Li
Yiqiang YAN
Xiaohua Jiang
Shaoping PENG
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Assigned to LENOVO (BEIJING) LIMITED reassignment LENOVO (BEIJING) LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JIANG, XIAOHUA, LI, HONGWEI, PENG, SHAOPING, SUN, CHENGKUN, YAN, YIQIANG
Publication of US20080074432A1 publication Critical patent/US20080074432A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Abstract

A method for acquiring a computer screen image is disclosed that includes the steps of: acquiring the update region of a non-hardware-accelerated image and adding the acquired update region to an update-region list; acquiring a hardware-accelerated image by intercepting the invocation of a graphics/image hardware-acceleration interface; and combining update regions in the update-region list and acquiring the image data of the combined update region from a frame buffer. With the method of the present invention, both hardware-accelerated and non-hardware-accelerated images on the computer screen can be acquired rapidly at the same time.

Description

    RELATED APPLICATION
  • The present application claims priority to Chinese Application No. 200610113404.7. filed Sep. 27, 2006, which is incorporated herein in its entirety by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to the field of computer graphics and image display, and in particular to a method for acquiring a screen image of a personal computer (PC) in a complete and quick manner.
  • 2. Description of the Prior Art
  • With the increasing enhancement of computation as well as graphics and image processing performance of PCs, computer graphics and images have evolved from early 2D bitmaps and vectors to 3D and video, and even more intricate images in some cases. This imposes a huge challenge on various applications, such as obtaining all content (including images requiring hardware acceleration, e.g., video and 3D) displayed by a PC, and synchronously displaying them on a remote terminal (e.g., remote control, wireless projection, desktop sharing and the like) or any other display device (e.g., wireless display device), especially on those having strict requirements for real-time processing.
  • The existing methods for capturing a screen primarily include the methods as follows.
  • (1) The first method consists of inputting to a video capturing card the VGA output signal from a PC display adapter as the input source, and processing the inputted data by the video capturing card. Such a scheme needs the additional hardware of a video card and hardware renovation for the computer, thereby complicating the device configuration. Further, such a scheme is difficult to universalize.
  • (2) The second method comprises disabling the hardware-acceleration function of the PC display adapter so as to draw (render) the whole displayed image into the computer's FrameBuffer; and then copying bitmap data in FrameBuffer by use of such technology as “periodic screen copy”, “update region screen copy”, “drawing primitive copy” and “screen mirroring”. In this scheme, images, such as 3D/video, requiring hardware acceleration cannot be displayed in a normal way (or display quality is poor) at the time of acquiring a screen image, since the hardware-acceleration function of the current display device is disabled. For instance, if a screen on which a webpage with embedded video is to be captured, this method cannot acquire the image of the video window due to the disability of the hardware-acceleration function.
  • (3) The third method includes using HOOK to intercept the invocation of the graphics/image hardware-acceleration interface (e.g., DirectX/OpenGL), and acquiring in a real time manner the image that has been hardware-accelerated by the display adapter. With this scheme, only image data (e.g., 3D/video image) that has been hardware-accelerated by the display adapter can be acquired. With respect to the example mentioned in (2), the method can acquire only the embedded video image rather than all the images displayed on the screen.
  • Therefore, it is desirable to develop a method for acquiring both hardware-accelerated and non-hardware-accelerated images in a synchronized and quick way.
  • SUMMARY OF THE INVENTION
  • The present invention is accomplished in view of the above problems. It is an object of the invention to provide a method for acquiring a PC screen image in a complete and rapid way, which can acquire quickly hardware-accelerated and non-hardware-accelerated images at the same time.
  • In one embodiment of the present invention, a method for acquiring a computer screen image is provided, comprising the steps of: acquiring the update region of a non-hardware-accelerated image and adding the acquired update region to an update-region list; acquiring a hardware-accelerated image by intercepting the invocation of a graphics/image hardware-acceleration interface; and combining update regions in the update-region list and acquiring the image data of the combined update region from a frame buffer.
  • Further, according to another embodiment of the present invention, the method comprises steps of: acquiring the display information of the hardware-accelerated image; creating a corresponding update region in the frame buffer based on the display information; and adding the created update region to the update-region list.
  • Further, according to yet another embodiment of the present invention, the display information includes at least one of size, position and display mode.
  • Further, according to another embodiment of the present invention, the step of creating a corresponding update region in the frame buffer comprises filling a corresponding region in the frame buffer with KeyColor to create an update region of corresponding size.
  • Further, according to yet another embodiment of the present invention, the method comprises the steps of: creating an update region corresponding to the hardware-accelerated image rendered in the frame buffer, and adding the created update region to the update-region list.
  • Further, according to another embodiment of the present invention, said graphics/image hardware-acceleration interface includes DirectX and/or OpenGL.
  • With the above inventive solutions, it is possible to obtain on-screen-display images accurately without the addition of any hardware device. On the other hand, both hardware-accelerated and non-hardware-accelerated images on the computer screen can be simultaneously acquired, that is, the whole computer screen image can be acquired without any loss in its intactness. Furthermore, according to the present invention, all updates of the computer screen (including hardware-accelerated and non-hardware-accelerated images) can be precisely acquired with a smaller amount of data and higher speed.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above advantages and features of the present invention will be more apparent from the following detailed description taken in conjunction with the drawings in which:
  • FIG. 1 is a diagram for explaining the relationship between software modules employed in a method of acquiring a computer screen image according to one embodiment of the present invention; and
  • FIG. 2 is a flowchart for explaining the method of acquiring a computer screen image according to one embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Now, one embodiment of the present invention will be elaborated with reference to the figures, throughout which the same reference symbols, though shown in different figures, represent the same or similar components. For the purpose of clarity and conciseness, the detailed description of known functions and structures incorporated here will be omitted. Otherwise, they may obscure the subject of the present invention.
  • FIG. 1 is a diagram for explaining the relationship between software modules employed in a method of acquiring a computer screen image according to one embodiment of the present invention.
  • As shown in FIG. 1, the software modules used in the inventive method include: a hardware-accelerated image-acquisition module 10 for intercepting every invocation of a graphics/image hardware-acceleration interface (e.g., DirectX/OpenGL) so as to acquire the data of a hardware-accelerated image; a non-hardware-accelerated image-acquisition module 20 for acquiring the update of a non-hardware accelerated image by means of a screen-mirroring technique for the update region, and adding the acquired update to an update-region list; update-region combination-and-acquisition module 30 for combining update regions in the update-region list, and picking up the image data of the combined-screen region from a frame buffer (FrameBuffer); and an overlay module 40 for overlaying the data of the hardware-accelerated image acquired by the hardware-accelerated image-acquisition module 10 on the image data acquired by the update-region combination-and-acquisition module 30 for display in a screen.
  • FIG. 2 is a flowchart for explaining the method of acquiring a computer screen image according to one embodiment of the present invention.
  • As shown in FIG. 2, the method of the present invention starts with loading the non-hardware-accelerated image-acquisition module 20 and the hardware-accelerated image-acquisition module 10.
  • If the currently-displayed image is a full-screen hardware-accelerated image, the data of the hardware-accelerated image is acquired in a realtime manner from a full-screen hardware-acceleration program 70 by intercepting the invocation of the graphics/image hardware-acceleration interface by the hardware-accelerated image-acquisition module 10.
  • If the currently-displayed image is a non-hardware-accelerated image, using the screen-mirroring technique for the update region, the non-hardware-accelerated image-acquisition module 20 acquires all updates of the non-hardware-accelerated image to be added to the update-region list by the application (GDI) 60. The updates are added into the specified update-region list 55, and only coordinates of the update regions are disposed in the update-region list 55.
  • If the currently-displayed image is a hardware-accelerated image rendered in the frame buffer 50 by the hardware-acceleration program for rendering in the frame buffer 90, the non-hardware-accelerated image-acquisition module 20 creates an update region having the same size as the hardware-accelerated image rendered in the frame buffer and adds the update region to the update-region list 55.
  • If the currently-displayed image is a hardware-accelerated image with Overlay, the non-hardware-accelerated image-acquisition module 20 utilizes the Overlay program 80, i.e., Overlay update-invoking interface, to acquire the current information about Overlay on the screen, such as display location, window size and display mode, then fills a corresponding region in the frame buffer 50 with KeyColor (some color value to which the human eye is insensitive, for example, a color close to black, and that the Overlay image color to be displayed can penetrate) and creates an update region of corresponding size to be added to the update-region list 55. Meanwhile, the hardware-accelerated image-acquisition module 10 acquires the data of the hardware-accelerated image in a real time fashion through the hardware-acceleration-invoking interface.
  • Next, the update-region combination-and-acquisition module 30 combines the update regions in the update-region list and picks up the data of the combined-screen region from the frame buffer so as to obtain all the data of the non-hardware-accelerated image.
  • Finally, the overlay module 40 overlays the obtained hardware-accelerated and non-hardware-accelerated images together for display on the screen.
  • Now, a detailed explanation will be given to the process of one embodiment of an inventive method for acquiring a screen image in Overlay mode.
  • For the scenario in which hardware-accelerated and non-hardware-accelerated images are displayed simultaneously on the computer screen, for example, a video window of size (480*320) is embedded at the upper left corner (0,0) of an Internet webpage of size (1024*768), the video window is displayed in Overlay mode.
  • First, the non-hardware-accelerated image-acquisition module 20 is loaded to acquire all updates in the webpage, with the updates being one or more rectangular regions, and to add the updates (one or more rectangular regions) to the update-region list 55. As mentioned previously, only the locations and sizes of the one or more updated rectangular regions are shown in the update-region list 55.
  • Then, the hardware-accelerated image-acquisition module 10 is loaded to intercept the invocation of the graphics/image hardware-acceleration interface by the video window, duplicate the data of the video image, acquire the display location of the Overlay image layer for the video window (in one embodiment, the coordinates of the rectangular region may be (0,0,480,320)) with the KeyColor capable of being displayed transparently, such as RGB (16,0,16), and to fill the corresponding region defined by, for example, (0,0,480,320) in the webpage with the color of KeyColor. In one embodiment, a rectangle of size defined by (0,0,480,320) is created upon the completion of the filling and added to the update-region list 55.
  • Next, the update-region combination and acquisition module 30 combines the update regions in the update-region list and picks up the combined webpage region from the frame buffer 50.
  • In the end, the overlay module 40 overlays directly the data of both the duplicated video image and the picked-up webpage image to obtain the final result, namely the webpage with the video window displayed at the upper left corner.
  • Although the above description is intended to implement several embodiments of the present invention, those skilled in the art will appreciate that any modification and partial substitution within the scope of the invention should belong to the scope of the present invention as defined in the appended claims. Therefore, the scope of the present invention should be defined by the claims.

Claims (6)

1. A method for acquiring a computer screen image, comprising the steps of:
acquiring an update region of a non-hardware-accelerated image and adding the acquired update region to an update-region list;
acquiring a hardware-accelerated image by intercepting the invocation of a graphics/image hardware-acceleration interface; and
combining update regions in the update-region list and acquiring image data of the combined update region from a frame buffer.
2. The method according to claim 1, further comprising the steps of:
acquiring display information of the hardware-accelerated image;
creating a corresponding update region in the frame buffer based on said display information; and
adding the created update region to the update-region list.
3. The method according to claim 2, wherein said display information includes size, position, display mode, or a combination of the foregoing.
4. The method according to claim 2, wherein said step of creating a corresponding update region in the frame buffer comprises filling a corresponding region in the frame buffer with KeyColor to create an update region of corresponding size.
5. The method according to claim 1, further comprising the steps of:
creating an update region corresponding to the hardware-accelerated image rendered in the frame buffer; and
adding the created update region to the update-region list.
6. The method according to claim 1, wherein said graphics/image hardware-acceleration interface includes DirectX, OpenGL, or both of the foregoing.
US11/862,614 2006-09-27 2007-09-27 Method for acquiring a computer screen image Abandoned US20080074432A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200610113404A CN100583022C (en) 2006-09-27 2006-09-27 Method for capturing computer screen image
CN200610113404.7 2006-09-27

Publications (1)

Publication Number Publication Date
US20080074432A1 true US20080074432A1 (en) 2008-03-27

Family

ID=39224440

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/862,614 Abandoned US20080074432A1 (en) 2006-09-27 2007-09-27 Method for acquiring a computer screen image

Country Status (2)

Country Link
US (1) US20080074432A1 (en)
CN (1) CN100583022C (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228782A1 (en) * 2008-03-04 2009-09-10 Simon Fraser Acceleration of rendering of web-based content
US20090225089A1 (en) * 2008-03-04 2009-09-10 Richard Schreyer Multi-context graphics processing
US20090225093A1 (en) * 2008-03-04 2009-09-10 John Harper Buffers for display acceleration
CN104156480A (en) * 2014-08-26 2014-11-19 天津市普迅电力信息技术有限公司 WPF-and-GDI+-based layered drawing method for map
CN108563955A (en) * 2018-03-01 2018-09-21 腾讯科技(深圳)有限公司 Image processing method and device
US10290110B2 (en) * 2016-07-05 2019-05-14 Intel Corporation Video overlay modification for enhanced readability

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394530B (en) * 2008-10-29 2010-06-16 中兴通讯股份有限公司 Video freezing method and device in process of mobile phone television playing process
CN101930368B (en) * 2010-08-31 2014-03-26 广东威创视讯科技股份有限公司 Computer screen interception method and system thereof
CN103034729B (en) * 2012-12-20 2016-09-21 深圳Tcl新技术有限公司 web page rendering system and method
CN103164227B (en) * 2013-03-28 2016-06-22 北京视博云科技有限公司 The acquisition method of a kind of video in window and device
CN103763610B (en) * 2013-12-27 2018-10-30 华为技术有限公司 A kind of reorientation method and device of remote desktop
CN106023062B (en) * 2016-05-20 2018-06-26 深圳市大疆创新科技有限公司 Data processing method, system and device based on window operation
CN106447595A (en) * 2016-09-23 2017-02-22 努比亚技术有限公司 Distributed image and graph rendering method and terminal
CN108259993B (en) * 2018-01-11 2021-01-01 杭州叙简科技股份有限公司 Method for projecting large screen on wall based on network combined video stream desktop and display system thereof
CN108509509B (en) * 2018-03-05 2021-11-16 Oppo广东移动通信有限公司 Webpage display method and device, mobile terminal and storage medium
CN111010524B (en) * 2019-11-15 2021-12-21 苏州浪潮智能科技有限公司 VGA video signal screen capture device and screen capture method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088452A1 (en) * 2003-10-23 2005-04-28 Scott Hanggie Dynamic window anatomy
US20050088447A1 (en) * 2003-10-23 2005-04-28 Scott Hanggie Compositing desktop window manager
US20050253841A1 (en) * 2004-05-17 2005-11-17 Stefan Brabec Volume rendering processing distribution in a graphics processing unit
US20060010392A1 (en) * 2004-06-08 2006-01-12 Noel Vicki E Desktop sharing method and system
US20070229519A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Mirror driver notification of device independent bitmap drawing calls
US20080012792A1 (en) * 2006-07-14 2008-01-17 Lenovo (Beijing) Limited Method for acquiring graphics device interface invocation by using filter driver
US7432934B2 (en) * 2005-10-19 2008-10-07 Hewlett-Packard Development Company, L.P. System and method for display sharing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088452A1 (en) * 2003-10-23 2005-04-28 Scott Hanggie Dynamic window anatomy
US20050088447A1 (en) * 2003-10-23 2005-04-28 Scott Hanggie Compositing desktop window manager
US20050253841A1 (en) * 2004-05-17 2005-11-17 Stefan Brabec Volume rendering processing distribution in a graphics processing unit
US20060010392A1 (en) * 2004-06-08 2006-01-12 Noel Vicki E Desktop sharing method and system
US7432934B2 (en) * 2005-10-19 2008-10-07 Hewlett-Packard Development Company, L.P. System and method for display sharing
US20070229519A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Mirror driver notification of device independent bitmap drawing calls
US20080012792A1 (en) * 2006-07-14 2008-01-17 Lenovo (Beijing) Limited Method for acquiring graphics device interface invocation by using filter driver

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228782A1 (en) * 2008-03-04 2009-09-10 Simon Fraser Acceleration of rendering of web-based content
US20090225089A1 (en) * 2008-03-04 2009-09-10 Richard Schreyer Multi-context graphics processing
US20090225093A1 (en) * 2008-03-04 2009-09-10 John Harper Buffers for display acceleration
US8289333B2 (en) 2008-03-04 2012-10-16 Apple Inc. Multi-context graphics processing
US8477143B2 (en) 2008-03-04 2013-07-02 Apple Inc. Buffers for display acceleration
US8593467B2 (en) 2008-03-04 2013-11-26 Apple Inc. Multi-context graphics processing
US8842133B2 (en) 2008-03-04 2014-09-23 Apple Inc. Buffers for display acceleration
US9418171B2 (en) 2008-03-04 2016-08-16 Apple Inc. Acceleration of rendering of web-based content
US9881353B2 (en) 2008-03-04 2018-01-30 Apple Inc. Buffers for display acceleration
CN104156480A (en) * 2014-08-26 2014-11-19 天津市普迅电力信息技术有限公司 WPF-and-GDI+-based layered drawing method for map
US10290110B2 (en) * 2016-07-05 2019-05-14 Intel Corporation Video overlay modification for enhanced readability
CN108563955A (en) * 2018-03-01 2018-09-21 腾讯科技(深圳)有限公司 Image processing method and device

Also Published As

Publication number Publication date
CN100583022C (en) 2010-01-20
CN101154150A (en) 2008-04-02

Similar Documents

Publication Publication Date Title
US20080074432A1 (en) Method for acquiring a computer screen image
US6931151B2 (en) Method and apparatus for modifying graphics content prior to display for color blind use
US20110292060A1 (en) Frame buffer sizing to optimize the performance of on screen graphics in a digital electronic device
US5898419A (en) Method and apparatus for scaling a cursor on local computer to have the same size relative to a window on the local computer as another cursor has to another window on a remote computer
CN109743626B (en) Image display method, image processing method and related equipment
US6700580B2 (en) System and method utilizing multiple pipelines to render graphical data
US7982751B2 (en) Methods and systems for controlling a computer using a video image and for combining the video image with a computer desktop
WO2019057041A1 (en) Method, device, and electronic apparatus for image enhancement
US8327387B2 (en) Method for acquisition of GDI and directX data
CN111066081B (en) Techniques for compensating for variable display device latency in virtual reality image display
JP7160495B2 (en) Image preprocessing method, device, electronic device and storage medium
EP1551188A1 (en) Video Display
JP2001508576A (en) Data processing system
US10699663B2 (en) Providing an image with a scaler chip in direct communication with an eye tracking device
JP4229702B2 (en) Local improvement of display information
US20040008205A1 (en) Tagging single-color images for improved compression
JP2011044061A (en) Image display device, input device and image display method
CN115546410A (en) Window display method and device, electronic equipment and storage medium
CN109859328B (en) Scene switching method, device, equipment and medium
US8077187B2 (en) Image display using a computer system, including, but not limited to, display of a reference image for comparison with a current image in image editing
KR100580264B1 (en) Automatic image processing method and apparatus
CN113223186B (en) Processing method, equipment, product and device for realizing augmented reality
JP2021140539A (en) Information system, terminal, server, and program
CN109803163B (en) Image display method and device and storage medium
CN111240630B (en) Multi-screen control method and device for augmented reality, computer equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: LENOVO (BEIJING) LIMITED, CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SUN, CHENGKUN;LI, HONGWEI;YAN, YIQIANG;AND OTHERS;REEL/FRAME:020095/0100

Effective date: 20071101

STCB Information on status: application discontinuation

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