CN117456145A - 视频处理方法、装置、电子设备及可读存储介质 - Google Patents

视频处理方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN117456145A
CN117456145A CN202311507008.2A CN202311507008A CN117456145A CN 117456145 A CN117456145 A CN 117456145A CN 202311507008 A CN202311507008 A CN 202311507008A CN 117456145 A CN117456145 A CN 117456145A
Authority
CN
China
Prior art keywords
sub
block
video
target
blocks
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.)
Pending
Application number
CN202311507008.2A
Other languages
English (en)
Inventor
郭佩佩
邢刚
赵璐
柳建龙
李斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202311507008.2A priority Critical patent/CN117456145A/zh
Publication of CN117456145A publication Critical patent/CN117456145A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频处理方法、装置、电子设备及可读存储介质,涉及视频处理技术领域,以解决VR视频FOV区域的画面清晰度较差的问题。该方法包括:生成平面视频的多个子块,多个子块包括位于平面视频的中间区域的多个第一子块和位于平面视频的边缘区域的多个第二子块,第一子块的面积小于第二子块的面积;在用户视角的目标区域位于边缘区域时,从多个第一子块中确定第一目标子块,以及从多个第二子块中确定第二目标子块;基于第一目标子块和第二目标子块获取并显示目标视频画面。本申请实施例可提高VR视频FOV区域的画面清晰度。

Description

视频处理方法、装置、电子设备及可读存储介质
技术领域
本申请涉及视频处理技术领域,尤其涉及一种视频处理方法、装置、电子设备及可读存储介质。
背景技术
为了处理360度虚拟现实(Virtual Reality,VR)视频,通常会通过等距柱状投影(Equirectangular Projection,ERP)将球面全景视频映射到二维平面上。ERP投影的特点是比较直观,得到的二维平面视频中间区域失真较小,但是两端区域拉伸后的面积增大,从而造成两端区域失真较大。
由于VR视频的分辨率较高,传输时占用的带宽过高,因此通常是根据用户当前朝向只传输视场角(Field of View,FOV)区域的高清视频块。但是,在用户转头到两端区域时,由于ERP投影导致两端区域在拉伸后失真较大,获取到的高清块不足以覆盖用户的视野范围,导致VR视频FOV区域的画面清晰度较差。
发明内容
本申请实施例提供一种视频处理方法、装置、电子设备及可读存储介质,以解决VR视频FOV区域的画面清晰度较差的问题。
第一方面,本申请实施例提供了一种视频处理方法,包括:
生成平面视频的多个子块,所述多个子块包括位于所述平面视频的中间区域的多个第一子块和位于所述平面视频的边缘区域的多个第二子块,所述第一子块的面积小于所述第二子块的面积;
在用户视角的目标区域位于所述边缘区域时,从所述多个第一子块中确定第一目标子块,以及从所述多个第二子块中确定第二目标子块;所述第一目标子块包括与所述用户的场视角FOV区域至少部分重合的第一子块,所述第二目标子块包括与所述FOV区域至少部分重合的第二子块;
基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面。
可选地,所述从所述多个第一子块中确定第一目标子块,包括:
对于所述多个第一子块中的每一个第一子块,判断所述第一子块与所述FOV区域是否存在重合区域;
在所述第一子块与所述FOV区域存在重合区域的情况下,将所述第一子块确定为所述第一目标子块。
可选地,所述边缘区域包括第一子区域和第二子区域,所述第二子区域位于所述第一子区域远离所述中间区域的一侧;
所述从所述多个第二子块中确定第二目标子块,包括:
对于所述多个第二子块中的每一个第二子块,判断所述第二子块与所述FOV区域是否存在重合区域;
在所述第二子块与所述FOV区域存在重合区域的情况下,将所述第二子块确定为第二目标子块,以及将位于所述第二子区域的第二子块确定为所述第二目标子块。
可选地,所述生成平面视频的多个子块,包括:
对平面视频进行均匀划分得到第一视频块集合,所述第一视频块集合包括位于所述中间区域的多个第一子块;以及对所述平面视频进行均匀划分得到第二视频块集合,所述第二视频块集合包括位于所述边缘区域的多个第二子块。
可选地,所述第一视频块集合还包括位于所述边缘区域的多个第一子块,所述对平面视频进行均匀划分得到第一视频块集合之后,所述方法还包括:
在所述用户视角位于所述中间区域的情况下,从所述中间区域的多个第一子块中确定第一目标子块,以及从位于所述边缘区域的多个第一子块中确定第二目标子块。
可选地,所述基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面,包括:
获取所述第一目标子块和所述第二目标子块;
将所述第一目标子块和所述第二目标子块进行拼接处理得到目标视频块;
将所述目标视频块渲染至球体模型,得到所述目标视频画面。
可选地,所述将所述目标视频块渲染显示至球体,得到目标视频画面之前,所述方法还包括:
获取目标视频文件,所述目标视频文件为经过压缩处理后的所述平面视频;
将所述目标视频文件渲染至所述球体模型,得到全景视频画面。
第二方面,本申请实施例提供了一种视频处理装置,包括:
生成模块,用于生成平面视频的多个子块,所述多个子块包括位于所述平面视频的中间区域的多个第一子块和位于所述平面视频的边缘区域的多个第二子块,所述第一子块的面积小于所述第二子块的面积;
第一确定模块,用于在用户视角的目标区域位于所述边缘区域时,从所述多个第一子块中确定第一目标子块,以及从所述多个第二子块中确定第二目标子块;所述第一目标子块包括与所述用户的场视角FOV区域至少部分重合的第一子块,所述第二目标子块包括与所述FOV区域至少部分重合的第二子块;
处理模块,用于基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如第一方面所述的视频处理方法中的步骤。
第四方面,本申请实施例提供了一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如第一方面所述的视频处理方法中的步骤。
在本申请实施例中,生成平面视频的多个子块,多个子块包括位于平面视频的中间区域的多个第一子块和位于平面视频的边缘区域的多个第二子块,第一子块的面积小于第二子块的面积;在用户视角的目标区域位于边缘区域时,从多个第一子块中确定第一目标子块,以及从多个第二子块中确定第二目标子块。通过上述方式,将平面视频中失真较小的中间区域划分为面积较小的子块,将平面视频中失真较大的边缘区域划分为面积较大的子块,使得获取到的边缘区域的子块面积较多,保证用户视角处于边缘区域时仍能获得清晰度较高且覆盖范围更广的视频画面。
附图说明
图1是本申请实施例提供的视频处理方法的流程图;
图2是本申请实施例提供的平面视频示意图之一;
图3a是本申请实施例提供的平面视频划分情况示意图之一;
图3b是本申请实施例提供的平面视频划分情况示意图之二;
图4是本申请实施例提供的平面视频示意图之二;
图5a是本申请实施例提供的FOV区域与平面视频的关系示意图之一;
图5b是本申请实施例提供的FOV区域与平面视频的关系示意图之二;
图6a是本申请实施例提供的FOV区域与平面视频的关系示意图之三;
图6b是本申请实施例提供的FOV区域与平面视频的关系示意图之四;
图6c是本申请实施例提供的目标视频块的示意图之一;
图7a是本申请实施例提供的FOV区域与平面视频的关系示意图之五;
图7b是本申请实施例提供的FOV区域与平面视频的关系示意图之六;
图7c是本申请实施例提供的目标视频块的示意图之二;
图8是本申请实施例提供的视频处理装置的结构示意图;
图9是本申请实施例提供的电子设备的结构示意图。
具体实施方式
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的视频处理方法的流程图。本实施例提供的视频处理方法可以用于对360度VR视频映射得到的平面视频进行处理,渲染得到用户的视野范围内的高清VR视频画面,提高FOV区域的视频画面清晰度。
作为一种具体应用场景的示例,使用360度全景摄像机拍摄得到全景视频并映射得到对应的平面视频后,在用户佩戴VR头显设备时,基于本实施例提供的方法对平面视频进行处理,基于用户视角的变化,实时更新FOV区域显示的视频,保证用户视野范围内的视频始终清晰度较高,提高用户的观看体验。
如图1所示,所述视频处理方法具体包括以下步骤:
步骤101,生成平面视频的多个子块,所述多个子块包括位于所述平面视频的中间区域的多个第一子块和位于所述平面视频的边缘区域的多个第二子块,所述第一子块的面积小于所述第二子块的面积。
在本实施例中,平面视频为对360度全景摄像机拍摄得到的全景视频进行投影或映射得到的视频,其具体投影或映射方式在此不做限定。示例性地,在一些实施例中,采用ERP投影对360度全景视频进行处理,得到分辨率为width×height的平面视频。
应理解的是,在本实施例中,直接生成平面视频的多个子块,没有对平面视频进行过压缩处理,因此生成的多个子块对应的视频画面为原视频画面,清晰度较高。
按照预设的规则预先将平面视频划分为中间区域和边缘区域。作为一种可选的实施方式,如图2所示,边缘区域的数量为两个,两个边缘区域分别位于中间区域的两侧。为了方便对平面视频进行处理,建立如图2所示的二维直角坐标系。在后续的实施例中,将以如图2所示的平面视频为例进行描述。如图2所示,平面视频的A区域为中间区域,平面视频的B区域和C区域为两个边缘区域。当然,在另一些可选的实施方式中,边缘区域的数量也可以为一个或多个,为了方便描述,在后续的实施例中,将以边缘区域的数量为两个的情况为例进行说明。
应理解的是,平面视频的中间区域在映射还原至360度全景视频对应的球体模型上时,位于球体模型的中部;平面视频的边缘区域在映射还原至360度全景视频对应的球体模型上时,位于球体模型的端部,中间区域对应的球体模型的横截面大于边缘区域对应的球体模型部分的横截面。
应理解的是,在将360度全景摄像机拍摄得到的全景视频投影得到平面视频的过程中,受到球体本身形状的设置,位于球体端部区域的视频在投影过程中会被拉伸。
因此为了使得平面视频的划分方式与视频被拉伸的程度更加相符,在一些实施例中,以球体模型的中心点为原点建立坐标系,将360度全景画面分为多个区域。具体地,将纵坐标范围-30度到30度的区域确定为赤道区域,将纵坐标范围30度到90度的区域确定为北极区域,将纵坐标范围-30度到-90度的区域确定为南极区域,再将赤道区域在平面视频对应的区域作为中间区域,将北极区域和南极区域在平面视频对应的区域作为两个边缘区域。
应理解的是,每一个区域的大小在此不做限定。示例性地,在一些实施例中,两个边缘区域的大小相同。在另一些实施例中,中间区域的大小与一个边缘区域的大小相同。
在得到平面视频后,对平面视频进行处理生成平面视频的多个子块,其具体处理方式在此不做限定。可选地,作为一种可选的实施方式,所述步骤101包括:
对平面视频进行均匀划分得到第一视频块集合,所述第一视频块集合包括位于所述中间区域的多个第一子块;以及对所述平面视频进行均匀划分得到第二视频块集合,所述第二视频块集合包括位于所述边缘区域的多个第二子块。
下面以一个具体的实施例为例进行介绍。请参见图3a,将平面视频按照m行n列均匀划分为多个视频块,得到第一视频块集合,其中,第一视频块集合中包括位于中间区域的多个第一子块。请参见图3b,将平面视频按照j行k列均匀划分为多个视频块,得到第二视频块集合,其中,第二视频块集合中包括位于其中一个边缘区域的多个第二子块以及位于另一个边缘区域的多个第二子块。其中,m、n、j、k均为正整数,且j<m和/或k<n,以保证第一子块的面积小于第二子块的面积。
在一些情况下,通过调整平面视频的划分行数和列数,保证位于中间区域的每一个第一子块均全部位于中间区域内,同时位于边缘区域的每一个第二子块均全部位于边缘区域内。在另一些情况下,也可能出现某一行第一子块部分位于中间区域部分位于边缘区域,或某一行第二子块部分位于中间区域部分位于边缘区域。在具体实现时,可以按照预设的规则,确定该第一子块或第二子块位于中间区域或边缘区域。示例性地,当任一个视频块部分位于中间区域、部分位于边缘区域时,认为该视频块位于边缘区域。
当然,以上仅为平面视频划分方式的一种示例,对平面视频进行划分的方式可以根据实际情况进行调整。作为另一种可选的实施方式,也可以对平面视频进行不均匀划分得到第一视频块集合和第二视频块集合。这种实施方式可以提高对平面视频进行划分的灵活性。
作为另一种可选的实施方式,所述步骤101包括:对平面视频的中间区域进行均匀划分得到多个第一子块,对平面视频的边缘区域分别进行均匀划分,得到边缘区域对应的第二子块。在本实施例中,对平面视频进行划分得到的视频块数量较少,因此需传输的码流大小也较小,从而减少了视频传输占用的带宽,节省了资源。
在本实施例中,对平面视频进行均匀划分得到第一视频块集合;以及对平面视频进行均匀划分得到第二视频块集合。通过上述方式,提高了对平面视频进行划分的规则性,便于对得到的视频块进行管理,便于确定每一个视频块的位置。
需要说明的是,在具体实现时,生成平面视频的多个子块后,可以对多个子块进行编码和切片等操作,得到码流文件,并将码流文件上传至媒体服务器上存储,便于后续获取子块。
示例性地,对平面视频进行均匀划分得到第一视频块集合,对第一视频块集合进行编码和切片,得到第一路高清码流。对平面视频进行均匀划分得到第二视频块集合,对第二视频块集合进行编码和切片,得到第二路高清码流。将这两路高清码流都部署到服务端上。
步骤102,在用户视角的目标区域位于所述边缘区域时,从所述多个第一子块中确定第一目标子块,以及从所述多个第二子块中确定第二目标子块;所述第一目标子块包括与所述用户的场视角FOV区域至少部分重合的第一子块,所述第二目标子块包括与所述FOV区域至少部分重合的第二子块。
通过头显设备确定用户视角后,确定用户视角当前所处的区域为中间区域还是边缘区域。如图2所示,在实际的应用场景中,当用户处于平视状态时,用户视角通常落在中间区域,当用户仰头时,用户视角可能落入位于中间区域上方的边缘区域,当用户低头时,用户视角可能落入位于中间区域下方的边缘区域。
需要说明的是,用户视角位于两个边缘区域中的任一个边缘区域,均属于用户视角位于边缘区域的情况,其处理方式相同。用户视角位于两个边缘区域中的哪一个边缘区域,就从位于该边缘区域的多个第二子块中确定第二目标子块。
可选地,在一些实施例中,所述从所述多个第一子块中确定第一目标子块,包括:
对于所述多个第一子块中的每一个第一子块,判断所述第一子块与所述FOV区域是否存在重合区域;
在所述第一子块与所述FOV区域存在重合区域的情况下,将所述第一子块确定为所述第一目标子块。
FOV是指人眼戴上头显后视角范围覆盖的区域,用户视角为FOV区域的中心点。在具体实现时,通过用户佩戴的头显设备可以确定用户视角和FOV区域,具体在此不做赘述。
如图2所示,通过预先构建二维直角坐标系,获得每一个第一子块对应的顶点坐标,基于每一个第一子块的顶点坐标与FOV区域的顶点坐标判断第一子块与FOV区域是否存在重合区域。
对于360度全景视频而言,越靠近两端其包含的画面内容实际上是越少的,但是在映射得到平面视频后,两端区域被拉伸导致面积增大,此部分内容的失真较大。
可选地,在一些实施例中,所述边缘区域包括第一子区域和第二子区域,所述第二子区域位于所述第一子区域远离所述中间区域的一侧;
所述从位于所述边缘区域的多个第二子块中确定第二目标子块,包括:
对于位于所述第一子区域的多个第二子块中的每一个第二子块,判断所述第二子块与所述FOV区域是否存在重合区域;
在所述第二子块与所述FOV区域存在重合区域的情况下,将所述第二子块确定为第二目标子块,以及将位于所述第二子区域的第二子块确定为第二目标子块。
请参见图4,边缘区域包括第一子区域B1和第二子区域B2,对于每一个边缘区域而言,其第二子区域B2均位于其第一子区域B1远离中间区域A的一侧。
应理解的是,边缘区域包括第一子区域和第二子区域,其中第一子区域和第二子区域的面积大小在此不做限定。作为一种可选的实施方式,第二子区域的面积小于第一子区域的面积。
判断第二子块与FOV区域是否存在重合区域的具体方式可以参见判断第二子块与FOV区域是否存在重合区域的具体方式,在此不做赘述。
由于第二子区域更靠***面视频的端部,该部分画面失真较大,因此为了保证该部分视频画面的清晰度,将位于第二子区域的第二子块全部确定为第二目标子块。
在本实施例中,进一步地将边缘区域划分为第一子区域和第二子区域,对于位于第一子区域的多个第二子块中的每一个第二子块,判断第二子块与FOV区域是否存在重合区域;在第二子块与FOV区域存在重合区域的情况下,将第二子块确定为第二目标子块,以及将位于第二子区域的第二子块确定为第二目标子块。通过上述方式,将平面视频中画面失真最大的部分全部确定为第二目标子块,保证了视频边缘区域的清晰度,进一步提高了用户的观看体验。
可选地,在一些实施例中,所述第一视频块集合还包括位于所述边缘区域的多个第一子块,所述对平面视频进行均匀划分得到第一视频块集合之后,所述方法还包括:
在所述用户视角位于所述中间区域的情况下,从所述中间区域的多个第一子块中确定第一目标子块,以及从位于所述边缘区域的多个第一子块中确定第二目标子块。
应理解的是,根据前述内容可知,对整个平面视频进行划分得到的第一视频块集合,因此第一视频块集合内不仅包括位于中间区域内的多个第一子块,还包括位于两个边缘区域内的多个第一子块。
在用户视角位于中间区域的情况下,可以认为FOV区域大部分位于中间区域内,仅部分FOV区域位于边缘区域内。在本实施例中,从第一视频块集合中确定第一目标子块和第二目标子块,提高确定第一目标子块和第二目标子块的便捷度,同时使得第一目标子块和第二目标子块的面积相同,便于后续对第一目标子块和第二目标子块进行拼接。
需要说明的是,在一些情况下,FOV区域全部位于中间区域内,此时从位于边缘区域的多个第一子块中确定的第二目标子块的数量为0。
步骤103,基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面。
应理解的是,目标视频画面为显示在球体模型上的360度全景视频画面。在实际应用场景中,目标视频画面为用户佩戴头显设备后观看到的VR视频画面。
基于第一目标子块和第二目标子块显示目标视频画面的具体方式在此不做限定。示例性地,在一些实施例中,在生成平面视频的多个子块后,将多个子块对应的码流文件上传至媒体服务器上存储,因此可以从媒体服务器上下载第一目标子块和第二目标子块对应的码流文件,基于其对应的码流文件显示目标视频画面。
可选地,在一些实施例中,所述步骤104包括:
获取所述第一目标子块和所述第二目标子块;
将所述第一目标子块和所述第二目标子块进行拼接处理得到目标视频块;
将所述目标视频块渲染至球体模型,得到所述目标视频画面。
在第一目标子块和第二目标子块已预存在服务端的情况下,从服务端下载第一目标子块和第二目标子块。按照第一目标子块和第二目标子块的相对位置将第一目标子块和第二目标子块进行拼接得到完整的目标视频块。对目标视频块进行处理,将目标视频块渲染至球体模型,得到目标视频画面。
可选地,所述将所述目标视频块渲染显示至球体,得到目标视频画面之前,所述方法还包括:
获取目标视频文件,所述目标视频文件为经过压缩处理后的所述平面视频;
将所述目标视频文件渲染至所述球体模型,得到全景视频画面。
对平面视频进行压缩处理,压缩平面视频的分辨率和码率,得到目标视频文件,对目标视频文件进行编码和切片得到一路全景码流,将该路全景码流部署至服务端上。
在目标视频文件已预存在服务端的情况下,从服务端下载目标视频文件,对目标视频文件进行处理,将目标视频文件渲染至球体模型,得到全景视频画面。
由于目标视频文件为经过压缩处理的平面视频,因此全景视频画面的清晰度较低,但是全景视频画面为完整的视频画面。通过上述方法,在将目标视频块渲染显示至球体,得到目标视频画面之前,将目标视频文件渲染至球体模型,得到全景视频画面,可以保证在目标视频画面切换时或显示之前,不会出现没有画面的情况下,保证了用户的观看体验。
在本申请实施例中,生成平面视频的多个子块,多个子块包括位于平面视频的中间区域的多个第一子块和位于平面视频的边缘区域的多个第二子块,第一子块的面积小于第二子块的面积;在用户视角的目标区域位于边缘区域时,从多个第一子块中确定第一目标子块,以及从多个第二子块中确定第二目标子块。通过上述方式,将平面视频中失真较小的中间区域划分为面积较小的子块,将平面视频中失真较大的边缘区域划分为面积较大的子块,使得获取到的边缘区域的子块面积较多,保证用户视角处于边缘区域时仍能获得清晰度较高且覆盖范围更广的视频画面。
请参见图5a-图7c,为了方便理解,下面将以一个具体的应用场景为例进行说明。
步骤1:生成VR视频码流文件。具体如下:
对使用360度全景摄像机拍摄得到的全景视频采用ERP投影,投影后得到分辨率为width×height的平面视频。
按m行n列(例如12行12列)对平面视频进行均匀划分为多个高清子块(在本实施例中,按m行n列对平面视频进行均匀划分得到的高清子块即为第一子块),得到第一视频块集合后进行编码和切片处理,得到第一路分块高清码流。在视频描述文件中记录第一视频块集合中每个高清子块的顶点坐标(x1,y1)和宽高尺寸(w1,h1)。
按j行k列对平面视频进行均匀划分为多个高清子块(在本实施例中,按按j行k列对平面视频进行均匀划分得到的高清子块即为第二子块),得到第二视频块集合后进行编码和切片处理,得到第二路分块高清码流,其中j小于m并且k小于n(例如m和n均取12,j取6,k取4),以保证第二视频块集合中的子块比第二视频块集合中的子块大。在视频描述文件中记录第二视频块集合每个高清子块的顶点坐标(x2,y2)和宽高尺寸(w2,h2)。
压缩平面视频的分辨率和码率得到目标视频文件后,进行编码和切片处理,得到第三路低清全景码流。
步骤2:将上述两路高清分块码流和一路低清全景码流都部署到媒体服务器上。
步骤3:当用户佩戴的头显设备中的播放器在播放VR视频时,通过流媒体协议(例如DASH)获取低清全景码流文件。对低清码流解码,将其作为背景视频,渲染至为整个球体模型,以保证播放器中没有视频画面的情况。
步骤4:确定在用户当前视野范围,待显示的高清画面。具体如下:
将360度全景画面分为多个区域,例如赤道区域、北极区域、南极区域、北极圈和南极圈。其中,以球体模型的中心点为原点建立坐标系,对球体模型按照如下方式进行划分:
纵坐标范围是-30度到30度的区域为赤道区域,映射为平面视频后对应中间区域。
纵坐标范围是30度到90度的区域为北极区域,映射为平面视频后对应其中一个边缘区域的第一子区域。
纵坐标范围是-30度到-90度的区域为南极区域映射为平面视频后对应另一个边缘区域的第二子区域。
纵坐标范围是60度到90度的区域为北极圈,映射为平面视频后对应另一个边缘区域的第一子区域。
纵坐标范围是-60度到-90度的区域为南极圈,映射为平面视频后对应另一个边缘区域的第二子区域。
实时获取用户视角在球体模型上对应的位置信息,以横纵坐标度数表示(可以通过球面坐标计算得到)。确定用户视角所在的区域,具体方式如下:
如果θ<=30度并且θ>=-30度,则用户视角当前在赤道区域。
如果θ>30度,则用户视角当前在北极区域。
如果θ<-30度,则用户视角当前在南极区域。
如果θ>60度,则用户视角当前在北极圈。
如果θ<-60度,则用户视角当前在南极圈。
确定当前用户视角对应的FOV矩形区域坐标。具体地,根据头显设备的视场角FOV和用户视角位置按照如下计算公式计算得到,FOV矩形区域的四个顶点坐标表示为(minx,miny,maxx,maxy)。其中,minx用于表征FOV矩形区域在x轴上的最小坐标值,maxx用于表征FOV矩形区域在x轴上的最大坐标值,miny用于表征FOV矩形区域在y轴上的最小坐标值,maxy用于表征FOV矩形区域在y轴上的最大坐标值。
其中,wfov用于表征FOV矩形区域的沿x轴方向的宽度,hfov用于表征FOV矩形区域沿y轴方向的高度,xfov和yfov用于表征用户视角在平面视频对应的坐标。
在一种情况下,用户视角当前在赤道区域时,确定在用户视野待显示的高清画面。从第一路分块高清流中,确定待显示的高清子块。具体地,遍历视频描述文件中第一视频块集合中高清子块。基于高清子块的左上角的顶点坐标(x1,y1)和尺寸(w1,h1)判断每个高清子块是否在FOV矩形区域内。
示例性,如图5a和图5b所示,如果x1大于maxx或y1大于maxy或x1+w1小于minx或y1+h1小于miny,则表示对应高清子块不在视角区域,反之表示对应块是可见的。将可见的子块(图5a和图5b中纯白色的子块)记为集合E,从流媒体服务器上,只下载集合E对应的高清子块。
在另一种情况下,用户视角当前在北极区域时,确定在用户视野待显示的高清画面。从第一路分块高清流中,确定待显示的高清子块(即第一目标子块)。具体地,遍历视频描述文件中第一视频块集合中赤道区域的高清子块。基于高清子块的顶点坐标(x1,y1)和尺寸(w1,h1)判断每个高清子块是否在FOV矩形区域内。
示例性,如图6a所示,如果x1大于maxx或y1大于maxy或x1+w1小于minx或y1+h1小于miny,则表示对应高清子块不在视角区域,反之表示对应块是可见的。将可见的子块(图6a中纯白色的子块)记为集合N1。
从第二路分块高清流中,确定待显示的高清子块(即第二目标子块)。具体地,遍历视频描述文件中第一视频块集合中北极区域的高清子块。判断每个高清子块是否在FOV矩形区域内。
示例性,如图6b所示,如果x1大于maxx或y1大于maxy或x1+w1小于minx或y1+h1小于miny,则表示对应高清子块不在视角区域,反之表示对应块是可见的。将可见的子块记为集合N2,同时直接选取北极圈范围的所有高清子块,记为集合N3。
如图6c所示,用户视野待显示的高清子块就对应集合N,N=N1∪N2∪N3。从流媒体服务器上,只下载集合N对应的高清子块。
在另一种情况下,用户视角当前在南极区域时,确定在用户视野待显示的高清画面。从第一路细粒度分块高清流中,确定待显示的高清子块(即第一目标子块)。具体地,遍历视频描述文件中第一视频块集合中赤道区域的高清子块,判断每个高清子块是否在FOV矩形区域内。
示例性,如图7a所示,如果x1大于maxx或y1大于maxy或x1+w1小于minx或y1+h1小于miny,则表示对应高清子块不在视角区域,反之表示对应块是可见的。将可见的子块记为集合S1。
从第二路粗粒度分块高清流中,确定待显示的高清子块(即第二目标子块)。具体地,遍历视频描述文件中第二视频块集合中南极区域的高清子块,判断每个高清子块是否在FOV矩形区域内。
示例性,如图7b所示,如果x1大于maxx或y1大于maxy或x1+w1小于minx或y1+h1小于miny,则表示对应高清子块不在视角区域,反之表示对应块是可见的。将可见的子块记为集合S2,直接选取南极圈范围的所有高清子块,记为集合S3。
如图7c所示,用户视野待显示的高清子块就对应集合S,N=S1∪S2∪S3。从流媒体服务器上,只下载集合S对应的高清子块。
步骤5:解码待显示的高清画面,并将其渲染到用户视野范围,覆盖低清画面。
在用户视角当前在赤道区域时,将下载到的子块,按视频描述文件中的位置拼接到一起,最终是一个矩形范围。在具体操作时,如果是基于H.265进行的编码,则修改SliceHeader和PPS中的参数以实现拼接。在用户视角当前在南极区域或北极区域时,高清子块的集合对应三个矩形范围(如图6c和图7c所示)。分别将下载到的子块,按视频描述文件中的位置拼接到一起,就是相邻的三个矩形条。解码拼接后的高清流,得到视野范围的高清画面。
根据视频描述文件中的坐标,将高清画面渲染到球体对应坐标位置,并覆盖低清画面。
需说明的是,用户视角切换时,按照上述步骤4重新确定待显示的高清子块,并按照上述步骤5展示新的高清画面。在具体实现时,如果用户在北极区域或者南极区域内视角切换,则北极圈或南极圈对应的高清流可以不做切换,以提升效率。
在本实施例中,用户观看VR视频时,基于用户视角实时确定FOV区域,仅下载FOV区域对应的子块,极大的节省了传输带宽的占用。在用户视角处于两端区域时,对于中间区域,从细粒度划分得到的第一视频块集合中确定对应的高清子块,对于两端区域,从粗粒度划分得到的第二视频块集合中确定对应的高清子块,使得越考虑球体模型两端的区域对应的子块面积更大,保证了两端区域视频的清晰度。同时,在用户视角处于中间区域时,由于该部分区域视频的拉伸较小,因此从细粒度划分得到的第一视频块集合中确定对应的高清子块,获取到的高清子块可以较好地显示该区域内的视频画面同时节省传输带宽。综上,通过上述方法,提升了FOV区域高清图像生成效率,实时给用户提供比例匀称的高清画面,同时降低高清视频带来的传输带宽。
参见图8,图8是本申请实施例提供的视频处理装置800的结构图。如图8所示,所述视频处理装置800包括:
生成模块801,用于生成平面视频的多个子块,所述多个子块包括位于所述平面视频的中间区域的多个第一子块和位于所述平面视频的边缘区域的多个第二子块,所述第一子块的面积小于所述第二子块的面积;
第一确定模块802,用于在用户视角的目标区域位于所述边缘区域时,从所述多个第一子块中确定第一目标子块,以及从所述多个第二子块中确定第二目标子块;所述第一目标子块包括与所述用户的场视角FOV区域至少部分重合的第一子块,所述第二目标子块包括与所述FOV区域至少部分重合的第二子块;
处理模块803,用于基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面。
可选地,所述第一确定模块802包括:
第一判断单元,用于对于所述多个第一子块中的每一个第一子块,判断所述第一子块与所述FOV区域是否存在重合区域;
第一确定单元,用于在所述第一子块与所述FOV区域存在重合区域的情况下,将所述第一子块确定为所述第一目标子块。
可选地,所述边缘区域包括第一子区域和第二子区域,所述第二子区域位于所述第一子区域远离所述中间区域的一侧;
所述第一确定模块802包括:
第二判断单元,用于对于所述多个第二子块中的每一个第二子块,判断所述第二子块与所述FOV区域是否存在重合区域;
第二确定单元,用于在所述第二子块与所述FOV区域存在重合区域的情况下,将所述第二子块确定为第二目标子块,以及将位于所述第二子区域的第二子块确定为所述第二目标子块。
可选地,所述生成模块801具体用于:
对平面视频进行均匀划分得到第一视频块集合,所述第一视频块集合包括位于所述中间区域的多个第一子块;以及对所述平面视频进行均匀划分得到第二视频块集合,所述第二视频块集合包括位于所述边缘区域的多个第二子块。
可选地,所述第一视频块集合还包括位于所述边缘区域的多个第一子块,所述视频处理装置800还包括:
第二确定模块,用于在所述用户视角位于所述中间区域的情况下,从所述中间区域的多个第一子块中确定第一目标子块,以及从位于所述边缘区域的多个第一子块中确定第二目标子块。
可选地,所述处理模块803包括:
第一获取单元,用于获取所述第一目标子块和所述第二目标子块;
拼接单元,用于将所述第一目标子块和所述第二目标子块进行拼接处理得到目标视频块;
第一渲染单元,用于将所述目标视频块渲染至球体模型,得到所述目标视频画面。
可选地,所述处理模块803还包括:
第二获取单元,用于获取目标视频文件,所述目标视频文件为经过压缩处理后的所述平面视频;
第二渲染单元,用于将所述目标视频文件渲染至所述球体模型,得到全景视频画面。
本申请实施例提供的视频处理装置800,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
如图9所示,本申请实施例还提供了一种电子设备,包括:存储器902、处理器901及存储在所述存储器902上并可在所述处理器901上运行的程序;所述处理器901,用于读取存储器902中的程序实现如前所述的视频处理方法中的步骤。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序,该程序被处理器执行时实现上述视频处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的可读存储介质,可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘((Magneto-Optical Disk,MO)等)、光学存储器(例如光盘(Compact Disk,CD)、数字视频光盘(DigitalVersatile Disc,DVD)、蓝光光碟(Blu-ray Disc,BD)、高清通用光盘(High-DefinitionVersatile Disc,HVD)等)、以及半导体存储器(例如只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM)、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk或Solid State Drive,SSD))等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。根据这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁盘、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种视频处理方法,其特征在于,包括:
生成平面视频的多个子块,所述多个子块包括位于所述平面视频的中间区域的多个第一子块和位于所述平面视频的边缘区域的多个第二子块,所述第一子块的面积小于所述第二子块的面积;
在用户视角的目标区域位于所述边缘区域时,从所述多个第一子块中确定第一目标子块,以及从所述多个第二子块中确定第二目标子块;所述第一目标子块包括与所述用户的场视角FOV区域至少部分重合的第一子块,所述第二目标子块包括与所述FOV区域至少部分重合的第二子块;
基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面。
2.根据权利要求1所述的方法,其特征在于,所述从所述多个第一子块中确定第一目标子块,包括:
对于所述多个第一子块中的每一个第一子块,判断所述第一子块与所述FOV区域是否存在重合区域;
在所述第一子块与所述FOV区域存在重合区域的情况下,将所述第一子块确定为所述第一目标子块。
3.根据权利要求1或2所述的方法,其特征在于,所述边缘区域包括第一子区域和第二子区域,所述第二子区域位于所述第一子区域远离所述中间区域的一侧;
所述从所述多个第二子块中确定第二目标子块,包括:
对于所述多个第二子块中的每一个第二子块,判断所述第二子块与所述FOV区域是否存在重合区域;
在所述第二子块与所述FOV区域存在重合区域的情况下,将所述第二子块确定为第二目标子块,以及将位于所述第二子区域的第二子块确定为所述第二目标子块。
4.根据权利要求1所述的方法,其特征在于,所述生成平面视频的多个子块,包括:
对平面视频进行均匀划分得到第一视频块集合,所述第一视频块集合包括位于所述中间区域的多个第一子块;以及对所述平面视频进行均匀划分得到第二视频块集合,所述第二视频块集合包括位于所述边缘区域的多个第二子块。
5.根据权利要求4所述的方法,其特征在于,所述第一视频块集合还包括位于所述边缘区域的多个第一子块,所述对平面视频进行均匀划分得到第一视频块集合之后,所述方法还包括:
在所述用户视角位于所述中间区域的情况下,从所述中间区域的多个第一子块中确定第一目标子块,以及从位于所述边缘区域的多个第一子块中确定第二目标子块。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面,包括:
获取所述第一目标子块和所述第二目标子块;
将所述第一目标子块和所述第二目标子块进行拼接处理得到目标视频块;
将所述目标视频块渲染至球体模型,得到所述目标视频画面。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标视频块渲染显示至球体,得到目标视频画面之前,所述方法还包括:
获取目标视频文件,所述目标视频文件为经过压缩处理后的所述平面视频;
将所述目标视频文件渲染至所述球体模型,得到全景视频画面。
8.一种视频处理装置,其特征在于,包括:
生成模块,用于生成平面视频的多个子块,所述多个子块包括位于所述平面视频的中间区域的多个第一子块和位于所述平面视频的边缘区域的多个第二子块,所述第一子块的面积小于所述第二子块的面积;
第一确定模块,用于在用户视角的目标区域位于所述边缘区域时,从所述多个第一子块中确定第一目标子块,以及从所述多个第二子块中确定第二目标子块;所述第一目标子块包括与所述用户的场视角FOV区域至少部分重合的第一子块,所述第二目标子块包括与所述FOV区域至少部分重合的第二子块;
处理模块,用于基于所述第一目标子块和所述第二目标子块获取并显示目标视频画面。
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至7中任一项所述的视频处理方法中的步骤。
10.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的视频处理方法中的步骤。
CN202311507008.2A 2023-11-13 2023-11-13 视频处理方法、装置、电子设备及可读存储介质 Pending CN117456145A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311507008.2A CN117456145A (zh) 2023-11-13 2023-11-13 视频处理方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311507008.2A CN117456145A (zh) 2023-11-13 2023-11-13 视频处理方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117456145A true CN117456145A (zh) 2024-01-26

Family

ID=89587272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311507008.2A Pending CN117456145A (zh) 2023-11-13 2023-11-13 视频处理方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117456145A (zh)

Similar Documents

Publication Publication Date Title
US11653065B2 (en) Content based stream splitting of video data
US10467775B1 (en) Identifying pixel locations using a transformation function
CN112204993B (zh) 使用重叠的被分区的分段的自适应全景视频流式传输
CN101689292B (zh) Banana多媒体数字信号编解码器
EP3249930A1 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US11138460B2 (en) Image processing method and apparatus
CA3018600C (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
CN107426491B (zh) 一种360度全景视频的实现方法
US11270413B2 (en) Playback apparatus and method, and generation apparatus and method
US20190266802A1 (en) Display of Visual Data with a Virtual Reality Headset
CN110933461B (zh) 图像处理方法、装置、***、网络设备、终端及存储介质
US10349055B1 (en) Image frame encoding based on projection space
CN114007059A (zh) 视频压缩方法、解压方法、装置、电子设备及存储介质
US10410376B1 (en) Virtual reality media content decoding of portions of image frames
CN117456145A (zh) 视频处理方法、装置、电子设备及可读存储介质
CN115604528A (zh) 鱼眼图像压缩、鱼眼视频流压缩以及全景视频生成方法
KR102658474B1 (ko) 가상 시점 합성을 위한 영상 부호화/복호화 방법 및 장치
KR101947799B1 (ko) 가상현실 콘텐츠 서비스를 위한 360도 vr 어안 렌더링 방법
US10848734B1 (en) Image frame encoding based on projection space seam
CN111698513A (zh) 图像采集方法、显示方法、装置、电子设备及存储介质

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