CN112437248B - 全景视频处理方法、装置和计算机可读存储介质 - Google Patents
全景视频处理方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112437248B CN112437248B CN201910788610.5A CN201910788610A CN112437248B CN 112437248 B CN112437248 B CN 112437248B CN 201910788610 A CN201910788610 A CN 201910788610A CN 112437248 B CN112437248 B CN 112437248B
- Authority
- CN
- China
- Prior art keywords
- frame image
- panoramic
- current frame
- motion vector
- image
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 230000033001 locomotion Effects 0.000 claims abstract description 168
- 239000013598 vector Substances 0.000 claims abstract description 161
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 61
- 238000004590 computer program Methods 0.000 claims description 16
- 238000007906 compression Methods 0.000 claims description 14
- 230000006835 compression Effects 0.000 claims description 12
- 230000002093 peripheral effect Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3179—Video signal processing therefor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供全景视频处理方法、全景视频处理装置和计算机可读存储介质。根据本发明实施例的全景视频处理方法包括:获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;根据所述移动方向确定所述当前帧图像中的第一区域;以及根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
Description
技术领域
本申请涉及全景视频处理领域,尤其涉及一种全景视频处理方法、装置和计算机可读存储介质。
背景技术
全景视频通常为通过全景相机拍摄的包括360度全方位范围的视频,并且在显示侧投影到各种合适的显示屏中,能够使观看者获得身临其境的观看体验。例如,在沉浸式健身的应用场景中,通过在跑步机上安装的环绕式显示屏上显示包含不断移动的道路及沿路风景等内容的全景视频,能够使跑步者在运动过程中获得仿佛实际在户外奔跑的良好体验。
在全景视频的处理和显示过程中,通常对包括360度范围的完整全景帧图像进行编码及传输到显示侧,而传输完整的全景帧图像并在传输过程中保持各个图像区域的高质量将占用很高的带宽,在用于视频实时传输及显示的场景下可能会出现播放不流畅的问题,影响用户的体验。此外,在观看全景视频时,由于观看者的视野范围限制,通常并不能观看到完整的图像区域,因此传输了许多不必要的冗余视频数据,造成了带宽浪费。并且,在显示侧往往还需要对大量视频数据进行复杂处理才能提取视频中的所需区域并进行渲染和显示,硬件成本高。
因此,需要一种能够降低全景视频的处理复杂程度以及传输带宽的全景视频处理方法和装置,从而提高全景视频的显示效果,并改善用户体验。
发明内容
为解决上述技术问题,根据本发明的一个方面,提供了一种全景视频处理方法,包括:获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;根据所述移动方向确定所述当前帧图像中的第一区域;以及根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
根据本发明的另一个方面,提供了一种全景视频处理装置,包括:运动向量确定单元,配置为获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;移动方向确定单元,配置为根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;第一区域确定单元,配置为根据所述移动方向确定所述当前帧图像中的第一区域;显示数据生成单元,配置为根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
根据本发明的另一个方面,提供一种全景视频处理装置,包括:处理器;和存储器,在所述存储器中存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;根据所述移动方向确定所述当前帧图像中的第一区域;以及根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
根据本发明的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;根据所述移动方向确定所述当前帧图像中的第一区域;以及根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
根据本发明的上述全景视频处理方法、装置和计算机可读存储介质,能够根据拍摄全景视频时的移动方向对全景帧图像进行划分,并且针对划分出的不同图像区域生成对应于不同显示质量的显示数据。这种全景视频处理方法、装置和计算机可读存储介质能够降低全景视频编解码、渲染和显示的计算复杂程度以及视频流传输的带宽消耗,并且提高全景视频的显示效果,改善用户体验。
附图说明
通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将会变得更加清楚。
图1示出根据本发明一个实施例的全景视频处理方法的流程图;
图2示出根据本发明一个实施例的将作为等距柱状投影图的帧图像变换为立方体投影图的示例;
图3示出根据本发明一个实施例的通过第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量的示例;
图4示出根据本发明一个实施例的确定至少一个像素块作为所述至少一个对象的示例;
图5示出根据本发明一个实施例的在对应于所述当前帧图像的第二立方体投影图的四周部分中确定第一区域的示例;
图6示出根据本发明一个实施例的根据第一区域和经压缩处理后的第二区域生成第一显示数据和第二显示数据的示例;
图7示出根据本发明一个实施例的在显示侧对通过图7生成的第一显示数据和第二显示数据进行处理并显示的示例;
图8示出根据本发明一个实施例的全景视频处理装置的框图;
图9示出根据本发明一个实施例的全景视频处理装置的框图。
具体实施方式
下面将参照附图来描述根据本发明实施例的全景视频处理方法、装置和计算机可读存储介质。在附图中,相同的参考标号自始至终表示相同的元件。应当理解:这里描述的实施例仅仅是说明性的,而不应被解释为限制本发明的范围。
下面将参照图1描述根据本发明实施例的全景视频处理方法。图1示出该全景视频处理方法的流程图。
如图1所示,在步骤S101中,获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量。
在此步骤中,全景视频可以是实时捕获或者预先拍摄的视频流,并且相应地,获取所述全景视频可以包括但不限于:通过全景相机实时捕获全景视频,或者经由各种有线或无线传输介质从存储介质中接收预先拍摄的全景视频。其中,所述全景视频中包括的多个全景帧图像可以是由双目鱼眼相机或多镜头全景相机等捕获的两个或更多的局部图像区域在经过拼接后形成的360度全景帧图像。所述全景帧图像可以是映射在一个球体表面上的球面图像,也可以是通过投影变换到二维平面上形成的二维图像。例如,所述全景帧图像可以为通过二维投影变换形成的等距柱状投影图、立方体投影图、正方棱台投影图等。
在获取所述全景视频后,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量。在下文中,将详细介绍根据本发明实施例的检测和跟踪所述至少一个对象以获得所述至少一个对象的运动向量的示例。所述运动向量可以表示通过比较先前帧图像和当前帧图像,从而确定图像上的同一个对象在两帧时间间隔期间发生的运动的方向信息,但并不限于此。在另一示例中,所述运动向量还可以进一步表示对象运动速度和/或位移的信息。所述先前帧图像可以是与当前帧图像相邻的帧图像。可选地,所述先前帧图像也可以是与当前帧图像间隔若干帧的非相邻的帧图像。
在本发明的一个实施例中,首先对所述先前帧图像和当前帧图像进行立方体投影,并且根据立方体投影变换后获得的立方体投影图来确定所述至少一个对象的运动向量。其中,帧图像可以例如为以上所述的球面图像或已投影到二维平面上的常用的等距柱状投影图等。在下文的描述中,将以作为等距柱状投影图的帧图像为例来具体描述本发明的实施例,但本发明并不限于此。当帧图像为球面图像时,可以通过本领域技术人员公知的投影变换算法将其直接变换为立方体投影图以采用下文具体描述的方法,或者可以先将其变换为常用的等距柱状投影图,再进一步变换为立方体投影图,在此不做限制。
图2示出了根据本发明一个实施例的将作为等距柱状投影图的帧图像变换为立方体投影图的示例。如本领域技术人员所周知的,等距柱状投影图由于从360度的球面图像被展开为矩形形状从而便于以现有的视频压缩标准压缩,因此被广泛地应用于全景视频的编码处理中。然而如图2的左部分所示,通常等距柱状投影图存在严重的扭曲变形,从而不利用于在其上直接进行对象检测以及运动向量计算。因此,可选地,对作为等距柱状投影图的帧图像进行立方体投影变换,从而获得像素分布均匀并且没有扭曲变形的立方体投影图,并利用所获得的立方体投影图来确定至少一个对象的运动向量,以提高对象检测的精度,并减小在计算运动向量的过程中的复杂程度,提高运算效率。如图2的右部分所示,经过立方体投影变换所获得的完整的立方体投影图可以包括正面、背面、左面、右面、顶面和底面部分一共六个部分。
在此实施例中,可选地,仅通过立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量。在下文中,将详细介绍根据本发明实施例的根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向的示例。所述参考对象可以是拍摄所述全景视频的全景相机,相应地,所述移动方向即为全景相机在拍摄所述全景视频时的移动方向,但本发明的参考对象并不限于此。在根据本发明的实施例中,所述参考对象还可以为安装有所述全景相机的底座、帽子或者视频拍摄者(例如,手持全景相机的用户或者安装有全景相机的车辆等)本身等,只要所述参考对象与全景相机在拍摄所述全景视频时的移动方向保持一致即可,并且本发明不对此进行限制。在通常的拍摄全景视频的移动场景中,视频拍摄者大致沿着平行于顶面或底面的道路行进,因此参考对象的移动方向大致平行于立方体投影图的顶面和底面部分,并且通过确定立方体投影图的顶面部分和/或底面部分中的至少一个对象的运动向量,即可方便地获得参考对象的移动方向。
图3示出根据本发明一个实施例的通过第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量的示例。在此示例下,对所述先前帧图像和当前帧图像分别进行立方体投影,从而获得分别对应于所述先前帧图像的第一立方体投影图和对应于所述当前帧图像的第二立方体投影图,并且根据所获得的第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量。在图3的左部分示出了通过对所述先前帧图像和当前帧图像分别进行立方体投影所获得的完整的第一立方体投影图和第二立方体投影图。可选地,由于仅采用立方体投影图的顶面部分和/或底面部分来确定运动向量,因此可以不必投影出完整的六面立方体投影图,而是根据需要仅计算出立方体投影图中的顶面部分和/或底面部分以用于确定运动向量,从而进一步减小运算量。
在一个示例中,由于底面部分通常相对于顶面部分包含更多易于检测及跟踪的静态对象(例如,路面标线、路缘石、路缘带等),因此优选地,仅通过立方体投影图的底面部分来确定至少一个对象的运动向量。可选地,可以不通过整个底面部分,而是仅在底面部分中选择以参考对象为中心的、特定半径的小区域来确定至少一个对象的运动向量,从而避免远离参考对象的至少一个对象的运动向量中可能存在的、与参考对象的移动方向不一致的横向分量给移动方向的计算带来的影响,以进一步提高确定移动方向的准确度,并降低对象检测及后续运动向量处理的复杂程度。类似地,也可以仅通过立方体投影图的顶面部分或者在顶面部分中选择的以参考对象为中心的、特定半径的小区域来确定至少一个对象的运动向量。在另一示例中,可以通过立方体投影图的顶面部分和底面部分两者来确定至少一个对象的运动向量,并且获得分别对应于顶面部分和底面部分的运动向量。如图3的右部分所示,在顶面部分和底面部分中的多个小箭头即为获得的运动向量的示例,可以通过将顶面部分和底面部分中的运动向量进行比较并排除由于误检测等干扰而生成的错误向量,以进一步提高检测准确度。以上利用立方体投影图的顶面部分和/或底面部分的实施方式仅为示例,在实际应用中,还可以根据具体需求(例如,场景中的对象复杂程度、计算的精确度要求以及参考对象的主要移动方向等)来选择单独或综合利用顶面和底面部分,或者利用立方体投影图的其余四个部分(即,正面、背面、左面和右面部分)来计算运动向量。
以上所述的通过第一立方体投影图和第二立方体投影图来确定至少一个对象的运动向量仅为示例。在实际应用中,可以不对所述先前帧图像和当前帧图像进行立方体投影变换,而是利用原始的先前帧图像和当前帧图像直接进行计算来确定至少一个对象的运动向量,在此不做限制。
根据本发明的一个实施例,可以通过在第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分中检测所述至少一个对象,并对所检测的对象进行跟踪,从而获得所述至少一个对象的运动向量。
在一个示例中,所述至少一个对象可以为至少一个像素块。图4示出根据本发明一个实施例的确定至少一个像素块作为所述至少一个对象的示例。在此示例中,在第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分选择n*n像素大小的像素块并进行计算。如图4所示,可以选择16*16大小的像素块,然而本发明并不限于此,可以根据具体情况选择合适的像素块大小,例如8*8或32*32等。在确定了具体的像素块后,对该像素块中的像素值进行梯度运算,从而获得像素块中的各个像素的像素梯度。当存在相邻像素之间的像素梯度的差值大于预设的阈值的情况时,可以认为在该像素块中存在纹理信息,并且检测出该像素块适合作为用于跟踪的至少一个对象。因此,在后续的过程中,可以通过对所检测出的至少一个像素块进行跟踪,从而获得至少一个像素块的运动向量。可选地,在后续对至少一个像素块的跟踪过程中,为了提高跟踪速度,可以采用局部搜索方法。例如,当在先前帧图像中确定了至少一个像素块并需要在当前帧图像中搜索匹配的像素块时,考虑到对象运动的有限性,可以将在当前帧图像中的搜索范围设置为对应于所述至少一个像素块在先前帧图像中的位置附近的局部区域,从而提高对象跟踪的效率。
在另一示例中,采用光流法来获得至少一个对象的运动向量,并且在此情况下,所述至少一个对象也可以为多个像素点。在此示例中,通过光流法对第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分的灰度图进行计算,从而获得光流矩阵,其中所述光流矩阵中的值即对应于顶面部分和/或底面部分中的各个像素点的运动向量。光流法可以是本领域技术人员所熟知的基于特征或基于频率、相位等之类的光流计算方法,在此不再赘述。在获得了各个像素点的运动向量后,可以将其与预定的阈值进行比较,并且对其中小于阈值的像素点进行忽略,从而利用剩余的运动明显的像素点来获得至少一个对象的运动向量。
以上所述的对象检测和跟踪方法仅为示例,在实际应用中,也可以采用图像识别或神经网络训练等方式来识别一个或多个静态物体作为至少一个对象,并且通过各种基于特征或区域等的跟踪算法来跟踪所识别的对象从而获得至少一个对象的运动向量。
在步骤S102中,根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向。
在理想情况下,参考对象的移动方向与至少一个对象的运动向量大致呈现相反的方向。因此,可以通过提取与至少一个对象的运动向量方向相反的向量,并以此来估计参考对象的移动方向。可以通过以上所述的选择以参考对象为中心的小区域来检测至少一个对象或者对顶面和底面的运动向量进行比较等方式来进一步提高移动方向估计的准确性。在一个示例中,当获得多个运动向量时,可以基于取多个运动向量的均值来确定参考对象的移动方向。可选地,在取多个运动向量的均值来确定参考对象的移动方向之前,也可以先采用聚类算法排除其中差异较大的运动向量,以去除其中由于误检测等干扰而生成的噪声,从而进一步提高移动方向的估计准确度。在另一示例中,在通过聚类算法排除噪声并通过对剩余的运动向量取均值之后,生成了顶面部分和底面部分的平均运动向量,如图4中的顶面部分和底面部分中央的大箭头所示。此时,可以单独利用顶面部分或底面部分的平均运动向量的相反方向作为参考对象的移动方向,或者对顶面部分和底面部分的平均运动向量进一步取加权平均值以确定参考对象的移动方向。
以上示出的取多个运动向量的均值以及提取与运动向量方向相反的向量这两个步骤的先后次序仅为示例。在一个示例中,可以先提取与多个运动向量方向相反的向量,再取相反向量的均值作为参考对象的移动方向。在另一示例中,也可以先取多个运动向量的均值,再提取平均运动向量的相反方向作为参考对象的移动方向,在此不做限制。
在步骤S103中,根据所述移动方向确定所述当前帧图像中的第一区域。
在此步骤中,所述第一区域为根据参考对象的移动方向而确定的图像区域,并用于在经处理后显示在对应于用户正前方的观察区域上,从而使用户能够始终在其正前方观察到对应于参考对象的移动方向的全景视频部分,为用户提供更具有代入感的视觉体验。例如,可以将所述第一区域显示于安装在跑步者正前方的显示屏上的中心部分,并且当全景视频是通过在移动的车辆上安装的全景相机拍摄的时候,可以通过上述方法使得用户跑步时往前观察的方向与全景视频中车辆行进方向一致,从而使得用户通过观看车辆行进时摄像机所拍摄的场景,能够感觉到自身是在车辆所在的道路上奔跑,以增强用户的沉浸感。
可选地,为了进一步提高用户的观看体验以及减小显示侧的计算压力,可以在编码及传输所述第一区域对应的图像数据之前,对当前帧图像进行立方体投影以获得对应于所述当前帧图像的立方体投影图,并且在立方体投影图的四周部分中确定所述第一区域,其中所述四周部分对应于该立方体投影图的正面、背面、左面和右面部分,并且所述正面、背面、左面和右面部分在原始的360度图像范围中分别平均占据90度的范围。如上所述,立方体投影图中的像素分布均匀并且不具有扭曲变形,因此适合于向用户显示。其中,需要说明的是,可以直接采用在以上确定至少一个对象的运动向量的过程中所生成的、对应于所述当前帧图像的第二立方体投影图作为用于确定第一区域的立方体投影图,并因此,可以进一步减小后续处理的计算量。
以上所述的在立方体投影图中确定第一区域仅为示例,在实际应用中,可以不对当前帧图像进行立方体投影,而是在原始的当前帧图像中直接确定第一区域并用于显示,或者可以根据实际的显示需求对当前帧图像进行其他类型的投影变换以确定第一区域并用于显示,在此不做限制。
图5示出根据本发明一个实施例的在对应于所述当前帧图像的第二立方体投影图的四周部分中确定第一区域的示例,其中示出的图像区域即为第二立方体投影图的四周部分。在图5中示出了位于所述第一区域中心的对称轴,该对称轴的位置即对应于在0~360度范围的参考对象的移动方向的角度。可选地,考虑到人眼有限的视野(FOV)范围,可以根据人眼FOV的大概范围来确定第一区域的尺寸,并提升用户的观看体验,如图5中所示。在一个示例中,人体前方的视野范围大约为124度,因此可以将第一区域的尺寸确定为以参考对象的移动方向为中心的约120至125度范围的图像区域。在此情况下,由于立方体投影图的正面、背面、左面和右面部分分别具有90度范围,因此所确定的第一区域对应于所述正面、背面、左面和右面部分中的至少两个部分。在另一示例中,考虑到人体单眼的舒适视域约为60度(即,人眼能够聚焦并进行清晰观看的视野范围),也可以选择将第一区域的尺寸确定得更小,例如,可以将第一区域的尺寸确定为以参考对象的移动方向为中心的约60至120度范围的图像区域,但本发明并不对此进行限制。在此情况下,所确定的第一区域对应于所述正面、背面、左面和右面部分中的至少一个部分。
在步骤S104中,根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
在此步骤中,考虑到所述第一区域是以参考对象的移动方向为中心的图像区域,并用于在对应于用户正前方的观察区域上显示,从而为正视前方的用户提供身临其境的视觉体验,因此优选地,生成用于以高质量显示的第一显示数据。例如,在视频编码过程中,可以采用诸如熵编码之类的无损编码方式对第一区域的图像数据进行编码并传输到显示侧。
在本发明的一个实施例中,取决于显示侧的显示屏的具体规格和数量,可能还需要在当前帧图像中提取第一区域以外的第二区域,并且与所述第一区域一起用于编码及传输以同时在显示侧进行显示。在此步骤中,由于第二区域并非是用于显示在用户正前方的观察区域上,而是例如可能显示在用户的左前方和右前方上,因此可以相对于第一区域以较低的质量显示,并且不会过分影响到用户的观看体验。可选地,可以对所述第二区域进行压缩处理,并且根据经压缩处理后的第二区域生成第二显示数据,从而进一步减小传输带宽以及视频处理的计算量。其中,所述压缩处理可以包括诸如下采样、有损编码之类的常用压缩方式,并且本发明不对此进行限制。在一个示例中,所生成的第一显示数据能够以更高的分辨率相对于第二显示数据在显示侧进行显示。其中,需要注意的是,如果根据实际需求在显示侧并不需要提取第二区域进行显示,则可以不对当前帧图像中除了第一区域以外的部分进行处理,而是可以直接丢弃该部分,以进一步降低图像处理量。
以上所述的显示在用户的左前方和右前方的第二区域仅为示例,在实际应用场景中,第二区域也可以包括显示在用户上方和/或下方的图像区域,例如用于在包括上方和/或下方显示屏的沉浸式虚拟现实显示空间中,在此情况下,可以例如使用立方体投影图的顶面部分和/或底面部分来显示于上方和/或下方显示屏,在此不做限制。
图6示出根据本发明一个实施例的根据第一区域和经压缩处理后的第二区域生成第一显示数据和第二显示数据的示例。如图6的(a)中所示,原始的包含第一区域和以及除了第一区域以外的其他部分的当前帧图像的分辨率被示为3840*960像素。随后,在所述当前帧图像中提取第二区域中的多个部分并进行拼接,以便对拼接形成的整个第二区域进行压缩处理。例如,在图6的(b)中示出了提取第一区域的左侧部分和右侧部分作为第二区域中的多个部分并进行拼接的示例,其中第一区域的分辨率被示为1280*960像素,并且拼接后形成的第二区域的分辨率被示为2560*960像素。可选地,可以根据实际的显示需求来提取在当前帧图像中的除了第一区域以外的其他任何一个或多个部分以形成第二区域。随后,对拼接形成的整个第二区域进行压缩处理。在图6的(c)示出了通过以固定长宽比的下采样方式对第二区域进行压缩处理的示例,通过将下采样率设置为1/4,经压缩处理后的第二区域的分辨率被示为640*240像素。在之后的步骤中,将经压缩处理后的第二区域分割为多个部分以与第一区域进行拼接,从而便于对第一区域和第二区域一起进行后续的编码及传输处理,进一步降低后续处理运算量。在此示例中,如图6的(c)中所示,第二区域被分割为大小相同的4个部分,并且在垂直方向上与第一区域进行拼接从而形成了分辨率为1440*960像素的矩形区域,因此能够对整个矩形区域同时进行编码及传输,从而便于根据第一区域和经压缩处理后的第二区域同时生成第一显示数据和第二显示数据。在具体的分割过程中,可以记录下分割出的第二区域的每个部分的原始角度范围信息(例如,在图6的(c)中分割出的4个部分的第1部分可能在原始的0~360度的角度范围中对应于23~83度的角度范围,第2部分可能对应于83~143度的角度范围,第3部分可能对应于263~323度的角度范围,第4部分可能对应于323~360度+0~23度的角度范围)和/或像素位置信息(例如,每个部分两端的像素横坐标位置)等以作为元数据或其他类型数据,从而与图像数据一起进行编码及传输,并用于在显示侧进一步解码及重新组织图像区域。
图7示出根据本发明一个实施例的在显示侧对通过图6生成的第一显示数据和第二显示数据进行处理并显示的示例。如图7所示,在显示侧对接收到的第一显示数据和第二显示数据进行解码及重新组织以用于显示。首先,如图7的(a)中所示,将第一区域与第二区域的4个部分进行分离,并且如图7的(b)中所示,重新将第二区域的4个部分上采样到第一区域的相同高度,并且将其与第一区域一起拼接成以第一区域为中心的矩形图像,从而使第一区域能够显示在用户正前方的观察区域上。可选地,可以保持固定的长宽比调整矩形图像的尺寸以适应于显示屏的具体高度,并且当调整后的矩形图像仍不适应显示屏的具体宽度时,还可以利用诸如双三次插值方法等之类的像素内插方法对矩形图像中除了第一区域以外的区域进行拉伸,从而在保持第一区域的显示质量的情况下对图像的尺寸进行调整以适应显示规格,并减少显示单元中的渲染计算。
根据本发明实施例的上述全景视频处理方法,能够根据拍摄全景视频时的移动方向对全景帧图像进行划分,并且针对划分出的不同图像区域生成对应于不同显示质量的显示数据。这种全景视频处理方法能够降低全景视频编解码、渲染和显示的计算复杂程度以及视频流传输的带宽消耗,并且提高全景视频的显示效果,改善用户体验。
下面,参照图8来描述根据本发明实施例的全景视频处理装置。图8示出了根据本发明实施例的全景视频处理装置800的框图。如图8所示,全景视频处理装置800包括运动向量确定单元810、移动方向确定单元820、第一区域确定单元830和显示数据生成单元840。除了这些单元以外,全景视频处理装置800还可以包括其他部件,然而,由于这些部件与本发明实施例的内容无关,因此在这里省略其图示和描述。此外,由于根据本发明实施例的全景视频处理装置800执行的下述操作的具体细节与在上文中参照图1-图7描述的细节相同,因此在这里为了避免重复而省略对相同细节的重复描述。
运动向量确定单元810获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量。
其中,全景视频可以是实时捕获或者预先拍摄的视频流,并且相应地,获取所述全景视频可以包括但不限于:通过全景相机实时捕获全景视频,或者经由各种有线或无线传输介质从存储介质中接收预先拍摄的全景视频。其中,所述全景视频中包括的多个全景帧图像可以是由双目鱼眼相机或多镜头全景相机等捕获的两个或更多的局部图像区域在经过拼接后形成的360度全景帧图像。所述全景帧图像可以是映射在一个球体表面上的球面图像,也可以是通过投影变换到二维平面上形成的二维图像。例如,所述全景帧图像可以为通过二维投影变换形成的等距柱状投影图、立方体投影图、正方棱台投影图等。
在获取所述全景视频后,运动向量确定单元810根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量。在下文中,将详细介绍根据本发明实施例的检测和跟踪所述至少一个对象以获得所述至少一个对象的运动向量的示例。所述运动向量可以表示通过比较先前帧图像和当前帧图像,从而确定图像上的同一个对象在两帧时间间隔期间发生的运动的方向信息,但并不限于此。在另一示例中,所述运动向量还可以进一步表示对象运动速度和/或位移的信息。所述先前帧图像可以是与当前帧图像相邻的帧图像。可选地,所述先前帧图像也可以是与当前帧图像间隔若干帧的非相邻的帧图像。
在本发明的一个实施例中,运动向量确定单元810首先对所述先前帧图像和当前帧图像进行立方体投影,并且根据立方体投影变换后获得的立方体投影图来确定所述至少一个对象的运动向量。其中,帧图像可以例如为以上所述的球面图像或已投影到二维平面上的常用的等距柱状投影图等。在下文的描述中,将以作为等距柱状投影图的帧图像为例来具体描述本发明的实施例,但本发明并不限于此。当帧图像为球面图像时,可以通过本领域技术人员公知的投影变换算法将其直接变换为立方体投影图以采用下文具体描述的方法,或者可以先将其变换为常用的等距柱状投影图,再进一步变换为立方体投影图,在此不做限制。
图2示出了根据本发明一个实施例的将作为等距柱状投影图的帧图像变换为立方体投影图的示例。如本领域技术人员所周知的,等距柱状投影图由于从360度的球面图像被展开为矩形形状从而便于以现有的视频压缩标准压缩,因此被广泛地应用于全景视频的编码处理中。然而如图2的左部分所示,通常等距柱状投影图存在严重的扭曲变形,从而不利用于在其上直接进行对象检测以及运动向量计算。因此,可选地,运动向量确定单元810对作为等距柱状投影图的帧图像进行立方体投影变换,从而获得像素分布均匀并且没有扭曲变形的立方体投影图,并利用所获得的立方体投影图来确定至少一个对象的运动向量,以提高对象检测的精度,并减小在计算运动向量的过程中的复杂程度,提高运算效率。如图2的右部分所示,经过立方体投影变换所获得的完整的立方体投影图可以包括正面、背面、左面、右面、顶面和底面部分一共六个部分。
在此实施例中,可选地,运动向量确定单元810仅通过立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量。在下文中,将详细介绍根据本发明实施例的移动方向确定单元820根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向的示例。所述参考对象可以是拍摄所述全景视频的全景相机,相应地,所述移动方向即为全景相机在拍摄所述全景视频时的移动方向,但本发明的参考对象并不限于此。在根据本发明的实施例中,所述参考对象还可以为安装有所述全景相机的底座、帽子或者视频拍摄者(例如,手持全景相机的用户或者安装有全景相机的车辆等)本身等,只要所述参考对象与全景相机在拍摄所述全景视频时的移动方向保持一致即可,并且本发明不对此进行限制。在通常的拍摄全景视频的移动场景中,视频拍摄者大致沿着平行于顶面或底面的道路行进,因此参考对象的移动方向大致平行于立方体投影图的顶面和底面部分,并且通过确定立方体投影图的顶面部分和/或底面部分中的至少一个对象的运动向量,即可方便地获得参考对象的移动方向。
图3示出根据本发明一个实施例的通过第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量的示例。在此示例下,运动向量确定单元810对所述先前帧图像和当前帧图像分别进行立方体投影,从而获得分别对应于所述先前帧图像的第一立方体投影图和对应于所述当前帧图像的第二立方体投影图,并且根据所获得的第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分来确定至少一个对象的运动向量。在图3的左部分示出了通过对所述先前帧图像和当前帧图像分别进行立方体投影所获得的完整的第一立方体投影图和第二立方体投影图。可选地,由于仅采用立方体投影图的顶面部分和/或底面部分来确定运动向量,因此可以不必投影出完整的六面立方体投影图,而是根据需要仅计算出立方体投影图中的顶面部分和/或底面部分以用于确定运动向量,从而进一步减小运算量。
在一个示例中,由于底面部分通常相对于顶面部分包含更多易于检测及跟踪的静态对象(例如,路面标线、路缘石、路缘带等),因此优选地,仅通过立方体投影图的底面部分来确定至少一个对象的运动向量。可选地,运动向量确定单元810可以不通过整个底面部分,而是仅在底面部分中选择以参考对象为中心的、特定半径的小区域来确定至少一个对象的运动向量,从而避免远离参考对象的至少一个对象的运动向量中可能存在的、与参考对象的移动方向不一致的横向分量给移动方向的计算带来的影响,以进一步提高确定移动方向的准确度,并降低对象检测及后续运动向量处理的复杂程度。类似地,也可以仅通过立方体投影图的顶面部分或者在顶面部分中选择的以参考对象为中心的、特定半径的小区域来确定至少一个对象的运动向量。在另一示例中,可以通过立方体投影图的顶面部分和底面部分两者来确定至少一个对象的运动向量,并且获得分别对应于顶面部分和底面部分的运动向量。如图3的右部分所示,在顶面部分和底面部分中的多个小箭头即为获得的运动向量的示例,可以通过将顶面部分和底面部分中的运动向量进行比较并排除由于误检测等干扰而生成的错误向量,以进一步提高检测准确度。以上利用立方体投影图的顶面部分和/或底面部分的实施方式仅为示例,在实际应用中,还可以根据具体需求(例如,场景中的对象复杂程度、计算的精确度要求以及参考对象的主要移动方向等)来选择单独或综合利用顶面和底面部分,或者利用立方体投影图的其余四个部分(即,正面、背面、左面和右面部分)来计算运动向量。
以上所述的通过第一立方体投影图和第二立方体投影图来确定至少一个对象的运动向量仅为示例。在实际应用中,可以不对所述先前帧图像和当前帧图像进行立方体投影变换,而是利用原始的先前帧图像和当前帧图像直接进行计算来确定至少一个对象的运动向量,在此不做限制。
根据本发明的一个实施例,运动向量确定单元810可以通过在第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分中检测所述至少一个对象,并对所检测的对象进行跟踪,从而获得所述至少一个对象的运动向量。
在一个示例中,所述至少一个对象可以为至少一个像素块。图4示出根据本发明一个实施例的确定至少一个像素块作为所述至少一个对象的示例。在此示例中,在第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分选择n*n像素大小的像素块并进行计算。如图4所示,可以选择16*16大小的像素块,然而本发明并不限于此,可以根据具体情况选择合适的像素块大小,例如8*8或32*32等。在确定了具体的像素块后,对该像素块中的像素值进行梯度运算,从而获得像素块中的各个像素的像素梯度。当存在相邻像素之间的像素梯度的差值大于预设的阈值的情况时,可以认为在该像素块中存在纹理信息,并且检测出该像素块适合作为用于跟踪的至少一个对象。因此,在后续的过程中,可以通过对所检测出的至少一个像素块进行跟踪,从而获得至少一个像素块的运动向量。可选地,在后续对至少一个像素块的跟踪过程中,为了提高跟踪速度,可以采用局部搜索方法。例如,当在先前帧图像中确定了至少一个像素块并需要在当前帧图像中搜索匹配的像素块时,考虑到对象运动的有限性,可以将在当前帧图像中的搜索范围设置为对应于所述至少一个像素块在先前帧图像中的位置附近的局部区域,从而提高对象跟踪的效率。
在另一示例中,运动向量确定单元810采用光流法来获得至少一个对象的运动向量,并且在此情况下,所述至少一个对象也可以为多个像素点。在此示例中,通过光流法对第一立方体投影图和第二立方体投影图的顶面部分和/或底面部分的灰度图进行计算,从而获得光流矩阵,其中所述光流矩阵中的值即对应于顶面部分和/或底面部分中的各个像素点的运动向量。光流法可以是本领域技术人员所熟知的基于特征或基于频率、相位等之类的光流计算方法,在此不再赘述。在获得了各个像素点的运动向量后,可以将其与预定的阈值进行比较,并且对其中小于阈值的像素点进行忽略,从而利用剩余的运动明显的像素点来获得至少一个对象的运动向量。
以上所述的对象检测和跟踪方法仅为示例,在实际应用中,也可以采用图像识别或神经网络训练等方式来识别一个或多个静态物体作为至少一个对象,并且通过各种基于特征或区域等的跟踪算法来跟踪所识别的对象从而获得至少一个对象的运动向量。
移动方向确定单元820根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向。
在理想情况下,参考对象的移动方向与至少一个对象的运动向量大致呈现相反的方向。因此,可以通过提取与至少一个对象的运动向量方向相反的向量,并以此来估计参考对象的移动方向。可以通过以上所述的选择以参考对象为中心的小区域来检测至少一个对象或者对顶面和底面的运动向量进行比较等方式来进一步提高移动方向估计的准确性。在一个示例中,当获得多个运动向量时,可以基于取多个运动向量的均值来确定参考对象的移动方向。可选地,在取多个运动向量的均值来确定参考对象的移动方向之前,也可以先采用聚类算法排除其中差异较大的运动向量,以去除其中由于误检测等干扰而生成的噪声,从而进一步提高移动方向的估计准确度。在另一示例中,在通过聚类算法排除噪声并通过对剩余的运动向量取均值之后,生成了顶面部分和底面部分的平均运动向量,如图4中的顶面部分和底面部分中央的大箭头所示。此时,可以单独利用顶面部分或底面部分的平均运动向量的相反方向作为参考对象的移动方向,或者对顶面部分和底面部分的平均运动向量进一步取加权平均值以确定参考对象的移动方向。
以上示出的取多个运动向量的均值以及提取与运动向量方向相反的向量这两个步骤的先后次序仅为示例。在一个示例中,可以先提取与多个运动向量方向相反的向量,再取相反向量的均值作为参考对象的移动方向。在另一示例中,也可以先取多个运动向量的均值,再提取平均运动向量的相反方向作为参考对象的移动方向,在此不做限制。
第一区域确定单元830根据所述移动方向确定所述当前帧图像中的第一区域。
其中,所述第一区域为根据参考对象的移动方向而确定的图像区域,并用于在经处理后显示在对应于用户正前方的观察区域上,从而使用户能够始终在其正前方观察到对应于参考对象的移动方向的全景视频部分,为用户提供更具有代入感的视觉体验。例如,可以将所述第一区域显示于安装在跑步者正前方的显示屏上的中心部分,并且当全景视频是通过在移动的车辆上安装的全景相机拍摄的时候,可以通过上述方法使得用户跑步时往前观察的方向与全景视频中车辆行进方向一致,从而使得用户通过观看车辆行进时摄像机所拍摄的场景,能够感觉到自身是在车辆所在的道路上奔跑,以增强用户的沉浸感。
可选地,为了进一步提高用户的观看体验以及减小显示侧的计算压力,可以在编码及传输所述第一区域对应的图像数据之前,对当前帧图像进行立方体投影以获得对应于所述当前帧图像的立方体投影图,并且在立方体投影图的四周部分中确定所述第一区域,其中所述四周部分对应于该立方体投影图的正面、背面、左面和右面部分,并且所述正面、背面、左面和右面部分在原始的360度图像范围中分别平均占据90度的范围。如上所述,立方体投影图中的像素分布均匀并且不具有扭曲变形,因此适合于向用户显示。其中,需要说明的是,可以直接采用在以上确定至少一个对象的运动向量的过程中所生成的、对应于所述当前帧图像的第二立方体投影图作为用于确定第一区域的立方体投影图,并因此,可以进一步减小后续处理的计算量。
以上所述的在立方体投影图中确定第一区域仅为示例,在实际应用中,可以不对当前帧图像进行立方体投影,而是在原始的当前帧图像中直接确定第一区域并用于显示,或者可以根据实际的显示需求对当前帧图像进行其他类型的投影变换以确定第一区域并用于显示,在此不做限制。
图5示出根据本发明一个实施例的在对应于所述当前帧图像的第二立方体投影图的四周部分中确定第一区域的示例,其中示出的图像区域即为第二立方体投影图的四周部分。在图5中示出了位于所述第一区域中心的对称轴,该对称轴的位置即对应于在0~360度范围的参考对象的移动方向的角度。可选地,考虑到人眼有限的视野(FOV)范围,可以根据人眼FOV的大概范围来确定第一区域的尺寸,并提升用户的观看体验,如图5中所示。在一个示例中,人体前方的视野范围大约为124度,因此可以将第一区域的尺寸确定为以参考对象的移动方向为中心的约120至125度范围的图像区域。在此情况下,由于立方体投影图的正面、背面、左面和右面部分分别具有90度范围,因此所确定的第一区域对应于所述正面、背面、左面和右面部分中的至少两个部分。在另一示例中,考虑到人体单眼的舒适视域约为60度(即,人眼能够聚焦并进行清晰观看的视野范围),也可以选择将第一区域的尺寸确定得更小,例如,可以将第一区域的尺寸确定为以参考对象的移动方向为中心的约60至120度范围的图像区域,但本发明并不对此进行限制。在此情况下,所确定的第一区域对应于所述正面、背面、左面和右面部分中的至少一个部分。
显示数据生成单元840根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
其中,考虑到所述第一区域是以参考对象的移动方向为中心的图像区域,并用于在对应于用户正前方的观察区域上显示,从而为正视前方的用户提供身临其境的视觉体验,因此优选地,显示数据生成单元840生成用于以高质量显示的第一显示数据。例如,在视频编码过程中,可以采用诸如熵编码之类的无损编码方式对第一区域的图像数据进行编码并传输到显示侧。
在本发明的一个实施例中,取决于显示侧的显示屏的具体规格和数量,显示数据生成单元840可能还需要在当前帧图像中提取第一区域以外的第二区域,并且与所述第一区域一起用于编码及传输以同时在显示侧进行显示。在此步骤中,由于第二区域并非是用于显示在用户正前方的观察区域上,而是例如可能显示在用户的左前方和右前方上,因此可以相对于第一区域以较低的质量显示,并且不会过分影响到用户的观看体验。可选地,可以对所述第二区域进行压缩处理,并且根据经压缩处理后的第二区域生成第二显示数据,从而进一步减小传输带宽以及视频处理的计算量。其中,所述压缩处理可以包括诸如下采样、有损编码之类的常用压缩方式,并且本发明不对此进行限制。在一个示例中,所生成的第一显示数据能够以更高的分辨率相对于第二显示数据在显示侧进行显示。其中,需要注意的是,如果根据实际需求在显示侧并不需要提取第二区域进行显示,则可以不对当前帧图像中除了第一区域以外的部分进行处理,而是可以直接丢弃该部分,以进一步降低图像处理量。
以上所述的显示在用户的左前方和右前方的第二区域仅为示例,在实际应用场景中,第二区域也可以包括显示在用户上方和/或下方的图像区域,例如用于在包括上方和/或下方显示屏的沉浸式虚拟现实显示空间中,在此情况下,可以例如使用立方体投影图的顶面部分和/或底面部分来显示于上方和/或下方显示屏,在此不做限制。
图6示出根据本发明一个实施例的根据第一区域和经压缩处理后的第二区域生成第一显示数据和第二显示数据的示例。如图6的(a)中所示,原始的包含第一区域和以及除了第一区域以外的其他部分的当前帧图像的分辨率被示为3840*960像素。随后,显示数据生成单元840在所述当前帧图像中提取第二区域中的多个部分并进行拼接,以便对拼接形成的整个第二区域进行压缩处理。例如,在图6的(b)中示出了提取第一区域的左侧部分和右侧部分作为第二区域中的多个部分并进行拼接的示例,其中第一区域的分辨率被示为1280*960像素,并且拼接后形成的第二区域的分辨率被示为2560*960像素。可选地,可以根据实际的显示需求来提取在当前帧图像中的除了第一区域以外的其他任何一个或多个部分以形成第二区域。随后,对拼接形成的整个第二区域进行压缩处理。在图6的(c)示出了通过以固定长宽比的下采样方式对第二区域进行压缩处理的示例,通过将下采样率设置为1/4,经压缩处理后的第二区域的分辨率被示为640*240像素。在之后的步骤中,将经压缩处理后的第二区域分割为多个部分以与第一区域进行拼接,从而便于对第一区域和第二区域一起进行后续的编码及传输处理,进一步降低后续处理运算量。在此示例中,如图6的(c)中所示,第二区域被分割为大小相同的4个部分,并且在垂直方向上与第一区域进行拼接从而形成了分辨率为1440*960像素的矩形区域,因此能够对整个矩形区域同时进行编码及传输,从而便于根据第一区域和经压缩处理后的第二区域同时生成第一显示数据和第二显示数据。在具体的分割过程中,可以记录下分割出的第二区域的每个部分的原始角度范围信息(例如,在图6的(c)中分割出的4个部分的第1部分可能在原始的0~360度的角度范围中对应于23~83度的角度范围,第2部分可能对应于83~143度的角度范围,第3部分可能对应于263~323度的角度范围,第4部分可能对应于323~360度+0~23度的角度范围)和/或像素位置信息(例如,每个部分两端的像素横坐标位置)等以作为元数据或其他类型数据,从而与图像数据一起进行编码及传输,并用于在显示侧进一步解码及重新组织图像区域。
图7示出根据本发明一个实施例的在显示侧对通过图6生成的第一显示数据和第二显示数据进行处理并显示的示例。如图7所示,在显示侧对接收到的第一显示数据和第二显示数据进行解码及重新组织以用于显示。首先,如图7的(a)中所示,将第一区域与第二区域的4个部分进行分离,并且如图7的(b)中所示,重新将第二区域的4个部分上采样到第一区域的相同高度,并且将其与第一区域一起拼接成以第一区域为中心的矩形图像,从而使第一区域能够显示在用户正前方的观察区域上。可选地,可以保持固定的长宽比调整矩形图像的尺寸以适应于显示屏的具体高度,并且当调整后的矩形图像仍不适应显示屏的具体宽度时,还可以利用诸如双三次插值方法等之类的像素内插方法对矩形图像中除了第一区域以外的区域进行拉伸,从而在保持第一区域的显示质量的情况下对图像的尺寸进行调整以适应显示规格,并减少显示单元中的渲染计算。
根据本发明实施例的上述全景视频处理装置,能够根据拍摄全景视频时的移动方向对全景帧图像进行划分,并且针对划分出的不同图像区域生成对应于不同显示质量的显示数据。这种全景视频处理装置能够降低全景视频编解码、渲染和显示的计算复杂程度以及视频流传输的带宽消耗,并且提高全景视频的显示效果,改善用户体验。
下面,参照图9来描述根据本发明实施例的全景视频处理装置。图9示出了根据本发明实施例的全景视频处理装置900的框图。如图9所示,该全景视频处理装置900可以是计算机或服务器。
如图9所示,全景视频处理装置900包括一个或多个处理器910以及存储器920,当然,除此之外,全景视频处理装置900还可能包括输入装置、输出装置(未示出)等,这些组件可以通过总线系统和/或其它形式的连接机构互连。应当注意,图9所示的全景视频处理装置900的组件和结构只是示例性的,而非限制性的,根据需要,全景视频处理装置900也可以具有其他组件和结构。
处理器910可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以利用存储器920中所存储的计算机程序指令以执行期望的功能,可以包括:获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;根据所述移动方向确定所述当前帧图像中的第一区域;以及根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
存储器920可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器910可以运行所述程序指令,以实现上文所述的本发明的实施例的显示装置的功能以及/或者其它期望的功能,并且/或者可以执行根据本发明实施例的显示方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据。
下面,描述根据本发明实施例的计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:获取所述全景视频,所述全景视频包括多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;根据所述至少一个对象的运动向量确定所述全景视频的参考对象的移动方向;根据所述移动方向确定所述当前帧图像中的第一区域;以及根据所确定的所述当前帧图像中的第一区域生成第一显示数据。
当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本发明的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本发明的效果,这种合并和组合而成的实施例也被包括在本发明中,在此不一一描述这种合并和组合。
注意,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述发明的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
本发明中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。
另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本发明的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本发明的范围内。
以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。
可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。
结合本发明描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。
在此发明的方法包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。
所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,盘(disc)包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘。
因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。
软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。
此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软盘等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。
其他例子和实现方式在本发明和所附权利要求的范围和精神内。例如,由于软件的本质,以上所述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本发明的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所发明的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不希望被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不希望将本发明的实施例限制到在此发明的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (9)
1.一种全景视频处理方法,包括:
获取所述全景视频,所述全景视频包括由全景相机拍摄的多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;
根据所述至少一个对象的运动向量确定所述全景相机在拍摄所述全景帧图像时的移动方向;
根据所述全景相机的所述移动方向确定所述当前帧图像中的第一区域;以及
根据所确定的所述当前帧图像中的第一区域生成第一显示数据;
其中,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量包括:
对所述先前帧图像和当前帧图像进行立方体投影以获得对应于所述先前帧图像的第一立方体投影图和对应于所述当前帧图像的第二立方体投影图,其中所述第一立方体投影图和所述第二立方体投影图包括正面、背面、左面、右面、顶面和底面部分;以及
根据所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分确定所述至少一个对象的运动向量。
2.如权利要求1所述的方法,其中,所述方法还包括:
对所述当前帧图像中的第二区域进行压缩处理,并根据经压缩处理后的第二区域生成第二显示数据,其中所述第二区域与所述第一区域不重合。
3.如权利要求1所述的方法,其中,根据所述移动方向确定所述当前帧图像中的第一区域包括:
根据所述移动方向在对应于所述当前帧图像的所述第二立方体投影图的四周部分确定所述第一区域,其中所述四周部分对应于所述第二立方体投影图的正面、背面、左面和右面部分。
4.如权利要求1所述的方法,其中,根据所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分确定所述至少一个对象的运动向量包括:
在所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分中检测所述至少一个对象,并跟踪所检测的所述至少一个对象以获得所述至少一个对象的运动向量。
5.如权利要求4所述的方法,其中,在所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分中检测所述至少一个对象包括:
根据像素梯度在所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分中确定至少一个像素块作为所述至少一个对象。
6.如权利要求2所述的方法,其中,所述方法还包括:
在所述当前帧图像中提取所述第二区域中的多个部分并进行拼接以获得所述第二区域;以及
根据所述第一区域和经压缩处理后的所述第二区域生成所述第一显示数据和所述第二显示数据。
7.一种全景视频处理装置,包括:
运动向量确定单元,配置为获取所述全景视频,所述全景视频包括由全景相机拍摄的多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;
移动方向确定单元,配置为根据所述至少一个对象的运动向量确定所述全景相机在拍摄所述全景帧图像时的移动方向;
第一区域确定单元,配置为根据所述全景相机的所述移动方向确定当前帧图像中的第一区域;
显示数据生成单元,配置为根据所确定的所述当前帧图像中的第一区域生成第一显示数据;
其中,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量包括:
对所述先前帧图像和当前帧图像进行立方体投影以获得对应于所述先前帧图像的第一立方体投影图和对应于所述当前帧图像的第二立方体投影图,其中所述第一立方体投影图和所述第二立方体投影图包括正面、背面、左面、右面、顶面和底面部分;以及
根据所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分确定所述至少一个对象的运动向量。
8.一种全景视频处理装置,包括:
处理器;
和存储器,在所述存储器中存储有计算机程序指令,
其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:
获取所述全景视频,所述全景视频包括由全景相机拍摄的多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;
根据所述至少一个对象的运动向量确定所述全景相机在拍摄所述全景帧图像时的移动方向;
根据所述全景相机的所述移动方向确定所述当前帧图像中的第一区域;以及
根据所确定的所述当前帧图像中的第一区域生成第一显示数据;
其中,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量包括:
对所述先前帧图像和当前帧图像进行立方体投影以获得对应于所述先前帧图像的第一立方体投影图和对应于所述当前帧图像的第二立方体投影图,其中所述第一立方体投影图和所述第二立方体投影图包括正面、背面、左面、右面、顶面和底面部分;以及
根据所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分确定所述至少一个对象的运动向量。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:
获取所述全景视频,所述全景视频包括由全景相机拍摄的多个全景帧图像,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量;
根据所述至少一个对象的运动向量确定所述全景相机在拍摄所述全景帧图像时的移动方向;
根据所述全景相机的所述移动方向确定所述当前帧图像中的第一区域;以及
根据所确定的所述当前帧图像中的第一区域生成第一显示数据;
其中,根据所述全景帧图像中的先前帧图像和当前帧图像确定至少一个对象的运动向量包括:
对所述先前帧图像和当前帧图像进行立方体投影以获得对应于所述先前帧图像的第一立方体投影图和对应于所述当前帧图像的第二立方体投影图,其中所述第一立方体投影图和所述第二立方体投影图包括正面、背面、左面、右面、顶面和底面部分;以及
根据所述第一立方体投影图和所述第二立方体投影图的顶面部分和/或底面部分确定所述至少一个对象的运动向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910788610.5A CN112437248B (zh) | 2019-08-26 | 2019-08-26 | 全景视频处理方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910788610.5A CN112437248B (zh) | 2019-08-26 | 2019-08-26 | 全景视频处理方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437248A CN112437248A (zh) | 2021-03-02 |
CN112437248B true CN112437248B (zh) | 2024-05-17 |
Family
ID=74690594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910788610.5A Active CN112437248B (zh) | 2019-08-26 | 2019-08-26 | 全景视频处理方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437248B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118509713A (zh) * | 2024-07-15 | 2024-08-16 | 圆周率科技(常州)有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611826A (zh) * | 2011-01-21 | 2012-07-25 | 索尼公司 | 图像处理装置、图像处理方法以及程序 |
CN103416055A (zh) * | 2010-12-30 | 2013-11-27 | 派尔高公司 | 视频编码 |
CN108848389A (zh) * | 2018-07-27 | 2018-11-20 | 恒信东方文化股份有限公司 | 一种全景视频处理方法、装置及系统 |
CN109040575A (zh) * | 2017-06-09 | 2018-12-18 | 株式会社理光 | 全景视频的处理方法、装置、设备、计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006270676A (ja) * | 2005-03-25 | 2006-10-05 | Fujitsu Ltd | パノラマ画像生成プログラム、パノラマ画像生成装置、パノラマ画像生成方法 |
-
2019
- 2019-08-26 CN CN201910788610.5A patent/CN112437248B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103416055A (zh) * | 2010-12-30 | 2013-11-27 | 派尔高公司 | 视频编码 |
CN102611826A (zh) * | 2011-01-21 | 2012-07-25 | 索尼公司 | 图像处理装置、图像处理方法以及程序 |
CN109040575A (zh) * | 2017-06-09 | 2018-12-18 | 株式会社理光 | 全景视频的处理方法、装置、设备、计算机可读存储介质 |
CN108848389A (zh) * | 2018-07-27 | 2018-11-20 | 恒信东方文化股份有限公司 | 一种全景视频处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112437248A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | Low illumination underwater light field images reconstruction using deep convolutional neural networks | |
CA3019163C (en) | Generating intermediate views using optical flow | |
JP6371553B2 (ja) | 映像表示装置および映像表示システム | |
US8983175B2 (en) | Video processing method and device for depth extraction | |
US10499033B2 (en) | Apparatus, a method and a computer program for coding and rendering volumetric video | |
US20220014723A1 (en) | Enhancing performance capture with real-time neural rendering | |
EP2328125B1 (en) | Image splicing method and device | |
US20190208177A1 (en) | Three-dimensional model generating device and three-dimensional model generating method | |
US11568516B2 (en) | Depth-based image stitching for handling parallax | |
US20170118475A1 (en) | Method and Apparatus of Video Compression for Non-stitched Panoramic Contents | |
KR20180111798A (ko) | 파노라마 프레임 생성 프로세스에서 프레임의 적응적 스티칭 | |
Maugey et al. | Saliency-based navigation in omnidirectional image | |
US20210295467A1 (en) | Method for merging multiple images and post-processing of panorama | |
KR100560464B1 (ko) | 관찰자의 시점에 적응적인 다시점 영상 디스플레이 시스템을 구성하는 방법 | |
EP3396635A2 (en) | A method and technical equipment for encoding media content | |
KR101933037B1 (ko) | 360도 동영상에서의 가상현실 재생 장치 | |
CN107240147B (zh) | 图像渲染方法及系统 | |
CN111866523B (zh) | 全景视频合成方法、装置、电子设备和计算机存储介质 | |
KR20180056124A (ko) | 전자 장치 및 그 이미지 처리 방법 | |
CN111325107A (zh) | 检测模型训练方法、装置、电子设备和可读存储介质 | |
CN111465937B (zh) | 采用光场相机系统的脸部检测和识别方法 | |
CN112437248B (zh) | 全景视频处理方法、装置和计算机可读存储介质 | |
JP6799468B2 (ja) | 画像処理装置、画像処理方法及びコンピュータプログラム | |
WO2019008222A1 (en) | METHOD AND APPARATUS FOR ENCODING MULTIMEDIA CONTENT | |
WO2018109266A1 (en) | A method and technical equipment for rendering media content |
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 |