CN108780567A - 用于表示虚拟现实视频内容的截顶正方形金字塔几何结构和帧打包结构 - Google Patents

用于表示虚拟现实视频内容的截顶正方形金字塔几何结构和帧打包结构 Download PDF

Info

Publication number
CN108780567A
CN108780567A CN201780016844.7A CN201780016844A CN108780567A CN 108780567 A CN108780567 A CN 108780567A CN 201780016844 A CN201780016844 A CN 201780016844A CN 108780567 A CN108780567 A CN 108780567A
Authority
CN
China
Prior art keywords
video data
plane
frame
square pyramid
mapped
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.)
Granted
Application number
CN201780016844.7A
Other languages
English (en)
Other versions
CN108780567B (zh
Inventor
G·范德奥维拉
M·科班
M·卡切维奇
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN108780567A publication Critical patent/CN108780567A/zh
Application granted granted Critical
Publication of CN108780567B publication Critical patent/CN108780567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/067Reshaping or unfolding 3D tree structures onto 2D planes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • 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
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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/20004Adaptive image processing
    • G06T2207/20008Globally adaptive
    • 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/20024Filtering details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/006Pseudo-stereoscopic systems, i.e. systems wherein a stereoscopic effect is obtained without sending different images to the viewer's eyes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

描述用于将360度视频数据映射到截顶正方形金字塔形状的技术和系统。360度视频帧可包含360度的像素数据量,且因此呈球形形状。通过将所述球形视频数据映射到截顶正方形金字塔所提供的平面,可减小所述360度视频帧的总大小。所述截顶正方形金字塔的所述平面可经定向成使得所述截顶正方形金字塔的基底表示前视图且所述截顶正方形金字塔的顶部表示后视图。以此方式,可以全分辨率捕获前视图,可以降低的分辨率捕获后视图,且可以降低的分辨率捕获左视图、右视图、上视图和底视图。还可针对已映射到截顶正方形金字塔形状的360度视频数据限定帧打包结构。

Description

用于表示虚拟现实视频内容的截顶正方形金字塔几何结构和 帧打包结构
背景技术
虚拟现实(VR)描述一种三维的、计算机生成的环境,可以看似真实或物理方式与其进行交互。通常,体验虚拟现实环境的用户可以向左或向右转,向上或向下看,和/或向前和向后移动,从而改变她对虚拟环境的视点。呈现给用户的360度视频可以相应地改变,使得用户的体验与现实世界中的尽可能一样。虚拟现实视频可以非常高的质量捕获和呈现,从而可能提供真正身临其境的虚拟现实体验。
为了提供顺畅的360度视图,由360度视频捕获系统捕获的视频通常经历图像拼接。在360度视频生成的状况下的图像拼接涉及在视频帧重叠或以其它方式连接的区域中组合或合并来自邻近相机的视频帧。结果将是近似球形的帧。然而,类似于墨卡托(Mercator)投影,合并数据通常以平面方式呈现。举例来说,合并视频帧中的像素可以被映射到立方体形状的平面上,或者某一其它三维平面形状(例如,金字塔、八面体、十面体等)上。视频捕获和视频显示装置大体上以光栅原理操作—意指视频帧经处理为像素的栅格—因此正方形或矩形平面通常用以表示球形环境。
发明内容
在各种实施方案中,描述用于将360度视频数据映射到截顶正方形金字塔形状的技术和系统。截顶正方形金字塔是已切掉其顶部的正方形金字塔。截顶正方形金字塔因此具有正方形基底、正方形顶部和四个梯形形状的侧面。360度视频帧可包含360度的像素数据量,且因此呈球形形状。通过将所述球形视频数据映射到由截顶正方形金字塔提供的平面,可减小360度视频帧的总大小,而仅牺牲观看者视场的边缘处的一些保真度。所述截顶正方形金字塔的所述平面可经定向成使得所述截顶正方形金字塔的基底表示前视图且所述截顶正方形金字塔的顶部表示后视图。以此方式,可以全分辨率捕获前视图,可以降低的分辨率捕获后视图,且可以降低的分辨率捕获左视图、右视图、上视图和底视图。
在各种实施方案中,还可针对已映射到截顶正方形金字塔形状视频数据限定帧打包结构。帧打包结构可生产呈矩形形状的数据块,其可能比非矩形数据块更容易存储和传输。帧打包结构可以全分辨率存储由截顶正方形金字塔形状提供的前视图,且以紧凑布置围绕后视图打包左视图、右视图、上视图和底视图。在各种实施方案中,限定在何处存储视频数据的比率可用以将视频数据从立方体形状的表示直接映射到帧打包结构中。在各种实施方案中,这些比率可经进一步调整以改变后视图、左视图、右视图、上视图和底视图的分辨率,和/或改变由前视图捕获的视场。
根据至少一个实例,提供用于对视频数据进行编码的方法。在各种实施方案中,方法包含获得虚拟现实视频数据。现实视频数据可表示虚拟环境的360度视图。虚拟现实视频数据可包含多个帧。来自多个帧的每一帧可包含对应球形视频数据。方法进一步包含将用于来自多个帧的帧的球形视频数据映射到截顶正方形金字塔的平面上。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。映射球形视频数据可包含将球形视频数据的第一部分以全分辨率映射到基底平面上。映射球形视频数据可进一步包含将球形视频数据的第二部分以降低的分辨率映射到顶部平面上。映射球形视频数据可进一步包含将球形视频数据的第三部分以降低的分辨率映射到左侧平面上。映射球形视频数据可进一步包含将球形视频数据的第四部分以降低的分辨率映射到右侧平面上。映射球形视频数据可进一步包含将球形视频数据的第五部分以降低的分辨率映射到上侧平面上。映射球形视频数据可进一步包含将球形视频数据的第六部分以降低的分辨率映射到底侧平面上。
在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。处理器经配置以且可获得虚拟现实视频数据。现实视频数据可表示虚拟环境的360度视图。虚拟现实视频数据可包含多个帧。来自多个帧的每一帧可包含对应球形视频数据。处理器经配置以且可进一步将用于来自多个帧的帧的球形视频数据映射到截顶正方形金字塔的平面上。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。映射球形视频数据可包含将球形视频数据的第一部分以全分辨率映射到基底平面上。映射球形视频数据可进一步包含将球形视频数据的第二部分以降低的分辨率映射到顶部平面上。映射球形视频数据可进一步包含将球形视频数据的第三部分以降低的分辨率映射到左侧平面上。映射球形视频数据可进一步包含将球形视频数据的第四部分以降低的分辨率映射到右侧平面上。映射球形视频数据可进一步包含将球形视频数据的第五部分以降低的分辨率映射到上侧平面上。映射球形视频数据可进一步包含将球形视频数据的第六部分以降低的分辨率映射到底侧平面上。
在另一实例中,提供一种计算机可读媒体,在其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:获得虚拟现实视频数据。现实视频数据可表示虚拟环境的360度视图。虚拟现实视频数据可包含多个帧。来自多个帧的每一帧可包含对应球形视频数据。方法进一步包含将用于来自多个帧的帧的球形视频数据映射到截顶正方形金字塔的平面上。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。映射球形视频数据可包含将球形视频数据的第一部分以全分辨率映射到基底平面上。映射球形视频数据可进一步包含将球形视频数据的第二部分以降低的分辨率映射到顶部平面上。映射球形视频数据可进一步包含将球形视频数据的第三部分以降低的分辨率映射到左侧平面上。映射球形视频数据可进一步包含将球形视频数据的第四部分以降低的分辨率映射到右侧平面上。映射球形视频数据可进一步包含将球形视频数据的第五部分以降低的分辨率映射到上侧平面上。映射球形视频数据可进一步包含将球形视频数据的第六部分以降低的分辨率映射到底侧平面上。
在另一实例中,提供一种设备,其包含用于对视频数据进行编码的装置。设备进一步包括用于获得虚拟现实视频数据的装置。现实视频数据可表示虚拟环境的360度视图。虚拟现实视频数据可包含多个帧。来自多个帧的每一帧可包含对应球形视频数据。设备进一步包括用于将用于来自多个帧的帧的球形视频数据映射到截顶正方形金字塔的平面上的装置。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。映射球形视频数据可包含将球形视频数据的第一部分以全分辨率映射到基底平面上。映射球形视频数据可进一步包含将球形视频数据的第二部分以降低的分辨率映射到顶部平面上。映射球形视频数据可进一步包含将球形视频数据的第三部分以降低的分辨率映射到左侧平面上。映射球形视频数据可进一步包含将球形视频数据的第四部分以降低的分辨率映射到右侧平面上。映射球形视频数据可进一步包含将球形视频数据的第五部分以降低的分辨率映射到上侧平面上。映射球形视频数据可进一步包含将球形视频数据的第六部分以降低的分辨率映射到底侧平面上。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括将球形视频数据打包成矩形格式。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括将球形视频数据打包到打包结构中。在各种方面中,打包球形视频数据可包含在第一数据块中围绕第二部分打包球形视频数据的第三部分、第四部分、第五部分和第六部分。打包球形视频数据可包含将第一部分打包到第二数据块中。打包球形视频数据可进一步包含将第一数据块和第二数据块打包到打包结构中。第一数据块可经定位成在打包结构中紧靠第二数据块。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括将用于帧的视频数据打包到打包结构中。在各种方面中,打包球形视频数据可包含到第一数据块中围绕映射到顶部平面的视频数据的第一半部打包映射到左侧平面的视频数据的第一半部、映射到右侧平面的视频的第一半部、映射到上侧平面的视频数据的第一半部和映射到底侧平面的视频数据的第一半部中的每一个。打包球形视频数据可进一步包含围绕映射到顶部平面的视频数据的第二半部将映射到左侧平面的视频数据的第二半部、映射到右侧平面的视频的第二半部、映射到上侧平面的视频数据的第二半部和映射到底侧平面的视频数据的第二半部中的每一个打包到第二数据块中。打包球形视频数据可进一步包含将映射到基底平面的视频数据打包到第三数据块中。打包球形视频数据可进一步包含将第一数据块、第二数据块和第三数据块打包到打包结构中。第一数据块和第二数据块可经定位成在打包结构中紧靠第三数据块。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括发射来自多个帧的第一帧。用于第一帧的视频数据可映射到第一截顶正方形金字塔的平面。各个方面进一步包含发射来自多个帧的第二帧。用于第二帧的视频数据可映射到第二截顶正方形金字塔的平面。第二截顶正方形金字塔可相对于第一截顶正方形金字塔旋转。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括将用于帧的球形视频数据映射到立方体的面上。立方体的面包含前面、左面、右面、后面、上面和底面。在这些方面中,映射球形视频数据可进一步包含将视频数据从立方体的面映射到截顶正方形金字塔的平面。
在一些方面中,截顶正方形金字塔进一步包含邻近于左侧平面的矩形左侧平面、邻近于右侧平面的矩形右侧平面、邻近于上侧平面的矩形上侧平面和邻近于底侧平面的矩形底侧平面。在这些方面中,映射球形视频数据进一步包含将球形视频数据的第七部分以全分辨率映射到矩形左侧平面上,将球形视频数据的第八部分以全分辨率映射到矩形右侧平面上,将球形视频数据的第九部分以全分辨率映射到矩形上侧平面上,以及将球形视频数据的第十部分以全分辨率映射到矩形底侧平面上。
在一些方面中,映射球形视频数据可包含选择来自球形视频数据的视频数据,且定位所选视频数据在来自截顶正方形金字塔的平面的对应平面上的位置。
在一些方面中,映射球形视频数据可包含选择来自球形视频数据的视频数据,对所选视频数据减少取样,定位减少取样的视频数据在来自截顶正方形金字塔的平面的对应平面上的位置。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括限定截顶正方形金字塔的几何结构类型。几何结构类型可识别用于将球形视频数据映射成文件格式的几何形状。各个方面进一步包含限定截顶正方形金字塔的高度且限定截顶正方形金字塔的后宽度。后宽度可与顶部平面相关联。各个方面进一步包含限定截顶正方形金字塔的后高度。后高度可与顶部平面相关联。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括限定表面识别符。表面识别符可识别截顶正方形金字塔的平面。各个方面进一步包含限定截顶正方形金字塔的每一平面的左上水平坐标。左上水平坐标可指示打包结构内平面的左上角的水平位置。打包结构可用以将球形视频数据映射文件格式。各个方面进一步包含限定截顶正方形金字塔的每一平面的左上竖直坐标。左上竖直坐标可指示打包结构内平面的左上角的竖直坐标。各个方面进一步包含限定截顶正方形金字塔的每一平面的区域宽度。区域宽度可与平面的宽度相关联。各个方面进一步包含限定截顶正方形金字塔的每一平面的区域高度。区域高度可与平面的高度相关联。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括限定截顶正方形金字塔的虚拟现实(VR)映射类型。VR映射类型可指示用于将球形视频数据映射成矩形格式的映射类型。截顶正方形金字塔的VR映射类型可与视频信息盒相关联。
在各种方面中,视频信息盒包含:深度,指示截顶正方形金字塔的深度;后宽度,指示顶部平面的宽度;后高度,指示顶部平面的高度;区识别符,识别来自截顶正方形金字塔的平面的平面;中心俯仰,指示呈现球形视频数据的中心像素的点的坐标的俯仰角;中心侧转,指示呈现球形视频数据的中心像素的点的坐标的侧转角;中心俯仰偏移,指示呈现球形视频数据的中心像素的点的坐标的俯仰角的偏移值;中心侧转偏移,指示呈现球形视频数据的中心像素的点的坐标的侧转角的偏移值;左上水平坐标,指示平面的左上角的水平坐标;左上竖直坐标,指示平面的左上角的竖直坐标;区宽度,指示平面的宽度;以及区高度,指示平面的高度。
根据至少一个实例,提供一种用于对视频数据进行解码的方法。在各种实施方案中,方法包含获得虚拟现实视频数据的帧。虚拟现实视频数据可表示虚拟环境的360度视图。帧可具有矩形格式。方法进一步包含识别用于帧的帧打包结构。帧打包结构可提供视频数据在帧中的位置。帧打包结构可包含截顶正方形金字塔的平面。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。方法可进一步包含使用帧打包结构显示帧。
在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。处理器经配置以且可获得虚拟现实视频数据的帧。虚拟现实视频数据可表示虚拟环境的360度视图。帧可具有矩形格式。处理器经配置以且可识别用于帧的帧打包结构。帧打包结构可提供视频数据在帧中的位置。帧打包结构可包含截顶正方形金字塔的平面。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。过程经配置以且可使用帧打包结构显示帧。
在另一实例中,提供一种计算机可读媒体,在其上存储有指令,所述指令在由处理器执行时执行方法,所述方法包含:获得虚拟现实视频数据的帧。虚拟现实视频数据可表示虚拟环境的360度视图。帧可具有矩形格式。方法进一步包含识别用于帧的帧打包结构。帧打包结构可提供视频数据在帧中的位置。帧打包结构可包含截顶正方形金字塔的平面。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。方法可进一步包含使用帧打包结构显示帧。
在另一实例中,提供一种设备,其包含用于对视频数据进行解码的装置。设备进一步包括用于获得虚拟现实视频数据的帧的装置。虚拟现实视频数据可表示虚拟环境的360度视图。帧可具有矩形格式。设备进一步包括用于识别用于帧的帧打包结构的装置。帧打包结构可提供视频数据在帧中的位置。帧打包结构可包含截顶正方形金字塔的平面。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。设备进一步包括用于使用帧打包结构显示帧的装置。
在一些方面中,显示帧包含提供帧中视频数据的第一部分作为前视图。视频数据的第一部分可对应于基底平面。视频数据的第一部分可处于全分辨率。各个方面进一步包含提供帧中视频数据的第二部分作为后视图。视频数据的第二部分可对应于顶部平面。视频数据的第二部分可处于降低的分辨率。各个方面进一步包含提供帧中视频数据的第三部分作为左视图。视频数据的第三部分可对应于左侧平面。视频数据的第三部分可处于降低的分辨率。各个方面进一步包含提供帧中视频数据的第四部分作为右视图。视频数据的第四部分可对应于右侧平面。视频数据的第四部分可处于降低的分辨率。各个方面进一步包含提供帧中视频数据的第五部分作为俯视图。视频数据的第五部分可对应于上侧平面。视频数据的第五部分可处于降低的分辨率。各个方面进一步包含提供帧中视频数据的第六部分作为底视图。视频数据的第六部分可对应于底侧平面。视频数据的第六部分可处于降低的分辨率。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括接收虚拟现实数据的第二帧。第二帧可相对于帧旋转。各个方面进一步包含使用帧打包结构显示第二帧。
在一些方面中,帧打包结构进一步包含邻近于左侧平面的矩形左侧平面、邻近于右侧平面的矩形右侧平面、邻近于上侧平面的矩形上侧平面和邻近于底侧平面的矩形底侧平面。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括确定用于帧的几何结构类型。几何结构类型识别用于将虚拟现实视频数据映射成文件格式的几何形状。各个方面进一步包含基于几何结构类型从截顶正方形金字塔确定高度。各个方面进一步包含使用几何结构类型确定截顶正方形金字塔的后宽度。后宽度可与顶部平面相关联。各个方面进一步包含使用几何结构类型确定截顶正方形金字塔的后高度。后高度可与顶部平面相关联。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括识别虚拟现实(VR)映射类型。VR映射类型可指示用于将虚拟现实视频数据映射成矩形格式的映射类型。VR映射类型可识别截顶正方形金字塔。VR映射类型可与视频信息盒相关联。
本发明内容并非意图识别所要求的主题的关键特征或基本特征,也并非意图单独用于确定所要求的主题的范围。主题应参考此专利的整个说明书的适当部分、任何或所有图式以及每一权利要求来理解。
在参考以下说明书、权利要求书以及附图之后,前述内容连同其它特征和实施例将变得更显而易见。
附图说明
下文参考以下图式详细描述本发明的说明性实施例:
图1说明包含由虚拟现实视频捕获装置捕获的由球形表示的虚拟环境的实例;
图2A说明可用以将呈虚拟现实环境的球形表示的像素映射成球形展开平面表示的参考坐标系;
图2B说明已映射到球形展开平面的视频帧的实例;
图3说明已映射到截顶正方形金字塔形状的视频数据帧的帧打包结构的实例;
图4说明可用以将视频数据存储到可经存储和传输的数据块中的帧打包结构的另一实例;
图5说明已根据图3中说明的实例帧打包结构打包的帧的实例;
图6说明已根据图4中说明的实例帧打包结构打包的视频帧的实例;
图7说明提供在已根据截顶正方形金字塔几何结构打包视频帧时所看到的质量度量的实例的曲线图;
图8说明可用以将360度视频数据的立方体形的表示的面映射到视频数据的截顶正方形金字塔表示的帧打包结构中的比率的实例;
图9A到图9D说明从360度视频帧的各种不同映射得到的帧大小之间的比较;
图10A和图10B说明截顶正方形金字塔几何结构的纹理区与面之间的对应关系。
图11A到图11F说明截顶正方形金字塔几何结构的每一区的位置、宽度和高度。
图12说明将立方体的平面映射到截顶正方形金字塔的平面的另一实例;
图13说明用于经修改截顶正方形金字塔映射的帧打包结构的实例;
图14说明用于经修改截顶正方形金字塔映射的帧打包结构的另一实例;
图15说明在其中为了增大视场使用保存后视图的分辨率的较大帧打包结构的实例;
图16说明用于将360度视频帧映射到本文中所描述的截顶正方形金字塔的平面的过程的实例;
图17说明用于对虚拟现实视频的帧进行解码的过程的实例,其中已使用截顶正方形金字塔形状将用于帧的视频数据打包到帧中;
图18说明用于在360度虚拟环境中映射像素的另一实例形状;
图19说明用于图18中说明的金字塔形状的帧打包结构的实例;
图20是说明实例编码装置的框图;以及
图21是说明实例解码装置的框图。
具体实施方式
下文提供了本公开的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施例中的一些可独立地应用且它们中的一些可组合应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在无这些特定细节的情况下实践各种实施例。图式和描述并不意欲是限制性的。
以下描述仅提供示例性实施例,且并不意图限制本公开的范围、适用性或配置。实际上,示范性实施例的以下描述将为所属领域的技术人员提供用于实施示例性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的技术人员应理解,所述实施例可以在没有这些特定细节的情况下加以实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式展示为组件,以免以不必要的细节混淆实施例。在其它情况下,可以在没有不必要的细节的情况下展示众所周知的电路、过程、算法、结构以及技术以免混淆实施例。
此外,应注意,个别实施例可描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。尽管流程图可将操作描述为连续过程,但许多操作可并行或同时执行。另外,可重新布置操作的次序。过程在其操作完成时终止,但可具有不包含在图中的额外步骤。过程可以对应于方法、函数、步骤、子例程、子程序等。当过程对应于函数时,其终止对应于所述函数返回到调用函数或主函数。
术语“计算机可读媒体”包含但不限于便携式或非便携式存储装置、光学存储装置以及能够存储、包含或运载指令和/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,在非暂时性媒体中可存储数据,且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含但不限于磁盘或磁带、光学存储媒体,例如光盘(CD)或数字通用光盘(DVD)、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储在其上的可表示程序、函数、子程序、程序、例程、子例程、模块、软件包、类别的代码和/或机器可执行指令,或指令、数据结构或程序语句的任何组合。一个代码段可通过传递及/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络发射等等的任何合适的装置传递、转发或发射。
此外,实施例可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读媒体中。处理器可以执行必要任务。
虚拟现实(VR)描述一种三维的、计算机生成的环境,可以看似真实或物理方式与其进行交互。通常,体验虚拟现实环境的用户使用电子设备,例如头戴式显示器(HMD)和任选地还有配备有传感器的手套,以与虚拟环境交互。当用户在现实世界中移动时,在虚拟环境中呈现的图像也会改变,从而给用户提供她在虚拟环境中移动的效果。在一些状况下,虚拟环境包含与用户的移动相关的声音,从而给用户提供声音源自特定方向或来源的效果。虚拟现实视频可以非常高的质量捕获和呈现,从而可能提供真正身临其境的虚拟现实体验。虚拟现实应用包含游戏、培训、教育、体育视频和在线购物等。
虚拟现实系统通常包含视频捕获装置和视频显示装置,且可能还包含其它中间装置,例如服务器、数据存储装置和数据发射设备。视频捕获装置可包含相机组,即,一组多个相机,每一相机定向在不同的方向上且捕获不同的视图。只需六个相机即可捕捉以相机组位置为中心的360度全景视图。一些视频捕获装置可以使用更少的相机,例如主要捕获边到边视图的视频捕获装置。视频大体上包含帧,其中帧是场景的电子译码的静态图像。相机每秒捕获一定数量的帧,这通常被称为相机的帧速率。
为了提供顺畅的360度视图,由相机组中的每一个相机所捕获的视频通常经历图像拼接。在360度视频生成的状况下的图像拼接涉及在视频帧重叠或以其它方式连接的区域中组合或合并来自邻近相机的视频帧。结果将是近似球形的帧,但是类似于墨卡托投影,合并的数据通常以平面方式表示。举例来说,合并视频帧中的像素可以被映射到立方体形状的平面上,或者某一其它三维平面形状(例如,金字塔、八面体、十面体等)上。视频捕获和视频显示装置大体上以光栅原理操作—意指视频帧经处理为像素的栅格—因此正方形或矩形平面通常用以表示球形环境。
映射到平面表示的虚拟现实视频帧可以经编码和/或压缩以用于存储和/或发射。可使用视频编解码器(例如,MPEG编解码器、H.265/HEVC编解码器、H.264/AVC编解码器或其它合适的编解码器)来实现编码和/或压缩,且产生经压缩的视频比特流或比特流组。下文进一步详细描述使用视频编解码器对视频数据进行编码。
经编码视频比特流可以媒体格式存储和/或囊封。所存储的比特流可例如经由网络发射到视频显示装置。举例来说,虚拟现实系统可(例如,使用国际标准组织(ISO)基础媒体文件格式和/或所导出文件格式)从经编码视频数据生成囊封文件。举例来说,视频编解码器可对视频数据进行编码且囊封发动机可通过将视频数据囊封在一或多个ISO格式媒体文件中来生成媒体文件。替代地或另外,可将所存储的比特流直接从存储媒体提供到接收器装置。
接收器装置还可实施编解码器以对经编码视频比特流进行解码和/或解压缩。在一些情况下,接收器装置可使用囊封的视频数据解析媒体文件以生成经编码视频数据。举例来说,接收器装置可使用囊封的视频数据解析媒体文件以生成经编码视频数据,且接收器装置中的编解码器可对经编码视频数据进行解码。
接收器装置可接着将经解码视频信号发送到呈现装置(例如,视频显示装置)。呈现装置包含例如头戴式显示器、虚拟现实电视和其它180或360度显示装置。通常,头戴式显示器能够追踪穿戴者的头部的移动和/或穿戴者的眼部的移动。头戴式显示器可使用追踪信息来呈现对应于穿戴者正在观看的方向的360度视频的部分,使得穿戴者以与她体验现实世界的相同方式体验虚拟环境。呈现装置可以捕获视频的相同帧速率或以不同的帧速率呈现视频。
为了向观看者提供身临其境的体验,以高质量分辨率和高帧速率生成虚拟现实视频内容(也称为360度视频内容)。然而,以高分辨率和高帧速率捕获的视频可能需要大量数据。人类视觉系统可以区分多达每度60个像素的视场(FOV),且普通人可以在所有方向上看到近180度。表1提供若干显示装置、每一装置提供的大致视场、每一装置的实例分辨率以及每一装置提供360度视频体验所需的等效分辨率的实例。
表1
装置 屏幕大小 FOV 分辨率 ppi 360度视频分辨率(2D)
TV 40"diag.(16:9) ~30° 1920x1080 48 7680x 2160
iPhone 6S+ 5.5"diag.(16:9) ~30° 1920x1080 400 7680x 2160
HMD 2.5"x 2.5"/眼睛(1:1) ~90° 5400x5400 2160 21600x 10800
如表1中所提及,可具有1920像素宽×1080像素高的分辨率且使用48像素每英寸(ppi)的现代40"电视可提供对普通观看者来说足够逼真的图片,但限于约30°视场。将48ppi电视扩展到360度视频分辨率将需要将分辨率大小扩展到7680×2160像素宽和高(假设视频以90度视场显示在电视上)。由于此图片是其八倍,因此其还将需要另外八倍的数据来表示每一视频帧。相比之下,头戴式显示器可以具有每只眼睛2.5"×2.5"的屏幕,但每一屏幕在2160ppi下可具有5400×5400的分辨率。将此头戴式显示器分辨率扩展到360度视频分辨率将需要21600×10800像素高和宽的分辨率和对应地每帧大量比特。
视频内容常常经发射到例如家庭电视接收器、计算机、平板电脑、手持型装置或其它显示装置。视频内容通常还存储在服务器上或在数据中心中,从中可以将视频内容发射到显示装置。归因于虚拟现实视频内容的高分辨率和高帧率,虚拟现实视频的存储和发射需要有效地呈现视频内容。另外,一些解码装置可能需要将视频帧限于特定大小。举例来说,一些解码器需要一个视频帧的分辨率的大小不超过1920×1080或3840×2160像素。
一种解决方案是将全360度内容发射给观看者。在此状况下,所有可能的视口可供观看者同时使用,即使当观看者面朝特定方向时。观看者面朝的方向通常被称作视口,且观看者可从此视口看见的内容通常被称作视场。然而,为了为观看者提供全360度视频内容,可能需要大量数据,所述大量数据可能超过解码器装置可有效发射或解码的数据。另外,全360度视频可为观看者提供比观看者在任何给定时刻可看见的更多的视频。
另一解决方案是限制发射到观看者的当前视口的内容的内容。在观看者的头部位置改变后,可发射不同视口的内容。为了避免视口之间的间隙,可向观看者同时发射一或多个额外视口的内容。此替代方案可减少发射带宽,但是间隙填充视口可具有较低质量、较低分辨率和/或较低帧速率,这对于一些观看者来说可能是显而易见的。
图1中说明另一解决方案。图1说明包含由虚拟现实视频捕获装置捕获的像素的由球形100表示的虚拟环境的实例。在此实例中,球形100中的像素已映射到由立方体形状110的六个面提供的六个面上,其中六个面已指定为前112、左114、右116、后118、上120和底122。名称描述观看者在观看特定视频帧时正在观看的方向。在各种实施方案中,其它三维形状可用以表示球形帧数据。在此实例中,六个面表示全帧视频;也就是说,呈现所有360度视图,且立方体110的边缘处具有最小保真度损失。
如上文所论述且在下文进一步详细论述,全帧视频可含有大量数据。另外,全帧视频可包含比观看者可在任何给定时刻看见的更多数据。因此,在各种实施方案中,由图1的立方体110提供的六个面可映射到由截顶正方形金字塔形状130提供的六个面。截顶正方形金字塔是一种金字塔,其具有正方形基底且具有垂直于基底的切掉的其顶部。在数学上,截顶正方形金字塔被描述为正方形金字塔的金字塔形平截头体。
在此实例中,截顶正方形金字塔130的基底132经定向成与已指定为前112的立方体110的侧对准,使得表示立方体110的前112的平面可映射到由截顶正方形金字塔130的基底132表示的平面上。此外,表示立方体的后118的平面可映射到表示截顶正方形金字塔130的顶部138的平面上,立方体110的左114、右116、上120和底122平面中的每一个可映射到表示截顶正方形金字塔130的侧的对应平面上。
虽然截顶正方形金字塔130的基底132平面可包含与立方体110的前112平面一样多的数据,但是截顶正方形金字塔130的顶138平面可能包含比立方体110的后118平面少得多的数据。由于前112视图是观看者正在观看的方向,因此应保存全帧数据,但观看者不大可能能够看见后118视图,由此可为后118视图存储更少的数据。然而,如下文所进一步论述,后118视图未完全消除,使得例如视图中的过渡可更平滑。
由于它们的梯形形状,截顶正方形金字塔130的左侧134、右侧136、上侧140和底侧142平面中的每一个也可能包含比由立方体形状110提供的相应平面更少的数据。在前112视图的方向上保存更多数据,而在后118视图的方向上保存更少的数据。使用截顶正方形金字塔130形状作为用于映射球形帧数据的基础,从而可能在全帧表示上减小视频帧的大小。通常,可通过改变截顶正方形金字塔130的尺寸,例如通过增大或缩小截顶正方形金字塔130的顶138平面的大小来调整大小减小。
将来自立方体110形状的正方形平面数据映射到由截顶正方形金字塔130提供的平面上可以使用压缩、滤波和/或减少取样方法来实现。举例来说,截顶正方形金字塔130的顶138平面可包含与立方体110的后118平面相同的视图,但具有较低分辨率或质量。类似地,截顶正方形金字塔130的左134、右136、上140和底142平面还包含与立方体110的对应平面相同的视图,但具有降低的分辨率。具体来说,分辨率或质量可以降低,其中最高分辨率在截顶正方形金字塔的基底132的方向上,且最低分辨率朝向截顶正方形金字塔130的顶138。减少取样可以渐变的方式应用,例如从左侧134、右侧136、上侧140和底部142平面的梯形形状的基底边缘向顶部边缘减小。
在一些实施方案中,可为由虚拟环境的立方体形状表示提供的六个视图中的每一个提供一个截顶正方形金字塔映射。举例来说,在图1的实例中,截顶正方形金字塔130已定向成使得截顶正方形金字塔的基底132定向成朝向立方体110的前112面。此定向假设在此实例中观看者正在观看指定为前112的方向。如上文所论述,可使用由截顶正方形金字塔130的面提供的平面确定视频帧数据的映射。在此定向中,截顶正方形金字塔130产生映射,其中前112具有最高质量,且后118视图具有最低质量。
截顶正方形金字塔130还可经定向成使得基底132定向成朝向立方体110的左114面。此定向假设在此实例中观看者正在观看指定为左114的方向。可在此方向上确定相同视频帧数据的映射,从而产生映射,其中左114视图具有最高质量且右116视图具有最低质量。
可利用截顶正方形金字塔130获得类似的映射,使得基底132定向成朝向右116视图、后118视图、上120视图和底122视图,使得获得360度视频数据的相同帧的总共六个映射。具有六个映射能够使视频数据为给定视频帧提供最高可用质量,无论观看者正在观看哪个方向。
在各种实施方案中,可使用多于或少于六个映射。举例来说,在一些实施方案中,一个视频帧可映射到仅前112视图,或仅前112、左114和右116视图。在一些实施方案中,用于给定视频帧的数个映射可经调谐到视频帧的内容。举例来说,在一些状况下,可假设观看者可能从不上下观看。作为另一实例,在一些实施方案中,可使用重叠映射。举例来说,可确定映射,其中截顶正方形金字塔130的基底132在前112与左114视图之间以45度角定向。在这些实施方案中,可获得球形数据的较好表示。
截顶正方形金字塔映射还用以将需要在任何给定时刻提供给观看者的数据量降到最低。举例来说,发射装置可将一个截顶正方形金字塔映射提供给观看者,其中截顶正方形金字塔映射对应于观看者当前正在观看的方向。当观看者向左转动她的头部时,发射装置可切换到第二截顶正方形金字塔映射(例如,朝向左视图定向的一个)。如果第二截顶正方形金字塔映射的发射延迟(例如,归因于网络延迟、帧内周期或处于某一其它原因),那么可为观看者呈现第一截顶正方形金字塔映射,直到第二截顶正方形金字塔可用为止。取决于观看者的头部位置和截顶正方形金字塔映射,观看者可能经历较低质量,直到接收到第二截顶正方形金字塔映射为止。
图2A说明可用以将呈虚拟现实环境的球形表示的像素映射成球形展开平面表示的参考坐标系。在一些实施方案中,球形数据的展开平面表示可用于将数据映射到由截顶正方形金字塔的面提供的平面。
在此实例中,提供视频像素的球形200具有x轴、y轴和z轴,其可用以表示球形200的表面上的三维坐标。出于此实例的目的,平面210以x轴与球形200的表面(用圆圈202标记)相交的点为中心,且定向成垂直于x轴。鉴于此布置,可使用以下等式将来自图2A的球形200的像素映射到平面210:
在上文中,θ204的等式可经形象化为球形200的中心与平面210的表面之间的线208(例如,图2A中的虚线208),其中线208从θ=-π旋转到π(例如,大约-3.1415到3.1415),x轴是θ=0。在θ204的任何给定值下,可选择线208与球形200相交的点处的像素且将其映射到线208接触平面210的对应点(对于相同的θ204的值)。类似地,206的等式可经形象化为从球形200的中心到平面210的表面的线210,其中线210从-π/2旋转到π/2(例如,大约-1.57到1.57),由x和y轴形成的平面为的任何给定值下,可选择线210与球形200相交的点处的像素且将其映射到线210接触平面210的对应点(对于相同的的值)。可通过同时旋转θ和来将球形200中的所有像素映射到平面210。
图2B说明已使用上文所描述的等式和方法映射到展开平面的视频帧的实例。结果例如类似于墨卡托投影或等距圆柱形投影。如此实例中所说明,上文θ204的等式提供从球形到平面的水平平移,且的等式提供竖直平移。图2B还说明全视频帧的实例,其中已以平面表示捕获来自世界的球形表示的每一像素。
如上文所提及,以高分辨率捕获的虚拟现实视频的全帧可包含大量数据,并非在给定时刻可能需要所有数据。还如上文所提及,将视频数据的立方体形状表示映射到截顶正方形金字塔形状可将数据量减少到可能更容易存储和传输的量。图3说明已映射到截顶正方形金字塔形状的视频数据帧的帧打包结构300的实例。帧打包结构可限定用于将用于视频帧的数据打包到可由视频解码器存储、传输和处理的单个数据块中的格式。也就是说,帧打包结构可指示哪个数据应位于数据块中的哪个点处。在各种实施方案中,例如在图3中说明的根据帧打包结构打包的帧可包含指示帧中使用的打包结构的信息(例如,标志、场和/或代码)。解码装置可使用所指示的打包结构来识别位于数据块中表示帧的特定点处的视频数据。
如上文所论述,截顶正方形金字塔具有基底平面、顶部平面、左平面、右平面、上平面和底平面。还如上文所论述,截顶正方形金字塔的平面中的每一个可与虚拟现实视频帧的特定视图相关联。具体来说,基底平面可指定为前312视图,顶部平面可指定为后338视图,左平面可指定为左334视图,右平面可指定为右336视图,上平面可指定为上340视图,且底平面可指定为底342视图。使用这些名称,前312视图被视为“前”,这是由于其是假设观看者面朝的方向,而左344视图为观看者的左侧且右348视图为观看者的右侧。
在图3的实例中,已围绕用于后338视图的数据打包用于左334、右336、上340和底342视图的数据。具体来说,左334视图已邻近于后338视图的左边缘(其表现为后338视图的右边缘,因为后338此处以镜像呈现)放置。类似地,右336视图已邻近于后338视图的右边缘放置。已在后338视图上方打包上340视图,且已在后338视图下方打包底342视图。在一些状况下,可翘曲左334、右336、上340和底342数据以刚好放入到正方形或矩形数据块中。在各种实施方案中,还可调整后338视图的大小。举例来说,后338视图可以是前312视图的大小的1/4或1/16。可将组合的左334、右336、上340、底342和后338数据打包到紧靠用于前312的以全分辨率保存的数据的帧打包结构300中。使用此实例帧打包结构300,可将用于帧的数据打包到矩形数据块中。
根据其对后338视图的定向打包左334、右336、上340和底342视图可提供每一视图之间的平滑过渡(例如,从左到后、从后到右、从右到上、从上到左等)。举例来说,当对根据此实例帧打包结构300打包的帧进行编码时,编码过程可在视图之间的过渡处产生较少的失真。为进一步减少可能的失真,帧打包结构300可围绕边缘扩展,使得额外的可能重复的视频数据可围绕帧打包结构300的外边缘打包。在图3中通过虚线说明帧打包结构300的扩展。
在如上文所描述的打包后,可处理视频数据帧以用于存储和/或发射。举例来说,可编码、压缩和/或囊封帧。可以类似方式打包虚拟现实视频数据的每一帧,且可以比特流依序对打包的帧进行打包。比特流可经存储和/或发射。
图4说明可用以将视频数据存储到可经存储和传输的数据块中的帧打包结构400的另一实例。在此实例中,已围绕后448视图的一个半部连同左444视图或右446视图一起(可能通过翘曲数据)打包上440和底442视图中的每一个的一个半部。更具体地说,上440视图的左半部(UpL)和底442视图的左半部(BottomL)已与左444视图一起围绕根据其对后448视图的相对位置定向的后448视图的左半部(BackL)打包。类似地,上440视图的右半部(UpR)和底442视图的左半部(BottomR)已与右446视图一起围绕后视图448的右半部(BackR)打包。如此打包,左444视图打包到邻近于前视图412且在前视图412的左侧的帧400中。类似地,右446视图打包到邻近于前412视图且在前412视图的右侧中。前412视图以全分辨率保存。
虽然其它打包方法是可能的,但是在此实例中,左444和右446视图已分别放置在前412视图的左侧和右侧以提高连续性。在此实例中,当译码过程穿过在左444和右446视图与前412视图之间的边界时,使用实例帧打包结构400对帧打包进行编码可产生较少边界失真。还可通过扩展帧打包结构400的边缘来减少边界伪影,使得帧的边缘包含更多视频数据。在图4中,通过虚线说明扩展的边缘。
图3和图4仅提供可将映射到截顶正方形金字塔形状的视频数据帧打包到帧中以用于存储和/或发射的方式的两个实例。可以不同方式翘曲、分离和/或打包各种视图以满足不同需要或优先级。举例来说,在一些状况下,从左到右过渡更重要,但在其它状况下从上到底过渡更重要。在各种实施方案中,可以不同方式打包来自相同视频流的不同帧。在这些实施方案中,从这些帧产生的比特流可包含指示如何打包帧的标识符。
图5说明已根据图3中说明的实例帧打包结构打包的视频帧500的实例。在图5的实例中,360度视频的帧500已映射到截顶正方形金字塔的平面。接着根据图3中说明的打包结构打包用于前532、左534、右536、后538、上540和后542视图中的每一个的数据。具体来说,在图5中,左534、右536、上540和底542视图已根据其相对于后538视图的位置围绕后538视图打包。也就是说,左534视图邻近于后538视图的左边缘放置且右536视图邻近于后视图538的右边缘放置。类似地,上540视图邻近于后538视图的上边缘放置且底视图542邻近于后538视图的下边缘放置。紧靠以全分辨率打包到帧500中的前532视图,将组合的左534、右536、后538、上540和底542视图打包到帧中。
图6说明已根据图4中说明的实例帧打包结构打包的视频帧600的实例。在图6的实例中,360度视频的帧600已映射到截顶正方形金字塔的平面。在此实例中,用于左634、右636、上640和底642视图的数据已围绕后638视图打包,且所得数据已被一分为二。半部已进一步打包到邻近于前612视图的帧600中。具体来说,已连同左634视图一起围绕后638视图的左半部打包上640视图的左半部和底642视图的左半部。接着将组合的“左”视图打包到帧600中,使得左634视图邻近于以全分辨率打包的前612视图的左边缘。类似地,已连同右636视图一起围绕后638视图的右半部打包上640视图的右半部和底640视图的右半部。接着将组合的“右”视图打包到帧600中,使得右636视图邻近于前612视图。当视口水平地移动时,所得的打包数据帧600可提供较好水平过渡。
在不考虑所用帧打包结构的情况下,截顶正方形金字塔映射可提供从前视图到后视图的更平滑的质量过渡。图7说明提供在已根据截顶正方形金字塔几何结构打包视频帧700时所看到的质量750度量的实例的曲线图。在此实例中,曲线图说明当从前712视图到右716视图到后718视图观看帧700时可检测到的质量750。从前712到右716到后718的过渡作为实例提供,且质量750改变也适用于从前到左到后、前到上到后以及前到底到后的过渡。
在图7中说明的曲线图中,质量750被测量为图像中的显着变化,这可能归因于例如图像分辨率的变化。曲线图的水平轴说明当更新视图时质量750的改变。曲线图的线754说明当根据截顶正方形金字塔映射帧700时的可检测质量750。如所说明,线752说明当视图从前712过渡到右716时可以注意到质量750的逐渐变化。此外,在后718视图中可以注意到一致但较低的质量750。因此,截顶正方形金字塔映射可提供更顺畅和逼真的观看体验。
曲线图750说明当如本文中所论述映射和打包视频帧时可看见的质量过渡的一个实例。在其它实例中,线754的过渡可取决于是否使用截顶正方形金字塔形状、立方体形状或某一其它形状以及用以将视频帧中的像素打包到所选形状中的方法映射视频帧而变化。
图8说明可用以将360度视频数据的立方体形的表示的面映射到视频数据的截顶正方形金字塔表示的帧打包结构800中的比率的实例。可使用下文实例等式将打包到立方体面中的视频数据直接地翘曲到截顶正方形金字塔的梯形形状的平面上。可根据下文实例等式将用于后面的视频数据翘曲到小正方形中。
在图8的实例中,左下角860已指定为帧打包结构800的坐标(0,0)。在各种实施方案中,帧打包结构800中的另一点(例如,左上角862,底边缘的水平中点870等)可指定为坐标(0,0)。帧打包结构800的左上角862已指定为坐标(0,1)。在此实例中,值“1”不指示根据帧打包结构800打包的帧的大小,而是帧打包结构800内相对于坐标(0,0)的比率。帧的实际大小可例如1024像素高×2048像素宽,因此帧打包结构的左上角862可以是像素位置(0,1023)。帧打包结构800的右下角864类似地指定为坐标(1,0),指示右下角864包含帧打包结构864的最左边缘。
在此实例中,帧打包结构800的水平轴的中点870已指定为x=0.5。比率“0.5”指示此中点870在帧打包结构800的正中间,使得帧打包结构800的左半部存储与右半部一样多的数据。另外,第一水平点872已指定为x=0.6875(也就是说,x=0.5+0.3875)且第二水平点874已指定为x=0.875(也就是说,x=0.5+0.625)。在此实例中,第一872和第二874水平点指示用于后838视图的数据的宽度。由于用于后视图838的数据是正方形形状,因此第一竖直点876已指定为y=0.385和y=0.625。
图8中提供的比率说明可用以限定将视频数据打包到帧打包结构中的比率的一个实例。在各种实施方案中,可使用其它比率。举例来说,在一些状况下,可能需要减小或增大后838视图的大小。关于图13论述此实例。
使用图8中说明的实例比率,可使用以下等式确定将右立方体面中的点映射到帧打包结构800中的右836视图的坐标(x',y'):
类似地,可使用以下等式确定将左立方体面中的点映射到帧打包结构800中的左834视图的坐标(x',y'):
可使用以下等式确定将底立方体面中的点映射到帧打包结构800中的底842视图的坐标(x',y'):
可使用以下等式确定将顶立方体面中的点映射到帧打包结构800中的上840视图的坐标(x',y'):
还可出现从帧打包结构回到立方体的面的映射。举例来说,接收根据帧打包结构打包的帧的解码装置可在处理数据之前对帧中的视频数据进行解包。可使用以下等式获得右立方体面中的坐标(x,y):
x=0.1875x′+0.5
y=0.375x′-0.75x′y′+y′
可使用以下等式获得左立方体面中的坐标(x,y):
x=0.1875x′+0.8125
y=0.25y′+0.75x′y′-0.375x′+0.375
可使用以下等式获得底立方体面中的坐标(x,y):
x=0.1875y′-0.375x′y′-0.125x′+0.8125
y=0.375-0.375y′
可使用以下等式获得顶立方体面中的坐标(x,y):
x=1.0-0.1875y′-0.5x′+0.375x′y′
y=1.0-0.375y′
图9A到图9D说明从360度视频帧的各种不同映射得到的帧大小之间的比较。为了提供此比较,图9A到图9D中的实例映射相对于彼此按比例绘制。每一实例映射使用其相应映射方法映射相同视频帧(也就是说,相同数目个像素)。图9A到图9D中说明的实例映射包含展开平面902映射(图9A)、立方体904映射(图9B),和截顶正方形金字塔906、908映射的两个实例(图9C和图9D)。
如上文所论述,展开平面902映射可包含特定帧中的所有像素,且因此可视为全帧。在此实例中,展开平面902映射为四千像素宽和两千像素高,因此含有总共八百万像素。另外,一个帧仅需要一个表示,这是由于帧中的所有像素在全分辨率下可用。
立方体904映射略微小于展开平面902映射。然而,立方体形状在上视图和底视图中具有更少失真。在此实例中立方体904映射为三千像素宽和两千像素高,因此含有六百万像素。在此实例中,左、前和右立方体面已在帧中紧靠彼此打包。上、下和后面也已紧靠彼此打包在左、前和右视图下方。如同展开平面902映射一样,帧中的所有像素在全分辨率下可用,因此帧仅需要一个表示。虽然立方体的904映射小于展开平面映射902,但是解码器装置可能需要进行更多工作以将帧部分一起拼接到其相应位置中。
第一截顶正方形金字塔906映射是基于图3和图5中说明的帧打包结构。图9的实例截顶正方形金字塔906映射为两千像素宽和一千像素高,因此含有两百万像素。截顶正方形金字塔906映射为一个视图或视口提供全分辨率,且为所有其它视图提供降低的分辨率。因此,在一些状况下,可为一个帧编码六个表示,其中六个表示中的每一个编码为彼此成90度角。然而,是否需要所有六个表示可取决于帧的内容,和/或观看者在任何给定时刻正在观看的视口。
第二截顶正方形金字塔908映射是基于图4和图6中说明的帧打包结构。图9的实例截顶正方形金字塔908映射也为两千像素宽和一千像素高,因此含有两百万像素。实例截顶正方形金字塔908也为一个视图提供全分辨率,且为所有其它视图提供降低的分辨率。
在各种实施方案中,文件格式可描述360度视频帧。图4和图6说明可用以将已映射到截顶正方形金字塔形状的360度视频帧打包到矩形表示中的帧打包结构。在各种实施方案中,文件格式可含有用于将360度视频映射到截顶正方形金字塔几何结构的参数。文件格式可进一步含有用于描述如此映射到文本和/或二进制文件中的视频数据的参数。文件可经存储和/或传输。
第一实例实施例
在一些实施方案中,本文中所描述的技术可使用截顶正方形金字塔(tspyr)几何结构扩展在ISO/IEC JTC1/SC29/WG11/M37837“针对全向媒体应用格式的建议文本(Proposed text for omnidirectional media application format)”MPEG 114,2016年2月,或ISO/IEC JTC1/SC29/WG11N16189“关于ISO/IEC 23000-20全向媒体应用格式的WD(WDon ISO/IEC 23000-20Omnidirectional Media Application Format)”MPEG 115,2016年6月中建议的全向媒体应用格式(下文统称为“全向媒体应用格式标准”)。下文所描述的实施方案包含建议的对语法和语义的添加且参看全向媒体应用格式标准详细描述。
在下文所论述的第一实例实施例中,引用来自全向媒体应用格式标准的文本,其中利用带下划线的文本(额外文本的实例)展示对文本的添加。
在一些实施方案中,全向媒体应用格式标准的改变包含全向媒体纹理映射元数据样本条目。如下提供一个实例:
语法
以下改变为对全向媒体应用格式标准中章节3.2.2的建议的添加:
语义
下表中的改变和表之后的语义定义包含对全向媒体应用格式标准的章节3.2.3中的表3的建议的添加。
表—全向媒体几何结构类型
geometry_type
0x00 保留
0x01 球形
0x02 挤扁的球形
0x03 圆柱形
0x04 立方体
0x05 金字塔形
0x06 截顶正方形金字塔
0x07-0xFF 保留
tspyr_height指示截顶正方形金字塔的高度或深度;例如,可相对于截顶正方形 金字塔的前面的大小来规定高度或深度。
tspyr_back_width和tspyr_back_height指示后面的宽度和高度;例如,可相对于 截顶正方形金字塔的前面的大小来规定截顶正方形金字塔的宽度和高度。
在一些实施方案中,如下提供包含全向媒体纹理映射元数据样本条目的全向媒体应用格式标准的改变的另一实例:
语法
以下改变为对全向媒体应用格式标准中章节3.3.1的建议的更新:
语义
下文的改变包含对全向媒体应用格式标准的章节3.3.2中的语义的建议的更新:
tspyr_surface_id 指示如在本文的“定义”章节中定义的截顶正方形金字塔的表 面的识别符。
表—tspyr表面的识别符
tspyr_surface_id
0x00 保留
0x01
0x02
0x03
0x04
0x05
0x06
0x07-0xFF 保留
定义
现描述几何结构类型、纹理映射和投影的各种定义。
相对于截顶正方形金字塔(TSP),如图10A和图10B中所展示布置将映射到TSP 3-D几何结构的每一表面的纹理的区。具体地说,图10A和图10B说明纹理区与tspyr几何结构的面(前1012、后1038、左1034、右1036、顶1040和底1042)之间的对应关系。每一区的位置和大小由OmniMediaTextureMappingMetadataSample盒指示。图11A到图11F中指示达到区的位置(例如,(region_top_left_x,region_top_left_y)1150)、宽度(例如,region_width1152)和高度(例如,region_height 1154)。
如由图11A提供,如果tspyr_surface_id等于前1112,那么前1112表面区域是纹理矩形的左半部。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的高度或深度限定region_width 1152和region_height1154。
如由图11B提供,如果tspyr_surface_id等于后1138,那么后表面区域位于纹理矩形的右半部。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就后面的宽度和高度限定region_width 1152和region_height 1154。
如由图11C提供,如果tspyr_surface_id等于顶1140,那么表面区域位于纹理矩形的右半部的顶部处。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的高度或深度以及后面的宽度和高度限定region_width 1152和region_height 1154。
如由图11D提供,如果tspyr_surface_id等于底1142,那么表面区域位于纹理矩形的右半部的底部处。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的高度或深度以及后面的宽度和高度限定region_width 1152和region_height 1154。
如由图11E提供,如果tspyr_surface_id等于右1136,那么表面区域位于纹理矩形的右半部的左侧上。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的高度或深度以及后面的宽度和高度限定region_width 1152和region_height 1154。
如由图11F提供,如果tspyr_surface_id等于左1134,那么表面区域位于纹理矩形的右半部的右侧上。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的高度或深度以及后面的宽度和高度限定region_width 1152和region_height 1154。
第二实例实施例
在一些实施方案中,本文中所描述的技术使用截顶正方形金字塔几何结构在N15946中建议的全向媒体应用格式上扩展。在下文的文本中,使用带下划线的文本(额外文 本的实例)指示对MPEG N15946的添加。
针对VR/360度视频的方向性视口呈现,建议截顶正方形金字塔(tspyr)几何结构。tspyr的前面具有全分辨率,而分辨率朝向较小后面逐渐降低。如上文所提及,图10A和图10B说明纹理区与tspyr几何结构的面(前1012、后1038、左1034、右1036、顶1040和底1042)之间的对应关系。图10A说明截顶正方形金字塔几何结构且图10B说明对应的纹理区。
tspyr视频信息可在Tspyr视频信息盒中用信号发送,所述Tspyr视频信息盒含于VR视频信息盒中,如ISO/IEC JTC1/SC29/WG11/N15946“处于研究中的针对全向媒体应用格式的技术(Technologies under Consideration for Omnidirectional MediaApplication Format)”MPEG 114,2016年2月中所描述。Tspyr视频信息盒的语法和语义描述如下:
语法
语义
vr_mapping_type是指示从球形视频到矩形格式的映射类型的整数。零值指示等矩形映射。值1指示立方体映射。值3指示截顶正方形金字塔映射,且格式由 TspyrVideoInfoBox描述。保留其它值。
Tspyr视频信息盒(TspyrVideoInfoBox)的语法和语义如下:
盒类型:‘tspyr’
容器:方案信息盒(‘vrvd’)
必选:是(当vr_mapping_type等于3时)
数量:一个
Tspyr视频信息盒用以指示轨迹中所含tspyr VR/360视频的格式。信息将用于tspyr VR/360视频的呈现。
tspyr_depth指示截顶正方形金字塔的深度。
tspyr_back_width和tspyr_back_height指示后面的宽度和高度。
tspyr_region_id指示tspyr纹理的区的识别符(表1)。
表1—tspyr区的识别符
center_pitch和center_yaw分别指示呈现视频的中心像素的点的坐标的俯仰和侧转角。中心像素是截顶正方形金字塔的前面的中心。俯仰和侧转确定视口,这意味着截顶正方形金字塔的定向。当不存在时,推断center_pitch和center_yaw的值等于0。
center_pitch_offset和center_yaw_offset分别指示呈现视频的中心像素的点的坐标的俯仰和侧转角的偏移值。center_pitch_offset+center_pitch和center_yaw_offset+center_yaw分别指示当前样本的中心点。
region_top_left_x和region_top_left_y分别指示矩形形状的参考轨迹中的视频区的左上角的水平和竖直坐标。
region_width和region_height分别指示矩形形状的参考轨迹中的视频区的宽度和高度。
如图11A到图11D中布置将映射到3D几何结构的每一表面的纹理的区。指示每一区的位置1150(例如,(region_top_left_x,region_top_left_y))、宽度1152(例如,region_width)和高度1154(例如,region_height)。
如由图11A提供,如果tspyr_region_id等于前1112,那么前1112表面区域是纹理矩形的左半部。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的深度限定region_width 1152和region_height 1154。
如由图11B提供,如果tspyr_region_id等于后1138,那么后1138表面区域位于纹理矩形的右半部。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就后面的宽度和高度限定region_width 1152和region_height 1154。
如由图11C提供,如果tspyr_region_id等于顶1140,那么表面区域位于纹理矩形的右半部的顶部处。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的深度以及后面的宽度和高度限定region_width1152和region_height 1154。
如由图11D提供,如果tspyr_region_id等于底1142,那么表面区域位于纹理矩形的右半部的底部处。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的深度以及后面的宽度和高度限定region_width1152和region_height 1154。
如由图11E提供,如果tspyr_region_id等于右1136,那么表面区域位于纹理矩形的右半部的左侧上。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的深度以及后面的宽度和高度限定region_width1152和region_height 1154。
如由图11F提供,如果tspyr_region_id等于左1134,那么表面区域位于纹理矩形的右半部的右侧上。通过region_width 1152和region_height 1154给出表面区域。在各种实施方案中,可就截顶正方形金字塔的深度以及后面的宽度和高度限定region_width1152和region_height 1154。
图12说明将立方体1210的平面映射到截顶正方形金字塔1230的平面的另一实例。如上文所论述,可将虚拟环境的球形表示映射到由立方体1210的面提供的六个平面。立方体1210的一个面可指定为前1212视图,前1212的左侧的面为左1214视图,前1212的右侧的面为右1216视图,对应面为上1220视图,另一对应面为底1222视图,且最后一个面为后1218视图。将球形数据组映射到立方体1210的面提供视频数据的全帧,这是因为六个可能的视图中的每一个以全分辨率保存。同样如上文所论述,将由立方体1210提供的平面映射到由截顶正方形金字塔提供的平面可减少表示全360度视图需要的数据量。
在图12的实例中,经修改的截顶正方形金字塔1230用以提供将立方体1210的面中的数据映射到的平面。在此实例中,截顶正方形金字塔1230已经修改以将基底或升高的平台添加到截顶正方形金字塔的基底。换句话说,在此实例中,截顶正方形金字塔1230的基底已经定向成朝向立方体的前1212面,但已在立方体的后1218面的方向上偏移某一量。因此,举例来说,截顶正方形金字塔1230的左侧包含矩形前-左1234a平面和梯形后-左1234b平面。前-左1234a平面正对应于左1214立方体面的对应区,且因此前-左1234a平面中的像素以全分辨率保存。后-左1234b平面中的像素可从全分辨率减小以适应平面的梯形形状。
立方体的右1216、顶1220和底1222面中的每一个可以类似方式映射到由经修改截顶正方形金字塔提供的平面。具体来说,截顶正方形金字塔1230包含以全分辨率保存像素的前-右1236a平面和降低分辨率的后-右1236b平面。类似地,截顶正方形金字塔1230包含前-上1240a平面和后-上1240b平面,以及前-底1242a平面和后-底1242b平面。截顶正方形金字塔1230的后1238平面未经修改,且提供立方体1210的所有后1218面的降低的分辨率表示。进一步以全分辨率将立方体的前1212面映射到截顶正方形金字塔1230的经修改的基底1232。
上文所描述的经修改截顶正方形金字塔1230映射可为朝向立方体1210的前1212面观看的观看者提供较好的90度视场。除前1212视图以全分辨率保存之外,左1214、右1216、上1220和底1222视图的量也以全分辨率保存。以全分辨率保存的左1214、右1216、上1220和底1222视图的量可正好在观看者的周边视觉内,或可以是仅在观看者的视觉的边缘处。在各种实施方案中,可通过修改前-左1234a、前-右1236b、前-上1240a和前-底1240b区的大小来调整提供给观看者的视场。可例如通过修改截顶正方形金字塔1230的顶1238平面的大小来实现此调整。
图13说明用于经修改截顶正方形金字塔映射的帧打包结构1300的实例。在此实例中,前-左1334a视图已打包到前1312视图的左侧的帧1300中,且前-右1336a视图已打包到前1312视图的右侧。当对帧1300进行编码时将前-左1334a和前-右1336a放置到紧靠前1312的其相应位置中的帧1300中可提供从前到左或从前到右的更平滑过渡。
如此实例中进一步所说明,后-左1334b、后-右1336b、后-上1340b和后-底1342b视图已围绕后1338视图打包到帧1300中。接着将后-左1334b、后-右1336b、后-上1340b、后-底1342b和后1338的组合打包到紧靠前到右1336的帧1300中,使得后-右1336b邻近于前-右1336a视图。前-上1340a视图紧靠后-左1334b视图旋转和打包。前-底1342a也紧靠前-上视图1340a旋转和放置。最终结果是在此实例中帧1300为矩形。
图14说明用于经修改截顶正方形金字塔映射的帧打包结构1400的另一实例。在此实例中,后上、底和后视图已一分为二,且已利用相应后-左1434b和后-右1436b视图打包半部。具体来说,已围绕后1438视图与后-左1434b视图的左半部一起打包后-上1440b视图的左半部和后-底1442视图的左半部。组合的“左”视图邻近于前-左1434a视图打包,而后-左1434b视图邻近于前-左1434a视图放置。前-左1434a视图自身邻近于前1432视图的左边缘打包。
类似地,已围绕后1438视图的右半部与后-右1436b视图一起打包后-上1440b视图的右半部和后-底1442b视图的左半部。接着组合的“右”视图邻近于前-右1436a视图打包,而后-右1436b视图邻近于前-右1436a视图放置。前-右1436a视图自身邻近于前1432视图打包。最后,前-底1442a视图旋转且打包到组合的左视图的左侧,且前-上1440a视图旋转和打包到组合的右视图的右侧。
图13和图14提供图9中说明的经修改截顶正方形映射可打包到矩形帧结构中的各种方式的仅两个实例。其它变化是可能的,每一变化可能提供不同优势。举例来说,当对帧进行编码时图14的实例格式可在从左到右过渡中提供更少失真,同时在从上到底过渡中牺牲一些失真。作为另一实例,图13的实例格式可更易于生成。
在各种实施方案中,上文所论述的帧打包结构中的前视图可表示90度视场。举例来说,当视频帧的360度球形表示经映射到立方体的面时,立方体的一个面可表示90度视场。因此,当截顶正方形金字塔形状的基底平面(如上文所提及,其可指定为前视图)映射立方体的一个面时,基底平面可映射90度视场。在上文所论述的所述帧打包结构中,90度视场的区域外部可打包到在大小和/或形状上等效于前视图的帧打包结构中的区域中。在此帧打包结构中,以全分辨率保存的可视区域可仅为90度的视图,这是因为90度之外的任何区域可紧凑在左、右、上和底视图中。
在各种实施方案中,包含全分辨率数据的视场可通过增大截顶正方形金字塔形状的基底平面的大小来增大。也就是说,可以全分辨率保存较大区域,其中区域可能大于前述立方体面。因此,后面的分辨率可能减小,或帧打包结构的大小可能增大,或可能出现两种情况。
图15说明在其中为了增大视场使用保存后视图1588的分辨率的较大帧打包结构1550的实例。图15说明在其中前1512视图表示90度视场的第一帧打包结构1500的实例。在此第一帧打包结构1500中,将左1534、右1536、上1540和底1542视图与后1538一起打包在大小等效于前1512视图的区域中。
图15还说明第二帧打包结构1550的实例,其中前1552视图大30%,且因此表示117度视场。为了创建此177度视场,原本在左1584、右1586、上1590和底1592视图中的像素实际上在前1552视图中。与由第一帧打包结构1500中的这些视图所占用的区域相比,用于左1584、右1586、上1590和底1592视图的第二帧打包结构1550中的区域可因此相对于前视图1552的大小较小。在此第二帧打包结构1550中,后1588视图的大小相同于第一帧打包结构1500中的后1538视图的大小,使得可维持后1588视图的分辨率。第二帧打包结构1550的总体大小因此较大:举例来说,第一帧打包结构可为两千像素宽和一千像素高,而第二帧打包结构可为2,600像素宽和1,300像素宽。
图15说明其中以全分辨率保存的视场扩展超出90度的一个实例。在各种实施方案中,甚至可进一步增大视场。在各种实施方案中,还可降低后视图的分辨率,使得无需极大地增大帧打包结构的大小。
图16说明用于将360度视频帧映射到如本文中所描述的截顶正方形金字塔的平面的过程1600的实例。在1602处,过程1600包含获得虚拟现实视频数据。虚拟现实视频数据表示虚拟环境的360度视图。举例来说,虚拟现实视频数据可为观看者提供逼真的体验,其中当观看虚拟环境的顺畅表示时观看者可左或右转动,上或下观看,和/或在周围移动。虚拟现实视频数据可包含多个帧。来自多个帧的每一帧可包含对应球形视频数据,或用于帧的视频数据的球形表示。
在1604处,过程1600包含将用于来自多个帧的帧的球形视频数据映射到截顶正方形金字塔的平面上。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小可小于基底平面的大小。在一些实施方案中,顶部平面的大小可小于或等于基底平面的大小。在各种实施方案中,映射球形视频数据可包含额外步骤,如下:
在1606处,过程1600包含将球形视频数据的第一部分以全分辨率映射到基底平面上。在各种实施方案中,基底平面可表示球形视频数据的前视图。
在1608处,过程1600包含将球形视频数据的第二部分以降低的分辨率映射到顶部平面上。降低的分辨率可小于全分辨率。在各种实施方案中,降低的分辨率可以是全分辨率的百分比。在各种实施方案中,为了产生降低的分辨率,可对球形视频数据的第二部分减少取样或缩减规模。在各种实施方案中,顶部平面可表示球形视频数据的后视图。
在1610处,过程1600包含将球形视频数据的第三部分以降低的分辨率映射到左侧平面上。降低的分辨率可包含从全分辨率或几乎全分辨率到降低的分辨率的一系列分辨率。全分辨率或几乎全分辨率可在邻近于基底平面的左侧平面的边缘处使用。降低的分辨率可在邻近于顶侧平面的左侧平面的边缘处使用。在各种实施方案中,降低的分辨率相同于或几乎相同于顶部平面的降低的分辨率。在各种实施方案中,左侧平面可表示球形视频数据的左视图。
在1612处,过程1600包含将球形视频数据的第四部分以降低的分辨率映射到右侧平面上。全分辨率或几乎全分辨率可在邻近于基底平面的右侧平面的边缘处使用。降低的分辨率可在邻近于顶侧平面的右侧平面的边缘处使用。在各种实施方案中,用于右侧平面的分辨率可从邻近于基底侧平面的右侧平面的边缘到邻近于顶侧平面的右侧平面的边缘降低。在各种实施方案中,降低的分辨率相同于或几乎相同于顶部平面的降低的分辨率。在各种实施方案中,右侧平面可表示球形视频数据的右视图。
在1614处,过程1600包含将球形视频数据的第五部分以降低的分辨率映射到上侧平面上。在各种实施方案中,上侧平面可表示球形视频数据的上视图(也就是说,当向上观看时看见的视图)。
在1616处,过程包含将球形视频数据的第六部分以降低的分辨率映射到底侧平面上。在各种实施方案中,底侧平面可表示球形视频数据的底视图或下视图(也就是说,当向下观看时看见的视图)。
图17说明用于对虚拟现实视频的帧进行解码的过程1700的实例,其中已使用截顶正方形金字塔形状将用于帧的视频数据打包到帧中。在1720处,过程1700包含获得虚拟现实视频数据的帧。虚拟现实视频数据可表示虚拟环境的360度视图。帧可具有矩形格式。在一些实施方案中,可从编码装置接收虚拟现实视频数据的帧。替代地或另外,在一些实施方案中,可从存储装置或存储媒体读取虚拟现实视频数据的帧。在各种实施方案中,当通过解码装置接收虚拟现实视频数据的帧时,使用视频编码格式对虚拟现实视频数据的帧进行编码和/或压缩。在各种实施方案中,虚拟现实视频数据的帧可以是视频数据流的部分,其中流包含用于虚拟环境的帧的连续序列。
在1704处,过程1700包含识别用于帧的帧打包结构。帧打包结构可提供视频数据在帧中的位置。帧打包结构可包含截顶正方形金字塔的平面。截顶正方形金字塔的平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面。顶部平面的大小通常小于基底平面的大小。在一些实施方案中,顶部平面的大小小于或等于基底平面的大小。在各种实施方案中,帧打包结构可向解码装置识别用于平面中的每一个的帧内的位置以及每一平面的尺寸。
在1706处,过程1700包含使用帧打包结构显示帧。在各种实施方案中,显示帧可包含提供对应于作为前视图的基底平面的视频数据,其中前视图以全分辨率显示。显示帧可进一步包含提供对应于作为后视图的顶部平面的视频数据,其中后视图以降低的分辨率显示。显示帧可进一步包含提供对应于作为左视图的左侧平面的视频数据,提供对应于作为右视图的右侧平面的视频数据,提供对应于作为上视图的上侧平面的视频数据,和提供对应于作为下视图的底侧平面的视频数据。左、右、上和下视图可处于降低的分辨率,这意味着每一视图朝向前视图具有全或几乎全分辨率,其朝向后视图逐渐降低到较小的分辨率。在各种实施方案中,显示帧可包含在显示帧之前对帧进行解码。
在一些实例中,过程1600、1700可由例如视频视频编码装置等计算装置或设备执行。在一些状况下,计算装置或设备可包含处理器、微处理器、微型计算机,或经配置以实行过程1600、1700的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以捕获包含视频帧的视频数据(例如,视频序列)的相机。举例来说,计算装置可包含相机装置(例如,IP相机或其它类型的相机装置),其可包含视频编解码器。在一些实例中,捕获视频数据的相机或其它捕获装置与计算装置分离,在此情况下计算装置接收所捕获的视频数据。计算装置可进一步包含经配置以传达视频数据的网络接口。网络接口可经配置以传达基于因特网协议(IP)的数据。
过程1600、1700经说明为逻辑流程图,其操作表示可以硬件、计算机指令或其组合实施的操作的序列。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般来说,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型等等。描述操作的次序并不意图解释为限制,且任何数目的所描述操作可以任何次序组合和/或并行以实施所述过程。
另外,过程1600、1700可以在配置有可执行指令的一或多个计算机系统的控制下执行且可以实施为在一或多个处理器上通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所指出,代码可例如以包括可由一或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储媒体上。计算机可读或机器可读存储媒体可为非暂时性的。
图18说明用于在由像素的球形1800表示的360度虚拟环境中映射像素的另一实例形状。在此实例中,数据的球形1800可映射到立方体1810的面。立方体1800的面可指定为前1812面、后1818面、左1814面、右1816面、上1820面和底1822面。
如上文所论述,立方体1810的六个面可以全分辨率表示来自球形1800的视频数据。为了减小视频数据的大小,立方体1810的六个面可映射到正方形金字塔形状1830,其中金字塔1830的正方形基底1832经定向成朝向立方体的前1812面,且已相对于立方体1810的前1812面转动45度。金字塔形状1830的顶部进一步与后1818视图的中心对准。金字塔形状1830的四个侧中的每一个可进一步指定为P1 1834、P2 1836、P3 1838和P4 1840。来自立方体的左1814、右1816、上1820和底1822面的像素可以不同方式分配到P1 1834、P2 1836、P31838和P4 1840。举例来说,一个面可映射金字塔形状1830的一侧(例如P1 1834映射右1816面,P2 1836映射顶1820面,P3映射左1814面,且P4映射底1822面)。替代地,金字塔形状1830的一侧可映射若干面的部分。举例来说,P1 1834可映射右1816面和顶1820面中的一些,P21836可映射顶1820面和左1814面中的一些,P3可映射左1814面和底1822面中的一些,且P418140可映射底1822面和右1816面中的一些。在这些实例中的每一个中,不包含后1818面。
图19说明用于图18中说明的金字塔形状的帧打包结构1900的实例。在图19中,前视图1932(也就是说,金字塔形状的基底)安置于帧打包结构1900的中间中,而金字塔的正方形基底的侧与帧打包结构1900的侧成45度角。金字塔形状的侧P1 1934、P21936、P3 1938和P4 1940可安置于帧打包结构1900的拐角中。如上文所论述,P1 1934、P2 1936、P3 1938和P4 1940可存储左、右、上和底视图的全部或部分。在各种实施方案中,可扩展帧打包结构1900,使得P1 1934、P2 1936、P3 1938和P4 1940中的每一个捕获更多可能的重叠数据。扩展帧打包结构1900可提高P1 1934、P2 1936、P3 1938和P4 1940的边界处的分辨率。扩展的区域在图19中由虚线说明。
本文中论述的译码技术可实施于实例视频编码和解码系统中。在一些实例中,系统包含源装置,其提供在稍后时间将由目的地装置解码的经编码视频数据。具体而言,源装置通过计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括广泛范围的装置中的任一个,包含台式计算机、笔记本电脑(即,膝上型计算机)、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些状况下,源装置和目的地装置可经装备以用于无线通信。
目的地装置可通过计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使源装置能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据例如无线通信协议等通信标准加以调制,且传输到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(radio frequency,RF)频谱或一或多个物理发射线路。通信媒体可形成例如局域网等基于包的网络、广域网、或例如因特网等全球网络的一部分。通信媒体可包含路由器、交换机、基站或可用于促进从源装置到目的地装置的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含多种分布式或本地存取式数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可通过流式传输或下载从存储装置存取所存储视频数据。文件服务器可以是能够存储经编码视频数据和将所述经编码视频数据传输到目的地装置的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(network attachedstorage,NAS)装置或本地磁盘驱动器。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或适合于存取文件服务器上存储的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可以是流式传输发射、下载发射或其组合。
本公开的技术不必限于无线应用或设置。所述技术可以应用于视频译码并且支持多种多媒体应用中的任一个,例如空中协议电视广播、有线电视发射、卫星电视发射、因特网串流视频发射(例如动态自适应HTTP串流(dynamic adaptive streaming over HTTP,DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文所公开的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部摄像机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成显示装置。
以上实例系统仅为一个实例。用于并行处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。尽管本公开的技术通常由视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本公开的技术还可通过视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以基本上对称的方式操作以使得所述装置中的每一个包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如用于视频串流、视频重放、视频广播或视频电话。
视频源可包含视频捕获装置,例如视频相机、含有先前所捕获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈入接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些状况下,如果视频源是摄像机,那么源装置和目的地装置可形成所谓的摄像机电话或视频电话。然而,如上文所提到,本公开中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一状况下,所捕获、预先捕获或计算机产生的视频可由视频编码器编码。经编码视频信息可随后由输出接口输出到计算机可读媒体上。
如所提到,计算机可读媒体可包含暂时性媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置接收经编码视频数据,并例如通过网络传输将经编码视频数据提供给目的地装置。类似地,例如光盘冲压设施等媒体生产设施的计算装置可从源装置接收经编码视频数据并产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器定义的还由视频解码器使用的语法信息,包含描述块和其它经译码单元,例如图片群组(group of picture,GOP),的特性和/或处理的语法要素。显示装置向用户显示经解码视频数据,并可包括多种显示装置中的任一个,例如阴极射线管(cathode raytube,CRT)、液晶显示器(liquid crystal display,LCD)、等离子体显示器、有机发光二极管(organic light emitting diode,OLED)显示器或另一类型的显示装置。已描述本发明的各种实施例。
在图20和图21中分别展示编码装置2004和解码装置2112的具体细节。图20是说明可以实施本公开中描述的技术中的一或多个的实例编码装置2004的方块图。举例来说,编码装置2004可以产生本文中描述的语法结构(例如,VPS、SPS、PPS的语法结构或其它语法元素)。编码装置2004可以在视频切片内执行视频块的帧内预测和帧间预测译码。如先前描述,帧内译码至少部分依赖于空间预测来减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分依赖于时间预测来减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间压缩模式中的任一个。例如单向预测(P模式)或双向预测(B模式)等帧间模式可以指若干基于时间的压缩模式中的任一个。
编码装置2004包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54以及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44和帧内预测处理单元46。对于视频块重构,编码装置2004还包含逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63意图表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(adaptive loop filter,ALF)和样本自适应偏移(sample adaptive offset,SAO)滤波器。尽管在图20中将滤波器单元63展示为环内滤波器,但在其它配置中,可将滤波器单元63实施为环路后滤波器。后处理装置57可以对由编码装置2004产生的经编码的视频数据执行额外处理。本公开的技术在一些情况下可以通过编码装置2004实施。然而,在其它情况下,本公开的技术中的一或多个可以通过后处理装置57实施。
如图20中所展示,编码装置2004接收视频数据,且分割单元35将所述数据分割成视频块。分割还可包含例如根据LCU和CU的四叉树结构而分割成切片、切片段、影像块或其它更大单元,以及视频块分割。编码装置2004总体上说明对待编码的视频切片内的视频块进行编码的组件。所述切片可划分成多个视频块(并且可能划分成被称作单元片的视频块的集合)。预测处理单元41可以选择多个可能的译码模式中的一个,例如多个帧内预测译码模式中的一或多个帧间预测译码模式中的一个,以用于基于错误结果的当前视频块(例如,译码速率和失真的层级或类似物)。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重构经编码的块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码的当前块在相同帧或切片中的一或多个相邻块执行当前视频块的帧内预测译码,以提供空间压缩。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一或多个参考图片中的一或多个预测块执行当前视频块的帧间预测译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式来确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。运动估计单元42执行的运动估计是生成运动向量的过程,所述过程估计视频块的运动。运动向量例如可指示当前视频帧或图片内的视频块的预测单元(prediction unit,PU)相对于参考图片内的预测块的位移。
预测块是被发现在像素差方面与待译码的视频块的PU密切匹配的块,像素差可通过绝对差总和(sum of absolute difference,SAD)、平方差总和(sum of squaredifference,SSD)或其它差度量来确定。在一些实例中,编码装置2004可计算存储在图片存储器64中的参考图片的子整数像素位置的值。举例来说,编码装置2004可内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并输出具有分数像素精度的运动向量。
运动估计单元42通过比较帧间译码片段中的视频块的PU的位置与参考图片的预测块的位置来计算PU的运动矢量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。
通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量取出或产生预测块。在接收到当前视频块的PU的运动向量后,运动补偿单元44即刻可以在参考图片列表中定位所述运动向量指向的预测块。编码装置2004通过从正被译码的当前视频块的像素值减去预测块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于所述块的残余数据,并可包含明度和色度差分量两者。求和器50表示可执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供解码装置2112在对视频切片的视频块进行解码时使用。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可对当前块进行帧内预测。具体来说,帧内预测处理单元46可确定用于对当前块进行编码的帧内预测模式。在一些实例中,帧内预测处理单元46可例如在单独编码遍次期间使用各种帧内预测模式来对当前块进行编码,帧内预测单元处理46(或在一些实例中,模式选择单元40)可从经测试模式选择适当的帧内预测模式以使用。举例来说,帧内预测处理单元46可以使用速率失真分析来计算用于各种经测试帧内预测模式的速率失真值,并且可从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析大体上确定经编码块与经编码以产生所述经编码块的原始未编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测处理单元46可以从用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块来说展现最佳速率失真值。
在任何状况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可对指示选定帧内预测模式的信息进行编码。编码装置2004可以在所传输的位流中包含用于各种块的编码上下文的配置数据定义以及最可能帧内预测模式的指示、帧内预测模式索引表和经修改帧内预测模式索引表以供每种上下文使用。位流配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41通过帧间预测或帧内预测产生当前视频块的预测块之后,编码装置2004通过从当前视频块减去预测块来形成残余视频块。残差块中的残差视频数据可包含在一或多个TU中且应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(discrete cosine transform,DCT)或概念上类似的变换的变换来将残差视频数据变换成残差变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54将变换系数量化以进一步降低位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可通过调节量化参数来修改量化的程度。在一些实例中,量化单元54可随后执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56熵编码经量化的变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(context adaptive variable length coding,CAVLC)、上下文自适应二进制算术译码(context adaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术译码(syntax-based context-adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,PIPE)译码或另一熵编码技术。在熵编码单元56进行的熵编码之后,可将经编码位流传输到解码装置2112,或将经编码位流存档以供稍后传输或由解码装置2112取回。熵编码单元56还可对正经译码当前视频切片的运动向量和其它语法元素进行熵编码。
反量化单元58和反变换处理单元60分别应用反量化和反变换来重建构像素域中的残余块,以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到在参考图片列表内的参考图片中的一个的预测块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重构残余块以计算子整数像素值以用于运动估计。求和器62将经重构残余块加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在图片存储器64中。参考块可由运动估计单元42和运动补偿单元44使用作为用以对后续视频帧或图片中的块进行帧间预测的参考块。
以此方式,图20的编码装置2004表示经配置以产生用于经编码视频位流的语法的视频编码器的实例。举例来说,如上文所描述,编码装置2004可产生VPS、SPS和PPS参数集。编码装置2004可执行本文中所描述的技术中的任一个,包含上文所描述的过程。已关于编码装置2004总体上描述了本公开的技术,但是如上文所提到,本公开的技术中的一些也可以通过后处理装置57实施。
图21是说明实例解码装置2112的框图。解码装置2112包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。在一些实例中,解码装置2112可执行总体上与关于图20的编码装置2004描述的编码遍次互逆的解码遍次。
在解码过程期间,解码装置2112接收表示经编码视频切片的视频块和由编码装置2004发送的相关联语法元素的经编码视频位流。在一些实施例中,解码装置2112可以从编码装置2004接收经编码视频位流。在一些实施例中,解码装置2112可以从网络实体79接收经编码视频位流,所述网络实体例如服务器、媒体感知网络元件(media-aware networkelement,MANE)、视频编辑器/拼接器或经配置以实施上文所述的技术中的一或多个的其它此类装置。网络实体79可包含或可不包含编码装置2004。本公开中描述的技术中的一些可以在网络实体79将经编码视频位流传输到解码装置2112之前通过网络实体79实施。在一些视频解码系统中,网络实体79和解码装置2112可以是单独的装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括解码装置2112的同一装置执行。
解码装置2112的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转发到预测处理单元81。解码装置2112可接收视频切片层级和/或视频块层级的语法元素。熵解码单元80可以处理并剖析在例如VPS、SPS和PPS中的一或多个参数集中的固定长度语法元素和可变长度语法元素这两者。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发送的帧内预测模式和来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动矢量和其它语法元素而产生当前视频切片的视频块的预测块。可从参考图片列表内的参考图片中的一个产生预测块。解码装置2112可基于存储在图片存储器92中的参考图片使用默认建构技术建构参考帧列表,即列表0和列表1。
运动补偿单元82通过解析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码的当前视频块的预测块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素以确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多个的建构信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元82还可基于内插滤波器而执行内插。运动补偿单元82可使用如由编码装置2004在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可从所接收的语法元素确定编码装置2004所使用的内插滤波器,且可使用所述内插滤波器来产生预测块。
逆量化单元86对在位流中提供且由熵解码单元80解码的经量化变换系数进行逆量化或解量化。逆量化过程可包含使用针对视频切片中的每一视频块由编码装置2004计算的量化参数,以确定应施加的量化程度以及同样地逆量化程度。逆变换处理单元88将逆变换(例如,逆DCT或其它合适的逆变换)、逆整数变换或概念上相似的逆变换过程应用于所述变换系数以便产生像素域中的残余块。
在运动补偿单元82基于运动向量和其它语法元素产生用于当前视频块的预测块之后,解码装置2112通过将来自逆变换处理单元88的残余块与运动补偿单元82产生的对应预测块求和来形成经解码视频块。求和器90表示可执行此求和运算的组件。如果需要,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素转变平滑或者以其它方式改进视频质量。滤波器单元91意图表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图21中将滤波器单元91展示为环内滤波器,但在其它配置中,可将滤波器单元91实施为环路后滤波器。随后将给定帧或图片中的经解码视频块存储于图片存储器92中,所述图片存储器存储用于随后运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后在显示装置(例如,图1中展示的视频目的地装置122)上呈现。
在以上描述中,参考具体实施例描述应用的方面,但是所属领域的技术人员将认识到本发明不限于此。因此,虽然已经在本文中详细地描述了应用的说明性实施例,但是应理解本发明概念可以其它方式不同地实施和采用,并且除了现有技术所限制的之外,所附权利要求书意图解释为包含此类变化。上文描述的本发明的各种特征和方面可以单独或共同地使用。此外,实施例可以在本文中描述的那些环境和应用之外的任何数目的环境和应用中使用而不脱离本说明书的广泛的精神和范围。应将本说明书和图式相应地视为说明性的而非限制性的。出于说明的目的,方法是以特定次序描述的。应了解,在替代实施例中,方法可以与所描述的次序不同的次序执行。
在组件被描述为“经配置以”执行特定操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。
结合本文中所公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件与软件的这个互换性,上文已大体上关于其功能性而描述了各种说明性组件、块、模块、发动机、电路和步骤。此类功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施决策不应被解释为会引起脱离本发明的范围。
本文中描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实施。此类技术可实施于多种装置中的任一个中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机和其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果以软件实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如随机存取存储器(randomaccess memory,RAM),例如同步动态随机存取存储器(synchronous dynamic randomaccess memory,SDRAM))、只读存储器(read-only memory,ROM)、非易失性随机存取存储器(non-volatile random access memory,NVRAM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、闪存器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体携载或传达指令或数据结构的形式的程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如一或多个数字信号处理器(digital signal processor,DSP)、通用微处理器、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑阵列(fieldprogrammable logic array,FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本公开中所描述的技术中的任一个。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心结合或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一个、上述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(encoder-decoder,CODEC)中。

Claims (30)

1.一种用于对视频数据进行编码的方法,其包括:
获得虚拟现实视频数据,其中所述虚拟现实视频数据表示虚拟环境的360度视图,其中所述虚拟现实视频数据包含多个帧,且其中来自所述多个帧的每一帧包含对应球形视频数据;以及
将用于来自所述多个帧的帧的所述球形视频数据映射到截顶正方形金字塔的平面上,其中所述截顶正方形金字塔的所述平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面,其中所述顶部平面的大小小于所述基底平面的大小,且其中映射所述球形视频数据包含:
将所述球形视频数据的第一部分以全分辨率映射到所述基底平面上;
将所述球形视频数据的第二部分以降低的分辨率映射到所述顶部平面上;
将所述球形视频数据的第三部分以降低的分辨率映射到所述左侧平面上;
将所述球形视频数据的第四部分以降低的分辨率映射到所述右侧平面上;
将所述球形视频数据的第五部分以降低的分辨率映射到所述上侧平面上;以及
将所述球形视频数据的第六部分以降低的分辨率映射到所述底侧平面上。
2.根据权利要求1所述的方法,其进一步包括:
将所述球形视频数据打包成矩形格式。
3.根据权利要求1所述的方法,其进一步包括:
将所述球形视频数据打包到打包结构中,其中所述打包包含:
在第一数据块中围绕所述第二部分打包所述球形视频数据的所述第三部分、所述第四部分、所述第五部分和所述第六部分;
将第一部分打包到第二数据块中;以及
将所述第一数据块和所述第二数据块打包到所述打包结构中,其中所述第一数据块经定位成在所述打包结构中紧靠所述第二数据块。
4.根据权利要求1所述的方法,其进一步包括:
将所述球形视频数据打包到打包结构中,其中所述打包包含:
在第一数据块中围绕所述第二部分的第一半部打包所述球形视频数据的所述第五部分的第一半部、所述第六部分的第一半部和所述第三部分;
在第二数据块中围绕所述第二部分的第二半部打包所述球形视频数据的所述第五部分的第二半部、所述第六部分的第二半部和所述第四部分;
将所述球形视频数据的所述第一部分打包到第三数据块中;
将所述第一数据块、所述第二数据块和所述第三数据块打包到所述打包结构中,其中所述第一数据块和所述第二数据块经定位成在所述打包结构中紧靠所述第三数据块。
5.根据权利要求1所述的方法,其进一步包括:
发射所述多个帧的第一帧,其中将用于所述第一帧的视频数据映射到第一截顶正方形金字塔的平面;以及
发射来自所述多个帧的第二帧,其中将用于所述第二帧的视频数据映射到第二截顶正方形金字塔的平面,且其中所述第二截顶正方形金字塔相对于所述第一截顶正方形金字塔旋转。
6.根据权利要求1所述的方法,其中所述截顶正方形金字塔进一步包含邻近于所述左侧平面的矩形左侧平面、邻近于所述右侧平面的矩形右侧平面、邻近于所述上侧平面的矩形上侧平面,和邻近于所述底侧平面的矩形底侧平面,且其中映射所述球形视频数据进一步包含:
将所述球形视频数据的第七部分以全分辨率映射到所述矩形左侧平面上;
将所述球形视频数据的第八部分以全分辨率映射到所述矩形右侧平面上;
将所述球形视频数据的第九部分以全分辨率映射到所述矩形上侧平面上;以及将所述球形视频数据的第十部分以全分辨率映射到所述矩形底侧平面上。
7.根据权利要求1所述的方法,其进一步包括:
限定所述截顶正方形金字塔的几何结构类型,其中所述几何结构类型识别用于将所述球形视频数据映射成文件格式的几何形状;
限定所述截顶正方形金字塔的高度;
限定所述截顶正方形金字塔的后宽度,其中所述后宽度与所述顶部平面相关联;
以及
限定所述截顶正方形金字塔的后高度,其中所述后高度与所述顶部平面相关联。
8.根据权利要求1所述的方法,其进一步包括:
限定所述截顶正方形金字塔的虚拟现实VR映射类型,其中所述VR映射类型指示用于将所述球形视频数据映射成矩形格式的映射类型,且其中所述截顶正方形金字塔的所述VR映射类型与视频信息盒相关联。
9.一种对视频数据进行编码的装置,其包括:
存储器,其经配置以存储视频数据;以及
视频编码装置,其与所述存储器通信,其中所述视频编码装置经配置以:
获得虚拟现实视频数据,其中所述虚拟现实视频数据表示虚拟环境的360度视图,其中所述虚拟现实视频数据包含多个帧,且其中来自所述多个帧的每一帧包含对应球形视频数据;以及
将用于来自所述多个帧的帧的所述球形视频数据映射到截顶正方形金字塔的平面上,其中所述截顶正方形金字塔的所述平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面,其中所述顶部平面的大小小于所述基底平面的大小,且其中映射所述球形视频数据包含:
将所述球形视频数据的第一部分以全分辨率映射到所述基底平面上;
将所述球形视频数据的第二部分以降低的分辨率映射到所述顶部平面上;
将所述球形视频数据的第三部分以降低的分辨率映射到所述左侧平面上;
将所述球形视频数据的第四部分以降低的分辨率映射到所述右侧平面上;
将所述球形视频数据的第五部分以降低的分辨率映射到所述上侧平面上;以及
将所述球形视频数据的第六部分以降低的分辨率映射到所述底侧平面上。
10.根据权利要求9所述的装置,其中所述视频编码装置经进一步配置以:
将所述球形视频数据打包成矩形格式。
11.根据权利要求9所述的装置,其中所述视频编码装置经进一步配置以将所述球形视频数据打包到打包结构中,其中所述打包包含:
在第一数据块中围绕所述第二部分打包所述球形视频数据的所述第三部分、所述第四部分、所述第五部分和所述第六部分;
将第一部分打包到第二数据块中;以及
将所述第一数据块和所述第二数据块打包到所述打包结构中,其中所述第一数据块经定位成在所述打包结构中紧靠所述第二数据块。
12.根据权利要求9所述的装置,其中所述视频编码装置经进一步配置以将所述球形视频数据打包到打包结构中,其中所述打包包含:
在第一数据块中围绕所述第二部分的第一半部打包所述球形视频数据的所述第五部分的第一半部、所述第六部分的第一半部和所述第三部分;
在第二数据块中围绕所述第二部分的第二半部打包所述球形视频数据的所述第五部分的第二半部、所述第六部分的第二半部和所述第四部分;
将所述球形视频数据的所述第一部分打包到第三数据块中;
将所述第一数据块、所述第二数据块和所述第三数据块打包到所述打包结构中,其中所述第一数据块和所述第二数据块经定位成在所述打包结构中紧靠所述第三数据块。
13.根据权利要求9所述的装置,其中所述视频编码装置经进一步配置以:
发射来自所述多个帧的第一帧,其中将用于所述第一帧的视频数据映射到第一截顶正方形金字塔的平面;以及
发射来自所述多个帧的第二帧,其中将用于所述第二帧的视频数据映射到第二截顶正方形金字塔的平面,且其中所述第二截顶正方形金字塔相对于所述第一截顶正方形金字塔旋转。
14.根据权利要求9所述的装置,其中所述截顶正方形金字塔进一步包含邻近于所述左侧平面的矩形左侧平面、邻近于所述右侧平面的矩形右侧平面、邻近于所述上侧平面的矩形上侧平面,和邻近于所述底侧平面的矩形底侧平面,且其中映射所述球形视频数据包含:
将所述球形视频数据的第七部分以全分辨率映射到所述矩形左侧平面上;
将所述球形视频数据的第八部分以全分辨率映射到所述矩形右侧平面上;
将所述球形视频数据的第九部分以全分辨率映射到所述矩形上侧平面上;以及将所述球形视频数据的第十部分以全分辨率映射到所述矩形底侧平面上。
15.根据权利要求9所述的装置,其中将用于所述帧的所述球形视频数据映射到所述截顶正方形金字塔的所述平面上包含:
从所述球形视频数据选择视频数据;以及
定位所述所选视频数据在来自所述截顶正方形金字塔的所述平面的对应平面上的位置。
16.根据权利要求9所述的装置,其中将所述球形视频数据从所述帧映射到所述截顶正方形金字塔的所述平面上包含:
从所述球形视频数据选择视频数据;
对所述所选视频数据减少取样;以及
定位所述减少取样的视频数据在来自所述截顶正方形金字塔的所述平面的对应平面上的位置。
17.根据权利要求9所述的装置,其中所述视频编码装置经进一步配置以:
限定所述截顶正方形金字塔的几何结构类型,其中所述几何结构类型识别用于将所述球形视频数据映射成文件格式的几何形状;
限定所述截顶正方形金字塔的高度;
限定所述截顶正方形金字塔的后宽度,其中所述后宽度与所述顶部平面相关联;
以及
限定所述截顶正方形金字塔的后高度,其中所述后高度与所述顶部平面相关联。
18.根据权利要求17所述的装置,其中所述视频编码装置经进一步配置以:
限定表面识别符,其中所述表面识别符识别所述截顶正方形金字塔的平面;
限定所述截顶正方形金字塔的平面中的每一个的左上水平坐标,其中所述左上水平坐标指示所述平面的左上角在打包结构内的水平位置,且其中所述打包结构用以将所述球形视频数据映射成所述文件格式;
限定所述截顶正方形金字塔的每一平面的左上竖直坐标,其中所述左上竖直坐标指示所述平面的所述左上角在所述打包结构内的竖直坐标;
限定所述截顶正方形金字塔的每一平面的区域宽度,其中所述区域宽度与所述平面的宽度相关联;以及
限定所述截顶正方形金字塔的每一平面的区域高度,其中所述区域高度与所述平面的高度相关联。
19.根据权利要求9所述的装置,其中所述视频编码装置经进一步配置以:
限定所述截顶正方形金字塔的虚拟现实VR映射类型,其中所述VR映射类型指示用于将所述球形视频数据映射成矩形格式的映射类型,且其中所述截顶正方形金字塔的所述VR映射类型与视频信息盒相关联。
20.根据权利要求19所述的装置,其中所述视频信息盒包含:
深度,其指示所述截顶正方形金字塔的深度;
后宽度,其指示所述顶部平面的宽度;
后高度,其指示所述顶部平面的高度;
区识别符,其识别来自所述截顶正方形金字塔的所述平面的平面;
中心俯仰,其指示呈现所述球形视频数据的中心像素的点的坐标的俯仰角;
中心侧转,其指示呈现所述球形视频数据的所述中心像素的所述点的所述坐标的侧转角;
中心俯仰偏移,其指示呈现所述球形视频数据的所述中心像素的所述点的所述坐标的所述俯仰角的偏移值;
中心侧转偏移,其指示呈现所述球形视频数据的所述中心像素的所述点的所述坐标的所述侧转角的偏移值;
左上水平坐标,其指示所述平面的左上角的水平坐标;
左上竖直坐标,其指示所述平面的所述左上角的竖直坐标;
区宽度,其指示所述平面的宽度;以及
区高度,其指示所述平面的高度。
21.一种用于对视频数据进行解码的方法,其包括:
获得虚拟现实视频数据的帧,其中所述虚拟现实视频数据表示虚拟环境的360度视图,其中所述帧具有矩形格式;
识别用于所述帧的帧打包结构,其中所述帧打包结构提供在所述帧中视频数据的位置,其中所述帧打包结构包含截顶正方形金字塔的平面,其中所述截顶正方形金字塔的所述平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面,且其中所述顶部平面的大小小于所述基底平面的大小;以及
使用所述帧打包结构显示所述帧。
22.根据权利要求21所述的方法,其中所述帧打包结构进一步包含邻近于所述左侧平面的矩形左侧平面、邻近于所述右侧平面的矩形右侧平面、邻近于所述上侧平面的矩形上侧平面和邻近于所述底侧平面的矩形底侧平面。
23.根据权利要求21所述的方法,其进一步包括:
确定用于所述帧的几何结构类型,其中所述几何结构类型识别用于将所述虚拟现实视频数据映射成文件格式的几何形状;
基于所述几何结构类型从所述截顶正方形金字塔确定高度;
使用所述几何结构类型确定所述截顶正方形金字塔的后宽度,其中所述后宽度与所述顶部平面相关联;以及
使用所述几何结构类型确定所述截顶正方形金字塔的后高度,其中所述后高度与所述顶部平面相关联。
24.根据权利要求21所述的方法,其进一步包括:
识别虚拟现实VR映射类型,其中所述VR映射类型指示用于将所述虚拟现实视频数据映射成矩形格式的映射类型,其中所述VR映射类型识别所述截顶正方形金字塔,且其中所述VR映射类型与视频信息盒相关联。
25.一种用于对视频数据进行解码的装置,其包括:
存储器,其经配置以存储所述视频数据;
视频解码装置,其与所述存储器通信,其中所述视频解码装置经配置以:
获得虚拟现实视频数据的帧,其中所述虚拟现实视频数据表示虚拟环境的360度视图,其中所述帧具有矩形格式;
识别用于所述帧的帧打包结构,其中所述帧打包结构提供在所述帧中视频数据的位置,其中所述帧打包结构包含截顶正方形金字塔的平面,其中所述截顶正方形金字塔的所述平面包含基底平面、顶部平面、左侧平面、右侧平面、上侧平面和底侧平面,且其中所述顶部平面的大小小于所述基底平面的大小;以及
使用所述帧打包结构显示所述帧。
26.根据权利要求25所述的装置,其中显示所述帧包含:
提供所述帧中所述视频数据的第一部分作为前视图,其中所述视频数据的所述第一部分对应于所述基底平面,且其中所述视频数据的所述第一部分处于全分辨率;
提供所述帧中所述视频数据的第二部分作为后视图,其中所述视频数据的所述第二部分对应于所述顶部平面,且其中所述视频数据的所述第二部分处于降低的分辨率;
提供所述帧中所述视频数据的第三部分作为左视图,其中所述视频数据的所述第三部分对应于所述左侧平面,且其中所述视频数据的所述第三部分处于降低的分辨率;
提供所述帧中所述视频数据的第四部分作为右视图,其中所述视频数据的所述第四部分对应于所述右侧平面,且其中所述视频数据的所述第四部分处于降低的分辨率;
提供所述帧中所述视频数据的第五部分作为俯视图,其中所述视频数据的所述第五部分对应于所述上侧平面,且其中所述视频数据的所述第五部分处于降低的分辨率;以及
提供所述帧中所述视频数据的第六部分作为底视图,其中所述视频数据的所述第六部分对应于所述底侧平面,且其中所述视频数据的所述第六部分处于降低的分辨率。
27.根据权利要求25所述的装置,其中所述视频解码装置经进一步配置以:
接收虚拟现实数据的第二帧,其中所述第二帧相对于所述帧旋转;且
使用所述帧打包结构显示所述第二帧。
28.根据权利要求25所述的装置,其中所述帧打包结构进一步包含邻近于所述左侧平面的矩形左侧平面、邻近于所述右侧平面的矩形右侧平面、邻近于所述上侧平面的矩形上侧平面和邻近于所述底侧平面的矩形底侧平面。
29.根据权利要求25所述的装置,其中所述解码装置经进一步配置以:
确定用于所述帧的几何结构类型,其中所述几何结构类型识别用于将所述虚拟现实视频数据映射成文件格式的几何形状;
基于所述几何结构类型从所述截顶正方形金字塔确定高度;
使用所述几何结构类型确定所述截顶正方形金字塔的后宽度,其中所述后宽度与所述顶部平面相关联;且
使用所述几何结构类型确定所述截顶正方形金字塔的后高度,其中所述后高度与所述顶部平面相关联。
30.根据权利要求25所述的装置,其中所述解码装置经进一步配置以:
识别虚拟现实VR映射类型,其中所述VR映射类型指示用于将所述虚拟现实视频数据映射成矩形格式的映射类型,其中所述VR映射类型识别所述截顶正方形金字塔,且其中所述VR映射类型与视频信息盒相关联。
CN201780016844.7A 2016-03-23 2017-01-30 用于表示虚拟现实视频内容的截顶正方形金字塔几何结构和帧打包结构 Active CN108780567B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662312443P 2016-03-23 2016-03-23
US62/312,443 2016-03-23
US201662341598P 2016-05-25 2016-05-25
US62/341,598 2016-05-25
US15/253,447 US10319071B2 (en) 2016-03-23 2016-08-31 Truncated square pyramid geometry and frame packing structure for representing virtual reality video content
US15/253,447 2016-08-31
PCT/US2017/015674 WO2017164986A1 (en) 2016-03-23 2017-01-30 Truncated square pyramid geometry and frame packing structure for representing virtual reality video content

Publications (2)

Publication Number Publication Date
CN108780567A true CN108780567A (zh) 2018-11-09
CN108780567B CN108780567B (zh) 2022-07-26

Family

ID=59899030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780016844.7A Active CN108780567B (zh) 2016-03-23 2017-01-30 用于表示虚拟现实视频内容的截顶正方形金字塔几何结构和帧打包结构

Country Status (8)

Country Link
US (1) US10319071B2 (zh)
EP (1) EP3433831B1 (zh)
JP (1) JP6640373B2 (zh)
KR (1) KR20180124046A (zh)
CN (1) CN108780567B (zh)
BR (1) BR112018069214A2 (zh)
CA (1) CA3015474A1 (zh)
WO (1) WO2017164986A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113163184A (zh) * 2021-03-25 2021-07-23 复旦大学 一种面向vr自适应传输的投影算法

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170026659A1 (en) * 2015-10-13 2017-01-26 Mediatek Inc. Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video
US10389999B2 (en) * 2016-02-17 2019-08-20 Qualcomm Incorporated Storage of virtual reality video in media files
WO2017188714A1 (ko) * 2016-04-26 2017-11-02 엘지전자 주식회사 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치
CN107547907B (zh) * 2016-06-27 2020-02-21 华为技术有限公司 编解码的方法及设备
US10313763B2 (en) * 2016-07-29 2019-06-04 Mediatek, Inc. Method and apparatus for requesting and receiving selected segment streams based on projection information
KR102352933B1 (ko) * 2016-09-09 2022-01-20 삼성전자주식회사 3차원 이미지를 프로세싱하기 위한 방법 및 장치
KR20180029315A (ko) * 2016-09-12 2018-03-21 삼성전자주식회사 가상 현실 컨텐트의 영상을 투영하기 위한 영상 처리 방법 및 장치
WO2018066980A1 (ko) 2016-10-04 2018-04-12 김기백 영상 데이터 부호화/복호화 방법 및 장치
US20190253624A1 (en) 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
US20180098090A1 (en) * 2016-10-04 2018-04-05 Mediatek Inc. Method and Apparatus for Rearranging VR Video Format and Constrained Encoding Parameters
US10999602B2 (en) * 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
WO2018123801A1 (ja) * 2016-12-28 2018-07-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル配信方法、三次元モデル受信方法、三次元モデル配信装置及び三次元モデル受信装置
US20190342578A1 (en) * 2017-01-02 2019-11-07 Kt Corporation Method and apparatus for processing video signals
US10652516B2 (en) * 2017-01-03 2020-05-12 Mediatek Inc. Method and apparatus for generating and encoding projection-based frame with 360-degree content represented by base projection face and lateral projection faces packed in pyramid projection layout
US11259046B2 (en) * 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) * 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11172208B2 (en) * 2017-02-28 2021-11-09 Nokia Technologies Oy Method and apparatus for improving the visual quality of viewport-based omnidirectional video streaming
US11057643B2 (en) 2017-03-13 2021-07-06 Mediatek Inc. Method and apparatus for generating and encoding projection-based frame that includes at least one padding region and at least one projection face packed in 360-degree virtual reality projection layout
US11004173B2 (en) * 2017-03-13 2021-05-11 Mediatek Inc. Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout
US10887600B2 (en) * 2017-03-17 2021-01-05 Samsung Electronics Co., Ltd. Method and apparatus for packaging and streaming of virtual reality (VR) media content
EP3586315B1 (en) * 2017-03-28 2024-06-26 Samsung Electronics Co., Ltd. Method and apparatus for displaying image based on user motion information
WO2018182144A1 (ko) * 2017-03-29 2018-10-04 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US10979663B2 (en) * 2017-03-30 2021-04-13 Yerba Buena Vr, Inc. Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
EP3416381A1 (en) * 2017-06-12 2018-12-19 Thomson Licensing Method and apparatus for providing information to a user observing a multi view content
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10523913B2 (en) 2017-06-30 2019-12-31 Apple Inc. Packed image format for multi-directional video
US10754242B2 (en) * 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN108520232B (zh) * 2017-08-16 2020-07-24 威盛电子股份有限公司 立体环景影片产生方法及装置
US11494870B2 (en) 2017-08-18 2022-11-08 Mediatek Inc. Method and apparatus for reducing artifacts in projection-based frame
WO2019037558A1 (zh) * 2017-08-22 2019-02-28 优酷网络技术(北京)有限公司 图像处理方法和装置
KR102537024B1 (ko) * 2017-09-29 2023-05-25 한국항공대학교산학협력단 프레임 패킹을 제공하는 가상 현실 영상의 부호화/복호화 방법 및 그 장치
EP3639523A1 (en) * 2017-11-14 2020-04-22 Samsung Electronics Co., Ltd. Method and apparatus for managing a wide view content in a virtual reality environment
WO2019117569A1 (en) 2017-12-14 2019-06-20 Samsung Electronics Co., Ltd. Method and apparatus for managing immersive data
US11069026B2 (en) * 2018-03-02 2021-07-20 Mediatek Inc. Method for processing projection-based frame that includes projection faces packed in cube-based projection layout with padding
US10715832B2 (en) * 2018-03-16 2020-07-14 Mediatek Inc. Method and apparatus of block partition for VR360 video coding
US11232532B2 (en) * 2018-05-30 2022-01-25 Sony Interactive Entertainment LLC Multi-server cloud virtual reality (VR) streaming
US10740957B1 (en) * 2018-06-14 2020-08-11 Kilburn Live, Llc Dynamic split screen
US10573060B1 (en) * 2018-06-14 2020-02-25 Kilburn Live, Llc Controller binding in virtual domes
US11108841B2 (en) 2018-06-19 2021-08-31 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for heterogeneous segmentation of video streaming
US10939139B2 (en) 2018-11-29 2021-03-02 Apple Inc. Adaptive coding and streaming of multi-directional video
US20220084282A1 (en) * 2019-03-05 2022-03-17 Sony Group Corporation Image processing device, image generation method, and image processing method
US20220150464A1 (en) * 2019-03-08 2022-05-12 Sony Group Corporation Image processing apparatus, image processing method, and image processing program
CN109978758B (zh) * 2019-03-25 2022-06-21 深圳职业技术学院 一种基于计算机图形图像的三维建模方法
US11979544B2 (en) 2019-05-24 2024-05-07 Lg Electronics Inc. 360 video transmission method, 360 video reception method, 360 video transmission apparatus, and 360 video reception apparatus
US11190801B2 (en) * 2019-07-02 2021-11-30 Mediatek Inc. Video encoding method with syntax element signaling of mapping function employed by cube-based projection and associated video decoding method
US11190768B2 (en) 2019-07-02 2021-11-30 Mediatek Inc. Video encoding method with syntax element signaling of packing of projection faces derived from cube-based projection and associated video decoding method and apparatus
US11659206B2 (en) 2019-07-02 2023-05-23 Mediatek Inc. Video encoding method with syntax element signaling of guard band configuration of projection-based frame and associated video decoding method and apparatus
US11956295B2 (en) 2019-09-27 2024-04-09 Apple Inc. Client-end enhanced view prediction for multi-view video streaming exploiting pre-fetched data and side information
GB2590131B (en) * 2020-09-18 2022-01-26 Off World Live Ltd Efficient graphical processing in 360-degree spherical space
KR20220037617A (ko) * 2020-09-18 2022-03-25 삼성전자주식회사 엣지 컴퓨팅 서비스를 이용한 동영상 처리 방법 및 장치
CN112406706B (zh) * 2020-11-20 2022-07-22 上海华兴数字科技有限公司 车辆景象的显示方法、装置、可读存储介质及电子设备
US11475229B2 (en) * 2021-03-22 2022-10-18 International Business Machines Corporation Composite matrix code array
US11743440B2 (en) * 2021-04-19 2023-08-29 Apple Inc. Transmission and consumption of multiple image subframes via superframe

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0650144A1 (en) * 1993-10-26 1995-04-26 Xerox Corporation Image lens
WO2002015110A1 (en) * 1999-12-07 2002-02-21 Fraunhofer Crcg, Inc. Virtual showcases
CN101887595A (zh) * 2009-05-14 2010-11-17 武汉如临其境科技创意有限公司 基于四叉树索引的三维数字地球空间数据组织渲染方法
WO2012054231A2 (en) * 2010-10-04 2012-04-26 Gerard Dirk Smits System and method for 3-d projection and enhancements for interactivity
US20140087867A1 (en) * 2012-09-26 2014-03-27 Igt Wearable display system and method
CN104217459A (zh) * 2014-09-04 2014-12-17 天津大学 一种球面特征提取方法
GB2520822A (en) * 2014-10-10 2015-06-03 Aveva Solutions Ltd Image rendering of laser scan data
EP2963938A1 (en) * 2013-02-27 2016-01-06 Brother Kogyo Kabushiki Kaisha Terminal device, program, and information processing device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850352A (en) * 1995-03-31 1998-12-15 The Regents Of The University Of California Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images
US6195204B1 (en) * 1998-08-28 2001-02-27 Lucent Technologies Inc. Compact high resolution panoramic viewing system
WO2008081961A1 (ja) 2007-01-04 2008-07-10 Hajime Narukawa 情報処理方法
US7781716B2 (en) 2008-03-17 2010-08-24 Eastman Kodak Company Stacked image sensor with shared diffusion regions in respective dropped pixel positions of a pixel array
GB201019567D0 (en) * 2010-11-19 2010-12-29 Zenith Oilfield Technology Ltd High temperature downhole gauge system
WO2013188690A2 (en) 2012-06-15 2013-12-19 Michael Wang Projector based display systems and methods
US10204658B2 (en) * 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US20160277772A1 (en) 2014-09-30 2016-09-22 Telefonaktiebolaget L M Ericsson (Publ) Reduced bit rate immersive video
US10096130B2 (en) * 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
US9858706B2 (en) 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0650144A1 (en) * 1993-10-26 1995-04-26 Xerox Corporation Image lens
WO2002015110A1 (en) * 1999-12-07 2002-02-21 Fraunhofer Crcg, Inc. Virtual showcases
CN101887595A (zh) * 2009-05-14 2010-11-17 武汉如临其境科技创意有限公司 基于四叉树索引的三维数字地球空间数据组织渲染方法
WO2012054231A2 (en) * 2010-10-04 2012-04-26 Gerard Dirk Smits System and method for 3-d projection and enhancements for interactivity
US20140087867A1 (en) * 2012-09-26 2014-03-27 Igt Wearable display system and method
EP2963938A1 (en) * 2013-02-27 2016-01-06 Brother Kogyo Kabushiki Kaisha Terminal device, program, and information processing device
CN104217459A (zh) * 2014-09-04 2014-12-17 天津大学 一种球面特征提取方法
GB2520822A (en) * 2014-10-10 2015-06-03 Aveva Solutions Ltd Image rendering of laser scan data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YONGGAO YANG: "NONLINEAR PROJECTION: USING DEFORMATIONS IN 3D VIEWING", 《COMPUTING IN SCIENCE & ENGINEERING, COPUBLISHED BY THE IEEE CS AND THE AIP》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113163184A (zh) * 2021-03-25 2021-07-23 复旦大学 一种面向vr自适应传输的投影算法

Also Published As

Publication number Publication date
US20170280126A1 (en) 2017-09-28
JP2019509690A (ja) 2019-04-04
BR112018069214A2 (pt) 2019-01-22
WO2017164986A1 (en) 2017-09-28
WO2017164986A9 (en) 2018-10-18
EP3433831A1 (en) 2019-01-30
CN108780567B (zh) 2022-07-26
KR20180124046A (ko) 2018-11-20
US10319071B2 (en) 2019-06-11
JP6640373B2 (ja) 2020-02-05
CA3015474A1 (en) 2017-09-28
EP3433831B1 (en) 2024-07-10

Similar Documents

Publication Publication Date Title
CN108780567A (zh) 用于表示虚拟现实视频内容的截顶正方形金字塔几何结构和帧打包结构
US11798166B2 (en) Sphere pole projections for efficient compression of 360-degree video
CN110168600A (zh) 调整360度视频的截顶正方形棱锥投影的视场
CN110419221B (zh) 自适应扰动立方体的地图投影
CN110024400B (zh) 感兴趣区的信号发送的系统和方法
KR102373921B1 (ko) 360 도 비디오에 대한 렌즈 왜곡 보정을 갖는 어안 렌더링
US10839480B2 (en) Sphere equator projection for efficient compression of 360-degree video
CN110447226A (zh) 用于对360度视频进行译码的自适应参数
CN110036636A (zh) 用于360度视频的视口感知质量度量

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