CN110770785B - 用于在vr中显示的屏幕共享 - Google Patents
用于在vr中显示的屏幕共享 Download PDFInfo
- Publication number
- CN110770785B CN110770785B CN201880043450.5A CN201880043450A CN110770785B CN 110770785 B CN110770785 B CN 110770785B CN 201880043450 A CN201880043450 A CN 201880043450A CN 110770785 B CN110770785 B CN 110770785B
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual environment
- visual content
- recipient
- rendering
- 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.)
- Active
Links
- 230000000007 visual effect Effects 0.000 claims abstract description 154
- 238000009877 rendering Methods 0.000 claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 29
- 230000015654 memory Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000000670 limiting effect Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 206010047571 Visual impairment Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001093 holography Methods 0.000 description 1
- QWXYZCJEXYQNEI-OSZHWHEXSA-N intermediate I Chemical compound COC(=O)[C@@]1(C=O)[C@H]2CC=[N+](C\C2=C\C)CCc2c1[nH]c1ccccc21 QWXYZCJEXYQNEI-OSZHWHEXSA-N 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 208000029257 vision disease Diseases 0.000 description 1
- 230000004393 visual impairment Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4092—Image resolution transcoding, e.g. by using client-server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/005—Adapting incoming signals to the display format of the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0261—Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/08—Arrangements within a display terminal for setting, manually or automatically, display parameters of the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
- G09G2370/042—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了用于屏幕共享的系统和方法。该屏幕共享可以包括从发送方系统向接收方系统提供图像数据。该接收方系统可以是被配置成通过将该图像数据投影到虚拟画布上来在虚拟环境中渲染该图像数据的虚拟现实[VR]系统。在该发送方系统处,可以标识要与该接收方系统共享的视觉内容。由该接收方对该虚拟环境的渲染或显示可能对该视觉内容施加易读性约束。因此,可以生成该视觉内容的经调整版本,该经调整版本在该虚拟环境中观看时提供了提高的易读性。然后可以向该接收方系统提供表示该视觉内容的经调整版本的图像数据。因此,当用户在该虚拟环境中渲染、显示和随后观看由该发送方系统共享的视觉内容时,可以提高该视觉内容的易读性。
Description
技术领域
本发明涉及一种通过向接收方系统提供图像数据来进行屏幕共享的方法和发送方系统。本发明进一步涉及一种用于在虚拟现实环境中渲染图像数据的方法和接收方系统。接收方系统可以是虚拟现实系统。本发明进一步涉及在屏幕共享中使用的元数据,并且涉及一种包括指令的计算机程序,这些指令用于处理器系统执行所述方法中的任一种方法。
背景技术
屏幕共享是一种用于将来自发送方设备的视觉内容与接收方设备共享的已知技术。例如,软件应用‘Skype’允许在个人计算机和移动设备上在发送方与一个或多个接收方之间进行屏幕共享。在此,术语‘屏幕共享’被理解为包括共享由发送方设备显示的整个屏幕,例如‘全屏共享’,但还包括共享其一部分,诸如应用的特定窗口。通常,屏幕共享可能涉及与接收方设备共享由发送方设备当前显示的或打算显示的视觉内容。
在许多情况下,与接收方设备共享的视觉内容在由接收方设备显示时对于用户来说足够清晰。原因可能是发送方设备和接收方设备可以共享类似的显示特征,例如,通过使用类似的显示大小和显示分辨率。
发明人已经考虑了以下场景,其中视觉内容由发送方系统与接收方系统共享,该接收方系统是虚拟现实(VR)渲染系统,该渲染系统被配置成通过将视觉内容的图像数据投影到虚拟画布上来在虚拟环境中显示视觉内容。通常,VR渲染系统(在下文中还简称为VR系统)利用头戴式显示器(HMD)向用户渲染虚拟环境,尽管也可以使用其他类型的VR显示器和渲染技术,包括但不限于增强现实、全息术和洞穴状自动虚拟环境(递归缩写洞穴)。
已知例如通过将图像数据投影到虚拟环境中的虚拟屏幕或另一种类型的虚拟画布上而在这种虚拟环境中显示来自外部源的图像数据。在此,术语‘投影’是指实现将图像数据显示在虚拟环境中的虚拟画布上所涉及的任何步骤。例如,可以使用纹理映射技术,如UV映射,该映射涉及将2D图像投影到3D模型的表面。
发明人已经认识到对虚拟环境的渲染或显示会对在虚拟环境中显示的视觉内容的易读性施加约束。非限制性的示例是,可能使用相对有限的物理分辨率的HMD来显示相对宽的视场。这样,向用户显示虚拟屏幕的HMD区域可能具有少得多的可用于在其上显示视觉内容的物理像素,因为该HMD区域可能仅分配其物理像素的相对小部分来显示虚拟屏幕。相较而言,在计算机监视器或其他类型的非VR显示器上,视觉内容可以显示在相对于整个显示区域更大的区域中。因此,例如,由于没有足够的物理像素来充分显示文本,所以某些字体大小的文本在非VR显示器上是可读的,但是在虚拟显示器上是不可读的。易读性约束的另一个非限制性示例是,在虚拟环境中,虚拟屏幕可能太小、太远或与观看者成一定角度,这使得视觉内容不够清晰,而与HMD的分辨率无关。
发明内容
将有利的是在发送方系统与基于VR的接收方系统之间获得屏幕共享,这提供了提高的易读性。
根据本发明的第一方面,一种方法可以从发送方系统向接收方系统提供图像数据以用于屏幕共享。该接收方系统可以是被配置成通过将该图像数据投影到虚拟画布上来在虚拟环境中渲染该图像数据的虚拟现实[VR]系统。
该方法可以包括,在该发送方系统处:
- 标识要与该接收方系统共享的视觉内容;
- 通过基于接收方元数据调整该视觉内容的呈现来生成该视觉内容的经调整版本,该经调整版本在该虚拟环境中查看时提供提高的易读性,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束;以及
- 向该接收方系统提供表示该视觉内容的经调整版本的图像数据。
根据本发明的进一步方面,一种发送方系统可以被配置成向接收方系统提供图像数据以用于屏幕共享。该接收方系统可以是被配置成通过将该图像数据投影到虚拟画布上来在虚拟环境中渲染该图像数据的虚拟现实[VR]系统。
该发送方系统可以包括:
- 到网络的网络接口;
- 处理器,该处理器被配置成:
- 标识要与该接收方系统共享的视觉内容;
- 通过基于接收方元数据调整该视觉内容的呈现来生成该视觉内容的经调整版本,该经调整版本在该虚拟环境中查看时提供提高的易读性,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束;以及
- 使用该网络接口,经由该网络向该接收方系统提供表示该视觉内容的经调整版本的图像数据。
根据本发明的进一步方面,一种方法可以渲染由发送方系统提供给接收方系统以用于屏幕共享的图像数据。该接收方系统可以是虚拟现实[VR]系统。
该方法可以包括,在该接收方系统处:
- 从该发送方系统获得:
- 表示要由该发送方系统与该接收方系统共享的视觉内容的图像数据,以及
- 渲染元数据,该渲染元数据至少部分地指示将如何在虚拟环境中渲染该图像数据,并且是基于由对该虚拟环境的渲染或显示所施加的易读性约束而生成的;以及
- 基于该渲染元数据在该虚拟环境中渲染该图像数据,其中,所述渲染包括将该图像数据投影至该虚拟环境中的虚拟画布上。
根据本发明的进一步方面,一种接收方系统可以被配置成渲染由发送方系统提供给接收方系统以用于屏幕共享的图像数据。该接收方系统可以是虚拟现实[VR]系统。
该接收方系统可以包括:
- 到网络的网络接口,该网络接口用于从该发送方系统获得:
- 表示要由该发送方系统与该接收方系统共享的视觉内容的图像数据,以及
- 渲染元数据,该渲染元数据至少部分地指示将如何在虚拟环境中渲染该图像数据,并且是基于由对该虚拟环境的渲染或显示所施加的易读性约束而生成的;以及
- 处理器,该处理器被配置成基于该渲染元数据在该虚拟环境中渲染该图像数据,其中,所述渲染包括将该图像数据投影至该虚拟环境中的虚拟画布上。
根据上述措施,可以提供与接收方系统共享图像数据的发送方系统。接收方系统可以是VR设备,而在许多实施例中,发送方系统可以是非VR设备。具体但非限制性的示例可以是:发送方系统可以是包括或连接至固定或手持显示器的设备,而接收方系统可以是包括或连接至头戴式显示器的设备。这些设备可以经由如互联网等一个或多个网络进行连接。
在该发送方系统处,可以标识要与该接收方系统共享的视觉内容。这种视觉内容可以包括文本、表格、向量图形、光栅图形等、或其组合。这种视觉内容可以包括字母、数字、符号等。另外,视觉内容可以是二维内容,还可以是三维内容,如由左右图像对表示的立体图像内容、图像+视差数据等、或由计算机图形表示的三维内容,例如,纹理化的3D网格。通常,视觉内容可能已经被格式化用于显示,在这种情况下,它还可以被称为‘屏幕内容’或‘屏幕共享’,但是也可以省略这种格式化。后者的具体示例可以是尚未被光栅化以供显示的ASCII标准文本。
在标识了视觉内容之后,可以生成视觉内容的经调整版本,该经调整版本然后可以代替视觉内容的原始版本或作为该视觉内容的原始版本的补充来与接收方系统共享。这种共享可以是图像数据的形式。例如,可以通过对用于显示的视觉内容的经调整版本进行格式化来获得图像数据,在前面提到的示例中,这可以涉及对文本的经调整版本进行光栅化。经调整版本可以基于原始视觉内容,或基于原始视觉内容所基于的源内容,如微软Word或微软PowerPoint文件、网页等。该调整可以由发送方系统执行,以在虚拟环境中由接收方系统的用户渲染、显示和观看视觉内容时提高视觉内容的易读性。具体地,该调整可以保留视觉内容的实质部分,例如,其所表示的信息,同时改变其呈现以便在虚拟环境中观看。在前面提到的示例中,这可以涉及增大文本的字体大小。
调整可以基于接收方元数据来执行,该接收方元数据指示由于对虚拟环境的渲染或显示而对视觉内容的易读性施加的约束。这种接收方元数据可以采取各种形式,如本说明书中描述的各种实施例所例示的。
通过与接收方系统共享视觉内容的经调整版本,当用户在虚拟环境中渲染、显示和随后观看视觉内容时,视觉内容的易读性可以得到提高。这可以具有用户可以(更容易)理解由视觉内容所表示的信息的优点,这进而可以促进远程用户之间的信息共享、协作等。还可以避免用户为了在单独的显示器上观看视觉内容而不得不离开虚拟环境。
在实施例中,在该发送方系统处执行的方法可以进一步包括、和/或该发送方系统的处理器可以进一步被配置成:
- 基于由该接收方元数据指示的易读性约束,生成渲染元数据,该渲染元数据至少部分地指示将如何在虚拟环境中渲染该图像数据,以及
- 将该渲染元数据提供给该接收方系统。
渲染元数据可以经由发送方系统的网络接口提供给接收方系统。在此实施例中,发送方系统可以建议或规定接收方系统如何在虚拟环境中渲染图像数据。为此,发送方系统可以生成与图像数据相关联的元数据,并将该渲染元数据提供给接收方系统。在具体示例中,渲染元数据可以与图像数据一起提供给接收方系统,例如,复用在同一媒体流中。
通过提供这种渲染元数据,可以避免接收方系统以易读性(严重)受损的方式渲染图像数据。例如,该渲染元数据可以指示以下中的至少一项:
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向。
虚拟画布的大小可以是最小大小或推荐大小,例如,为了使视觉内容具有足够的易读性或最佳的易读性。类似地,虚拟画布到观看者视点的距离可以是最大距离或推荐距离,例如,为了使视觉内容具有足够的易读性或最佳的易读性。该定向可以是相对于观看者的视点的最大旋转和/或倾斜,或可以是固定的或推荐的定向。这种定向可能会扭曲视图,并可能会进一步约束易读性。
在实施例中,在该接收方系统处执行的方法可以进一步包括、和/或该接收方系统可以进一步被配置成:
- 向该发送方系统提供接收方元数据,其中,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束。
在相关实施例中,在该发送方系统处执行的方法可以进一步包括、和/或该发送方系统可以进一步被配置成:
- 从该接收方系统获得该接收方元数据,其中,该接收方元数据指示由该接收方系统对该虚拟环境的渲染或显示的一个或多个特征。
该接收方系统可以向发送方系统指示对虚拟环境的渲染或显示的一个或多个特征,当在VR环境中观看视觉内容时,这些特征可能影响视觉内容的易读性。这种特征可以包括但不限于:
- 显示该VR环境的显示器类型;
- 该显示器的分辨率;
- 该显示器的视场;
- 由该显示器使用的镜头的类型;
- 由该显示器使用的颜色空间;
- 该VR环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该VR环境中的观看者视点的距离和/或定向。
这些和类似的特征可以指示视觉内容的易读性可能如何受到对虚拟环境的渲染和显示的影响,并且可以允许对视觉内容的呈现进行调整以克服或至少补偿这种易读性约束。具体但非限制性的示例是VR环境中的虚拟画布的大小可能是固定的并且相对较小。因此,尽管虚拟画布的大小相对较小,但可以调整视觉内容的呈现以确保易读性。在另一个示例中,可以指示可以获得的虚拟画布的最大大小和/或可以应用于VR环境中的最小距离。此实施例的优点可以是,可以专门针对由特定(类型的)接收方系统所施加的易读性约束而不是例如针对通用或普通接收方系统所施加的易读性约束来调整视觉内容的呈现。
在实施例中,对该视觉内容的呈现的调整可以包括以下中的至少一项:
- 调整该视觉内容中文本的字体大小;
- 调整该视觉内容的呈现中的缩放水平;
- 调整该视觉内容的呈现中的配色方案;
- 调整该视觉内容的至少一部分的对比度;以及
- 针对具有与该视觉内容被格式化用于的显示器不同的每英寸像素设置和/或大小的显示器,重新格式化该视觉内容。
在实施例中,生成该视觉内容的经调整版本可以包括:
- 调整由该发送方系统当前在显示器上显示的视觉内容的当前呈现;或
- 独立于该视觉内容的当前呈现生成该视觉内容的经调整版本。
根据本发明的进一步方面,可以提供可以包括计算机程序的暂态或非暂态计算机可读介质。该计算机程序可以包括用于使处理器系统执行任何上述方法的指令。
根据本发明的进一步方面,可以提供可以包括以下各项的暂态或非暂态计算机可读介质:
- 接收方元数据,该接收方元数据指示由于对虚拟环境的渲染或显示而对在该虚拟环境中渲染的图像数据的易读性施加的易读性约束;或
- 渲染元数据,该渲染元数据至少部分地指示如何在该虚拟环境中渲染该图像数据。
本领域技术人员将认识到,可以以任何认为有用的方式组合上文提及的本发明的实施例、实施方式、和/或方面中的两个或更多个。
本领域技术人员可以在本说明书的基础上来执行对任何系统、方法、计算机程序或元数据的修改和变化,这些修改和变化对应于所描述的另一种系统、方法、计算机程序或元数据的修改和变化。
附图说明
参考下文所描述的实施例,本发明的这些和其他方面是显而易见的并且将被阐明。在附图中,
图1示出了发送方系统向基于VR的接收方系统发送图像数据以进行屏幕共享,其中图像数据经由网络发送;
图2示出了发送方系统的内部部件;
图3示出了基于VR的接收方系统的内部部件;
图4通过示出当在虚拟环境中的虚拟屏幕上显示文本时需要哪种字体大小才能获得与常规显示器上的8像素字体相同的可读性,展示了在所选类型的头戴式显示器上的文本可读性;
图5示出了要与接收方系统共享的视觉内容;
图6示出了视觉内容的经调整版本,当由接收方系统在虚拟环境中渲染时,该经调整版本提供了提高的易读性;
图7关于观看者的视点展示了在虚拟环境中的虚拟画布上渲染视觉内容;
图8示出了通用屏幕共享示例的步骤;
图9示出了面向发送方的屏幕共享示例的步骤;
图10示出了面向接收方的屏幕共享示例的步骤;
图11示出了屏幕共享实施例的系统架构;并且
图12示出了示例性数据处理系统。
应该注意的是,在不同的附图中具有相同附图标记的项具有相同的结构特征和相同的功能,或是相同的信号。在已经解释了这种项的功能和/或结构的情况下,不必在详细描述中重复解释。
参考和缩写的列表
以下参考和缩写的列表被提供以便于解释附图,不应被解释为对权利要求的限制。
100 发送方系统
110 网络接口
112 图像数据
114 渲染元数据
120 处理器
130 显示输出
132 显示数据
140 显示器
150 网络
200 接收方系统
210 网络接口
212 接收方元数据
220 处理器
230 显示输出
232 显示数据
240 头戴式显示器
250 用户
300 所需字体大小函数
310 到虚拟屏幕的距离,以cm为单位
320 字体大小,以像素为单位
400 视觉内容的原始版本
410 视觉内容的经调整版本
500 虚拟环境
510 用户的视点
520 显示视觉内容的虚拟画布
522 虚拟画布的大小
524 到虚拟画布的距离
600 发起VR共享模式
604 请求VR共享模式
610 发送方调整内容
612 应用固定窗口
614 指示头戴式显示器的能力
620 交换元数据
622 会话描述
624 示出头戴式显示器的视图
630 传输内容
640 接收并渲染内容
700 发送方侧
710 应用
712 到应用的用户输入
720 屏幕共享编排器
722 会话信息
730 编码器/发射器
732 (多个)已编码媒体流
800 接收方侧
810 接收器/解码器
820 客户端编排器
822 到客户端编排器的用户输入
824 能力、限制、用户输入
830 渲染器
1000 示例性数据处理系统
1002 处理器
1004 存储器元件
1006 系统总线
1008 本地存储器
1010 大容量存储设备
1012 输入设备
1014 输出设备
1016 网络适配器
1018 应用。
具体实施方式
图1示出了发送方系统100与接收方系统200之间的屏幕共享的第一示例。在此示例中,发送方系统100可以例如通过向本地显示器140提供显示数据132而在显示器140上显示信息。非限制性示例是,显示器140可以显示在发送方系统100上运行的操作系统的图形用户界面、在操作系统上运行的应用等。发送方系统100可以被配置成与接收方系统200进行屏幕共享。接收方系统200可以是VR渲染系统,该渲染系统还可以被称为‘VR系统’或‘基于VR的接收方系统’。接收方系统200可以连接至可由用户250佩戴的头戴式显示器240,还可以连接至能够渲染虚拟环境的另一种类型的显示器。此后,这些类型的显示器还可以称为‘VR显示器’。接收方系统200可以被配置成渲染可以由头戴式显示器240显示的虚拟环境,例如通过接收方系统200向头戴式显示器240提供显示数据232来显示。
以下关于屏幕共享提供了发送方系统100和接收方系统200的功能的简要描述。将参考图2至图11等给出进一步的详细描述。
在发送方系统100处,屏幕共享可以涉及:
- 标识要与接收方系统200共享的视觉内容,
- 通过基于接收方元数据调整视觉内容的呈现来生成视觉内容的经调整版本,该经调整版本在虚拟环境中查看时提供提高的易读性,该接收方元数据指示由于对虚拟环境的渲染或显示而施加的易读性约束,以及
- 向接收方系统200提供表示视觉内容的经调整版本的图像数据112。
在图1的示例中,发送方系统100经由网络150(如互联网)将图像数据112提供给接收方系统200。
在接收方系统200处,屏幕共享可以涉及:
- 从发送方系统100获得表示要由发送方系统与接收方系统200共享的视觉内容的图像数据112,以及
- 在虚拟环境中渲染图像数据,这可以包括将图像数据投影到虚拟环境中的虚拟画布上。
图1进一步示出,作为屏幕共享的可选方面,系统100可以生成渲染元数据114,该渲染元数据可以至少部分地指示将如何在虚拟环境中渲染图像数据112,并且可以基于由于对虚拟环境的渲染或显示所施加的易读性约束来生成。渲染元数据114可以由发送方系统100例如经由上述网络150提供给接收方系统200。接收方系统200可以基于渲染元数据114在虚拟环境中渲染图像数据112,例如,考虑到发送方系统100对如何在虚拟环境中渲染图像数据112的指示。
图1所示的又另一可选方面是可以至少部分地从接收方系统200获得接收方元数据,例如,作为经由网络150接收的接收方元数据212,该接收方元数据可以向发送方系统100提供由于对虚拟环境的渲染或显示而施加的易读性约束的指示。接收方元数据212可以指示接收方系统的类型,例如,接收方设备的标识符、和/或由接收方系统200对虚拟环境的渲染或显示的一个或多个特征。
图2示出了发送方系统100的更详细视图。可以看出,发送方系统100可以包括用于经由一个或多个网络与接收方系统200通信的网络接口110。网络接口110可以采取任何合适的形式,包括但不限于例如基于Wi-Fi、蓝牙、ZigBee、4G移动通信或5G移动通信的无线网络接口,或基于以太网或光纤的有线网络接口。网络接口110可以是局域网(LAN)网络接口,还可以是到广域网(WAN)、例如互联网的网络接口。
发送方系统100可以进一步包括处理器120,该处理器可以例如通过硬件设计或软件来配置,以执行参考图1和其他图所描述的与标识视觉内容、生成视觉内容的经调整版本以及通过使用网络接口经由网络将表示视觉内容的经调整版本的图像数据提供给接收方系统有关的操作。例如,处理器120可以由单个中央处理单元(CPU)来体现,但是还可以由这种CPU和/或其他类型的处理单元的组合或系统来体现。尽管与屏幕共享本身没有直接关系,但是图2进一步示出了发送方系统100包括例如到(外部)显示器的显示输出130。
发送方系统100可以由(单个)设备来体现。例如,发送方系统100可以体现为智能电话、个人计算机、膝上型计算机、平板设备、游戏控制台、机顶盒、电视、监视器、投影仪、智能手表、智能眼镜、媒体播放器、媒体记录器等。发送方系统100还可以由这种设备或其他实体的分布式系统来体现。该分布式系统的示例可以是发送方系统100的功能分布在网络中的不同网络元件上。
图3示出了接收方系统200的更详细视图。可以看出,接收方系统200可以包括网络接口210,该网络接口用于经由一个或多个网络从发送方系统100接收数据,如参考图1所描述的图像数据和渲染元数据。网络接口210还可以用于经由(多个)网络向发送方系统100发送数据,如参考图1所描述的接收方元数据。网络接口210可以采用任何合适的形式,包括但不限于参考图2的发送方系统100的网络接口110所描述的那些形式。
接收方系统200可以进一步包括处理器220,该处理器可以例如通过硬件设计或软件来配置,以执行参考图1和其他图所描述的与将图像数据投影到虚拟环境中的虚拟画布上以及虚拟环境的渲染有关的操作。在后者的上下文中,术语‘渲染’可以指从虚拟环境的几何描述生成图像或视频,但是还可以包括替代性的渲染方式,包括但不限于渲染表示虚拟环境的体积视频内容。例如,处理器220可以由单个中央处理单元(CPU)或单个图形处理单元(GPU)来体现,但是还可以由这种CPU和/或GPU和/或其他类型的处理单元的组合或系统来体现。
尽管与屏幕共享本身没有直接关系,但是图3进一步示出了接收方系统200包括显示输出230,例如,用于在显示器上显示已渲染的虚拟环境。显示器可以是外部显示器或内部显示器并且通常可以是头戴式或非头戴式的。前者的示例包括HTC Vive、Oculus Rift、GearVR和PlayStation VR虚拟现实头戴设备以及如微软全息透镜(Microsoft HoloLens)和谷歌眼镜(Google Glass)等增强现实头戴设备。后者的示例是全息显示器或CAVE。
通常,图2的发送方系统100和图3的接收方系统200可以各自体现为设备或装置,或在设备或装置中体现。该设备或装置可以包括执行适当软件的一个或多个(微)处理器。任一系统的处理器可以由这些(微)处理器中的一个或多个来体现。实施任一系统的功能的软件可能已经被下载和/或存储在相应的一个或多个存储器中,例如,如RAM等易失性存储器或如闪存等非易失性存储器。可替代地,任一系统的处理器可以以可编程逻辑的形式在设备或装置中实施,例如,作为现场可编程门阵列(FPGA)。任何输入和/或输出接口可以由设备或装置的相应接口(如网络接口)实施。通常,任一系统的每个单元可以以电路的形式实施。注意,任一系统还可以以分布式方式实施,例如,涉及不同的设备。
以下说明了当将视觉内容投影到虚拟环境中的虚拟画布上时,视觉内容的易读性可能受损的原因,该虚拟画布然后被渲染并显示在头戴式显示器上。在此,举例来说,虚拟画布是虚拟屏幕,还称为虚拟显示器。
当协作基于例如如Google Docs或Microsoft Office 365等共享文档编辑器时,用户可以配置他们的查看环境(例如,用户接口部件的布局和定位、文本的大小等)以使得文档编辑器中共享的信息足够清晰。然而,当这种协作基于涉及图像数据共享的屏幕共享时,这可能是不可能的。即,如果将桌面监视器或类似类型的物理屏幕上示出的视觉内容显示在与物理屏幕相同的大小和距离的虚拟屏幕上,这将为虚拟屏幕提供比物理屏幕低得多的(物理)分辨率。
例如,如果桌面监视器是定位在60 cm的距离处、分辨率为1920 × 1200的24英寸的屏幕,并且所示出的文本没有缩放(例如,100%缩放水平),则单个A4纸使用1103 × 780个像素。使用正常的字体大小,例如,8 pt至12 pt,这将产生对大多数人来说小但可读的文本。在相同距离处具有相同大小的虚拟屏幕在选定类型的头戴式显示器(例如,OculusCV1)上以相同缩放水平显示同一A4纸将针对同一A4纸每只眼睛仅使用340 × 222个像素。在此,假设Oculus CV1在水平方向上使用94°的视场(FoV)、在垂直方向上使用93°的视场,并且提供每只眼睛1080 × 1200的分辨率。在相同的正常字体大小下,文本将根本不可读。其他类型的头戴式显示器以及其他类型的VR显示器也会出现类似的问题。
可以单独调整虚拟屏幕的属性以确保文本的可读性,如屏幕大小、虚拟屏幕相对于虚拟环境中观看者视点的距离和/或定向。然而,例如,当调整屏幕大小时,在相同的距离下,虚拟屏幕将需要大约三倍大,例如,72英寸的屏幕,这在60 cm的距离下将几乎会阻挡观看者的整个FoV,并因此几乎没有空间向用户显示虚拟环境的周围部分。
图4通过使用实验导出的函数300示出当在虚拟环境中的虚拟屏幕上显示文本时,根据到虚拟屏幕的距离(沿着水平轴310以cm为单位)可能需要哪种字体大小(沿着竖直轴320以像素为单位)才能获得与常规屏幕上的8像素字体相同的可读性,进一步展示了Oculus CV1上的文本可读性,其中常规屏幕和虚拟屏幕都使用100%缩放并且为1 m宽。
虚拟屏幕上可能需要的字体大小r还可以使用三角学计算,例如如下:
在此,o是原始字体大小,以点为单位(长度的排版印刷单位,符号pt),w是屏幕宽度,以米为单位,d是到虚拟屏幕的距离,以米为单位,并且f是头戴设备或其他VR显示器的视场,以度为单位。例如,给定在2 m的距离处1 m宽的屏幕上的字体大小为14、在具有110度视场的头戴设备上观看的文本,该公式预测与常规屏幕上的字体大小14匹配的虚拟屏幕上的字体大小等于:
图5示出了视觉内容400的示例,该视觉内容可以由发送方系统与接收方系统共享,并且该视觉内容的呈现可以由发送方系统调整。在此示例中,视觉内容400是由应用示出的文本。通常,视觉内容可以是表示当作为虚拟环境的一部分在VR显示器上渲染和显示时其易读性可能受损的信息的任何类型的内容,包括但不限于文本、表格、向量图形、光栅图形等、或其组合。
图6示出了视觉内容410的经调整版本,当作为虚拟环境的一部分在VR显示器上渲染和显示时,该经调整版本提供了提高的易读性。即,在此示例中,随着文本颜色(黑色)与背景颜色(白色)的对比度更大,同时与视觉内容400的原始版本相比文本的字体大小显著增大,文本的对比度得到提高。
取决于视觉内容的类型和在VR显示器上渲染和显示虚拟环境所施加的易读性约束的类型,可以以各种方式来调整视觉内容的呈现,包括但不限于增大或减小视觉内容中文本的字体大小、增大或减小视觉内容呈现中的缩放水平、调整视觉内容呈现中的配色方案、增大或减小视觉内容的至少一部分的对比度、以及针对具有比视觉内容被格式化用于的显示器更低或更高的每英寸像素设置和/或大小的显示器重新格式化视觉内容。注意,增大字体大小/缩放水平/对比度等可以有助于易读性,但在一些情况下减小字体大小/缩放水平/对比度等也可以有助于易读性。在视觉内容是文本的示例中,如果虚拟画布相对较小或较远,则可以增大字体大小以提高易读性。增大字体大小可以提高易读性的另一个示例是虚拟画布相对较大,但是(例如,视觉内容的原始版本的)原始字体大小太小而无法辨认。然而,如果虚拟画布很小并且原始字体大小很大,这也可能会损害文本的易读性,因为虚拟画布只能容纳极少的文本。因此,可以减小字体大小以提高文本的易读性。类似地,如果虚拟画布和字体大小都很大,这也可能损害文本的易读性。并且在此,可以减小字体大小以提高易读性。
还可以调整视觉内容的布局,这可以涉及使用对应于或至少在概念上类似于‘响应式网页设计’的技术,通过该技术,不是静态定义网页,而是允许浏览器基于如观看设备的类型、屏幕大小、屏幕分辨率、浏览器窗口的大小等显示参数来动态确定最佳布局。这种调整的类似和进一步的示例将参考图11进行描述。
可以基于接收方元数据来调整呈现,该接收方元数据指示由于对虚拟环境的渲染或显示而施加的易读性约束。接收方元数据可以例如指示接收方系统是VR系统。接收方元数据还可以指示由接收方系统对虚拟环境的渲染或显示的一个或多个特征。例如,接收方元数据可以指示显示虚拟环境的显示器类型(例如,借助于类型标识符)、显示器分辨率、虚拟环境中的虚拟画布的大小、和/或虚拟画布相对于虚拟环境中的观看者视点的距离。另一个示例是可以指示头戴式显示器中所使用的镜头的类型,因为镜头的类型也可能影响视觉内容的易读性。又另一个示例是,接收方系统的显示器的支持颜色空间可能影响视觉内容的易读性,例如,如果显示器的色域较小,则色域之外的颜色可能被不正确地渲染和/或被剪除。又另一个示例是,可以用信号表示虚拟环境中的视觉损害因素,如烟或雾的存在或有限的渲染距离等。
应当理解,接收方元数据可以至少部分地从接收方系统本身获得,例如,如先前参考图1所描述的。在这种情况下,接收方系统还可以报告诸如网络状况、处理能力、解码能力等信息,这些信息可以被发送方系统用来最佳地生成图像数据或最佳地编码图像数据。另一个示例是,接收方元数据可以是存储在发送方系统中的内部数据,该数据描述针对一般类型的VR系统可以如何调整视觉内容的呈现。又另一个示例是,可以基于VR系统的类型标识符从内部数据库或外部数据库获得接收方元数据。例如,VR系统可以在通信会话期间向发送方系统提供类型标识符,这可以使发送方系统能够基于所提供的类型标识符在数据库中查询接收方元数据。
图7关于观看者的视点展示了在虚拟环境中的虚拟画布上渲染经调整的视觉内容。在此,虚拟环境500被说明性地示出为圆形,例如,球或圆,但是对于虚拟环境500的观看者来说可以显现为具有任何其他大小和/或形状。在虚拟环境中,示出了观看者250的视点510,该视点可以在虚拟环境中由虚拟相机表示,或在立体VR显示器的情况下,由一对虚拟相机表示。虚拟画布520被示出为在虚拟环境中具有大小522(在此仅沿一个轴示出,但是可以是二维大小或三维大小)和到观看者视点510的距离524。
虚拟画布的大小522、距离524和/或定向(例如,由3D旋转指定)可以由发送方系统建议或规定。即,基于由接收方元数据指示的易读性约束,发送方系统可以生成渲染元数据,该渲染元数据至少部分地指示将如何在虚拟环境中渲染图像数据。注意,由于距离和定向,可以关于观看者的视点来建议或规定虚拟画布的相对位置。渲染元数据然后可以与图像数据一起或与其分开提供给接收方系统。前者的示例是渲染元数据可以与图像数据复用以形成媒体流。渲染元数据可以建议或规定如何在虚拟环境中渲染图像数据的各个方面,如虚拟环境中虚拟画布的大小和/或虚拟画布相对于虚拟环境中观看者的视点的距离和/或定向。另一个示例是渲染元数据可以建议或规定由接收方系统应用于图像数据的处理,如对比度或颜色调整。这种渲染和/或显示参数的类似和进一步示例将参考图11进行描述。
图8示出了充当图9和图10的特定示例的基础的通用屏幕共享示例的步骤。在此一般示例中,在第一步骤600中,可以由发送方系统本身发起屏幕共享,例如,应用户请求发起或自主发起,也可以由接收方系统发起。随后,在第二步骤610中,发送方系统如先前所描述的调整视觉内容,在第三步骤620中,交换元数据,这可能涉及发送方系统从接收方系统接收接收方元数据,在第四步骤630中,将经调整的视觉内容传输至接收方系统,并且在第五步骤640中,接收方系统接收并渲染经调整的视觉内容。注意,至少第三步骤620和第四步骤630还可以以不同的(反向)顺序、或同时、或以时间重叠的方式执行。
图9展示了面向发送方的屏幕共享示例。在此示例中,引用了‘非VR’用户和‘VR用户’,‘非VR’用户指的是发送方系统的用户,并且‘VR用户’指的是接收方系统的用户。非VR用户可以通过例如在体现所要求保护的屏幕共享功能的软件应用中选择用于共享微软Word文档的“VR共享模式”来决定共享视觉内容。此动作可以表示发起VR共享模式的第一步骤600。作为响应,在第二步骤612中,可以将固定的有限窗口大小应用于微软Word文档的窗口,以作为在保持或甚至增大字体大小的同时调整发送方的屏幕内容的方式。例如,窗口大小可以调整到640 × 480像素。因此,非VR用户可能具有用于微软Word窗口的有限屏幕可用空间,并且可能无法再重新调整窗口的大小。然而,相对于减小的窗口大小,字体大小现在可能会显现得更大。在第三步骤622中,发送方系统可以以会话描述的形式将渲染元数据提供给接收方系统,该渲染元数据可以描述接收方系统应该在虚拟环境中渲染接收到的经调整视觉内容的方式。与图8的示例中的情况一样,在第四步骤630中,可以将经调整的视觉内容传输至接收方系统,并且在第五步骤640中,接收方系统可以接收并渲染经调整的视觉内容。接收方系统处的渲染可以基于会话描述。
通常,可以使用SDP(会话描述协议)或使用XML方案(例如作为媒体呈现描述(MPD)或以类似于媒体呈现描述的方式)来交换作为渲染元数据的示例的会话描述。
以下提供了使用SDP进行这种会话描述的示例,该示例建议在60 cm的宽度、1 m的距离处渲染经调整的视觉内容,并且使用与SDP图像属性结合使用的SDP媒体级别属性,该SDP媒体级别属性定义为a=vr-share<distance><window_width>。
以下以XML提供了会话描述的示例,该示例不是完全完整的,而是集中在屏幕共享方面。在此,描述采用类似MPD的格式,其中,添加了定义为‘共享屏幕(sharedScreen)’的角色,并添加了补充属性‘共享版本(shared version)’来指示VR版本,‘共享VR距离(sharedVR distance)’是以cm为单位的距离,并且‘共享VR屏幕宽度(shared VR screen width)’是以cm为单位的宽度。
图10示出了面向接收方的屏幕共享示例的步骤。在此示例中,接收方系统可以承担更积极的角色,因为其可以在步骤604中请求发送方系统发起特定于VR的屏幕共享。出于此目的,在第二步骤614中,接收方系统可以向发送方系统指示其VR显示能力,如显示类型和显示分辨率。另外,可以向发送方系统指示虚拟显示器大小和虚拟显示器布置。通常,这种数据可以以接收方元数据的形式提供给发送方系统。在此示例中,可以使VR用户使用例如VR控制器或使用手势检测装置(例如,跳跃运动控制器)来滚动虚拟显示器上的共享视觉内容。在第三步骤624中,可以例如借助于框形轮廓向非VR用户示出指示VR用户的当前视图的可视框。此反馈可以允许非VR用户将不同的视觉内容置于可视框中,并且从而与VR用户共享不同的视觉内容。另外或可替代地,VR用户可以借助于滚动来跨非VR用户的屏幕移动可视框,并且从而例如基于先前所描述的第四步骤630和第五步骤640来查看屏幕的不同部分。有效地,屏幕共享可以共享感兴趣的特定区域,而不是例如整个屏幕。可以使用现有的方法来用信号表示感兴趣的区域,如在MPEG-MORE中指定的那些方法。
在此示例中,接收方系统可以首先将虚拟环境设置为具有特定大小(例如,80 cm宽和16 : 9纵横比)的虚拟屏幕,并将虚拟屏幕置于虚拟环境中距用户特定距离处(例如,80 cm)。并且还设置VR显示器的分辨率(例如,2160 × 1200个像素),这允许发送方系统确定其共享内容的适当大小。
接收方系统可以以接收方元数据的形式向发送方系统指示其能力,该接收方元数据可以以与先前参考图9针对会话描述所描述的相同或相似类型的格式来提供。
例如,可以针对终端类型定义SDP属性,该终端类型可以包括VR显示器的类型和VR显示器的分辨率,并且针对虚拟屏幕定义第二SDP属性,该属性可以被定义为a= virtualscreen<distance><screensize>,其中,距离和屏幕大小以cm为单位定义。在发送方与接收方之间的会话建立期间,终端类型可以作为会话级属性发送,并且虚拟屏幕可以作为用于屏幕共享的媒体级属性发送。
相同的参数还可以以例如基于MPEG-21的XML方案发送,在此示例中,该方案可以用虚拟屏幕大小和屏幕距离来扩展。此外,在此示例中,VR显示器类型的类型标识符可以用来指示使用了HMD。与图9的示例一样,此XML方案不是完全完整的,而是集中在屏幕共享方面。
基于接收方元数据,发送方系统可以确定屏幕区域,或通常确定要共享的视觉内容的大小,该视觉内容将适应此虚拟屏幕并且仍然提供足够的易读性。另外,发送方系统可以选择适当的分辨率和编码方法,例如,用于媒体流。
图11示出了屏幕共享实施例的系统架构,该实施例类似于图10的示例,是面向接收方的,因为其允许VR用户接收针对VR系统而优化的共享内容并与之交互。系统架构的功能部件描述如下。在此,应用710、屏幕共享编排器720和编码器/发射器730的功能可以由发送方系统来执行,例如,由发送方系统的一个或多个CPU或其他类型的处理单元来执行,对于发射器730来说,这可能涉及网络接口的使用。同样地,接收器/解码器810、客户端编排器820和渲染器830的功能可以由接收方系统执行。例如,接收器/解码器810和客户端编排器820的功能可以由接收方系统的一个或多个CPU或其他类型的处理单元来执行,对于接收方800来说,这可能涉及网络接口的使用,而渲染器830的功能可以由接收方系统的一个或多个GPU来执行。
屏幕共享可以允许与VR用户共享应用710的视图。该视图可以表示应用710的视觉输出。默认视图(“普通视图”)因此可以包括针对非VR用户而优化的视觉内容400。可以生成应用710的单独视图(“VR屏幕共享视图”),该单独视图包括针对VR用户而调整的视觉内容410。
屏幕共享编排器720可以基于可以由客户端编排器820例如以(接收方)元数据的形式提供的能力、限制和用户输入824来创建VR屏幕共享视图。然后可以对VR屏幕共享视图进行编码并经由编码器/发射器730和网络(图11中未明确示出)将其传输至接收方系统。屏幕共享编排器720还可以在普通视图中指示VR屏幕共享视图由什么组成,例如,VR屏幕共享视图覆盖普通视图的哪一部分。非VR用户可以向应用710或向屏幕共享编排器720提供用户输入712,以调整VR屏幕共享视图。
客户端编排器820可以例如经由网络与屏幕共享编排器720通信,以建立屏幕共享会话。这种通信可以发生在会话之前,并且通常还发生在会话期间。例如,客户端编排器820可以以接收方元数据的形式提供接收方系统和/或其显示器(例如,分辨率、帧速率、像素密度、视口、支持的流协议)、网络(例如,可用带宽、延迟、抖动)的能力和限制、以及用户输入命令(例如,平移、缩放、改变视图、请求控制等)。客户端编排器820可以进一步接收例如SDP格式的会话信息722,以便允许其在编码器/发射器730与接收器/解码器810之间建立流式会话。
发送方系统可以具有接收器/解码器810,该接收器/解码器接收(多个)已编码的媒体流并将(多个)已解码的流(例如,VR屏幕共享视图)提供给渲染器830。渲染器830可以是基于用户输入、会话信息和与VR应用相关的其他信息(未示出)在VR环境中渲染VR屏幕共享视图的VR应用(的一部分)。结果是以包含VR屏幕共享视图的VR视图的形式的输出。
应当理解,客户端编排器820可以是接收方系统的一部分,是将示出屏幕共享的VR应用的一部分,但还可以是发送方系统与接收方系统之间的网络中的网络元件。屏幕共享编排器720、应用710和编码器/发射器730可以是本地设备的一部分,但还可以完全地或部分地在网络中体现。例如,屏幕共享渲染器(其可以是应用710的一部分)可以是基于云的,并且因此可以在不利用如发送方系统的CPU、GPU或存储器等资源的情况下创建VR屏幕共享视图。此外,尽管在图11中没有明确示出,但是还可以将包含VR屏幕共享视图的VR视图传输至发送方系统,以向非VR用户提供关于VR用户例如用他/她的VR头戴设备正在看的内容的反馈。可替代地,发送方系统可以在本地向非VR用户指示或‘模拟’VR用户正在看的内容。前者的示例是在共享视觉内容周围设置边界框。后者的示例是模拟视觉内容(的经调整版本)在虚拟屏幕上的渲染和显示。
进一步参考客户端编排器820:客户端编排器可以以接收方元数据的形式用信号表示接收方系统的能力和限制,或屏幕共享编排器720可以例如根据接收方系统的类型标识符、序列号或其他标识来推断此信息。这种能力和限制可以包括但不限于头戴式显示器的视场、虚拟环境内虚拟屏幕的尺寸、到该虚拟屏幕的虚拟距离、对VR用户有用的最大虚拟屏幕大小(使得接收方系统不需要放大/缩小视图并且视图适应用户的视口)、接收方系统的解码能力、显示器和VR应用的支持分辨率、用于传输屏幕共享的可用网络资源等。
屏幕共享编排器720可以确定VR用户感兴趣的应用710的(多个)最可能部分,例如,感兴趣的区域。第一示例是,这可以通过利用所谓的语义元素来完成。例如,对于网页,屏幕共享编排器720可以使用网页的语义元素来确定关注哪个部分(例如,章节、文章)或忽略哪个部分(例如,页脚)。这种技术本身是已知的。对于文本编辑应用,感兴趣的区域可以是主窗口。非VR用户还可以突出显示要共享哪个窗口或窗口的一部分。屏幕共享编排器720然后可以通过调整所共享的区域的视觉内容来生成和/或更新VR共享视图,例如,通过将字体大小改变为对VR用户适合的大小、改变配色方案、改变用户界面元素以适应虚拟屏幕的大小、改变每英寸像素(PPI)设置、使用不同/最佳布局。其他类型的调整可以包括改变正在共享的区域(例如,通过改变共享区域的大小,使得例如覆盖源窗口的更大或更小的区域),缩放由共享区域覆盖的视觉内容(例如,通过改变底层源窗口的大小),或改变共享区域的分辨率(例如,以400 × 300像素或800 × 600像素捕获共享区域)。
本说明书中描述的屏幕共享功能还可以应用于两个VR系统之间共享视觉内容,例如,接收方VR系统对发送方VR系统具有易读性约束(如较低的显示分辨率),并且发送方VR系统生成要共享的视觉内容的经调整版本,该经调整版本在接收方VR系统上更易读。
在与接收方VR系统共享经调整的视觉内容的同时,还可以与其他非VR系统共享经调整或未调整的视觉内容。
可以由发送方系统基于用户简档来调整视觉内容。例如,用户简档可以指示例如在给定某些显示分辨率和虚拟屏幕布置的情况下哪个字体大小对于用户来说仍然是易读的。
通常,发送方系统可以在传输之前适配视觉内容。然而,视觉内容对于VR用户来说可能已经足够清晰,例如,非VR用户已经限制了窗口大小。因此,在发送方系统决定调整视觉内容之前,可以首先验证视觉内容是否适合与接收方系统共享。
除了虚拟屏幕的大小和尺寸之外,发送方系统还可以考虑虚拟屏幕是否相对于VR观看者旋转和/或倾斜,因为这可能例如通过限制虚拟屏幕可用的像素数量而进一步损害视觉内容的易读性。可以将这种旋转/倾斜例如作为接收方元数据的一部分用信号传送给发送方系统。
注意,在本说明书中描述的任何方法,例如,在任何权利要求中描述的任何方法,可以在计算机上实施为计算机实施的方法、专用硬件、或两者的组合。用于计算机的指令(例如,可执行代码)可以例如以一系列机器可读物理标记的形式和/或作为一系列具有不同电(例如,磁或光)属性或值的元件的形式存储在计算机可读介质上。可执行代码可以以暂态或非暂态的方式存储。计算机可读介质的示例包括存储器设备、光存储设备、集成电路、服务器、在线软件等。计算机可读介质可替代地或另外包括表示如本说明书中描述的渲染元数据和/或接收方元数据的暂态或非暂态数据。
图12是框图,展示了可以在本说明书中描述的实施例中使用的示例性数据处理系统。这种数据处理系统包括本说明书中描述的数据处理实体,包括但不限于发送方系统和接收方系统。
数据处理系统1000可以包括通过系统总线1006耦合至存储器元件1004的至少一个处理器1002。这样,数据处理系统可以在存储器元件1004内存储程序代码。进一步地,处理器1002可以执行经由系统总线1006从存储器元件1004访问的程序代码。在一方面,数据处理系统可以被实施为适合于存储和/或执行程序代码的计算机。然而,应当理解,数据处理系统1000可以以包括能够执行本说明书中描述的功能的处理器和存储器的任何系统的形式实施。
存储器元件1004可以包括一个或多个物理存储器设备,如例如,本地存储器1008和一个或多个大容量存储设备1010。本地存储器可以指在程序代码的实际执行期间通常使用的随机存取存储器或其他(多个)非持久性存储设备。大容量存储设备可以被实施为硬盘驱动器、固态硬盘或其他持久性数据存储设备。处理系统1000还可以包括一个或多个高速缓存存储器(未示出),这些高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储设备1010检索程序代码的次数。
被描绘为输入设备1012和输出设备1014的输入/输出(I/O)设备可以可选地耦合至数据处理系统。输入设备的示例可以包括但不限于,例如,麦克风、键盘、如鼠标等定点设备、游戏控制器、蓝牙控制器、VR控制器和基于手势的输入设备等。输出设备的示例可以包括但不限于,例如,监视器或显示器、扬声器等。输入设备和/或输出设备可以直接或通过中间I/O控制器耦合至数据处理系统。网络适配器1016还可以耦合至数据处理系统,以使其能够通过中间私有或公共网络耦合至其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括用于接收由所述系统、设备和/或网络向所述数据传输的数据的数据接收方和用于向所述系统、设备和/或网络传输数据的数据发射器。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统1000一起使用的不同类型的网络适配器的示例。
如图12所示出的,存储器元件1004可以存储应用1018。应当理解,数据处理系统1000可以进一步执行能够促进应用执行的操作系统(未示出)。以可执行程序代码的形式实施的应用可以由数据处理系统1000(例如,由处理器1002)执行。响应于执行应用,数据处理系统可以被配置成执行将在本文进一步详细描述的一个或多个操作。
在一方面,例如,数据处理系统1000可以表示发送方系统。在这种情况下,应用1018可以表示当被执行时配置数据处理系统1000来执行本文参考发送方系统所描述的功能的应用。在另一方面,数据处理系统1000可以表示接收方系统。在这种情况下,应用1018可以表示当被执行时配置数据处理系统1000来执行本文参考接收方系统所描述的功能的应用。
在权利要求中,置于括号间的任何附图标记不应被解释为限制权利要求。动词“包括(comprise)”及其词形变化的使用不排除权利要求中所述的元件或步骤之外的元件或步骤的存在。元件前面的冠词“一个(a)”或“一种(an)”不排除存在多个这种元件。本发明可以通过包括若干不同元件的硬件以及通过适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干装置可以由同一个硬件项体现。在相互不同的从属权利要求中陈述某些措施这一事实,并不表示不能有利地使用这些措施的组合。
Claims (12)
1.一种从发送方系统向接收方系统提供图像数据用于屏幕共享的方法,其中,该接收方系统是虚拟现实[VR]系统,该虚拟现实系统被配置成通过将该图像数据投影至虚拟画布上来在虚拟环境中渲染该图像数据,该方法包括,在该发送方系统处:
- 标识要与该接收方系统共享的视觉内容;
- 通过基于接收方元数据调整该视觉内容的呈现来生成该视觉内容的经调整版本,该经调整版本在该虚拟环境中查看时提供提高的易读性,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束;以及
- 向该接收方系统提供表示该视觉内容的经调整版本的图像数据;
- 基于由该接收方元数据指示的易读性约束,生成渲染元数据,该渲染元数据至少部分地指示将如何在该虚拟环境中渲染该图像数据;以及
- 将该渲染元数据提供给该接收方系统,其中,该渲染元数据指示以下中的至少一项:
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向。
2.根据权利要求1所述的方法,进一步包括从该接收方系统获得该接收方元数据,其中,该接收方元数据指示由该接收方系统对该虚拟环境的渲染或显示的一个或多个特征。
3.根据权利要求2所述的方法,其中,该一个或多个特征包括以下中的至少一个:
- 显示该虚拟环境的显示器类型;
- 该显示器的分辨率;
- 该显示器的视场;
- 由该显示器使用的镜头的类型;
- 由该显示器使用的颜色空间;
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向。
4.根据权利要求1至3中任一项所述的方法,其中,对该视觉内容的呈现的调整包括以下中的至少一项:
- 调整该视觉内容中文本的字体大小;
- 调整该视觉内容的呈现中的缩放水平;
- 调整该视觉内容的呈现中的配色方案;
- 调整该视觉内容的至少一部分的对比度;以及
- 针对具有与该视觉内容被格式化用于的显示器不同的每英寸像素设置和/或大小的显示器,重新格式化该视觉内容。
5.根据权利要求1至3中任一项所述的方法,其中,生成该视觉内容的经调整版本包括:
- 调整由该发送方系统当前在显示器上显示的视觉内容的当前呈现;或
- 独立于该视觉内容的当前呈现生成该视觉内容的经调整版本。
6.一种渲染由发送方系统提供给接收方系统用于屏幕共享的图像数据的方法,其中,该接收方系统是虚拟现实[VR]系统,该方法包括,在该VR系统处:
- 从该发送方系统获得:
- 表示要由该发送方系统与该接收方系统共享的视觉内容的图像数据,以及
- 渲染元数据,该渲染元数据至少部分地指示将如何通过将该图像数据投影至虚拟画布上来在虚拟环境中渲染该图像数据,并且该渲染元数据是基于由对该虚拟环境的渲染或显示所施加的易读性约束而生成的,其中该渲染元数据指示以下中的至少一项:
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向;以及
- 基于该渲染元数据在该虚拟环境中渲染该图像数据,其中,所述渲染包括将该图像数据投影至该虚拟环境中的虚拟画布上。
7.根据权利要求6所述的方法,进一步包括向该发送方系统提供接收方元数据,其中,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束。
8.一种包括计算机程序的暂态或非暂态计算机可读介质,该计算机程序包括用于使处理器系统执行根据权利要求1至7中任一项的所述的方法的指令。
9.一种暂态或非暂态计算机可读介质,包括:
- 渲染元数据,该渲染元数据至少部分地指示如何通过将图像数据投影至虚拟画布上来在虚拟环境中渲染该图像数据,并且该渲染元数据是基于由对该虚拟环境的渲染或显示所施加的易读性约束而生成的,其中该渲染元数据指示以下中的至少一项:
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向。
10.一种发送方系统,该发送方系统被配置成向接收方系统提供图像数据以用于屏幕共享,其中,该接收方系统是虚拟现实[VR]系统,该虚拟现实系统被配置成通过将该图像数据投影到虚拟画布上来在虚拟环境中渲染该图像数据,其中,该发送方系统包括:
- 到网络的网络接口;
- 处理器,该处理器被配置成:
- 标识要与该接收方系统共享的视觉内容;
- 通过基于接收方元数据调整该视觉内容的呈现来生成该视觉内容的经调整版本,该经调整版本在该虚拟环境中查看时提供提高的易读性,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束;
- 基于由所述接收方元数据指示的易读性约束,生成至少部分地指示如何在所述虚拟环境中渲染所述图像数据的渲染元数据;
- 使用该网络接口,经由该网络向该接收方系统提供表示该视觉内容的经调整版本的图像数据;以及
- 使用该网络接口,经由该网络向该接收方系统提供该渲染元数据,其中该渲染元数据指示以下中的至少一项:
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向。
11.一种接收方系统,该接收方系统被配置成渲染由发送方系统提供给该接收方系统以用于屏幕共享的图像数据,其中,该接收方系统是虚拟现实[VR]系统,其中,该VR系统包括:
- 到网络的网络接口,该网络接口用于从该发送方系统获得:
- 表示要由该发送方系统与该接收方系统共享的视觉内容的图像数据,以及
- 渲染元数据,该渲染元数据至少部分地指示将如何通过将该图像数据投影至虚拟画布上来在虚拟环境中渲染该图像数据,并且该渲染元数据是基于由对该虚拟环境的渲染或显示所施加的易读性约束而生成的,其中该渲染元数据指示以下中的至少一项:
- 该虚拟环境中的虚拟画布的大小;以及
- 该虚拟画布相对于该虚拟环境中的观看者视点的距离和/或定向;以及
- 处理器,该处理器被配置成基于该渲染元数据在该虚拟环境中渲染该图像数据,其中,所述渲染包括将该图像数据投影至该虚拟环境中的该虚拟画布上。
12.根据权利要求11所述的接收方系统,其中,该处理器被配置成使用该网络接口向该发送方系统提供接收方元数据,其中,该接收方元数据指示由于对该虚拟环境的渲染或显示而施加的易读性约束。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17178740 | 2017-06-29 | ||
EP17178740.1 | 2017-06-29 | ||
PCT/EP2018/067594 WO2019002559A1 (en) | 2017-06-29 | 2018-06-29 | SCREEN SHARING FOR DISPLAY IN A VIRTUAL REALITY |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110770785A CN110770785A (zh) | 2020-02-07 |
CN110770785B true CN110770785B (zh) | 2023-10-13 |
Family
ID=59298219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880043450.5A Active CN110770785B (zh) | 2017-06-29 | 2018-06-29 | 用于在vr中显示的屏幕共享 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11119719B2 (zh) |
EP (1) | EP3646284A1 (zh) |
CN (1) | CN110770785B (zh) |
WO (1) | WO2019002559A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11516521B2 (en) | 2018-07-30 | 2022-11-29 | Koninklijke Kpn N.V. | Generating composite video stream for display in VR |
US11924442B2 (en) | 2018-11-20 | 2024-03-05 | Koninklijke Kpn N.V. | Generating and displaying a video stream by omitting or replacing an occluded part |
US11523185B2 (en) | 2019-06-19 | 2022-12-06 | Koninklijke Kpn N.V. | Rendering video stream in sub-area of visible display area |
CN114327317B (zh) * | 2020-09-30 | 2024-04-26 | 华为技术有限公司 | 镜像投屏方法、装置及系统 |
US11669361B1 (en) * | 2021-04-01 | 2023-06-06 | Ai-Blockchain, Inc. | System, method and program product for optimizing computer processing power in cloud computing systems |
CN113110908B (zh) * | 2021-04-20 | 2023-05-30 | 网易(杭州)网络有限公司 | 显示内容调整方法、装置、计算机设备及存储介质 |
CN115250504A (zh) * | 2021-04-27 | 2022-10-28 | 展讯通信(上海)有限公司 | 数据传输方法及装置、计算机可读存储介质 |
CN113596571B (zh) * | 2021-07-27 | 2024-03-12 | 广州方硅信息技术有限公司 | 屏幕分享方法、装置、系统、存储介质以及计算机设备 |
CN113535025A (zh) * | 2021-07-28 | 2021-10-22 | 中国工商银行股份有限公司 | 多语言页面布局方法、装置、设备、介质及程序产品 |
GB202111902D0 (en) * | 2021-08-19 | 2021-10-06 | British Telecomm | Collaborative virtual reality system |
LU103055B1 (en) * | 2022-12-23 | 2024-06-24 | Barco Ltd | Method and system for selectively displaying audiovisual content from a computing device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030020748A1 (en) * | 2001-06-29 | 2003-01-30 | Bitflash Graphics, Inc. | Method and system for displaying graphics information |
CN102253836A (zh) * | 2010-07-15 | 2011-11-23 | 微软公司 | 用于移动设备的显示器无关的用户界面 |
US20150378157A1 (en) * | 2014-06-26 | 2015-12-31 | Audi Ag | Method for operating virtual reality glasses and system with virtual reality glasses |
CN106716306A (zh) * | 2014-09-30 | 2017-05-24 | 索尼互动娱乐股份有限公司 | 将多个头戴式显示器同步到统一空间并且使统一空间中的对象移动关联 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536048B2 (en) * | 2004-01-15 | 2009-05-19 | Xerox Corporation | Method and apparatus for automatically determining image foreground color |
US9182815B2 (en) | 2011-12-07 | 2015-11-10 | Microsoft Technology Licensing, Llc | Making static printed content dynamic with virtual data |
FR2985131A1 (fr) * | 2011-12-23 | 2013-06-28 | France Telecom | Systeme de controle pour jouer un flux de donnees sur un dispositif recepteur |
-
2018
- 2018-06-29 WO PCT/EP2018/067594 patent/WO2019002559A1/en unknown
- 2018-06-29 US US16/624,255 patent/US11119719B2/en active Active
- 2018-06-29 EP EP18732830.7A patent/EP3646284A1/en active Pending
- 2018-06-29 CN CN201880043450.5A patent/CN110770785B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030020748A1 (en) * | 2001-06-29 | 2003-01-30 | Bitflash Graphics, Inc. | Method and system for displaying graphics information |
CN102253836A (zh) * | 2010-07-15 | 2011-11-23 | 微软公司 | 用于移动设备的显示器无关的用户界面 |
US20150378157A1 (en) * | 2014-06-26 | 2015-12-31 | Audi Ag | Method for operating virtual reality glasses and system with virtual reality glasses |
CN106716306A (zh) * | 2014-09-30 | 2017-05-24 | 索尼互动娱乐股份有限公司 | 将多个头戴式显示器同步到统一空间并且使统一空间中的对象移动关联 |
Also Published As
Publication number | Publication date |
---|---|
WO2019002559A1 (en) | 2019-01-03 |
US11119719B2 (en) | 2021-09-14 |
CN110770785A (zh) | 2020-02-07 |
US20200401362A1 (en) | 2020-12-24 |
EP3646284A1 (en) | 2020-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110770785B (zh) | 用于在vr中显示的屏幕共享 | |
US11025959B2 (en) | Probabilistic model to compress images for three-dimensional video | |
US11024083B2 (en) | Server, user terminal device, and control method therefor | |
CN107256136B (zh) | 使用叠加动画促成由多个用户对媒体内容的同时消费 | |
EP2972559B1 (en) | Methods and apparatus for displaying images on a head mounted display | |
US20140320592A1 (en) | Virtual Video Camera | |
US9641800B2 (en) | Method and apparatus to present three-dimensional video on a two-dimensional display driven by user interaction | |
CN110537208B (zh) | 头戴式显示器和方法 | |
US9766458B2 (en) | Image generating system, image generating method, and information storage medium | |
JP7392105B2 (ja) | 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体 | |
KR20170003441A (ko) | 기준 부분들의 위치에 따라 몰입형 비디오 콘텐츠의 부분을 처리하기 위한 방법 및 디바이스 | |
US20230209031A1 (en) | Methods, systems, and media for generating and rendering immersive video content | |
CN116057574A (zh) | 色盲辅助技术系统和方法 | |
US11272224B2 (en) | Information processing device and method | |
KR102566276B1 (ko) | 원격 단말을 위한 몰입형 원격 회의 및 텔레프레즌스를 위한 오버레이 처리용 파라미터 | |
KR101781869B1 (ko) | 영상변환장치 | |
US20180247457A1 (en) | System and method of providing a virtual environment | |
CN106919376B (zh) | 动态画面传输方法、伺服器装置及用户装置 | |
CN115375825A (zh) | 利用注视点渲染的透视矫正矢量图形 | |
CN109727315B (zh) | 一对多集群渲染方法、装置、设备及存储介质 | |
JP7419529B2 (ja) | 遠隔端末のための没入型テレカンファレンス及びテレプレゼンスのインタラクティブオーバーレイ処理 | |
GB2568691A (en) | A method, an apparatus and a computer program product for augmented/virtual reality | |
KR20130011384A (ko) | 3차원 영상 처리 장치 및 3차원 영상 처리 장치의 설정값을 조절하기 위한 방법 | |
CN113391734A (zh) | 图像处理方法和图像显示设备、存储介质和电子设备 | |
JP2016009904A (ja) | 画像処理システム、及び画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |