CN101783937A - 利用嵌入式编码像素测量远程视频回放性能 - Google Patents

利用嵌入式编码像素测量远程视频回放性能 Download PDF

Info

Publication number
CN101783937A
CN101783937A CN200910250399A CN200910250399A CN101783937A CN 101783937 A CN101783937 A CN 101783937A CN 200910250399 A CN200910250399 A CN 200910250399A CN 200910250399 A CN200910250399 A CN 200910250399A CN 101783937 A CN101783937 A CN 101783937A
Authority
CN
China
Prior art keywords
video
marker character
frame
frame number
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.)
Granted
Application number
CN200910250399A
Other languages
English (en)
Other versions
CN101783937B (zh
Inventor
梅金贾·维克拉姆M
毕达卡·里希N
萨特娜·苏尼尔
科里斯南·斯里尼瓦斯
阿格拉沃尔·班尼特
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.)
Weirui LLC
Original Assignee
VMware LLC
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 VMware LLC filed Critical VMware LLC
Publication of CN101783937A publication Critical patent/CN101783937A/zh
Application granted granted Critical
Publication of CN101783937B publication Critical patent/CN101783937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了用于测量远程视频传送的性能的方法、系统和计算机程序。该方法在服务器计算机处在视频流的选定帧中嵌入标记符。该标记符包括预配置的像素序列并且其后跟随编码在像素数据中的帧号码。该方法随后在客户计算机处找到第一标记符以确定标记符在显示中的位置。一旦标记符的位置被确定,后续帧中的标记符及其对应的帧号码被检测。该方法存储每个检测到的标记符的帧号码和到达时间。存储的到达时间和帧号码可以用于远程视频传送的统计性能分析。

Description

