一种视频数据显示方法和装置转让专利

申请号 : CN201710545950.6

文献号 : CN108366285B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝磊曾勇刚

申请人 : 新华三云计算技术有限公司

摘要 :

本申请提供一种视频数据显示方法和装置,该方法包括:接收服务器发送的播放窗口填充数据,并根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识;在客户端显示与所述播放器信息对应的播放器界面;从所述播放器界面确定出与所述播放窗口信息对应的播放窗口;在所述播放窗口显示与所述数据通道标识对应的视频数据。通过本申请的技术方案,可以保证播放器界面与视频数据的播放窗口同步,使得客户端可以正确显示视频数据,提高用户体验。

权利要求 :

1.一种视频数据显示方法,其特征在于,应用于多媒体重定向中的远程显示的客户端,所述方法包括:接收服务器发送的播放窗口填充数据,并根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识;

在所述客户端显示与所述播放器信息对应的播放器界面;

从所述播放器界面确定出与所述播放窗口信息对应的播放窗口;

在所述播放窗口显示与所述数据通道标识对应的视频数据。

2.根据权利要求1所述的方法,其特征在于,所述根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识的过程,具体包括:若所述播放窗口填充数据包括播放器信息、播放窗口信息、数据通道标识,则从所述播放窗口填充数据中解析播放器信息、播放窗口信息、数据通道标识;

或者,若所述播放窗口填充数据包括播放器信息、图像识别码,且所述图像识别码包括数据通道标识,则从所述播放窗口填充数据中解析出所述播放器信息和所述图像识别码;

在与所述播放器信息对应的播放器界面中显示出所述图像识别码,并根据所述图像识别码的显示区域确定所述播放窗口信息,并从所述图像识别码中解析出所述数据通道标识。

3.根据权利要求2所述的方法,其特征在于,

所述从所述图像识别码中解析出所述数据通道标识的过程,具体包括:

从图像识别码的左侧位置开始,通过图像识别技术将图像识别码转换成数字字符串,所述图像识别码由一个数据通道标识图像构成;或者,从图像识别码的中心位置开始,通过图像识别技术将图像识别码转换成数字字符串,所述图像识别码由左右对称的两个数据通道标识图像构成;其中,所述数据通道标识图像是由第一标识、数据通道标识、第二标识组成的数字字符串对应的图像;

从转换的数字字符串中解析出与第一标识匹配的第一字符串、与第二标识匹配的第二字符串,并将所述第一字符串与所述第二字符串之间的字符串确定为数据通道标识。

4.一种视频数据显示方法,其特征在于,应用于多媒体重定向中的服务器,所述方法包括:为客户端分配视频数据的数据通道,所述视频数据通过所述数据通道发送给所述客户端,所述数据通道由数据通道标识唯一确定;

获取播放所述视频数据的播放器的播放器信息及播放窗口信息;

根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据;

将所述播放窗口填充数据发送给所述客户端,以使所述客户端根据所述播放器信息、播放窗口信息和数据通道标识显示所述视频数据。

5.根据权利要求4所述的方法,其特征在于,所述根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程,具体包括:生成包括所述数据通道标识的图像识别码,并根据所述播放窗口信息显示所述图像识别码;根据显示有所述图像识别码的界面生成播放窗口填充数据,所述播放窗口填充数据包括所述播放器信息以及所述图像识别码;或者,生成携带播放器信息、播放窗口信息和数据通道标识的播放窗口填充数据。

6.根据权利要求5所述的方法,其特征在于,

所述生成包括所述数据通道标识的图像识别码的过程,具体包括:

在所述数据通道标识之前添加第一标识,在所述数据通道标识之后添加第二标识,将所述第一标识、所述数据通道标识、所述第二标识组成数字字符串,并通过图像转换技术将所述数字字符串转换成图像格式的数据通道标识图像;

利用所述数据通道标识图像生成图像识别码;其中,所述图像识别码由一个数据通道标识图像构成,或者由左右对称的两个数据通道标识图像构成。

7.根据权利要求4所述的方法,其特征在于,所述根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程,具体包括:当检测到视频数据对应的播放窗口信息发生变化时,则根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据。

8.一种视频数据显示装置,其特征在于,应用于多媒体重定向中的远程显示的客户端,所述装置包括:接收模块,用于接收服务器发送的播放窗口填充数据;

确定模块,用于根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识;

显示模块,用于在所述客户端显示与所述播放器信息对应的播放器界面;

所述确定模块,还用于从所述播放器界面确定出与所述播放窗口信息对应的播放窗口;

所述显示模块,还用于在所述播放窗口显示与所述数据通道标识对应的视频数据。

9.根据权利要求8所述的装置,其特征在于,

所述确定模块,具体用于在根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识的过程中,若所述播放窗口填充数据包括播放器信息、播放窗口信息、数据通道标识,从所述播放窗口填充数据中解析播放器信息、播放窗口信息、数据通道标识;

或者,若所述播放窗口填充数据包括播放器信息、图像识别码,且所述图像识别码包括数据通道标识,从所述播放窗口填充数据中解析出所述播放器信息和所述图像识别码;在与所述播放器信息对应的播放器界面中显示出所述图像识别码,并根据所述图像识别码的显示区域确定所述播放窗口信息,并从所述图像识别码中解析出所述数据通道标识。

10.根据权利要求9所述的装置,其特征在于,所述确定模块,还用于在从所述图像识别码中解析出所述数据通道标识的过程中,从图像识别码的左侧位置开始,通过图像识别技术将图像识别码转换成数字字符串,所述图像识别码由一个数据通道标识图像构成;或者,从图像识别码的中心位置开始,通过图像识别技术将图像识别码转换成数字字符串,所述图像识别码由左右对称的两个数据通道标识图像构成;其中,所述数据通道标识图像是由第一标识、数据通道标识、第二标识组成的数字字符串对应的图像;

从转换的数字字符串中解析出与第一标识匹配的第一字符串、与第二标识匹配的第二字符串,并将所述第一字符串与所述第二字符串之间的字符串确定为数据通道标识。

11.一种视频数据显示装置,其特征在于,应用于多媒体重定向中的服务器,所述装置包括:分配模块,用于为客户端分配视频数据的数据通道,所述视频数据通过所述数据通道发送给所述客户端,所述数据通道由数据通道标识唯一确定;

获取模块,用于获取播放所述视频数据的播放器的播放器信息及播放窗口信息;

生成模块,用于根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据;

发送模块,用于将所述播放窗口填充数据发送给所述客户端,以使所述客户端根据所述播放器信息、播放窗口信息和数据通道标识显示所述视频数据。

12.根据权利要求11所述的装置,其特征在于,所述生成模块,具体用于在根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据过程中,生成包括所述数据通道标识的图像识别码,并根据所述播放窗口信息显示所述图像识别码;根据显示有所述图像识别码的界面生成播放窗口填充数据,所述播放窗口填充数据包括所述播放器信息以及所述图像识别码;或者,生成携带播放器信息、播放窗口信息和数据通道标识的播放窗口填充数据。

13.根据权利要求12所述的装置,其特征在于,

所述生成模块,还用于在生成包括所述数据通道标识的图像识别码的过程中,在所述数据通道标识之前添加第一标识,在所述数据通道标识之后添加第二标识,将所述第一标识、所述数据通道标识、所述第二标识组成数字字符串,并通过图像转换技术将所述数字字符串转换成图像格式的数据通道标识图像;

利用所述数据通道标识图像生成图像识别码;其中,所述图像识别码由一个数据通道标识图像构成,或者由左右对称的两个数据通道标识图像构成。

14.根据权利要求11所述的装置,其特征在于,所述生成模块,具体用于在根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程中,当检测到视频数据对应的播放窗口信息发生变化时,则根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据。

说明书 :

一种视频数据显示方法和装置

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种视频数据显示方法和装置。

背景技术

[0002] 随着计算机技术以及网络技术的发展,远程桌面技术在企业办公环境中的应用越来越广泛,远程桌面技术能够减少企业的信息管理成本,并提高数据访问的安全性。其中,远程桌面技术的原理是:将一台设备(即提供虚拟化服务的服务器,在本文中简称为服务器)屏幕显示的内容,通过网络发送到另一端的设备(即用来处理远程协议的瘦终端,在本文中简称客户端)进行显示。
[0003] 视频数据播放是远程桌面的典型应用,服务器先获取经过编码的视频数据,对视频数据进行解码,并将解码后的视频数据发送到客户端,客户端通过播放器来显示解码后的视频数据。但是,上述方式需要服务器对视频数据进行解码,这一操作需要占用大量CPU(Central Processing Unit,中央处理器)资源。而且,解码后的视频数据的数据量大,传输这一视频数据需要占用大量的网络带宽。
[0004] 针对上述问题,目前提出了MMR(Multimedia Redirection,多媒体重定向)技术,MMR技术是指:服务器在获取到经过编码的视频数据后,直接将经过编码的视频数据发送到客户端,由客户端对接收到的视频数据进行解码,并通过播放器来显示解码后的视频数据。由于服务器不需要对经过编码的视频数据进行解码操作,因此,可以节省服务器的CPU资源;由于经过编码的视频数据的数据量远远小于解码后的视频数据的数据量,因此,可以节省网络带宽。
[0005] 但是,客户端通过播放器来显示解码后的视频数据时,可能无法正确显示视频数据,如视频数据无法实时跟随播放器位置的变化,导致用户体验较差。

