JP2006060596A - Image transfer using drawing command hooking - Google Patents

Image transfer using drawing command hooking Download PDF

Info

Publication number
JP2006060596A
JP2006060596A JP2004241224A JP2004241224A JP2006060596A JP 2006060596 A JP2006060596 A JP 2006060596A JP 2004241224 A JP2004241224 A JP 2004241224A JP 2004241224 A JP2004241224 A JP 2004241224A JP 2006060596 A JP2006060596 A JP 2006060596A
Authority
JP
Japan
Prior art keywords
image
area
transfer
change
drawing command
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.)
Granted
Application number
JP2004241224A
Other languages
Japanese (ja)
Other versions
JP3797372B2 (en
Inventor
Hiroyuki Ichieda
博行 市枝
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004241224A priority Critical patent/JP3797372B2/en
Priority to US11/136,528 priority patent/US7817156B2/en
Priority to TW094117095A priority patent/TWI267022B/en
Priority to EP05012331A priority patent/EP1605346A3/en
Priority to KR1020050050084A priority patent/KR100645006B1/en
Publication of JP2006060596A publication Critical patent/JP2006060596A/en
Application granted granted Critical
Publication of JP3797372B2 publication Critical patent/JP3797372B2/en
Priority to US12/923,251 priority patent/US8416249B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Facsimiles In General (AREA)
  • Storing Facsimile Image Data (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for improving a transfer speed in transferring an image to an image display device through a network. <P>SOLUTION: A hook processing module 400 hooks and preempts a specific drawing command issued by an application program 122, draws an image in an image data storage area 106b within a RAM 106 according to the acquired drawing command and stores first changed area information A1 showing showing the drawn area in the RAM 106. Drawing modules 124, 126 and 128 perform drawing in a VRAM 114 and store second changed area information A2 showing the drawn area in the RAM 106. A VNC server 130 transfers an image and stores the first changed area information A1 as transfer history information HA1. At the time of image transfer, an area obtained by adding the first and second changed areas or the second changed area itself becomes a transfer target. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、ネットワークを介して接続された画像供給装置と画像表示装置とを含む画像表示システムに関する。   The present invention relates to an image display system including an image supply device and an image display device connected via a network.

画像を投写表示するプロジェクタの一種として、ネットワークを介してパーソナルコンピュータから供給された画像を投写表示することができるプロジェクタ(以下、「ネットワークプロジェクタ」とも呼ぶ)が提案されている(例えば特許文献1)。また、このようなネットワークプロジェクタに、ネットワークを介してパーソナルコンピュータから画像を供給するために、VNC(Virtual Network Computing)とよばれる技術が利用されている。   As a kind of projector for projecting and displaying an image, a projector capable of projecting and displaying an image supplied from a personal computer via a network (hereinafter also referred to as “network projector”) has been proposed (for example, Patent Document 1). . In addition, a technique called VNC (Virtual Network Computing) is used to supply such a network projector with an image from a personal computer via a network.

国際公開第01/093583号パンフレットInternational Publication No. 01/093583 Pamphlet

しかしながら、VNCを利用する場合には、コンピュータ内のVRAM(フレームメモリ)からRAM(システムメモリ)に画像を一旦転送し、その後、RAMから画像を取得してネットワークを介してプロジェクタに転送している。VRAMからRAMへの画像データの転送にはかなりの時間が掛かるため、全体として十分な転送速度が得られない場合があった。このような問題は、ネットワークプロジェクタシステムに限らず、一般に、ネットワークを介して画像供給装置から画像表示装置に画像を供給して表示させるシステムに共通する問題であった。   However, when using VNC, an image is temporarily transferred from a VRAM (frame memory) in the computer to a RAM (system memory), and then the image is acquired from the RAM and transferred to the projector via the network. . Since transfer of image data from the VRAM to the RAM takes a considerable time, there is a case where a sufficient transfer speed cannot be obtained as a whole. Such a problem is not limited to a network projector system, and is generally a problem common to systems that supply and display images from an image supply apparatus to an image display apparatus via a network.

本発明は、ネットワークを介して画像表示装置に画像を転送する際の転送スピードを向上させる技術を提供することを目的とする。   An object of the present invention is to provide a technique for improving the transfer speed when transferring an image to an image display device via a network.

上記した目的の少なくとも一部を達成するために、本発明による第1の画像供給装置は、ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置であって、
画像の描画命令を発行可能なアプリケーションプログラムと、
前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、
前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、
前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する画像転送処理モジュールと、
を備え、
前記フック処理モジュールは、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第1の変化領域に相当する画像部分と、前記第2の変化領域のうちで前記第1の変化領域に含まれずかつ前記ヒストリ領域に含まれる領域に相当する画像部分とを前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第1と第2の変化領域の和である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送することを特徴とする。
In order to achieve at least a part of the above object, a first image supply device according to the present invention is an image supply device for supplying an image to an image display device via a network for display.
An application program capable of issuing image drawing commands;
A drawing module for processing a drawing command issued by the application program;
A hook processing module that hooks a specific drawing command issued by the application program in advance and draws an image in a specific transfer image storage area in the general-purpose memory according to the acquired drawing command;
An image transfer processing module that acquires an image from the transfer image storage area and transfers the acquired image to the image display device via the network;
With
The hook processing module stores, in the general-purpose memory, first change area information indicating a first change area that is an area in which an image is drawn in response to the specific drawing command in the transfer image storage area. A function of writing, and a function of supplying the drawing command to the drawing module after processing the specific drawing command;
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) An image part corresponding to the first change area and an image part corresponding to an area not included in the first change area and included in the history area among the second change areas Obtain from the transfer image storage area without obtaining from the frame memory,
(Iv) The acquired image portion is transferred to the image display device via the network together with screen update area information indicating a screen update area which is a sum of the first and second change areas.

この画像供給装置によれば、特定の描画命令が発行された場合には、描画モジュールの代わりにフック処理モジュールがその描画命令をフックして取得し、汎用メモリ内の画像を描画するので、従来のように、転送対象となる画像の全体をVRAMからRAM(汎用メモリ)に転送する場合に比べて転送処理全体のスピードを向上させることができる。また、第2の変化領域のうちで第1の変化領域とヒストリ領域のいずれにもに含まれない領域はフック処理モジュールでは描画されていない領域であるが、この画像はフレームメモリから取得するので、欠落無しに画像を転送することが可能である。さらに、第1の変化領域に相当する画像部分と、第2の変化領域のうちで第1の変化領域に含まれずかつヒストリ領域に含まれる領域に相当する画像部分をフレームメモリから取得することなく転送用画像格納領域から取得するので、これらの画像部分の取得に要する時間を短縮することができる。   According to this image supply device, when a specific drawing command is issued, the hook processing module hooks and acquires the drawing command instead of the drawing module, and draws the image in the general-purpose memory. As described above, the entire transfer processing speed can be improved as compared with the case where the entire image to be transferred is transferred from VRAM to RAM (general purpose memory). Further, among the second change areas, areas that are not included in either the first change area or the history area are areas that are not drawn by the hook processing module, but this image is acquired from the frame memory. It is possible to transfer images without missing. Further, an image portion corresponding to the first change region and an image portion of the second change region that is not included in the first change region and that corresponds to the region included in the history region are not acquired from the frame memory. Since it is acquired from the transfer image storage area, the time required to acquire these image portions can be reduced.

本発明による第2の画像供給装置は、ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置であって、
画像の描画命令を発行可能なアプリケーションプログラムと、
前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、
前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、
前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する画像転送処理モジュールと、
を備え、
前記フック処理モジュールは、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域の少なくとも一方に含まれる領域に相当する画像部分を前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第2の変化領域と同一である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送することを特徴とする。
A second image supply device according to the present invention is an image supply device for supplying and displaying an image on an image display device via a network,
An application program capable of issuing image drawing commands;
A drawing module for processing a drawing command issued by the application program;
A hook processing module that hooks a specific drawing command issued by the application program in advance and draws an image in a specific transfer image storage area in the general-purpose memory according to the acquired drawing command;
An image transfer processing module that acquires an image from the transfer image storage area and transfers the acquired image to the image display device via the network;
With
The hook processing module stores, in the general-purpose memory, first change area information indicating a first change area that is an area in which an image is drawn in response to the specific drawing command in the transfer image storage area. A function of writing, and a function of supplying the drawing command to the drawing module after processing the specific drawing command;
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) Of the second change area, an image portion corresponding to an area included in at least one of the first change area and the history area is acquired from the transfer image storage area without obtaining from the frame memory. Acquired,
(Iv) The acquired image portion is transferred to the image display device via the network together with screen update area information indicating a screen update area that is the same as the second change area.

この第2の画像供給装置においても、特定の描画命令が発行された場合には、描画モジュールの代わりにフック処理モジュールがその描画命令をフックして取得し、汎用メモリ内の画像を描画するので、従来のように、転送対象となる画像の全体をVRAMからRAM(汎用メモリ)に転送する場合に比べて転送処理全体のスピードを向上させることができる。また、第2の変化領域のうちで第1の変化領域とヒストリ領域のいずれにもに含まれない領域はフック処理モジュールでは描画されていない領域であるが、この画像はフレームメモリから取得するので、欠落無しに画像を転送することが可能である。さらに、第2の変化領域のうちで第1の変化領域とヒストリ領域の少なくとも一方に含まれる領域に相当する画像部分をフレームメモリから取得することなく転送用画像格納領域から取得するので、これらの画像部分の取得に要する時間を短縮することができる。   Even in the second image supply device, when a specific drawing command is issued, the hook processing module hooks and acquires the drawing command instead of the drawing module, and draws the image in the general-purpose memory. Thus, compared to the conventional case where the entire image to be transferred is transferred from the VRAM to the RAM (general purpose memory), the speed of the entire transfer process can be improved. Further, among the second change areas, areas that are not included in either the first change area or the history area are areas that are not drawn by the hook processing module, but this image is acquired from the frame memory. It is possible to transfer images without missing. Further, since the image portion corresponding to the area included in at least one of the first change area and the history area in the second change area is acquired from the transfer image storage area without acquiring from the frame memory, The time required to acquire the image portion can be shortened.

なお、前記画像転送処理モジュールは、前記第2の変化領域のうちで前記第1の変化領域とヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得して前記転送用画像格納領域に書き込んだ後に、前記画面更新領域に相当する画像部分を前記転送用画像格納領域から取得するようにしてもよい。   The image transfer processing module acquires, from the frame memory, an image portion corresponding to an area that is not included in any of the first change area and the history area in the second change area and transfers the image. After writing in the image storage area, an image portion corresponding to the screen update area may be acquired from the transfer image storage area.

この構成によれば、ネットワークを介して最終的に画像を転送する際に、画像を1つの転送用画像格納領域から取得できるので、処理が単純になる。   According to this configuration, when the image is finally transferred via the network, the image can be acquired from one transfer image storage area, so that the processing is simplified.

なお、前記画像転送処理モジュールは、
前記画像転送処理モジュールの起動時に前記フック処理モジュールを前記アプリケーションプログラムにロードし、前記画像転送処理モジュールの実行終了時に前記フック処理モジュールを前記アプリケーションプログラムからアンロードするように構成されていてもよい。
The image transfer processing module is
The hook processing module may be loaded into the application program when the image transfer processing module is activated, and the hook processing module may be unloaded from the application program when the execution of the image transfer processing module is completed.

この構成によれば、画像転送処理が行われる場合にのみフック処理モジュールが働くので、フック処理が不要な場合にフック処理モジュールが望ましくフック処理を実行してしまうことを防止することができる。   According to this configuration, since the hook processing module works only when the image transfer process is performed, it is possible to prevent the hook processing module from desirably executing the hook process when the hook process is unnecessary.

なお、本発明は種々の形態で実現することが可能であり、例えば、画像表示システム、画像表示システムを構成する画像供給装置及び画像表示装置、画像供給装置に利用されるフック処理モジュール及び画像転送処理モジュール、画像供給方法、それら方法又は装置を実現するためのコンピュータプログラム、それらのコンピュータプログラムを記録した記録媒体などの種々の態様で実現することが可能である。   The present invention can be realized in various forms, for example, an image display system, an image supply device and an image display device that constitute the image display system, a hook processing module and an image transfer used in the image supply device. The present invention can be realized in various modes such as a processing module, an image supply method, a computer program for realizing the method or apparatus, and a recording medium on which the computer program is recorded.

以下、本発明の実施の形態を以下の順序で説明する。
A.第1実施例:
B.第2実施例:
C.変形例:
Hereinafter, embodiments of the present invention will be described in the following order.
A. First embodiment:
B. Second embodiment:
C. Variations:

A.第1実施例:
図1は本発明の一実施例として画像表示システムの構成を示す説明図である。本実施例の画像表示システム10は、画像供給装置としてのパーソナルコンピュータ100と、画像表示装置としてのプロジェクタ200と、コンピュータ100とプロジェクタ200とをつなぐネットワーク300と、を備えている。コンピュータ100は、ネットワーク300を介して画像をプロジェクタ200供給して、プロジェクタ200に画像を投写させて投写表示画面70に表示させる機能を有している。
A. First embodiment:
FIG. 1 is an explanatory diagram showing the configuration of an image display system as an embodiment of the present invention. The image display system 10 of the present embodiment includes a personal computer 100 as an image supply device, a projector 200 as an image display device, and a network 300 that connects the computer 100 and the projector 200. The computer 100 has a function of supplying an image to the projector 200 via the network 300 and causing the projector 200 to project the image and display it on the projection display screen 70.

