CN1707423A - 利用描绘命令的钩挂的图像传送 - Google Patents

利用描绘命令的钩挂的图像传送 Download PDF

Info

Publication number
CN1707423A
CN1707423A CN 200510076764 CN200510076764A CN1707423A CN 1707423 A CN1707423 A CN 1707423A CN 200510076764 CN200510076764 CN 200510076764 CN 200510076764 A CN200510076764 A CN 200510076764A CN 1707423 A CN1707423 A CN 1707423A
Authority
CN
China
Prior art keywords
mentioned
image
region
variation
zone
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
CN 200510076764
Other languages
English (en)
Other versions
CN100368984C (zh
Inventor
市枝博行
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
Publication of CN1707423A publication Critical patent/CN1707423A/zh
Application granted granted Critical
Publication of CN100368984C publication Critical patent/CN100368984C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

钩挂处理模块(400),钩挂并先行取得由应用程序(122)发出的特定的描绘命令,按照取得的描绘命令在RAM(106)内的图像数据存储区域(106b)描绘图像。VNC服务器(130),从图像数据存储区域(106b)取得图像并且将取得的图像经由网络传送给投影机。

Description

利用描绘命令的钩挂的图像传送
技术领域
本发明涉及包括经由网络连接的图像供给装置和图像显示装置的图像显示系统。
背景技术
作为投影显示图像的投影机的一种,人们已经提出了能够投影显示经由网络从个人计算机供给的图像的投影机(以下也称为“网络投影机”)(例如国际公开第01/093583号小册子)。此外,为了经由网络从个人计算机向这样的网络投影机供给图像,利用了称为VNC(Virtual NetworkComputing,虚拟网络计算)的技术。
然而,在利用VNC的情况下,暂时从计算机内的VRAM(帧存储器)向RAM(系统存储器)传送图像,其后从RAM取得图像并经由网络传送给投影机。由于从VRAM向RAM的图像数据的传送需要相当多的时间,所以存在整体上不能获得充分的传送速度的情况。这样的问题并不只限于网络投影机系统,通常在经由网络从图像供给装置向图像显示装置供给图像使其显示的系统中存在共同的问题。
发明内容
本发明目的在于提供使经由网络向图像显示装置传送图像时的传送速度提高的技术。
本发明的一种方式(aspect)的图像供给装置,是用于经由网络向图像显示装置供给图像使其显示的图像供给装置,其特征在于,具备:
能够发出图像的描绘命令的应用程序;
用于处理由上述应用程序发出的描绘命令的描绘模块;
钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块;以及
从上述传送用图像存储区域取得图像并且经由上述网络将取得的图像传送给上述图像显示装置的图像传送处理模块。
按照该图像供给装置,由于当发出了特定的描绘命令时,代替描绘模块而钩挂处理模块钩挂并取得该描绘命令,描绘通用存储器内的图像,所以与现有的从VRAM向RAM(通用存储器)传送图像的情况相比,能够提高传送处理整体的速度。
本发明的另一种方式的方法,是经由网络向图像显示装置供给图像使其显示的方法,其特征在于,包括:(a)根据由应用程序发出的特定的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的工序;以及(b)从上述传送用图像存储区域取得图像并且将取得的图像经由上述网络传送给上述图像显示装置的工序。
按照该方法,由于当发出了特定的描绘命令时在通用存储器内描绘图像,所以与现有的从VRAM向RAM(通用存储器)传送图像的情况相比,能够提高传送处理整体的速度。
本发明也可以具备以下的其它特征。
也可以是,上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述描绘命令描绘图像的区域的变化区域的变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,参照存储在上述通用存储器内的上述变化区域信息取得存储在上述传送用图像存储区域的上述图像变化区域内的图像部分并且将取得的图像部分与上述变化区域信息一起经由上述网络传送给上述图像显示装置。
按照该结构,由于变化区域信息也由钩挂处理模块写入通用存储器内,所以与使用描绘模块写入变化区域信息的情况相比,能够使变化区域信息的写入处理高速化。此外,因为图像传送处理模块传送变化区域的图像部分和变化区域信息,所以与传送画面全体的图像数据的情况相比,能够减少传送的数据量,从而能够提高传送速度。
此外,也可以是,上述图像传送处理模块,具有通过将存储在上述传送用图像存储区域的第1图像经由上述网络传送给上述图像显示装置使上述图像显示装置的画面中显示放大了上述第1图像的第2图像的功能;
上述钩挂处理模块,具有将传送区域信息写入上述通用存储器内的功能,该传送区域信息包括表示作为在上述传送用图像存储区域中根据上述描绘命令描绘上述第1图像的区域的变化区域的变化区域信息、以及表示上述图像显示装置的画面中的上述第2图像的尺寸的尺寸信息;
上述图像传送处理模块,取得存储在上述通用存储器内的上述传送区域信息,并将其与从上述传送用图像存储区域取得的上述第1图像一起经由上述网络传送给上述图像显示装置。
按照该结构,由于传送放大前的第1图像和传送区域信息(变化区域信息和尺寸信息),所以与传送放大后的第2图像的情况相比,能够减少传送的数据量,从而能够提高传送速度。
另外,上述图像传送处理模块也可以构成为,在上述图像传送处理模块起动时将上述钩挂处理模块装载到上述应用程序中,而在上述图像传送处理模块的执行结束时从上述应用程序中卸载上述钩挂处理模块。
按照该构成,由于只在进行图像传送处理时钩挂处理模块工作,所以能够防止在不需要钩挂处理时钩挂处理模块执行不期望的钩挂处理。
按照本发明的另一实施方式,上述钩挂处理模块,在执行至少包含上述图像传送处理模块从上述传送用图像存储区域取得图像的处理的指定的图像传送用处理时,直至上述图像传送用处理结束不开始进行与上述描绘命令对应的处理而等待。
按照该结构,由于钩挂处理模块,在执行由图像传送处理模块进行的图像传送用处理时,直至该处理结束不开始进行与描绘命令对应的处理而等待,所以能够防止传送用图像存储区域内的图像在传送前由于钩挂处理模块进行的再描绘而被变更的问题。
另外,也可以是,上述图像传送处理模块,在上述图像传送用处理执行中将上述通用存储器内的传送标志设定为ON状态,并且在上述图像传送用处理结束后将上述传送标志设定为OFF状态;
上述钩挂处理模块,在上述传送标志为ON时直至上述传送标志OFF不开始进行与上述描绘命令对应的处理而等待。
按照该结构,能够容易调整图像传送处理模块和钩挂处理模块的处理定时。
也可以是,上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述描绘命令描绘图像的区域的变化区域的变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)在上述图像传送用处理中,参照存储在上述通用存储器内的上述变化区域信息取得存储在上述传送用图像存储区域的上述图像变化区域内的图像部分,
(ii)将取得的图像部分与上述变化区域信息一起经由上述网络传送给上述图像显示装置。
按照该结构,由于变化区域信息也由钩挂处理模块写入通用存储器内,所以与使用描绘模块写入变化区域信息的情况相比,能够使变化区域信息的写入处理高速化。此外,由于图像传送处理模块传送变化区域的图像部分和变化区域信息,所以与传送画面全体的图像数据的情况相比,能够减少传送的数据量,从而能够提高传送速度。
按照本发明的另一种方式,其特征在于:上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分,
(ii)将与上述第1变化区域相当的图像部分不是从上述帧存储器取得而是从上述传送用图像存储区域取得,
(iii)将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
按照该结构,虽然第2变化区域中未包含在第1变化区域中的区域是钩挂处理模块未描绘的区域,但由于该区域的图像从帧存储器取得,所以能够毫无损失地传送图像。
按照本发明的另一种方式,其特征在于:上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分,
(ii)将与上述第2变化区域中也包含在上述第1变化区域中的区域相当的图像部分不是从上述帧存储器取得而是从上述传送用图像存储区域取得,
(iii)将取得的图像部分与表示与上述第2变化区域相同的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
在该结构中,虽然第2变化区域中未包含在第1变化区域中的区域是钩挂处理模块未描绘的区域,但由于该区域的图像从帧存储器取得,所以能够毫无损失地传送图像。
另外,也可以是,上述图像传送处理模块,在从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分并写入上述传送用图像存储区域后,从上述传送用图像存储区域取得与上述画面更新区域相当的图像部分。
按照该结构,由于在最终经由网络传送图像时能够从1个传送用图像存储区域取得图像,所以处理变得简单。
按照本发明的另一种方式,其特征在于:
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)将在指定的先行期间中的传送处理中存在的上述第1变化区域作为履历区域设定,将表示该履历区域的传送履历信息写入上述通用存储器内,
(ii)参照存储在上述通用存储器内的上述第1和第2变化区域信息和上述传送履历信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分,
(iii)将与上述第1变化区域相当的图像部分和与上述第2变化区域中未包含在上述第1变化区域中但包含在上述履历区域中的区域相当的图像部分,不是从上述帧存储器取得而是从上述传送用图像存储区域取得,
(iv)将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
按照该结构,虽然第2变化区域中未包含在第1区域和履历区域的任意一个中的区域是钩挂处理模块未描绘的区域,但由于该图像从帧存储器取得,所以能够毫无损失地传送图像。进而,由于将与第1变化区域相当的图像部分和与第2变化区域中未包含在第1变化区域中但包含在履历区域中的区域相当的图像部分不是从帧存储器取得而是从传送用图像存储区域取得,所以能够缩短这些图像部分的取得所需要的时间。
按照本发明的另一种方式,其特征在于:
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)将在指定的先行期间中的传送处理中存在的上述第1变化区域作为履历区域设定,将表示该履历区域的传送履历信息写入上述通用存储器内,
(ii)参照存储在上述通用存储器内的上述第1和第2变化区域信息和上述传送履历信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分,
(iii)不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第2变化区域中包含在上述第1变化区域和上述履历区域的至少一方中的区域相当的图像部分,
(iv)将取得的图像部分和表示与上述第2变化区域相同的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
在该结构中,虽然第2变化区域中未包含在第1变化区域和履历区域的任意一个中的区域是钩挂处理模块未描绘的区域,但由于该图像从帧存储器取得,所以能够毫无损失地传送图像。进而,由于不是从帧存储器取得而是从传送用图像存储区域取得与第2变化区域中未包含在第1变化区域和履历区域的至少一方中的区域相当的图像部分,所以能够缩短这些图像部分的取得所需要的时间。
另外,也可以是,上述图像传送处理模块,在从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和履历区域的任意一个中的区域相当的图像部分并写入上述传送用图像存储区域后,从上述传送用图像存储区域取得与上述画面更新区域相当的图像部分。
按照该结构,由于在最终经由网络传送图像时能够从1个传送用图像存储区域取得图像,所以处理变得简单。
按照本发明的另一种方式,其特征在于:上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能;
上述图像传送处理模块具有,
在进行图像的描绘时取得并传送由上述钩挂处理模块描绘在上述传送用图像存储区域的图像的通常传送模式、以及
在上述图像的描绘停止后取得并传送由上述描绘模块描绘在上述帧存储器中的图像的再传送模式。
按照该结构,由于具有在图像的描绘停止后取得并传送由描绘模块描绘在帧存储器中的图像的再传送模式,所以即使在通常传送模式中传送了图像质量稍差的图像的情况下,也能够在描绘停止后传送高质量的图像。
另外,也可以是,上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
在上述通常传送模式中,将传送结束的上述第1变化区域作为再传送区域设定,将表示该再传送区域的再传送区域信息写入上述通用存储器内,
在上述再传送模式中,从上述帧存储器取得并传送与上述再传送区域的至少一部分相当的图像部分。
按照该结构,即使在根据特定的描绘命令由钩挂处理模块描绘在传送用图像存储区域内的图像和根据相同的描绘命令由描绘模块描绘在帧存储器内的图像之间存在差异的情况下,也能够在描绘停止后正确地传送帧存储器内的图像。
此外,也可以是,与上述再传送区域的至少一部分相当的图像部分是与上述再传送区域中的指定尺寸的区域相当的图像部分;
上述图像传送处理模块,在上述再传送模式中传送与上述再传送区域中的指定尺寸的区域相当的图像部分并且从上述再传送区域中删除上述指定尺寸的区域。
按照该结构,由于以每个指定尺寸的区域的方式再传送图像,所以能够缩短1次的再传送处理所需要的时间。此外,由于在数次的再传送模式的传送处理的过程中,当开始了描绘时能够迅速地返回通常传送模式,所以不会使由通常传送模式进行的处理过度地延迟。
也可以是,上述描绘模块进一步具有将表示作为在上述帧存储器内描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,在上述通常传送模式中,
(i)参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器中取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分,
(ii)不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第1变化区域相当的图像部分,
(iii)将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
虽然第2变化区域中未包含在第1变化区域中的区域是钩挂处理模块未描绘的区域,但由于该区域的图像从帧存储器取得,所以能够毫无损失地传送图像。
也可以是,上述再传送模式,包含在从上述图像的描绘停止开始经过指定的期间后取得并传送上述帧存储器内的全画面区域的图像的全画面再传送模式。
按照该结构,在图像的描绘停止后能够可靠地传送帧存储器内的全画面区域的图像。
也可以是,上述图像传送处理模块,在上述全画面再传送模式中,将上述全画面区域划分为指定尺寸的多个划分区域,通过在每1次传送处理中传送从上述多个划分区域中依次地选择的1个划分区域的图像完成上述全画面区域的图像的传送。
按照该结构,由于以每个指定尺寸的划分区域的方式再传送图像,所以能够缩短1次传送处理所需要的时间。此外,由于在全画面再传送模式中,在经过多次进行的传送处理的过程中,当开始了描绘时能够迅速地返回通常传送模式,所以不会使由通常传送模式进行的处理过度地延迟。
也可以是,上述图像传送处理模块,还具有:
将在上述通常传送模式中传送的图像,利用从包括图像劣化相对大的第1压缩方法、以及图像劣化相对小的第2压缩方法的多个压缩方法中选择的压缩方法进行压缩的功能;
将在上述通常传送模式中用上述第1压缩方法压缩并传送的图像的区域登录成作为在上述再传送模式中传送的图像的区域的再传送区域的功能;以及
在上述再传送模式中,将上述再传送区域内的图像用上述第2压缩方法进行图像压缩并传送的功能。
按照该结构,由于在再传送模式中用图像劣化小的压缩方式压缩并传送在通常传送模式中用图像劣化大的压缩方法压缩并传送的图像,所以能够在描绘停止后传送高质量的图像。
另外,本发明能够用各种方式来实现,例如,能够用图像显示系统、构成图像显示系统的图像供给装置和图像显示装置、在图像供给装置上利用的钩挂处理模块和图像传送处理模块、图像供给方法、用于实现这些方法或者装置的计算机程序、存储有这些计算机程序的存储媒体等的各种方式来实现。
以下通过附图所示的优选的实施例的说明可以看出本发明的上述和其它的目的、特征、方式、以及优点。
附图说明
图1是表示作为本发明的一个实施例的图像显示系统的结构的说明图。
图2是表示计算机和投影机的内部结构的方框图。
图3是表示比较例子中的计算机的软件和硬件的分层结构的说明图。
图4是表示实施例1中的变化区域信息和图像数据存储区域的例子的说明图。
图5是表示画面更新消息的结构的说明图。
图6是表示实施例1中的计算机的软件和硬件的分层结构的说明图。
图7是表示实施例1中的钩挂(hook)处理模块和VNC服务器的动作的流程图。
图8是表示多个变化区域和画面更新区域的关系的说明图。
图9是表示作为本发明的实施例2的图像显示系统的结构的说明图。
图10是表示实施例2中的变化区域信息和图像数据存储区域的例子的说明图。
图11是表示实施例2的画面更新消息的结构的说明图。
图12是表示实施例2的动作的说明图。
图13是表示实施例3中的变化区域信息和图像数据存储区域的例子的说明图。
图14是表示实施例3中的计算机的软件和硬件的分层结构的说明图。
图15是表示实施例3中的钩挂处理模块和VNC服务器的动作的流程图。
图16是表示实施例3中的多个变化区域和画面更新区域的关系的说明图。
图17是表示没有利用传送标志106c时的问题的例子的说明图。
图18是表示实施例4中的计算机的软件和硬件的分层结构的说明图。
图19是表示实施例4中的钩挂处理模块和VNC服务器的动作的流程图。
图20是表示实施例4中的步骤S20的详细步骤的流程图。
图21是表示实施例4中的变化区域和画面更新区域的关系的说明图。
图22是表示画面更新区域的最优化处理的内容的说明图。
图23是表示实施例4中的步骤S22的详细步骤的流程图。
图24是表示在实施例5中的变化区域和画面更新区域的关系的说明图。
图25是表示实施例6中的计算机的软件和硬件的分层结构的说明图。
图26是表示实施例6中的2个变化区域信息A1、A2和传送履历信息HA1的例子的说明图。
图27是表示实施例6中的钩挂处理模块和VNC服务器的动作的流程图。
图28是表示实施例6中的步骤S20的详细步骤的流程图。
图29是表示实施例6中的变化区域和画面更新区域的关系的说明图。
图30是表示画面更新区域的最优化处理的内容的说明图。
图31是表示实施例6中的步骤S22的详细步骤的流程图。
图32是表示实施例6的时刻t1的变化区域和履历区域和画面更新区域的关系的说明图。
图33是表示实施例6中的2个变化区域信息A1、A2和传送履历信息HA1的另一个例子的说明图。
图34是表示实施例6的时刻t10和时刻t11的画面更新区域的说明图。
图35是表示实施例7中的变化区域和画面更新区域的关系的说明图。
图36是表示实施例7中的2个变化区域信息A1、A2和传送履历信息化HA1的另一个例子的说明图。
图37是表示实施例7的时刻t20和时刻t21的画面更新区域的说明图。
图38是表示实施例8中的计算机的软件和硬件的分层结构的说明图。
图39是表示2个变化区域信息A1、A2和再传送区域信息RS的例子的说明图。
图40是表示实施例8中的钩挂处理模块和VNC服务器的动作的流程图。
图41是表示实施例8中的步骤S20的详细步骤的流程图。
图42是表示时刻t100的变化区域和再传送区域和画面更新区域的关系的说明图。
图43是表示画面更新区域的最优化处理的内容的说明图。
图44是表示实施例8中的步骤S22的详细步骤的流程图。
图45是表示实施例8中的步骤S24的详细步骤的流程图。
图46是表示步骤S314的详细步骤的流程图。
图47是表示再传送处理的内容的说明图。
图48是表示实施例9中的步骤S20(画面更新区域确定处理)的详细步骤的流程图。
图49是表示实施例9中的步骤S314a(再传送处理)的详细步骤的流程图。
图50是表示步骤S414、S416(全画面再传送处理)的内容的说明图。
图51是表示实施例10中的步骤S24(图像数据变换处理)的详细步骤的流程图。
图52是表示实施例10中的变化区域RA1、RA2和再传送区域RRS的关系的一例的说明图。
具体实施方式
下面,按照以下顺序说明本发明的实施方式。
A.实施例1
B.实施例2
C.实施例3
D.实施例4
E.实施例5
F.实施例6
G.实施例7
H.实施例8
I.实施例9
J.实施例10
K.变形例
A.实施例1
图1是表示作为本发明的一个实施例的图像显示系统的结构的说明图。本实施例的图像显示系统10具备作为图像供给装置的个人计算机100、作为图像显示装置的投影机200、以及连接计算机100和投影机200的网络300。计算机100经由网络300向投影机200供给图像,具有使投影机200投影图像显示在投影显示画面70上的功能。
图2是表示计算机100和投影机200的内部结构的方框图。计算机100具备:CPU102、ROM104、作为通用存储器(也称为“系统存储器”)的RAM16、硬盘驱动器108、由键盘或指示装置等构成的输入部110、网络接口部112、作为帧存储器的VRAM114、图形控制器116、液晶显示器等的显示装置118、连接这些各要素的总线120。
在RAM106中存储了包括应用程序112、图形设备接口(GDI:GraphicsDevice Interface)124、显示器驱动器126、投影机驱动器128、作为图像传送处理模块的VNC服务器130的各种计算机程序。另外,GDI124、显示器驱动器126、投影机驱动器128作为操作系统的一部分发挥功能。另外,在本实施例中,假设由微软公司提供的Windows(注册商标)作为操作系统。这样的各种计算机程序以存储在软盘和CD-ROM等的计算机能够读取的存储媒体上的方式提供。
投影机200具备:CPU202、ROM204、RAM206、包含各种操作按钮的输入部210、网络接口部212、图像处理部214、包含光源灯和液晶面板和投影光学系统的投影部216、连接这些各要素的总线218。在ROM204种存储了包括图像处理驱动器228、VNC客户程序230的各种计算机程序。
以下在说明实施例1中的计算机100的功能前,首先作为比较例子说明使用VNC服务器的现有的计算机的功能。
图3是表示比较例子中的计算机的软件和硬件的分层结构的说明图。应用程序122和VNC服务器130属于应用程序层(也称为“用户应用程序层”)。GDI124和显示器驱动器126和投影机驱动器128属于核心层。此外,作为通用存储器的RAM106、网络接口部112、VRAM114、图形控制器116、显示装置118属于硬件层。
在实施例1中,对于作为应用程序122使用演示程序(例如微软公司的PowerPoint)的情况进行说明。
应用程序122对于GDI124发出各种描绘请求。GID124是统一管理对显示装置(计算机100的显示装置118或投影机200)或打印装置(未图示)等的描绘的计算机程序。如人们所知,GDI124对于各种应用程序提供与称为“GDI函数”的描绘有关的应用程序接口(API:ApplicationProgram Interface:应用程序接口)。另外,所谓API通常是指用于应用程序利用操作系统所具有的各种功能的手续的集合。
应用程序122对于GDI124发出例如包含在演示文件中的演示图表的图像描绘请求。通常,在描绘请求中还包含与图像的输出目的地有关的信息(即,指定将图像输出到显示装置还是输出到打印装置的信息)。
另外,代替GDI124也可以使用其它通用的描绘用API。所谓“通用的描绘用API”表示对于多个应用程序共用的API。
GDI124、显示器驱动器126、投影机驱动器128全部作为按照描绘命令执行描绘处理的描绘模块发挥功能。具体地说,GDI124接收从应用程序122发出的描绘请求,根据该描绘请求核查图像的输出目的地,如果该输出目的地是显示装置,则分别对于显示器驱动器126和投影机驱动器128传递描绘请求。
显示器驱动器126根据取得的描绘请求在VRAM114内描绘图像数据。另外,如人们所知,作为描绘请求,并不只限于描描绘面的整体,也多用于描描绘面的一部分。当接收到描描绘面的一部分的描绘命令时,显示器驱动器126在VRAM114内只描绘成为描绘对象的区域(也称为“变化区域”)的图像部分。图形控制器116根据在VRAM114内描绘的图像数据(即,位图数据),在显示装置118上显示图像。另一方面,投影机驱动器128根据从GDI124接收到的描绘请求,将表示VRAM114内的描绘对象区域(即变化区域)的位置和尺寸的变化区域信息106a写入RAM106内。
图4(A)、(B)是表示RAM106内的变化区域信息106a和图像数据存储区域106b的例子的说明图。在此,假设用投影机投影表示的图像如图4(A)至图4(B)所示那样变化的例子。如后述,在图像数据存储区域106b中存储利用VNC服务器130从VRAM114传送的图像数据。优选地图像数据存储区域106b具有与VRAM114(帧存储器)相同的数据容量。
变化区域Ra是由从图4(A)到图4(B)变更图像时的描绘命令描绘的图像部分的区域。与该变化区域Ra有关的变化区域信息106a包括变化区域Ra的基准点(通常是左上点)的x坐标Xa和y坐标Ya、变化区域Ra的宽度Wa和高度Ha。另外,基准点的坐标(Xa、Ya)是表示变化区域Ra的位置的数据,宽度Wa和高度Ha是表示变化区域Ra的尺寸的数据。
VNC服务器130参照RAM106内的变化区域信息106a,将变化区域Ra的图像数据从VRAM114传送到RAM106内的图像数据存储区域106b。该图像数据存储器区域106b,例如是与计算机100或者投影机200的显示分辨率相等的尺寸的存储器区域。VNC服务器130进一步从图像数据存储器区域106b中读出变化区域Ra的图像数据,生成包含变化区域Ra的变化区域信息106a和图像数据的画面更新消息。
图5是表示画面更新消息的结构的说明图。该画面更新消息遵循VNC协议规定的帧缓冲器更新“Framebuffer Update”的结构。画面更新消息具有表示消息的种类的消息首部和表示信息的参数的参数部。
在消息首部中包含表示消息的种类的消息类型(1字节)和表示变化区域的数量的变化区域数(2字节)。表示画面更新消息的消息类型的数据值是“0”。变化区域数的数据值通常设定为“1”。但是,当在RAM106内与多个变化区域有关的变化区域信息106a因未处理而保留的情况下,也可以以画面更新消息包含与这些多个变化区域有关的信息(变化区域信息和图像数据)方式构成画面更新消息。也将包含在画面更新消息中的变化区域信息称为“画面更新区域信息”。另外,所谓消息类型数据和变化区域数数据由1字节的填充字节区分。
在参数部中包含变化区域的基准点的x坐标(2字节)和y坐标(2字节)、变化区域的宽度(2字节)和高度(2字节)、变化区域的图像数据传送时的编码格式(4字节)、变化区域的图像数据(n字节)。作为编码格式使用JPEG格式(数据值“7”)等的预先确定的格式。
VNC服务器130经由网络接口部112将这样生成的画面更新消息传送到投影机200。
这样,在图3所示的比较例子中,在首先将存储在VRAM114中的图像数据传送到作为通用存储器的RAM106后,将RAM106内的图像数据传送到投影机200。因此,为了从VRAM114传送到RAM106需要相当长时间,从而会出现无法获得充分的传送速度的情况。
图6是表示实施例1中的计算机的软件和硬件的分层结构的说明图。与图3所示的比较例子不同点在于,在应用程序122和GDI124之间追加了钩挂处理模块400,其它结构与图3相同。钩挂处理模块400对应用程序122发出的特定的描绘命令进行钩挂(hook)并先行取得,执行后述的处理。其它描绘命令按通常的方式由GDI124进行处理。另外,优选地钩挂处理模块400以只钩挂与应用程序122对应的适当的特定描绘命令的方式构成为各应用程序专用。
另外,虽然钩挂处理模块400也可以认为是一种描绘用API,但区别于GDI124那样的通用的描绘用API。即,相对于钩挂处理模块400以典型地只处理特定的描绘命令的方式构成,在GDI124以处理所有的描绘命令的方式构成这一点上不同。
钩挂处理模块400例如作为DLL(动态链接程序库)被装载(装入)到应用程序122中。通常,应用程序以“处理”这样的单位进行动作。此外,在应用程序的执行中,在该处理内装载多个模块(GDI32.DLL或Kernel32.DLL等),通过应用程序利用这些模块内的函数执行各种动作。所谓钩挂处理模块400的“装载”,表示在应用程序122的处理内组装装载了钩挂程序的模块400。
在装载钩挂处理模块400时,从应用程序122发出的特定的描绘命令的函数地址被替换为用于执行装载在钩挂处理模块400内的独立功能的另一函数的地址。在该独立功能的函数内,执行变化信息和图像数据向RAM的写入处理(后面叙述),其后,执行通常的GDI函数。在卸载钩挂处理模块400时,在将装载时替换的函数地址复原后,卸载被装载在处理内的钩挂处理模块400。
另外,钩挂处理模块400能够根据需要在任何时候装载在应用程序122中,或者卸载。但是,优选地以在VNC服务器130起动时在动作中的特定的应用程序122(在本实施例中是演示程序)中装载钩挂处理模块400,此外在结束VNC服务器130时卸载钩挂处理模块400的方式构成VNC服务器130。这样,由于能够只在VNC服务器130执行期间使钩挂处理模块400动作,所以能够避免在计算机100上没有执行(未起动)VNC服务器130时钩挂描绘命令而产生不期望的结果。另外,在本说明书中,在“计算机100上执行VNC服务器130”这段文字表示起动了VNC服务器130的处理。
图7是表示实施例1中的钩挂处理模块400和VNC服务器130的动作的流程图。步骤S10~S16由钩挂处理模块400执行,步骤S20~S26由VNC服务器130定期地执行。
当从应用程序122发出了特定的描绘命令时,钩挂处理模块400在步骤S10中钩挂该描绘命令,代替GDI124而取得该描绘命令。另外,优选地钩挂处理模块400所钩挂的描绘命令不是全部的描绘命令,而只限定为有限的特定的描绘命令。其原因是由于应用程序122所发出的描绘命令有很多,所以如果钩挂其所有的命令,反而会使处理速度降低,往往会有无法进行所期望的描绘的可能。
在步骤S12中,执行根据取得的描绘命令登录变化区域信息的处理。具体地说,钩挂处理模块400按照描绘命令取得进行描绘的区域(图4(B)的变化区域Ra)的位置和尺寸,执行将表示该变化区域的变化区域信息106a直接写入RAM106中的处理。
在步骤S14中,执行变化区域Ra的图像数据的写入处理。具体地说,钩挂处理模块400按照描绘命令展开变化区域Ra内的图像数据,执行将该图像数据直接写入RAM106内的图像数据存储区域106b中的处理。
在步骤S16中,钩挂处理模块400按照在步骤S10中取得的描绘命令调用通常的GDI函数执行描绘处理。另外,显示器驱动器126和投影机驱动器128(图6)与图3所示的比较例子一样,按照从GDI124接收到的描绘命令执行各自的处理。但是,在本实施例中,VNC服务器130构成为不使用由投影机驱动器128生成的变化区域信息。在图6中,在投影机驱动器128的前后用虚线画出箭头表示此意思。
另一方面,VNC服务器130在步骤S20中确定应该传送到投影机200的图像数据的区域(称为“画面更新区域”)。具体地说,VNC服务器130取得RAM106内的变化区域信息106a(图4(B)),将变化区域Ra作为画面更新区域确定。但是。当在RAM106内存在与多个变化区域有关的未处理的变化区域信息106a时,将相当于多个变化区域的和区域的区域作为画面更新区域确定。
图8是表示多个变化区域与画面更新区域的关系的说明图。其中,如图8(A)所示,考虑存在相互重叠的2个变化区域R1、R2的情况。此时,首先如图8(B)所示,将变化区域R1、R2的和区域分割成相互不重叠的相邻的矩形区域R11~R13。然后,将这些矩形区域R11~R13的集合作为画面更新区域采用。如果使用这样的画面更新区域R11~R13,则由于能够避免重复传送变化区域R1、R2重叠部分的图像数据,所以能够减少数据传送量。另外,当多个变化区域相互不重叠时,将它们原样地作为画面更新区域使用。
在步骤S22中,在RAM106的图像数据存储器区域106b中,取得与画面更新区域相当的图像部分的图像数据。然后,在步骤S24中,按照预先确定的编码格式变换该图像数据。在步骤S26中,生成包含这样变换的图像数据和变化区域信息的画面更新消息(图5),并经由网络接口部112传送到投影机200。
当投影机200的网络接口部212(图2)接收了经由网络300供给的通信数据时,则取出包含在该通信数据中的画面更新消息,传递给VNC客户程序230。VNC客户程序230将包含在画面更新消息中的图像数据传递给图像处理驱动器228。图像处理驱动器228按照该图像数据控制图像处理部214,由图像处理部214在图像处理部214内的显示存储器(未图示)中使图像数据展开。其结果,如图1所示,投影机200能够在投影显示画面70上显示图像。
这样,在实施例1中,钩挂处理模块400对特定的描绘命令进行钩挂并先行取得,执行将变化区域的图像数据直接写入RAM106的处理。其结果,在图3所示的比较例子中能够节省从VRAM114对RAM106的图像数据的传送所需要的时间。其结果,具有能够充分地加快向投影机200传送图像数据时的传送速度的优点。
另外,通常使用的个人计算机,大多是相对于从RAM106向VRAM114的数据传送能够极其高速地执行,而从VRAM114向RAM106的数据传送只能以低几倍的速度执行的体系结构。在实施例1中,由于能够减少低速的从VRAM向RAM的数据传送,所以能够大幅度地减少为向投影机200传送图像数据所需要的时间。
B.实施例2
图9是表示作为本发明的实施例2的图像显示系统的结构的说明图。在实施例2中,作为应用程序对使用能够进行动图像重放(Replay)的动图像重放程序(例如微软公司的Windows Media Player)的情况进行说明。实施例2的特征是,能够将经由网络300传送到投影机200的图像尺寸与在投影显示画面70上实际显示的图像的尺寸设定成不同的尺寸。
实施例2的硬盘和软件的结构与图2和图6所示的实施例1的结构相同。实施例2与实施例1的差异有以下3点。
(1)在实施例2中使用了适合于钩挂动图像重放程序的特定的描绘命令的钩挂处理模块400。
(2)存储在RAM106内的变化区域信息与图像数据不同。
(3)画面更新消息的结构不同。
图10表示实施例2中的变化区域信息106a和图像数据存储区域106b的例子。在此,假设使用动图像重放程序在动图像区域内重放动图像。钩挂处理模块400根据从动图像重放程序以指定的时间间隔依次发出的描绘命令描绘图像数据存储区域106b内的动图像区域的图像。
用户通过在应用程序122上指示图像的放大/缩小率能够放大或者缩小动图像使其显示在计算机100和投影机200上。但是,即使在放大或者缩小动图像的情况下,钩挂处理模块400也继续向RAM106内的图像数据存储区域106b写入原尺寸的图像数据的处理。
实施例2中的变化区域信息106a是在图5所示的实施例1的变化区域信息的内容之外追加了变化区域Ra(动图像区域)的图像类型、放大/缩小后的图像宽度和高度的信息。其中,所谓“图像类型”是表示变化区域Ra的图像在显示时是放大还是缩小的参数。例如,在计算机100和投影机200的画面上,当动图像比原尺寸(即变化区域的Ra的尺寸)放大或者缩小显示的情况下将图像类型的值设定为“1”,当以等倍显示的情况下将图像类型的值设定为“0”。放大/缩小后的图像的宽度和高度表示放大或者缩小显示时的图像的尺寸。例如,在放大到2倍的情况下,放大/缩小后的宽度和高度分别是变化区域Ra的宽度Wa和高度Ha的2倍。
另外,在实施例2的变化区域信息106a中追加的信息(图像类型、放大/缩小后的宽度和高度)是表示在投影机200上投影显示的图像尺寸的尺寸信息。即,实施例2的变化区域信息106a包含表示变化区域Ra的位置和尺寸的变化区域信息、表示放大/缩小后的图像尺寸的尺寸信息,可以认为是表示传送到投影机200的显示图像区域位置和尺寸的信息。因此,可以将实施例2的变化区域信息称为“传送区域信息”。
图11是表示实施例2中从VNC服务器130传送到投影机200的画面更新消息的结构的说明图。该画面更新消息是在图5所示的实施例1的画面更新消息的内容中追加了变化区域Ra的图像类型、放大/缩小后的图像的宽度和高度的信息。
投影机200接收该画面更新消息,以用放大/缩小后的宽度和高度表示的尺寸将动图像显示在投影显示画面70上。此时,当包含在画面更新消息中的图像类型表示等倍图像(数据值“0”)时,将包含在画面更新消息中的图像数据原样地展开在投影机内的显示存储器中。另一方面,当图像类型表示放大/缩小图像(数据值“1”)时,将包含在画面更新消息中的图像数据放大或者缩小为指定的宽度和高度,展开在显示存储器中。投影机200的图像处理部214根据在显示存储器中展开的图像数据(即,位图数据)驱动投影部216,能够由投影部216投影显示图像。
图12(A)、(B)是表示实施例2的图像显示系统的动作的说明图。在实施例2中,如图12(A)所示,当在计算机100的显示画面60上显示动图像MVn时,该动图像MVn的各帧的图像数据MV-D经由网络300发送,在投影机200的投影显示画面70上显示该动图像MVn。并且,如图12(B)所示,当用户设定放大率在显示画面60上使放大动图像MVs显示时,在投影机200的投影显示画面70上也显示放大动图像MVs。此时,从计算机100经由网络300发送的放大动图像MVs的各帧的图像数据并不是放大了各帧的图像数据MV-D的图像数据,而是放大前的各帧的图像数据MV-D。其结果,经由网络300实际传送的数据量比传送放大后的图像数据的情况少即可,从而能够抑止网络通信量的增大,能够大幅度地改善响应。其结果,在放大显示动图像的情况下,能够防止过度减少动图像的帧数,从而能够光滑地显示动图像。
C.实施例3
图13(A)~(C)是表示实施例3中假设的RAM106内的变化区域信息106a和图像数据存储区域106b的例子的说明图。整体的装置结构与在实施例1中说明的图1和图2所示的结构相同。在此,假设脸的图像如图13(A)~图13(C)所示那样依次地向左移动的例子。这样的图像的移动使用例如在演示程序预先准备的动画效果来实现。在比较例(图3)中,在图像数据存储区域106b中存储了利用VNC服务器130从VRAM114传送的图像数据。
图13(B)所示的变化区域Ra是图像从图13(A)移动到图13(B)的状态时的由描绘命令描绘的图像部分的区域。与该变化区域Ra有关的变化区域信息106a包含变化区域Ra的基准点(通常是左上点)的x坐标Xa和y坐标Ya、变化区域Ra的宽度Wa和高度Ha。另外,基准点的坐标(Xa、Ya)是表示变化区域Ra的位置的数据,宽度Wa和高度Ha是表示变化区域Ra的尺寸的数据。
图13(C)所示的变化区域Rb是图像从图13(B)移动到图13(C)的状态时的由描绘命令描绘的图像部分的区域。该变化区域Rb的变化区域信息106a也由表示变化区域Rb的位置的数据Xb、Yb和表示尺寸的数据Wb、Hb构成。
例如,在图13(B)所示的时刻t2的状态下,VNC服务器130参照RAM106内的变化区域信息106a将变化区域Ra的图像数据从VRAM114传送到RAM106内的图像数据存储区域106b。该图像数据存储器区域106b例如是与计算机100或者投影机200的显示分辨率相等的尺寸的存储器区域。VNC服务器130进一步从图像数据存储区域106b读出变化区域Ra的图像数据,生成包含变化区域Ra的变化区域信息106a和图像数据的画面更新消息。在图13(C)的时刻t3也执行同样的处理。
VNC服务器130将这样生成的画面更新消息经由网络接口部112传送到投影机200。
这样,在图3所示的比较例中,在将暂时存储在VRAM114中的图像数据传送到作为通用存储器的RAM106后,将在RAM106内的图像数据传送到投影机200。因此,为了从VRAM114传送到RAM106需要相当长的时间,因而会存在无法获得充分的传送速度的情况。
图14是表示实施例3中的计算机的软件和硬件分层结构的说明图。与图3所示的比较例子不同之处在于,在应用程序122与GDI124之间追加了钩挂处理模块400、在RAM106内设定了传送标志106c,其它结构与图3相同。与图6所示的实施例1的差异在于追加了传送标志106c,其它结构与实施例1相同。
图15是表示实施例3中的钩挂处理模块400和VNC服务器130的动作的流程图。步骤S100~S140由钩挂处理模块400执行,步骤S200~S250由VNC服务器130定期地执行。钩挂处理模块的步骤S100、S120、S130、S140是与图7的步骤S10、S12、S14、S16大致相同的处理,在图15中追加了步骤S110。VNC服务器的步骤S210、S220、S230、S250是与图7的步骤S20、S22、S24、S26大致相同的处理,在图15中追加了步骤S200、S240。
钩挂处理模块400,当从应用程序122发出特定的描绘命令时,在步骤S100中钩挂该描绘命令,代替GDI124取得该描绘命令。
在步骤S110中,判断RAM106内的传送标志106c(图14)是否处于OFF状态。该传送标志106c是在VNC服务器130执行指定的图像传送用处理(后面叙述的步骤S210~S230)中设定为ON状态的标志。当传送标志106c处于ON状态时,钩挂处理模块400直至传送标志106c变为OFF状态而进行等待。在该等待中,钩挂处理模块400以每固定时间为单位确认传送标志106c。当传送标志106c变为OFF状态时,则开始迁移到步骤S120的处理。
在步骤S120中,执行根据取得的描绘命令登录变化区域信息的处理。具体地说,钩挂处理模块400按照描绘命令取得进行描绘的区域(例如图13(B)的变化区域Ra)的位置和尺寸,执行将表示该变化区域的变化区域信息106a直接写入RAM106的处理。
在步骤S130中,执行变化区域的图像数据的写入处理。具体地说,在图13(B)所示的时刻t2,钩挂处理模块400按照描绘命令展开变化区域Ra内的图像数据,执行将该图像数据直接写入RAM106内的图像数据存储区域106b的处理。
在步骤S140中,钩挂处理模块400按照在步骤S100取得的描绘命令调用通常的GDI函数执行描绘处理。另外,显示器驱动器126和投影机驱动器128(图14)与图3所示的比较例子一样,按照从GDI124接收到的描绘命令执行各自的处理。但是,在实施例3中,VNC服务器130构成为不使用由投影机驱动器128生成的变化区域信息。在图14中,在投影机驱动器128前后用虚线画出箭头表示此意思。
另一方面,VNC服务器130首先在步骤S200中将传送标志106c切换为ON状态,开始以下说明的步骤S210~S230的处理(称为“图像传送用处理”)。
VNC服务器130在步骤S210中确定应该传送到投影机200的图像数据的区域(称为“画面更新区域”)。具体地说,例如在图13(B)的时刻t2的状态,VNC服务器130取得RAM106内的变化区域信息106a,将变化区域Ra作为画面更新区域确定。但是,当在RAM106内存在与多个变化区域有关的未处理的变化区域信息106a的情况下,将相当于多个变化区域的和区域的区域作为画面更新区域确定。
图16是表示多个变化区域与画面更新区域的关系的说明图。其中,如图16(A)所示,考虑存在相互重叠的2个变化区域R1、R2的情况。此时,首先如图16(B)所示,将变化区域R1、R2的和区域分割成相互不重叠的相邻的矩形区域R11~R13。然后,将这些矩形区域R11~R13的集合作为画面更新区域采用。如果使用这样的画面更新区域R11~R13,则由于能够避免重复传送变化区域R1、R2重叠部分的图像数据,所以能够减少数据传送量。另外,在多个变化区域相互不重叠的情况下,将它们原样地作为画面更新区域使用。
在步骤S220中,在RAM106的图像数据存储区域106b中,取得与图像更新区域相当的图像部分的图像数据。然后,在步骤S230中,按照预先设定的编码格式变换该图像数据。
当步骤S210~S230中的图像传送用处理结束后,在步骤S240中,VNC服务器130将传送标志106c切换为OFF状态。然后,在步骤S250中,生成包含变换的图像数据和变化区域信息的画面更新消息(图5),经由网络接口部112传送到投影机200。
在由VNC服务器130执行步骤S210~S230的图像传送用处理期间,由于传送标志106c维持ON状态,所以钩挂处理模块400不能执行与描绘命令对应的处理(步骤S120~S140)而处于等待的状态。关于该优点后面叙述。
在图15的步骤中,使用传送标志106c协调钩挂处理模块400和VNC服务器130的处理的理由如下。图17表示没有利用传送标志106c时的问题的例子。在此,假设VNC服务器130取得图13(B)所示的时刻t2的变化区域信息106a(变化区域Ra的信息),其后,在VNC服务器130从图像数据存储区域106b取得图像数据之前由钩挂处理模块400将图像存储区域106b内的图像改写为图13(C)所示图像的状态。当没有利用传送标志106c而钩挂处理模块400和VNC服务器130分别非同步地执行处理时,会产生这样的问题。虽然VNC服务器130从图像数据存储区域106b取得变化区域Ra的图像数据,而此时图像数据存储区域106b内的图像数据如图13(C)所示已被改写。因此,由VNC服务器130取得的传送到投影机200并显示在投影显示画面70上的图像成为图17所示的图像。可以看出按照时刻t2的变化区域信息106a原本应该显示的图像是图13(B)所示的图像,而图17的图像是不想要的图像。
这样,当不利用传送标志106c时,由于钩挂处理模块400和VNC服务器130非同步地(即相互独立地)执行处理,所以可能会出现传送了与原本应该传送的图像部分不同的图像部分的问题。对此,按照图15所示的处理步骤,在VNC服务器130执行图像传送用处理的期间传送标志维持在ON状态,因而不会由于钩挂处理模块400改写图像数据存储区域106b内的图像数据。因此,能够防止上述问题的发生。
这样,在实施例3中,钩挂处理模块400也是钩挂并先行取得特定的描绘命令,执行将变化区域的图像数据直接写入RAM106的处理。其结果,能够节省图3所示的比较例子中从VRAM114向RAM106传送图像数据所需要的时间。其结果,具有能够充分地加快向投影机200传送图像数据时的传送速度的优点。此外,由于使用传送标志106c使钩挂处理模块400与VNC服务器130的处理同步,所以能够防止传送错误的图像部分。
D.实施例4
图18是表示实施例4中的计算机的软件和硬件的分层结构的说明图。与图3所示的比较例子不同之处在于,在应用程序122和GDI124之间追加了钩挂处理模块400、在RAM106内存储了2种变化区域信息106a1和106a2(以下称为“变化区域信息A1、A2”),其它结构与图3相同。与图6所示的实施例1的不同之处在于,变化区域信息106a具有2个信息106a1、106a2,其它结构与实施例1相同。
图19是表示实施例4中的钩挂处理模块400和VNC服务器130的动作的流程图。步骤S10~S16由钩挂处理模块400执行,步骤S20~S26由VNC服务器130定期地执行。虽然处理的全部流程与图7所示的流程相同,但变更了VNC服务器的步骤S20、S22的内容(后面叙述)。
钩挂处理模块400,当从应用程序122发出了特定的描绘命令时,在步骤S10中钩挂该描绘命令,代替GDI124取得该描绘命令。
在步骤S12中,执行根据取得的描绘命令登录变化区域信息的处理。具体地说,钩挂处理模块400按照描绘命令取得进行描绘的区域(图4(B)的变化区域Ra)的位置和尺寸,执行将表示该变换区域的变化区域信息A1直接写入RAM106中的处理。
在步骤S14中,执行变化区域Ra的图像数据的写入处理。具体地说,钩挂处理模块400按照描绘命令展开变化区域Ra内的图像数据,执行将该图像数据直接写入RAM106内的图像数据存储区域106b中的处理。
在步骤S16中,钩挂处理模块400按照在步骤S10中取得的描绘命令调用通常的GDI函数执行描绘处理。另外,显示器驱动器126和投影机驱动器128(图18)与图3所示的比较例一样,按照从GDI124接收的描绘命令执行各自的处理。即,显示器驱动器126在VRAM114内描绘图像,投影机驱动器128将表示该描绘区域的变化区域信息A2写入RAM106内。
另一方面,VNC服务器130在步骤S20中确定应该传送到投影机200的图像数据的区域(称为“画面更新区域”)。图20是表示实施例4中的步骤S20的详细步骤的流程图。在步骤S30、S32中取得第1和第2变化区域信息A1、A2。如上所述,第1变化区域信息A1是表示由钩挂处理模块400在RAM106内的图像数据存储区域106b描绘的区域的信息,是由钩挂处理模块400写入RAM106内的信息。另一方面,第2变化区域信息A2是表示由显示器驱动器126在VRAM114内描绘的区域的信息,是由投影机驱动器128写入RAM106内的信息。
图21(A)表示用2个变化区域信息A1、A2表示的2个变化区域RA1、RA2一例。在此,将2个变化区域RA1、RA2配置在同一画面区域SCA内。其中,所谓“画面区域SCA”是指存储在VRAM114中的图像的全体区域,这与图像数据存储区域106b的全体区域相等。严格地说,虽然第1变化区域RA1是用图像数据存储区域106b内的地址定义的区域,第2变化区域RA2是用VRAM114内的地址定义的区域,但它们能够用相同的画面区域SCA表现。
另外,在图21(A)的例子中,虽然2个变化区域RA1、RA2部分重叠,但存在2个变化区域RA1、RA2形成除此之外的各种关系的情况。例如,还存在2个变化区域RA1、RA2完全不重叠的情况,还存在两者完全重合的情况。例如,在钩挂处理模块400按照特定的描绘命令进行描绘,其后,通常的描绘模块124、126、128按照相同的描绘命令进行相同区域描绘的情况下,则2个变化区域RA1、RA2成为相同。但是,在执行相同的描绘命令时,根据各模块的设定也有可能出现2个变化区域RA1、RA2存在一些差异的现象。
图21(B)表示VNC服务器130在图像传送时从RAM106直接取得图像的区域TG1,图21(C)表示从VRAM114取得图像的区域TG2。也将这些区域TG1、TG2称为“传送区域”。从该例子可以看出,第1变化区域RA1(=TG1)的图像从RAM106内直接取得。另一方面,在第2变化区域RA2之中未包含在第1变化区域RA1中的部分的区域TG2的图像从VRAM114中取得。这样进行区分的理由是因为尽可能减少从VRAM114取得的图像,从而减少该取得所需要的时间的缘故。例如,在2个变化区域RA1、RA2完全重合的情况下,由于不需要从VRAM114取得图像,所以能够高速地进行传送处理。图21(D)表示由VNC服务器130传送的区域全体(画面更新区域TTG)。该画面更新区域TTG相当于第1和第2变化区域RA1、RA2的和区域。
另外,会有在第1变化区域信息A1中包含与多个描绘命令对应的多个信息的情况。在这种情况下,这些多个描绘命令的描绘区域的和区域成为第1变化区域RA1。第2变化区域RA2也一样。
在图20的步骤S34中,计算由2种变化区域信息A1、A2表示的变化区域RA1、RA2的差。具体地说,在第2变化区域RA2中计算出不包含在第1变化区域RA1中的区域TG2(图21(C))。在步骤S36中执行画面更新区域TTG(图21(D))的最优化的处理。
图22是表示画面更新区域的最优化处理的内容的说明图。图22(A)表示与图21(D)相同的画面更新区域TTG。在最优化处理中,如图22(B)所示,将画面更新区域TTG分割为相互不重叠的相邻的矩形区域R11~R13。然后,采用这些矩形区域R11~R13作为最优化后的画面更新区域。由于各个画面更新区域R11~R13是矩形,所以与传送包含最优化前的画面更新区域TTG那样的矩形形状的图像的情况相比,能够减少传送的图像数据量。
在图19的步骤S22中,取得与画面更新区域相当的图像部分的图像数据。图23是表示实施例4中的步骤S22的详细步骤的流程图。在步骤S40中,核查第2传送区域TG2(图21(C))是否为空。当第2变化区域信息A2不存在时以及第2变化区域A2完全包含在第1变化区域A1中时,第2传送区域TG2为空。当第2传送区域TG2为空时,转移到后面叙述的步骤S44。另一方面,当第2传送区域TG2不为空时,执行步骤S42。在步骤S42中,VNC服务器130从VRAM114取得第2传送区域TG2的图像数据写入RAM106内的图像数据存储区域106b。其结果,处于在图像数据存储区域106b中图21(D)所示的画面更新区域TTG内的图像全部被存储的状态。在步骤S44中,VNC服务器130从RAM106的图像数据存储区域106b中取得画面更新区域TTG的图像数据。另外,实际取得的是最优化处理后的各个画面更新区域R11~R13(图22(B))的图像数据。
在图19的步骤S24中,按照预先设定的编码格式变换图像数据。在步骤S26中,生成包含这样变换的图像数据和变化区域信息的画面更新消息(图5),经由网络接口部112传送到投影机200。
这样,在实施例4中,也是钩挂处理模块400钩挂并先行取得特定的描绘命令,执行将变化区域的图像数据直接写入RAM106的处理。其结果,能够节省图3所示的比较例子中从VRAM114向RAM106传送图像数据所需要的时间。其结果,具有能够充分地加快向投影机200传送图像数据时的传送速度的优点。
此外,在上述实施例4中,没有由钩挂处理模块400描绘的区域TG2(图21(C))的图像部分,从VRAM114取得并传送到投影机200。其结果,由通常的描绘模块124、126、128描绘的图像也能够毫无损失地传送到投影机200。
E.实施例5
图24是表示实施例5中的变化区域与画面更新区域的关系的说明图,是与实施例4的图21对应的图。虽然实施例5的全部装置结构和处理流程与实施例4相同,但成为传送对象的区域与实施例4不同。具体地说,在实施例5中,从RAM106直接取得图像的第1传送区域TG1(图24(B))设定为第1和第2变化区域RA1、RA2重合的部分,换言之,第1传送区域TG1设定为在第2变化区域RA2中的也包含在第1变化区域RA1中的区域。另一方面,从VRAM114取得图像的第2传送区域TG2(图24(C))与实施例4一样设定为在第2变化区域RA2中的未包含在第1变化区域RA1中的部分。因此,作为传送对象的区域的全体的画面更新区域TTG(图24(D))与第2变化区域RA2相同。
这样,在实施例5中,作为由GDI124和显示器驱动器126在VRAM114内描绘的区域的第2变化区域RA2内的图像由VNC服务器130传送。这样进行处理的原因如下。即,因为由钩挂处理模块400钩挂处理的描绘命令,其后也由GDI124和显示器驱动器126再次执行,所以基本上所有的描绘命令由GDI124和显示器驱动器126执行。因此,只要传送第2变化区域RA2的图像,就能够在投影机200上显示正确的图像。但是,当此时从VRAM114中取得所有的图像数据时,会产生数据传送需要相当长的时间的问题。因此,在实施例5中,通过对于第2变化区域RA2中的包含在第1变化区域RA1中的部分从RAM106直接取得图像数据,缩短了数据取得所需要的时间。此外,在实施例5中,在传送的图像数据量比实施例4更少这一点上优选于实施例4。
另外,在很多情况下,由钩挂处理模块400描绘的区域(第1变化区域RA1)与由GDI124和显示器驱动器126描绘的区域(第2变化区域RA2)一致。因此,如实施例5,即使省略第1变化区域RA1中的未包含在第2变化区域RA2中的部分的图像传送,显示在投影机400上的图像产生不协调感的可能性也是能够忽略的程度。对此,在上述的实施例4中,由于第1变化区域RA1中的与第2变化区域RA2不重叠的部分也传送图像,所以假设在第1和第2变化区域RA1、RA2大不相同的情况下,也具有能够传送更加完全的图像的优点。
另外,VNC服务器130也可以构成为能够从包括实施例4的传送处理(也称为“第1传送模式”)和实施例5的传送处理(也称为“第2传送模式”)的多个传送模式中选择1个执行。传送模式的选择可以由用户进行,或者,也可以是VNC服务器130根据计算机100(一般是图像供给装置)的处理能力(CPU的处理速度或总线的传送速度等)自动地进行传送模式的选择。这样,能够选择能够以适当的传送速度传送理想的图像的传送模式。
F.实施例6
图25是表示实施例6中的计算机的软件和硬件的分层结构的说明图。与图3所示的比较例子不同之处在于在应用程序122和GDI124之间追加了钩挂处理模块400、在RAM106内存储了2种变化区域信息106a1和106a2(以下称为“变化区域信息A1、A2”)、以及在RAM106内存储了传送履历信息106d(以下称为“传送履历信息HA1”),其它结构与图3相同。与图18所示的实施例4的差异在于追加了传送履历信息106d,其它结构与实施例4相同。
图26是表示2个变化区域信息A1、A2和传送履历信息HA1的例子的说明图。图26(A-1)~(A-3)表示时刻t0的状态,图26(B-1)~(B-3)表示时刻t1的状态。假设VNC服务器130以指定的时间间隔重复执行传送处理,在时刻t0执行传送后在时刻t1执行下一次的传送。
图26(A-1)所示的第1变化区域信息A1表示由钩挂处理模块400(图25)在RAM106内的图像数据存储区域106b直接描绘的区域RA1(称为“变化区域RA1”)。将该变化区域RA1内的图像称为“图像G1”。第1变化区域信息A1由钩挂处理模块400写入RAM106内。图26(A-2)所示的第2变化区域信息A2表示由显示器驱动器126(图25)描绘在VRAM114内的区域RA2(称为“变化区域RA2”)。将该变化区域RA2内的图像称为“图像G2”。第2变化区域信息A2由投影机驱动器128写入RAM106内。图26(A-3)所示的传送履历信息HA1表示在先行的指定的期间由钩挂处理模块400直接描绘在图像数据存储区域106b的并由VNC服务器103传送的过去的第1变化区域RA1(称为“履历区域”)。在本实施例中,只将在之前的传送处理中成为传送对象的第1变化区域作为履历区域设定。但是,也可以将先行的多次传送处理中的变化区域作为履历区域。在时刻t0之前的传送处理中第1变化区域RA1不存在,因此,假设在时刻t0也未登录传送履历信息HA1。另外,传送履历信息HA1由VNC服务器130写入RAM106内。
另外,在图26的例子中表示将各区域配置在同一画面区域SCA内的状态。其中,所谓“画面区域SCA”表示存储在VRAM114中的图像的全体的区域,这与图像数据存储区域106b全体的区域相等。严格地说,虽然第1变化区域RA1是用图像数据存储区域106b内的地址定义的区域,第2变化区域RA2是用VRAM114内的地址定义的区域,但它们能够用相同的画面区域SCA表现。
如图26(B-1)~(B-3)所示,在时刻t1,第1变化区域信息A1不存在,第2变化区域信息A2是表示图像G1的区域(即,与时刻t0的第1变化区域RA1相同的区域)的信息。在这种状态下,该图像G1的描绘命令,在时刻t0之前由钩挂处理模块400钩挂处理,此后,在时刻t0和t1之间在由描绘模块124、126、128处理时产生。另外,如图26(B-3)所示,在时刻t1,时刻t0的第1变化区域信息A1作为传送履历信息HA1登录。在图26(B-3)中,为了便于图示,用单点划线画出履历区域RHA1。在以下说明的传送处理(VNC服务器130进行的处理)中,对这些时刻t0、t1的传送处理进行说明。
图27是表示实施例中的钩挂处理模块400和VNC服务器130的动作的流程图。步骤S10~S16由钩挂处理模块400执行,步骤S20~S26由VNC服务器130定期地执行。虽然处理的全部流程与图19所示的相同,但变更了VNC服务器的步骤S20、S22的内容(后面叙述)。
当从应用程序122发出特定的描绘命令时,钩挂处理模块400在步骤S10中钩挂该描绘命令,代替GDI124取得该描绘命令。
在步骤S12中,执行根据取得的描绘命令登录变化区域信息的处理。具体地说,钩挂处理模块400按照描绘命令取得进行描绘的区域(图26(A-1)的变化区域RA1)的位置和尺寸,执行将表示该变化区域的变化区域信息A1直接写入RAM106中的处理。
在步骤S14中,执行变化区域RA1的图像数据的写入处理。具体地说,钩挂处理模块400按照描绘命令展开变化区域RA1内的图像数据,执行将该图像数据直接写入RAM106内的图像数据存储区域106b中的处理。
在步骤S16中,钩挂处理模块400按照在步骤S10取得的描绘命令调用通常的GDI函数执行描绘处理。另外,显示器驱动器126和投影机驱动器128(图25)与图3所示的比较例子一样,按照从GDI124接收的描绘命令执行各自的处理。即,显示器驱动器126在VRAM114内描绘图像,投影机驱动器128将表示该描绘区域的变化区域信息A2写入RAM106内。
另一方面,VNC服务器130在步骤S20中确定应该传送到投影机200的图像数据的区域(称为“画面更新区域”)。图28是表示实施例6中的步骤S20的详细步骤的流程图。在步骤S50、S52中取得第1和第2变化区域信息A1、A2。如上所述,第1变化区域信息A1是表示由钩挂处理模块400描绘在RAM106内的图像数据存储区域106b中的区域的信息,是由钩挂处理模块400写入RAM106内的信息。另一方面,第2变化区域信息A2是表示由显示器驱动器126描绘在VRAM114内的区域的信息,是由投影机驱动器128写入RAM106内的信息。
图29(A)表示时刻t0的2个变化区域RA1、RA2和履历区域RHA1。但是,在时刻t0履历区域RHA1不存在。
另外,在图29(A)的例子中,虽然2个变化区域RA1、RA2部分重叠,但存在2个变化区域RA1、RA2形成除此之外的各种关系的情况。例如,还存在2个变化区域RA1、RA2完全不重叠的情况,还存在两者完全重合的情况。例如,在钩挂处理模块400按照特定的描绘命令进行描绘,其后,通常的描绘模块124、126、128按照相同的描绘命令进行相同区域描绘的情况下,则2个变化区域RA1、RA2成为相同。但是,在执行相同的描绘命令时,根据各模块的设定也有可能出现2个变化区域RA1、RA2存在一些差异的现象。
图29(B)表示在时刻t0时VNC服务器130在图像传送时从RAM106直接取得图像的区域TG1,图29(C)表示从VRAM114取得图像的区域TG2。将这些区域TG1、TG2也称为“传送区域”。从该例子可以看出,当传送履历HA1不存在时,第1变化区域RA1(=TG1)的图像从RAM106内直接取得,此外,第2变化区域RA2中的未包含在第1变化区域RA1中的部分的区域TG2的图像从VRAM114取得。这样区别的原因是为了尽可能减少从VRAM114取得的图像,以减少该取得所需要的时间。例如,当2个变化区域RA1、RA2完全重叠时,由于不需要从VRAM114取得图像,所以能够高速地进行传送处理。图29(D)表示在时刻t0由VNC服务器130传送的区域全体(画面更新区域TTG)。该画面更新区域TTG相当于第1和第2变化区域RA1、RA2的和区域。
另外,存在第1变化区域信息A1中包含与多个描绘命令对应的多个信息的情况。在这种情况下,这些多个描绘命令的描绘区域的和区域成为第1变化区域RA1。第2变化区域RA2也一样。
在图28的步骤S54中,计算用2种变化区域信息A1、A2表示的变化区域RA1、RA2的差。具体地说,计算出第2变化区域RA2中的未包含在第1变化区域RA1中的区域TG2(图29(C))。
在步骤S56中取得传送履历信息HA1,在步骤S58中计算履历区域RHA1与第2变化区域RA2的差。该步骤S58的处理是用于调整第2传送区域TG2(传送时从VRAM114取得图像的区域)的处理。由于在时刻t0传送履历信息HA1不存在,所以有关该处理内容根据在时刻t1的处理以后说明。在步骤S60中,废弃传送履历信息HA1,在步骤S62中,将第1变化区域信息A1作为传送履历信息HA1登录。其结果,时刻t0的第1变化区域信息A1能够作为下一时刻t1的传送履历信息HA1利用。
在步骤S64中,执行画面更新区域TTG(图29(D))的最优化处理。图30是表示画面更新区域的最优化处理的内容的说明图。图30(A)表示与图29(D)相同的画面更新区域TTG。在最优化处理中,如图30(B)所示,将画面更新区域TTG分割为相互不重叠的相邻的矩形区域R11~R13。然后,这些矩形区域R11~R13作为最优化后的画面更新区域采用。由于各个画面更新区域R11~R13是矩形,所以与传送包含最优化前的画面更新区域TTG那样的矩形形状的图像的情况相比,能够减少传送的图像数据量。
在图27的步骤S22中,取得与画面更新区域相当的图像部分的图像数据。图31是表示实施例6中的步骤S22的详细步骤的流程图。在步骤S70中,核查第2传送区域TG2(图29(C))是否为空。另外,如上所述,“第2传送区域TG2”是在画面更新区域TTG中从VRAM114取得图像数据的区域。当第2变化区域信息A2不存在时,以及当第2变化区域A2完全包含在第1变化区域A1和履历区域的和区域中时,第2传送区域TG2为空。当第2传送区域TG2为空时,转移到后述的步骤S74。另一方面,当第2传送区域TG2不为空时,执行步骤S72。在步骤S72中,VNC服务器130从VRAM114取得第2传送区域TG2的图像数据写入RAM106内的图像数据存储区域106b。其结果,处于在图像数据存储区域106b存储所有的图29(D)所示的画面更新区域TTG内的图像的状态。在步骤S74中,VNC服务器130从RAM106的图像数据存储区域106b中取得画面更新区域TTG的图像数据。另外,实际取得的是最优化处理后的各个画面更新区域R11~R13(图30(B))的图像数据。
在图27的步骤S24中,按照预先设定的编码格式变换图像数据。在步骤S26中,生成包含这样变换的图像数据和变化区域信息的画面更新消息(图5),经由网络接口部112传送到投影机200。
在时刻t1,也同样执行图27的步骤S20~S26的处理。但是,在时刻t1,如图26(B-1)~(B-3)所示,第1变化区域信息A1不存在,第2变化区域信息A2是表示图像G1的区域的信息,传送履历信息HA1也是表示图像G1的区域的信息。
图32是表示时刻t1的变化区域和履历区域和画面更新区域的关系的说明图。如图32(A)所示,第1变化区域RA1不存在,第2变化区域RA2与履历区域RHA1相同。此时,在图28的步骤S54的处理中,将第2变化区域RA2中的未包含在第1变化区域RA1中的部分作为第2传送区域TG2(图32(B))生成。此外,在图28的步骤S58的处理中,从该第2传送区域TG2中删除履历区域RHA1的部分。图32(D)表示该修正后的第2传送区域TG2’。在该例子中,由于第2变化区域RA2与履历区域RHA1相同,所以修正后的第2传送区域TG2’为空。另一方面,从第2传送区域TG2删除的区域追加在第1传送区域TG1(从RAM106直接取得图像的区域)中(图32(C))。在时刻t1,由于第2传送区域TG2’为空,所以不是从VRAM114取得图像,而是从图像数据存储区域106b直接取得并传送画面更新区域TTG(图32(E))内的图像的全体。
从图29和图32的例子可以看出,成为图像传送的对象的画面更新区域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取得的图像数据的量。
另外,当假设不使用传送履历信息HA1的情况时,则在时刻t1应该从VRAM114取得第2变化区域RA2的图像。对此,在本实施例中,能够不访问VRAM114而从RAM106内的图像数据存储区域106b直接取得该变化区域RA2的图像。其原因是由于该变化区域RA2在此前的时刻已由钩挂处理模块400直接描绘在图像数据存储区域106b中,所以即使不从VRAM114取得也能够从图像数据存储区域106b取得正确的图像。从该说明可以看出,在本实施例中,能够降低由于描绘命令的执行定时与图像的传送定时的偏差引起的必须从VRAM114取得大量的图像数据的可能性。
图33是表示2个变化区域信息A1、A2和传送履历信息HA1的其它例子的说明图。图33(A-1)~(A-3)表示某一传送定时的时刻t10的状态,图33(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。
在时刻t10的传送处理中,如图34(A)所示,2种变化区域RA1、RA2的和区域作为传送对象的画面更新区域TTG采用。该画面更新区域TTG与图33(A-1)所示的第1变化区域RA1a、RA1b的和区域相等。因此,该画面更新区域TTG内的图像不需要从VRAM114取得,而全部从图像数据存储区域106b直接取得。
在时刻t11的传送处理中,由于第1变化区域RA1不存在,所以如图34(B)所示,第2变化区域RA2原样地作为画面更新区域TTG采用。但是,第2变化区域RA2完全包含在履历区域RHA1a、RHA1b(图33(B-3))中。因此,时刻t11的画面更新区域TTG的图像也不需要从VRAM114取得,而全部从图像数据存储区域106b直接取得。
这样,在实施例6中,也是钩挂处理模块400钩挂并先行取得特定的描绘命令,执行将变化区域的图像数据直接写入RAM106的处理。其结果,能够节省图3所示的比较例子中从VRAM114向RAM106的图像数据传送所需要的时间。其结果,具有能够充分地加快向投影机200传送图像数据时的传送速度的优点。
此外,在上述实施例6中,第2变化区域RA2中的未包含在第1变化区域RA1和履历区域RHA1的任意一个中的区域TG2的图像部分从VRAM114取得并传送到投影机200。其结果,由通常的描绘模块124、126、128描绘的图像也能够毫无损失地传送到投影机200。
G.实施例7
图35是表示实施例7中的变化区域和画面更新区域的关系的说明图,是与实施例6的图29对应的图。实施例7虽然其全部的装置结构或处理流程与实施例6相同,但成为传送对象的区域与实施例6不同。具体地说,在实施例7中,从RAM106直接取得图像的第1传送区域TG1(图35(B))设定为第1和第2变化区域RA1、RA2重合的部分。换言之,第1传送区域TG1设定为第2变化区域RA2中的也包含在第1变化区域RA1中的区域。另一方面,从VRAM114取得图像的第2传送区域TG2(图35(C)),与实施例6一样,设定为第2变化区域RA2中的不包含在第1变化区域RA1中的部分。因此,作为成为传送对象的区域的全体的画面更新区域TTG(图35(D))与第2变化区域RA2相同。
另外,如图26说明的那样,由于在时刻t0传送履历信息HA1不存在,所以第2传送区域TG2(图35(C))内的图像部分全部从VRAM114取得。但是,当传送履历信息HA1存在时,与实施例6一样,从第2传送区域TG2中删除第2传送区域TG2中的与履历区域重叠的区域,降其追加到第1传送区域TG1中(参照图32)。换言之,第2变化区域RA2中的包含在第1变化区域RA1和履历区域RHA1的任意一个中的区域的图像部分从RAM106直接取得。此外,第2变化区域RA2中的未包含在第1变化区域RA1和履历区域RHA1的任意一个中的区域的图像部分从VRAM114取得。因此,图32所示的时刻t1的处理,在实施例7中也与实施例6一样。
这样,在实施例7中,作为由GDI124和显示器驱动器126描绘在VRAM114内的区域的第2变化区域RA2内的图像由VNC服务器130传送。这样地进行处理的原因如下。即,由于由钩挂处理模块400钩挂处理的描绘命令,其后由GDI124和显示器驱动器126再次执行,所以基本上所有的描绘命令都由GDI124和显示器驱动器126执行。因此,如果传送第2变化区域RA2的图像,则能够在投影机200中显示正确的图像。但是,当此时从VRAM114取得所有的图像数据,会产生在数据传送中需要相当长时间的问题。因此,在实施例7中,通过对于第2变化区域RA2中的包含在第1变化区域RA1和履历区域RHA1的任意一个中的部分从RAM106直接取得图像数据,缩短了数据取得所需要的时间。此外,在实施例7中,在传送的图像数据量比实施例6还少这一点上优选于实施例6。
另外,在大多数情况下,由钩挂处理模块400描绘的区域(第1变化区域RA1)与由GDI124和显示器驱动器126描绘的区域(第2变化区域RA2)一致。因此,如实施例7,即使省略第1变化区域RA1中的未包含在第2变化区域RA2中的部分的图像传送,在投影机400上显示的图像产生的不协调感的可能性也是能够忽略的程度。对此,在上述的实施例6中,由于第1变化区域RA1中的与第2变化区域RA2不重叠的部分也传送图像,所以假设在第1和第2变化区域RA1、RA2大不相同的情况下,也具有能够传送更完全的图像的优点。
图36是表示实施例7中的2个变化区域信息A1、A2和传送履历信息HA1的另一例子的说明图。在图36(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不存在。
在图36(B-1)~(B-3)所示的时刻t21,第1变化区域信息A1不存在,而存在作为第2变化区域信息A2表示第2图像G11的区域RA2(=RA1b)的信息A2。此外,作为传送履历信息HA1,在此前的时刻t20登录了存在于RAM106内的2个第1变化区域信息A1a、A1b。这样,在图36的例子中,也假设由钩挂处理模块400进行的第1变化区域信息A1的登录定时与由投影机驱动器128进行的第2变化区域信息A2的登录定时稍有偏差。
图37是表示实施例7的时刻t20和时刻t21的画面更新区域的说明图。如上所述,在实施例7中,画面更新区域TTG始终与第2变化区域RA2相同。第2变化区域RA2中的包含在第1变化区域RA1和履历区域RHA1的任意一个中的区域的图像部分从RAM106直接取得,未包含在第1变化区域RA1和履历区域RHA1的任意一个中的区域的图像部分从VRAM114取得。如图36所示,在时刻t20,第2变化区域RA2包含在第1变化区域RA1a、RA1b中。此外,在时刻t21,第2变化区域RA2包含在履历区域RHA1a、RHA1b中。因此,在时刻t20、t21所有的图像从RAM106直接取得。
如图36的例子所示,在利用动画效果图像以高速进行移动时,第1和第2变化区域A1、A2的登录的定时产生偏差的可能性高。此时,当假设未利用传送履历信息HA1时,会出现在时刻t21需要从VRAM114取得第2变化区域RA2内的图像全体的问题。对此,在实施例6、7中,由于从RAM106直接取得传送履历区域RHA1内的图像部分,所以能够缩短图像的取得所需要的时间。
另外,VNC服务器130也可以构成为从包括实施例6的传送处理(也称为“第1传送模式”)和实施例7的传送处理(也称为“第2传送模式”)的多个传送模式中选择1个执行。传送模式的选择可以由用户进行,或者,也可以是根据计算机100(一般是图像供给装置)的处理能力(CPU的处理速度或总线的传送速度等)VNC服务器130自动地进行传送模式的选择。这样,则能够选择能够以适当的传送速度传送理想的图像的传送模式。
H.实施例8
图38是表示实施例8中的计算机的软件和硬件的分层结构的说明图。与图3所示的比较例子的不同点在于,在应用程序122和GDI124之间追加了钩挂处理模块400、在RAM106内存储了2种变化区域信息106a1和106a2(以下称为“变化区域信息A1,A2”)、在RAM106内存储了再传送区域信息106s(以下称为“再传送区域信息RS”),其它结构与图3相同。与图18所示的实施例4的不同之处在于追加了再传送区域信息106s,其它结构与实施例4相同。
图39是表示2个变化区域信息A1、A2和再传送区域信息RS的例子的说明图。图39(A-1)~(A-3)表示时刻t100的状态,图39(B-1)~(B-3)表示时刻t101的状态。假设VNC服务器130以指定的时间间隔重复执行传送处理,在时刻t100执行传送后,在时刻t101执行下一次传送。
图39(A-1)所示的第1变化区域信息A1表示由钩挂处理模块400(图38)直接描绘在RAM106内的图像数据存储区域106b的区域RA1(称为“变化区域RA1”)。将该变化区域RA1内的图像称为“图像G1”。第1变化区域信息A1由钩挂处理模块400写入RAM106内。图39(A-2)所示的第2变化区域信息A2表示由显示器驱动器126(图38)描绘在VRAM114内的区域RA2(称为“变化区域RA2”)。将该变化区域RA2内的图像称为“图像G2”。第2变化区域信息A2由投影机驱动器128写入RAM106内。图39(A-3)所示的再传送区域信息RS表示在由钩挂处理模块400直接描绘在图像数据存储区域106b后由VNC服务器130传送的过去的第1变化区域RA1(称为“再传送区域RRS”)。在时刻t100以前的传送处理中,第1变化区域RA1不存在,因此假设在时刻t100再传送区域信息RS也未登录。另外,再传送区域信息RS由VNC服务器130写入RAM106内。
另外,图39的例子表示各区域RA1、RA2、RRS配置在同一画面区域SCA内的状态。其中,所谓“画面区域SCA”表示存储在VRAM114中的图像全体的区域,这与图像数据存储区域106b全体的区域相等。严格地说,虽然第1变化区域RA1是用图像数据存储区域106b内的地址定义的区域,第2变化区域RA2和再传送区域RRS是用VRAM114内的地址定义的区域,但它们能够用相同的画面区域SCA表现。
如图39(B-1)~(B-3)所示,在时刻t101,第1和第2变化区域信息A1、A2不存在,再传送区域信息RS是表示图像G1的区域(即,与时刻t100的第1变化区域RA1相同的区域)的信息。另外,在图39(B-3)中,为了便于图示,用单点划线画出再传送区域RRS。
如以下说明,VNC服务器130在时刻t100根据变化区域信息A1、A2执行通常的传送处理(也称为“通常传送模式”)。此外,在时刻t101由于没有变化区域A1、A2,所以根据再传送区域信息RS执行再传送处理(也称为“再传送模式”)。
另外,即使假设在时刻t100登录了再传送区域信息RS,在时刻t100也不执行再传送处理,而执行通常传送处理。即,当2个变化区域信息A1、A2的任意一个存在时执行通常传送处理,当2个变化区域信息A1、A2双方都不存在且再传送区域信息RS存在时,执行再传送处理。
图40是表示实施例8中的钩挂处理模块400和VNC服务器130的动作的流程图。步骤S10~S16由钩挂处理模块400执行,步骤S20~S26由VNC服务器130定期地执行。处理的全部流程与图19所示的流程相同,但变更了VNC服务器的步骤S20、S24的内容(后面叙述)。
钩挂处理模块400,当从应用程序122发出了特定描绘命令时,在步骤S10钩挂该描绘命令,代替GDI124取得该描绘命令。
在步骤S12中,执行根据取得的描绘命令登录变化区域信息的处理。具体地说,钩挂处理模块400按照描绘命令取得进行描绘的区域(图39(A-1)的变化区域RA1)的位置和尺寸,执行将表示该变化区域的变化区域信息A1直接写入RAM106的处理。
在步骤S14中,执行变化区域RA1的图像数据的写入处理。具体地说,钩挂处理模块400按照描绘命令展开变化区域RA1内的图像数据,执行将该图像数据直接写入RAM106内的图像数据存储区域106b的处理。
在步骤S16中,钩挂处理模块400按照在步骤S10取得的描绘命令调用通常的GDI函数执行描绘处理。另外,显示器驱动器126和投影机驱动器128(图38)与图3所示的比较例子一样,按照从GDI124接收的描绘命令执行各自的处理。即,显示器驱动器126在VRAM114内描绘图像,投影机驱动器128将表示该描绘区域的变化区域信息A2写入RAM106内。
另一方面,VNC服务器130在步骤S20确定应该传送到投影机200的图像数据的区域(称为“画面更新区域”)。图41是表示实施例8中的步骤S20的详细步骤的流程图。在步骤S300,将再传送标志设定为OFF。该再传送标志是表示是否应该执行再传送处理的标志。再传送标志的ON状态表示执行再传送处理,OFF状态表示执行通常传送处理。另外,再传送标志登录在RAM106内。
在步骤S302、S304中,取得第1和第2变化区域信息A1、A2。如上所述,第1变化区域信息A1是表示由钩挂处理模块400描绘在RAM106内的图像数据存储区域106b的区域的信息,是由钩挂处理模块400写入RAM106内的信息。另一方面,第2变化区域信息A2是表示由显示器驱动器126描绘在VRAM114内的区域的信息,是由投影机驱动器128写入RAM106内的信息。
图42(A)表示时刻t100(图39(A-1)~(A-3))的2个变化区域RA1、RA2和再传送区域RRS。但是,在时刻t100再传送区域RRS不存在。
另外,在图42(A)的例子中,虽然2个变化区域RA1、RA2部分重叠,但存在2个变化区域RA1、RA2形成除此之外的各种关系的情况。例如,还存在2个变化区域RA1、RA2完全不重叠的情况,还存在两者完全重合的情况。例如,在钩挂处理模块400按照特定的描绘命令进行描绘,其后,通常的描绘模块124、126、128按照相同的描绘命令进行相同区域描绘的情况下,则2个变化区域RA1、RA2成为相同。但是,在执行相同的描绘命令时,根据各模块的设定也有可能出现2个变化区域RA1、RA2存在一些差异的现象。
图42(B)表示在时刻t100时VNC服务器130在图像传送时从RAM106直接取得图像的区域TG1,图42(C)表示从VRAM114取得图像的区域TG2。也将这些区域TG1、TG2称为“传送区域”。从该例子可以看出,在通常传送处理中,第1变化区域RA1(=TG1)的图像从RAM106直接取得,此外,第2变化区域RA2中的未包含在第1变化区域RA1中的部分区域TG2的图像从VRAM114取得。这样区别是为了尽可能减少从VRAM114取得的图像,以减少该取得所需要的时间。例如,当2个变化区域RA1、RA2完全重合时,由于不需要从VRAM114取得图像,所以能够高速地进行传送处理。图42(D)表示在时刻t100由VNC服务器130传送的区域全体(画面更新区域TTG)。该画面更新区域TTG相当于第1和第2变化区域RA1、RA2的和区域。
另外,存在在第1变化区域信息A1中包含与多个描绘命令对应的多个信息的情况。在这种情况下,这些多个描绘命令的描绘区域的和区域成为第1变化区域RA1。对于第2变化区域RA2和再传送区域RRS也一样。
在图41的步骤S306中,判断2个变化区域RA1、RA2双方是否为空。当2个变化区域RA1、RA2双方为空时,在后面叙述的步骤S314中执行再传送处理。另一方面,当2个变化区域RA1、RA2的任意一个不为空时,在步骤S308~S312中执行通常传送处理。
在图41的步骤S308中,计算用2种变化区域信息A1、A2表示的变化区域RA1、RA2的差。具体地说,计算第2变化区域RA2中的未包含在第1变化区域RA1中的区域TG2(图42(C))。
在步骤S310中,将第1变化区域信息A1作为再传送区域信息RS追加。其结果,时刻t100的第1变化区域信息A1可以在下一时刻t101以后作为再传送区域信息RS利用。
在步骤S312中,执行画面更新区域TTG(图42(D))的最优化处理。图43是表示画面更新区域的最优化处理内容的说明图。图43(A)表示与图42(D)相同的画面更新区域TTG。在最优化处理中,如图43(B)所示,将画面更新区域TTG分割为相互不重叠的相邻的矩形区域R11~R13。然后,这些矩形区域R11~R13作为最优化后的画面更新区域采用。由于各个画面更新区域R11~R13是矩形,所以与传送包含最优化前的画面更新区域TTG那样的矩形形状的图像的情况相比,能够减少传送的图像数据量。
在图40的步骤S22中,取得与画面更新区域相当的图像部分的图像数据。图44是表示实施例8中的步骤S22的详细步骤的流程图。另外,图44的步骤与上述的实施例4的图31的步骤相同。在步骤S70中,核查第2传送区域TG2(图42(C))是否为空。另外,如上所述,“第2传送区域TG2”是在画面更新区域TTG中从VRAM114取得图像数据的区域。当第2变化区域信息A2不存在时,以及当第2变化区域A2完全包含在第1变化区域A1中时,第2传送区域TG2为空。当第2传送区域TG2为空时,转移到后面叙述的步骤S74。另一方面,当第2传送区域TG2不为空时,执行步骤S72。在步骤S72中,VNC服务器130从VRAM114取得第2传送区域TG2的图像数据写入RAM106内的图像数据存储区域106b。其结果,处于在图像数据存储区域106b全部存储图42(D)所示的画面更新区域TTG内的图像的状态。在步骤S74中,VNC服务器130从RAM106的图像数据存储区域106b取得画面更新区域TTG的图像数据。另外,实际取得的是最优化处理后的各个画面更新区域R11~R13(图43(B))的图像数据。
在图40的步骤S24中,按照预先设定的多个编码格式(也称为“压缩方式”或者“压缩方法”)的任意一个变换图像数据。图45是表示实施例8中的步骤S24的详细步骤的流程图。在步骤S502中,判断再传送标志是否OFF。当再传送标志OFF时(通常传送处理的情况下),图像利用JPEG压缩进行压缩。另一方面,当再传送标志ON时(再传送处理的情况下),图像利用ZLIB压缩进行压缩。另外,我们知道ZLIB压缩是可逆压缩,是没有图像质量劣化的压缩方法(无损的压缩)。在本实施例中,由于通常传送处理使用JPEG压缩,所以能够减少图像数据量而增大传送速度。另一方面,由于再传送处理使用ZLIB压缩,所以能够传送更高质量的图像。
另外,作为压缩方法,也可以采用这些方法以外的各种压缩方法。此外,也可以在通常传送处理和再传送处理中利用相同的压缩方法。当在通常传送处理和再传送处理中利用不同的压缩方法时,优选地能够从包括相对图像质量劣化大的压缩方法和相对图像质量劣化小的压缩方法的多个压缩方法中选择压缩方法。在这种情况下,优选地在通常传送处理中使用相对图像质量劣化大的压缩方法,在再传送处理中使用相对图像质量劣化小的压缩方法。这是因为在执行再传送处理时描绘已停止,由于图像质量好坏与否容易看出,所以要传送更高质量的图像。
在图40的步骤S26中,生成包含这样变换后的图像数据和变化区域信息的画面更新消息(图5),经由网络接口部112传送到投影机200。
在时刻t101,也同样执行图40的步骤S20~S26的处理。但是,在时刻t101,如图39(B-1)~(B-3)所示,变化区域信息A1、A2不存在,作为再传送区域信息RS登录了表示图像G1的区域的信息。另外,2个变化区域信息A1、A2双方都不存在的情况表示没有图像的描绘命令(图像的描绘已停止)。此时,在图41的步骤S306中,由于变化区域RA1、RA2双方都为空,所以执行步骤S314的再传送处理。
图46是表示步骤S314的详细步骤的流程图。在步骤S320中判断再传送区域RRS是否为空。当再传送区域RRS为空时,直接结束处理。在这种情况下,不执行再传送处理。另一方面,当再传送区域RRS不为空时,执行步骤S322~S326的处理。
图47是表示步骤S322的处理内容的说明图。如图47(A)所示,在时刻t101,第1和第2变化区域RA1、RA2不存在,再传送区域RRS是图像G1的区域。此时,在图46的步骤S322中,如图47(B)、(C)所示,分割出(或者抽出)再传送区域RRS的开头的指定尺寸的区域DP,该区域DP追加到第2传送区域TG2中。另外,由于变化区域RA1、RA2为空,所以只将分割区域DP作为第2传送区域TG2设定。在步骤S322中,进一步从再传送区域RRS中删除分割区域DP。图47(D)表示该修正后的再传送区域RRS’。在此时刻t101,由于第1传送区域TG1(从RAM106直接取得图像的区域)为空,所以第2传送区域TG2与图像更新区域TTG(图47(E))相等。因此,从VRAM114取得并传送画面更新区域TTG内的全部图像。
另外,也可以不是将再传送区域RRS的一部分而是将其全体作为第2传送区域TG2设定。换言之,也可以将再传送区域RRS的至少一部分作为第2传送区域TG2设定。但是,如本实施例,如果只将再传送区域RRS中的指定尺寸的区域DP作为第2传送区域TG2设定,则能够缩短1次的再传送处理所需要的时间。此外,由于在经过多次的再传送处理的过程中当开始了描绘时能够迅速地返回通常传送处理,所以还具有不会使由通常传送处理进行的处理过度延迟的优点。
优选地分割区域DP的尺寸是预先设定的指定的尺寸。其中,所谓“指定尺寸”并不限于预先确定区域DP的高度和宽度双方的情况,还具有包括以下各种情况的广泛的含义:预先只确定了高度而宽度是任意的情况(设定成与再传送区域RRS的宽度相等的情况)、或预先只确定宽度而高度是任意的情况(设定成与再传送区域RRS的高度相等的情况)、设定了区域DP的数据尺寸(开头的几个字节)的情况等。
在图46的步骤S324中,执行画面更新区域TTG的最优化处理。该处理与通常传送处理中的最优化处理(图43)相同。在步骤S326中,将再传送标志设定为ON。
当这样地确定了画面更新区域时,则依次执行图40的步骤S22(图44)、步骤S24(图45)和步骤S26。另外,再传送处理中的步骤S22~S26的处理内容与通常传送处理的处理内容不同点只在于图45的步骤S504中执行ZLIB压缩。由于在再传送处理中使用ZLIB压缩,所以能够传送更高质量的图像。
这样,在实施例8中,也是钩挂处理模块400钩挂并先行取得特定的描绘命令,执行将变化区域的图像数据直接写入RMA106的处理。其结果,能够节省图3所示的比较例子中从VRAM114向RAM106传送图像数据所需要的时间。其结果,具有能够充分地加快向投影机200传送图像数据时的传送速度的优点。
另外,在实施例8中,在通常传送处理中,未由钩挂处理模块400描绘的区域TG2(图42(C))的图像部分从VRAM114取得并传送到投影机200。其结果,由通常的描绘模块124、126、128描绘的图像也能够毫无损失地传送到投影机200。
进而,在实施例8中,在通常传送处理时将第1变化区域RA1作为再传送区域RRS登录,在图像的描绘停止时再传送区域RRS内的图像从RAM114中取得并再传送。虽然在通常传送处理时第1变化区域RA1的图像从RAM106直接取得,但即使该图像的质量不是所期望的图像质量,也能够在描绘停止后再传送高质量的图像。这特别是在以下那样的情况下效果显著。
即,当从应用程序122发出特定的描绘命令时,则经由钩挂模块400将描绘命令传递给GDI124。此时,存在利用描绘命令在GDI124中进一步加工图像数据的情况。在这种情况下,在钩挂处理模块400描绘在RAM106内的图像数据存储区域106b中的图像与显示器驱动器126描绘在RAM114中的图像之间产生差异。第1变化区域RA1内的图像从图像数据存储器区域106b直接取得并传送到投影机200进行显示,另一方面,在计算机100(图1)的画面上显示由显示器驱动器126描绘在VRAM114中的图像。原本要将与显示在计算机100上的图像相同的图像也显示在投影机200上,但当GDI124加工了图像时不能实现。但是,由于两者的图像差异通常很小,所以在描绘继续执行而画面内的图像出现了某些变化的期间,即使显示在投影机200和计算机100上的图像有差异也没有大的问题。另一方面,当描绘停止时,由于观察者能够更细致地观察图像,所以会出现感觉到在投影机200上显示的图像不满意的情况。在实施例8中,在描绘停止后,由于从VRAM114取得并传送再传送区域RRS内的图像,所以在这样的情况下也能够用投影机200显示所期望的图像。
另外,在上述实施例中,虽然当描绘停止时立即开始再传送处理,但也可以在描绘停止后经过指定的期间后开始再传送处理。
I.实施例9
图48是表示实施例9中的步骤S20(图40的画面更新区域确定处理)的详细步骤的流程图。实施例9只是步骤S20的处理内容(更详细地说是再传送处理的内容)与实施例8不同,其它结构和动作与实施例8相同。在图48中,在图41的步骤S306和步骤S308之间追加步骤S400,此外,再传送处理的步骤S314a的内容与图41的步骤S314不同。
在步骤S400中,停止计数值CT和划分区域号码N初始化为0。这些参数CT、N是在再传送处理(步骤S314a)中利用的参数。由于通常传送处理(步骤S308~S312)与实施例8相同,所以省略说明。
图49是表示实施例9中的步骤S314a(再传送处理)的详细步骤的流程图。该图49是在图46的步骤S320~S326中追加了步骤S410~S416。
在步骤S410中,判断停止计数值CT是否大于等于指定的最大值CTmax。停止计数值CT是表示在描绘停止后开始了几次由VNC服务器130进行的传送处理的参数。当停止计数值CT小于最大值Ctmax时,在步骤S412中将停止计数值CT增加1,执行步骤S320~S326的再传送处理。因此,在描绘停止后重复执行(CTmax-1)次步骤S412、S320~S326的再传送处理。另外,由于步骤S320~S326的处理与实施例8中说明的处理(图47)相同,所以省略说明。
另一方面,当停止计数值CT大于等于最大值Ctmax时,则执行步骤S414、S416的处理(“全画面再传送处理”)。即,该全画面再传送处理不管是否登录了再传送区域信息RS,当停止计数值CT大于等于最大值Ctmax时则执行。另外,最大值CTmax例如设定为相当于描绘停止后约1秒钟的值。
在步骤S414中,划分区域号码N的值增加1。该划分区域号码N是用于表示在以指定尺寸将全画面区域划分为多个区域时的各划分区域号码(序号)的参数。在步骤S416中,全画面区域内的第N个划分区域追加到第2传送区域TG2中,转移到步骤S326并将再传送标志设定为ON。
图50是表示步骤S414、S416的内容的说明图。在全画面再传送处理中,画面区域SCA全体被分割为指定尺寸的多个划分区域DDP1~DDPn上。然后,在成为CTmax≤CT的时刻t200(图50(A)),将第1划分区域DDP1作为第2传送区域TG2设定。此外,在下一时刻t201(图50(B)),将第2划分区域DDP2作为第2传送区域TG2设定。其结果,全画面的图像利用多次的再传送处理传送到投影机200。
另外,也可以不是将画面区域SCA的一部分而是将其全体作为第2传送区域TG2设定。但是,如本实施例,如果只将画面区域SCA的一部分的划分区域作为第2传送区域TG2设定,则能够缩短在1次再传送处理中所需要的时间。此外,由于在多次的再传送处理的过程中当开始了描绘时能够迅速地返回通常传送处理,所以还具有不会使由通常传送处理进行的处理过度延迟的优点。
优选地划分区域DDP1~DDPn的尺寸是预先设定的指定的尺寸。其中,所谓“指定尺寸”并不限于预先确定划分区域的高度和宽度双方的情况,还具有包括以下各种情况的广泛的含义:预先只确定了高度而宽度是任意的情况(设定成与画面区域SCA的宽度相等)、或预先只确定宽度而高度是任意的情况(设定成与画面区域SCA的高度相等)、设定了划分区域的数据尺寸(开头的几个字节)的情况等。
另外,也将全画面的再传送处理称为“全画面再传送处理”或者“全画面再传送模式”。在全画面再传送处理中,在未使用再传送区域信息RS这一点上与实施例8中按照图46、图47说明的再传送处理不同。使用再传送区域信息RS的再传送处理也可以称为狭义的再传送处理。另外,在实施例9中,也可以不执行狭义的再传送处理,而只执行全画面再传送处理。
这样,在实施例9中,由于在描绘停止后经过指定的期间转移到全画面再传送处理,所以能够在图像的描绘停止后传送VRAM114内的全画面区域的图像。因此,即使由于某种原因在通过使用通常传送处理和再传送处理信息RS的狭义的再传送处理而传送的图像与VRAM114内的图像之间产生了差异的情况下,也能够使在计算机100和投影机200上显示的图像完全一致。
J.实施例10
图51是表示实施例10中的步骤S24(图40的图像数据变换处理)的详细步骤的流程图。实施例10只是步骤S24的处理内容(更详细地说是再传送处理的内容)与实施例8或者实施例9不同,其它的结构和动作与实施例8或者实施例9相同。图51是在图45的步骤S500和步骤S502之间追加了步骤S520、S522的图。
在步骤S520中,判断对于画面更新区域的图像是否应该使用JPEG压缩。是否需要使用JPEG压缩,例如能够通过分析图像数据进行判断。具体地说,对图像的指定位置(例如,四角和中央)的各自的指定像素数的像素值进行采样而计数色指数,当该色指数小于指定的阈值时采用ZLIB压缩,当大于等于阈值时也可以采用JPEG压缩。由于对于色指数少的图像来说,即使是ZLIB压缩也能够减少相当的数据量,所以不会过度降低传送速度而能够传送高质量的图像。另一方面,通过对于色指数多的图像采用JPEG压缩能够实现高速的图像传送。另外,采用哪种压缩方法的判断可以以描绘的每个图像的方式进行,或者也可以以最优化后的每个画面更新区域(图43(B)的区域R11~R13)的方式进行。
在步骤S522中,追加登录了表示JPEG压缩的画面更新区域的再传送区域信息RS。这样,即使在利用JPEG压缩传送图像质量稍有劣化的图像的情况下,也能够利用描绘停止后的再传送处理再传送高质量的图像。
在实施例10中,在通常传送处理中成为传送对象的2种区域作为再传送区域登录。即,在图41的步骤S310中,将第1变化区域RA1作为再传送区域登录,此外,在图51的步骤S522中,将经JPEG压缩传送的图像的区域作为再传送区域登录。
图52表示实施例10中的变化区域RA1、RA2和再传送区域RRS的关系的一例。图52(A)是与图42(A)所示的第1和第2变化区域RA1、RA2相同的图,图52(B)的画面更新区域R11~R13与图43(B)所示的相同。其中,画面更新区域R11是与第1变化区域RA1相等的由钩挂处理描绘的区域。因此,该区域RA1不管其图像的压缩是否利用JPEG压缩和ZLIB压缩的哪一种,都作为再传送区域登录。此外,假设在画面更新区域R12、R13内的图像的传送时利用JPEG压缩。此时,画面更新区域R12、R13也作为再传送区域追加登录。其结果,如图52(C)所示,将画面更新区域R11~R13全部作为再传送区域RRS登录。
另外,在实施例10中,也可以不将第1变化区域RA1作为再传送区域登录,而只将经JPEG压缩传送的图像的区域作为再传送区域登录。此外,如实施例8说明的那样,作为压缩方法也可以使用JPEG压缩或者ZLIB压缩以外的其它各种压缩方法。
这样,在实施例10中,由于在传送JPEG压缩的图像时,预先将该区域作为再传送区域登录,在图像的描绘停止后从VRAM114取得并传送再传送区域内的图像,所以能够在投影机200上显示高质量的图像。
K.变形例
K1.变形例1
作为从计算机100供给投影机200的画面更新消息,能够使用上述实施例中使用的以外的各种信息。例如,作为画面更新消息,可以使用至少包含图像数据的信息。具体地说,例如当传送画面全体的图像数据时,不需要传送变化区域信息。
此外,作为画面更新消息,优选地至少包含表示变化区域(画面更新区域)的位置和尺寸的信息、以及变化区域内的图像数据。这是因为如果只传送与变化区域有关的数据(变化区域信息及其图像数据),则需要传送的数据量变少了。而且,在上述实施例2中,优选地除了这些信息以外将表示放大/缩小倍率的倍率信息、或者表示放大/缩小后的图像尺寸的尺寸信息包含在画面更新消息中。另外,在上述实施例2中,虽然是不仅能够进行图像放大也能够缩小的情况,但本发明也能够适用于只能图像放大的情况。此外,在实施例2中,虽然是传送动图像的情况,但实施例2的结构也能够适用于传送静止图像的情况。
K2.变形例2
在上述实施例3中,虽然使用传送标志106c协调钩挂处理模块400和VNC服务器130之间的处理,但也可以使用传送标志106c以外的其它结构进行两者的协调。例如,也可以用从VNC服务器130向钩挂处理模块400传送表示是否正在执行图像传送用处理的信息的方式构成两者。在这种情况下,在VNC服务器130执行图像传送用处理期间也能够使钩挂处理模块400等待而不开始与描绘命令对应的处理。
K3.变形例3
作为在实施例3中需要维持传送标志106c为ON的图像传送用处理,也可以从图15的步骤S210~S230中去除步骤S230(图像数据变换处理),或者反之也可以在步骤S210~S230中追加步骤S250(图像数据传送处理)。但是,当画面更新区域不是全画面时(利用变化区域信息的情况),优选地作为图像传送用处理至少包含画面区域确定处理(步骤S210)和画面更新区域的图像数据取得处理(步骤S220)。另一方面,当画面更新区域是全画面时,只要图像传送用处理至少包含图像数据取得处理(步骤S220)即可。
K4.变形例4
在上述实施例4至实施例6中,虽然是在从VRAM114取得第2传送区域TG2(图21(C)、图24(C)、图29(C))的图像部分并暂时写入RAM106内的图像数据存储区域106b内后,从RAM106取得画面更新区域TTG的图像并经由网络传送,但也可以省略写入图像数据存储区域106b的处理。但是,按照上述实施例4至实施例6的步骤,则由于在最终经由网络传送图像时从1个图像数据存储区域106b中取得图像,所以具有处理变得简单的优点。
K5.变形例5
在上述实施例中,描绘模块分为GDI124和显示器驱动器126和投影机驱动器128这3个模块,但模块的划分是任意的,可以将这些功能集中在1个模块中。此外,也可以将显示器驱动器126和投影机驱动器128的功能集中在1个模块中。
K6.变形例6
在上述实施例中,虽然作为图像供给装置使用了个人计算机,但代替它也可以使用其它种类的计算机(移动计算机、手持计算机、工作站等)。此外,除了这些计算机外也可以使用能够与网络连接的具有与计算机同样的功能的设备。这样的设备,例如包括信息便携式终端、移动电话机、邮件终端、游戏机、机顶盒等。此外,作为图像显示装置可以使用投影机以外的各种显示装置。
K7.变形例7
作为网络,除了局域网(LAN)外可以使用广域网(WAN)、因特网、内部网等各种网络。此外,网络可以用有线构成,或者也可以用无线构成。
K8.变形例8
上述实施例中用软件实现的功能的一部分也可以用硬件来实现,或者用硬件实现的功能的一部分也可以用软件来实现。
以上,虽然详细地说明了本发明并进行了图示,但这些只是作为一例来表示本发明,本发明并不局限定于此,本发明的思想和范围只由附加的权利要求来限定。

Claims (26)

1.一种图像供给装置,是用于经由网络向图像显示装置供给图像使其显示的图像供给装置,其特征在于,具备:
能够发出图像的描绘命令的应用程序;
用于处理由上述应用程序发出的描绘命令的描绘模块;
钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块;以及
从上述传送用图像存储区域取得图像并且经由上述网络将取得的图像传送给上述图像显示装置的图像传送处理模块。
2.如权利要求1所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述描绘命令描绘图像的区域的变化区域的变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,参照存储在上述通用存储器内的上述变化区域信息取得存储在上述传送用图像存储区域的上述图像变化区域内的图像部分并且将取得的图像部分与上述变化区域信息一起经由上述网络传送给上述图像显示装置。
3.如权利要求1所述的图像供给装置,其中,
上述图像传送处理模块,具有通过将存储在上述传送用图像存储区域的第1图像经由上述网络传送给上述图像显示装置使上述图像显示装置的画面中显示放大了上述第1图像的第2图像的功能;
上述钩挂处理模块,具有将传送区域信息写入上述通用存储器内的功能,该传送区域信息包括表示作为在上述传送用图像存储区域中根据上述描绘命令描绘上述第1图像的区域的变化区域的变化区域信息、以及表示上述图像显示装置的画面中的上述第2图像的尺寸的尺寸信息;
上述图像传送处理模块,取得存储在上述通用存储器内的上述传送区域信息,并将其与从上述传送用图像存储区域取得的上述第1图像一起经由上述网络传送给上述图像显示装置。
4.如权利要求1所述的图像供给装置,其中,
上述图像传送处理模块被构成为,在上述图像传送处理模块起动时将上述钩挂处理模块装载到上述应用程序中,而在上述图像传送处理模块的执行结束时从上述应用程序中卸载上述钩挂处理模块。
5.如权利要求1所述的图像供给装置,其中,
上述钩挂处理模块,在执行至少包含上述图像传送处理模块从上述传送用图像存储区域取得图像的处理的指定的图像传送用处理时,直至上述图像传送用处理结束不开始进行与上述描绘命令对应的处理而等待。
6.如权利要求5所述的图像供给装置,其中,
上述图像传送处理模块,在上述图像传送用处理执行中将上述通用存储器内的传送标志设定为ON状态,并且在上述图像传送用处理结束后将上述传送标志设定为OFF状态;
上述钩挂处理模块,在上述传送标志为ON时直至上述传送标志OFF不开始进行与上述描绘命令对应的处理而等待。
7.如权利要求5所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述描绘命令描绘图像的区域的变化区域的变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)在上述图像传送用处理中,参照存储在上述通用存储器内的上述变化区域信息取得存储在上述传送用图像存储区域的上述图像变化区域内的图像部分,
(ii)将取得的图像部分与上述变化区域信息一起经由上述网络传送给上述图像显示装置。
8.如权利要求1所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分,
(ii)不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第1变化区域相当的图像部分,
(iii)将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
9.如权利要求1所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分,
(ii)不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第2变化区域中也包含在上述第1变化区域中的区域相当的图像部分,
(iii)将取得的图像部分与表示与上述第2变化区域相同的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
10.如权利要求9所述的图像供给装置,其中,
上述图像传送处理模块,在从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分并写入上述传送用图像存储区域后,从上述传送用图像存储区域取得与上述画面更新区域相当的图像部分。
11.如权利要求1所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)将在指定的先行期间中的传送处理中存在的上述第1变化区域作为履历区域设定,将表示该履历区域的传送履历信息写入上述通用存储器内,
(ii)参照存储在上述通用存储器内的上述第1和第2变化区域信息和上述传送履历信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分,
(iii)不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第1变化区域相当的图像部分和与上述第2变化区域中未包含在上述第1变化区域中但包含在上述履历区域中的区域相当的图像部分,
(iv)将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
12.如权利要求1所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能、以及在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的功能;
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能、以及将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
(i)将在指定的先行期间中的传送处理中存在的上述第1变化区域作为履历区域设定,将表示该履历区域的传送履历信息写入上述通用存储器内,
(ii)参照存储在上述通用存储器内的上述第1和第2变化区域信息和上述传送履历信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分,
(iii)不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第2变化区域中包含在上述第1变化区域和上述履历区域的至少一方中的区域相当的图像部分,
(iv)将取得的图像部分和表示与上述第2变化区域相同的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置。
13.如权利要求12所述的图像供给装置,其中,
上述图像传送处理模块,在从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分并写入上述传送用图像存储区域后,从上述传送用图像存储区域取得与上述画面更新区域相当的图像部分。
14.如权利要求1所述的图像供给装置,其中,
上述描绘模块,具有按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的功能;
上述图像传送处理模块具有,
在进行图像的描绘时取得并传送由上述钩挂处理模块描绘在上述传送用图像存储区域的图像的通常传送模式、以及
在上述图像的描绘停止后取得并传送由上述描绘模块描绘在上述帧存储器中的图像的再传送模式。
15.如权利要求14所述的图像供给装置,其中,
上述钩挂处理模块,具有将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变化区域信息写入上述通用存储器内的功能;
上述图像传送处理模块,
在上述通常传送模式中,将传送结束的上述第1变化区域作为再传送区域设定,将表示该再传送区域的再传送区域信息写入上述通用存储器内,
在上述再传送模式中,从上述帧存储器取得并传送与上述再传送区域的至少一部分相当的图像部分。
16.如权利要求15所述的图像供给装置,其中,
与上述再传送区域的至少一部分相当的图像部分是与上述再传送区域中的指定尺寸的区域相当的图像部分;
上述图像传送处理模块,在上述再传送模式中传送与上述再传送区域中的指定尺寸的区域相当的图像部分并且从上述再传送区域中删除上述指定尺寸的区域。
17.如权利要求14所述的图像供给装置,其中,
上述再传送模式,包含在从上述图像的描绘停止开始经过指定的期间后传送上述帧存储器内的全画面区域的图像的全画面再传送模式。
18.如权利要求17所述的图像供给装置,其中,
上述图像传送处理模块,在上述全画面再传送模式中,将上述全画面区域划分为指定尺寸的多个划分区域,通过在每1次传送处理中传送从上述多个划分区域中依次地选择的1个划分区域的图像完成上述全画面区域的图像的传送。
19.如权利要求18所述的图像供给装置,其中,
上述图像传送处理模块,还具有:
将在上述通常传送模式中传送的图像,利用从包括图像劣化相对大的第1压缩方法、以及图像劣化相对小的第2压缩方法的多个压缩方法中选择的压缩方法进行压缩的功能;
将在上述通常传送模式中用上述第1压缩方法压缩并传送的图像区域记录作为在上述再传送模式中传送的图像区域的再传送区域的功能;以及
在上述再传送模式中,将上述再传送区域内的图像用上述第2压缩方法对图像进行压缩并传送的功能。
20.一种图像供给方法,是经由网络向图像显示装置供给图像使其显示的方法,其特征在于,包括:
(a)根据由应用程序发出的特定的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的工序;以及
(b)从上述传送用图像存储区域取得图像并且将取得的图像经由上述网络传送给上述图像显示装置的工序。
21.如权利要求20所述的图像供给方法,其中,
上述工序(a)包括:
判断至少包含从上述传送用图像存储区域取得图像的处理的指定的图像传送用处理是否正在执行的工序;
当正在执行上述图像传送用处理时,直至上述图像传送用处理结束不开始进行与上述描绘命令对应的处理而等待的工序。
22.如权利要求20所述的图像供给方法,其中,
上述工序(a)包括:
准备用于处理由应用程序发出的描绘命令的描绘模块、以及钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块的工序;
上述钩挂处理模块根据由上述应用程序发出的特定的描绘命令在上述通用存储器内的特定的传送用图像存储区域描绘图像的工序;
上述钩挂处理模块将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变换区域信息写入上述通用存储器内的工序;
上述钩挂处理模块在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的工序;
上述描绘模块按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的工序;以及
上述描绘模块将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的工序;
上述工序(b)包括:
参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分的工序;
不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第1变化区域相当的图像部分的工序;以及
将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置的工序。
23.如权利要求20所述的图像供给方法,其中,
上述工序(a)包括:
准备用于处理由应用程序发出的描绘命令的描绘模块、以及钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块的工序;
上述钩挂处理模块根据由上述应用程序发出的特定的描绘命令在上述通用存储器内的特定的传送用图像存储区域描绘图像的工序;
上述钩挂处理模块将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变换区域信息写入上述通用存储器内的工序;
上述钩挂处理模块在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的工序;
上述描绘模块按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的工序;以及
上述描绘模块将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的工序;
上述工序(b)包括:
参照存储在上述通用存储器内的上述第1和第2变化区域信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域中的区域相当的图像部分的工序;
不是从上述帧存储器取得而是从上述传送用图像存储区域取得将与上述第2变化区域中包含在上述第1变化区域中的区域相当的图像部分的工序;以及
将取得的图像部分和表示与上述第2变化区域相同的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置的工序。
24.如权利要求20所述的图像供给方法,其中,
上述工序(a)包括:
准备用于处理由应用程序发出的描绘命令的描绘模块、以及钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块的工序;
上述钩挂处理模块根据由上述应用程序发出的特定的描绘命令在上述通用存储器内的特定的传送用图像存储区域描绘图像的工序;
上述钩挂处理模块将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变换区域信息写入上述通用存储器内的工序;
上述钩挂处理模块在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的工序;
上述描绘模块按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的工序;
上述描绘模块将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的工序;以及
将在指定的先行期间中的传送处理中存在的上述第1变化区域作为履历区域设定并将表示该履历区域的传送履历信息写入上述通用存储器内的工序;
上述工序(b)包括:
参照存储在上述通用存储器内的上述第1和第2变化区域信息和上述传送履历信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分的工序;
不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第1变化区域相当的图像部分和与上述第2变化区域中未包含在上述第1变化区域但包含在上述履历区域中的区域相当的图像部分的工序;以及
将取得的图像部分与表示作为上述第1和第2变化区域的和的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置的工序。
25.如权利要求20所述的图像供给方法,其中,
上述工序(a)包括:
准备用于处理由应用程序发出的描绘命令的描绘模块、以及钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块的工序;
上述钩挂处理模块根据由上述应用程序发出的特定的描绘命令在上述通用存储器内的特定的传送用图像存储区域描绘图像的工序;
上述钩挂处理模块将表示作为在上述传送用图像存储区域中根据上述特定的描绘命令描绘图像的区域的第1变化区域的第1变换区域信息写入上述通用存储器内的工序;
上述钩挂处理模块在处理了上述特定的描绘命令后将该描绘命令供给上述描绘模块的工序;
上述描绘模块按照从上述应用程序或者上述钩挂处理模块接收的描绘命令在帧存储器内描绘图像的工序;
上述描绘模块将表示作为在上述帧存储器中根据上述描绘命令描绘图像的区域的第2变化区域的第2变化区域信息写入上述通用存储器内的工序;以及
将在指定的先行期间中的传送处理中存在的上述第1变化区域作为履历区域设定并将表示该履历区域的传送履历信息写入上述通用存储器内的工序;
上述工序(b)包括:
参照存储在上述通用存储器内的上述第1和第2变化区域信息和上述传送履历信息,从上述帧存储器取得与上述第2变化区域中未包含在上述第1变化区域和上述履历区域的任意一个中的区域相当的图像部分的工序;
不是从上述帧存储器取得而是从上述传送用图像存储区域取得与上述第2变化区域中包含在上述第1变化区域和上述履历区域的至少一方中的区域相当的图像部分的工序;以及
将取得的图像部分和表示与上述第2变化区域相同的画面更新区域的画面更新区域信息一起经由上述网络传送给上述图像显示装置的工序。
26.如权利要求20所述的图像供给方法,其中,
上述工序(a)包括:
准备用于处理由应用程序发出的描绘命令并在帧存储器中描绘图像的描绘模块、以及钩挂并先行取得由上述应用程序发出的特定的描绘命令并按照取得的描绘命令在通用存储器内的特定的传送用图像存储区域描绘图像的钩挂处理模块的工序;以及
上述钩挂处理模块根据由上述应用程序发出的特定的描绘命令在上述通用存储器内的特定的传送用图像存储区域描绘图像的工序;
上述工序(b)包括:
在根据描绘命令进行图像的描绘时,取得并传送描绘在上述传送用图像存储区域的图像的工序;以及
在上述图像的描绘停止后,取得描绘在上述帧存储器中的图像并经由上述网络传送的工序。
CNB200510076764XA 2004-06-11 2005-06-10 利用描绘命令的钩挂的图像供给装置及方法 Expired - Fee Related CN100368984C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2004173284A JP3826941B2 (ja) 2004-06-11 2004-06-11 描画命令のフックを利用した画像の転送
JP173288/2004 2004-06-11
JP173284/2004 2004-06-11
JP241224/2004 2004-08-20
JP241239/2004 2004-08-20
JP241214/2004 2004-08-20

Publications (2)

Publication Number Publication Date
CN1707423A true CN1707423A (zh) 2005-12-14
CN100368984C CN100368984C (zh) 2008-02-13

Family

ID=35581365

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510076764XA Expired - Fee Related CN100368984C (zh) 2004-06-11 2005-06-10 利用描绘命令的钩挂的图像供给装置及方法

Country Status (2)

Country Link
JP (1) JP3826941B2 (zh)
CN (1) CN100368984C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662618A (zh) * 2012-03-29 2012-09-12 北京奇虎科技有限公司 远程协助过程中的图像处理方法及装置
CN105164746A (zh) * 2013-05-29 2015-12-16 三菱电机株式会社 图像显示装置、图像发送装置和使用它们的图像显示系统
CN105263046A (zh) * 2015-10-16 2016-01-20 苏州佳世达电通有限公司 影像画面调整方法
CN107203292A (zh) * 2016-03-17 2017-09-26 精工爱普生株式会社 显示装置、显示装置的控制方法以及程序

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4966285B2 (ja) 2008-10-30 2012-07-04 株式会社東芝 情報処理装置、エフェクトプログラムおよびコンテンツ補正処理方法
JP2012203889A (ja) * 2011-03-28 2012-10-22 Fujitsu Ltd 画面共有方法、画面共有装置、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU8393191A (en) * 1990-07-10 1992-02-04 Athenix Corporation Selective content synchronization of multiple image buffers
GB2270581A (en) * 1992-09-15 1994-03-16 Ibm Computer workstation
CN1455372A (zh) * 2003-05-29 2003-11-12 上海交通大学 基于ip网络的屏幕共享和同步录制方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662618A (zh) * 2012-03-29 2012-09-12 北京奇虎科技有限公司 远程协助过程中的图像处理方法及装置
CN105164746A (zh) * 2013-05-29 2015-12-16 三菱电机株式会社 图像显示装置、图像发送装置和使用它们的图像显示系统
CN105263046A (zh) * 2015-10-16 2016-01-20 苏州佳世达电通有限公司 影像画面调整方法
CN107203292A (zh) * 2016-03-17 2017-09-26 精工爱普生株式会社 显示装置、显示装置的控制方法以及程序