利用嵌入式编码像素测量远程视频回放性能
技术领域
本发明一般地涉及利用嵌入式编码像素测量远程视频回放性能。
背景技术
计算行业近年来已有许多进步,这些进步产生了大量产品和服务。计算系统也有了许多改变,包括它们的虚拟化。计算机资源的虚拟化通常意味着涉及计算机硬件的抽象,其实质是将操作系统与应用同底层硬件相分离。硬件因而在多个操作系统和应用之间被共享,其中每个操作系统和应用在对应的虚拟机(VM)中被隔离。虚拟化的结果是硬件被更有效利用并被平衡,因此虚拟桌面基础架构(VDI)正成为更有前途的解决方案。利用VDI,用户通过网络连接访问在远程服务器上运行的虚拟机所提供的个人桌面。每个VM是完整的执行环境,并且服务器通过网络连接提供用户界面,从而在用户和VM之间传输用户输入和输出。在用户使用远程服务时为用户提供与使用程序在本地执行的传统系统类似的桌面体验,这是非常有吸引力的。用户体验的质量基于许多基础因子(例如,往返等待时间或网络带宽)而会变化。
在用于远程传送的众多关键应用中,解决方案提供商将远程视频回放视为最重要的应用之一。远程视频回放也是最经常使用的应用之一,其由于施加在实时视频传送所需的底层资源(例如,服务器计算能力和下行链路带宽)上的压力,易受到性能劣化的影响。在视频传送期间,多数资源会变成瓶颈。尽管存在一些措施来找到这些资源中的一些资源的利用率,但是不存在测量远程端的视频性能和质量的准确方法。过去的方法使用对进入网络数据的分析,以试图使网络性能和视频质量相关。该方法并不准确,因为可能发生由于有限带宽而使服务器端的协议降低视频的比特率,或者因为可能存在影响视频性能的一些用于播放器皮肤(player skin)、窗口外观或其他屏幕更新的分组。
正是在这种情况下,本发明的实施例应运而生。
本申请与2008年12月18日递交的名为“MEASURING CLIENTINTERACTIVE PERFORMANCE USING A DISPLAY CHANNEL”的美国专利申请12/337,774有关,该申请通过引用结合于此。
发明内容
本发明的实施例提供了用于测量远程视频传送的性能的方法、系统和计算机程序。编码信息被添加到视频帧的像素中,以在将视频传送到远程客户后标识帧号码并获得信息。
应当认识到,本发明可以以多种方式实现,例如方法、装置、系统、设备或者计算机可读介质上的方法。下面描述了本发明的若干创造性实施例。
在一个实施例中,一种方法在服务器计算机处在视频流的帧中嵌入标记符,所述标记符包括预配置的像素序列,并且其后跟随被编码在像素数据中的帧号码。在一个实施例中,针对每个字节的像素数据编码一个比特。该方法随后在客户计算机处找到第一标记符,以确定所述标记符在显示中的位置。一旦标记符的位置被确定,后续帧中的标记符以及他们对应的帧号码就被检测。该方法存储每个检测到的标记符的帧号码和到达时间。所存储的到达时间和帧号码可以用于远程视频传送的统计性能分析。在另一实施例中,包含在计算机可读存储介质中的计算机程序可以用来执行该方法。
在又一实施例中,一种测量远程视频传送的性能的系统包括视频服务器、视频客户以及性能服务器。视频服务器传送视频流并将标记符嵌入视频流的选定帧中。标记符包括预配置的像素序列,并且其后跟随包含编码帧号码的像素。视频客户接收所述视频流并且被配置成找到第一标记符,然后在其他视频帧中检测其后的标记符。一旦在显示中找到第一标记符,其位置就被用做寻找其他标记符以及他们对应帧号码的位置。性能服务器被配置成从视频客户接收每个检测到的标记符的帧号码和到达时间,以及存储所接收的到达时间和帧号码。
通过下面以示例的方式对本发明原理的详细说明并结合附图,本发明的其他方面将变得明显。
附图说明
通过下面的说明并结合附图可以最好地理解本发明,其中:
图1描述了根据一个实施例的远程视频回放环境。
图2示出了根据一个实施例使用在视频通道上发送并且在镜像缓冲器上检测到的信息测量视频性能的体系结构。
图3A-3D描述了用于在视频通道上发送编码信息的不同实施例。
图4描述了根据一个实施例在客户和服务器之间的视频通信。
图5图示了在视频通信的像素中传输编码信息的实施例。
图6图示了利用增量更新传输视频信息的实施例。
图7描述了根据一个实施例解码每字节像素数据的一比特信息。
图8示出了根据一个实施例检测视频通信中的标记符的开始的方法流程。
图9A-9C示出了利用本发明的实施例获得的性能度量的图形表达。
图10示出了根据一个实施例测量远程视频传送的性能的方法流程。
图11是用于实现本发明实施例的计算机系统的简化示意图。
具体实施方式
下面的实施例描述了用于测量远程视频传送的性能的方法和装置。然而对本领域普通技术人员来说很明显,本发明可以在没有这些具体细节中的一些或全部的情况下实施。在其他实例中,并未详细描述公知的方法步骤,以免不必要地混淆本发明。
图1描述了根据一个实施例的远程视频回放环境。图1中描述的环境包括虚拟桌面服务器114,虚拟桌面服务器114向远程用户118提供虚拟桌面。尽管本发明的实施例是在虚拟桌面系统中进行描述的,但是这里提供的实施例可以在具有将显示数据传输到远程客户的远程显示应用的其他环境中使用。
视频服务器116有权访问视频库112,视频库112保有用于呈现给用户118的多种不同视频。视频服务器116可以将视频直接传送给用户118,或者可以将视频传送到虚拟桌面服务器114,虚拟桌面服务器114随后将视频传送到用户118。在一个实施例中,视频是由web服务器120在浏览器窗口102内传送的。
性能服务器122从服务器和客户收集性能数据,然后分析收集的数据用以提供给用户。尽管图1中分别示出了不同的服务器,但是服务器114、116、120和122可以组合成一个或多个服务器,或者可以在多个服务器上复制以用于视频传送优化。网络110在服务器之间并且在服务器和客户之间传输数据。用于视频传送的客户可以是多种类型,例如个人计算机104、膝上型电脑106、移动电话108、PDA、连接到机顶盒124的TV屏幕126等。
本发明的实施例测量用户118或多个用户所见到的虚拟环境的性能。视频数据在被在网络110上传输之前被编码。视频数据可以使用不同的视频编码方法和协议进行传输,例如用于运行微软终端服务的计算机的远程桌面协议(RDP),多媒体流技术,例如Adobe的
Figure G2009102503998D00041
微软的
Figure G2009102503998D00042
以及数字多媒体广播(DMB),数字TV信号传输协议,例如数字视频广播(DVB)、数字地面电视(DTT)、等等。
远程桌面协议是支持多通道的协议,其支持用于承载表达数据、串行设备通信、许可信息、高度加密数据(键盘、鼠标活动)等的单独虚拟通道。在一个实施例中,视频数据是使用RDP的显示通道进行传输的。在许多情形中,由于服务器和客户之间的防火墙和其他障碍,显示通道是到达客户机器的唯一通道。此外,这里提供的实施例独立于用来传输显示数据的通信协议,因此能够在不同拓扑结构和协议之下可靠获得性能测量结果,并且评估不同因素如何影响视频性能。此外,这里提供的方法可以扩展到数万客户和服务器,而不会过度加重虚拟基础架构的负担。
网络分组分析不足以获得视频传送的可靠性能测量。用于获得性能度量的一种方法是使用单独的插口(socket)连接以将视频元数据传输到客户,例如每个所传输帧的帧号码。这种方法的问题是,由于视频帧是在单独的连接上发送的,分组可能以不同的顺序到达,因此等待时间测量结果不准确。该方法还需要服务器端上的修改。因此,需要一种方法,该方法不依赖于任何底层协议,不需要对服务器端的任何改变,并能提供测量客户端的远程视频回放的质量和等待时间的准确方法。
本发明的实施例提供了在每帧视频中的视频数据中编码视频元数据,这里也称之为水印,从而元数据可以在客户端被准确标识。
图2示出了根据一个实施例使用在视频通道上发送并且在镜像缓冲器上检测到的信息测量视频性能的体系结构。视频服务器212生成视频显示的虚拟桌面视图218,其被传输到客户202。视频管理器216访问视频库214以获得所需的视频信息并为远程客户202播放视频。视频传送模块220与远程客户202通信以通过通信通道222传输视频数据。在一个实施例中,视频数据以视频更新的形式发送,如图6所示,但是用于传输视频数据的其他方法也是可行的。
在客户202处,帧缓冲器210使用包含客户的桌面视图204的数据的完整帧的存储器缓冲器来驱动视频显示器(未示出)。缓冲器中的信息典型地包含屏幕上的每个像素的色彩值。色彩值通常以1比特黑白、4比特调色、8比特调色、16比特高彩色、24比特真彩色格式存储。
为了准确测量远程视频回放的质量和等待时间,知晓哪个帧以及何时在客户端被接收至关重要。这在网络层中很难做到,因为分组不一定具有视频帧的信息。本发明的实施例使用显示器驱动器处的信息,其中由于所有视频帧被提供给显示器设备帧缓冲器210,因此在显示器驱动器处所有更新被提供。服务器212生成具有经编码的嵌入信息的定制视频。在一个实施例中,编码包括标记符和视频元数据。标记符可以是已知的视频像素序列,这里也被称为魔术像素,而视频元数据提供视频帧的信息,例如帧号码。下文参考图5描述了用于编码视频元数据的一个实施例。可以包括在视频元数据中的其他信息可以包括时间戳、产生视频图像的应用的标识、服务器标识(例如,名称、IP地址等)、视频信息(屏幕尺寸、分辨率、编码等)、压缩信息、代理服务器信息、web服务器等。
在一个实施例中,标记符和元数据被包括在每个帧中,而在另一实施例中,标记符和元数据被周期性包括在例如每2个帧中的一个帧中。嵌入帧信息的频率可以随时间调节,例如在视频传送的开始时较高频率,在预定义的初始阶段之后较低频率。此外,可以基于环境因子来调节频率,例如运行视频的应用、视频分辨率、客户或服务器的网络带宽等。尽管抽样帧不能产生与检查每个帧同样准确的性能度量,但是如果检查的帧的数量很大,那么抽样获得的性能测量结果可以尽量准确。例如,如果只有具有偶数帧号码的帧被添加标记符,在检查大量偶数帧之后,例如1000个帧,所述方法计算偶数帧的5%在视频传输期间丢失,那么可以合理推断该度量,并假定总体丢失率(对于偶数和奇数号码帧两者)为5%。通过减少所传输视频帧所需的处理量,抽样能够节约计算资源。
当视频帧进入时,视频数据被检查,如果发现编码信息,那么为视频帧记录帧号码和到达时间。该方法对于无损压缩工作良好,其中在无损压缩中标记符和帧号码像素的值没有改变。然而,该方法在有损压缩的情形中不能正常工作,因为由于压缩和解压缩,标记符和元数据在传输期间会改变。在一个实施例中,为补偿传输损失,使用预期像素值附近的值范围,如下面参考图7所描述的那样。
镜像缓冲器208保持帧缓冲器210的存储器的拷贝,以降低视频跟踪器206扫描寻找编码像素所需的处理量。显示镜像技术被远程桌面应用广泛使用,例如:NetMeeting、PC Anywhere、VNC、Webex等。镜像要比原语屏幕抓取执行起来更优,因为镜像允许仅获取显示器的最小更新区域并直接获取数据,绕过了中间拷贝。可购买到的镜像缓冲器的一个示例是DFMirage,一种用于Windows NT OS家族的视频驱动器镜像技术。DFMirage是用于在图形系统的显示驱动器管理层(DDML)级别处管理的虚拟视频设备的驱动器,其精确镜像一个或多个物理显示设备的画图操作。在另一实施例中,视频跟踪器206直接检查帧缓冲器210,而不使用镜像缓冲器。
视频传送可以包括多媒体重定向(MMR),其中客户和服务器处的软件模块智能工作以在客户和服务器之间动态重定向多媒体处理任务。多媒体流在客户处使用设备的本地处理能力被本地解码,从而提供了完整的多媒体回放能力,克服了在传统单薄计算体系结构中固有的所有限制。多媒体流在客户处被解码,从而释放了服务器的处理能力。在一个使用MMR的实施例中,一旦客户处的MMR组件解码视频数据,视频跟踪器就分析视频数据。如果使用了Adobe
Figure G2009102503998D00061
重定向,那么通过在视频信息在客户处被解码之后分析视频帧信息,也可以使用该方法。
在另一实施例中,视频性能测量是在不同服务器或客户负荷下进行的,以分析计算机资源(例如CPU、存储器等)的可用性是如何影响视频传送的。例如,视频性能测量针对运行web托管(hosting)应用的服务器进行,并且针对不运行web托管的相同服务器进行。结果被比较以分析web托管如何影响相同服务器对视频的传送。
图3A-3D描述了用于在视频通道上发送编码信息的不同实施例。在图3A中,包括标记符和元数据的编码块302(这里也被称作宏块)被嵌入视频图像的左上角,但是视频屏幕上的其他位置也是可以的。图5描述了将信息编码到视频数据中的更多细节。图3A示出了窗口显示环境,其中视频图像被呈现在窗口之一当中。在其他环境中(例如图3B所示出的环境),视频以全屏模式显示。全屏视频的传送可能包括在客户处对所传输视频的分辨率改变,以便填充整个视频屏幕。在此情形中,一个实施例包括在服务器处扩大视频用于全屏呈现之前检查所接收的视频帧。在一个实施例中,扩大的比例是预定义的,而在另一实施例中,扩大的比例作为帧中的嵌入信息被传输到客户。
在图3B所示的实施例中,编码块304被屏幕上的已知值遮蔽,例如图标310,即,与编码块304相对应的区域在客户处被其他视频信息代替,以便对用户隐藏编码块。图标可以是在客户处预配置的,或者可以是作为编码块中的元数据被传输。在并没有在每个帧中传输编码块的另一实施例中,编码块304用来自最近接收到的不具有编码标记符的视频帧的视频数据遮蔽。
图3C示出了在浏览器窗口内部显示的视频内的编码块306。由于窗口的位置以及浏览器中视频区域的位置均可能改变,因此需要找到编码块位于显示中的什么位置。下文的图6描述了找到编码块的方法。
图3D示出了在视频数据内发送冗余信息的实施例。编码块308a-d被包括在视频显示的不同部分之中,用于冗余目的,这在视频信息高损失的情形下会有用,或者在测试期间辅助视觉块识别。
应当意识到,图3A-3D中图示的实施例是视频帧内加密块的示例性布置。其他实施例可以使用不同布置或不同像素值。因此,图3A-3D图示的实施例不应当被理解为穷尽性的或限制性的,而仅具示例性或图示性。
图4描述了根据一个实施例在客户和服务器之间的视频通信。服务器404将帧F1-F5 406a-e依次传输到客户402。完整的视频帧可以在一次操作中发送,或者视频帧可以以视频显示的分区(称为更新)分部分地发送。此外,视频帧或视频更新可以被下面对应的传输层分段,以便在网络上发送数据。在一个实施例中,只有选中的帧包括嵌入信息,例如帧406a、406c和406e。在另一实施例中,所有帧携带嵌入信息。
图5图示了在视频通信的像素中传输编码信息的实施例。编码宏块534被嵌入到显示530的窗口532当中。宏块534包括标记符536、元数据538和填充部分540。在一个实施例中,宏块538具有100个像素的大小,但是其他值也是可以的。应当意识到,图5中的宏块534是示例性布置,其他实施例可以采用不同的组成要素、组成要素的子集、或者不同顺序下的相同组成要素。因此,图5图示的实施例不应当被理解为穷尽性或限制性的,而仅具示例性或图示性。
根据一个实施例,宏块534内的像素可以具有三个值中的一个:
1.红<0xff0000>,
2.绿<0x00ff00>,或
3.蓝<0x0000ff>。
这三个特定色彩具有为0xff或0x00的字节组分。即使在特定协议中存在有损压缩,解压缩之后的最终色彩值也不会大幅度改变,因为协议必须在客户端提供看起来相似的屏幕。例如,如果字节0x00在解压缩之后变成0x3a,那么可以使用适当的偏差阈值来遮蔽该不希望得到的噪声。在一个实施例中,与预期值的偏差作为所接收视频质量的额外计量被记录。
视频元数据538以相似的方式被编码。在一个实施例中,帧号码使用字节0xff或0x00编码。帧号码的每个比特在一个字节中被编码。例如,如果最大帧号码可以表示为n比特,那么帧号码的比特表达式为{b0b1...bn}。如果比特bi具有二进制值1,那么bi被编码为0xff,如果其具有二进制值0,那么bi被编码为0x00。因此,每个帧号码被编码为0xff和0x00的序列。当在客户端重建帧号码时该编码是有用的,因为适当的阈值被用来遮蔽有损压缩中产生的噪声或者由任何其他原因引起的噪声。在其他实施例中,每个比特在来自像素数据的多个字节中被编码。在另一实施例中,每个比特的信息在像素数据的一个子像素中被编码。子像素被表示为一个像素的色彩组分的强度值。通常,子像素定义像素的红、绿或蓝组分的强度(intensity)信息。对于24比特“真彩色”,其中每个子像素被编码为一个字节(8比特)的像素数据,那么在一个字节中编码每个比特。但是,如果子像素需要不同的存储量,那么将使用子像素所需要的存储量对每个比特编码。例如,在16比特“高彩色”中,红色和蓝色子像素每个用5比特的数据编码,而绿色子像素用6比特编码。
一些视频或图像压缩算法依靠被称为色度(chroma)子抽样的算法,其中色度(或色彩信息)以比亮度(或亮度信息)更低的分辨率进行抽样。在此情形中,使用子像素信息对个体像素数据来说会是不可靠的。当使用色度子抽样时,可以使用像素的总体强度对每个比特的信息编码,而不是在子像素信息的基础上进行区分。在此情形中,可以使用白色和黑色像素,从而每个像素与一个比特的信息相关。可以实施多种技术来获得准确的总体强度值。例如,由于绿色组分携带最多的强度信息,因此每个像素的绿色组分可以被单独用来标识比特值。
在一个实施例中,视频帧被首先在单独图像文件中被解码,然后魔术像素和特定帧号码被嵌入每个图像头8个像素中(24字节,假定BGR24编码)。可能发生一些协议将执行视频优化并且丢弃很小的变化,从而仅将相对于先前视频帧显著的更新发送到视频帧。因此,为避免由于视频优化引起的信息丢失,随机填充部分540被包括在宏块534中,其中随机填充部分540在帧与帧之间不同。通过定制视频,每个发送的帧带有随机填充部分、标记符和帧号码。最后,使用无损压缩编码图像文件以使定制视频带有嵌入的元数据。
在另一实施例中,视频帧的编码可以“即时”(on the fly)完成,即,在视频数据被传输到客户之前正在被处理时,在视频数据上完成视频帧的编码。在又一实施例中,视频帧的编码可以在操作员的请求下“即时”完成。这允许操作员自由打开或关闭编码,以便获得特定客户的视频质量测量结果。这对检查视频传送是否支持满足所需服务级别协议(SLA)的期望服务级别是有帮助的。
注意上述编码是示例性的,本领域普通技术人员在了解本说明书公开的内容后,可以想到许多修改方式,这些修改也落在本发明的范围之内。例如,前述过程可以用在具有每像素不同编码比特数目和不同颜色深度的视频数据中。
图6图示了利用增量更新传输视频信息的实施例。不同的远程显示协议以不同的方式发送更新。视频帧可以作为多个更新被发送,其可以由不同通信协议出于优化目的而完成。更新640a-d对应于视频显示的不同部分。如果视频在窗口632内运行,那么宏块634的位置取决于窗口的位置并且在一些情形中取决于视频在窗口内的位置(如图3C所示),而可能变化。
在客户处在每个视频帧中搜索到标记符是非常消耗资源的。在一个实施例中,标记符的位置在第一个帧上发现,然后在未来帧中仅检查那个标记符的位置以搜索到宏块。为了简化客户处的搜索,在一个实施例中仅对预定的视频屏幕区域进行搜索以找到标记符,但是完整屏幕630也可以用做标记符搜索的范围。如果更新矩形与预定的视频屏幕不重叠,那么认为该更新矩形不具有嵌入的标记符。相反,如果更新与预定视频屏幕区域重叠,那么更新与预定视频屏幕区域的交集被扫描以找到标记符或宏块。
在一个实施例中,必须满足下述条件以确定已找到标记符:
1.头九个连续字节满足以下约束条件:
-b2、b4和b6>上阈值
-b0、b1、b3、b5、b7和b8<下阈值
2.所有后面的15个字节bi(i∈0-14)满足以下约束条件:
-(bi<下阈值)或(bi>上阈值)
这些条件意味着标记符具有值0x0000FF00FF00FF0000,但是通过调节第一条件,其他标记符也是可以的。如果对于特定像素满足所有约束条件,那么该像素被认为是标记符的开始,并且该像素的位置被记录以定义将对所有进入视频帧或更新搜索标记符的区域。可以调节上阈值和下阈值的值以控制误测的数量。在一个实施例中,它们的值分别是0xa0和0x50,但是其他值也是可以的。下面的伪代码描述了用来找到标记符的算法:
FindMagicPixelsStartPoint()If(update_rectangle_overlap(video_screen)==false)return NoneRegion=intersection(video_screen,update_rectangle)For each pixel in RegionSkip_pixels_if_constraints_not_met()If(CheckForRGBConstraints(pixel)==True)If(CheckforFrameNumberConstraints(pixel)==True)return pixel
一旦已标识出标记符,就通过扫描后面的15个字节找到帧号码。如果给定字节大于0x80,那么给定字节被分配二进制值1,否则其被分配二进制值0。15个比特组合在一起形成最终帧号码。下面的伪代码描述了找到帧号码的程序:
FindCurrentFrame()startPixel=MagicPixelStartPointframePixelStartPoint=startPixel+9frame_num=0for i in[0 to 14]index=framePixelStartPoint+ibit=(framebuffer[index]>0x80)frame_num=(bit<<i)|frame_numreturn frame_num
帧号码的15个比特的使用是示例性的,还可以使用其他值。其他实施例使用基于颜色深度和分辨率的帧号码的其他类型编码。图7描述了根据一个实施例解码每字节像素数据的一比特信息。图7的帧号码具有8比特的尺寸。8个字节被包括在抽样接收序列702中。在第一操作中,如前所述,每个字节被分配预测的传输值。例如,0x01被分配预期的传输值0x00,而0xb3被分配0xff。进一步地,每个分配的值被分配比特值0或1,如串706所示,并且8个比特组合成一个帧号码708,具有二进制值0x4A。
图8示出了根据一个实施例检测视频通信中的标记符的开始的方法流程。在操作802中,过程等待视频更新。一旦接收到视频更新,操作804就确定视频更新是否包括可以检测到标记符的视频屏幕的至少一部分。如果更新不包括标记符的可能位置,那么方法返回到操作802,否则方法继续操作805,在操作805中,找到预先规定的视频屏幕和更新之间的交集。在操作806中,从交集区域获得第一像素作为标记符的可能开始的第一候选。
操作810确定像素是否满足作为标记符开始的条件。例如参见上面参考图6描述的条件。如果已检测到标记符的开始,那么方法继续操作814,操作814返回作为标记符开始的像素,否则方法继续操作812,检查是否有更多候选像素。如果有更多候选像素,那么方法进入操作808,在操作808中,在循环回到操作810之前选择下一像素。如果操作812确定不再有候选像素,那么方法返回到操作802,在操作802中方法等待新的视频更新。
图9A-9C示出了利用本发明的实施例获得的性能度量的图形表达。图9A示出了根据一个实施例限制上行链路带宽对远程视频回放的影响。一旦上行链路带宽降至100千比特/秒(kpbs)之下,所支持的帧速率就有大幅度的下降。图9B示出了限制下行链路带宽对远程视频回放的影响。对于20,000kpbs以上的下行链路速度,所支持的帧速率几乎是恒定的。对于20,000kpbs以下的下行链路速度,所支持的帧速率以几乎线性的方式下降。
图9C示出了增加往返等待时间对远程视频回放的影响。随着往返等待时间增加,支持的帧速率下降,因为帧由于网络条件或由于服务器上的高资源使用率而遭到丢弃。
图10示出了根据一个实施例测量远程视频传送的性能的方法流程。在操作1002中,方法在服务器计算机处在视频流的选定帧中嵌入标记符。标记符包括预配置的像素序列,并且后面跟随帧号码,帧号码被编码为每字节像素数据的至少一个比特。例如参见图3A-3D关于如何将标记符嵌入视频显示中的示例,以及图5-6关于如何编码信息的示例。
在操作1004中,方法在客户计算机处找到第一标记符以确定标记符在显示中的位置。例如参见参考图6描述的作为检测第一标记符的一个实施例的伪代码。在操作1006中检测第一标记符之后的标记符以及他们对应的帧号码。在操作1008中,方法存储每个检测到的标记符的帧号码和到达时间。
图11是用于实现本发明实施例的计算机系统的简化示意图。应当意识到,这里描述的方法可以用数字处理系统执行,例如传统的通用计算机系统。或者,可以使用被设计或编程用来执行仅仅一个功能的专用计算机。计算机系统包括中央处理单元(CPU)1104,CPU 1104通过总线1110连接到随机存取存储器(RAM)1106、只读存储器(ROM)1112、以及大容量存储设备1114。程序1108驻留在随机存取存储器(RAM)1106中,但也可以驻留在大容量存储设备1114中。程序1108可以包括与这里描述的实施例相关联的任何程序,例如实现图1的视频服务器116、虚拟服务器114、web服务器120和性能服务器122的功能以及图2的视频跟踪器206、视频管理器216和视频传送220的功能的程序。
大容量存储设备1114代表永久性的数据存储设备,例如软盘驱动或固定盘驱动,其可以是本地或远程的。网络接口1130提供与网络1132的连接,允许与其它设备通信。应当意识到,CPU 1104可以实现为通用处理器、专用处理器、或专门编程逻辑设备。输入/输出(I/O)接口提供与不同外围设备的通信,并且通过总线1110与CPU 1104、RAM 1106、ROM 1112和大容量存储设备1114相连。示例性外围设备包括显示器1118、键盘1122、光标控制1124、可移动介质设备1134等。
显示器1118被配置成显示这里描述的用户界面,例如图2的远程桌面视图202。键盘1122、光标控制1124、可移动介质设备1134和其它外围设备耦合到I/O接口1120,以便向CPU 1104传送命令集信息。应当意识到,来自和去往外部设备的数据可以通过I/O接口1120传送。
本发明的实施例可以利用多种计算机系统配置来实施,包括手持设备、微处理器系统、基于微处理器或可编程的消费电子产品、微机算计、大型计算机等。本发明还可以在分布式计算环境中实施,在分布式计算环境中,任务由通过有线或无线网络连接的远程处理设备执行。
尽管虚拟化操作可以采用许多形式,但是为确保物理机器的物理构建被正确转移到虚拟机,一些概念是重要的。有鉴于此,作为参考,有关虚拟系统和方法的更多信息可以在由本申请的申请人威睿公司拥有的美国专利中找到。因此,美国专利6,397,242,6,496,847,7,069,413,7,356,679和美国申请公开2008/0244028A1通过引用结合于此。
出于完整性考虑,参考一个示例性服务器系统,其是由加州Palo Alto的VMware公司提供的“ESXTM”。然而所述的方法、系统和实施例不限于任何品牌的服务器或虚拟化服务器。示例ESX服务器是将物理服务器划分成多个虚拟机的系统监管器。每个虚拟机可以代表完整系统,具有处理器、存储器、连网、存储装置和BIOS。VMware ESX使得多个虚拟机能够:(a)共享物理资源,(b)运行未经修改的操作系统和应用,以及(c)在同一服务器上并排运行资源密集型应用。取决于它们的目标产品,其它供应商制造的其它服务器可以具有类似的功能或更多或更少的功能。因此,可以使用任何产品、软件或硬件配置来实施所述系统、方法和计算机可读介质。
参考上述实施例,应当理解,本发明可以使用多种计算机实现的涉及存储在计算机系统中的数据的操作。这些操作是需要对物理量进行物理操纵的操作。这里描述的构成本发明一部分的任何操作是有用的机器操作。本发明还涉及用于执行这些操作的设备或装置。所述装置可以为所需目的专门构建,或者所述装置可以是由存储在计算机中的计算机程序有选择地启动或配置的通用计算机。特别地,多个通用计算机可以结合根据这里的教导编写的计算机程序一起使用。或者,构建更为专门的装置来执行所需操作可能是更方便的。
本发明还可以实现为计算机可读介质上的计算机可读代码。计算机可读介质是能够存储数据的任何数据存储设备,其随后可以被计算机系统读取。计算机可读介质的示例包括硬驱动、网络附接存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带、以及其它光和非光数据存储设备。计算机可读介质可以包括在网络连接的计算机系统上分布的计算机可读有形介质,从而计算机可读代码以分布的方式被存储和执行。
尽管以具体的顺序描述了方法操作,但是应当理解,其它内务操作可以在操作之间执行,或者操作可以被调整使得它们在稍不同的时间发生,或者可以分布在下述系统中,所述系统允许在与处理相关联的多个间隔处发生处理操作,只要上层操作的处理以期望的方式被执行即可。
尽管出于明确说明的目的详细描述了前述发明,很明显在权利要求的范围内可以进行某些修改和改变。因此,实施例应视为示例性的而非限制性的,并且本发明不限于这里给出的细节,而是可以在权利要求的范围和等同物之内进行修改。

Claims (23)

1.一种计算机实现的用于测量远程视频传送的性能的方法,所述方法包括:
在服务器计算机处在视频流的选定帧中嵌入标记符,所述标记符包括预配置的像素序列,并且其后跟随被编码在像素数据中的帧号码;
在客户计算机处找到第一标记符,以确定所述标记符在显示中的位置;
检测所述第一标记符之后的标记符以及它们对应的帧号码;以及
存储每个检测到的标记符的帧号码和到达时间。
2.如权利要求1所述的方法,进一步包括:
在服务器计算机处在所述选定帧中嵌入围绕所述标记符和所述帧号码的随机宏块。
3.如权利要求1所述的方法,其中所述帧号码是通过组合多个比特形成的,来自所述多个比特的每个比特被编码在像素数据的一个字节中。
4.如权利要求1所述的方法,其中所述帧号码是通过组合多个比特形成的,来自所述多个比特的每个比特被编码在多个像素数据字节中。
5.如权利要求1所述的方法,其中所述帧号码是通过组合多个比特形成的,来自所述多个比特的每个比特被编码在来自所述像素数据的子像素中,所述子像素包括对应像素中的色彩的强度信息。
6.如权利要求1所述的方法,其中找到第一标记符的步骤进一步包括:
从所述视频流接收显示更新,直到在显示更新中找到帧号码,
评估接收到的显示更新是否包括所述显示内的视频显示屏幕,
当所述接收到的显示更新包括所述视频显示屏幕时,确定所述接收到的显示更新是否包括帧号码,以及
当所述接收到的显示更新包括所述帧号码时,将值分配给所述标记符的位置。
7.如权利要求6所述的方法,其中确定所述接收到的显示更新是否包括帧号码的步骤进一步包括:
搜索所述接收到的显示更新以找到所述预配置序列;
确定找到的预配置序列之后的多个像素是否形成有效帧号码,以及
当所述预配置序列已被找到并且找到的预配置序列之后的所述多个像素形成有效帧号码时,确立所述帧号码已找到。
8.如权利要求7所述的方法,其中搜索所述接收到的显示更新的步骤进一步包括:
允许所述预配置序列中与标准值的预定偏差。
9.如权利要求7所述的方法,其中确定找到的预配置序列之后的多个像素是否形成有效帧号码的步骤进一步包括:
当来自所述多个像素的每个字节的值在两个有效值范围之一中时,评估所述每个字节的值是有效的,
当来自所述多个像素的所有字节的值被评估为有效时,确定帧号码是有效的。
10.如权利要求1所述的方法,其中检测标记符的步骤进一步包括:
从所述视频流接收显示更新,
确定所述显示更新是否包括所述标记符的位置,
当所述显示更新包括所述标记符的位置时,搜索所述显示更新中预配置的像素序列,以及
当在所述搜索过程中找到所述预配置序列时,从所述预配置序列之后的像素中解码所述帧号码。
11.如权利要求10所述的方法,其中解码所述帧号码的步骤进一步包括:
将二进制比特值分配给来自所述预配置序列之后的多个像素的每个字节,
合并所分配的二进制比特值以形成二进制字,以及
将所述二进制字分派给所述帧号码。
12.如权利要求11所述的方法,其中解码所述帧号码的步骤进一步包括:
当分配二进制比特值时使用阈值,以及
基于来自所述预配置序列之后的所述多个像素的字节值与标准字节值的偏差,测量所述视频流的质量。
13.如权利要求10所述的方法,其中所述显示更新包括用于所述视频流的帧内的矩形的显示数据。
14.一种测量远程视频传送的性能的系统,所述系统包括:
用于传送视频流的视频服务器,所述视频服务器将标记符嵌入所述视频流的选定帧中,所述标记符包括预配置的像素序列,并且其后跟随被编码在像素数据中的帧号码;
接收所述视频流的视频客户,所述视频客户被配置成:
找到第一标记符以确定所述标记符在显示中的位置,并且
检测所述第一标记符之后的标记符以及它们对应的帧号码;以及
性能服务器,被配置成:
从所述视频客户接收每个检测到的标记符的帧号码和到达时间,以及
存储所接收的到达时间和帧号码。
15.如权利要求14所述的系统,其中所述选定帧中的标记符被放置在视频帧的若干位置中。
16.如权利要求14所述的系统,其中所述视频流在所述显示中的窗口内显示。
17.如权利要求14所述的系统,其中所述视频流在所述显示处以全屏模式被显示。
18.如权利要求14所述的系统,其中所述视频客户进一步包括:
连接到帧缓冲器的镜像缓冲器,所述帧缓冲器接收来自所述服务器的更新,其中所述视频客户通过监视所述镜像缓冲器来检测标记符。
19.一种包含在计算机可读存储介质中的计算机程序,当由一个或多个处理器执行时,用于测量远程视频传送的性能,所述计算机程序包括:
用于在服务器计算机处在视频流的选定帧中嵌入标记符的程序指令,所述标记符包括预配置的像素序列,并且其后跟随被编码在像素数据中的帧号码;
用于在客户计算机处找到第一标记符以确定所述标记符在显示中的位置的程序指令;
用于检测所述第一标记符之后的标记符以及它们对应的帧号码的程序指令;以及
用于存储每个检测到的标记符的帧号码和到达时间的程序指令。
20.如权利要求19所述的计算机程序,其中标记符被嵌入在所述视频流的每个帧中。
21.如权利要求19所述的计算机程序,其中标记符被周期性嵌入在所述视频流的帧中,嵌入标记符的周期是可调的。
22.如权利要求19所述的计算机程序,其中所述标记符在所述客户计算机处的所述显示中是用预配置值遮蔽的。
23.如权利要求19所述的计算机程序,其中所述标记符在所述客户计算机处的所述显示中是用与最近的没有标记符的帧相对应的值遮蔽的。
CN200910250399.8A 2008-12-18 2009-12-07 利用嵌入式编码像素测量远程视频回放性能 Active CN101783937B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/337,895 US8347344B2 (en) 2008-12-18 2008-12-18 Measuring remote video playback performance with embedded encoded pixels
US12/337,895 2008-12-18

Publications (2)

Publication Number Publication Date
CN101783937A true CN101783937A (zh) 2010-07-21
CN101783937B CN101783937B (zh) 2015-03-25

Family

ID=42268080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910250399.8A Active CN101783937B (zh) 2008-12-18 2009-12-07 利用嵌入式编码像素测量远程视频回放性能

Country Status (2)

Country Link
US (1) US8347344B2 (zh)
CN (1) CN101783937B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377777A (zh) * 2011-10-14 2012-03-14 深圳市京华科讯科技有限公司 一种超桌面虚拟化的方法及系统
CN102740111A (zh) * 2012-06-15 2012-10-17 福建升腾资讯有限公司 远程桌面下基于帧号水印的视频流畅度测试方法和装置
CN102968860A (zh) * 2012-12-20 2013-03-13 广东御和电子科技有限公司 云atm系统
CN103491030A (zh) * 2013-09-12 2014-01-01 华为技术有限公司 一种数据处理方法及设备
CN108235119A (zh) * 2018-03-15 2018-06-29 联想(北京)有限公司 视频处理方法及装置、电子设备和计算机可读介质
TWI669959B (zh) * 2015-04-23 2019-08-21 瑞典商安訊士有限公司 處理視訊攝影機中之視訊串流之方法與裝置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100011012A1 (en) * 2008-07-09 2010-01-14 Rawson Andrew R Selective Compression Based on Data Type and Client Capability
US9214004B2 (en) 2008-12-18 2015-12-15 Vmware, Inc. Watermarking and scalability techniques for a virtual desktop planning tool
US8788079B2 (en) 2010-11-09 2014-07-22 Vmware, Inc. Monitoring audio fidelity and audio-video synchronization
US9674562B1 (en) * 2008-12-18 2017-06-06 Vmware, Inc. Quality evaluation of multimedia delivery in cloud environments
KR101280806B1 (ko) * 2009-12-15 2013-07-02 한국전자통신연구원 디지털 방송망의 미리보기 채널 정보 제공장치 및 그 방법
US10455269B2 (en) 2009-12-18 2019-10-22 Crossbar Media Group, Inc. Systems and methods for automated extraction of closed captions in real time or near real-time and tagging of streaming data for advertisements
US11991405B2 (en) 2009-12-18 2024-05-21 Crossbar Media Group, Inc Systems and methods for automated extraction of closed captions in real time or near real-time and tagging of streaming data for advertisements
US8763067B2 (en) * 2009-12-18 2014-06-24 Samir ABED Systems and methods for automated extraction of closed captions in real time or near real-time and tagging of streaming data for advertisements
US10116982B2 (en) 2009-12-18 2018-10-30 Crossbar Media Group, Inc Systems and methods for automated extraction of closed captions in real time or near real-time and tagging of streaming data for advertisements
US8910228B2 (en) 2010-11-09 2014-12-09 Vmware, Inc. Measurement of remote display performance with image-embedded markers
US9336117B2 (en) 2010-11-09 2016-05-10 Vmware, Inc. Remote display performance measurement triggered by application display upgrade
CN103621145B (zh) * 2011-04-20 2017-03-29 英派尔科技开发有限公司 移动内容体验质量的实时全参考计算方法、装置
EP2718785A4 (en) * 2011-06-13 2014-12-31 Lynux Works Inc SYSTEMS AND METHOD FOR SAFE DOMAIN INSULATION
US8902248B1 (en) 2011-07-14 2014-12-02 Vmware, Inc. Method and system for measuring display performance of a remote application
DE102012212923B4 (de) 2012-07-24 2023-05-04 Siemens Healthcare Gmbh Steuerungsmodul für einen Signalgeber zur Remote-Client-Darstellung einer medizinischen Bildfolge
US9201755B2 (en) 2013-02-14 2015-12-01 Vmware, Inc. Real-time, interactive measurement techniques for desktop virtualization
US9264704B2 (en) * 2013-06-30 2016-02-16 Vmware, Inc. Frame image quality as display quality benchmark for remote desktop
US9965296B2 (en) * 2013-06-30 2018-05-08 Vmware, Inc. Relative frame rate as display quality benchmark for remote desktop
US9674265B2 (en) 2013-11-04 2017-06-06 Vmware, Inc. Filtering unnecessary display updates for a networked client
US9674518B2 (en) 2013-12-20 2017-06-06 Vmware, Inc. Measuring remote video display with embedded pixels
US9424619B2 (en) * 2014-02-20 2016-08-23 Google Inc. Methods and systems for detecting frame tears
US9699247B2 (en) 2014-06-17 2017-07-04 Vmware, Inc. User experience monitoring for application remoting
US9842387B2 (en) 2015-06-18 2017-12-12 Vmware, Inc. Pixel perturbation for image quality measurement
US9866724B2 (en) * 2015-06-18 2018-01-09 Vmware, Inc. Pixel perturbation for transmission of meta-information
US10979470B2 (en) * 2015-12-28 2021-04-13 Industrial Technology Research Institute Server device, client device and dynamic image transmission method for virtual desktop infrastructure
US11076143B1 (en) * 2016-12-12 2021-07-27 Facebook Technologies, Llc In-band tear detection with compression
US10880272B2 (en) * 2017-04-20 2020-12-29 Wyse Technology L.L.C. Secure software client
US11991346B2 (en) 2021-11-15 2024-05-21 Ford Global Technologies, Llc Video streaming anomaly detection
US20240080533A1 (en) * 2022-09-07 2024-03-07 Synamedia Limited Cloud-Based Input Latency Measurement

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023436A1 (en) * 1998-09-16 2001-09-20 Anand Srinivasan Method and apparatus for multiplexing seperately-authored metadata for insertion into a video data stream
US6381362B1 (en) * 1999-04-08 2002-04-30 Tata America International Corporation Method and apparatus for including virtual ads in video presentations
US20060206491A1 (en) * 2005-03-14 2006-09-14 Fujitsu Limited Mask recovering system and mask recovering method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU728966B2 (en) * 1997-01-13 2001-01-25 Koninklijke Philips Electronics N.V. Embedding supplemental data in a digital video signal
KR100368084B1 (ko) * 1998-08-27 2003-01-15 인터내셔널 비지네스 머신즈 코포레이션 비디오 데이터에 부가 정보를 매입하는 시스템 및 방법
CN100459682C (zh) * 1999-09-20 2009-02-04 提维股份有限公司 经由电视广播数据流的广告排定电视节目录制时程的装置和方法
FI116016B (fi) * 2002-12-20 2005-08-31 Oplayo Oy Puskurointijärjestely
US20040221315A1 (en) * 2003-05-01 2004-11-04 Genesis Microchip Inc. Video interface arranged to provide pixel data independent of a link character clock
WO2005054993A2 (en) * 2003-11-25 2005-06-16 Computer Associates Think, Inc. Web service performance index
US7942340B2 (en) * 2005-11-24 2011-05-17 Canon Kabushiki Kaisha Two-dimensional code, and method and apparatus for detecting two-dimensional code
US7593543B1 (en) * 2005-12-15 2009-09-22 Nvidia Corporation Apparatus, system, and method for tracing distribution of video content with video watermarks
KR101505519B1 (ko) * 2007-10-16 2015-03-25 삼성전자 주식회사 컨텐츠 출력 장치 및 방법
US8677399B2 (en) * 2008-04-15 2014-03-18 Disney Enterprises, Inc. Preprocessing video to insert visual elements and applications thereof
US7831661B2 (en) * 2008-12-18 2010-11-09 Vmware, Inc. Measuring client interactive performance using a display channel

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023436A1 (en) * 1998-09-16 2001-09-20 Anand Srinivasan Method and apparatus for multiplexing seperately-authored metadata for insertion into a video data stream
US6381362B1 (en) * 1999-04-08 2002-04-30 Tata America International Corporation Method and apparatus for including virtual ads in video presentations
US20060206491A1 (en) * 2005-03-14 2006-09-14 Fujitsu Limited Mask recovering system and mask recovering method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377777A (zh) * 2011-10-14 2012-03-14 深圳市京华科讯科技有限公司 一种超桌面虚拟化的方法及系统
CN102740111A (zh) * 2012-06-15 2012-10-17 福建升腾资讯有限公司 远程桌面下基于帧号水印的视频流畅度测试方法和装置
CN102740111B (zh) * 2012-06-15 2014-06-18 福建升腾资讯有限公司 远程桌面下基于帧号水印的视频流畅度测试方法和装置
CN102968860A (zh) * 2012-12-20 2013-03-13 广东御和电子科技有限公司 云atm系统
CN102968860B (zh) * 2012-12-20 2014-11-19 广东御和电子科技有限公司 云atm系统
CN103491030A (zh) * 2013-09-12 2014-01-01 华为技术有限公司 一种数据处理方法及设备
CN103491030B (zh) * 2013-09-12 2016-10-05 华为技术有限公司 一种数据处理方法及设备
TWI669959B (zh) * 2015-04-23 2019-08-21 瑞典商安訊士有限公司 處理視訊攝影機中之視訊串流之方法與裝置
CN108235119A (zh) * 2018-03-15 2018-06-29 联想(北京)有限公司 视频处理方法及装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN101783937B (zh) 2015-03-25
US8347344B2 (en) 2013-01-01
US20100162338A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
CN101783937B (zh) 利用嵌入式编码像素测量远程视频回放性能
CN101754046B (zh) 使用显示通道测量客户交互性能的方法和系统
US10979663B2 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US9436429B2 (en) Updating an image
JP6735927B2 (ja) ビデオコンテンツの要約処理
EP3177024B1 (en) Apparatus for cloud streaming service
US20160255400A1 (en) Remote Display Performance Measurement Triggered by Application Display Upgrade
US9609338B2 (en) Layered video encoding and decoding
US8812615B2 (en) Remote control of a host computer
US9674518B2 (en) Measuring remote video display with embedded pixels
CN105163127A (zh) 视频分析方法及装置
US9875552B1 (en) Content independent method of motion determination using sparse matrices
JP5995864B2 (ja) 表示データの符号化方法及びシステム
KR20120058227A (ko) 프리젠테이션 가상화를 위한 화면 부호화 방법 및 서버
US20050289176A1 (en) Application sharing smoothness
KR20210029746A (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN1815996A (zh) 通过互联网实现多功能遥控器分区功能定制的系统和方法
US9866724B2 (en) Pixel perturbation for transmission of meta-information
CN111885417B (zh) Vr视频播放方法、装置、设备以及存储介质
CN100493154C (zh) 用于产生编程电视节目频道子集的方法和系统
US20240137502A1 (en) Systems and methods for encoding and decoding video with memory-efficient prediction mode selection
CN107395328B (zh) 渐进式数据编码传输方法
US20240070927A1 (en) Image compression performance optimization for image compression
JP5593514B2 (ja) スクリーンフレームの符号化方法、及び、それを応用した電子装置
WO2022047144A1 (en) Methods and systems for combined lossless and lossy coding

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
CP03 Change of name, title or address

Address after: California, USA

Patentee after: Weirui LLC

Country or region after: U.S.A.

Address before: California, USA

Patentee before: VMWARE, Inc.

Country or region before: U.S.A.

CP03 Change of name, title or address