図2は、コンピュータ100とプロジェクタ200の内部構成を示すブロック図である。コンピュータ100は、CPU102と、ROM104と、汎用メモリ(「システムメモリ」とも呼ぶ)としてのRAM106と、ハードディスクドライブ108と、キーボードやポインティングデバイスなどで構成される入力部110と、ネットワークインタフェース部112と、フレームメモリとしてのVRAM114と、グラフィックコントローラ116と、液晶ディスプレイなどの表示デバイス118と、これら各要素を接続するバス120と、を備えている。   FIG. 2 is a block diagram showing the internal configuration of the computer 100 and the projector 200. The computer 100 includes a CPU 102, a ROM 104, a RAM 106 as a general-purpose memory (also referred to as “system memory”), a hard disk drive 108, an input unit 110 including a keyboard and a pointing device, a network interface unit 112, A VRAM 114 as a frame memory, a graphic controller 116, a display device 118 such as a liquid crystal display, and a bus 120 for connecting these elements are provided.

RAM106には、アプリケーションプログラム122と、グラフィカルデバイスインタフェース(GDI:Graphics Device Interface)124と、ディスプレイドライバ126と、プロジェクタドライバ128と、画像転送処理モジュールとしてのVNCサーバ130と、を含む各種コンピュータプログラムが格納されている。なお、GDI124と、ディスプレイドライバ126と、プロジェクタドライバ128は、オペレーティングシステムの一部として機能する。なお、本実施例においては、オペレーティングシステムとして、マイクロソフト社によって提供されるWindows(登録商標)を想定している。このような各種コンピュータプログラムは、フレキシブルディスクやCD−ROM等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。   The RAM 106 stores various computer programs including an application program 122, a graphical device interface (GDI) 124, a display driver 126, a projector driver 128, and a VNC server 130 as an image transfer processing module. Has been. The GDI 124, the display driver 126, and the projector driver 128 function as a part of the operating system. In this embodiment, Windows (registered trademark) provided by Microsoft Corporation is assumed as the operating system. Such various computer programs are provided in a form recorded on a computer-readable recording medium such as a flexible disk or a CD-ROM.

プロジェクタ200は、CPU202と、ROM204と、RAM206と、各種の操作ボタンを含む入力部210と、ネットワークインタフェース部212と、画像処理部214と、光源ランプと液晶パネルと投写光学系を含む投写部216と、これら各要素を接続するバス218と、を備えている。ROM204には、画像処理ドライバ228と、VNCクライアント230とを含む各種コンピュータプログラムが格納されている。   The projector 200 includes a CPU 202, a ROM 204, a RAM 206, an input unit 210 including various operation buttons, a network interface unit 212, an image processing unit 214, a light source lamp, a liquid crystal panel, and a projection unit 216 including a projection optical system. And a bus 218 for connecting these elements. The ROM 204 stores various computer programs including the image processing driver 228 and the VNC client 230.

以下ではまず、実施例におけるコンピュータ100の機能を説明する前に、比較例として、VNCサーバを用いた従来のコンピュータの機能を説明する。   Hereinafter, before describing the function of the computer 100 in the embodiment, the function of a conventional computer using a VNC server will be described as a comparative example.

図3は、比較例におけるコンピュータのソフトウェアとハードウェアの階層構造を示す説明図である。アプリケーションプログラム122とVNCサーバ130は、アプリケーションプログラム層(「ユーザアプリケーションプログラム層」とも呼ぶ)に属する。GDI124とディスプレイドライバ126とプロジェクタドライバ128は、カーネル層に属する。また、汎用メモリとしてのRAM106と、ネットワークインタフェース部112と、VRAM114と、グラフィックコントローラ116と、表示デバイス118は、ハードウェア層に属する。   FIG. 3 is an explanatory diagram showing a hierarchical structure of computer software and hardware in a comparative example. The application program 122 and the VNC server 130 belong to an application program layer (also referred to as “user application program layer”). The GDI 124, the display driver 126, and the projector driver 128 belong to the kernel layer. Further, the RAM 106 as a general-purpose memory, the network interface unit 112, the VRAM 114, the graphic controller 116, and the display device 118 belong to the hardware layer.

第1実施例では、アプリケーションプログラム122としてプレゼンテーションプログラム(例えばマイクロソフト社のPowerPoint)を使用した場合について説明する。   In the first embodiment, a case where a presentation program (for example, Microsoft PowerPoint) is used as the application program 122 will be described.

アプリケーションプログラム122は、GDI124に対して各種の描画要求を発行する。GDI124は、表示装置(コンピュータ100の表示デバイス118やプロジェクタ200)や印刷装置(図示せず)などへの描画を統一的に管理しているコンピュータプログラムである。良く知られているように、GDI124は、「GDI関数」と呼ばれる描画に関するアプリケーションプログラムインタフェース(API:Application Program Interface)を各種のアプリケーションプログラムに対して提供している。なお、APIとは、一般に、アプリケーションプログラムがオペレーティングシステムの持つ様々な機能を利用するための手続きの集まりを言う。   The application program 122 issues various drawing requests to the GDI 124. The GDI 124 is a computer program that uniformly manages drawing on a display device (the display device 118 or the projector 200 of the computer 100) or a printing device (not shown). As is well known, the GDI 124 provides an application program interface (API: Application Program Interface) relating to drawing called “GDI function” to various application programs. Note that an API generally refers to a collection of procedures for an application program to use various functions of an operating system.

アプリケーションプログラム122は、GDI124に対して、例えばプレゼンテーションファイルに含まれているプレゼンテーションシートの画像の描画要求を発行する。通常は、描画要求には、画像の出力先に関する情報(即ち、画像を表示装置に出力するか、印刷装置に出力するかを指定する情報)も含まれている。   For example, the application program 122 issues a drawing request for a presentation sheet image included in the presentation file to the GDI 124. Usually, the drawing request also includes information regarding the output destination of the image (that is, information specifying whether to output the image to the display device or the printing device).

なお、GDI124の代わりに、他の汎用の描画用APIを使用することも可能である。「汎用の描画用API」とは、多数のアプリケーションプログラムに対して共通に使用されるAPIを意味している。   Note that other general-purpose drawing APIs may be used instead of the GDI 124. The “general-purpose drawing API” means an API that is commonly used for many application programs.

GDI124と、ディスプレイドライバ126と、プロジェクタドライバ128の全体は、描画命令に従って描画処理を実行する描画モジュールとして機能する。具体的には、GDI124は、アプリケーションプログラム122から出された描画要求を受け取り、その描画要求に基づいて画像の出力先をチェックし、その出力先が表示装置であれば、ディスプレイドライバ126とプロジェクタドライバ128のそれぞれに対して描画要求を渡す。   The GDI 124, the display driver 126, and the projector driver 128 all function as a drawing module that executes a drawing process in accordance with a drawing command. Specifically, the GDI 124 receives the drawing request issued from the application program 122, checks the output destination of the image based on the drawing request, and if the output destination is a display device, the display driver 126 and the projector driver A drawing request is passed to each of 128.

ディスプレイドライバ126は、受け取った描画要求に従ってVRAM114内に画像データを描画する。なお、よく知られているように、描画要求としては、画面の全体を描画するものに限らず、画面の一部を描画するものも多用される。画面の一部を描画する描画命令を受けた場合には、ディスプレイドライバ126は、VRAM114内で描画対象となっている領域(「変化領域」とも呼ぶ)の画像部分のみを描画する。グラフィックコントローラ116は、VRAM114内に描画された画像データ(即ち、ビットマップデータ)に基づいて、表示デバイス118に画像を表示する。一方、プロジェクタドライバ128は、GDI124から受け取った描画要求に従って、VRAM114内の描画対象領域(すなわち変化領域)の位置及びサイズを表す変化領域情報106aをRAM106内に書き込む。   The display driver 126 draws image data in the VRAM 114 in accordance with the received drawing request. As is well known, the drawing request is not limited to drawing the entire screen, but frequently drawing a part of the screen. When receiving a drawing command for drawing a part of the screen, the display driver 126 draws only an image portion of an area to be drawn (also referred to as “change area”) in the VRAM 114. The graphic controller 116 displays an image on the display device 118 based on image data (that is, bitmap data) drawn in the VRAM 114. On the other hand, the projector driver 128 writes the change area information 106 a indicating the position and size of the drawing target area (that is, the change area) in the VRAM 114 in the RAM 106 in accordance with the drawing request received from the GDI 124.

図4(A),(B)は、RAM106内の変化領域情報106aと画像データ格納領域106bの例を示す説明図である。ここでは、プロジェクタで投写表示されるべき画像が図4(A)から図4(B)のように変化する例を想定する。後述するように、画像データ格納領域106bには、VNCサーバ130によってVRAM114から転送された画像データが格納される。画像データ格納領域106bは、VRAM114(フレームメモリ)と同じデータ容量を有することが好ましい。   4A and 4B are explanatory diagrams showing examples of the change area information 106a and the image data storage area 106b in the RAM 106. FIG. Here, it is assumed that the image to be projected and displayed by the projector changes from FIG. 4 (A) to FIG. 4 (B). As will be described later, the image data storage area 106 b stores image data transferred from the VRAM 114 by the VNC server 130. The image data storage area 106b preferably has the same data capacity as the VRAM 114 (frame memory).

変化領域Raは、図4(A)から図4(B)に画像を変更する際の描画命令によって描画される画像部分の領域である。この変化領域Raに関する変化領域情報106aは、変化領域Raの基準点(通常は左上点)のx座標Xa及びy座標Yaと、変化領域Raの幅Wa及び高さHaとを含んでいる。なお、基準点の座標(Xa,Ya)は、変化領域Raの位置を示すデータであり、幅Waと高さHaは変化領域Raのサイズを示すデータである。   The change area Ra is an area of an image portion drawn by a drawing command when changing the image from FIG. 4 (A) to FIG. 4 (B). The change area information 106a regarding the change area Ra includes the x coordinate Xa and the y coordinate Ya of the reference point (usually the upper left point) of the change area Ra, and the width Wa and the height Ha of the change area Ra. The coordinates (Xa, Ya) of the reference point are data indicating the position of the change area Ra, and the width Wa and the height Ha are data indicating the size of the change area Ra.

VNCサーバ130は、RAM106内の変化領域情報106aを参照して、変化領域Raの画像データを、VRAM114からRAM106内の画像データ格納領域106bに転送する。この画像データ格納領域106bは、例えばコンピュータ100又はプロジェクタ200の表示解像度に等しいサイズのメモリ領域である。VNCサーバ130は、さらに、画像データ格納領域106bから変化領域Raの画像データを読み出して、変化領域Raの変化領域情報106aと画像データとを含む画面更新メッセージを作成する。   The VNC server 130 refers to the change area information 106 a in the RAM 106 and transfers the image data in the change area Ra from the VRAM 114 to the image data storage area 106 b in the RAM 106. The image data storage area 106b is a memory area having a size equal to the display resolution of the computer 100 or the projector 200, for example. The VNC server 130 further reads out the image data of the change area Ra from the image data storage area 106b, and creates a screen update message including the change area information 106a of the change area Ra and the image data.

図5は、画面更新メッセージの構造を示す説明図である。この画面更新メッセージは、VNCプロトコルに規定されているフレームバッファアップデート「FramebufferUpdate」の構造に準じている。画面更新メッセージは、メッセージの種類を示すメッセージヘッダ部と、メッセージのパラメータを示すパラメータ部とを有している。   FIG. 5 is an explanatory diagram showing the structure of the screen update message. This screen update message conforms to the structure of the frame buffer update “FramebufferUpdate” defined in the VNC protocol. The screen update message has a message header portion indicating a message type and a parameter portion indicating a message parameter.

メッセージヘッダ部には、メッセージの種類を示すメッセージタイプ(1バイト)と、変化領域の数を示す変化領域数(2バイト)とが含まれる。画面更新メッセージを示すメッセージタイプのデータ値は「0」である。変化領域数のデータ値は通常は「1」に設定される。但し、RAM106内に複数の変化領域に関する変化領域情報106aが未処理で残っている場合には、画面更新メッセージがそれらの複数の変化領域に関する情報(変化領域情報及び画像データ)を含むように画面更新メッセージを構成することも可能である。画面更新メッセージに含まれる変化領域情報を「画面更新領域情報」とも呼ぶ。なお、メッセージタイプデータと変化領域数データとは1バイトのパディングを介して区分されている。   The message header part includes a message type (1 byte) indicating the type of message and a change area number (2 bytes) indicating the number of change areas. The data value of the message type indicating the screen update message is “0”. The data value of the number of change areas is normally set to “1”. However, when the change area information 106a regarding a plurality of change areas remains unprocessed in the RAM 106, the screen update message includes information about the change areas (change area information and image data). It is also possible to construct an update message. The change area information included in the screen update message is also referred to as “screen update area information”. The message type data and the change area number data are divided through 1-byte padding.

パラメータ部には、変化領域の基準点のx座標(2バイト)及びy座標(2バイト)と、変化領域の幅(2バイト)及び高さ(2バイト)と、変化領域の画像データの転送時のエンコーディング形式(4バイト)と、変化領域の画像データ(nバイト)と、が含まれている。エンコーディング形式としては、JPEG形式(データ値「7」)等の予め定められた形式が使用される。   In the parameter section, the x coordinate (2 bytes) and y coordinate (2 bytes) of the reference point of the change area, the width (2 bytes) and height (2 bytes) of the change area, and the transfer of the image data of the change area Time encoding format (4 bytes) and change area image data (n bytes) are included. A predetermined format such as a JPEG format (data value “7”) is used as the encoding format.

VNCサーバ130は、こうして作成した画面更新メッセージをネットワークインタフェース部112を介してプロジェクタ200に転送する。   The VNC server 130 transfers the screen update message thus created to the projector 200 via the network interface unit 112.

このように、図3に示す比較例では、一旦VRAM114に格納された画像データを汎用メモリであるRAM106に転送した後で、RAM106内にある画像データをプロジェクタ200に転送している。このため、VRAM114からRAM106に転送するためにかなりの時間を要してしまい、十分な転送速度が得られない場合があった。   As described above, in the comparative example shown in FIG. 3, the image data once stored in the VRAM 114 is transferred to the RAM 106 which is a general-purpose memory, and then the image data in the RAM 106 is transferred to the projector 200. For this reason, it takes a considerable time to transfer data from the VRAM 114 to the RAM 106, and a sufficient transfer speed may not be obtained.

図6は、第1実施例におけるコンピュータのソフトウェアとハードウェアの階層構造を示す説明図である。図3に示した比較例との違いは、アプリケーションプログラム122とGDI124との間に、フック処理モジュール400が追加されている点と、RAM106内に2種類の変化領域情報106a1,106a2(以下、「変化領域情報A1,A2」と呼ぶ)が格納されている点と、RAM106内に転送ヒストリ情報106c(以下、「転送ヒストリ情報HA1」と呼ぶ)が格納されている点であり、他の構成は図3と同じである。フック処理モジュール400は、アプリケーションプログラム122が発行する特定の描画命令をフックして先取りし、後述する処理を実行する。他の描画命令は通常通りGDI124によって処理される。なお、フック処理モジュール400は、アプリケーションプログラム122に応じた適切な特定の描画命令のみをフックするように、各アプリケーションプログラム専用に構成されることが好ましい。   FIG. 6 is an explanatory diagram showing a hierarchical structure of computer software and hardware in the first embodiment. 3 is different from the comparative example shown in FIG. 3 in that a hook processing module 400 is added between the application program 122 and the GDI 124, and two types of change area information 106a1 and 106a2 (hereinafter, “ Change area information A1, A2 ") is stored, and transfer history information 106c (hereinafter referred to as" transfer history information HA1 ") is stored in the RAM 106. It is the same as FIG. The hook processing module 400 hooks a specific drawing command issued by the application program 122 in advance and executes processing described later. Other drawing commands are processed by the GDI 124 as usual. Note that the hook processing module 400 is preferably configured exclusively for each application program so as to hook only a specific drawing command appropriate for the application program 122.

なお、フック処理モジュール400も一種の描画用APIと考えることも可能であるが、GDI124のような汎用の描画用APIとは区別される。すなわち、フック処理モジュール400は、典型的には特定の描画命令のみを処理するように構成されているのに対して、GDI124はすべての描画命令を処理するように構成されている点で相違する。   The hook processing module 400 can also be considered as a kind of drawing API, but is distinguished from a general-purpose drawing API such as the GDI 124. That is, the hook processing module 400 is typically configured to process only specific drawing commands, whereas the GDI 124 is configured to process all drawing commands. .

フック処理モジュール400は、例えばDLL(ダイナミックリンクライブラリ)としてアプリケーションプログラム122にロード(インストール)される。一般に、アプリケーションプログラムは「プロセス」という単位で動作している。また、アプリケーションプログラムの実行中は、そのプロセス内に複数のモジュール(GDI32.DLLやKernel32.DLLなど)がロードされており、アプリケーションプログラムはそれらのモジュール内の関数を利用することによって各種の動作を行っている。フック処理モジュール400の「ロード」とは、アプリケーションプログラム122のプロセス内に、フックプロシージャが実装されているモジュール400を組み込むすることを意味している。   The hook processing module 400 is loaded (installed) into the application program 122 as a DLL (dynamic link library), for example. In general, an application program operates in units of “processes”. During execution of an application program, multiple modules (GDI32.DLL, Kernel32.DLL, etc.) are loaded in the process, and the application program performs various operations by using the functions in those modules. Is going. The “loading” of the hook processing module 400 means that the module 400 in which the hook procedure is mounted is incorporated in the process of the application program 122.

フック処理モジュール400がロードされる際には、アプリケーションプログラム122から発行される特定の描画命令の関数アドレスが、フック処理モジュール400内に実装されている独自機能を実行するための別の関数のアドレスに差し替えられる。この独自機能の関数内では、変化情報と画像データのRAMへの書き込み処理(後述する)が実行され、その後、通常のGDI関数が実行される。フック処理モジュール400をアンロードする際には、ロード時に差し替えられていた関数アドレスを元に戻した後に、プロセス内にロードされていたフック処理モジュール400がアンロードされる。   When the hook processing module 400 is loaded, the function address of a specific drawing command issued from the application program 122 is the address of another function for executing a unique function implemented in the hook processing module 400. Is replaced. In the function of this unique function, processing for writing change information and image data into the RAM (described later) is executed, and then a normal GDI function is executed. When the hook processing module 400 is unloaded, the hook processing module 400 loaded in the process is unloaded after the function address replaced at the time of loading is restored.

なお、フック処理モジュール400は、必要に応じていつでもアプリケーションプログラム122にロードしたり、アンロードしたりすることが可能である。但し、VNCサーバ130が起動する際に、動作中の特定のアプリケーションプログラム122(本実施例ではプレゼンテーションプログラム)にフック処理モジュール400をロードし、また、VNCサーバ130を終了するときにフック処理モジュール400をアンロードするように、VNCサーバ130を構成することが好ましい。こうすれば、VNCサーバ130が実行中の期間にのみフック処理モジュール400を動作させることができるので、コンピュータ100上でVNCサーバ130が実行されていない(起動していない)ときに描画命令をフックしてしまい、望ましくない結果が生じることを回避することができる。なお、本明細書において、「コンピュータ100上でVNCサーバ130が実行されている」という文言は、VNCサーバ130のプロセスが起動されていることを意味している。   The hook processing module 400 can be loaded into the application program 122 and unloaded at any time as necessary. However, when the VNC server 130 is activated, the hook processing module 400 is loaded into a specific application program 122 (presentation program in this embodiment) that is operating, and when the VNC server 130 is terminated, the hook processing module 400 is loaded. Preferably, the VNC server 130 is configured to unload. In this way, since the hook processing module 400 can be operated only during the period when the VNC server 130 is being executed, a drawing command is hooked when the VNC server 130 is not executed (not activated) on the computer 100. And undesirable results can be avoided. In the present specification, the phrase “VNC server 130 is running on computer 100” means that the process of VNC server 130 is activated.

図7は、2つの変化領域情報A1,A2と転送ヒストリ情報HA1の例を示す説明図である。図7(A−1)〜(A−3)は時刻t0における状態を示しており、図7(B−1)〜(B−3)は時刻t1における状態を示している。VNCサーバ130は、所定の時間間隔で転送処理を繰り返し実行しており、時刻t0で転送が実行された後に、時刻t1において次回の転送が実行されるものと仮定している。   FIG. 7 is an explanatory diagram showing an example of two change area information A1, A2 and transfer history information HA1. FIGS. 7A-1 to 7A-3 show states at time t0, and FIGS. 7B-1 to 7B-3 show states at time t1. It is assumed that the VNC server 130 repeatedly executes the transfer process at a predetermined time interval, and after the transfer is executed at time t0, the next transfer is executed at time t1.

図7(A−1)に示す第1の変化領域情報A1は、フック処理モジュール400(図6)によってRAM106内の画像データ格納領域106bに直接描画された領域RA1(「変化領域RA1」と呼ぶ)を表している。この変化領域RA1内の画像を「画像G1」と呼ぶ。第1の変化領域情報A1は、フック処理モジュール400によってRAM106内に書き込まれる。図7(A−2)に示す第2の変化領域情報A2は、ディスプレイドライバ126(図6)によってVRAM114内に描画された領域RA2(「変化領域RA2」と呼ぶ)を表している。この変化領域RA2内の画像を「画像G2」と呼ぶ。第2の変化領域情報A2は、プロジェクタドライバ128によってRAM106内に書き込まれる。図7(A−3)に示す転送ヒストリ情報HA1は、先行する所定の期間においてフック処理モジュール400によって画像データ格納領域106bに直接描画されVNCサーバ130によって転送された過去の第1の変化領域RA1(「ヒストリ領域」と呼ぶ)を表している。本実施例では、直前の転送処理において転送対象となった第1の変化領域のみをヒストリ領域として設定している。但し、先行する複数回の転送処理における変化領域をヒストリ領域とすることも可能である。時刻t0の直前の転送処理では第1の変化領域RA1が存在しておらず、従って、時刻t0では転送ヒストリ情報HA1も登録されていないものと仮定している。なお、転送ヒストリ情報HA1は、VNCサーバ130によってRAM106内に書き込まれる。   The first change area information A1 shown in FIG. 7A-1 is an area RA1 (referred to as “change area RA1”) drawn directly in the image data storage area 106b in the RAM 106 by the hook processing module 400 (FIG. 6). ). The image in the change area RA1 is referred to as “image G1”. The first change area information A1 is written into the RAM 106 by the hook processing module 400. Second change area information A2 shown in FIG. 7A-2 represents an area RA2 (referred to as “change area RA2”) drawn in the VRAM 114 by the display driver 126 (FIG. 6). The image in the change area RA2 is referred to as “image G2.” The second change area information A2 is written in the RAM 106 by the projector driver 128. The transfer history information HA1 shown in FIG. 7A-3 is the past first change area RA1 drawn directly in the image data storage area 106b by the hook processing module 400 and transferred by the VNC server 130 in the preceding predetermined period. (Referred to as “history area”). In this embodiment, only the first change area that is the transfer target in the immediately preceding transfer process is set as the history area. However, a change area in a plurality of preceding transfer processes can be a history area. In the transfer process immediately before time t0, it is assumed that the first change area RA1 does not exist, and therefore transfer history information HA1 is not registered at time t0. The transfer history information HA1 is written into the RAM 106 by the VNC server 130.

なお、図7の例では各領域を同一の画面領域SCA内に配置された状態が示されている。ここで、「画面領域SCA」とは、VRAM114に格納される画像の全体の領域を意味しており、これは、画像データ格納領域106b全体の領域と等しい。厳密に言えば、第1の変化領域RA1は画像データ格納領域106b内のアドレスで定義された領域であり、第2の変化領域RA2はVRAM114内のアドレスで定義された領域であるが、これらは同じ画面領域SCAで表現することができる。   In the example of FIG. 7, a state in which the respective areas are arranged in the same screen area SCA is shown. Here, the “screen area SCA” means the entire area of the image stored in the VRAM 114, which is equal to the entire area of the image data storage area 106b. Strictly speaking, the first change area RA1 is an area defined by an address in the image data storage area 106b, and the second change area RA2 is an area defined by an address in the VRAM 114. It can be expressed by the same screen area SCA.

図7(B−1)〜(B−3)に示すように、時刻t1では、第1の変化領域情報A1が存在せず、第2の変化領域情報A2は画像G1の領域(すなわち、時刻t0における第1の変化領域RA1と同じ領域)を表すものとなっている。このような状態は、この画像G1の描画命令が、時刻t0の直前にフック処理モジュール400によってフックされて処理され、その後、時刻t0とt1の間に描画モジュール124,126,128によって処理されたときに生じ得る。なお、図7(B−3)に示すように、時刻t1では、時刻t0における第1の変化領域情報A1が転送ヒストリ情報HA1として登録されている。図7(B−3)では、図示の便宜上、ヒストリ領域RHA1を一点鎖線で描いている。以下で説明する転送処理(VNCサーバ130による処理)では、これらの時刻t0,t1における転送処理について説明する。   As shown in FIGS. 7B-1 to (B-3), at time t1, the first change area information A1 does not exist, and the second change area information A2 is the area of the image G1 (that is, time This represents the same region as the first change region RA1 at t0). In this state, the drawing command for the image G1 is processed by being hooked by the hook processing module 400 immediately before time t0, and then processed by the drawing modules 124, 126, and 128 between times t0 and t1. Sometimes it can happen. As shown in FIG. 7B-3, at time t1, the first change area information A1 at time t0 is registered as transfer history information HA1. In FIG. 7 (B-3), the history area RHA1 is drawn with a one-dot chain line for convenience of illustration. In the transfer process (process by the VNC server 130) described below, the transfer process at these times t0 and t1 will be described.

図8は、実施例におけるフック処理モジュール400とVNCサーバ130の動作を示すフローチャートである。ステップS10〜S16はフック処理モジュール400によって実行され、ステップS20〜S26はVNCサーバ130によって定期的に実行される。   FIG. 8 is a flowchart illustrating operations of the hook processing module 400 and the VNC server 130 in the embodiment. Steps S10 to S16 are executed by the hook processing module 400, and steps S20 to S26 are periodically executed by the VNC server 130.

フック処理モジュール400は、アプリケーションプログラム122から特定の描画命令が発行されたときに、ステップS10においてその描画命令をフックして、GDI124の代わりにその描画命令を取得する。なお、フック処理モジュール400がフックする描画命令は、すべての描画命令ではなく、限られた特定の描画命令のみに限定することが好ましい。この理由は、アプリケーションプログラム122が発行する描画命令には多数のものがあるので、そのすべてをフックするようにすると、却って処理速度を低下させたり、所望の描画を行えなかったりする可能性があるからである。   When a specific drawing command is issued from the application program 122, the hook processing module 400 hooks the drawing command in step S10 and acquires the drawing command instead of the GDI 124. Note that it is preferable that the drawing command hooked by the hook processing module 400 is not limited to all drawing commands, but only limited specific drawing commands. This is because there are many drawing commands issued by the application program 122. If all of them are hooked, there is a possibility that the processing speed may be lowered or the desired drawing may not be performed. Because.

ステップS12では、取得した描画命令に応じて変化領域情報を登録する処理が実行される。具体的には、フック処理モジュール400が、描画命令に従って描画が行われる領域(図7(A−1)の変化領域RA1)の位置とサイズを取得し、その変化領域を表す変化領域情報A1をRAM106に直接書き込む処理を実行する。   In step S12, a process of registering the change area information is executed according to the acquired drawing command. Specifically, the hook processing module 400 acquires the position and size of the area (the change area RA1 in FIG. 7A-1) where drawing is performed according to the drawing command, and changes area information A1 representing the change area is obtained. A process of directly writing to the RAM 106 is executed.

ステップS14では、変化領域RA1の画像データの書込処理が実行される。具体的には、フック処理モジュール400が、描画命令に従って変化領域RA1内の画像データを展開して、その画像データをRAM106内の画像データ格納領域106bに直接書き込む処理を実行する。   In step S14, the image data writing process of the change area RA1 is executed. Specifically, the hook processing module 400 executes a process of expanding the image data in the change area RA1 in accordance with the drawing command and directly writing the image data in the image data storage area 106b in the RAM 106.

ステップS16では、フック処理モジュール400が、ステップS10で取得した描画命令に従って通常のGDI関数を呼び出して描画処理を実行させる。なお、ディスプレイドライバ126とプロジェクタドライバ128(図6)は、図3に示した比較例と同様に、GDI124から受け取った描画命令に従ってそれぞれの処理を実行する。すなわち、ディスプレイドライバ126がVRAM114内に画像を描画し、プロジェクタドライバ128がその描画領域を示す変化領域情報A2をRAM106内に書き込む。   In step S16, the hook processing module 400 calls a normal GDI function according to the drawing command acquired in step S10, and executes the drawing process. Note that the display driver 126 and the projector driver 128 (FIG. 6) execute respective processes in accordance with the drawing command received from the GDI 124, as in the comparative example shown in FIG. That is, the display driver 126 draws an image in the VRAM 114, and the projector driver 128 writes the change area information A2 indicating the drawing area in the RAM.

一方、VNCサーバ130は、ステップS20において、プロジェクタ200に転送すべき画像データの領域(「画面更新領域」と呼ぶ)を決定する。図9は、ステップS20の詳細手順を示すフローチャートである。ステップS50,S52では、第1と第2の変化領域情報A1,A2が取得される。前述したように、第1の変化領域情報A1は、フック処理モジュール400によってRAM106内の画像データ格納領域106bに描画された領域を表す情報であり、フック処理モジュール400によってRAM106内に書き込まれたものである。一方、第2の変化領域情報A2は、ディスプレイドライバ126によってVRAM114内に描画された領域を表している情報であり、プロジェクタドライバ128によってRAM106内に書き込まれたものである。   On the other hand, in step S20, the VNC server 130 determines an area of image data to be transferred to the projector 200 (referred to as a “screen update area”). FIG. 9 is a flowchart showing the detailed procedure of step S20. In steps S50 and S52, first and second change area information A1 and A2 are acquired. As described above, the first change area information A1 is information representing an area drawn in the image data storage area 106b in the RAM 106 by the hook processing module 400, and is written in the RAM 106 by the hook processing module 400. It is. On the other hand, the second change area information A2 is information representing an area drawn in the VRAM 114 by the display driver 126, and is written in the RAM 106 by the projector driver 128.

図10(A)は、時刻t0における2つの変化領域RA1,RA2とヒストリ領域RHA1を示している。但し、時刻t0ではヒストリ領域RHA1は存在しない。   FIG. 10A shows two change areas RA1, RA2 and a history area RHA1 at time t0. However, the history area RHA1 does not exist at the time t0.

なお、図10(A)の例では、2つの変化領域RA1,RA2は部分的に重なっているが、2つの変化領域RA1,RA2はこれ以外の種々の関係を取る場合がある。例えば、2つの変化領域RA1,RA2が全く重なり合わない場合も存在し、両者が完全に重なり合う場合も存在する。例えば、フック処理モジュール400が特定の描画命令に従って描画を行い、その後、通常の描画モジュール124,126,128が同じ描画命令に従って同じ領域の描画を行った場合には、2つの変化領域RA1,RA2は同一となる。但し、同じ描画命令を実行したときにも、各モジュールの設定によっては、2つの変化領域RA1,RA2に若干の差異が生じる場合もあり得る。   In the example of FIG. 10A, the two change areas RA1 and RA2 partially overlap, but the two change areas RA1 and RA2 may have various other relationships. For example, there are cases where the two change regions RA1 and RA2 do not overlap at all, and there are also cases where the two change regions RA1 and RA2 completely overlap. For example, when the hook processing module 400 performs drawing in accordance with a specific drawing command, and then the normal drawing modules 124, 126, and 128 perform drawing in the same region in accordance with the same drawing command, the two change regions RA1, RA2 Are the same. However, even when the same drawing command is executed, there may be a slight difference between the two change areas RA1 and RA2 depending on the setting of each module.

図10(B)は、時刻t0においてVNCサーバ130が画像転送時にRAM106から画像を直接取得する領域TG1を示しており、図10(C)はVRAM114から画像を取得する領域TG2を示している。これらの領域TG1,TG2を「転送領域」とも呼ぶ。この例から理解できるように、転送ヒストリ情報HA1が存在しないときには、第1の変化領域RA1(=TG1)の画像はRAM106内から直接取得され、また、第2の変化領域RA2のうちで第1の変化領域RA1に含まれない部分の領域TG2の画像は、VRAM114から取得される。このように区別する理由は、VRAM114から取得する画像を可能な限り少なくして、その取得に要する時間を少なくするためである。例えば、2つの変化領域RA1,RA2が完全に重なる場合には、VRAM114から画像を取得する必要が無くなるので、転送処理を高速に行うことができる。図10(D)は、時刻t0においてVNCサーバ130によって転送される領域全体(画面更新領域TTG)を示している。この画面更新領域TTGは、第1と第2の変化領域RA1,RA2の和領域に相当する。   FIG. 10B shows an area TG1 where the VNC server 130 directly acquires an image from the RAM 106 at the time t0 when the image is transferred, and FIG. 10C shows an area TG2 where the image is acquired from the VRAM 114. These areas TG1 and TG2 are also referred to as “transfer areas”. As can be understood from this example, when the transfer history information HA1 does not exist, the image of the first change area RA1 (= TG1) is directly acquired from the RAM 106, and the first change area RA2 includes the first change area RA1. The image of the area TG2 that is not included in the change area RA1 is acquired from the VRAM 114. The reason for this distinction is to reduce the number of images acquired from the VRAM 114 as much as possible and reduce the time required for the acquisition. For example, when the two change areas RA1 and RA2 are completely overlapped, it is not necessary to acquire an image from the VRAM 114, so that the transfer process can be performed at high speed. FIG. 10D shows the entire area (screen update area TTG) transferred by the VNC server 130 at time t0. This screen update area TTG corresponds to the sum area of the first and second change areas RA1 and RA2.

なお、第1の変化領域情報A1に複数の描画命令に対応する複数の情報が含まれている場合がある。この場合には、これらの複数の描画命令の描画領域の和領域が第1の変化領域RA1となる。第2の変化領域RA2についても同様である。   The first change area information A1 may include a plurality of information corresponding to a plurality of drawing commands. In this case, the sum area of the drawing areas of the plurality of drawing commands becomes the first change area RA1. The same applies to the second change region RA2.

図9のステップS54では、2種類の変化領域情報A1,A2で表される変化領域RA1,RA2の差分を計算する。具体的には、第2の変化領域RA2の中で、第1の変化領域RA1に含まれない領域TG2(図10(C))が算出される。   In step S54 of FIG. 9, the difference between the change areas RA1 and RA2 represented by the two types of change area information A1 and A2 is calculated. Specifically, a region TG2 (FIG. 10C) that is not included in the first change region RA1 in the second change region RA2 is calculated.

ステップS56では転送ヒストリ情報HA1が取得され、ステップS58においてヒストリ領域RHA1と第2の変化領域RA2との差分が計算される。このステップS58の処理は、第2の転送領域TG2(転送時にVRAM114から画像が取得される領域)を調整するための処理である。時刻t0では転送ヒストリ情報HA1が存在しないので、この処理内容については時刻t1での処理の即して後に説明する。ステップS60では、転送ヒストリ情報HA1を廃棄し、ステップS62では、第1の変化領域情報A1を転送ヒストリ情報HA1として登録する。この結果、時刻t0における第1の変化領域情報A1が、次の時刻t1における転送ヒストリ情報HA1として利用できることとなる。   In step S56, transfer history information HA1 is acquired, and in step S58, the difference between the history area RHA1 and the second change area RA2 is calculated. The process in step S58 is a process for adjusting the second transfer area TG2 (an area in which an image is acquired from the VRAM 114 at the time of transfer). Since the transfer history information HA1 does not exist at the time t0, the processing content will be described later in the context of the processing at the time t1. In step S60, the transfer history information HA1 is discarded, and in step S62, the first change area information A1 is registered as transfer history information HA1. As a result, the first change area information A1 at time t0 can be used as transfer history information HA1 at the next time t1.

ステップS64では、画面更新領域TTG(図10(D))の最適化処理が実行される。図11は、画面更新領域の最適化処理の内容を示す説明図である。図11(A)は、図10(D)と同じ画面更新領域TTGを示している。最適化処理では、図11(B)に示すように、画面更新領域TTGを互いに重ならない隣接する矩形領域R11〜R13に分割する。そして、これらの矩形領域R11〜R13が、最適化後の画面更新領域として採用される。個々の画面更新領域R11〜R13は矩形なので、最適化前の画面更新領域TTGを包含するような矩形形状の画像を転送する場合に比べて、転送される画像データ量を削減することが可能である。   In step S64, the optimization process of the screen update area TTG (FIG. 10D) is executed. FIG. 11 is an explanatory diagram showing the contents of the optimization process of the screen update area. FIG. 11A shows the same screen update area TTG as in FIG. In the optimization process, as shown in FIG. 11B, the screen update area TTG is divided into adjacent rectangular areas R11 to R13 that do not overlap each other. And these rectangular area | regions R11-R13 are employ | adopted as a screen update area | region after optimization. Since each of the screen update areas R11 to R13 is rectangular, it is possible to reduce the amount of image data to be transferred compared to the case of transferring a rectangular image including the screen update area TTG before optimization. is there.

図8のステップS22では、画面更新領域に相当する画像部分の画像データが取得される。図12は、ステップS22の詳細手順を示すフローチャートである。ステップS70では、第2の転送領域TG2(図10(C))が空である否かが調べられる。なお「第2の転送領域TG2」は、前述したように、画面更新領域TTGの中で画像データがVRAM114から取得される領域である。第2の変化領域情報A2が存在しない場合、及び、第2の変化領域A2が第1の変化領域A1とヒストリ領域との和領域に完全に包含されている場合には、第2の転送領域TG2は空である。第2の転送領域TG2が空である場合には、後述するステップS74に移行する。一方、第2の転送領域TG2が空でない場合には、ステップS72が実行される。ステップS72では、VNCサーバ130が第2の転送領域TG2の画像データをVRAM114から取得してRAM106内の画像データ格納領域106bに書き込む。この結果、画像データ格納領域106bには、図10(D)に示す画面更新領域TTG内の画像がすべて格納された状態になる。ステップS74では、VNCサーバ130が画面更新領域TTGの画像データをRAM106の画像データ格納領域106bから取得する。なお、実際に取得されるのは、最適化処理後の個々の画面更新領域R11〜R13(図11(B))の画像データである。   In step S22 of FIG. 8, image data of an image portion corresponding to the screen update area is acquired. FIG. 12 is a flowchart showing the detailed procedure of step S22. In step S70, it is checked whether or not the second transfer area TG2 (FIG. 10C) is empty. The “second transfer area TG2” is an area in which image data is acquired from the VRAM 114 in the screen update area TTG as described above. When the second change area information A2 does not exist, and when the second change area A2 is completely included in the sum area of the first change area A1 and the history area, the second transfer area TG2 is empty. If the second transfer area TG2 is empty, the process proceeds to step S74 described later. On the other hand, if the second transfer area TG2 is not empty, step S72 is executed. In step S72, the VNC server 130 acquires the image data in the second transfer area TG2 from the VRAM 114 and writes it in the image data storage area 106b in the RAM 106. As a result, all the images in the screen update area TTG shown in FIG. 10D are stored in the image data storage area 106b. In step S74, the VNC server 130 acquires the image data of the screen update area TTG from the image data storage area 106b of the RAM 106. Note that what is actually acquired is the image data of the individual screen update areas R11 to R13 (FIG. 11B) after the optimization processing.

図8のステップS24では、予め設定されているエンコーディング形式に従って画像データが変換される。ステップS26では、こうして変換された画像データと変化領域情報とを含む画面更新メッセージ(図5)が作成され、ネットワークインタフェース部112を介してプロジェクタ200に転送される。   In step S24 of FIG. 8, the image data is converted in accordance with a preset encoding format. In step S <b> 26, a screen update message (FIG. 5) including the image data thus converted and the change area information is created and transferred to the projector 200 via the network interface unit 112.

プロジェクタ200のネットワークインタフェース部212(図2)は、ネットワーク300を介して供給された通信データを受信すると、この通信データに含まれている画面更新メッセージを取り出して、VNCクライアント230に渡す。VNCクライアント230は、画面更新メッセージに含まれる画像データを画像処理ドライバ228に渡す。画像処理ドライバ228は、この画像データに従って画像処理部214を制御し、画像処理部214によって画像処理部214内の表示メモリ(図示せず)に画像データを展開させる。この結果、プロジェクタ200は、図1に示すように、投写表示画面70に画像を表示することができる。   When the network interface unit 212 (FIG. 2) of the projector 200 receives the communication data supplied via the network 300, the network interface unit 212 (FIG. 2) extracts a screen update message included in the communication data and passes it to the VNC client 230. The VNC client 230 passes the image data included in the screen update message to the image processing driver 228. The image processing driver 228 controls the image processing unit 214 according to the image data, and causes the image processing unit 214 to develop the image data in a display memory (not shown) in the image processing unit 214. As a result, the projector 200 can display an image on the projection display screen 70 as shown in FIG.

