[go: up one dir, main page]

HK1140558B - System and method for providing virtual interface - Google Patents

System and method for providing virtual interface Download PDF

Info

Publication number
HK1140558B
HK1140558B HK10106621.2A HK10106621A HK1140558B HK 1140558 B HK1140558 B HK 1140558B HK 10106621 A HK10106621 A HK 10106621A HK 1140558 B HK1140558 B HK 1140558B
Authority
HK
Hong Kong
Prior art keywords
virtual interface
interface
providing
screen
video
Prior art date
Application number
HK10106621.2A
Other languages
Chinese (zh)
Other versions
HK1140558A1 (en
Inventor
文昌宣
表世镇
Original Assignee
文昌宣
表世镇
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
Priority claimed from KR1020070062865A external-priority patent/KR100917687B1/en
Application filed by 文昌宣, 表世镇 filed Critical 文昌宣
Publication of HK1140558A1 publication Critical patent/HK1140558A1/en
Publication of HK1140558B publication Critical patent/HK1140558B/en

Links

Description

System and method for providing a virtual interface
Technical Field
The present invention relates to user interfaces for computer systems, and more particularly to systems and methods for providing a novel virtual interface for providing an operating system independent user interface.
Background
Recently, rapid development of computer hardware and software has made various applications of computers possible in every field of society. For example, computers have been applied to general commerce, internet banking, playback of multimedia, online games, data communication, and the like. By repeatedly increasing the operating frequency of the central processing unit, the processing speed of the computer is increasing. However, since the response speed and the processing speed of the peripheral device cannot reach as fast as the central processing unit when fast data processing is realized with the central processing unit, it is difficult for the computer system to operate at high speed. In order to solve this problem, technical development is continued in the field of graphics processing, and thus two-dimensional or three-dimensional graphic images and fast movie images can be realized at high speed and high quality. However, as computer use environments increasingly need to process larger amounts of graphics data, techniques have been developed that can process graphics data at higher speeds. With the development of operating system technology and application technology, the user interface of a computer system has improved more conveniently. The operating systems of computer systems have evolved from the early text-based user interface environment to the now popular and graphically-based Graphical User Interfaces (GUIs). One example of a graphical user interface is Microsoft (Microsoft) WINDOWS operating system. It is more efficient to use a GUI environment in a multitasking environment such as WINDOWS operating system. This is because various applications running in a multitasking environment can display various application screens such as windows and user interfaces therein.
Meanwhile, some applications running in a multitasking environment sometimes run in an exclusive mode in which programs exclusively occupy screen resources. Most game programs that handle large amounts of graphics data at high speed are designed to operate in an exclusive mode to achieve high-speed screen display. However, if one application exclusively uses screen resources in an operating system providing a multitasking environment, another application cannot interact with a user through a single display screen that is exclusively owned by the one application because the other application cannot be allocated to screen resources that have been already exclusively used. Of course, another application may be activated by inactivating the corresponding application executed in the exclusive mode and thus canceling the exclusive mode, however, when the corresponding application is executed in the exclusive mode, the user interface cannot be provided to both programs at the same time.
Disclosure of Invention
The present invention has been made to solve the above and other problems associated with the conventional devices, and an object of the present invention is to provide a system and method for providing a virtual interface, which can provide a user interface independently of an operating system without allocating screen resources from the operating system in a computer system.
It is another object of the present invention to provide a system and method for providing a virtual interface capable of outputting a user interface through a display screen without inactivating an application program that is run by exclusively allocating screen resources from an operating system.
An aspect of the present invention for achieving the above object relates to a system for providing a user interface of a computer system provided with a video interface for screen display of a display. The system for providing a virtual interface includes a virtual interface processing module that provides a virtual interface through a video output channel for screen display independent of an operating system.
In one embodiment, the video output channel includes a general area of video memory provided in the video interface. Here, the virtual interface processing module includes: a virtual interface screen display module for displaying a virtual interface screen through the overlay area using the overlay driver; and a message processing module for receiving a message according to an event occurrence and filtering a message related to the virtual interface by setting a global hook in an operating system of the computer system, and providing a filtered result value to the virtual interface screen display module.
In another embodiment, the video output channel includes a general area of video memory provided in the video interface. Here, the virtual interface processing module includes: a virtual interface screen display module for displaying a virtual interface screen through the general area using a portlet driver; and a message processing module for receiving a message according to an event occurrence and filtering a message related to the virtual interface by setting a global hook in an operating system of the computer system, and providing a filtered result value to the virtual interface screen display module.
Another aspect of the invention relates to a method for providing a user interface of a computer system provided with a video interface for an on-screen display of a display. The method for providing the virtual interface comprises the following steps: an initialization step in which a global hook of an operating system is set to output a virtual interface screen through a video output channel displayed independently of a screen of the operating system; receiving messages according to the occurrence of events with the highest priority and filtering messages related to the virtual interface; and processing the filtered messages related to the virtual interface.
In one embodiment, the initializing step includes the steps of forming an overlay and displaying the virtual interface screen on a display device through an overlay area in a video memory.
In another embodiment, the initializing step includes the steps of forming a portlet and displaying the virtual interface screen on a display device through a generic area in video memory.
Drawings
The above and other objects, features and advantages of the present invention will become more apparent from the following description of the preferred embodiments taken in conjunction with the accompanying drawings, in which:
fig. 1 is a block diagram illustrating a computer system provided with a virtual interface according to a preferred embodiment of the present invention.
Fig. 2 is a diagram showing a display screen provided with a virtual interface using an overlay function.
Fig. 3 is a block diagram for explaining an operation principle of a virtual interface processing module using an overlay function.
FIG. 4 is a flowchart showing the steps of running a virtual interface processing module using an overlay function.
Fig. 5 is a diagram showing a display screen provided with a virtual interface using a portlet function.
Fig. 6 is a block diagram for explaining an operation principle of a virtual interface processing module using a portlet function.
FIG. 7 is a flowchart showing the steps of operating a virtual interface processing module using portlet functionality.
Detailed Description
The present invention, its operating advantages and objects attained by embodiments of the invention, will be more fully understood by reference to the drawings and accompanying description, in which preferred embodiments of the invention are shown. The embodiments of the present invention may be modified into various forms, and the embodiments described below should not be construed as limiting the scope of the present invention. This embodiment is merely to explain the present invention more clearly to those skilled in the art. Also, known functions and constructions that are not related to the subject matter of the present invention are not described. Hereinafter, embodiments of the present invention are described in detail with reference to the accompanying drawings.
FIG. 1 is a block diagram illustrating a computer system provided with a virtual interface in accordance with a preferred embodiment of the present invention.
Referring to FIG. 1, an exemplary computer system includes a processing unit 100, a video interface 200, a system bus 300, a system memory 400, and various interfaces 500-540 and peripheral devices. The various interfaces 500-540 are, for example, an interface 500 for non-removable, non-volatile memory such as a hard disk device 510, an interface 510 for removable, non-volatile memory such as a magnetic disk 514 and an optical disk 518, an interface 520 for user input such as a keyboard 522 and a pointing device 524, an interface 530 for output to peripheral devices such as speakers 532 and a printer 534, a modem 542, and a modem 542 for connection to a local area network 546 and a network interface 540 for a wide area network 544.
The video interface 200, commonly referred to as a graphics card, includes a graphics processing unit 210, a video memory 220, and an output port 230 connected to a display 600. The graphic processing unit 210 is responsible for operation control of the video interface 200 and calculation processing of graphic data.
The hard disk 510 stores an operating system 421, general application programs 422, a virtual interface application program 424, and a virtual interface processing module 426. The virtual interface application 424 is an application capable of providing a virtual interface through the virtual interface processing module 426, and the virtual interface processing module 426 is a processing module for providing a virtual interface and outputting the virtual interface through a display screen without allocating screen resources from an operating system.
The system memory 400 mainly includes a ROM410 as a nonvolatile memory and a RAM420 as a volatile memory. A basic input/output system (BIOS) is installed on the ROM410, and when the computer system starts up, an operating system 421 is loaded from the hard disk 510 to the RAM420 for start-up. Operating system 421 is, for example, a Microsoft WINDOWS operating system, and is capable of performing multiple tasks. When at least one application program, such as the general application program 422 and the overlay application program 424, is executed, the executed application program is loaded on the RAM.
The system and method of the present invention outputs a virtual interface screen to the display 600 using a separate video output channel that is not directly related to the operating system 421. One embodiment implements a virtual interface using overlay functionality, while another embodiment implements a virtual interface using portlet functionality. In the case of using the overlay function, as shown in fig. 2 and 3, the overlay area 226 in the video memory 220 is used as a separate video output channel for displaying a virtual interface screen. In the case of using the miniport function, as shown in fig. 5 and 6, a portion of the general area 222 shared in the video memory 220 is used as a separate video output channel for displaying a virtual interface screen.
Fig. 2 is a diagram showing a display screen provided with a virtual interface using an overlay function.
Referring to fig. 2, the virtual interface of the present invention is implemented using an overlay function in the present embodiment. The video memory 220 includes a general area 222 and an overlay area 226. The general area 222 is allocated to serve as a display screen of the operating system 421 or general application 422, and stores general video data 224. In the present invention, the overlay area 226 is allocated and used as an area for displaying the virtual interface screen 616, and stores overlay video data 228 for outputting the virtual interface screen.
When the overlay function is not activated, the video interface 200 provides only the general video data 224 stored in the general area 222 to the display 600 to output the background screen 612 and the general application screen 614. When the overlay function is activated to use the virtual interface, the video interface 200 replaces a portion of the video data stored in the general area 222 with the overlay video data 228 stored in the overlay area 226 and provides it to the display 600 to output a virtual interface screen 616 overlaid on the background screen 612 and general application 614. At this time, a virtual interface screen 616 is displayed on the top of all other screens displayed.
The virtual interface provides a virtual interface screen 616 independent of the operating system 421 using the overlay area 226 in the video storage 220. In other words, the virtual interface displays the virtual interface screen 616 independently of the background screen 612 or the general application screen 614 provided by the operating system 421. The virtual interface screen 616 includes at least one screen composition module such as a virtual interface background image 616a, an input box 616b for data input, and a control box 616c for screen control.
Fig. 3 is a block diagram for explaining an operation principle of a virtual interface processing module using an overlay function.
Referring to fig. 3, there is provided a virtual interface processing module 426 that uses an overlay function to provide a virtual interface. Virtual interface processing module 426 executes on a computer system in conjunction with virtual interface application 424. The virtual interface application 424 may include a variety of applications. Specifically, virtual interface application 424 and virtual interface processing module 426 run in an inactive state from the perspective of operating system 421. The general application 422 outputs a general application screen 614 to the display 600 through a video driver 427, and the video driver 427 controls the general area 224 of the video memory 220. In contrast, the virtual interface application 424 outputs the virtual interface screen 616 to the display 600 through the overlay driver 428, the overlay driver 428 controlling the overlay area 226 of the video memory 220.
The virtual interface processing module 426 is responsible for outputting a series of processing steps of the virtual interface screen 616 on the display 600. The virtual interface processing module 426 is provided with a virtual interface display module 426a and a message processing module 426 b. The virtual interface display module 426a stores the video data 228 necessary for displaying the virtual interface screen 616 in the overlay area 226 of the video memory 200 according to the processing result of the message processing module 426b and the operation of the virtual interface application 424. The message processing module 426b receives and filters messages generated as a result of events occurring from inputs from the user input interface 520 or other interface devices so that response processing can occur when the messages relate to a virtual interface.
FIG. 4 is a flowchart showing the steps of running a virtual interface processing module using an overlay function.
Referring to fig. 4, the virtual interface processing module 426 starts an operation in step S100, and then determines whether the video interface 200 installed on the system supports an overlay and whether available overlay resources remain if the overlay is supported in step S110. If the overlay can be formed, the overlay is formed in step S120. Forming the overlay may be accomplished using supporting libraries such as DirectDraw or DirectShow by DirectX, and OpenGL.
If the video interface 200 does not support the overlay function or there is no overlay resource reserved although the video interface 200 supports the overlay function, step S130 is performed to output an overlay error message, and the operation of the virtual interface processing module 426 is ended in step S140.
After forming the overlay, in step S150, the virtual interface processing module 426 sets a global hook of the operating system 421. For example, in the case of WINDOWS operating systems, an API may be used to set the global hook. When the global hook is set, messages relating to all events occurring in the system are first considered for receipt by the virtual interface processing module 426. After the foregoing initialization steps using the overlaid virtual interface are completed, in step 160, the virtual interface screen 616 is displayed using the overlay function.
After that, in step S170, the message processing module 426b determines whether a message occurring according to an event is generated. When the message is received, step S180 is entered to perform a filtering step to determine whether the received message is related to the virtual interface. If the message is determined to be related to the virtual interface, the process proceeds to step S190 to perform processing of the message related to the virtual interface. However, if it is not a message related to the virtual interface, S200 is entered to send the message to the general application 422 which is in activation.
In the step of performing the processing of the message related to the virtual interface in step S190, the message processing module 426b supplies the message attribute value input as the filtered result value to the virtual interface display module 426 a. Virtual interface display module 426a receives the message attribute values provided from message processing module 426b and allows the appropriate screen to be displayed on virtual interface screen 616. The message attribute values are also communicated to the virtual interface application 424 in order to perform the necessary program functions of the virtual interface application 424. Also, virtual interface display module 426a receives the values displayed on virtual interface screen 616 from virtual interface application 424 and allows the appropriate screen to be displayed on virtual interface screen 616.
For example, when an input of the pointing device 524 occurs in the region of the virtual interface screen 616, a message according to an event related to the input is generated and received by the message processing module 426 b. As shown in fig. 2, when there is an input of the pointing device 524 to select the input box 616b displayed on the virtual interface screen 616, the message processing module 426b notifies the overlay screen display module 426a of the input. Subsequently, the overlay screen display module 426a virtually displays a cursor for text entry at a corresponding location within the input box 616 b. In this state, when the user inputs a character key through the keyboard 522, the message processing module 426b judges it as a message related to the virtual interface, and transfers the input keyboard value to the virtual interface display module 426 a. The virtual interface display module 426a writes video data for displaying a character image in the overlay area 226, thereby displaying the character image according to the input keyboard value in the input box 616 b. At this time, it is preferable that the video data stored in the coverage area is converted into YUV format supported by all the graphic cards and then stored.
Fig. 5 is a diagram showing a display screen provided with a virtual interface using a portlet function.
Referring to FIG. 5, another embodiment of a virtual interface for implementing the present invention uses two video output channels for the screen display of the display 600. The two video output channels include, for example, a general video port and a video portlet. In this manner of using two video output channels, the general area 222 in the video memory 200 is used to display a virtual interface screen 616.
Fig. 6 is a block diagram for explaining an operation principle of a virtual interface processing module using a portlet function.
Referring to fig. 6, as in the previous embodiment, a virtual interface processing module 426 providing a virtual interface using a portlet function is provided with a virtual interface display module 426a and a message processing module 426 b. Virtual interface processing module 426 executes on a computer system in conjunction with virtual interface application 424. The virtual interface application 424 may include a variety of applications. In the present embodiment, as in the previous embodiments, the virtual interface application 424 and the virtual interface processing module 426 run in an inactive state from the viewpoint of the operating system 421. The general application 422 outputs a general application screen 614 to the display 600 through a video driver 427, which video driver 427 controls the general area 224 of the video memory 220. In contrast, virtual interface application 424 outputs virtual interface screen 616 to display 600 through portlet driver 429, which controls the overlay area 226 of video memory 220.
The virtual interface processing module 426 is responsible for outputting a series of processing steps of the virtual interface screen 616 on the display 600. The virtual interface display module 426a stores the video data 228 necessary for displaying the virtual interface in the general area 222 of the video memory 200 according to the processing result of the message processing module 426b and the operation of the virtual interface application 424, thereby refreshing the virtual interface screen 616. As with the previous embodiment, the message processing module 426b receives the occurrence of an event due to input from the user input interface 520 or other interface device and the resulting message and filters the message so that response processing can occur when the message is associated with a virtual interface.
FIG. 7 is a flowchart showing the steps of operating a virtual interface processing module using portlet functionality.
Referring to FIG. 7, the operation of the virtual interface processing module 426 using portlets has substantially the same processing steps as in the case of the use of overlays described previously. However, there is a slight difference in the initialization steps for the virtual interface.
Referring to fig. 7, the virtual interface processing module 426 starts an operation in step S100, and then determines whether the video interface 200 installed on the system supports a portlet and whether available resources are reserved if the portlet is supported in step S110'. If a portlet can be formed, the portlet is formed in step S120'. The portlet can be formed using a Development tool implementation such as the WINDOWS Driver Development Kit.
If the video interface 200 does not support the portlet function or there is no reserved resource for using the portlet in spite of the support of the portlet function by the video interface 200, it proceeds to step S130' to output a portlet error message, and in step S140, the operation of the virtual interface processing module 426 is ended.
After the portlet is formed, the virtual interface processing module 426 sets a global hook of the operating system 421 in step S150. For example, in the case of WINDOWS operating systems, an API may be used to set the global hook. When the global hook is set, messages relating to all events occurring in the system are first considered for receipt by the virtual interface processing module 426. After the foregoing initialization steps of the virtual interface using the portlet are completed, in step 160, the virtual interface screen 616 is displayed using the portlet function. Thereafter, the processing steps according to the message generation are the same as those of the foregoing embodiment using the overlay function.
The virtual interface of the present invention as described above can provide a user interface of an inactive application to a display screen without inactivating other activated applications even in a state where the other applications are activated in an operating system having a multitasking environment. In particular, the virtual interface of the present invention may be useful when one application is running in exclusive mode and another application is running in an inactive state.
For example, when an online game program is activated, the program monopolizes screen resources. Thus, to activate other applications, the online game program should be inactivated or ended. In this case, by using the virtual interface of the present invention, it is possible to execute a necessary application in an inactive state without inactivating or terminating an application operating in an exclusive mode, and to provide an interface between the application in the inactive state and a user through the virtual interface.
These and other features and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the foregoing detailed description which makes reference to several figures of the drawing.
As described above, unlike a general user interface that uses a general area in a video memory and is directly related to an operating system, the virtual interface of the present invention outputs a virtual interface screen independently of the operating system using an overlay function or a portlet function, thereby providing the virtual interface screen to a display screen without allocating screen resources from the operating system. In particular, since the virtual interface screen cannot be monitored from the outside, the virtual interface using the overlay can be used in applications that process important information such as a password or an ID and thus are extremely in need of security.

Claims (7)

1. A system for providing a virtual interface, the system for providing a user interface of a computer system provided with a video interface for screen display of a display, the system for providing a virtual interface comprising:
a virtual interface processing module for providing the virtual interface through a video output channel independent of an operating system's on-screen display,
wherein the video output channel comprises an overlay area of a video memory provided in the video interface, and the virtual interface processing module comprises:
a virtual interface screen display module for displaying a virtual interface screen through the overlay area using an overlay driver; and
a message processing module for receiving a message according to an event occurrence and filtering a message related to the virtual interface by setting a global hook in the operating system of the computer system, and providing the filtered result value to the virtual interface screen display module.
2. The system for providing a virtual interface of claim 1, wherein a virtual interface application using the virtual interface by the virtual interface processing module is run in an inactive state.
3. A system for providing a virtual interface, the system for providing a user interface of a computer system provided with a video interface for screen display of a display, the system for providing a virtual interface comprising:
a virtual interface processing module for providing the virtual interface through a video output channel independent of an operating system's on-screen display,
wherein the video output channel comprises a general area of video memory provided in the video interface,
wherein, the virtual interface processing module comprises:
a virtual interface screen display module for displaying a virtual interface screen through the general area using a portlet driver; and
a message processing module for receiving a message according to an event occurrence and filtering a message related to the virtual interface by setting a global hook in the operating system of the computer system, and providing the filtered result value to the virtual interface screen display module.
4. The system for providing a virtual interface of claim 3, wherein a virtual interface application using the virtual interface by the virtual interface processing module is run in an inactive state.
5. A method for providing a virtual interface for providing a user interface of a computer system provided with a video interface for on-screen display of a display, the method comprising the steps of:
an initialization step in which a global hook of an operating system is set to output a virtual interface screen through a video output channel displayed independently of a screen of the operating system;
a step of receiving a message according to an event occurrence with the highest priority and filtering a message related to the virtual interface; and
and processing the filtered information related to the virtual interface.
6. The method for providing a virtual interface of claim 5, wherein the initializing step includes the step of forming an overlay and displaying the virtual interface screen on a display device through an overlay area in a video memory.
7. The method for providing a virtual interface of claim 5, wherein the initializing step includes the step of forming a portlet and displaying the virtual interface screen on a display device through a general area in a video memory.
HK10106621.2A 2007-06-26 2007-09-03 System and method for providing virtual interface HK1140558B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2007-0062865 2007-06-26
KR1020070062865A KR100917687B1 (en) 2007-06-26 2007-06-26 System and method for providing a virtual interface
PCT/KR2007/004233 WO2009001981A1 (en) 2007-06-26 2007-09-03 System and method for providing virtual interface

Publications (2)

Publication Number Publication Date
HK1140558A1 HK1140558A1 (en) 2010-10-15
HK1140558B true HK1140558B (en) 2012-11-09

Family

ID=

Similar Documents

Publication Publication Date Title
CN101689098B (en) Systems and methods for providing virtual interfaces
RU2491609C2 (en) Virtual desktop view scrolling
US7810038B2 (en) Method for modifying a GUI for an application
US8458619B2 (en) Method, system and program product for screensaver breakthrough of prioritized messages
US8627227B2 (en) Allocation of space in an immersive environment
US7030890B1 (en) Displaying graphical objects
KR101512010B1 (en) Combining interfaces of shell applications and sub-applications
EP0564174A2 (en) Method and system for visual presentation of data in a data processing system
US20090150824A1 (en) Multiwindow system, security protection method, and security protection program for multiwindow system
JPH09212328A (en) Method and system for displaying moving picture display object
US20120167005A1 (en) Creating an immersive environment
JPH11502968A (en) Method for adapting multiple information screens for access and use on a graphical panel in a computer system
US7890884B2 (en) Exclusive use display surface areas and persistently visible display of contents including advertisements
HK1221785A1 (en) Method and device for fusing operating systems
JP2008269615A (en) Method and apparatus for displaying mouse pointer simultaneously on a plurality of display screen areas
US20220382566A1 (en) Generating User Interface Containers
HK1140558B (en) System and method for providing virtual interface
KR101698484B1 (en) Method and apparatus for performing JAVA application
CN110580177B (en) Shared expansion device, control method thereof, and computer using same
CN117234655B (en) Method, device, equipment and medium for running Linux desktop program based on android system
CN119597379A (en) Application window display method, device and computer readable storage medium
Argue Advanced multi-display configuration and connectivity