Also Published As

Publication number Publication date
JP3826941B2 (ja) 2006-09-27
CN100368984C (zh) 2008-02-13
JP2005352795A (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
CN1268122C (zh) 显示方法及投影机
CN1293760C (zh) 图象数据处理装置和液晶显示装置
CN1167265C (zh) 图像通信系统及其方法
CN1179280C (zh) 通信系统及其方法,发送装置及其方法
CN1130638C (zh) 存储装置和存取方法
CN1252646C (zh) 图像处理方法和图像处理装置
CN1258909C (zh) 动图象合成装置
CN1265652C (zh) 色彩修正装置和修正方法,图像处理装置和处理方法
CN1176548C (zh) 信息接收记录重放装置、信息接收记录重放方法
CN1790528A (zh) 重放装置及其方法、记录介质和程序
CN1684491A (zh) 图像处理装置、图像投影装置、图像处理方法和程序
CN1867940A (zh) 成像装置及其图像处理方法
CN1707423A (zh) 利用描绘命令的钩挂的图像传送
CN1833230A (zh) 网络音频及视频系统
CN1571988A (zh) 图像处理装置、图像传送装置、图像接收装置和图像处理方法
CN1204810A (zh) 遥控方法、服务器及记录介质
CN1220390C (zh) 图像处理设备和图像处理方法
CN1812548A (zh) 记录器及其方法,播放器及其方法,程序和记录介质
CN1468006A (zh) 图像处理设备和方法、图像显示设备以及移动电子装置
CN1503122A (zh) 简化视频再现器与图形设备驱动器之间的交互作用
CN1681287A (zh) 数字照相机、像簿管理方法、像簿管理程序产品、以及像簿管理程序传送介质
CN1292628A (zh) 发送器、接收机和使用两者的信号传输系统
CN1812479A (zh) 图像处理装置、方法和输出装置、摄像装置、程序和介质
CN1957601A (zh) 信息信号处理设备、功能块控制方法和功能块
CN1744720A (zh) 可变长度解码装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080213

Termination date: 20210610