時刻t1においても、図8のステップS20〜S26の処理が同様に実行される。但し、時刻t1では、図7(B−1)〜(B−3)に示すように、第1の変化領域情報A1が存在せず、第2の変化領域情報A2は画像G1の領域を表す情報であり、転送ヒストリ情報HA1も画像G1の領域を表す情報である。   Also at time t1, the processes of steps S20 to S26 in FIG. 8 are executed in the same manner. However, at time t1, as shown in FIGS. 7B-1 to 7B-3, the first change area information A1 does not exist, and the second change area information A2 represents the area of the image G1. Information, and transfer history information HA1 is also information representing the area of the image G1.

図13は、時刻t1における変化領域とヒストリ領域と画面更新領域との関係を示す説明図である。図13(A)に示すように、第1の変化領域RA1は存在せず、第2の変化領域RA2はヒストリ領域RHA1と同一である。このとき、図9のステップS54の処理では、第2の変化領域RA2のうちで第1の変化領域RA1に含まれない部分が第2の転送領域TG2(図13(B))として作成される。また、図9のステップS58の処理では、この第2の転送領域TG2から、ヒストリ領域RHA1の部分が削除される。図13(D)はこの修正後の第2の転送領域TG2’を示している。この例では、第2の変化領域RA2とヒストリ領域RHA1が同一なので、修正後の第2の転送領域TG2’は空である。一方、第2の転送領域TG2から削除された領域は、第1の転送領域TG1(RAM106から直接画像が取得される領域)に追加される(図13(C))。時刻t1では、第2の転送領域TG2’が空なので、画面更新領域TTG(図13(E))内の画像の全体が、VRAM114から画像を取得することなく画像データ格納領域106bから直接取得されて転送される。   FIG. 13 is an explanatory diagram showing the relationship among the change area, history area, and screen update area at time t1. As shown in FIG. 13A, the first change area RA1 does not exist, and the second change area RA2 is the same as the history area RHA1. At this time, in the process of step S54 in FIG. 9, a portion of the second change region RA2 that is not included in the first change region RA1 is created as the second transfer region TG2 (FIG. 13B). . In the process of step S58 in FIG. 9, the history area RHA1 is deleted from the second transfer area TG2. FIG. 13D shows the second transfer area TG2 'after the correction. In this example, since the second change area RA2 and the history area RHA1 are the same, the second transfer area TG2 'after correction is empty. On the other hand, the area deleted from the second transfer area TG2 is added to the first transfer area TG1 (area in which an image is directly acquired from the RAM 106) (FIG. 13C). At time t1, since the second transfer area TG2 ′ is empty, the entire image in the screen update area TTG (FIG. 13E) is acquired directly from the image data storage area 106b without acquiring an image from the VRAM 114. Forwarded.

図10及び図13の例から理解できるように、画像転送の対象となる画面更新領域TTGは、ヒストリ領域RHA1の有無とは無関係であり、第1と第2の変化領域RA1,RA2の和領域として決定される。ヒストリ領域RHA1は、画像データを画像データ格納領域106bから直接取得する第1の転送領域TG1と、VRAM114から取得する第2の転送領域TG2(またはTG2’)を決定するために使用されている。具体的に言えば、第1の変化領域RA1と、第2の変化領域RA2のうちでヒストリ領域RHA1に含まれる領域と、の和領域が第1の転送領域TG1となる。また、第2の変化領域RA2のうちで第1の変化領域RA1とヒストリ領域RHA1のいずれにも含まれない領域は、第2の転送領域TG2(またはTG2’)となる。なお、第1の転送領域TG1は、第1の変化領域RA1と、第2の変化領域RA2のうちで第1の変化領域RA1に含まれずかつヒストリ領域RHA1に含まれる領域と、の和領域であるとも考えることができる。このように第1と第2の転送領域TG1,TG2を区分することによって、VRAM114から取得される画像データの量を削減することができる。   As can be understood from the examples of FIGS. 10 and 13, the screen update area TTG that is the target of image transfer is independent of the presence or absence of the history area RHA1, and is the sum area of the first and second change areas RA1 and RA2. As determined. The history area RHA1 is used to determine a first transfer area TG1 for acquiring image data directly from the image data storage area 106b and a second transfer area TG2 (or TG2 ') acquired from the VRAM 114. Specifically, the sum area of the first change area RA1 and the area included in the history area RHA1 in the second change area RA2 is the first transfer area TG1. In addition, an area that is not included in any of the first change area RA1 and the history area RHA1 in the second change area RA2 is the second transfer area TG2 (or TG2 '). The first transfer region TG1 is a sum region of the first change region RA1 and the second change region RA2 that is not included in the first change region RA1 and included in the history region RHA1. We can think that there is. By dividing the first and second transfer areas TG1 and TG2 in this way, the amount of image data acquired from the VRAM 114 can be reduced.

なお、仮に転送ヒストリ情報HA1を使用しない場合を想定すると、時刻t1において第2の変化領域RA2の画像をVRAM114から取得することになるはずである。これに対して、本実施例では、この変化領域RA2の画像を、VRAM114にアクセスせずにRAM106内の画像データ格納領域106bから直接取得することができる。この理由は、この変化領域RA2が、その前の時点でフック処理モジュール400によって画像データ格納領域106bに直接描画されたものなので、VRAM114から取得しなくても、画像データ格納領域106bから正しい画像を取得できるからである。この説明から理解できるように、本実施例では、描画命令の実行タイミングと、画像の転送タイミングとのずれに起因して、VRAM114から大量の画像データを取得しなければならなくなる可能性を低減することができる。   Assuming that the transfer history information HA1 is not used, the image of the second change area RA2 should be acquired from the VRAM 114 at time t1. On the other hand, in this embodiment, the image of the change area RA2 can be directly acquired from the image data storage area 106b in the RAM 106 without accessing the VRAM 114. This is because the change area RA2 is drawn directly in the image data storage area 106b by the hook processing module 400 at the previous time, so that a correct image can be obtained from the image data storage area 106b without obtaining it from the VRAM 114. This is because it can be acquired. As can be understood from this description, the present embodiment reduces the possibility that a large amount of image data must be acquired from the VRAM 114 due to the difference between the execution timing of the drawing command and the transfer timing of the image. be able to.

図14は、2つの変化領域情報A1,A2と転送ヒストリ情報HA1の他の例を示す説明図である。図14(A−1)〜(A−3)は、或る転送タイミングの時刻t10における状態を示しており、図14(B−1)〜(B−3)は、その次の転送タイミングの時刻t11における状態を示している。時刻t10では、2つの画像G1,G2の変化領域RA1a,RA1bを示す2つの変化領域情報A1a,A1bが、処理対象となる第1の変化領域情報A1として登録されている。また、これらの2つの画像G1,G2のうちの一方の画像G1の変化領域RA2を示す情報のみが、第2の変化領域情報A2として登録されている。なお、時刻t10では転送ヒストリ情報HA1は存在しないものと仮定している。一方、時刻t11では、第1の変化領域情報A1は存在せず、第2の変化領域情報A2として画像G2の変化領域を示す情報が登録されている。また、転送ヒストリ情報HA1としては、時刻t0における2つの変化領域情報A1a,A1bが登録されている。   FIG. 14 is an explanatory diagram showing another example of the two change area information A1 and A2 and the transfer history information HA1. FIGS. 14A-1 to 14A-3 show states at a certain transfer timing at time t10, and FIGS. 14B-1 to 14B-3 show the next transfer timing. The state at time t11 is shown. At time t10, the two change area information A1a and A1b indicating the change areas RA1a and RA1b of the two images G1 and G2 are registered as the first change area information A1 to be processed. Only information indicating the change area RA2 of one of the two images G1 and G2 is registered as the second change area information A2. It is assumed that the transfer history information HA1 does not exist at time t10. On the other hand, at time t11, the first change area information A1 does not exist, and information indicating the change area of the image G2 is registered as the second change area information A2. Further, as the transfer history information HA1, two change area information A1a and A1b at time t0 are registered.

時刻t10の転送処理では、図15(A)に示すように、2種類の変化領域RA1,RA2の和領域が、転送対象の画面更新領域TTGとして採用される。この画面更新領域TTGは、図14(A−1)に示す第1の変化領域RA1a,RA1bの和領域に等しい。従って、この画面更新領域TTG内の画像は、VRAM114から取得する必要は無く、すべて画像データ格納領域106bから直接取得される。   In the transfer process at time t10, as shown in FIG. 15A, the sum area of the two types of change areas RA1 and RA2 is employed as the screen update area TTG to be transferred. This screen update area TTG is equal to the sum area of the first change areas RA1a and RA1b shown in FIG. Accordingly, the images in the screen update area TTG do not need to be acquired from the VRAM 114, and are all acquired directly from the image data storage area 106b.

時刻t11の転送処理では、第1の変化領域RA1が存在しないので、図15(B)に示すように、第2の変化領域RA2がそのまま画面更新領域TTGとして採用される。但し、第2の変化領域RA2は、ヒストリ領域RHA1a,RHA1b(図14(B−3))に完全に包含されている。従って、時刻t11の画面更新領域TTGの画像も、VRAM114から取得する必要は無く、すべて画像データ格納領域106bから直接取得される。   In the transfer process at time t11, since the first change area RA1 does not exist, the second change area RA2 is directly adopted as the screen update area TTG as shown in FIG. However, the second change area RA2 is completely included in the history areas RHA1a and RHA1b (FIG. 14B-3). Therefore, the image in the screen update area TTG at time t11 does not need to be acquired from the VRAM 114, and is all acquired directly from the image data storage area 106b.

このように、第1実施例では、フック処理モジュール400が、特定の描画命令をフックして先取りし、変化領域の画像データをRAM106に直接書き込む処理を実行するようにしている。この結果、図3に示した比較例においてVRAM114からRAM106への画像データの転送に要していた時間を節約することができる。この結果、プロジェクタ200に画像データを転送する場合の転送速度を十分に速くすることができるという利点がある。   As described above, in the first embodiment, the hook processing module 400 hooks a specific drawing command to prefetch and executes a process of directly writing the image data of the change area to the RAM 106. As a result, the time required to transfer the image data from the VRAM 114 to the RAM 106 in the comparative example shown in FIG. 3 can be saved. As a result, there is an advantage that the transfer speed when image data is transferred to the projector 200 can be sufficiently increased.

なお、一般に使用されているパーソナルコンピュータでは、RAM106からVRAM114へのデータ転送は非常に高速に実行できるのに対して、VRAM114からRAM106へのデータ転送はその数倍低速でしか実行できないアーキテクチャとなっていることが多い。第1実施例では、低速なVRAMからRAMへのデータ転送を削減できるので、プロジェクタ200に画像データを転送するために要する時間を大幅に削減することが可能である。   In a general personal computer, data transfer from the RAM 106 to the VRAM 114 can be executed at a very high speed, whereas data transfer from the VRAM 114 to the RAM 106 can be executed only several times slower than that. There are many. In the first embodiment, since the data transfer from the low-speed VRAM to the RAM can be reduced, the time required to transfer the image data to the projector 200 can be greatly reduced.

また、上記第1実施例では、第2の変換領域RA2の中で、第1の変化領域RA1とヒストリ領域RHA1のいずれにも含まれない領域TG2の画像部分に関しては、VRAM114から取得してプロジェクタ200に転送している。この結果、通常の描画モジュール124,126,128で描画された画像についても欠落無しにプロジェクタ200に転送することが可能である。   In the first embodiment, the image portion of the region TG2 that is not included in any of the first change region RA1 and the history region RHA1 in the second conversion region RA2 is acquired from the VRAM 114 and projector. 200. As a result, the images drawn by the normal drawing modules 124, 126, and 128 can be transferred to the projector 200 without omission.

B.第2実施例:
図16は、第2実施例における変化領域と画面更新領域との関係を示す説明図であり、第1実施例の図10に対応するものである。第2実施例は、装置構成や処理フローの全体は第1実施例と同じであるが、転送対象となる領域が第1実施例と異なっている。具体的には、第2実施例では、RAM106から画像が直接取得される第1の転送領域TG1(図16(B))は、第1と第2の変化領域RA1,RA2が重なり合っている部分に設定される。換言すれば、第1の転送領域TG1は、第2の変化領域RA2のうちで第1の変化領域RA1にも含まれている領域に設定される。一方、VRAM114から画像が取得される第2の転送領域TG2(図16(C))は、第1実施例と同様に、第2の変化領域RA2のうちで第1の変化領域RA1に含まれていない部分に設定される。従って、転送対象となる領域の全体である画面更新領域TTG(図16(D))は、第2の変化領域RA2と同一である。
B. Second embodiment:
FIG. 16 is an explanatory diagram showing the relationship between the change area and the screen update area in the second embodiment, and corresponds to FIG. 10 in the first embodiment. In the second embodiment, the overall apparatus configuration and processing flow are the same as those in the first embodiment, but the area to be transferred is different from that in the first embodiment. Specifically, in the second embodiment, the first transfer region TG1 (FIG. 16B) in which an image is directly acquired from the RAM 106 is a portion where the first and second change regions RA1 and RA2 overlap. Set to In other words, the first transfer area TG1 is set to an area included in the first change area RA1 in the second change area RA2. On the other hand, the second transfer region TG2 (FIG. 16C) from which an image is acquired from the VRAM 114 is included in the first change region RA1 in the second change region RA2, as in the first embodiment. It is set to the part that is not. Accordingly, the screen update area TTG (FIG. 16D), which is the entire area to be transferred, is the same as the second change area RA2.

