本公开涉及用于在虚拟现实系统中基于视窗的区域来处理图像的方法和装置。
背景技术:
消费者媒体内容(例如二维(2D)内容、3D内容等)已经从黑色内容和白色内容演变为彩色内容、高清晰度(HD)内容、超高清晰度(UHD)内容和/或等等。最近,已经建立和推广对于高动态范围(HDR)内容的标准化。同时,在VR产品被引入之前,虚拟现实(VR)内容还没有形成。
VR内容的特征与现有的2D和3D内容的特征不同。VR内容可以为用户提供360度体验并且从而将用户完全沉浸在体验中。但是,如果用户在短时间内观看许多不同视图,则由于显示视图的变化而可能会发生图像失配。
虚拟现实生态系统(VR生态系统)是这样的一种系统,它利用各种视频或计算机图形来显示虚构世界或远程位置的空间,并且通过利用计算机来转换用户的运动而使得用户感觉好像他就在该空间中一样。用户能够通过调整控制器等来与虚拟现实生态系统进行交互。
虚拟现实生态系统可以包括诸如头戴式显示器(HMD)、洞穴自动虚拟环境(CAVE)、监视器等之类显示设备;用于接收诸如触觉等的用户的输入的控制设备;要显示在显示设备上的VR内容;提供VR内容的app商店等等。显示设备可以执行控制设备的功能。虚拟现实生态系统可用于各种领域,诸如教育、医疗保健、房地产、建筑、旅行等。另外,需要诸如用于支持虚拟现实生态系统的图像处理技术(如图像拼接、3D引擎等)的技术。
在虚拟现实生态系统中,用户可以通过控制设备向虚拟现实生态系统输入的运动反馈可以通过方位(即旋转)和移动(即位置改变)来划分。虚拟现实生态系统应根据用户的反馈来提供VR内容。
在虚拟现实体验中,通过显示设备提供给用户的视场(FOV)也是重要的。人类的一般水平视野(或视场角)约为200度。在200度内,120度在三个维度上重叠。显示设备(例如HMD)具有100至120度的视场。在120度内,60度对应于隧道视野(tunnel view)。在VR生态系统中,能视域(Field Of Regard,FOR)对应于人类的视野。FOR表示VR生态系统中围绕用户的空间的角度。例如,HMD具有100%的FOR。原因是即使用户移动,HMD也提供连续变化的视图。CAVE的FOR取决于用作虚拟屏幕的墙的数量。相比之下,电视机或显示器的FOR值非常有限。原因在于VR仅存在于用户面前的电视机或显示器中并且在电视机或监视器之外突然停止。因此,通过电视机或监视器难以显示VR内容。
即使电视机的尺寸或监视器的尺寸变大以防止虚拟世界的突然断开,也很难提供可允许用户体验虚拟世界的VR内容。原因在于发生这样的现象,即当VR内容的一部分被放大并且观看放大部分时,构成VR内容的整个视野的多个图像被放大,放大的图像之间的差异被夸大,因此发生了图像之间的差异显著的现象,即发生了图像失配的现象。另外,在VR内容中显示的图像改变的情况下,由于用户频繁移动而导致相同图像被不同地观看的现象可能是图像失配现象。因此,为了在大型监视器上提供虚拟世界的VR内容,需要一种VR内容的后处理操作,以便以相对较低的分辨率在大监视器上显示VR内容。
技术实现要素:
技术问题
本公开的目的在于提供一种图像,该图像是基于诸如HMD和监视器的显示设备将显示的视图中包括的区域被处理的。
本公开的目的是解决在虚拟现实生态系统中向用户提供的图像中可能发生的图像失配现象。
本公开的目的是解决在放大360度图像的情况下可能发生的图像失配现象。
技术方案
本公开的各种实施例提供了一种在电子设备中处理虚拟现实内容的图像帧的方法,并且该方法可以包括设置存在于包括多个后处理区域的图像帧中的至少一个视窗;识别在设置的视窗中通过多个后处理区域划分的多个划分区域;基于多个识别的划分区域来获得补偿参数;以及利用获得的补偿参数处理视窗内的图像。
本公开的各种实施例提供一种用于处理虚拟现实内容的图像帧的电子设备,并且该电子设备可以包括控制器和显示单元,该控制器被配置为:设置存在于包括多个后处理区域的图像帧中的至少一个视窗;识别在设置的视窗中通过多个后处理区域划分的多个划分区域;基于多个识别的划分区域来获得补偿参数;以及利用获得的补偿参数处理视窗内的图像,该显示单元被配置为显示经处理的图像。
有益技术效果
根据本公开,可以向虚拟现实生态系统中的用户提供去除了图像失配现象的图像。
根据本公开,可以在放大360度图像的情况下提供不存在图像失配现象的图像。
附图说明
图1示出用于说明在本公开中使用的术语的图;
图2示出用于说明图像失配现象发生的情况的图;
图3示出在设备中的根据本公开的处理视窗的方法的流程图;
图4示出根据本公开的第一实施例的处理视窗的方法的图;
图5示出在设备中的根据本公开的第一实施例的基于每个区域的权重处理视窗的方法的流程图;
图6示出根据本公开的第二实施例的处理视窗的方法的图;
图7示出在设备中的根据本公开第二实施例的通过考虑边缘区域来处理视窗的方法的流程图;
图8示出根据本公开的设备的结构的图。
具体实施方式
将参照附图描述本公开的实施例。在本说明书的以下描述中,如果确定对已知功能和组件的详细描述可能使得本公开的主题相当不清楚,则将省略对已知功能和组件的详细描述。此外,下面将要描述的术语是通过考虑本公开中的功能而定义的术语,并且可以根据用户的意图、操作者的意图、习惯等而变化。所以,定义应该基于贯穿本说明书的内容。
图1示出用于说明在本公开中使用的术语的图。
图1(a)示出用于说明“360度图像”和“视窗”的图。
即,图1(a)示出用户可以在虚拟现实系统中观看的360度图像(或360度图像帧,以下称为“360度图像”)的示例。360度图像是在特定位置看到的360度图像。如果观看位置被改变,则360度图像可能由于远度(a degree of farness)或近度(a degree of closeness)的差异等而改变。VR内容可以是360度图像的特定示例。
例如,多个相机同时捕获图像,并且可以通过连接捕获的图像来生成360度图像。又如,一个相机在旋转时捕获图像,并且通过连接所捕获的图像可以生成360度图像。此时,可以使用各种图像(或视频)处理算法例如拼接算法来连接所捕获的图像。
如此,360度图像可以是通过组合多个图像而生成的图像。360度图像作为一个整体被观看可能不是问题。但是,如果只有特定部分被放大并且多个图像被组合在特定部分中,则可能发生图像失配现象。
在虚拟现实系统中,用户在一个时刻看到的图像可能是360度图像的特定部分101,而不是整个360度图像。如果用户移动(例如用户的位置或观看点改变),则用户可以观看另一特定部分而不是特定部分101。在本公开中,用户可以观看的360度图像特定部分(例如特定部分101)将被称为视窗。这里,视窗被显示为矩形,但是视窗不限于矩形。例如,视窗可以具有非特定形式以及圆形和椭圆形。
图1(b)示出用于说明本公开中定义的“区域”的图。
在本公开中,“区域”是指占据360度图像的全部或部分的单位图像。单位图像是在几何上占据全部或部分360度图像的区域的图像,因此单位图像将被称为“区域图像”或“区域”。该区域可以基于处理360度图像所需的参数值来划分。或者,该区域可以由提供360度图像的提供者确定。
参数可以是照度、去块滤波器参数、锐化参数、非锐化参数、模糊参数、去噪参数、颜色、伽马校正参数、亮度等中的至少一个。在下文中,照度将被描述为参数的示例。
参数可以是具有一个值的常数或具有多个值的矩阵。
由于首先处理全部360度图像并且处理区域,所以'区域'可以被称为'后处理区域'。
图1(b)示出图1(a)中的360度图像被划分为六个区域111、112、113、114、115和116,作为一个实施例。
图1(b)的视窗103指示与图1(a)中的视窗101对应的部分。
在图1(b)中,360度图像被划分成6个区域,但是,构成360度图像的区域的数量、每个区域的尺寸(例如最小尺寸和最大尺寸)等等可以变化并且不受限制。此外,区域的形状不限于四边形。
图2示出用于说明图像失配现象发生的情况的图。
图2(a)示出用于显示根据时间变化的360度图像的变化的图。
第一360度图像201表示时间在时刻t的360度图像。第一360度图像201包括总共六个区域。第二360度图像203表示在时刻t+1的360度图像。第二360度图像203包括总共五个区域。在时刻t的360度图像中包括的区域的尺寸和区域的数量与在时刻t+1的360度图像中包括的区域的尺寸和区域的数量不同。此外,用于处理在时刻t的每个区域的参数的值可以不同于用于处理在时刻t+1的每个区域的参数的值。
图2(b)示出用于显示根据时间变化的视窗中的变化的图。
第一视窗211表示在时刻t的360度图像201中的视窗。第一视窗211总共跨过三个区域。从另一个视点来看,第一视窗211包括总共三个区域。第二视窗213表示在时刻t+1的360度图像203中的视窗。第二视窗213与第一视窗211跨过相同的三个区域。然而,第一视窗211包括的每个区域的尺寸和比例不同于第二视窗213中包括的每个区域的尺寸和比例。
在设备处理在时刻t的第一视窗211中包括的三个区域的情况下,设备将与三个区域中的每一个对应的参数值应用于三个区域中的每一个。如果三个参数值之间的差异很大,则可以看到好像第一视窗211被三个区域的边界线划分成多个区域。例如,如果参数是照度,则由于三个区域之间的照度差异,构成第一视窗211的三个要呈现的区域可以被视为单独的图像。这种将视窗看作多个图像而不是一个图像的现象可能是图像失配现象。本公开描述了一种通过考虑包括在视窗中的区域来处理视窗的图像以减少图像失配现象的方法。
图3示出用于显示在设备中的根据本公开的处理视窗的方法的流程图。
设备确定在视窗内是否存在多个区域(301)。
如果在视窗内存在多个区域,则设备识别存在于视窗内的区域(303)。
设备基于识别的区域处理视窗的图像(305)。
此时,该区域是根据处理该区域的图像时所需的参数的值来识别的区域。因此,如果改变处理图像时所需的参数类型,则可以改变构成360度图像的区域的面积、布局等等。
将参考以下实施例来描述在区域被识别之后的处理过程。
本公开的第一实施例是一种用于通过将权重应用于视窗内的每个区域来处理视窗的图像的方法。
图4示出显示根据本公开的第一实施例的处理视窗的方法的图。
在第一实施例中,360度图像401可以被分成总共六个区域(区域1 411、区域2 412、区域3 413、区域4 414、区域5415和区域6 416)。可以使用相同类型的参数来处理每个区域。即使使用相同类型的参数,但对于每个区域来说,参数值也可能是不同的。
在下文中,将描述处理视窗的方法,其假设用户在观看视窗1 403时从视窗1 403改变到视窗2 405并且观看视窗2 405,以及在观看视窗2 405时从视窗2 405改变到视窗3 407并观看视窗3 407。例如,这种情况是用户不移动并且视野的方向恰好改变的情况。如果用户移动,则需要使用并处理360度图像401以外的多个360度图像。下面将描述使用和处理一个360度图像401的方法。
在360度图像401中用户观看的视窗1 403被包括在总共一个区域(区域4 414)中。
此后,在360度图像401中用户观看的视窗2 405横跨总共两个区域(区域5 414和区域6 416)。
最后,在360度图像401中用户观看的视窗3 407横跨总共五个区域(区域1 411、区域2 412、区域3 413、区域4 414和区域5 415)。
在视窗1 404的情况下,视窗1 403被包括在区域4 414中,因此视窗1 403需要仅考虑区域4 414的参数(例如照度等)被处理。
然而,如果视窗2 405横跨两个区域(区域5 415和区域6 416),则需要区域5 415的参数和区域6 416的参数以处理视窗2 405。也就是说,在视窗2 405的跨越区域5 415的部分中使用区域5 415的参数来处理图像,并且在视窗2 405的跨越区域6 416的部分中使用区域6 416的参数处理图像。如此,如果多个区域被包括在一个视窗中并且区域参数的值不同,则可能发生图像失配现象。
为了防止图像失配现象,第一实施例提供了用于基于每个区域的权重来计算要应用于整个视窗2 405的参数值的方法。
可以针对每个区域的权重考虑每个区域占据的面积(或面积比例)、高度(或高度比例)、宽度(或宽度比例)等中的至少一个。或者,每个区域的权重可以是由提供360度图像的提供者定义的值。构成视窗的区域的权重总和可以是1。
例如,将假定计算用于处理视窗2 405的参数时每个区域的权重是面积比例。将假定视窗2 405跨过具有相同的宽度的区域5 414和区域6 416。如果区域5 415的参数值是5并且区域6 416的参数值是9,则要应用于视窗2405的参数值可以是7(=5*0.5+9*0.5)。又例如,如果视窗2 405所跨越的区域5 415的面积与视窗2 405所跨过的区域6 416的面积之间的比例为7:3,则要应用到视窗2 405的参数值可以是6.2(=5*0.7+9*0.3)。通过将参数的计算值而不是每个区域的参数的值应用于整个视窗2 405来处理视窗2 405。
最后,如果视窗3 407横跨五个区域(区域1 411、区域2 412、区域3 413、区域4 414和区域5 415),则视窗3 407的参数值可以像计算视窗2 405的参数值那样获得。
例如,假设区域1 411的参数值是3,区域2 412的参数值是7,区域3 413的参数值是6,区域的参数值4 414为8,并且区域5415的参数值为5。此外,假设用于获得视窗407的参数值的每个区域的权重是面积比例,视窗3 407跨过区域1 411、区域2 412、区域3 413、区域4 414和区域5 415,并且区域1 411、区域2 412、区域3 413、区域4 414和区域5 415的面积比例是4:1:3:1:1。此时,要应用于视窗3 407的参数值是5(=3*0.4+7*0.1+6*0.3+8*0.1+5*0.1)。也通过将参数的计算值而不是每个区域的参数值应用于整个视窗3 407来处理视窗3 407。
在应用根据本公开第一实施例的处理视窗的方法的情况下,除非在即便时间改变时视窗中包括的区域的数量或区域的尺寸迅速改变,否则要应用于包括在视窗中的所有区域的参数不会快速改变。因此,如上所述的图像失配现象可能会减少。
图5示出显示在设备中根据本公开第一实施例处理的基于每个区域的权重处理视窗的方法的流程图。
设备确定在视窗内是否存在多个区域(501)。
如果在视窗内存在多个区域,则设备识别多个区域(503)。
设备为多个区域中的每一个计算权重的值(505)。例如,如果权重是面积比例,则设备计算多个区域在视窗内占据的面积的比例。
设备使用权重来计算要应用于视窗的参数的值(507)。
设备使用计算出的参数值来处理视窗的图像(509)。
例如,如果假定参数是峰值照度,应用基于每个区域的权重的处理视窗的方法,则提供动态对比度,从而可以防止图像失配现象。峰值照度是用于色调映射的参数的示例。此外,峰值照度可以是考虑将显示视窗的设备的值。
此外,位于视窗中心的区域的参数值、包含在视窗中的区域中具有最大部分的区域的参数值、预定参数值和/或等等可以被用作将被应用于包括在视窗中的所有区域的参数的值。
此外,在以下情况下可能发生图像失配现象。参考图2(b),在时刻t包括在第一视窗211中的区域可能与在时刻t+1包括在第二视窗213中的区域部分相同(即可以重叠)。在使用相同的参数值而不管用于消除图像失配现象的区域来处理第一视窗211的情况下(该情况可以被看成好像第一视窗211被分成多个区域),即使时间改变,如果参数值是相同的,都没有问题。然而,如果参数值不相同,则第一视窗211的大部分可能在时刻t和时刻t+1被观看到不同,因此可能发生图像失配现象。例如,如果在时刻t用于处理第一视窗211中包括的所有区域的照度值与在时刻t+1用于处理包括在第二视窗213中的所有区域的照度值之间的差异大,则包括在第一视窗211和第二视窗213两者中的相同区域的亮度被观看到不同,因此可能发生图像失配现象。也就是说,根据时间的变化,由于视窗的改变可能发生图像失配现象。
本公开的第二实施例是一种用于通过考虑视窗内的边缘区域来处理视窗的图像的方法。在本公开中,边缘区域是在视窗内新定义的任意区域,新区域包括在其处触摸包括在视窗中的至少两个区域的边界线。
图6示出根据本公开的第二实施例的处理视窗的方法的图。
图6(a)示出显示视窗的区域的图。
视窗601包括两个区域(区域1 611和区域2 613)和新定义的边缘区域603。边缘区域603包括在其处两个区域611和612被触摸到的边界线605。即,根据第二实施例,识别在视窗内存在多少个边缘区域、确定每个边缘区域的尺寸以及计算要应用于每个边缘区域的参数(例如模糊参数)的值。
在第二实施例中,通过应用每个区域的参数值来处理除了视窗601的边缘区域603之外的部分。
图6(b)示出根据要应用于视窗的参数的值的区域的图。
区域1的部分651被包括在视窗601中并且不包括在边缘区域603中。图6(a)的区域1 611的参数用于处理区域1的部分651的图像。
区域2的部分653包括在视窗601中并且不包括在边缘区域603中。图6(a)的区域2 613的参数用于处理区域2的部分653的图像。
在视窗601内新定义的边缘区域的参数值可以被确定为区域1 611和区域2 613的参数值的平均值。以这种方式,可能发生在不同区域之间的边界处的图像失配现象可以通过在窗口601内放置作为具有不同参数值的不同区域之间的边缘区域的缓冲区域来减轻。
边缘区域603的尺寸可以基于包括在视窗中的区域来确定。图6(b)示出边缘区域603的尺寸是基于包含在视窗中的区域的长度(Y1,Y2)来确定的。
可以使用边缘区域权重因子来计算边缘区域603的尺寸。在图6(b)中,边缘区域603的尺寸与包含在边缘区域603中的区域的长度(Y1,Y2)成比例。因此,边缘区域603的尺寸可以使用边缘区域603中包括的区域的长度(Y1,Y2)计算。例如,边缘区域加权因子是作为任意值的1/3,则边缘区域603的长度(X1+X2)是Y1*1/3+Y2*1/3。
边缘区域加权因子可以是任意值、视窗的缩放值、视窗的高度、视窗的宽度等中的至少一个。此外,边缘区域加权因子可以是由提供360度图像的提供者确定的值。
要被应用到其尺寸被确定的边缘区域603的参数(例如模糊参数)的值可以是区域1 611的参数的值和区域2 613的参数的值的平均值。
根据本公开的第二实施例的处理视窗的方法改变包括在视窗中的边缘区域的参数值,因此当包括在视窗中的所有区域都通过应用相同的参数值进行处理时发生的图像失配现象可能不会发生。
图7示出在设备中根据本公开的第二实施例的通过考虑边缘区域来处理视窗的方法的流程图。
设备确定在视窗内是否存在多个区域(701)。
如果在视窗内存在多个区域,则设备使用边缘区域加权因子确定边缘区域的尺寸(703)。
设备计算要应用于边缘区域的参数的值(705)。
设备使用所计算的参数值处理边缘区域的图像,并且使用除了边缘区域之外的每个区域的参数的值来处理除边缘区域之外的每个区域的图像(707)。
图8图示根据本公开的设备的结构的图。
为了便于描述,将不会显示和描述与本公开不直接相关的组件。参考图图8,该设备可以包括控制器801、收发器803和显示单元805。显示单元805可以被配置为单独的设备。这里,以下操作可以由多个组件执行,然而,如果需要,可以在一个组件中执行以下操作。
控制器801处理用于在显示单元805上显示视窗的图像。具体地,控制器801计算要应用于视窗的参数并且使用所计算的参数的值来处理图像。控制器801可以计算边缘区域的尺寸并且通过将参数应用于边缘区域来处理图像。此外,控制器801可以控制收发器803和显示单元805。
收发器803可以从另一设备接收360度图像,并且显示单元805可以显示视窗。
在说明书和附图中描述和说明的本公开内容的实施例仅仅是被提供以容易地描述本公开的技术并帮助理解本公开的示例,而不是限制本公开的范围。也就是说,本领域技术人员将会理解,可以实施基于本公开的技术精神的其他修改。此外,如果需要,实施例可以彼此组合。