CN100461847C - 可视化共享应用程序的方法和系统 - Google Patents

可视化共享应用程序的方法和系统 Download PDF

Info

Publication number
CN100461847C
CN100461847C CNB2003801065376A CN200380106537A CN100461847C CN 100461847 C CN100461847 C CN 100461847C CN B2003801065376 A CNB2003801065376 A CN B2003801065376A CN 200380106537 A CN200380106537 A CN 200380106537A CN 100461847 C CN100461847 C CN 100461847C
Authority
CN
China
Prior art keywords
data segment
block
display data
processing system
pixel
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.)
Expired - Fee Related
Application number
CNB2003801065376A
Other languages
English (en)
Other versions
CN1726711A (zh
Inventor
D·劳德
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.)
Intercall Inc Canada
Original Assignee
Genesys Conferencing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Genesys Conferencing Ltd filed Critical Genesys Conferencing Ltd
Publication of CN1726711A publication Critical patent/CN1726711A/zh
Application granted granted Critical
Publication of CN100461847C publication Critical patent/CN100461847C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/562Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities where the conference facilities are distributed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了用于应用程序广播的方法和设备。在一个实施例中,从主席广播到一个或多个参加者的像素数据被划分为区块。为每个区块生成显示数据。每个显示数据段(段)包括该区块的像素数据,并且还包括区块标识。所述段被周期性计算。如果像素数据改变,则用对应于所述区块的最新的段替代所述段。每个区块的每个段内还包括时间指示符以表明该段更新的时间。参加者DPS向服务器请求数据并且提供其接收到的上一个段的时间指示符。然后服务器发送在此后更新的每个区块的当前段。这允许在参加者的DPS上显示主席的显示屏幕的最新版本。

Description