なお、図7で説明したように、時刻t0では転送ヒストリ情報HA1が存在していないので、第2の転送領域TG2(図16(C))内の画像部分はすべてVRAM114から取得される。但し、転送ヒストリ情報HA1が存在する場合には、第1実施例と同様に、第2の転送領域TG2の中でヒストリ領域と重なり合う領域は、第2の転送領域TG2から削除されて第1の転送領域TG1に追加される(図13参照)。換言すれば、第2の変化領域RA2のうちで、第1の変化領域RA1とヒストリ領域RHA1のいずれかに含まれる領域の画棒部分は、RAM106から直接取得される。また、第2の変化領域RA2のうちで、第1の変化領域RA1とヒストリ領域RHA1のいずれにも含まれない領域の画棒部分は、VRAM114から取得される。従って、図13に示した時刻t1の処理は、第2実施例も第1実施例と同じものになる。   As described with reference to FIG. 7, since transfer history information HA1 does not exist at time t0, all image portions in the second transfer area TG2 (FIG. 16C) are acquired from the VRAM 114. However, if the transfer history information HA1 exists, the area overlapping the history area in the second transfer area TG2 is deleted from the second transfer area TG2 and the first transfer area TG2, as in the first embodiment. It is added to the transfer area TG1 (see FIG. 13). In other words, the image stick portion of the area included in either the first change area RA1 or the history area RHA1 in the second change area RA2 is directly acquired from the RAM 106. In addition, the bar portion of the second change area RA2 that is not included in any of the first change area RA1 and the history area RHA1 is acquired from the VRAM 114. Therefore, the processing at time t1 shown in FIG. 13 is the same as that in the first embodiment in the second embodiment.

このように、第2実施例では、GDI124及びディスプレイドライバ126によってVRAM114内に描画される領域である第2の変化領域RA2内の画像がVNCサーバ130によって転送されることになる。このように処理を行う理由は、以下の通りである。すなわち、フック処理モジュール400によってフック処理された描画命令も、その後、GDI124及びディスプレイドライバ126によって再度実行されるので、基本的にすべての描画命令がGDI124及びディスプレイドライバ126によって実行される。従って、第2の変化領域RA2の画像を転送すれば、プロジェクタ200に正しい画像を表示させることが可能である。但し、この際にすべての画像データをVRAM114から取得すると、データ転送にかなりの時間を要するという問題を生じてしまう。そこで、第2実施例では、第2の変化領域RA2の中で、第1の変化領域RA1とヒストリ領域RHA1のいずれかに含まれている部分についてはRAM106から画像データを直接取得することによって、データ取得に要する時間を短縮している。また、第2実施例では、転送される画像データ量が第1実施例よりも更に少ない点で第1実施例よりも好ましい。   Thus, in the second embodiment, the image in the second change area RA2, which is an area drawn in the VRAM 114 by the GDI 124 and the display driver 126, is transferred by the VNC server 130. The reason for performing the processing in this way is as follows. That is, since the drawing command hooked by the hook processing module 400 is again executed by the GDI 124 and the display driver 126, basically all drawing commands are executed by the GDI 124 and the display driver 126. Therefore, if the image of the second change area RA2 is transferred, the projector 200 can display a correct image. However, if all the image data is acquired from the VRAM 114 at this time, there arises a problem that a considerable time is required for data transfer. Therefore, in the second embodiment, by directly acquiring image data from the RAM 106 for the portion included in either the first change area RA1 or the history area RHA1 in the second change area RA2, The time required for data acquisition is shortened. Further, the second embodiment is preferable to the first embodiment in that the amount of image data transferred is much smaller than that of the first embodiment.

なお、多くの場合には、フック処理モジュール400によって描画される領域(第1の変化領域RA1)と、GDI124及びディスプレイドライバ126で描画される領域(第2の変化領域RA2)とは一致している。従って、第2実施例のように、第1の変化領域RA1のうちで第2の変化領域RA2に含まれない部分の画像転送を省略しても、プロジェクタ400に表示される画像に違和感が生じる可能性は無視できる程度である。これに対して、上述した第1実施例では、第1の変化領域RA1のうちで第2の変化領域RA2に重ならない部分も画像を転送するので、仮に、第1と第2の変化領域RA1,RA2がかなり大幅に異なっている場合にも、より完全な画像を転送できるという利点がある。   In many cases, the area drawn by the hook processing module 400 (first change area RA1) and the area drawn by the GDI 124 and the display driver 126 (second change area RA2) coincide with each other. Yes. Therefore, as in the second embodiment, even if the image transfer of the portion not included in the second change area RA2 in the first change area RA1 is omitted, the image displayed on the projector 400 is uncomfortable. The possibility is negligible. On the other hand, in the first embodiment described above, the image is transferred also in the portion of the first change area RA1 that does not overlap with the second change area RA2. Therefore, the first and second change areas RA1 are assumed. , RA2 has the advantage of being able to transfer a more complete image even if it is significantly different.

図17は、第2実施例における2つの変化領域情報A1,A2と転送ヒストリ情報HA1の他の例を示す説明図である。図17(A−1)〜(A−3)に示す時刻t20では、第1の変化領域情報A1として、2つの画像G10,G20の領域RA1a,RA1bを表す情報A1a,A1bが登録されており、第2の変化領域情報A2としては第1の画像G10の領域RA2(=RA1a)を表す情報A2が登録されている。ここでは説明の便宜上、第1の画像G10が画面領域SCAの全体を占める画像であり、また、第2の画像G11はこれが右側にスライドした画像であると仮定している。このような状態は、例えば画像オブジェクトのアニメーション効果としてスライドアウトを設定したときに発生する。時刻t20では転送ヒストリ情報HA1は存在しない。   FIG. 17 is an explanatory diagram showing another example of the two change area information A1 and A2 and the transfer history information HA1 in the second embodiment. At time t20 shown in FIGS. 17A-1 to 17A-3, information A1a and A1b representing the regions RA1a and RA1b of the two images G10 and G20 are registered as the first change region information A1. As the second change area information A2, information A2 indicating the area RA2 (= RA1a) of the first image G10 is registered. Here, for convenience of explanation, it is assumed that the first image G10 is an image that occupies the entire screen area SCA, and that the second image G11 is an image that has been slid to the right. Such a state occurs, for example, when slide out is set as an animation effect of an image object. At time t20, the transfer history information HA1 does not exist.

図17(B−1)〜(B−3)に示す時刻t21では、第1の変化領域情報A1は存在せず、第2の変化領域情報A2としては第2の画像G11の領域RA2(=RA1b)を表す情報A2が存在する。また、転送ヒストリ情報HA1としては、直前の時刻t20においてRAM106内に存在した2つの第1の変化領域情報A1a,A1bが登録されている。このように、図17の例においても、フック処理モジュール400による第1の変化領域情報A1の登録のタイミングと、プロジェクタドライバ128による第2の変化領域情報A2の登録のタイミングとがややずれている場合を想定している。   At time t21 shown in FIGS. 17B-1 to 17B-3, the first change area information A1 does not exist, and the second change area information A2 includes the area RA2 (= There is information A2 representing RA1b). Further, as the transfer history information HA1, two pieces of first change area information A1a and A1b existing in the RAM 106 at the immediately preceding time t20 are registered. As described above, also in the example of FIG. 17, the registration timing of the first change area information A1 by the hook processing module 400 and the registration timing of the second change area information A2 by the projector driver 128 are slightly shifted. Assume the case.

図18は、第2実施例の時刻t20と時刻t21における画面更新領域を示す説明図である。前述したように、第2実施例では、画面更新領域TTGは常に第2の変化領域RA2と同一である。第2の変化領域RA2のうちで、第1の変化領域RA1とヒストリ領域RHA1のいずれかに含まれる領域の画棒部分はRAM106から直接取得され、第1の変化領域RA1とヒストリ領域RHA1のいずれにも含まれない領域の画像部分はVRAM114から取得される。図17に示すように、時刻t20では第2の変化領域RA2が第1の変化領域RA1a,RA1bに包含されている。また、時刻t21では、第2の変化領域RA2がヒストリ領域RHA1a,RHA1bに包含されている。従って、時刻t20、t21ではすべての画像がRAM106から直接取得されることになる。   FIG. 18 is an explanatory diagram showing screen update areas at time t20 and time t21 in the second embodiment. As described above, in the second embodiment, the screen update area TTG is always the same as the second change area RA2. Of the second change area RA2, the drawing portion of the area included in either the first change area RA1 or the history area RHA1 is directly acquired from the RAM 106, and any of the first change area RA1 and the history area RHA1 is acquired. The image portion of the area not included in the VRAM 114 is acquired from the VRAM 114. As shown in FIG. 17, at time t20, the second change region RA2 is included in the first change regions RA1a and RA1b. At time t21, the second change area RA2 is included in the history areas RHA1a and RHA1b. Accordingly, all images are acquired directly from the RAM 106 at times t20 and t21.

図17の例のように、アニメーション効果によって画像が高速で移動するときに、第1と第2の変化領域情報A1,A2の登録のタイミングにずれが生じる可能性が高い。このとき、仮に転送ヒストリ情報HA1を利用しない場合には、時刻t21において第2の変化領域RA2内の画像全体をVRAM114から取得する必要が生じてしまうという問題が発生する。これに対して、第1,第2実施例では、転送ヒストリ領域RHA1内の画像部分をRAM106から直接取得するので、画像の取得に要する時間を短縮することが可能である。   When the image moves at a high speed due to the animation effect as in the example of FIG. 17, there is a high possibility that the registration timing of the first and second change area information A1 and A2 will be shifted. At this time, if the transfer history information HA1 is not used, there arises a problem that it becomes necessary to acquire the entire image in the second change area RA2 from the VRAM 114 at time t21. On the other hand, in the first and second embodiments, the image portion in the transfer history area RHA1 is directly acquired from the RAM 106, so that the time required for acquiring the image can be shortened.

なお、VNCサーバ130は、第1実施例の転送処理(「第1の転送モード」とも呼ぶ)と第2実施例の転送処理(「第2の転送モード」とも呼ぶ)を含む複数の転送モードの中から1つを選択して実行できるように構成されていても良い。転送モードの選択は、ユーザが行うようにしてもよく、あるいは、コンピュータ100(一般には画像供給装置)の処理能力(CPUの処理速度やバスの転送速度など)に応じてVNCサーバ130が自動的に転送モードの選択を行うようにしてもよい。こうすれば、適切な転送速度で好ましい画像を転送できる転送モードを選択することが可能である。   The VNC server 130 includes a plurality of transfer modes including the transfer process of the first embodiment (also referred to as “first transfer mode”) and the transfer process of the second embodiment (also referred to as “second transfer mode”). It may be configured such that one can be selected and executed. The transfer mode may be selected by the user or automatically by the VNC server 130 in accordance with the processing capability (CPU processing speed, bus transfer speed, etc.) of the computer 100 (generally an image supply device). Alternatively, the transfer mode may be selected. In this way, it is possible to select a transfer mode in which a preferable image can be transferred at an appropriate transfer speed.

C.変形例:
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能であり、例えば以下のような変形が可能である。
C. Variations:
The present invention is not limited to the above-described examples and embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.

C1.変形例1:
コンピュータ100からプロジェクタ200に供給される画面更新メッセージとしては、上記実施例で使用したもの以外の種々のものを使用することが可能である。例えば、画面更新メッセージとして、少なくとも画像データを含むものを使用することができる。具体的には、例えば、画面全体の画像データを転送する場合には、変化領域情報を転送する必要は無い。
C1. Modification 1:
As the screen update message supplied from the computer 100 to the projector 200, various messages other than those used in the above embodiment can be used. For example, a screen update message that includes at least image data can be used. Specifically, for example, when transferring image data of the entire screen, there is no need to transfer change area information.

また、画面更新メッセージとしては、変化領域(画面更新領域)の位置及びサイズを示す情報と、変化領域内の画像データとを少なくとも含むことが好ましい。この理由は、変化領域に関するデータ(変化領域情報及びその画像データ)のみを転送すれば、転送すべきデータ量が少なくなるからである。   The screen update message preferably includes at least information indicating the position and size of the change area (screen update area) and image data in the change area. This is because the amount of data to be transferred is reduced if only the data relating to the change area (change area information and its image data) is transferred.

C2.変形例2:
上記実施例では、第2の転送領域TG2の画像部分をVRAM114から取得して一旦RAM106内の画像データ格納領域106b内に書き込んだ後で、RAM106から画面更新領域TTGの画像を取得してネットワークを介して転送することとしていたが、画像データ格納領域106bに書き込む処理を省略することも可能である。但し、上記実施例の手順によれば、ネットワークを介して最終的に画像を転送する際に、画像を1つの画像データ格納領域106bから取得できるので、処理が単純になるという利点がある。
C2. Modification 2:
In the above-described embodiment, the image portion of the second transfer area TG2 is acquired from the VRAM 114 and once written in the image data storage area 106b in the RAM 106, and then the image of the screen update area TTG is acquired from the RAM 106 to connect the network. However, the process of writing to the image data storage area 106b can be omitted. However, according to the procedure of the above-described embodiment, when an image is finally transferred through the network, the image can be acquired from one image data storage area 106b.

C3.変形例3:
上記実施例では、描画モジュールがGDI124とディスプレイドライバ126とプロジェクタドライバ128の3つのモジュールに分かれていたが、モジュールの区分は任意であり、これらの機能を1つのモジュールにまとめることも可能である。また、ディスプレイドライバ126とプロジェクタドライバ128の機能を1つのモジュールにまとめることも可能である。
C3. Modification 3:
In the above embodiment, the drawing module is divided into three modules, the GDI 124, the display driver 126, and the projector driver 128. However, the modules can be arbitrarily classified, and these functions can be combined into one module. It is also possible to combine the functions of the display driver 126 and the projector driver 128 into one module.

C4.変形例4:
上記実施例においては、画像供給装置としてパーソナルコンピュータを用いていたが、この代わりに、他の種類のコンピュータ(モバイルコンピュータ、ハンドヘルドコンピュータ、ワークステーションなど)を用いるようにしても良い。また、これらコンピュータの他に、ネットワークに接続可能であって、コンピュータと同様な機能を有する機器を用いるようにしても良い。そのような機器には、例えば、情報携帯端末や、携帯電話機や、メール端末や、ゲーム機や、セットトップボックスなどが含まれる。また、画像表示装置としては、プロジェクタ以外の種々の表示装置を使用することが可能である。
C4. Modification 4:
In the above embodiment, a personal computer is used as the image supply device, but other types of computers (mobile computer, handheld computer, workstation, etc.) may be used instead. In addition to these computers, devices that can be connected to a network and have the same functions as the computer may be used. Such devices include, for example, information mobile terminals, mobile phones, mail terminals, game machines, set top boxes, and the like. As the image display device, various display devices other than the projector can be used.

C5.変形例5:
ネットワークとしては、ローカルエリアネットワーク(LAN)の他、ワイドエリアネットワーク(WAN)や、インターネットや、イントラネットなど、各種ネットワークを適用することができる。また、ネットワークは、有線で構成されていても良く、あるいは無線で構成されていても良い。
C5. Modification 5:
As the network, in addition to a local area network (LAN), various networks such as a wide area network (WAN), the Internet, and an intranet can be applied. The network may be configured by wire or may be configured by radio.

C6.変形例6:
上記実施例においてソフトウェアで実現されている機能の一部をハードウェアで実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
C6. Modification 6:
In the above embodiment, a part of the functions realized by software may be realized by hardware, or a part of the functions realized by hardware may be realized by software.

本発明の一実施例として画像表示システムの構成を示す説明図である。It is explanatory drawing which shows the structure of an image display system as one Example of this invention. コンピュータとプロジェクタの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a computer and a projector. 比較例におけるコンピュータのソフトウェアとハードウェアの階層構造を示す説明図である。It is explanatory drawing which shows the hierarchical structure of the software and hardware of a computer in a comparative example. 第1実施例における変化領域情報と画像データ格納領域の例を示す説明図である。It is explanatory drawing which shows the example of the change area information and image data storage area in 1st Example. 画面更新メッセージの構造を示す説明図である。It is explanatory drawing which shows the structure of a screen update message. 実施例におけるコンピュータのソフトウェアとハードウェアの階層構造を示す説明図である。It is explanatory drawing which shows the hierarchical structure of the software and hardware of a computer in an Example. 第1実施例における2つの変化領域情報A1,A2と転送ヒストリ情報HA1の例を示す説明図である。It is explanatory drawing which shows the example of two change area information A1, A2 and transfer history information HA1 in 1st Example. 第1実施例におけるフック処理モジュールとVNCサーバの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the hook process module and VNC server in 1st Example. ステップS20の詳細手順を示すフローチャートである。It is a flowchart which shows the detailed procedure of step S20. 第1実施例における変化領域と画面更新領域との関係を示す説明図である。It is explanatory drawing which shows the relationship between the change area | region and screen update area | region in 1st Example. 画面更新領域の最適化処理の内容を示す説明図である。It is explanatory drawing which shows the content of the optimization process of a screen update area | region. ステップS22の詳細手順を示すフローチャートである。It is a flowchart which shows the detailed procedure of step S22. 第1実施例の時刻t1における変化領域とヒストリ領域と画面更新領域との関係を示す説明図である。It is explanatory drawing which shows the relationship between the change area | region at the time t1 of 1st Example, a history area | region, and a screen update area | region. 第1実施例における2つの変化領域情報A1,A2と転送ヒストリ情報HA1の他の例を示す説明図である。It is explanatory drawing which shows the other example of two change area information A1, A2 and transfer history information HA1 in 1st Example. 第1実施例の時刻t10と時刻t11における画面更新領域を示す説明図である。It is explanatory drawing which shows the screen update area | region in the time t10 and the time t11 of 1st Example. 第2実施例における変化領域と画面更新領域との関係を示す説明図である。It is explanatory drawing which shows the relationship between the change area | region and screen update area | region in 2nd Example. 第2実施例における2つの変化領域情報A1,A2と転送ヒストリ情報HA1の他の例を示す説明図である。It is explanatory drawing which shows the other example of two change area information A1, A2 and transfer history information HA1 in 2nd Example. 第2実施例の時刻t20と時刻t21における画面更新領域を示す説明図である。It is explanatory drawing which shows the screen update area | region in the time t20 and the time t21 of 2nd Example.

符号の説明Explanation of symbols

10…画像表示システム
60…表示画面
70…投写表示画面
100…コンピュータ
102…CPU
104…ROM
106…RAM
106a…変化領域情報
106b…画像データ格納領域
106c…転送ヒストリ情報
108…ハードディスクドライブ
110…入力部
112…ネットワークインタフェース部
114…VRAM
116…グラフィックコントローラ
118…表示デバイス
120…バス
122…アプリケーションプログラム
124…GDI(グラフィックスデバイスインタフェイス)
126…ディスプレイドライバ
128…プロジェクタドライバ
130…VNCサーバ
200…プロジェクタ
202…CPU
204…ROM
206…RAM
210…入力部
212…ネットワークインタフェース部
214…画像処理部
216…投写部
218…バス
228…画像処理ドライバ
230…VNCクライアント
300…ネットワーク
400…フック処理モジュール
DESCRIPTION OF SYMBOLS 10 ... Image display system 60 ... Display screen 70 ... Projection display screen 100 ... Computer 102 ... CPU
104 ... ROM
106 ... RAM
106a ... Change area information 106b ... Image data storage area 106c ... Transfer history information 108 ... Hard disk drive 110 ... Input section 112 ... Network interface section 114 ... VRAM
116: Graphic controller 118 ... Display device 120 ... Bus 122 ... Application program 124 ... GDI (graphics device interface)
126 ... Display driver 128 ... Projector driver 130 ... VNC server 200 ... Projector 202 ... CPU
204 ... ROM
206 ... RAM
210: Input unit 212 ... Network interface unit 214 ... Image processing unit 216 ... Projection unit 218 ... Bus 228 ... Image processing driver 230 ... VNC client 300 ... Network 400 ... Hook processing module