发明内容

[0006] 本申请提供一种视频数据显示方法,应用于多媒体重定向中的远程显示的客户端,所述方法包括:接收服务器发送的播放窗口填充数据,并根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识;
[0007] 在所述客户端显示与所述播放器信息对应的播放器界面;
[0008] 从所述播放器界面确定出与所述播放窗口信息对应的播放窗口;
[0009] 在所述播放窗口显示与所述数据通道标识对应的视频数据。
[0010] 本申请提供一种视频数据显示方法,应用于多媒体重定向中的服务器,所述方法包括:为客户端分配视频数据的数据通道,所述视频数据通过所述数据通道发送给所述客户端,所述数据通道由数据通道标识唯一确定;
[0011] 获取播放所述视频数据的播放器的播放器信息及播放窗口信息;
[0012] 根据播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据;
[0013] 将所述播放窗口填充数据发送给所述客户端,以使所述客户端根据所述播放器信息、播放窗口信息和数据通道标识显示所述视频数据。
[0014] 本申请提供一种视频数据显示装置,应用于多媒体重定向中的远程显示的客户端,所述装置包括:接收模块,用于接收服务器发送的播放窗口填充数据;确定模块,用于根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识;显示模块,用于在所述客户端显示与所述播放器信息对应的播放器界面;所述确定模块,还用于从所述播放器界面确定出与所述播放窗口信息对应的播放窗口;所述显示模块,还用于在所述播放窗口显示与所述数据通道标识对应的视频数据。
[0015] 本申请提供一种视频数据显示装置,应用于多媒体重定向中的服务器,所述装置包括:分配模块,用于为客户端分配视频数据的数据通道,所述视频数据通过所述数据通道发送给所述客户端,所述数据通道由数据通道标识唯一确定;获取模块,用于获取播放所述视频数据的播放器的播放器信息及播放窗口信息;生成模块,用于根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据;发送模块,用于将所述播放窗口填充数据发送给所述客户端,以使所述客户端根据所述播放器信息、播放窗口信息和数据通道标识显示所述视频数据。
[0016] 基于上述技术方案,本申请实施例中,服务器向客户端发送的是播放窗口填充数据,客户端可以根据播放窗口填充数据确定播放器信息、播放窗口信息、数据通道标识,在客户端显示与该播放器信息对应的播放器界面,从该播放器界面确定出与该播放窗口信息对应的播放窗口,并在该播放窗口显示与该数据通道标识对应的视频数据。上述方式可以解决播放器界面与视频数据的播放窗口不同步的问题,保证播放器界面与视频数据的播放窗口同步,使得客户端可以正确显示视频数据,如视频数据实时跟随播放器位置的变化,提高用户体验。

附图说明

[0017] 为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
[0018] 图1A-图1J是本申请一种实施方式中的应用场景示意图;
[0019] 图2是本申请一种实施方式中的视频数据显示方法的流程图;
[0020] 图3A-图3C是本申请一种实施方式中的应用场景示意图;
[0021] 图4是本申请一种实施方式中的视频数据显示装置的结构图;
[0022] 图5是本申请一种实施方式中的客户端的硬件结构图;
[0023] 图6是本申请另一种实施方式中的视频数据显示装置的结构图;
[0024] 图7是本申请一种实施方式中的服务器的硬件结构图。

具体实施方式

[0025] 在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0026] 应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0027] 在一个例子中,服务器的视频数据播放过程可以包括:服务器在本地打开播放器,并显示播放器界面,如图1A所示,为播放器界面的示意图。然后,服务器获取经过编码的视频数据,并对视频数据进行解码,解码后的视频数据例如图1B所示。然后,服务器显示解码后的视频数据,得到图1C所示的示意图。
[0028] 当需要使用远程桌面技术实现视频数据的播放时,则服务器不在本地的播放器界面显示解码后的视频数据,而是将视频数据(经过编码的视频数据或者解码后的视频数据)发送给客户端,由客户端在客户端本地的播放器界面显示解码后的视频数据。在这种应用场景下,服务器并不会显示真正的播放器界面,而是模拟出用于远程显示的虚拟播放界面,这个虚拟播放界面与图1A的播放器界面相同,只是虚拟播放界面是在内存中模拟的,而不是在显示器真正显示。此外,客户端会在本地的显示器真正显示出播放器界面,这个播放器界面与服务器模拟出的虚拟播放界面完全相同,从而可以实现远程桌面技术。
[0029] 当需要使用远程桌面技术实现视频数据的播放时,为了使客户端能够正确显示视频数据(如图1C所示),则服务器向客户端传输的信息包括如下部分:
[0030] 一、播放器信息,如播放器的界面信息、播放器的位置信息等,对此播放器信息不做限制。基于此播放器信息,就可以显示与该播放器信息对应的播放器界面。如图1A所示,为基于某个播放器信息显示的播放器界面的示例。
[0031] 其中,播放器的界面信息可以包括但不限于与播放器界面有关的信息,如播放器界面的样式等,对此界面信息不做限制。如图1A中的“xxx播放器”、“最小化标识—”、“最大化标识□”、“删除标识×”等,此外,还可以包括图1A中未显示的“快进键、声音键、快退键、进度条、暂停、停止、全屏键”等。
[0032] 其中,播放器的位置信息可以包括播放器的界面大小以及播放器的坐标等。如播放器的界面大小可以包括长度w1和高度h1等。播放器的坐标(x1,y1)可以为左上角坐标、左下角坐标、右上角坐标、右下角坐标、中心点坐标等。
[0033] 如图1D所示,在确定左上角坐标(x1,y1)后,基于已知的长度w1和高度h1,就可以得到图1A中的播放器界面。左上角坐标(x1,y1)是相对于坐标原点(0,0)的坐标,而坐标原点(0,0)可以是屏幕左下角,对此坐标原点(0,0)不做限制。同理,在确定左下角坐标、右上角坐标、右下角坐标、中心点坐标等其它坐标后,也可以得到图1A中的播放器界面,在此不再赘述。
[0034] 二、视频数据,即需要在播放器显示的视频数据,可以是视频图案、视频画面等,对此视频数据不做限制,如图1B所示,为视频数据的一个示例。
[0035] 三、视频数据的播放窗口信息,如播放窗口大小和播放窗口坐标等。例如,播放窗口大小可以包括长度w2和高度h2等,而播放窗口坐标(x2,y2)可以为左上角坐标、左下角坐标、右上角坐标、右下角坐标、中心点坐标等。
[0036] 如图1E所示,播放窗口信息包括左上角坐标(x2,y2)、长度w2和高度h2,左上角坐标(x2,y2)是相对于坐标原点(0,0)的坐标,而坐标原点(0,0)可以是屏幕左下角,对此坐标原点(0,0)不做限制。播放窗口信息也可以包括左下角坐标、右上角坐标、右下角坐标、中心点坐标等,在此不再赘述。
[0037] 其中,基于此播放窗口信息,可以确定出播放器界面的播放窗口,并在该播放窗口显示视频数据,如图1C所示,为在播放窗口显示视频数据的示意图。
[0038] 在使用MMR技术(也就是多媒体重定向技术)时,服务器模拟出虚拟播放界面,获取经过编码的视频数据,但是并不对该视频数据进行解码,而是直接将经过编码的视频数据发送给客户端,由客户端对经过编码的视频数据进行解码。此外,服务器还可以将播放器信息发送给客户端,并将视频数据在虚拟播放界面的播放窗口信息发送给客户端。而且,上述经过编码的视频数据、播放器信息、播放窗口信息可能是服务器通过三个不同的消息发送给客户端的。
[0039] 客户端在接收到经过编码的视频数据、播放器信息、播放窗口信息后,为了能够正确播放视频数据(如图1C所示),则客户端的处理流程如下所示:
[0040] 客户端根据播放器信息显示播放器界面,由于播放器信息与视频数据是分开传输的,因此,这个播放器界面当前没有显示真正的视频数据,在原本应该填充视频数据的区域(也就是播放窗口),客户端会在该区域填充特定类型的视频数据(如黑色图案的视频数据,后续将其称为黑屏数据),如图1F所示。
[0041] 客户端在接收到经过编码的视频数据后,对视频数据进行解码,得到解码后的视频数据,如图1B所示。在接收到播放窗口信息后,基于播放窗口信息将解码后的视频数据填充到播放器界面的黑屏区域,得到图1C所示的示意图。
[0042] 但是,在上述方式下,若播放器的界面大小发生变化,和/或,播放器的坐标发生变化,则会导致客户端无法正确显示视频数据。其中,当用户对播放器的界面执行拉伸等操作时,播放器的界面大小(即长度w1和/或高度h1)发生变化;当用户对播放器执行向左、向右、向上、向下等拖动操作时,则播放器的坐标(x1,y1)发生变化。以向右平移播放器为例,则播放器的坐标(x1,y1)中的x1会发生变化,如图1G所示,为变化后的播放器界面示意图。
[0043] 其中,客户端无法正确显示视频数据的原因是:在播放器的坐标发生变化时,服务器将变化后的播放器信息(如图1G所示)发送给客户端,而客户端会根据该播放器信息显示图1H所示的播放器界面,与图1F相比,播放器界面整体向右进行了平移。进一步的,客户端是基于变化前的播放窗口信息,将解码后的视频数据填充到与该播放窗口信息对应的区域,得到图1I所示的示意图。
[0044] 显然,视频数据填充的区域是错误的,即无法覆盖黑屏区域,一直到服务器将变化后的播放窗口信息发送给客户端后,基于变化后的播放窗口信息,客户端才可以将解码后的视频数据填充到正确的区域,得到图1J所示的示意图。
[0045] 在上述方式下,客户端无法实时的得到播放窗口信息,导致视频数据无法实时跟随播放器位置的变化,即视频数据存在滞后现象,用户体验较差。
[0046] 针对上述发现,本申请实施例中提出一种视频数据显示方法,该方法可以应用于包括服务器和客户端的系统,且服务器与客户端之间通过远程桌面协议进行通信。其中,该远程桌面协议可以包括但不限于SPICE(Simple Protocol forIndependent Computing Environments,独立计算环境简单协议)。此外,该视频数据显示方法用于在多媒体重定向过程(即在服务器获取经过编码的视频数据,但是并不对该视频数据进行解码,而是直接将经过编码的视频数据发送给客户端,由客户端对经过编码的视频数据进行解码,并在播放器界面显示解码后的视频数据)中,并可以解决播放器界面与视频数据的播放窗口不同步的问题,保证播放器界面与视频数据的播放窗口同步,提高用户体验。
[0047] 参见图2所示,为该视频数据显示方法的流程图,该方法可以包括:
[0048] 步骤201,服务器为客户端分配视频数据的数据通道,其中,该视频数据通过该数据通道发送给该客户端,且该数据通道由数据通道标识唯一确定。
[0049] 其中,服务器与客户端之间可以建立多个用于传输视频数据的数据通道,每个数据通道对应有唯一的数据标识,当数据通道正在传输视频数据时,表示这个数据通道占用,当数据通道没有传输视频数据时,表示这个数据通道空闲。
[0050] 服务器在获取到经过编码的视频数据(即需要在客户端显示的视频数据)后,可以从空闲的数据通道中,为客户端分配这个视频数据的数据通道,并通过该数据通道将该视频数据发送给客户端,并可以获取到该数据通道对应的数据通道标识。而且,客户端在通过数据通道接收到视频数据后,也可以获取到该数据通道对应的数据通道标识,也就是该视频数据对应的数据通道标识。
[0051] 步骤202,服务器获取播放该视频数据的播放器的播放器信息及播放窗口信息(即用于显示该视频数据的播放窗口的播放窗口信息)。
[0052] 在一个例子中,虽然服务器并不在播放器的界面显示视频数据,但是,服务器在获取到经过编码的视频数据后,能够知道该视频数据应该在播放器的哪个播放窗口显示,这个播放窗口也就是该视频数据对应的播放窗口。
[0053] 例如,服务器可以同时打开播放器1和播放器2,播放器1对应一个虚拟播放界面1,虚拟播放界面1上存在一个播放窗口1,假设需要在虚拟播放界面1的播放窗口1播放视频数据时,则会获取针对播放窗口1的视频数据,这样,也就可以获知该视频数据在虚拟播放界面对应的播放窗口是播放窗口1。
[0054] 又例如,服务器打开播放器1后,播放器1对应一个虚拟播放界面1,虚拟播放界面1上存在播放窗口1和播放窗口2,假设需要在虚拟播放界面1的播放窗口1播放视频数据时,则会获取针对播放窗口1的视频数据,这样,也就可以获知该视频数据在虚拟播放界面对应的播放窗口是播放窗口1。
[0055] 在一个例子中,服务器为视频数据分配数据通道后,可以获取该数据通道对应的数据通道标识,并获取该视频数据在虚拟播放界面对应的播放窗口,然后,服务器可以建立该数据通道标识与该播放窗口的对应关系。
[0056] 步骤203,服务器根据该播放器信息、该播放窗口信息和该数据通道标识生成播放窗口填充数据,并将该播放窗口填充数据发送给客户端。
[0057] 在一个例子中,针对“服务器根据该播放器信息、该播放窗口信息和该数据通道标识生成播放窗口填充数据”的处理时机,可以包括但不限于:当检测到视频数据对应的播放窗口信息发生变化时,则服务器可以根据该播放器信息、该播放窗口信息和该数据通道标识生成播放窗口填充数据,并执行后续步骤。
[0058] 其中,当客户端显示播放器界面之后,用户可以对这个播放器界面进行操作,例如,用户对播放器的界面执行拉伸、拖动等操作时,则客户端通过远程桌面协议将操作信息发送给服务器,服务器在接收到该操作信息后,获知与这个播放器界面对应的虚拟播放界面的界面大小和/或坐标发生变化,也就是说,在虚拟播放界面显示的播放窗口信息也随之发生变化,因此,可以检测到该播放窗口信息发生变化,并执行上述生成播放窗口填充数据的过程。
[0059] 其中,用于承载播放窗口填充数据的消息,可以是远程桌面协议消息。
[0060] 步骤204,客户端在接收到服务器发送的播放窗口填充数据之后,则根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识。
[0061] 在一个例子中,服务器在根据播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程中,可以生成携带该播放器信息、该播放窗口信息和该数据通道标识的播放窗口填充数据。基于此,客户端可以直接从所述播放窗口填充数据中解析出该播放器信息、该播放窗口信息和该数据通道标识。
[0062] 在另一个例子中,服务器在根据播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程中,可以生成包括数据通道标识的图像识别码,并根据该播放窗口信息显示该图像识别码(即在该播放窗口信息对应的播放窗口显示该图像识别码),根据显示有该图像识别码的界面生成播放窗口填充数据,即该播放窗口填充数据包括该播放器信息和该图像识别码。基于此,客户端可以从播放窗口填充数据中解析出播放器信息和图像识别码,在与该播放器信息对应的播放器界面中显示出该图像识别码,根据该图像识别码的显示区域确定播放窗口信息,并从图像识别码中解析出数据通道标识。
[0063] 其中,由于客户端可以显示多个播放窗口,不同播放窗口用于显示不同的视频数据,因此,客户端需要获知播放窗口与视频数据的对应关系,才能够在播放器界面显示正确的视频数据。进一步的,为了使客户端获知播放窗口与视频数据的对应关系,则可以使用数据通道标识将播放窗口与视频数据进行关联。
[0064] 上述过程中已经介绍,客户端通过数据通道接收到视频数据后,可以确定出这个数据通道对应的数据通道标识,也就是该视频数据对应的数据通道标识。因此,只需要将该数据通道标识赋予播放窗口,客户端就可以将播放窗口与视频数据进行关联,并在该播放窗口显示该视频数据。为此,在本申请实施例中,服务器可以根据该数据通道标识生成图像识别码,并在该播放窗口显示该图像识别码,从而将该播放窗口与该数据通道标识对应的视频数据进行关联。
[0065] 其中,针对“服务器生成包括数据通道标识的图像识别码、客户端从图像识别码中解析出数据通道标识”的过程,可以包括但不限于如下方式:
[0066] 方式一、服务器在数据通道标识之前添加第一标识,在数据通道标识之后添加第二标识,将第一标识、数据通道标识、第二标识组成数字字符串,并通过图像转换技术将该数字字符串转换成图像格式的数据通道标识图像,并利用该数据通道标识图像生成图像识别码,该图像识别码由一个数据通道标识图像构成。客户端从图像识别码的左侧位置开始,通过图像识别技术将图像识别码(由一个数据通道标识图像构成,且数据通道标识图像是由第一标识、数据通道标识、第二标识组成的数字字符串对应的图像)转换成数字字符串,并从转换的数字字符串中解析出与第一标识匹配的第一字符串、与第二标识匹配的第二字符串,并将第一字符串与第二字符串之间的字符串确定为数据通道标识。
[0067] 方式二、服务器在数据通道标识之前添加第一标识,在数据通道标识之后添加第二标识,将第一标识、数据通道标识、第二标识组成数字字符串,并通过图像转换技术将该数字字符串转换成图像格式的数据通道标识图像,并利用该数据通道标识图像生成图像识别码,该图像识别码由左右对称的两个数据通道标识图像构成。客户端从图像识别码的中心位置开始,通过图像识别技术将图像识别码(由左右对称的两个数据通道标识图像构成,且每个数据通道标识图像是由第一标识、数据通道标识、第二标识组成的数字字符串对应的图像)转换成数字字符串,并从转换的数字字符串中解析出与第一标识匹配的第一字符串、与第二标识匹配的第二字符串,并将第一字符串与第二字符串之间的字符串确定为数据通道标识。
[0068] 针对方式一,服务器与客户端需要配置相同的第一标识,如第一标识为0101。服务器与客户端还需要配置相同的第二标识,如第二标识为1010。
[0069] 服务器在获得数据通道标识(如00010000)后,可以在该数据通道标识之前添加第一标识0101,并在该数据通道标识之后添加第二标识1010,然后,可以将第一标识、数据通道标识、第二标识组成数字字符串,这个数字字符串可以是0101000100001010。然后,可以通过图像转换技术将该数字字符串转换成图像格式的数据通道标识图像,这个数据通道标识图像也就是上述图像识别码,对此图像转换技术不做限制,所有能够将数字字符串转换成图像的方式,均在本申请保护范围之内。参见图3A所示,为图像识别码的一个示例,在该图像识别码中,0为白色图案,1为黑色图案,为了实现这一过程,则:针对数字0的像素点,可以将该像素点的灰度值设置为255,针对数字1的像素点,可以将该像素点的灰度值设置为0。例如,在图3A中,假设播放窗口占用320个像素点,由于数字字符串0101000100001010为
16位,因此每位占用20个像素点,即像素点1至像素点20为第一个0对应的灰度值255,像素点21至像素点40为第二个1对应的灰度值0,以此类推。
[0070] 客户端在获得图像识别码后,基于第一标识0101,从图像识别码的左侧位置开始,找到第一标识的第一个0对应的连续像素点,即灰度值为255的连续像素点,由于像素点1至像素点20的灰度值为255,因此确定像素点1至像素点20是第一标识的第一个0对应的像素点。然后找到第一标识的第一个1对应的连续像素点,即灰度值为0的连续像素点,由于像素点21至像素点40的灰度值为0,因此确定像素点21至像素点40是第一标识的第一个1对应的像素点。
[0071] 综上所述,客户端可以获知每20个像素点对应数字字符串的1位数字。然后,从图像识别码的左侧位置开始,客户端可以通过图像识别技术将图像识别码转换成数字字符串。例如,将连续20个灰度值为255的像素点转换为数字0,将连续20个灰度值为0的像素点转换为数字1,如针对图3A的图像识别码,可以将其转换成为数字字符串0101000100001010,从该数字字符串中解析出与第一标识010匹配的第一字符串、与第二标识1010匹配的第二字符串,并将第一字符串与第二字符串之间的字符串00010000确定为数据通道标识。
[0072] 在一个例子中,服务器在根据播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程中,服务器在生成图3A所示的图像识别码后,可以将这个图像识别码添加到对应的播放窗口,即在该播放窗口显示该图像识别码,如图3B所示。然后,服务器可以根据图3B所示的界面生成播放窗口填充数据,该播放窗口填充数据可以包括播放器信息和该图像识别码。
[0073] 客户端在接收到该播放窗口填充数据后,可以从播放窗口填充数据中解析出播放器信息和图像识别码,客户端可以在播放器界面(即与该播放器信息对应的播放器界面)中显示该图像识别码,如图3B所示。客户端可以根据该图像识别码的显示区域确定播放窗口信息,即该图像识别码的显示区域就是播放窗口信息对应的播放窗口。然后,客户端可以确定出数据通道标识为00010000。至此,客户端获取到播放器信息、播放窗口信息和数据通道标识。
[0074] 针对方式二,处理过程与方式一类似,以下对二者的不同之处进行说明。
[0075] 在方式一中,图像识别码由一个数据通道标识图像构成,而在方式二中,图像识别码由左右对称的两个数据通道标识图像构成,如图3C所示,由左右对称的两个数据通道标识图像构成的图像识别码的示意图。
[0076] 在方式一中,客户端是从图像识别码的左侧位置开始进行图像识别,而在方式二中,客户端是从图像识别码的中心位置(也就是中心的像素点)开始进行图像识别,例如,基于本地配置的第一标识0101,从图像识别码的中心位置开始,先找到第一标识的第一个0对应的连续像素点的数量,以此类推。
[0077] 进一步的,采用方式二的效果在于:由于在图像识别码包括两个数据通道标识图像,因此,从图像识别码的中心位置开始进行图像识别时,可以准确找到第一标识0101的第一个0对应的连续像素点,准确识别图像识别码。
[0078] 步骤205,客户端在本地显示与该播放器信息对应的播放器界面。
[0079] 步骤206,客户端从播放器界面确定出该播放窗口信息对应的播放窗口。
[0080] 步骤207,客户端在该播放窗口显示与该数据通道标识对应的视频数据。
[0081] 在一个例子中,客户端可以在本地显示与该播放器信息对应的播放器界面,如图3B所示,为播放器界面的一个示例。从该播放器界面中确定出与该播放窗口信息对应的播放窗口,也就是图3B的图像识别码显示区域。然后,可以在该播放窗口显示与该数据通道标识对应的视频数据,假设与该数据通道标识对应的视频数据如图1B所示,则播放器界面最终显示的视频数据可以如图1J所示。
[0082] 基于上述技术方案,本申请实施例中,服务器向客户端发送的是播放窗口填充数据,客户端可以根据播放窗口填充数据确定播放器信息、播放窗口信息、数据通道标识,在客户端显示与该播放器信息对应的播放器界面,从该播放器界面确定出与该播放窗口信息对应的播放窗口,并在该播放窗口显示与该数据通道标识对应的视频数据。上述方式可以解决播放器界面与视频数据的播放窗口不同步的问题,保证播放器界面与视频数据的播放窗口同步,使得客户端可以正确显示视频数据,如视频数据实时跟随播放器位置的变化,提高用户体验。
[0083] 基于与上述方法同样的申请构思,本申请实施例还提出一种视频数据显示装置,应用于应用于多媒体重定向中的远程显示的客户端,如图4所示,为所述装置的结构图,包括:接收模块401,用于接收服务器发送的播放窗口填充数据;确定模块402,用于根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识;显示模块403,用于在所述客户端显示与所述播放器信息对应的播放器界面;所述确定模块402,还用于从所述播放器界面确定出与所述播放窗口信息对应的播放窗口;所述显示模块403,还用于在所述播放窗口显示与所述数据通道标识对应的视频数据。
[0084] 所述确定模块402,具体用于在根据所述播放窗口填充数据确定播放器信息、播放窗口信息和数据通道标识的过程中,若所述播放窗口填充数据包括播放器信息、播放窗口信息、数据通道标识,从所述播放窗口填充数据中解析播放器信息、播放窗口信息、数据通道标识;或,若所述播放窗口填充数据包括播放器信息、图像识别码,且所述图像识别码包括数据通道标识,从所述播放窗口填充数据中解析出所述播放器信息和所述图像识别码;在与所述播放器信息对应的播放器界面中显示出所述图像识别码,并根据所述图像识别码的显示区域确定所述播放窗口信息,并从所述图像识别码中解析出所述数据通道标识。
[0085] 在一个例子中,所述确定模块402,还用于在从所述图像识别码中解析出所述数据通道标识的过程中,从图像识别码的左侧位置开始,通过图像识别技术将图像识别码转换成数字字符串,所述图像识别码由一个数据通道标识图像构成;或者,从图像识别码的中心位置开始,通过图像识别技术将图像识别码转换成数字字符串,所述图像识别码由左右对称的两个数据通道标识图像构成;其中,所述数据通道标识图像是由第一标识、数据通道标识、第二标识组成的数字字符串对应的图像;
[0086] 从转换的数字字符串中解析出与第一标识匹配的第一字符串、与第二标识匹配的第二字符串,并将所述第一字符串与所述第二字符串之间的字符串确定为数据通道标识。
[0087] 本申请实施例中提供的客户端,从硬件层面而言,其硬件架构示意图具体可以参见图5所示。可以包括:机器可读存储介质和处理器,其中:
[0088] 机器可读存储介质:存储指令代码。
[0089] 处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的视频数据显示操作。
[0090] 这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0091] 基于与上述方法同样的申请构思,本申请实施例中还提出一种视频数据显示装置,应用于多媒体重定向中的服务器,所述服务器模拟出用于远程显示的虚拟播放界面,如图6所示,为所述装置的结构图,所述装置包括:分配模块601,用于为客户端分配视频数据的数据通道,所述视频数据通过所述数据通道发送给所述客户端,所述数据通道由数据通道标识唯一确定;获取模块602,用于获取播放所述视频数据的播放器的播放器信息及播放窗口信息;生成模块603,用于根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据;发送模块604,用于将所述播放窗口填充数据发送给所述客户端,以使所述客户端根据所述播放器信息、播放窗口信息和数据通道标识显示所述视频数据。
[0092] 所述生成模块603,具体用于在根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据过程中,生成包括所述数据通道标识的图像识别码,并根据所述播放窗口信息显示所述图像识别码;根据显示有所述图像识别码的界面生成播放窗口填充数据,所述播放窗口填充数据包括所述播放器信息以及所述图像识别码;或者,[0093] 生成携带播放器信息、播放窗口信息和数据通道标识的播放窗口填充数据。
[0094] 所述生成模块603,还用于在生成包括所述数据通道标识的图像识别码的过程中,在所述数据通道标识之前添加第一标识,在所述数据通道标识之后添加第二标识,将所述第一标识、所述数据通道标识、所述第二标识组成数字字符串,通过图像转换技术将所述数字字符串转换成图像格式的数据通道标识图像;
[0095] 利用所述数据通道标识图像生成图像识别码;其中,所述图像识别码由一个数据通道标识图像构成,或者由左右对称的两个数据通道标识图像构成。
[0096] 所述生成模块603,具体用于在根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据的过程中,当检测到视频数据对应的播放窗口信息发生变化时,则根据所述播放器信息、播放窗口信息和数据通道标识生成播放窗口填充数据。
[0097] 本申请实施例中提供的服务器,从硬件层面而言,其硬件架构示意图具体可以参见图7所示。可以包括:机器可读存储介质和处理器,其中:
[0098] 机器可读存储介质:存储指令代码。
[0099] 处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的视频数据显示操作。
[0100] 这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0101] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0102] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0103] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0104] 而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0105] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0106] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。