可视化共享应用程序的方法和系统
技术领域
本发明一般地涉及应用程序广播和共享,并且尤其涉及一种广播应用程序的方法和系统。
背景技术
互联网相关网络(例如万维网(Web))可以用于应用程序广播(applicationbroadcast)和共享会议。应用程序广播和共享会议可以包括,例如具有运行在数字处理系统(DPS)上的特定应用程序(面向用户的、特定功能的软件)的会议主席(moderator)。会议主席可能需要位于远程数字处理系统的一个或多个会议参加者能够知道主席与应用软件的交互。潜在地,共享应用程序可以扩展到允许一个或多个参加者从主席处获得对应用程序的控制。所述的通过网络的应用程序广播和共享近年来显著的增长。
典型的,应用程序广播和共享是通过在服务器DPS上获取来自主席的DPS的像素数据而实现的,所述服务器DPS通过互联网将所述像素数据发送至位于远处的参与者(客户端)DPS。参加者DPS接收数据并且使相应的图像在参加者DPS上为该参加者显示。典型的,参加者DPS执行流媒体播放软件,例如由华盛顿西雅图的RealNetworks公司开发的Real Player。流格式允许数据以稳定的数据流被实时处理。来自主席DPS的显示基于实况被发送到服务器。例如,所述系统可以周期性的进行抓屏(screen scrape)。抓屏可以通过在来自当前屏幕的像素数据和来自发送到服务器的上一屏幕的像素数据之间执行异或(XOR)运算而进行。所述XOR运算使得所有从上次抓屏以来没有变化的像素被黑色抹去,而剩下的则为彩色。服务器保持抓屏队列,所述抓屏队列为主席的DPS上的变化的历史记录。为了减少在服务器上必须存储的数据量,对抓屏进行压缩。例如,可以使用游程长度编码(RLE)压缩方法对数据进行压缩。RLE压缩对所述这种有很长相同值的序列的情况提供了很高的压缩率。所述序列被压缩为其自身值以及表明该序列长度的数值。
参加者DPS根据各个参加者DPS的连接和处理能力(速度)尽可能快的从所述队列下载数据。流格式支持动画效果,但是如果某些参加者的连接和处理速度不足时可能会使他们滞后于会议的其他参加者。所述系统考虑到互联网并不是进行实时通信的理想媒介而因此增加了缓冲以帮助提供连贯显示。所述缓冲增加了若干秒的延迟。并且,某些现有系统基于每个用户创建队列和图像缓冲,因此参加会议的人越多,服务器管理输出数据流就越困难。也就是说,当参加者DPS数量的增加,给定服务器DPS的硬件需求可能变得过大,需要通过流分割进行分配。所述系统可能将数据流分割到若干服务器之间以分配负荷而提高可伸缩性。每次流分割都会给系统增加延迟,从而降低实时效果。
这些方法对于可能采用了电话系统以描述应用程序的实时会议是不够的。也就是说,在主席通过电话系统描述所述应用程序时,参加者应当能够看到主席所提到的应用程序的各个方面。由缓冲或者可伸缩性因素(例如流分割)引起的的延迟对会议有不利影响。
发明内容
描述了一种应用程序广播的方法。主席的数字处理系统的显示屏幕被划分为多个区块(tile),所述显示屏幕包括大量像素,每个区块包括所述大量像素的一部分。对应于各个区块的显示数据段由存储在存储器中的该区块的位图而创建,每个显示数据段包括相对应的区块的像素数据。所述显示数据段存储在服务器数字处理系统上。计算每个区块以确定该区块的像素数据是否改变,该计算包括将当前在主席数字处理系统上显示的区块的当前版本与用于创建存储在服务器数字处理系统上的显示数据段的区块的最新版本进行比较。创建对应于每个像素数据已经改变了的区块的更新后的显示数据段,每个更新后的显示数据段包括对应区块的更新后的像素数据。更新后的显示数据段存储在服务器数字处理系统上,从而替换对应的已存储的显示数据段。
本发明还提供一种在服务器数字处理系统上存储显示数据的设备,包括:将主席数字处理系统的显示屏幕划分为多个区块的装置,所述显示屏幕包含多个像素,每个区块包含所述多个像素的一部分;使用存储在存储器中的区块的位图创建对应于每个区块的显示数据段的装置,每个显示数据段包含对应区块的像素数据;在服务器数字处理系统上存储所述显示数据段的装置;计算每个区块以确定该区块的像素数据是否发生了改变的装置,该装置包括将当前在主席数字处理系统上显示的区块的当前版本与用于创建存储在服务器数字处理系统上的显示数据段的区块的最新版本进行比较的装置;创建对应于像素数据发生改变的每个区块的更新的显示数据段的装置,每个更新的显示数据段包含对应区块的更新的像素数据;以及在服务器数字处理系统上存储所述更新的显示数据段从而替代对应的已存储的显示数据段的装置。
本发明还提供一种方法,包括:发送显示数据到参加者数字处理系统,所述显示数据包括多个显示数据段,多个数据段中的每个显示数据段包括对应区块的像素数据,每个区块包括主席数字处理系统显示屏幕的多个像素的一部分以及表明所述显示数据段创建时间的时间指示符;接收来自参加者数字处理系统的显示数据更新请求;访问表明前一次显示数据发送时间的所述多个显示数据段中的显示数据段的更新时间指示符;确定具有在所述更新时间指示符之后的时间指示符的显示数据段;以及发送具有在所述更新时间指示符之后的时间指示符的显示数据段到参加者数字处理系统。
本发明还提供一种发送显示数据的设备,包括:发送显示数据到参加者数字处理系统的装置,所述显示数据包括多个显示数据段,多个数据段中的每个显示数据段包括对应区块的像素数据,每个区块包括主席数字处理系统显示屏幕的多个像素的一部分以及表明所述显示数据段创建时间的时间指示符;接收来自参加者数字处理系统的显示数据更新请求的装置;访问表明前一次显示数据发送时间的所述多个显示数据段中的显示数据段的更新时间指示符的装置;确定具有在所述更新时间指示符之后的时间指示符的显示数据段的装置;以及发送具有在所述更新时间指示符之后的时间指示符的显示数据段到参加者数字处理系统的装置。
本发明还提供一种方法,包括:请求来自服务器数字处理系统的显示数据更新;以及将一个或多个显示数据段接收到参加者数字处理系统,一个或者多个数据段中的每个数据段具有表明该显示数据段创建时间的时间指示符,每个时间指示符在更新时间指示符之后,所述更新时间指示符表明上次发送显示数据的时间,所述一个或者多个显示数据段中的每个显示数据段包括主席数字处理系统的显示屏幕的一部分像素的像素数据。
本发明还提供一种接收显示数据更新的设备,包括:请求来自服务器数字处理系统的显示数据更新;以及将一个或多个显示数据段接收到参加者数字处理系统,一个或者多个数据段中的每个数据段具有表明该显示数据段创建时间的时间指示符,每个时间指示符在更新时间指示符之后,所述更新时间指示符表明上次发送显示数据的时间,所述一个或者多个数据段中的每个显示数据段包括主席数字处理系统的显示屏幕的一部分像素的像素数据。
本发明还提供一种系统,包括:主席数字处理系统;所述主席数字处理系统在服务器数字处理系统上存储多个显示数据段,其中所述主席数字处理系统的显示屏幕被划分成多个区块,每个显示数据段包括对应于所述主席数字处理系统的显示屏幕的与所述多个区块中的区块相关联的部分像素的像素数据,从而每个像素部分被周期性计算以确定所述像素部分的像素数据是否改变,所述计算包括将当前在主席数字处理系统上显示的区块的当前版本与用于创建存储在服务器数字处理系统上的显示数据段的区块的最新版本进行比较,并且如果对应的像素部分的像素数据改变则更新各个数据段;以及至少一个连接到服务器数字处理系统的参加者数字处理系统,所述参加者数字处理系统能够周期性访问存储在服务器数字处理系统上的多个显示数据段并且下载各个在最近下载的显示数据段之后发生更新的数据段。
本发明的其他特征和优点可以通过下面的附图和详细描述而更清楚。
附图说明
本发明以附图的示例形式说明,但并不局限于此,其中相同的标号表示相同的元件,在附图中:
图1是根据本发明一个实施例的应用程序广播和共享会议系统的系统结构图;
图2是主席的DPS显示屏幕的像素数据被存储到服务器并且周期更新的方法的程序流程图;
图3表示根据本发明一个实施例的分割后的主席DPS显示屏幕和存储在服务器上的对应的显示数据段;
图4是根据本发明一个实施例的服务器DPS向参加者DPS发送更新后的主席DPS显示屏幕数据的方法的程序流程图;
图5是根据本发明一个实施例的参加者DPS接收主席DPS显示屏幕的当前显示的方法的程序流程图;以及
图6是根据本发明一个实施例可以使用的DPS的结构图。
具体实施方式
描述应用程序广播和共享的方法和设备。在一个实施例中,由主席DPS通过互联网广播到一个或多个参加者DPS的像素数据被分割为区块。对每个区块生成显示数据。每个显示数据段(对每个区块的显示)包括可以进行压缩的该区块的像素数据,还包括区块标识,所述区块标识还可以表示该区块的相对显示屏幕位置。每个区块的显示数据段通过确定该区块的像素数据是否改变而周期更新。如果改变,则该区块的显示数据段由对应于该区块的最新的显示数据段所替代。每个区块的显示数据段还包括时间指示符,用于指示该区块的显示数据段被更新(替代)的时间。在任何给定时间在服务器上只有表示每个区块的当前版本的显示数据段才是有效的。参加者DPS请求来自服务器的数据并且提供其上次接收的显示数据段的时间指示符。然后服务器发送随后更新的每个区块的当前显示数据段。这使得参加者的DPS可以显示主席显示屏幕的最新版本。
在下面的本发明的详细描述中,给出了大量的特定细节以提供对本发明的彻底理解。然而,本领域技术人员应该明白,本发明可以不具有这些特定细节而实施。在某些示例中,公知的结构和设备以结构图形式显示而不详细说明,以免模糊本发明。
图1是根据本发明一个实施例的应用程序广播和共享会议系统的系统结构图。图1中显示的系统100包括主席DPS 105和服务器DPS 110,所述服务器DPS 110通过互联网115连接到多个本地或远程参加者DPS 120a、120b和120c。所述互联网115是一种网络,通过所述网络信息以本领域技术人员公知的方法(例如使用TCP和IP协议)进行交换。典型的,主席DPS 105正在显示应用程序。所述应用程序可以是任何类型的面向用户、特定功能软件,例如华盛顿雷蒙德的微软公司开发的Windows应用程序。
主席DPS 105的显示屏幕被划分为多个区块。每个区块表示显示屏幕的特定段并且对应于显示屏幕像素的特定部分。在一个实施例中区块是可以配置的、固定长度的矩形像素块(例如128像素×32像素)。每个区块的像素数据可以进行压缩,作为显示数据段存储在服务器DPS 110上。这为每个参加者DPS 120a、120b和120c的访问提供了对主席DPS 105显示屏幕数据的显示。采用一定算法快速识别区块内的任何像素是否改变,如果改变,则使用该区块的新的像素数据创建新的显示数据段来代替服务器上该区块的显示数据段。从而,存储在服务器DPS 110上的显示屏幕显示被更新。服务器DPS 110在任何时间仅存储每个区块的像素数据的当前版本,因此仅存储主席DPS 105显示屏幕的一个显示。因此服务器DPS 110没有存储关于显示屏幕的历史信息的负担,并且不对每个参加者创建图像缓冲。也就是说,服务器DPS 110上所使用的存储器数量仅限于存储当前显示屏幕像素数据(即每个区块的显示数据段)并且与访问数据的参加者数量无关。因此,可以实现更大的可伸缩性而不引入附加延迟。
存储在服务器DPS 110上的每个区块的显示数据段中的像素数据中包括时间指示符(即时间戳),所述时间指示符指示该显示数据段上次更新的时间(即该区块的像素数据上次改变的时间)。当参加者DPS访问数据时,服务器访问存储在该服务器上的来自该参加者DPS的上次的时间戳。服务器DPS 110随后仅发送具有更晚的时间指示符的显示数据段。然而,在参加者DPS有机会下载显示数据段之前区块可能更新若干次。这样参加者DPS仅接收和处理对于显示主席DPS显示屏幕的当前状态所需的数据。
下面给出关于主席DPS 105、服务器DPS 110以及参加者DPS 120a、120b和120c的操作的进一步细节。
系统100还包括可以与主席DPS 105共置的主席电话106,以及可以分别与参加者DPS 120a、120b和120c共置的多个参加者电话121a、121b和121c。主席电话106通过电话网络连接到每个参加者电话121a、121b和121c。电话网络用公共交换电话网125表示,但是其在可替换实施例中可以为任何电信网络,包括任何模拟或数字(例如ISDN)、有线或无线电信系统或者VoIP。主席DPS 105典型的可以由会议主席进行控制。主席还可以在应用程序显示时对其进行评论。由于参加者DPS 120a、120b和120c仅仅访问显示屏幕的最新显示,参加者DPS处的显示可以反映出通过电话网络125发送的主席评论而不会有令人不快的延迟。
图2是主席的DPS显示屏幕的像素数据被存储到服务器并且周期更新的方法的程序流程图。图2中显示的程序200开始于操作205,在所述操作205中主席DPS的显示屏幕被划分为段(区块)。显示屏幕的分割可以在主席DPS完成,或者在替换实施例中在服务器DPS完成。在一个实施例中,主席DPS显示屏幕被分割为尺寸为128像素×32像素的矩形区块。典型的,在显示屏幕如此分割后,区块配置在整个会议中不再改变。这样的配置产生了固定的坐标系统,其中每个区块可以通过其坐标来标识。例如,每个区块可以通过区块的左上角的x—y坐标而唯一标识。
在操作210,对应于每个区块的显示数据段被创建并发送到服务器DPS并且存储在服务器DPS上。每个显示数据段包括对应区块的像素数据。来自每个区块的像素数据被压缩并与该区块的唯一标识一起存储为对应的显示数据段。在任何给定时间仅在服务器上存储一个区块版本。每个显示数据段还包括时间指示符,用于指示对应的区块上次改变(更新)的时间。
图3表示根据本发明一个实施例的分割后的主席DPS显示屏幕和存储在服务器上的对应的显示数据段。图3中显示的显示屏幕300被划分为四个区块306~309。每个区块基于其在显示屏幕上的位置进行标识。例如,区块306~309可以分别用坐标对(0,0),(0,50),(50,0)和(50,50)进行标识。特定标识是任意的并且可以采用能够唯一标识每个区块的任何系统。每个区块的像素数据被编码(压缩)并发送到服务器310。服务器310包括对应于每个区块306~309的显示数据段,即306a~309a。每个显示数据段306a~309a包括编码后的像素数据315和对应区块的区块标识320。每个显示数据段306a~309a还包括时间指示符325,用于指示该显示数据段被创建的时间。尽管显示屏幕300被显示为划分成四个区块,在实际实施例中,显示屏幕可以划分为更多更小的区块。在这些实施例中,每个区块的特有颜色的数量少于屏幕上颜色的数量,这允许进一步的压缩可能,如下所述。
再次参考图2,在操作215,周期性地计算每个区块以确定该区块的像素数据是否改变。在一个实施例中,使用具有非常快的存储器比较程序的处理器(例如加利福尼亚的圣塔克莱拉的英特尔公司推出的多媒体扩展(MMX)奔腾处理器)来将主席DPS显示屏幕上当前显示的每个区块和服务器上存储的该区块的最新版本进行比较。也就是说,当前在屏幕上显示的区块的位图T0被存储在存储器中。位图T0与服务器DPS上存储的用于创建对应的显示数据段的相同区块的位图T-1进行比较,所述位图T-1也存储在存储器中。使用存储器比较程序可以很快确定两个存储器位置是否相同。在一个实施例中,计算区块以确定是否发生改变的过程在主席DPS允许的限度内尽可能频繁的重复进行。可替换地,区块计算过程的重复频率可以基于参加者DPS的连接和处理速度或者其他系统准则的。
如果位图T0和位图T-1不相同,则该区块被指定为“改动过的区块”(即该区块已被更新)。在操作220,为每个改动过的区块确定更新显示数据段。更新显示数据段包含对应于当前位图(位图T0)的像素数据以及更新的时间指示符。区块标识在整个过程中保持不变。新的显示数据段发送到服务器,并且服务器以新的显示数据段替代对应的旧的显示数据段。存储在服务器上的区块的已有显示数据段在区块更新时被丢弃。从而存储在服务器上的该区块的新的显示数据段显示是参加者DPS可以访问的该区块的唯一显示。
在操作225,如果会议没有结束,计算区块以确定是否发生改变、为改变的区块确定新的显示数据段并且以对应的新的显示数据段替代旧的显示数据段的过程继续执行。
如上所述,结合附图2和图3,每个区块的像素数据在存储到服务器DPS上之前被压缩。像素数据可以通过本领域公知的若干种数据压缩方法中任何一种进行压缩。像素数据压缩可以在主席DPS进行或者在服务器DPS进行。在一个实施例中,像素数据压缩通过改进的RLE压缩方法在主席DPS上进行。每个区块表示显示屏幕的一小部分。在一个实施例中,每个区块表示显示屏幕的一部分,所述显示屏幕的一部分为128像素长乘以32像素宽。对这个相对较小的区域,可能显示的颜色数量远低于整个屏幕上将显示的颜色数量。对每个区块,像素数据所需的颜色数量在16至64色之间。因此,尽管参加者DPS显示设备可以提供真彩色能力(每个像素由24位表示),但是可以通过仅以一个字节(8位)表示一个区块内的每个像素而实现更高的压缩。因此,在本发明的一个实施例中,可以采用改进的RLE编码,其中区块的像素仅使用一个字节进行编码。每个字节显示提供了256种颜色,这对于一个区块内的颜色范围是足够的。而且,如果一个区块内的颜色范围远低于此,则每个字节可以存储多个像素。例如,如果对于一个给定的区块,颜色范围仅为16种颜色,则仅需要4比特对一个像素进行编码并且每个字节内可以编码两个像素。这种改进的RLE编码方法受到确定编码区块所需的颜色数量的影响,并且如同显示设备被设置为该色深那样对数据进行编码。也就是说,每个区块的色深在该区块被编码时是动态改变的。这与传统的RLE编码相比可以得到更高的压缩率。
在一个实施例中,可以通过在数据在网络缓冲上排队时对其进行第二轮压缩而进一步提高压缩率。如上所述,发生改变的区块被压缩并且发送到服务器。系统能够以高于数据通过网络传送的速度来标识和压缩区块。
因此,更新的显示数据段在主席DPS上的网络缓冲队列中延迟。当数据进入队列等待时,对输出的数据流进行第二次压缩是可能的。并且,由于区块可能在队列中延迟,它们在被发送前可能被后续更新所替代。
上面结合图2所描述的操作以及上述的数据压缩可以通过主席DPS内包含的硬件和/或软件实现。例如,主席DPS可以包括一个或多个处理器,所述处理器可以执行存储在机器可读的介质内的代码或指令,所述机器可读介质也可以包含在主席DPS内,这将在下面结合图6进行更详细的描述。
图4是根据本发明一个实施例的服务器DPS向参加者DPS发送更新后的主席DPS显示屏幕数据的方法的程序流程图。图4中显示的程序400开始于操作405,在所述操作405中服务器DPS将初始显示屏幕配置信息发送到参加者DPS。初始显示屏幕配置信息确定屏幕的几何形状并且包括区块大小,以及每个区块的唯一标识。区块标识还可以表示区块在屏幕上的位置并且提供屏幕几何形状。此时,参加者DPS还可以接收对应于每个区块的初始显示数据段。
在操作410处参加者DPS与服务器DPS联络并且请求数据更新。一旦接收到该请求,服务器DPS即访问存储在服务器上的来自参加者DPS的最新的时间指示符(即时间戳)。所述时间指示符表明了参加者DPS接收的最新的显示数据段的时间,并且实际上向服务器DPS说明其主席DPS显示屏幕的当前版本。
在操作415处服务器DPS将在服务器DPS上存储的参加者的时间指示符与每个显示数据段的时间指示符进行比较。为了更新参加者DPS,服务器DPS仅需要发送在参加者DPS时间指示符所表示的时间之后被替代的显示数据段。
如果特定区块的显示数据段具有在所存储的参加者DPS的时间指示符之后的时间指示符,这表明对应的区块自从上次参加者DPS访问显示数据段以来发生了改变。如果显示数据段具有从参加者DPS接收到的时间指示符之后的时间指示符,则服务器DPS在操作420中向参加者DPS发送该显示数据段。
如果特定区块的显示数据段不具有在所存储的参加者DPS的时间指示符之后的时间指示符,这表明对应的区块自从上次参加者DPS访问显示数据段以来没有发生改变。如果区块自从上次DPS访问以来没有改变,则对应的区块不被发送到参加者DPS。
在操作425处将另一个显示数据段的时间指示符与所存储的参加者DPS的时间指示符进行比较,并且该程序一直进行到对应于每个区块的所有显示数据段都已进行比较。
服务器DPS能够确定显示数据段是否具有在所存储的参加者DPS的时间指示符之后的时间指示符的速度快于所述显示数据段发送到参加者DPS的速度。在此情况下,显示数据段可以排队进行发送。对应于排队的显示数据段的区块可以在该显示数据段被发送之前更新。如果如此,则服务器DPS可以以更新版本的显示数据段来替代队列中的该显示数据段。这样确保了参加者DPS接收到每个区块的最新状态,即使该区块在参加者DPS发出数据更新请求之后发生了多次改变。
上述结合图4所描述的操作可以通过服务器DPS内包含的硬件和/或软件实现。例如,服务器DPS可以包括一个或多个处理器,所述处理器可以执行存储在机器可读的介质内的代码或指令,所述机器可读介质也可以包含在服务器DPS内,这将在下面结合图6进行更详细的描述。
图5是根据本发明一个实施例的参加者DPS接收主席DPS显示屏幕的当前显示的方法的程序流程图。图5中显示的程序500开始于操作505,在所述操作505中参加者DPS与服务器联络并且请求数据更新。
在操作510处参加者DPS接收在最近的更新之后更新的显示数据段。所述显示数据段包括如上所述的对应区块的压缩的像素数据。
在操作515处,压缩的像素数据基于压缩数据的压缩方法而被解压缩。例如,如果像素数使用如上所述的改进的RLE压缩方法进行压缩,则参加者DPS使用反向的RLE方法并且考虑数据编码的色深。一旦显示数据段的像素数据被解码,则参加者DPS具有对应于该显示数据段的改变的区块的显示。
在操作520处参加者DPS使用显示数据段内包含的区块标识来标识参加者DPS显示屏幕上的对应区块,并且使用解压缩的像素数据来更新参加者DPS显示屏幕。例如,在一个实施例中所述标识为显示屏幕上矩形区块的x—y坐标。因此参加者DPS可以识别将更新的像素数据用于哪个区块。
上面结合图5所描述的操作可以通过参加者DPS内包含的硬件和/或软件实现。例如,参加者DPS可以包括一个或多个处理器,所述处理器可以执行存储在机器可读的介质内的代码或指令,所述机器可读介质也可以包含在参加者DPS内,这将在下面结合图6进行更详细的描述。
图6是根据本发明一个实施例可以使用的DPS的结构图。例如,图6中显示的DPS 600可以作为参加者DPS或者主席DPS或者服务器DPS等等。而且,DPS 600可以用于执行互联网服务提供商的一种或多种功能。DPS 600可以通过调制解调器或者网络接口645连接到外部系统。所述调制解调器或网络接口可以认为是DPS 600的一部分。所述调制解调器或网络接口可以为模拟调制解调器、ISDN调制解调器、线缆调制解调器、令牌环接口、卫星传送接口、无线接口或者其他接口,用于在两个或更多DPS之间提供数据通信链路。
DPS 600包括处理器605,所述处理器605可以表示一个或多个处理器并且可以包括一个或多个传统类型的处理器,例如摩托罗拉PowerPC处理器(伊利诺斯的Schaumburg的摩托罗拉公司出产),Intel MMX奔腾处理器(加利福尼亚的圣塔克莱拉的英特尔公司出产)等等。存储器610通过总线615连接到处理器605。存储器610可以为动态随机访问存储器(DRAM)和/或可以包括静态RAM(SRAM)。处理器605还可以连接到其他类型的存储区域/存储器(例如高速缓存,闪速存储器,硬盘等等),所述存储区域/存储器应当被认为是存储器610的一部分或者独立于存储器610。
总线615进一步将处理器605连接到显示控制器620、海量存储器625、调制解调器或者网络接口645以及输入/输出(I/O)控制器630。
上面结合图2、图4和图5所描述的操作可以依赖于特定DPS和系统配置通过存储在海量存储器625上的软件实现。例如,将主席DPS显示屏幕划分为区块、创建对应于每个区块的显示数据段、确定区块的像素数据是否改变,以及创建对应于已改变的区块的更新后的显示数据段等操作都可以通过存储在主席DPS的海量存储器625上的软件而实现。将数据请求的时间指示符与每个显示数据段的时间指示符进行比较以及仅发送具有更晚的时间指示符的显示数据段等操作可以通过存储在服务器DPS的海量存储器625上的软件而实现。并且请求和接收更新后的显示数据段、解压缩每个更新后的显示数据段的像素数据以及使用每个区块标识来将更新的数据应用到对应的显示屏幕区块等操作可以通过存储在参加者DPS的海量存储器625上的软件而实现。
海量存储器625可以表示用于存储信息的磁性、光学、磁光、卡带和/或其他类型的机器可读介质/设备。例如,海量存储器625可以表示硬盘、只读或可写的光盘等等。显示控制器620以传统方式控制显示器635,所述显示器635可以表示阴极射线管(CRT)显示器、液晶显示器(LCD)、等离子显示器或者其他类型的显示设备。I/O控制器630控制I/O设备640,所述I/O设备640可以包括一个或多个键盘、鼠标/轨迹球或者其他点击设备,磁性和/或光学磁盘驱动器、打印机、扫描仪、数码相机、麦克风等等。
DPS 600仅表示系统的一个示例,所述系统可以具有很多不同配置和架构并且可以在本发明中采用。例如,Macintosh和Intel系统通常具有多个总线,例如外围设备总线、专用缓存总线等等。另一方面,网络计算机可以用作为本发明的DPS,所述网络计算机可以不包括例如硬盘或其他海量存储设备,但是可以从例如调制解调器或接口645等网络连接接收将被处理器605处理的程序和/或数据。类似的,本领域中公知的网络TV系统可以作为本发明的DPS,但是这种系统可以不包括一个或多个I/O设备,例如上述的I/O设备640。另外,使用了移动电话和/或寻呼功能的便携式通信和数据处理系统可以作为本发明使用的DPS。
在图6显示的系统600中,海量存储器625(和/或存储器610)可以存储根据本发明进行处理的媒体(例如应用程序、视频等等)。可替换地,媒体数据可以由DPS 600接收,例如通过调制解调器或网络接口645,并且由显示器635和/或I/O设备640进行存储和/或显示。在一个实施例中,数据可以通过例如LAN和/或互联网的数据通信网络发送。
在前述说明书中,结合特定示例实施例描述了本发明。然而显然可以对其作出各种修改和变动而不背离所附权利要求书中给出的本发明的更广泛的实质和范围。因此说明书和附图应被认为是示例性的而非限制性的。

Claims (28)

1.一种方法,包括:
将主席数字处理系统的显示屏幕划分为多个区块,所述显示屏幕包含多个像素,每个区块包含所述多个像素的一部分;
使用存储在存储器中的区块的位图创建对应于每个区块的显示数据段,每个显示数据段包含对应区块的像素数据;
在服务器数字处理系统上存储所述显示数据段;
计算每个区块以确定该区块的像素数据是否发生了改变,该计算包括将当前在主席数字处理系统上显示的区块的当前版本与用于创建存储在服务器数字处理系统上的显示数据段的区块的最新版本进行比较;
创建对应于像素数据发生改变的每个区块的更新的显示数据段,每个更新的显示数据段包含对应区块的更新的像素数据;以及
在服务器数字处理系统上存储所述更新的显示数据段从而替代对应的已存储的显示数据段。
2.根据权利要求1所述的方法,其中计算每个区块以确定像素数据是否改变的步骤包括:
将区块的当前位图存储到存储器中;以及
使用存储器比较程序将所述区块的当前位图与用于创建显示数据段的区块位图进行比较。
3.根据权利要求1所述的方法,其中所述显示数据段进一步包括唯一标识对应区块的区块标识以及表明所述显示数据段创建时间的时间指示符。
4.根据权利要求3所述的方法,其中所述更新的显示数据段进一步包括区块标识,以及表明所述更新的显示数据段创建时间的更新的时间指示符。
5.根据权利要求1所述的方法,其中所述每个区块表示显示屏幕的长为128像素宽为32像素的矩形部分。
6.根据权利要求1所述的方法,其中所述计算、创建以及替代的操作在应用程序广播会议期间重复进行。
7.根据权利要求1所述的方法,其中所述显示数据段和更新的数据段在被存储到服务器数字处理系统上之前使用游程编码压缩方法进行压缩。
8.根据权利要求7所述的方法,其中所述游程编码压缩方法是经过改进的,所述改进包括:
动态确定在对应区块内显示的颜色数量;以及
使用一定数量比特对对应区块的每个像素进行编码,比特数量决定于所述对应区块内显示的颜色数量。
9.一种在服务器数字处理系统上存储显示数据的设备,包括:
将主席数字处理系统的显示屏幕划分为多个区块的装置,所述显示屏幕包含多个像素,每个区块包含所述多个像素的一部分;
使用存储在存储器中的区块的位图创建对应于每个区块的显示数据段的装置,每个显示数据段包含对应区块的像素数据;
在服务器数字处理系统上存储所述显示数据段的装置;
计算每个区块以确定该区块的像素数据是否发生了改变的装置,该装置包括将当前在主席数字处理系统上显示的区块的当前版本与用于创建存储在服务器数字处理系统上的显示数据段的区块的最新版本进行比较的装置;
创建对应于像素数据发生改变的每个区块的更新的显示数据段的装置,每个更新的显示数据段包含对应区块的更新的像素数据;以及
在服务器数字处理系统上存储所述更新的显示数据段从而替代对应的已存储的显示数据段的装置。
10.根据权利要求9所述的设备,其中所述计算每个区块以确定像素数据是否改变的装置进一步包括:
将区块的当前位图存储到存储器中的装置;以及
使用存储器比较程序以将所述区块的当前位图与用于创建显示数据段的区块位图进行比较的装置。
11.根据权利要9所述的设备,其中所述显示数据段进一步包括唯一标识对应区块的区块标识以及表明所述显示数据段创建时间的时间指示符。
12.根据权利要求11所述的设备,其中所述更新的显示数据段进一步包括区块标识,以及表明所述更新的显示数据段创建时间的更新的时间指示符。
13.根据权利要求9所述的设备,其中所述每个区块表示显示屏幕的长为128像素宽为32像素的矩形部分。
14.根据权利要求9所述的设备,其进一步包括:
使用改进的游程编码压缩方法压缩所述显示数据段和更新数据段的装置,该装置包括,动态确定在对应区块内显示的颜色数量的装置,以及使用一定数量比特对对应区块的每个像素进行编码的装置,所述比特数量决定于所述对应区块内显示的颜色数量。
15.一种方法,包括:
发送显示数据到参加者数字处理系统,所述显示数据包括多个显示数据段,多个数据段中的每个显示数据段包括对应区块的像素数据,每个区块包括主席数字处理系统显示屏幕的多个像素的一部分以及表明所述显示数据段创建时间的时间指示符;
接收来自参加者数字处理系统的显示数据更新请求;
访问表明前一次显示数据发送时间的所述多个显示数据段中的显示数据段的更新时间指示符;
确定具有在所述更新时间指示符之后的时间指示符的显示数据段;以及
发送具有在所述更新时间指示符之后的时间指示符的显示数据段到参加者数字处理系统。
16.根据权利要求15所述的方法,其中所述显示数据进一步包括决定屏幕几何形状的配置信息,所述屏幕几何形状包括区块大小和每个区块的唯一标识。
17.根据权利要求16所述的方法,其中所述区块大小为128像素长乘32像素宽,并且所述每个区块的唯一标识表明该区块在主席数字处理系统的显示屏幕上的位置。
18.一种发送显示数据的设备,包括:
发送显示数据到参加者数字处理系统的装置,所述显示数据包括多个显示数据段,多个数据段中的每个显示数据段包括对应区块的像素数据,每个区块包括主席数字处理系统显示屏幕的多个像素的一部分以及表明所述显示数据段创建时间的时间指示符;
接收来自参加者数字处理系统的显示数据更新请求的装置;
访问表明前一次显示数据发送时间的所述多个显示数据段中的显示数据段的更新时间指示符的装置;
确定具有在所述更新时间指示符之后的时间指示符的显示数据段的装置;以及
发送具有在所述更新时间指示符之后的时间指示符的显示数据段到参加者数字处理系统的装置。
19.根据权利要求18所述的设备,其中所述显示数据进一步包括决定屏幕几何形状的配置信息,所述屏幕几何形状包括区块大小和每个区块的唯一标识。
20.根据权利要求19所述的设备,其中所述区块大小为128像素长乘32像素宽并且所述每个区块的唯一标识表明该区块在主席数字处理系统的显示屏幕上的位置。
21.一种方法,包括:
请求来自服务器数字处理系统的显示数据更新;以及
将一个或多个显示数据段接收到参加者数字处理系统,一个或者多个数据段中的每个数据段具有表明该显示数据段创建时间的时间指示符,每个时间指示符在更新时间指示符之后,所述更新时间指示符表明上次发送显示数据的时间,所述一个或者多个显示数据段中的每个显示数据段包括主席数字处理系统的显示屏幕的一部分像素的像素数据。
22.根据权利要求21所述的方法,其中所述参加者数字处理系统的显示屏幕的像素被划分为多个部分,每个部分对应于主席数字处理系统的显示屏幕的一部分像素,从而对应于主席数字处理系统的显示屏幕的一部分像素的显示数据段的像素数据被用于更新所述参加者数字处理系统的显示屏幕的对应部分像素。
23.一种接收显示数据更新的设备,包括:
请求来自服务器数字处理系统的显示数据更新;以及
将一个或多个显示数据段接收到参加者数字处理系统,一个或者多个数据段中的每个数据段具有表明该显示数据段创建时间的时间指示符,每个时间指示符在更新时间指示符之后,所述更新时间指示符表明上次发送显示数据的时间,所述一个或者多个数据段中的每个显示数据段包括主席数字处理系统的显示屏幕的一部分像素的像素数据。
24.根据权利要求23所述的设备,其中所述参加者数字处理系统的显示屏幕的像素被划分为多个部分,每个部分对应于主席数字处理系统的显示屏幕的一部分像素,从而对应于主席数字处理系统的显示屏幕的一部分像素的显示数据段的像素数据被用于更新所述参加者数字处理系统的显示屏幕的对应部分像素。
25.一种系统,包括:
主席数字处理系统;所述主席数字处理系统在服务器数字处理系统上存储多个显示数据段,其中所述主席数字处理系统的显示屏幕被划分成多个区块,每个显示数据段包括对应于所述主席数字处理系统的显示屏幕的与所述多个区块中的区块相关联的部分像素的像素数据,从而每个像素部分被周期性计算以确定所述像素部分的像素数据是否改变,所述计算包括将当前在主席数字处理系统上显示的区块的当前版本与用于创建存储在服务器数字处理系统上的显示数据段的区块的最新版本进行比较,并且如果对应的像素部分的像素数据改变则更新各个数据段;以及
至少一个连接到服务器数字处理系统的参加者数字处理系统,所述参加者数字处理系统能够周期性访问存储在服务器数字处理系统上的多个显示数据段并且下载各个在最近下载的显示数据段之后发生更新的数据段。
26.根据权利要求25所述的系统,其中每个显示数据段进一步包括表明更新时间的时间指示符,并且至少一个参加者数字处理系统通过发送访问请求到服务器数字处理系统而访问所述多个显示数据段,从而对于每个访问请求,所述服务器数字处理系统将表明最近下载的显示数据段的更新时间的时间指示符与每个显示数据段的更新时间进行比较,并且仅发送那些具有在最近下载的显示数据段的更新时间之后的更新时间的显示数据段。
27.根据权利要求26所述的系统,其中至少一个参加者数字处理系统远离所述主席数字处理系统并且通过互联网与其连接。
28.根据权利要求27所述的系统,其中所述周期性计算每个像素部分以确定该像素部分的像素数据是否改变的步骤包括:
将像素部分的当前位图存储到存储器中;以及
使用存储器比较程序将所述像素部分的当前位图与用于创建显示数据段的像素部分位图进行比较。
CNB2003801065376A 2002-12-18 2003-12-18 可视化共享应用程序的方法和系统 Expired - Fee Related CN100461847C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/325,811 2002-12-18
US10/325,811 US7616208B2 (en) 2002-12-18 2002-12-18 Method and system for application broadcast

Publications (2)

Publication Number Publication Date
CN1726711A CN1726711A (zh) 2006-01-25
CN100461847C true CN100461847C (zh) 2009-02-11

Family

ID=32593883

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801065376A Expired - Fee Related CN100461847C (zh) 2002-12-18 2003-12-18 可视化共享应用程序的方法和系统

Country Status (6)

Country Link
US (6) US7616208B2 (zh)
EP (1) EP1576816A1 (zh)
JP (1) JP4959135B2 (zh)
CN (1) CN100461847C (zh)
AU (1) AU2003289785A1 (zh)
WO (1) WO2004056107A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801993B1 (ko) * 2007-03-12 2008-02-12 김기연 멀티화면 콘텐츠 구현방법 및 구현 시스템
US8255461B1 (en) * 2009-03-06 2012-08-28 Cisco Technology, Inc. Efficient transmission of changing images using image caching
US8525844B2 (en) 2009-06-23 2013-09-03 Intel Corporation Display update for a wireless display device
US8862906B2 (en) * 2011-04-01 2014-10-14 Intel Corporation Control of platform power consumption using coordination of platform power management and display power management
KR20130078502A (ko) * 2011-12-30 2013-07-10 삼성전자주식회사 디스플레이장치, 업그레이드장치, 디스플레이 시스템 및 이들의 제어방법
JP5613710B2 (ja) * 2012-03-21 2014-10-29 株式会社東芝 サーバ端末、画面転送システムおよび画面転送方法
US8736629B1 (en) * 2012-11-21 2014-05-27 Ncomputing Inc. System and method for an efficient display data transfer algorithm over network
US9177534B2 (en) 2013-03-15 2015-11-03 Intel Corporation Data transmission for display partial update
US9449410B2 (en) * 2013-04-11 2016-09-20 Qualcomm Incorporated Intra-frame timestamps for tile-based rendering
CN116243841A (zh) 2014-06-27 2023-06-09 苹果公司 尺寸减小的用户界面
TWI647608B (zh) 2014-07-21 2019-01-11 美商蘋果公司 遠端使用者介面
WO2016022204A1 (en) 2014-08-02 2016-02-11 Apple Inc. Context-specific user interfaces
US10452253B2 (en) 2014-08-15 2019-10-22 Apple Inc. Weather user interface
US10254948B2 (en) * 2014-09-02 2019-04-09 Apple Inc. Reduced-size user interfaces for dynamically updated application overviews
CN115665320B (zh) 2014-09-02 2024-10-11 苹果公司 电子设备、存储介质和用于操作电子设备的方法
WO2016036522A2 (en) 2014-09-02 2016-03-10 Apple Inc. User interface for receiving user input
US10055121B2 (en) 2015-03-07 2018-08-21 Apple Inc. Activity based thresholds and feedbacks
US9916075B2 (en) 2015-06-05 2018-03-13 Apple Inc. Formatting content for a reduced-size user interface
US10333879B2 (en) * 2015-08-07 2019-06-25 Satori Worldwide, Llc Scalable, real-time messaging system
US9407585B1 (en) 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
US9602455B2 (en) 2015-08-07 2017-03-21 Machine Zone, Inc. Scalable, real-time messaging system
US9319365B1 (en) 2015-10-09 2016-04-19 Machine Zone, Inc. Systems and methods for storing and transferring message data
US9385976B1 (en) 2015-10-09 2016-07-05 Machine Zone, Inc. Systems and methods for storing message data
US9397973B1 (en) 2015-10-16 2016-07-19 Machine Zone, Inc. Systems and methods for transferring message data
US9602450B1 (en) 2016-05-16 2017-03-21 Machine Zone, Inc. Maintaining persistence of a messaging system
US10404647B2 (en) 2016-06-07 2019-09-03 Satori Worldwide, Llc Message compression in scalable messaging system
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
US9608928B1 (en) 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
US9967203B2 (en) 2016-08-08 2018-05-08 Satori Worldwide, Llc Access control for message channels in a messaging system
US10374986B2 (en) 2016-08-23 2019-08-06 Satori Worldwide, Llc Scalable, real-time messaging system
US10305981B2 (en) 2016-08-31 2019-05-28 Satori Worldwide, Llc Data replication in scalable messaging system
US9667681B1 (en) 2016-09-23 2017-05-30 Machine Zone, Inc. Systems and methods for providing messages to multiple subscribers
US10270726B2 (en) 2017-02-24 2019-04-23 Satori Worldwide, Llc Selective distribution of messages in a scalable, real-time messaging system
US10187278B2 (en) 2017-02-24 2019-01-22 Satori Worldwide, Llc Channel management in scalable messaging system
US10447623B2 (en) 2017-02-24 2019-10-15 Satori Worldwide, Llc Data storage systems and methods using a real-time messaging system
US10976983B2 (en) * 2019-03-26 2021-04-13 International Business Machines Corporation Smart collaboration across multiple locations
IL287191A (en) * 2021-10-12 2023-05-01 Visuality Systems Ltd A system and method of communication through data streaming
CN115373615B (zh) * 2022-08-25 2024-10-18 北京多屏未来科技有限公司 一种智能眼镜的多屏显示方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958378A (en) * 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
EP0669764A1 (en) * 1994-02-24 1995-08-30 Nec Corporation Multipoint video teleconferencing apparatus and system using the same
US6199116B1 (en) * 1996-05-24 2001-03-06 Microsoft Corporation Method and system for managing data while sharing application programs
WO2001095617A2 (en) * 2000-06-02 2001-12-13 Thomson Licensing S.A. Auxiliary information processing system with a bitmapped on-screen display using limited computing resources

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219312A (ja) * 1998-02-04 1999-08-10 Hitachi Ltd データキャッシュ方法およびデータアクセス方法
US6323860B1 (en) * 1999-03-17 2001-11-27 Nvidia Corporation Circuit and method for deferring the binding of render states to primitives in a graphics system
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
JP2002156894A (ja) * 2000-11-16 2002-05-31 E & B:Kk 遠隔教育方法及び遠隔教育システム
JP2002297486A (ja) * 2001-03-29 2002-10-11 Sanyo Electric Co Ltd 情報提供サーバおよび情報提供方法
US20030227565A1 (en) * 2001-06-01 2003-12-11 Hamilton Thomas Herman Auxiliary information processing system with a bitmapped on-screen display using limited computing resources
US20030058248A1 (en) * 2001-09-21 2003-03-27 Hochmuth Roland M. System and method for communicating graphics over a network
US20030202575A1 (en) * 2002-04-03 2003-10-30 Williams Billy Dennis System and method for digital video frame scanning and streaming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958378A (en) * 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
EP0669764A1 (en) * 1994-02-24 1995-08-30 Nec Corporation Multipoint video teleconferencing apparatus and system using the same
US6199116B1 (en) * 1996-05-24 2001-03-06 Microsoft Corporation Method and system for managing data while sharing application programs
WO2001095617A2 (en) * 2000-06-02 2001-12-13 Thomson Licensing S.A. Auxiliary information processing system with a bitmapped on-screen display using limited computing resources

Also Published As

Publication number Publication date
JP2006511109A (ja) 2006-03-30
US8754898B1 (en) 2014-06-17
US8310493B1 (en) 2012-11-13
WO2004056107A1 (en) 2004-07-01
JP4959135B2 (ja) 2012-06-20
AU2003289785A1 (en) 2004-07-09
EP1576816A1 (en) 2005-09-21
US9904503B1 (en) 2018-02-27
US9607354B1 (en) 2017-03-28
US9171349B1 (en) 2015-10-27
US20070028173A1 (en) 2007-02-01
US7616208B2 (en) 2009-11-10
CN1726711A (zh) 2006-01-25

Similar Documents

Publication Publication Date Title
CN100461847C (zh) 可视化共享应用程序的方法和系统
US20210152623A1 (en) Image display system with visual server
US8189662B2 (en) Selection compression
US7103099B1 (en) Selective compression
US7171444B2 (en) Remote desktop protocol compression system
JP2002344880A (ja) コンテンツ配信システム
EP1571848A2 (en) Adaptive video delivery using user records
JP2009021901A (ja) 画像送信装置、画像送信方法、受信装置および画像送信システム
US9226003B2 (en) Method for transmitting video signals from an application on a server over an IP network to a client device
US8255461B1 (en) Efficient transmission of changing images using image caching
Woodward et al. Wireless 3d cad viewing on a pda device
US8107525B1 (en) Variable bit rate video CODEC using adaptive tracking for video conferencing
US20230088496A1 (en) Method for video streaming
US12088643B2 (en) Videoconferencing with reduced quality interruptions upon participant join
WO2002028085A2 (en) Reusing decoded multimedia data for multiple users
IL173679A (en) Providing compressed video
IL141104A (en) Remote computer access
IL173676A (en) Manipulating a compressed video system
JPH01276853A (ja) パケット通信テレビ会議端末

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
ASS Succession or assignment of patent right

Owner name: INTERCALL CANADA INC.

Free format text: FORMER OWNER: GENESYS CONFERENCING LTD.

Effective date: 20141102

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141102

Address after: Kingston Canada

Patentee after: InterCall's Canada Company

Address before: American California

Patentee before: Genesys Conferencing Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211

Termination date: 20191218

CF01 Termination of patent right due to non-payment of annual fee