Claims (10)

ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置であって、
画像の描画命令を発行可能なアプリケーションプログラムと、
前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、
前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、
前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する画像転送処理モジュールと、
を備え、
前記フック処理モジュールは、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第1の変化領域に相当する画像部分と、前記第2の変化領域のうちで前記第1の変化領域に含まれずかつ前記ヒストリ領域に含まれる領域に相当する画像部分とを前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第1と第2の変化領域の和である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送することを特徴とする画像供給装置。
An image supply device for supplying and displaying an image on an image display device via a network,
An application program capable of issuing image drawing commands;
A drawing module for processing a drawing command issued by the application program;
A hook processing module that hooks a specific drawing command issued by the application program in advance and draws an image in a specific transfer image storage area in the general-purpose memory according to the acquired drawing command;
An image transfer processing module that acquires an image from the transfer image storage area and transfers the acquired image to the image display device via the network;
With
The hook processing module stores, in the general-purpose memory, first change area information indicating a first change area that is an area in which an image is drawn in response to the specific drawing command in the transfer image storage area. A function of writing, and a function of supplying the drawing command to the drawing module after processing the specific drawing command;
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) An image part corresponding to the first change area and an image part corresponding to an area not included in the first change area and included in the history area among the second change areas Obtain from the transfer image storage area without obtaining from the frame memory,
(Iv) The acquired image portion is transferred to the image display device via the network together with screen update area information indicating a screen update area that is a sum of the first and second change areas. Feeding device.
ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置であって、
画像の描画命令を発行可能なアプリケーションプログラムと、
前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、
前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、
前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する画像転送処理モジュールと、
を備え、
前記フック処理モジュールは、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域の少なくとも一方に含まれる領域に相当する画像部分を前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第2の変化領域と同一である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送することを特徴とする画像供給装置。
An image supply device for supplying and displaying an image on an image display device via a network,
An application program capable of issuing image drawing commands;
A drawing module for processing a drawing command issued by the application program;
A hook processing module that hooks a specific drawing command issued by the application program in advance and draws an image in a specific transfer image storage area in the general-purpose memory according to the acquired drawing command;
An image transfer processing module that acquires an image from the transfer image storage area and transfers the acquired image to the image display device via the network;
With
The hook processing module stores, in the general-purpose memory, first change area information indicating a first change area that is an area in which an image is drawn in response to the specific drawing command in the transfer image storage area. A function of writing, and a function of supplying the drawing command to the drawing module after processing the specific drawing command;
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) Of the second change area, an image portion corresponding to an area included in at least one of the first change area and the history area is acquired from the transfer image storage area without obtaining from the frame memory. Acquired,
(Iv) The image supply device, wherein the acquired image portion is transferred to the image display device via the network together with screen update region information indicating a screen update region that is the same as the second change region.
請求項1又は2記載の画像供給装置であって、
前記画像転送処理モジュールは、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得して前記転送用画像格納領域に書き込んだ後に、前記画面更新領域に相当する画像部分を前記転送用画像格納領域から取得する、画像供給装置。
The image supply device according to claim 1, wherein:
The image transfer processing module acquires, from the frame memory, an image portion corresponding to an area that is not included in either the first change area or the history area in the second change area. An image supply device that acquires an image portion corresponding to the screen update area from the transfer image storage area after writing to the image storage area.
請求項1ないし3のいずれかに記載の画像供給装置であって、
前記画像転送処理モジュールは、
前記画像転送処理モジュールの起動時に前記フック処理モジュールを前記アプリケーションプログラムにロードし、前記画像転送処理モジュールの実行終了時に前記フック処理モジュールを前記アプリケーションプログラムからアンロードするように構成されている、画像供給装置。
The image supply device according to any one of claims 1 to 3,
The image transfer processing module
An image supply configured to load the hook processing module into the application program when the image transfer processing module is activated and unload the hook processing module from the application program when the execution of the image transfer processing module is completed. apparatus.
ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置において利用される画像転送処理モジュールであって、
前記画像供給装置は、画像の描画命令を発行可能なアプリケーションプログラムと、前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、を備えており、
前記画像転送処理モジュールは、前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する機能を有しており、
前記フック処理モジュールは、前記フックによって取得した描画命令に従って前記転送用画像格納領域に画像を描画する機能と、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第1の変化領域に相当する画像部分と、前記第2の変化領域のうちで前記第1の変化領域に含まれずかつ前記ヒストリ領域に含まれる領域に相当する画像部分とを前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第1と第2の変化領域の和である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送することを特徴とする画像転送処理モジュール。
An image transfer processing module used in an image supply device for supplying and displaying an image on an image display device via a network,
The image supply device hooks an application program capable of issuing an image drawing command, a drawing module for processing a drawing command issued by the application program, and a specific drawing command issued by the application program. And a hook processing module for drawing an image in a specific transfer image storage area in the general-purpose memory in accordance with the acquired drawing command.
The image transfer processing module has a function of acquiring an image from the transfer image storage area and transferring the acquired image to the image display device via the network;
The hook processing module has a function of drawing an image in the transfer image storage area in accordance with a drawing command acquired by the hook, and an image is drawn in the transfer image storage area in accordance with the specific drawing command. A function of writing first change area information indicating a first change area, which is an area, into the general-purpose memory; and a function of supplying the drawing command to the drawing module after processing the specific drawing command ,
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) An image part corresponding to the first change area and an image part corresponding to an area not included in the first change area and included in the history area among the second change areas Obtain from the transfer image storage area without obtaining from the frame memory,
(Iv) The acquired image portion is transferred to the image display device via the network together with screen update area information indicating a screen update area that is a sum of the first and second change areas. Transfer processing module.
ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置において利用される画像転送処理モジュールであって、
前記画像供給装置は、画像の描画命令を発行可能なアプリケーションプログラムと、前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、を備えており、
前記画像転送処理モジュールは、前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する機能を有しており、
前記フック処理モジュールは、前記フックによって取得した描画命令に従って前記転送用画像格納領域に画像を描画する機能と、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域とのうちの少なくとも一方に含まれる領域に相当する画像部分を前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第2の変化領域と同一である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送することを特徴とする画像転送処理モジュール。
An image transfer processing module used in an image supply device for supplying and displaying an image on an image display device via a network,
The image supply device hooks an application program capable of issuing an image drawing command, a drawing module for processing a drawing command issued by the application program, and a specific drawing command issued by the application program. And a hook processing module for drawing an image in a specific transfer image storage area in the general-purpose memory in accordance with the acquired drawing command.
The image transfer processing module has a function of acquiring an image from the transfer image storage area and transferring the acquired image to the image display device via the network;
The hook processing module has a function of drawing an image in the transfer image storage area in accordance with a drawing command acquired by the hook, and an image is drawn in the transfer image storage area in accordance with the specific drawing command. A function of writing first change area information indicating a first change area, which is an area, into the general-purpose memory; and a function of supplying the drawing command to the drawing module after processing the specific drawing command ,
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) The transfer image without obtaining an image portion corresponding to an area included in at least one of the first change area and the history area among the second change areas from the frame memory. Obtained from the storage area,
(Iv) The acquired image portion is transferred to the image display device via the network together with screen update area information indicating a screen update area that is the same as the second change area. .
ネットワークを介して画像表示装置に画像を供給して表示させる方法であって、
(a)アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、を準備する工程と、
(b)前記フック処理モジュールが、前記アプリケーションプログラムによって発行された特定の描画命令に応じて、前記汎用メモリ内の特定の転送用画像格納領域に画像を描画する工程と、
(c)前記フック処理モジュールが、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む工程と、
(d)前記フック処理モジュールが、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する工程と、
(e)前記描画モジュールが、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する工程と、
(f)前記描画モジュールが、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む工程と、
(g)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む工程と、
(h)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得する工程と、
(i)前記第1の変化領域に相当する画像部分と、前記第2の変化領域のうちで前記第1の変化領域に含まれずかつ前記ヒストリ領域に含まれる領域に相当する画像部分とを前記フレームメモリから取得することなく前記転送用画像格納領域から取得する工程と、
(j)取得した画像部分を、前記第1と第2の変化領域の和である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送する工程と、
を備えることを特徴とする画像供給方法。
A method of supplying and displaying an image on an image display device via a network,
(A) A drawing module for processing a drawing command issued by an application program and a specific drawing command issued by the application program are hooked in advance, and a specific transfer in the general-purpose memory is performed according to the acquired drawing command. Preparing a hook processing module for drawing an image in the image storage area,
(B) the hook processing module rendering an image in a specific transfer image storage area in the general-purpose memory in response to a specific rendering command issued by the application program;
(C) The hook processing module uses the first change area information indicating the first change area, which is an area in which an image is drawn in accordance with the specific drawing command, in the transfer image storage area. Writing into the memory;
(D) the hook processing module supplying the drawing command to the drawing module after processing the specific drawing command;
(E) the drawing module drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module;
(F) the drawing module writing second change area information indicating a second change area, which is an area in which an image is drawn in the frame memory, in accordance with the drawing command, into the general-purpose memory; ,
(G) setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(H) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas Obtaining an image portion corresponding to an area not included in any of the areas from the frame memory;
(I) an image portion corresponding to the first change region, and an image portion of the second change region that is not included in the first change region and corresponds to a region included in the history region. Obtaining from the transfer image storage area without obtaining from the frame memory;
(J) transferring the acquired image portion to the image display device via the network together with screen update area information indicating a screen update area that is a sum of the first and second change areas;
An image supply method comprising:
ネットワークを介して画像表示装置に画像を供給して表示させる方法であって、
(a)アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、を準備する工程と、
(b)前記フック処理モジュールが、前記アプリケーションプログラムによって発行された特定の描画命令に応じて、前記汎用メモリ内の特定の転送用画像格納領域に画像を描画する工程と、
(c)前記フック処理モジュールが、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む工程と、
(d)前記フック処理モジュールが、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する工程と、
(e)前記描画モジュールが、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する工程と、
(f)前記描画モジュールが、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む工程と、
(g)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む工程と、
(h)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得する工程と、
(i)前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域の少なくとも一方に含まれる領域に相当する画像部分とを前記フレームメモリから取得することなく前記転送用画像格納領域から取得する工程と、
(j)取得した画像部分を、前記第2の変化領域と同一でらう画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送する工程と、
を備えることを特徴とする画像供給方法。
A method of supplying and displaying an image on an image display device via a network,
(A) A drawing module for processing a drawing command issued by an application program and a specific drawing command issued by the application program are hooked in advance, and a specific transfer in the general-purpose memory is performed according to the acquired drawing command. Preparing a hook processing module for drawing an image in the image storage area,
(B) the hook processing module rendering an image in a specific transfer image storage area in the general-purpose memory in response to a specific rendering command issued by the application program;
(C) The hook processing module uses the first change area information indicating the first change area, which is an area in which an image is drawn in accordance with the specific drawing command, in the transfer image storage area. Writing into the memory;
(D) the hook processing module supplying the drawing command to the drawing module after processing the specific drawing command;
(E) the drawing module drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module;
(F) the drawing module writing second change area information indicating a second change area, which is an area in which an image is drawn in the frame memory, in accordance with the drawing command, into the general-purpose memory; ,
(G) setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(H) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas Obtaining an image portion corresponding to an area not included in any of the areas from the frame memory;
(I) The transfer image storage area without acquiring from the frame memory an image portion corresponding to an area included in at least one of the first change area and the history area among the second change areas. The process of obtaining from
(J) transferring the acquired image portion to the image display device via the network together with screen update area information indicating a screen update area that is the same as the second change area;
An image supply method comprising:
ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置において利用される画像転送処理モジュールを記録したコンピュータ読取可能な記録媒体であって、
前記画像供給装置は、画像の描画命令を発行可能なアプリケーションプログラムと、前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、を備えており、
前記画像転送処理モジュールは、前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する処理をコンピュータに実現させるものであり、
前記フック処理モジュールは、前記フックによって取得した描画命令に従って前記転送用画像格納領域に画像を描画する機能と、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第1の変化領域に相当する画像部分と、前記第2の変化領域のうちで前記第1の変化領域に含まれずかつ前記ヒストリ領域に含まれる領域に相当する画像部分とを前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第1と第2の変化領域の和である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送する機能を有する、記録媒体。
A computer-readable recording medium recording an image transfer processing module used in an image supply device for supplying an image to an image display device via a network for display.
The image supply device hooks an application program capable of issuing an image drawing command, a drawing module for processing a drawing command issued by the application program, and a specific drawing command issued by the application program. And a hook processing module for drawing an image in a specific transfer image storage area in the general-purpose memory in accordance with the acquired drawing command.
The image transfer processing module obtains an image from the transfer image storage area, and causes a computer to execute a process of transferring the acquired image to the image display device via the network.
The hook processing module has a function of drawing an image in the transfer image storage area in accordance with a drawing command acquired by the hook, and an image is drawn in the transfer image storage area in accordance with the specific drawing command. A function of writing first change area information indicating a first change area, which is an area, into the general-purpose memory; and a function of supplying the drawing command to the drawing module after processing the specific drawing command ,
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) An image part corresponding to the first change area and an image part corresponding to an area not included in the first change area and included in the history area among the second change areas Obtain from the transfer image storage area without obtaining from the frame memory,
(Iv) A recording medium having a function of transferring the acquired image portion to the image display device via the network together with screen update area information indicating a screen update area that is a sum of the first and second change areas. .
ネットワークを介して画像表示装置に画像を供給して表示させるための画像供給装置において利用される画像転送処理モジュールを記録したコンピュータ読取可能な記録媒体であって、
前記画像供給装置は、画像の描画命令を発行可能なアプリケーションプログラムと、前記アプリケーションプログラムによって発行される描画命令を処理するための描画モジュールと、前記アプリケーションプログラムによって発行される特定の描画命令をフックして先取りし、取得した描画命令に従って汎用メモリ内の特定の転送用画像格納領域に画像を描画するフック処理モジュールと、を備えており、
前記画像転送処理モジュールは、前記転送用画像格納領域から画像を取得するとともに、取得した画像を前記ネットワークを介して前記画像表示装置に転送する処理をコンピュータに実現させるものであり、
前記フック処理モジュールは、前記フックによって取得した描画命令に従って前記転送用画像格納領域に画像を描画する機能と、前記転送用画像格納領域の中で前記特定の描画命令に応じて画像が描画される領域である第1の変化領域を示す第1の変化領域情報を前記汎用メモリ内に書き込む機能と、前記特定の描画命令を処理した後に当該描画命令を前記描画モジュールに供給する機能とを有し、
前記描画モジュールは、前記アプリケーションプログラム又は前記フック処理モジュールから受けた描画命令に従ってフレームメモリ内に画像を描画する機能と、前記フレームメモリの中で前記描画命令に応じて画像が描画される領域である第2の変化領域を示す第2の変化領域情報を前記汎用メモリ内に書き込む機能とを有し、
前記画像転送処理モジュールは、
(i)所定の先行期間における転送処理において存在した前記第1の変化領域をヒストリ領域として設定し当該ヒストリ領域を表す転送ヒストリ情報を前記汎用メモリ内に書き込む機能と、
(ii)前記汎用メモリ内に格納されている前記第1と第2の変化領域情報及び前記転送ヒストリ情報を参照して、前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域のいずれにも含まれない領域に相当する画像部分を前記フレームメモリから取得し、
(iii)前記第2の変化領域のうちで前記第1の変化領域と前記ヒストリ領域の少なくとも一方に含まれる領域に相当する画像部分を前記フレームメモリから取得することなく前記転送用画像格納領域から取得し、
(iv)取得した画像部分を、前記第2の変化領域と同一である画面更新領域を示す画面更新領域情報とともに前記ネットワークを介して前記画像表示装置に転送する機能を有することを特徴とする記録媒体。
A computer-readable recording medium recording an image transfer processing module used in an image supply device for supplying an image to an image display device via a network for display.
The image supply device hooks an application program capable of issuing an image drawing command, a drawing module for processing a drawing command issued by the application program, and a specific drawing command issued by the application program. And a hook processing module for drawing an image in a specific transfer image storage area in the general-purpose memory in accordance with the acquired drawing command.
The image transfer processing module obtains an image from the transfer image storage area, and causes a computer to execute a process of transferring the acquired image to the image display device via the network.
The hook processing module has a function of drawing an image in the transfer image storage area in accordance with a drawing command acquired by the hook, and an image is drawn in the transfer image storage area in accordance with the specific drawing command. A function of writing first change area information indicating a first change area, which is an area, into the general-purpose memory; and a function of supplying the drawing command to the drawing module after processing the specific drawing command ,
The drawing module has a function of drawing an image in a frame memory in accordance with a drawing command received from the application program or the hook processing module, and an area in the frame memory in which an image is drawn according to the drawing command. Having a function of writing second change area information indicating a second change area in the general-purpose memory;
The image transfer processing module
(I) a function of setting the first change area existing in the transfer process in a predetermined preceding period as a history area and writing transfer history information representing the history area in the general-purpose memory;
(Ii) Referring to the first and second change area information and the transfer history information stored in the general-purpose memory, the first change area and the history among the second change areas An image portion corresponding to an area not included in any of the areas is acquired from the frame memory,
(Iii) Of the second change area, an image portion corresponding to an area included in at least one of the first change area and the history area is acquired from the transfer image storage area without obtaining from the frame memory. Acquired,
(Iv) Recording having a function of transferring the acquired image portion to the image display device via the network together with screen update area information indicating a screen update area that is the same as the second change area Medium.
JP2004241224A 2004-06-11 2004-08-20 Image transfer using drawing command hook Expired - Fee Related JP3797372B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004241224A JP3797372B2 (en) 2004-08-20 2004-08-20 Image transfer using drawing command hook
US11/136,528 US7817156B2 (en) 2004-06-11 2005-05-25 Image transfer using drawing command hooking
TW094117095A TWI267022B (en) 2004-06-11 2005-05-25 Image transfer using drawing command hooking
EP05012331A EP1605346A3 (en) 2004-06-11 2005-06-08 Image transfer using drawing command hooking
KR1020050050084A KR100645006B1 (en) 2004-06-11 2005-06-10 Image transfer using drawing command hooking
US12/923,251 US8416249B2 (en) 2004-06-11 2010-09-10 Image transfer using drawing command hooking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004241224A JP3797372B2 (en) 2004-08-20 2004-08-20 Image transfer using drawing command hook

Publications (2)

Publication Number Publication Date
JP2006060596A true JP2006060596A (en) 2006-03-02
JP3797372B2 JP3797372B2 (en) 2006-07-19

Family

ID=36107696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004241224A Expired - Fee Related JP3797372B2 (en) 2004-06-11 2004-08-20 Image transfer using drawing command hook

Country Status (1)

Country Link
JP (1) JP3797372B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013514044A (en) * 2009-12-14 2013-04-22 クゥアルコム・インコーポレイテッド Decomposed multi-stream (DMS) technique for video display systems
JP2014039627A (en) * 2012-08-21 2014-03-06 Sankyo Co Ltd Game machine
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
JP2015055827A (en) * 2013-09-13 2015-03-23 株式会社リコー Display system, display device, display control program and display control method
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
JP2016005612A (en) * 2015-09-02 2016-01-14 株式会社三共 Game machine
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
JP2013514044A (en) * 2009-12-14 2013-04-22 クゥアルコム・インコーポレイテッド Decomposed multi-stream (DMS) technique for video display systems
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9582239B2 (en) 2011-01-21 2017-02-28 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10911498B2 (en) 2011-01-21 2021-02-02 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US10382494B2 (en) 2011-01-21 2019-08-13 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9723359B2 (en) 2011-02-04 2017-08-01 Qualcomm Incorporated Low latency wireless display for graphics
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
JP2014039627A (en) * 2012-08-21 2014-03-06 Sankyo Co Ltd Game machine
JP2015055827A (en) * 2013-09-13 2015-03-23 株式会社リコー Display system, display device, display control program and display control method
JP2016005612A (en) * 2015-09-02 2016-01-14 株式会社三共 Game machine

Also Published As

Publication number Publication date
JP3797372B2 (en) 2006-07-19

Similar Documents

Publication Publication Date Title
JP3797372B2 (en) Image transfer using drawing command hook
US8416249B2 (en) Image transfer using drawing command hooking
JP4810548B2 (en) Server apparatus, updated image detection method and program
US8255826B2 (en) Method and apparatus for resizing buffered windows
JP4650318B2 (en) Communication between image supply device and image display device
JP2000331150A (en) Graphics system, method for executing graphics operation, and computer-readable medium
CN105190701B (en) Synthesis system based on primitive and method
JP2009092969A (en) Image transfer device, and image display control method in image transfer
US9424814B2 (en) Buffer display techniques
JP3797371B2 (en) Image transfer using drawing command hook
JP3826941B2 (en) Image transfer using drawing command hook
TWI244048B (en) Data processing system and method, and recording medium
JP3826942B2 (en) Image transfer using drawing command hook
JP5619473B2 (en) Projector, control method, display method and computer program
JP3797373B2 (en) Image transfer using drawing command hook
JP2010164972A (en) Method and apparatus for drawing image
JP2010164981A (en) Image transfer device, and image display control method in image transfer
US20060082580A1 (en) Method and apparatus for triggering frame updates
JP2006285901A (en) Transfer of image using transparent window
JP2013167881A (en) Image display unit and control method of image display unit
JP2012044478A (en) Image processing device, method and program for image processing
JP2000163182A (en) Screen display system
JPH09231045A (en) Scroll method for drawing processing
JP2013164598A (en) Image display unit
JP2004302730A (en) Computer system and method for displaying overlay

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060410

R150 Certificate of patent or registration of utility model

Ref document number: 3797372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees