CN110637463B - 360度视频处理方法 - Google Patents
360度视频处理方法 Download PDFInfo
- Publication number
- CN110637463B CN110637463B CN201780090854.5A CN201780090854A CN110637463B CN 110637463 B CN110637463 B CN 110637463B CN 201780090854 A CN201780090854 A CN 201780090854A CN 110637463 B CN110637463 B CN 110637463B
- Authority
- CN
- China
- Prior art keywords
- region
- rai
- picture
- degree video
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 124
- 238000012856 packing Methods 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000009466 transformation Effects 0.000 claims description 60
- 230000008859 change Effects 0.000 claims description 26
- 238000009877 rendering Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 abstract description 250
- 230000008569 process Effects 0.000 abstract description 198
- 239000012634 fragment Substances 0.000 description 17
- 230000011664 signaling Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 8
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 8
- 238000002360 preparation method Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000012858 packaging process Methods 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 241000209149 Zea Species 0.000 description 2
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 description 2
- 235000002017 Zea mays subsp mays Nutrition 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 235000005822 corn Nutrition 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 102100028735 Dachshund homolog 1 Human genes 0.000 description 1
- 101000915055 Homo sapiens Dachshund homolog 1 Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- SSJXIUAHEKJCMH-UHFFFAOYSA-N cyclohexane-1,2-diamine Chemical compound NC1CCCCC1N SSJXIUAHEKJCMH-UHFFFAOYSA-N 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
- H04N13/178—Metadata, e.g. disparity information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据本公开的实施例的一种由360视频传输装置执行的360度视频数据处理方法,包括下述步骤:获取由至少一个相机捕获的360度视频数据;通过处理360度视频数据来获取投影图片;通过将按区域打包应用于投影图片来获取打包图片;生成关于360视频数据的元数据;对打包图片进行编码;以及执行用于对编码图片和元数据的存储或传输的处理,其中打包图片包括打包图片的目标区域的至少一个按区域辅助信息(RAI)区域,并且其中元数据包括表示RAI区域的类型的信息。
Description
技术领域
本公开涉及360度视频,并且更具体地,涉及用于发送和接收360度视频的方法和装置。
背景技术
虚拟现实(VR)***使用户感觉仿佛在电子投影环境中一样。可以改进用于提供VR的***,以便于提供具有更高图片质量和空间声音的图像。VR***允许用户以交互方式消费VR内容。
发明内容
本公开的目的是为了提供一种用于提供VR***的、用于改进VR视频数据传输效率的方法和装置。
本公开的另一个目的是为了提供一种用于发送VR视频数据和关于VR视频数据的元数据的方法和装置。
本公开的另一个目的是为了提供一种用于发送VR视频数据和关于VR视频数据的基于区域的打包过程的元数据的方法和装置。
本公开的另一个目的是提供一种用于发送VR视频数据和VR视频数据被映射到的区域的基于区域的附加信息的元数据的方法和装置。
根据本公开的实施例,提供一种由360视频传输装置执行的360度视频数据处理方法。该方法包括,获取由至少一个相机捕获的360度视频数据;通过处理360度视频数据来获取投影图片;通过将按区域打包应用于投影图片来获取打包图片;生成关于该360度视频数据的元数据;对打包图片进行编码;以及执行用于对编码图片和元数据的存储或传输的处理,其中打包图片包括打包图片的目标区域的至少一个按区域辅助信息(RAI)区域,并且其中元数据包括表示RAI区域的类型的信息。
根据本公开的另一实施例,提供一种处理360度视频数据的360度视频传输装置。360度视频传输装置包括,数据输入器,用于获取由至少一个相机捕获的360度视频数据;投影处理器,用于通过处理360度视频数据来获取投影图片;按区域打包处理器,用于通过将按区域打包应用于投影图片来获取打包图片;元数据处理器,用于生成用于360度视频数据的元数据;数据编码器,用于对打包的图片进行编码;以及传输处理器,用于执行用于对编码图片和元数据的存储或者传输的处理,其中打包图片包括打包图片的目标区域的至少一个按区域辅助信息(RAI)区域,其中元数据包括表示RAI区域类型的信息。
根据本公开的又一个实施例,提供一种由360视频接收装置执行的360度视频数据处理方法。该方法包括,接收包括关于360度视频数据的打包图片的信息和关于360度视频数据的元数据的信号,通过处理该信号来获取关于打包图片的信息和元数据,基于关于打包图片的信息来解码打包图片,以及通过基于元数据处理解码图片,在3D空间上渲染解码图片,其中打包图片包括打包图片的目标区域的至少一个按区域辅助信息(RAI)区域,并且其中,元数据包括表示RAI区域的类型的信息。
根据本公开的另一实施例,一种用于处理360度视频数据的360度视频接收装置。360视频接收装置包括,接收器,用于接收包括关于360度视频数据的打包图片的信息和关于360度视频数据的元数据的信号;接收处理器,用于通过处理信号来获取关于打包图片的信息和元数据;数据解码器,用于基于关于打包图片的信息对打包图片进行解码;以及渲染器,用于通过基于元数据处理解码图片,在3D空间上渲染解码图片,其中打包图片包括打包图片的目标区域的至少一个按区域辅助信息(RAI)区域,并且其中元数据包括表示RAI区域的类型的信息。
发明效果
根据本公开,可以在支持使用地面广播网络和互联网的下一代混合广播的环境中有效地发送360度内容。
根据本公开,可以提出一种用于在用户的360度内容消费中提供交互体验的方法。
根据本公开,可以提出一种用于在用户的360度内容消费中正确反映360度内容提供商的意图的信令的方法。
根据本公开,可以提出一种用于在360度内容传输中有效地增加传输容量并转发必要信息的方法。
根据本公开,可以发送针对360度视频数据投影和按区域打包过程的元数据,从而提高传输效率。
附图说明
图1是图示根据本公开的用于提供360度视频的总体架构的视图。
图2和图3是图示根据本公开的实施例的媒体文件的结构的视图。
图4图示基于DASH的自适应流模型的整体操作的示例。
图5是示意性地图示可应用本公开的360度视频传输装置的配置的视图。
图6是示意性地图示可应用本公开的360度视频接收装置的配置的视图。
图7图示用于提供由360度视频传输装置/360度视频接收装置执行的360度视频的整个架构。
图8a至图8d图示用于提供考虑由360度视频传输装置/360度视频接收装置执行的RAI区域的360度视频的整体架构。
图9a至图9c图示用于按区域辅助信息的元数据的示例。
图10图示表示用于扩展区域的信息的元数据的示例。
图11a和11b图示根据按区域辅助信息的类型的按区域辅助信息。
图12图示针对应用ERP的打包图片的区域的RAI区域的示例。
图13图示对其应用包括RAI区域的ERP的打包图片的示例。
图14图示通过后处理补偿打包图片中的区域之间的质量差异的示例。
图15图示通过被包括在VisualSampleEntry或HEVCSampleEntry中被发送的RegionWiseAuxiliaryInformationSEIBox。
图16a至图16c图示根据本公开的实施例的RegionWiseAuxiliaryInformationStruct类。
图17图示根据本公开的实施例的ExtendedCoverageInformation类。
图18图示根据本公开的实施例的RectRegionPacking类。
图19图示通过被包括在VisualSampleEntry或HEVCSampleEntry中被发送的RegionWiseAuxiliaryInformationStruct类。
图20图示将RegionWiseAuxiliaryInformationStruct类定义为定时元数据的示例。
图21a至图21f图示与基于DASH的描述符格式中描述的按区域辅助信息有关的元数据的示例。
图22示意性地图示根据本公开的用于由360度视频传输装置处理360度视频数据的方法。
图23示意性地图示根据本公开的用于由360度视频接收装置处理360度视频数据的方法。
具体实施方式
可以以各种形式修改本公开,并且将在附图中描述和图示其具体实施例。然而,实施例并不旨在限制本公开。在以下描述中使用的术语仅用于描述特定实施例,而不旨在限制本公开。只要清楚地以不同的方式理解,单数的表达包括复数的表达。诸如“包括”和“具有”的术语旨在指示存在在下面的描述中使用的特征、数量、步骤、操作、元件、组件或其组合,并且因此应理解一个或多个不同特征、数量、步骤、操作、元件、组件或其组合的存在或者添加没有被排除。
另一方面,在本公开中描述的附图中的元件是为了方便地解释不同的特定功能而被独立地绘制,并不意味着该元件由独立的硬件或独立的软件来体现。例如,可以将元件中的两个或更多个元件组合以形成单个元件,或者可以将一个元件划分为多个元件。在不脱离本公开的概念的情况下其中元件被组合和/或划分的实施例属于本公开。
在下文中,将参考附图更详细地描述本公开的优选实施例。在下文中,在整个说明书中将使用相同的附图标记指代相同的组件,并且将省略相同组件的冗余描述。
图1是图示根据本公开的用于提供360度视频的总体架构的视图。
本公开提出一种提供360度内容以便向用户提供虚拟现实(VR)的方法。VR可以是指用于复制实际或虚拟环境的技术或那些环境。VR人为地为用户提供感官体验,并且因此用户可以体验电子投影的环境。
360内容是指用于实现和提供VR的内容,并且可以包括360度视频和/或360度音频。360度视频可以指的提供VR所需的并且在所有方向上(360度)捕获或再现的视频或图像内容。在下文中,360度视频可以指的是360度视频。360度视频可以指的是根据3D模型以各种形式在3D空间上表示的视频或图像。例如,可以在球面上表示360度视频。360度音频是用于提供VR的音频内容,并且可以指的是其音频生成源可以被识别为位于特定3D空间中的空间音频内容。可以生成、处理并且将360内容发送给用户,并且用户可以使用360内容来消费VR体验。
特别地,本公开提出一种用于有效地提供360度视频的方法。为了提供360度视频,可以通过一个或多个相机捕获360度视频。可以通过一系列处理来发送捕获的360度视频,并且接收侧可以将所发送的360度视频处理为原始360度视频并渲染360度视频。以这种方式,可以将360度视频提供给用户。
具体地,用于提供360度视频的过程可以包括捕获过程、准备过程、传输过程、处理过程、渲染过程和/或反馈过程。
捕获过程可以指的是通过一个或多个相机捕获针对多个视点的图像或视频的过程。图1中所示的图像/视频数据110可以通过捕获过程被生成。图1中110的每个平面可以表示每个视点的图像/视频。多个捕获的图像/视频可以被称为原始数据。可以在捕获过程中生成与捕获有关的元数据。
为了捕获,可以使用用于VR的专用相机。当根据实施例提供关于由计算机生成的虚拟空间的360度视频时,可以不执行通过实际相机的捕获。在这种情况下,简单地生成相关数据的过程可以代替捕获过程。
准备过程可以是处理捕获的图像/视频和在捕获过程中生成的元数据的过程。在准备过程期间,捕获的图像/视频可以经历拼接过程、投影过程、按区域打包过程和/或编码过程。
首先,每个图像/视频可以经历拼接过程。拼接过程可以是连接捕获的图像/视频以生成一个全景图像/视频或球形图像/视频的过程。
随后,可以对拼接的图像/视频进行投影过程。在投影过程中,可以将拼接的图像/视频投影到2D图像上。根据上下文,可以将2D图像称为2D图像帧。在2D图像上的投影可以被称为到2D图像的映射。投影的图像/视频数据可以具有图1中的2D图像120的形式。
投影在2D图像上的视频数据可以进行按区域打包过程,以便于提高视频编码效率。按区域打包可以指的是将投影在2D图像上的视频数据划分成区域进行处理的过程。在此,区域可以指2D图像的划分区域。根据实施例,可以通过均等地或任意地划分2D图像来获得区域。此外,在实施例中,可以根据投影方案来划分区域。按区域打包过程是可选过程,并且在准备过程中可以省略。
根据实施例,处理过程可以包括旋转区域或在2D图像上重新排列区域以便于提高视频编码效率的过程。例如,可以旋转区域,使得区域的特定的边彼此接近地定位,以改进编码效率。
根据实施例,处理过程可以包括增加或减小特定区域的分辨率以便区分360度视频的区域的分辨率的过程。例如,可以将与360度视频中相对更重要的区域相对应的区域的分辨率增加到高于其他区域的分辨率。可以通过视频编解码器对投影在2D图像上的视频数据或按区域打包的视频数据进行编码处理。
根据一个实施例,准备过程可以进一步包括附加的编辑过程。在该编辑过程中,可以对投影之前和之后的图像/视频数据执行编辑。在准备过程中,也可以生成关于拼接/投影/编码/编辑的元数据。此外,可以生成关于投影在2D图像上的视频数据的初始视点或感兴趣区域(ROI)的元数据。
传输过程可以是处理和发送已经经过准备过程的图像/视频数据和元数据的过程。可以执行根据任意传输协议的处理以进行传输。可以通过广播网络和/或宽带来传递已经被处理用于传输的数据。这样的数据可以按需方式传递到接收侧。接收侧可以通过各种路径接收数据。
处理过程可以指的是对接收的数据进行解码并且将投影的图像/视频数据重新投影到3D模型上的过程。在此过程中,可以将投影到2D图像上的图像/视频数据重新投影到3D空间上。根据上下文,此过程可以称为映射或投影。在此,根据3D模型,图像/视频数据被映射到的3D模型可以具有不同的形式。例如,3D模型可以包括球体、立方体、圆柱体和锥体。
根据实施例,处理过程可以附加地包括编辑过程和放大过程等。在编辑过程中,可以进一步执行对重新投影之前和之后的图像/视频数据的编辑。当图像/视频数据已经减少时,可以通过在放大过程中放大样本来增大图像/视频数据的大小。可以根据需要执行通过缩小来减小大小的操作。
渲染过程可以指渲染和显示重新投影在3D空间上的图像/视频数据的过程。重新投影和渲染可以被组合并表示为在3D模型上的渲染。重新投影到3D模型上(或渲染到3D模型上)的图像/视频可以具有图1中所示的形式130。图1中所示的形式130对应于其中图像/视频被重新投影在3D球形模型上的情况。用户可以通过VR显示器查看渲染图像/视频的区域。在此,用户观看的区域可以具有图1中所示的形式140。
反馈过程可以指的是将可以在显示过程中获取的各种类型的反馈信息传递到传输侧的过程。可以通过反馈过程提供360度视频消费中的交互性。根据实施例,可以在反馈过程中将头部定向信息、表示用户当前观看的区域的视口信息等传递到传输侧。根据实施例,用户可以与在VR环境中实现的对象进行交互。在这种情况下,可以在反馈过程中将关于交互的信息传递到传输侧或服务提供商。根据实施例,可以不执行反馈过程。
头部定向信息可以指关于用户的头部的位置、角度、运动等的信息。基于此信息,可以计算关于用户当前正在观看的360度视频中的区域的信息,即,视口信息。
视口信息可以是关于用户当前正在观看的360度视频中的区域的信息。可以通过视点信息执行注视分析,以检查用户如何消费360度视频、用户注视360度视频的哪个区域、注视该区域多长时间等。凝视分析可以在接收侧执行,并且其结果可以通过反馈信道被传递到传输侧。诸如VR显示器的设备可以基于用户头部的位置/方向、该设备所支持的关于垂直或水平视场(FOV)的信息等来提取视口区域。
根据实施例,前述反馈信息可以不仅可以被发送到传输侧还可以在接收侧被消费。即,可以使用上述反馈信息在接收侧执行解码、重新投影和渲染。例如,可以使用头部定向信息和/或视口信息仅对相对于用户当前观看的区域的360度视频进行优先解码和渲染。
这里,视口或视口区域可以指用户正在观看的360度视频中的区域。视点是用户正在观看的360度视频中的点,并且可以指视口区域的中心点。即,视口是在其中心具有视点的区域,并且该区域的尺寸和形状可以通过将在后面描述的FOV来确定。
在上述用于提供360度视频的总体体系结构中,经历捕获/投影/编码/传输/解码/重新投影/渲染过程的图像/视频数据可以被称为360度视频数据。术语“360度视频数据”可以用作包括与这样的图像/视频数据有关的元数据和信令信息的概念。
为了存储和发送诸如上述音频和视频数据的媒体数据,可以定义标准化的媒体文件格式。根据实施例,媒体文件可以具有基于ISO BMFF(ISO基本媒体文件格式)的文件格式。
图2和图3是图示根据本公开的实施例的媒体文件的结构的视图。
根据本公开的媒体文件可以包括至少一个盒子(box)。这里,盒子可以是包括媒体数据或与媒体数据有关的元数据的数据块或对象。盒子可以具有层级结构,并且因此可以对数据进行分类,并且媒体文件可以具有适合于存储和/或传输大容量媒体数据的格式。此外,媒体文件可以具有允许用户容易地访问媒体信息,诸如移动到媒体内容的特定点的结构。
根据本公开的媒体文件可以包括ftyp盒子、moov盒子和/或mdat盒子。
ftyp盒子(文件类型盒子)可以提供有关相应媒体文件的文件类型或与兼容性相关的信息。该ftyp盒子可以包括关于相应媒体文件的媒体数据的配置版本信息。解码器可以参考ftyp盒子识别相应的媒体文件。
moov盒子(电影盒子)可以是包括关于相应媒体文件的媒体数据的元数据的盒子。moov盒子可以用作所有元数据的容器。moov盒子可能是与元数据相关的盒子中的最高层。根据一个实施例,媒体文件中仅可以存在一个moov盒子。
mdat盒子(媒体数据盒子)可以是包含相应媒体文件的实际媒体数据的盒子。媒体数据可以包括音频样本和/或视频样本。mdat盒子可用作包含此类媒体样本的容器。
根据一个实施例,前述的moov盒子可以进一步包括mvhd盒子、trak盒子和/或mvex盒子作为下位盒子。
mvhd盒子(电影报头盒子)可以包含与相应媒体文件中包含的媒体数据的媒体呈现有关的信息。即,mvhd盒子可以包括诸如相应媒体的媒体生成时间、改变时间、时间标准和期限的信息。
trak盒子(轨道盒子)可以提供有关相应媒体数据轨道的信息。trak盒子可以包括诸如关于音频轨道或视频轨道的流相关信息、呈现相关信息和访问相关信息的信息。根据轨道的数量,可以存在多个trak盒子。
trak盒子还可以包括作为下位盒子的tkhd盒子(轨道报头盒子)。tkhd盒子可以包含有关trak盒子指示的轨道的信息。该tkhd盒子可以包括诸如相应轨道的生成时间、改变时间和轨道标识符的信息。
mvex盒子(电影扩展盒子)可以指示相应的媒体文件可能具有moof盒子,稍后将对此进行描述。为了识别特定轨道的所有媒体样本,可能需要扫描moof盒子。
根据一个实施例,根据本公开的媒体文件可以被划分为多个分片(200)。因此,媒体文件可以被分段来存储或发送。媒体文件的媒体数据(mdat盒子)可以被划分成多个分片,并且每个分片可以包括moof盒子和被划分的mdat盒子。根据实施例,可能需要使用ftyp盒子和/或moov盒子的信息以使用分片。
moof box(电影分片盒子)可以提供有关相应分片的媒体数据的元数据。moof盒子可以是与相应分片的元数据有关的盒子之中的最高层的盒子。
mdat盒子(媒体数据盒子)可以包含如上所述的实际媒体数据。mdat盒子可以包括与对应于其的每个分片相对应的媒体数据的媒体样本。
根据实施例,前述的moof盒子可以进一步包括mfhd盒子和/或traf盒子作为下位盒子。
mfhd盒子(电影分片报头盒子)可以包含有关划分的分片之间的相关性的信息。mfhd盒子可以通过包含序列号来指示相应分片的划分媒体数据的顺序。此外,可以使用mfhd盒子检查在划分的数据中是否有丢失的数据。
traf盒子(轨道分片盒子)可以包含有关相应轨道分片的信息。traf盒子可以提供有关包含在相应分片中的划分的轨道分片的元数据。traf盒子可以提供元数据,使得对应的轨道分片中的媒体样本可以被解码/再现。根据轨道分片的数量,可以存在多个traf盒子。
根据实施例,前述的traf盒子可以进一步包括作为下位盒子的tfhd盒子和/或trun盒子。
tfhd盒子(轨道分片报头盒子)可以包含相应轨道分片的报头信息。tfhd盒子可以提供信息,诸如由上述的traf盒子指示的轨道分片的媒体样本的基本样本大小、时段、偏移和标识符。
trun盒子(轨道分片运行盒子)可以包含与相应轨道分片有关的信息。trun盒子可以包括诸如每个媒体样本的时段、大小和再现时间的信息。
前述媒体文件及其分片可以被处理成片段并被发送。片段可以包括初始化片段和/或媒体片段。
所图示的实施例210的文件可以包括除了媒体数据之外的与媒体解码器初始化有关的信息。例如,该文件可以对应于上述初始化片段。初始化片段可以包括上述的ftyp盒子和/或moov盒子。
所图示的实施例220的文件可以包括上述分片。例如,该文件可以对应于上述媒体片段。媒体片段可以进一步包括styp盒子和/或sidx盒子。
styp盒子(片段类型盒子)可以提供用于标识划分的分片的媒体数据的信息。styp盒子可以用作上述划分的分片的ftyp盒子。根据实施例,styp盒子可以具有与ftyp盒子相同的格式。
sidx盒子(片段索引盒子)可以提供指示划分的分片的索引的信息。因此,可以指示划分的分片的顺序。
根据实施例230,可以进一步包括ssix盒子。ssix盒子(子片段索引盒子)可以提供指示在将片段划分为子片段时子片段索引的信息。
媒体文件中的盒子可以包括基于盒子或FullBox的更多扩展信息,如所图示的的实施例250中所示。在本实施例中,size字段和largesize字段可以以字节为单位表示相应盒子的长度。version字段可以指示相应盒子格式的版本。type字段可以指示相应盒子的类型或标识符。flag字段可以指示与相应盒子相关联的标志。
同时,可以在基于DASH的自适应流模型中包括并传递本公开的360度视频的字段(属性)。
图4图示基于DASH的自适应流模型的整体操作的示例。根据图示的实施例400的基于DASH的自适应流传输模型描述HTTP服务器和DASH客户端之间的操作。在此,DASH(基于HTTP的动态自适应流)是用于支持基于HTTP的自适应流的协议,并且可以根据网络状态动态地支持流。因此,可以提供无缝的AV内容再现。
首先,DASH客户端可以获取MPD。可以从诸如HTTP服务器的服务提供商传递MPD。DASH客户端可以使用MPD中描述的有关访问片段的信息将对相应片段的请求发送到服务器。在此,可以基于网络状态执行请求。
在获取片段之后,DASH客户端可以在媒体引擎中处理这些片段,并将处理后的片段显示在屏幕上。DASH客户端可以通过实时反映其中的再现时间和/或网络状态(自适应流)来请求和获取必要的片段。因此,可以无缝地再现内容。
MPD(媒体呈现描述)是包括使DASH客户端可以动态获取片段的详细信息,并可以XML格式表示。
DASH客户端控制器可以基于网络状态生成用于请求MPD和/或片段的命令。此外,该控制器可以控制诸如媒体引擎的内部块以能够使用所获取的信息。
MPD解析器可以实时解析获取的MPD。因此,DASH客户端控制器可以生成用于获取必要片段的命令。
片段解析器可以实时解析获取的片段。诸如媒体块的内部块可以根据片段中包括的信息执行特定的操作。
HTTP客户端可以将对必要的MPD和/或片段的请求发送到HTTP服务器。此外,HTTP客户端可以将MPD和/或从服务器获取的片段传输到MPD解析器或片段解析器。
媒体引擎可以使用片段中包括的媒体数据在屏幕上显示内容。在此,可以使用MPD的信息。
DASH数据模型可以具有层级结构410。媒体呈现可以由MPD描述。MPD可以描述形成媒体呈现的多个时段的时间序列。时段(period)可以表示媒体内容的一个时段。
在一个时段内,数据可以被包括在自适应集(adaptation set)中。自适应集可以是多个可交换媒体内容组件的集合。自适应可以包括表示(representation)的集合。表示可以对应于媒体内容组件。内容可以在一个表示内暂时地划分成多个片段。这可能是为了可接入性和传递。为了访问每个片段,可以提供每个片段的URL。
MPD可以提供与媒体呈现有关的信息,并且时段元素、自适应集元素和表示元素可以分别描述对应的时段、自适应集和表示。表示可以被划分成子表示,并且子表示元素可以描述相应的子表示。
这里,可以定义公共属性/元素。可以将公共属性/元素应用于(包括在)自适应集、表示和子表示中。共同属性/元素可以包括必要属性和/或补充属性。
必要属性是包括被视为在处理与相应媒体呈现有关的数据中的必要元素的元素的信息。补充属性是包括可用于处理与相应媒体呈现有关的数据的元素的信息。根据实施例,当稍后将描述的描述符通过MPD传递时,可以在必要属性和/或补充属性中定义描述符并且进行传递。
图5是示意性地图示可应用本公开的360度视频传输装置的配置的视图。
根据本公开的360度视频传输装置可以执行与上述准备过程和传输过程有关的操作。360度视频传输装置可以包括数据输入单元、拼接器、投影处理器、按区域打包处理器(未示出)、元数据处理器、(传输侧)反馈处理器、数据编码器、封装处理器、传输处理器和/或发射器作为内部/外部元件。
数据输入单元可以接收针对各个视点的捕获图像/视频。各个视点的图像/视频可以是由一个或多个相机捕获的图像/视频。此外,数据输入单元可以接收在捕获过程中生成的元数据。数据输入单元可以将所接收的针对视点的图像/视频转发给拼接器,并且将在捕获过程中生成的元数据转发给信令处理器。
拼接器可以对捕捉到的视点的图像/视频执行拼接操作。拼接器可以将拼接的360度视频数据转发到投影处理器。拼接器可以从元数据处理器接收必要的元数据,并且根据需要将元数据用于拼接操作。拼接器可以将在拼接过程中生成的元数据转发到元数据处理器。拼接过程中的元数据可以包括诸如表示是否已经执行拼接的信息以及拼接类型的信息。
投影处理器可以将拼接的360度视频数据投影到2D图像上。投影处理器可以根据稍后将描述的各种方案来执行投影。投影处理器可以考虑每个视点的360度视频数据的深度来执行映射。投影处理器可以从元数据处理器接收投影所需的元数据,并根据需要将元数据用于投影操作。投影处理器可以将在投影过程中生成的元数据转发到元数据处理器。在投影处理器中生成的元数据可以包括投影方案类型等。
按区域打包处理器(未示出)可以执行上述按区域打包过程。即,按区域打包处理器可以执行将投影的360度视频数据划分为多个区域并旋转和重新排列区域或改变每个区域的分辨率的过程。如上所述,按区域打包过程是可选的,并且因此当不执行按区域打包时,可以省略按区域打包处理器。按区域打包处理器可以从元数据处理器接收按区域打包所需的元数据,并根据需要将元数据用于按区域打包操作。按区域打包处理器可以将在按区域打包过程中生成的元数据转发到元数据处理器。在按区域打包的处理器中生成的元数据可以包括每个区域的旋转度、大小等。
根据实施例,前述的拼接器、投影处理器和/或按区域打包处理器可以集成到单个硬件组件中。
元数据处理器可以处理可以在捕获过程、拼接过程、投影过程、按区域打包过程、编码过程、封装过程和/或传输过程中生成的元数据。元数据处理器可以使用此类元数据生成与360度视频相关的元数据。根据实施例,元数据处理器可以以信令表的形式生成与360度视频相关的元数据。根据信令上下文,与360度视频有关的元数据也可以称为元数据或与360度视频有关的信令信息。此外,元数据处理器可以根据需要将获取或生成的元数据转发到360度视频传输装置的内部元件。元数据处理器可以将360度视频相关的元数据转发到数据编码器、封装处理器和/或传输处理器,使得可以将360度视频相关的元数据发送到接收侧。
数据编码器可以对投影在2D图像上的360度视频数据和/或按区域打包的360度视频数据进行编码。360度视频数据可以以各种格式被编码。
封装处理器可以以文件格式封装编码的360度视频数据和/或与360度视频相关的元数据。在此,可以从元数据处理器接收与360度视频相关的元数据。封装处理器可以以诸如ISOBMFF、CFF等的文件格式封装数据,或者将数据处理为DASH片段等。封装处理器可以将与360度视频相关的元数据包括在文件格式中。例如,与360度视频相关的元数据可以被包括在具有SOBMFF中的各种级别的盒子中,或者可以被包括为文件中的单独轨道的数据。根据实施例,封装处理器可以将与360度视频相关的元数据封装到文件中。传输处理器可以根据文件格式对封装的360度视频数据进行传输处理。传输处理器可以根据任意传输协议来处理360度视频数据。用于传输的处理可以包括用于在广播网络上进行传递的处理和用于在宽带上进行传递的处理。根据实施例,传输处理器可以从元数据处理器接收360度视频相关的元数据以及360度视频数据,并且对360度视频相关元数据执行传输处理。
发射器可以通过广播网络和/或宽带发送为了传输而处理的360度视频数据和/或与360度视频相关的元数据。发射器可以包括用于通过广播网络传输的元件和/或用于通过宽带传输的元件。
根据本公开的360度视频传输装置的实施例,360度视频传输装置还可以包括数据存储单元(未示出)作为内部/外部元件。在将编码的360度视频数据和/或与360度视频相关的元数据传递到传输处理器之前,数据存储单元可以存储编码的360度视频数据和/或与360度视频相关的元数据。这样的数据可以以诸如ISOBMFF的文件格式存储。尽管在实时发送360度视频时可能不需要数据存储单元,但是可以在确定的时间段内将封装的360度数据存储在数据存储介质,并且然后在通过宽带传递封装的360度数据时进行发送。
根据本公开的360度视频传输装置的另一实施例,360度视频传输装置可以进一步包括(传输侧)反馈处理器和/或网络接口(未示出)作为内部/外部元件。网络接口可以从根据本公开的360度视频接收装置接收反馈信息,并将该反馈信息转发到传输侧反馈处理器。传输侧反馈处理器可以将反馈信息转发给拼接器、投影处理器、按区域打包处理器、数据编码器、封装处理器、元数据处理器和/或传输处理器。根据实施例,反馈信息可以被传递到元数据处理器,并且然后被传递到每个内部元件。已经接收到反馈信息的内部元件可以在随后的360度视频数据处理中反映反馈信息。
根据本公开的360度视频传输装置的另一实施例,按区域打包处理器可以旋转区域并将旋转的区域映射在2D图像上。在此,区域可以沿不同的方向以不同的角度旋转并映射到2D图像上。可以考虑投影之前球面上的360度视频数据的邻近部分和拼接部分来执行区域旋转。可以通过与360度视频相关的元数据来用信号发送关于区域旋转的信息,即,旋转方向、角度等。根据本公开的360度视频传输装置的另一实施例,数据编码器可以针对各个区域不同地执行编码。数据编码器可以以高质量编码特定区域并且可以以低质量编码其他区域。传输侧反馈处理器可以将从360度视频接收装置接收到的反馈信息转发到数据编码器,使得数据编码器可以使用针对各个区域而区分的编码方法。例如,传输侧反馈处理器可以将从接收侧接收到的视口信息转发到数据编码器。数据编码器可以以比其他区域更高的质量(UHD等)对包括由视口信息指示的区域的区域进行编码。
根据本公开的360度视频传输装置的另一实施例,传输处理器可以针对各个区域不同地执行用于传输的处理。传输处理器可以将不同的传输参数(调制阶数、编码率等)应用于各个区域,使得传递至各个区域的数据具有不同的鲁棒性。
这里,传输侧反馈处理器可以将从360度视频接收装置接收到的反馈信息转发到传输处理器,使得传输处理器可以执行针对各个区域而区分的传输处理。例如,传输侧反馈处理器可以将从接收侧接收到的视口信息转发给传输处理器。传输处理器可以在包括由视口信息指示的区域的区域上执行传输处理,使得这些区域具有比其他区域更高的鲁棒性。
根据本公开的360度视频传输装置的上述内部/外部元件可以是硬件元件。根据实施例,内部/外部元件可以被改变、省略、由其他元件代替或集成。
图6是示意性地图示可应用本公开的360度视频接收装置的配置的视图。
根据本公开的360度视频接收装置可以执行与上述处理过程和/或渲染过程有关的操作。360度视频接收装置可以包括作为内部/外部元件的接收器、接收处理器、解封装处理器、数据解码器、元数据解析器、(接收侧)反馈处理器、重新投影处理器和/或渲染器。信令解析器可以被称为元数据解析器。
接收器可以接收从根据本公开的360度视频传输装置发送的360度视频数据。接收器可以根据通过其发送360度视频数据的信道,通过广播网络或宽带来接收360度视频数据。
接收处理器可以根据传输协议对接收到的360度视频数据执行处理。接收处理器可以执行上述传输处理器的处理的逆过程,使得逆过程对应于在传输侧执行的传输处理。接收处理器可以将获取的360度视频数据转发到解封装处理器,并且将获取的360度视频相关元数据转发到元数据解析器。接收处理器获取的与360度视频相关的元数据可以具有信令表的形式。
解封装处理器可以以从接收处理器接收到的文件格式对360度视频数据进行解封装。解封装处理器可以通过将文件解封装在ISOBMFF等中来获取360度视频数据和与360度视频相关的元数据。解封装处理器可以将获取的360度视频数据转发到数据解码器,并将获取的360度视频相关元数据转发到元数据解析器。由解封装处理器获取的与360度视频相关的元数据可以具有文件格式中的盒子或轨道的形式。解封装处理器可以根据需要从元数据解析器接收解封装所需的元数据。
数据解码器可以解码360度视频数据。数据解码器可以从元数据解析器接收解码所需的元数据。可以将在数据解码过程中获取的与360度视频相关的元数据转发到元数据解析器。
元数据解析器可以解析/解码与360度视频相关的元数据。元数据解析器可以将获取的元数据转发到数据解封装处理器、数据解码器、重新投影处理器和/或渲染器。
重新投影处理器可以对解码的360度视频数据执行重新投影。重新投影处理器可以在3D空间上重新投影360度视频数据。取决于3D模型,3D空间可能具有不同的形式。重新投影处理器可以从元数据解析器接收重新投影所需的元数据。例如,重新投影处理器可以从元数据解析器接收关于所使用的3D模型的类型的信息及其详细信息。根据实施例,重新投影处理器可以使用重新投影所需的元数据仅将与3D空间的特定区域相对应的360度视频数据重新投影到3D空间上。
渲染器可以渲染重新投影的360度视频数据。如上所述,在3D空间上的360度视频数据的重新投影可以表示为在3D空间上的360度视频数据的呈现。当以这种方式同时发生两个过程时,重新投影处理器和渲染器可以被集成,并且渲染器可以执行这些过程。根据实施例,渲染器可以根据用户的视点信息仅渲染用户观看的部分。
用户可以通过VR显示器等观看渲染的360度视频的一部分。VR显示器是再现360度视频的设备,并且可以被包括在360度视频接收装置(系缆)中或作为单独的设备(未系缆)连接到360度视频接收装置。
根据本公开的360度视频接收装置的实施例,360度视频接收装置可以进一步包括(接收侧)反馈处理器和/或网络接口(未示出)作为内部/外部元件。接收侧反馈处理器可以从渲染器、重新投影处理器、数据解码器、解封装处理器和/或VR显示器获取反馈信息,并处理该反馈信息。反馈信息可以包括视口信息、头部定向信息、凝视信息等。网络接口可以从接收侧反馈处理器接收反馈信息,并将该反馈信息发送到360度视频传输装置。
如上所述,反馈信息不仅可以被发送到传输侧,还可以在接收侧被消费。接收侧反馈处理器可以将获取的反馈信息转发到360度视频接收装置的内部元件,使得反馈信息反映在诸如渲染的过程中。接收侧反馈处理器可以将反馈信息转发到渲染器、重新投影处理器、数据解码器和/或解封装处理器。例如,渲染器可以使用反馈信息来优先渲染用户观看的区域。另外,解封装处理器和数据解码器可以优先地解封装和解码正被用户观看或将被用户观看的区域。
根据本公开的360度视频接收装置的上述内部/外部元件可以是硬件元件。根据实施例,内部/外部元件可以被改变、省略、由其他元件代替或集成。根据实施例,可以将附加元件添加到360度视频接收装置。
本公开的另一方面可以涉及一种用于发送360度视频的方法和用于接收360度视频的方法。根据本公开的用于发送/接收360度视频的方法可以由上述的360度视频传输/接收装置或其实施例执行。
上述360度视频传输/接收装置和传输/接收方法的实施例和装置的内部/外部元件的实施例可以被组合。例如,投影处理器的实施例和数据编码器的实施例可以被组合以生成与情况数量一样多的360度视频传输装置的实施例。以这种方式组合的实施例也包括在本公开的范围内。
同时,可以根据各种投影方案将360度视频数据投影在2D图像上,其详细内容可以如下。另外,表示投影方案的元数据可以包括projection_scheme字段。projection_scheme字段可以表示将360度视频数据映射到的图片的投影方案。这里,投影方案也可以表示为投影类型,而projection_scheme字段可以表示为projection_type字段。
根据本公开的实施例,可以使用等距矩形投影方案来执行投影。等距矩形投影方案也可以表示为等距矩形投影(ERP)。在projection_scheme字段表示等距矩形投影方案的情况下,球面上的点(r,θ0,0),即,通过θ=θ0、表示的点可以映射到2D图像的中心像素。另外,可以将前置相机的主要点假定为球面的(r,0,0)点。此外,将其固定为因此,可以通过以下等式将转换为XY坐标系的值(x,y)转换为2D图像上的(X,Y)像素。
[等式1]
X=Kx*x+X○=Kx*(θ-θ0)*r+X○
Y=-Ky*y-Y○
另外,如果2D图像上的左上像素被定位在XY***中的(0,0)处,则X轴的偏移值和Y轴的偏移值可以由以下等式表示。
[等式2]
X○=Kx*π*r
Y○=-Ky*π/2*r
使用上述,到XY坐标系的变换等式可以如下。
[等式3]
X=Kxx+X○=Kx*(π+θ-θ0)*r
例如,如果θ0=0,也就是说,如果2D图像上的中心像素指示球面上的θ=0的数据,则球面可以基于(0,0)被映射到2D图像的水平长度(宽度)=2Kxπr和垂直长度(高度)=Kxπr的区域。球面上的φ=π/2的数据可以被映射到2D图像的整个上边缘。另外,球面上的(r,π/2,0)的数据可以被映射到2D图像上的(3πKxr/2,πKx r/2)的点。
在接收侧处,可以将2D图像上的360视频数据重新投影到球面。这可以由如下的变换等式表示。
[等式4]
θ=θ0+X/Kx*r-π
在使用等距矩形投影方案的情况下,上述center_theta字段可以表示诸如θ0的值。
根据本公开的另一实施例,可以使用立方体投影方案来执行投影。立方体投影方案也可以表示为立方体贴图投影(CMP)。例如,拼接的360度视频数据可能会出现在球面上。投影处理器可以将360度视频数据以立方体的形式投影在2D图像上。球面上的360度视频数据可以对应于立方体的各个表面并投影在2D图像上。
在本公开的另一实施例中,可以使用圆柱投影方案来执行投影。在拼接的360度视频数据出现在球面上的假设下,投影处理器可以将360度视频数据以圆柱体的形式投影在2D图像上。球面上的360度视频数据可以对应于圆柱体的侧面、顶部和底部,并投影在2D图像上。
在本公开的又一实施例中,可以使用基于图块的投影(tile-based projection)方案来执行投影。在使用基于图块的投影方案的情况下,上述投影处理器可以将360度视频数据以一个或多个详细区域的形式投影在2D图像上。详细区域可以称为图块。
在本公开的另一实施例中,可以使用锥体投影方案来执行投影。在拼接的360度视频数据出现在球面上的假设下,投影处理器可以将360度视频数据以锥体的形式投影在2D图像上。球面上的360度视频数据可以对应于锥体的底面(front)、锥体的4个方向的侧面(左上、左下、右上和右下),并投影在2D图像上。这里,底面可以是包括由面向前表面的相机获得的数据的区域。
在本公开的另一实施例中,可以使用全景投影方案来执行投影。在使用全景投影方案的情况下,投影处理器可以仅将球面上的360度视频数据的侧面投影在2D图像上。这可以与在圆柱投影方案中不存在顶部和底部的情况相同。Panorama_height字段可以表示在执行投影时应用的全景图的高度。在Panorama_scheme字段表示投影方案是全景投影方案的情况下,表示投影方案的元数据可以包括Panorama_height字段。
在本公开的另一实施例中,可以在无需拼接的情况下执行投影。也就是说,panorama_scheme字段可以表示在没有拼接的情况下执行投影的情况。在没有拼接的情况下执行投影的情况下,上述投影处理器可以在没有任何改变的情况下将360度视频数据投影到2D图像上。在这种情况下,不执行拼接,并且相机捕获的每个图像都将在没有任何改变的情况下投影到2D图像上。例如,可以在没有任何改变的情况下将相机捕获的两个图像投影到2D图像上。每个图像可以是由球形相机的每个传感器捕获的鱼眼图像。如上所述,可以对从接收器中的相机传感器获得的图像数据进行拼接,并且将拼接后的图像数据映射到球面上,并且可以渲染球形视频,即,360度视频。
图7图示由360度视频传输装置/360度视频接收装置执行的用于提供360度视频的整体架构。
可以通过图7中所示的架构来提供360度视频。360度内容可以以文件格式或诸如DACH或流服务的基于片段的下载形式提供。这里,360度内容可以被称为VR内容。
如上所述,可以获取360度视频数据和/或360度音频数据。
360度音频数据可能会经过音频预处理过程或音频编码过程。在此过程中,可以生成与音频有关的元数据,并且编码后的音频或与音频有关的元数据可以经历用于传输的处理(文件/片段封装)。
360度视频数据可以经过上述过程。360度视频传输装置的拼接器可以对360度视频数据执行拼接(视觉拼接)。根据实施例,可以省略该过程,而是在接收侧执行该过程。
此外,360度视频传输装置的投影处理器可以将360度视频数据投影在2D图像上(投影和映射(打包))。投影处理器可以接收360度视频数据(输入图像),并且在这种情况下,可以执行拼接和投影过程。特别地,投影过程可以包括将拼接的360度视频数据投影在3D空间上,并且该投影的360度视频数据可以排列在2D图像上。在本说明书中,此过程可以表示将360度视频数据投影到2D图像上。在此,3D空间可以包括球体、立方体等。3D空间可以与在接收侧用于重新投影的3D空间相同。
2D图像可以被称为投影帧或投影图片。而且,可以进一步对2D图像选择性地执行按区域打包过程。在执行按区域打包的处理的情况下,指示每个区域的位置、形式和大小,并且因此,可以将2D图像上的区域映射到打包帧上。打包帧可以被称为打包图片。在投影帧中未执行按区域打包的情况下,投影帧可以与打包帧相同。将在下面描述区域。可以将投影和按区域打包过程表示为360度视频数据的每个区域投影到2D图像上。根据设计,可以在没有中间过程的情况下将360度视频数据直接转换为打包帧。
参考图7,用于360度视频数据的打包帧可以被图像编码或视频编码。同时,即使对于相同的360度视频内容,根据视点,也可能存在不同的360度视频数据。在这种情况下,内容的每个视点的360度视频数据可以用不同的比特流编码。可以通过上述封装处理器将编码的360度视频数据处理为诸如ISOBMFF的文件格式。可替选地,封装处理器可以通过片段处理编码的360度视频数据。这些片段可以被包括在用于基于DASH的传输的单独轨道中。
如上所述,与360度视频数据的处理一起,可以生成关于360度视频的元数据。元数据可以被包括在视频流或文件格式中被传输。元数据也可以用于诸如编码过程、文件格式封装、用于传输的处理等过程。
360度音频/视频数据可以根据传输协议经历用于传输的过程,然后被发送。上述的360度视频接收装置可以通过广播网络或宽带来接收。
同时,如图7中所示,扬声器/耳机、显示器和头部/眼睛跟踪组件可以由360度视频接收装置的外部设备或VR应用来执行,但是根据实施例,360度视频接收装置可以包括所有扬声器/耳机、显示器和头部/眼睛跟踪组件。根据实施例,头部/眼睛跟踪组件可以对应于接收侧处的反馈处理器。
360度视频接收装置可以执行文件/片段解封装处理,以接收360度音频/视频数据。360度音频数据可以经过音频解码和音频渲染,并通过扬声器/耳机提供给用户。
360度视频数据可以经过图像解码或视频解码以及视觉渲染过程,并通过显示器提供给用户。在此,显示器可以是支持VR的显示器或普通显示器。
如上所述,根据渲染过程,特别地,可以将360度视频数据重新投影到3D空间上,并且可以渲染重新投影的360度视频数据。这也可以被表示为在3D空间上渲染360度视频数据。
头部/眼睛跟踪组件可以获取并处理用户的头部定向信息、量规信息、视口信息等。其内容可以如上所述。
在接收侧,可以存在与上述接收侧的过程进行通信的VR应用。
同时,在将3D空间中后续的360度视频数据映射到2D图像的区域中的情况下,可以以2D图像的按区域方式对360度视频数据进行编码,并且然后传递到接收侧。因此,在映射到2D图像中的360度视频数据再次在3D空间中被渲染的情况下,由于各自区域之间的编码处理的差异,可能会出现在3D空间中出现区域之间的边界的问题。在3D空间中出现区域之间的边界的问题可以被称为边界误差。边界误差可能恶化针对用户的虚拟现实的沉浸度,并且本公开提出一种提供按区域辅助信息及其元数据以解决边界误差的方法。按区域辅助信息可以用于作为减少边界误差的方法的位于目标区域的边界中的样本和与目标区域相邻的区域的样本之间的混合过程中,并且还可以用于位于目标区域的边界中的样本被被按区域辅助信息的样本替换的替换过程。另外,按区域辅助信息也可以用于扩展视口,而无需对与目标区域相邻的区域进行解码处理。
同时,打包帧可以包括按区域辅助信息(RAI)区域。RAI区域是在打包帧中与目标区域的边界相邻的区域,并且可以包括针对目标区域的RAI区域(偏移区域)的图片信息。RAI区域也可以被称为偏移区域或保护带。
考虑到RAI区域的,通过重构、发送和再生360度视频数据来输出最终图片的过程可以如下。
图8a至图8d图示用于提供考虑了由360度视频传输装置/360度视频接收装置执行的RAI区域的360度视频的整体架构。参考图8a,可以获取由至少一个相机捕获的360度视频数据,并且可以获取通过处理360度视频数据而生成的投影图片。可以对投影图片执行按区域打包处理。在执行按区域打包处理的情况下,可以执行对每个区域划分投影在投影图片上的360度视频数据的区域分解过程,并且可以执行用于每个区域的RAI区域被添加(保护带***)的过程。另外,因为针对每个区域进行变换,所以360度视频传输装置可以通过调整每个区域的大小来调整每个区域的质量。对投影图片执行区域打包处理,并且可以导出打包图片。
参考图8a,打包图片的信息可以被编码并通过比特流输出。在这种情况下,可以通过按区域量化参数针对每个区域改变质量。关于编码的打包图片的信息可以通过比特流被发送。
参考图8a,360度视频接收装置可以对通过比特流获取的打包图片的信息进行解码。可以对解码的打包图片执行按区域解包过程。
在对解码的打包图片执行按区域解包处理的情况下,可以对打包图片进行按区域逆变换处理。换句话说,可以基于针对打包图片的目标区域的变换信息来执行按区域逆变换。
此外,可以选择性地对解码的打包图片执行拼接过程。拼接过程可以表示连接每个捕获的图像/视频,即,打包图片的区域并将其制成一张图片的过程。在360度视频传输装置中已经执行拼接过程的情况下,360度视频接收装置可以不执行拼接过程。
可以通过按区域逆变换过程将打包图片重构为投影图片。可替选地,可以通过按区域逆变换过程和拼接过程将打包图片重构为投影图片。可以对重构的投影图片执行区域边界增强过程。区域边界增强过程可以包括,通过内插与投影图片的目标区域的目标样本相对应的RAI区域中的样本的样本值和目标样本的样本值来导出新的样本值的过程、将导出的新样本值作为目标样本的样本值导出的混合的过程以及将目标区域的目标样本的样本值替换为与目标样本相对应的RAI区域中的样本值的过程。
特别地,例如,对于在投影图片的目标区域中的(x,y)位置的样本,可以基于对其应用样本的现有样本值、与目标样本相对应的RAI区域中的样本值以及RAI区域中的样本与目标区域的边界之间的距离d的单调递增函数alpha(x)[0:1]导出新样本值。在此,单调递增函数alpha(x)[0:1]可以被表示为加权函数。由此,当接近目标区域的边界时,使用RAI区域的按区域辅助信息(RAI区域中的样本的样本值),并且当远离边界超过预定的距离时,使用现有的信息,即,目标区域的信息(目标区域的(x,y)位置的样本的现有样本值),并且因此可以平滑地改变图片。在应用混合过程的情况下,可以基于以下等式导出在(x,y)位置的样本的新样本值。
[等式5]
output[x][y]=alpha(d)*input[x][y]+(1-alpha(d))*RAI[x][y]
这里,output[x][y]可以表示目标区域中(x,y)位置的样本的新样本值,input[x][y]可以表示目标区域中的(x,y)位置的样本的现有样本值,并且RAI[x][y]可以表示与(x,y)位置中的样本相对应的RAI区域中的样本的样本值。
同时,在针对RAI区域rai_type字段的值为2,即,RAI区域是在其中图像质量逐渐改变的区域,并且针对RAI区域给出rai_delta_QP字段的情况下,则可以将用于导出新样本值的加权函数定义为距边界的距离与边界的量化参数(QP)之间的差的函数。在这种情况下,可以基于以下等式导出目标区域中(x,y)位置的样本的新样本值。rai_type字段和rai_delta_QP字段的详细描述如下。
[等式6]
output[x][y]=alpha(d,delta_QP)*input[xI[yI+(1-alpha(d,delta_QP))*RAI[x][y]
同时,在应用替换过程的情况下,由RAI区域给出的信息可以在没有任何单独的处理的情况下继续使用,直到预定范围,并且在这种情况下,当目标区域和相邻区域在目标区域和球面上被附接并且被渲染时,RAI区域可用于目标区域中与RAI区域重叠的部分。例如,在目标区域与相邻区域之间存在图像质量差异并且RAI区域包括图像质量逐渐改变的信息的情况下,可以将包括在RAI区域中的视频数据在没有任何变化的情况下用于渲染。
可以通过区域边界增强过程将重构的投影图片导出作为增强的投影图片。通过这样,可以减小可能在目标区域的边界中出现的错误的发生程度。
增强的投影图片可以被映射在3D空间上。同时,上述过程可以表示为在3D空间上渲染360度视频数据。在这种情况下,将基于接收到的视口元数据生成并显示视口图像。在此,视口图像也可以称为视口。视口元数据可以是当前用户在360度视频中观看的区域的信息。
同时,可以对编码的图片中的图片的仅一部分而不是整个图片进行解码,并且在这种情况下,接收器可以被配置成执行如图8b中所示的过程。参考图8b,360度视频接收装置可以对通过比特流获取的打包图片的信息进行解码。在这种情况下,可以对解码的打包图片的一部分区域执行按区域的解包过程。特别地,可以选择解码的打包图片的目标区域。例如,可以基于所接收的视口元数据来选择目标区域。视口元数据可以表示当前用户在360度视频中观看的区域的信息,并且目标区域可以包括在当前用户在360度视频中观看的区域中。同时,在存在用于目标区域的RAI区域的情况下,也可以选择RAI区域。
此外,可以对所选择的目标区域和RAI区域执行逆变换。可以接收关于目标区域的变换的信息,并且可以基于关于变换的信息对目标区域执行逆变换。在这种情况下,可以接收关于RAI区域的变换的信息,并且可以基于用于RAI区域的变换的信息对RAI区域执行逆变换。
此外,可以对目标区域和RAI区域执行区域边界增强过程。区域边界增强过程可以包括上述混合和替换过程。通过区域边界增强过程,可以减小可能在目标区域的边界中出现的错误的发生程度。另外,可以生成并显示包括目标区域的视口图像。
同时,可以通过将投影图片划分成多个子图片来打包,并且可以对每个打包的子图片进行编码和发送。在此,子图片可以表示可以被独立解码的图片单元,并且子图片可以对应于图块、运动受限图块集(MCTS)或区域。在这种情况下,如图8c中所示,可以执行为每个区域划分投影图片的区域分解处理。另外,因为可以针对每个区域变换投影图片,所以360度视频传输装置可以针对每个区域调整大小并且针对每个区域调整质量。投影的图片可以被划分为多个子图片。子图片可以对应于投影图片的区域。
此外,可以对每个子图片执行按区域打包处理,并且可以对每个子图片进行编码并通过比特流发送。按区域打包过程可以如上所述。
参考图8d,360度视频接收装置可以对通过比特流获得的每个子图片的信息进行解码。另外,可以对每个子图片执行逆变换。可以接收关于每个子图片的变换的信息,并且基于关于变换的信息,可以执行对于每个子图片的逆变换。
逆变换的子图片可以包括重构的投影图片。该过程可以表示为子图片组成过程。例如,可以将多个子图片合并为一个图片,并且该图片可以被表示为重构的投影图片。可以对重构的投影图片执行区域边界增强过程。区域边界增强过程如上所述。同时,在视口元数据中指定的区域被一个子图像覆盖的情况下,即,在视口元数据中指定的区域被包括在一个子图像中,子图像组成过程和区域边界增强过程可以被省略。
此外,增强的投影图片可以被映射在3D空间上。在这种情况下,可以基于接收到的视口元数据来生成并显示视口图像。视口元数据可以是当前用户在360度视频中观看的区域的信息。
同时,可以基于一个子图片和包括在该子图片的RAI区域中的信息的组合来生成由视口元数据指定的视口图像。在这种情况下,当rai_present_flag值为1时,可以在没有针对多个子图片的区域边界增强过程的情况下,基于RAI区域中包含的信息生成输出图像,并且通过这样,可以进一步提高编码率。这里,rai_present_flag可以是指示是否用信号发送用于RAI区域的信息和用于子图片的按区域辅助信息的标志。rai_present_flag的详细内容将在下面描述。
同时,作为用于传输被划分为多个区域的打包图片的按区域辅助信息的方法,可以通过以下语法来用信号发送按区域辅助信息。特别地,例如,可以发送关于按区域辅助信息的元数据,并且可以通过HEVC的SEI消息来发送关于按区域辅助信息的元数据。同样,关于按区域辅助信息的元数据可以是在视频级别中使用的必需的信息,并且在这种情况下,可以通过VPS、SPS或PPS被发送。除了诸如VPS、SPS或PPS的视频级别之外,还可以通过数字有线/无线接口、***级别的文件格式等等来传输与按区域辅助信息的元数据的信息相同或相似的信息。
以下描述的语法可以表示针对按区域辅助信息的元数据是整个图像,即,发送整个打包图片的情况的实施例。然而,在图像与子图片一起发送的情况下,关于按区域辅助信息的元数据可以进一步包括表示是否包括关于子图片的RAI区域的信息,即,是否存在关于子图片的RAI区域,基于子图片中的目标区域,RAI区域是否与上边界、下边界、左边界或右边界当中的边界相邻的信息以及关于RAI区域的类型的信息。
图9a至图9c图示关于按区域辅助信息的元数据的示例。参考图9a,在payloadType值表示预定值的情况下,可以发送关于按区域辅助信息的元数据。按区域辅助信息的详细元数据可以如图9b和图9b中所示。
参考图9b和图9c,通过被包括在关于按区域打包过程的信息的语法中可以发送按区域辅助信息。即,关于按区域打包过程的元数据可以包括关于按区域辅助信息的元数据。同时,关于按区域辅助信息的元数据可以通过单独的语法来发送。
参考图9b,关于按区域辅助信息的元数据可以包括num_regions字段。num_regions字段可以表示打包图片(或子图片)中的区域的数量。同时,关于按区域辅助信息的元数据可以包括num_regions_minus1字段而不是num_regions字段。num_regions_minus1字段可以表示打包图片(或子图片)中的区域数量减去1的值。
而且,参考图9b,关于按区域辅助信息的元数据可以包括target_picture_width字段和target_picture_height字段。target_picture_width字段和target_picture_height字段可以表示最终图像,即,最终从输入图像导出的图片的宽度和高度。例如,target_picture_width字段和target_picture_height字段可以表示用于360度视频数据的投影图片的宽度和高度。target_picture_width字段和target_picture_height字段也可以分别称为proj_picture_width字段和proj_picture_height字段。同时,关于当前图像,即,输入图片的打包图片(或子图片)的宽度和高度的信息可以通过VPS(视频参数集)、SPS(序列参数集)或PPS(图片参数集)来发送,并且如果需要,可以通过单独的信息进行发送。
另外,参考图9b,关于按区域的辅助信息的元数据可以包括region_wise_auxiliary_information_present_flag字段。在region_wise_auxiliary_information_present_flag字段值是1的情况下,这可以表示关于打包图片(或子图片)的按区域辅助信息被发送。region_wise_auxiliary_information_present_flag字段值是0,这可以表示未发送关于打包图片(或子图片)的按区域辅助信息。region_wise_auxiliary_information_present_flag字段值也可以表示为rai_present_flag字段或guard_band_flag字段。
此外,参考图9b,关于按区域辅助信息的元数据可以包括packing_type字段。packing_type字段表示应用于打包图片(或子图片)的按区域打包的类型。例如,在packing_type字段值为0的情况下,这可以表示应用于打包图片(或子图片)的按区域的打包是矩形的按区域打包。
此外,参考图9b,用关按区域辅助信息的元数据可以包括rai_width字段和rai_height字段。rai_width字段和rai_height字段也可以被表示为gb_width字段和gb_height字段。rai_width字段和rai_height字段可以表示与顶部、底部、左侧或右侧边界相邻的RAI区域的宽度和高度。在发送关于打包图片(或子图片)的按区域辅助信息的情况下,即,在region_wise_auxiliary_information_present_flag字段值为1的情况下,可以发送rai_width字段和rai_height字段。同时,rai_width[0]字段和rai_height[0]字段可以表示与目标区域的顶部边界相邻的RAI区域的宽度和高度,并且rai_width[1]字段和rai_height[1]字段可以表示与目标区域的左边界相邻的RAI区域的宽度和高度,rai_width[2]字段和rai_height[2]字段可以表示与目标区域的底部边界相邻的RAI区域的宽度和高度,并且rai_width[3]字段和rai_height[3]字段可以表示与目标区域的右边界相邻的RAI区域的宽度和高度。可替选地,rai_width[0]字段和rai_height[0]字段可以表示与第i个区域的顶部边界相邻的RAI区域的宽度和高度,并且rai_width[1]字段和rai_height[1]字段可以表示与第i个区域的左边界相邻的RAI区域的宽度和高度,rai_width[2]字段和rai_height[2]字段可以表示与第i个区域的底部边界相邻的RAI区域的宽度和高度,并且rai_width[3]字段和rai_height[3]字段可以表示与第i个区域的右边界相邻的RAI区域的宽度和高度。
特别地,例如,在存在与目标区域的左边界相邻的RAI区域的情况下,可以发送rai_width[1]字段和rai_height[1]字段,并且rai_width[1]字段和rai_height[1]字段可以表示RAI区域的宽度和高度。通常,rai_width[1]字段可以表示与目标区域的高度相同的值。然而,在针对目标区域和RAI区域执行不同的变换或RAI区域的高度具有与目标区域的高度的不同范围的情况下,rai_height[1]字段可以表示与目标区域的高度不同的值。在这种情况下,RAI区域的高度可以被定义为由rai_height[1]字段表示的值的高度,该rai_height[1]字段相对于目标区域的中心对称,可替选地,关于RAI区域的左上点的位置信息可以被单独地用信号发送,并且可以将从左上点的位置开始的由rai_height[1]字段表示的值的高度配置成RAI区域的高度。
此外,参考图9b,关于按区域辅助信息的元数据可以包括rai_not_used_for_pred_flag字段。rai_not_used_for_pred_flag字段也可以表示为gb_not_used_for_pred_flag字段。rai_not_used_for_pred_flag字段可以表示是否将包括在RAI区域中的按区域辅助信息用于编码/解码过程中的预测。例如,在rai_not_used_for_pred_flag字段值是1的情况下,这可以表示包括在RAI区域中的按区域辅助信息没有用于编码/解码过程中的预测。另外,在rai_not_used_for_pred_flag字段值为0的情况下,这可以表示包括在RAI区域中的按区域辅助信息被用于编码/解码过程中的预测。
此外,参考图9b,关于按区域辅助信息的元数据可以包括rai_equal_type_flag字段。rai_equal_type_flag字段可以表示包括在关于目标区域的RAI区域中的按区域辅助信息是否是相同类型的信息。例如,在rai_equal_type_flag字段值为1的情况下,这可以表示目标区域的RAI区域,即,与目标区域的顶部、底部、左侧或右侧边界相邻的所有RAI区域包括相同类型的按区域辅助信息。另外,在rai_equal_type_flag字段值为0的情况下,这可以表示目标区域的RAI区域,即,与目标区域的顶部、底部、左侧或右侧边界相邻的所有RAI区域都包括不同类型的按区域辅助信息。同时,可以通过下面描述的rai_type字段来发送包括在RAI区域中的按区域辅助信息的类型,并且下面将描述根据详细类型的按区域辅助信息。
此外,参考图9b,关于按区域辅助信息的元数据可以包括rai_transformation_flag字段。rai_transformation_flag字段可以表示是否发送关于rai_transformation_flag字段的RAI区域的变换信息。在rai_transformation_flag字段值为1的情况下,这可以表示发送RAI区域的变换信息,并且在rai_transformation_flag字段值为0的情况下,这可以表示与RAI区域的目标区域相同的变换被执行。
此外,参考图9b,关于按区域辅助信息的元数据可以包括rai_corner_present_flag字段。rai_corner_present_flag字段可以表示在目标区域的左上、右上、右下和左下邻近区域中的至少一个区域中是否包括按区域辅助信息。例如,在rai_corner_present_flag字段值为1的情况下,这可以表示发送包括按区域辅助信息的目标区域的左上、右上、右下和左下的邻近RAI区域。左上、右上、右下和左下边界RAI区域可以被称为拐角RAI区域。另外,在rai_corner_present_flag字段值为0的情况下,这可以表示不发送包括按区域辅助信息的目标区域的左上、右上、右下和左下的邻近RAI区域。例如,在提供360度视频或全景视频时,可以基于RAI区域来扩展目标区域的视频信息以实现快速视口响应。这里,视口响应可以表示在由于诸如用户的运动的原因而改变用户面对的方向的情况下响应于方向的改变而改变视口图像的响应。在这种情况下,不仅将按区域辅助信息传输到目标区域的顶部、底部、左侧或右侧边界相邻,还传输到拐角相邻区域可能更为有效,并且因此,rai_corner_present_flag字段值被确定为1,并且传输关于朝着拐角方向移动的图像信息。
此外,在rai_corner_present_flag字段值为1的情况下,可以用信号发送每个拐角邻近区域,即,左上、右上、右下和左下RAI区域的rai_type字段。同时,在rai_equal_type_flag字段值为1的情况下,拐角邻近区域的按区域辅助信息的类型也可以相同,并且在rai_equal_type_flag字段值为0的情况下,每个拐角邻近区域的rai_transformation字段以及每个拐角邻近区域,即,左上、右上、右下和左下的RAI区域的rai_type字段,可以被用信号发送。例如,在rai_equal_type_flag字段值是0并且rai_transformation字段值是0的情况下,可以用信号发送每个拐角邻近区域的rai_type字段和rai_transformation字段。
此外,参考图9b,关于按区域辅助信息的元数据可以包括rai_extended_coverage_flag字段。rai_extended_coverage_flag字段可以表示是否发送关于目标区域的扩展区域的信息。在此,扩展区域可以表示目标区域以及包括关于目标区域的RAI区域的区域。例如,在目标区域的rai_extended_coverage_flag字段值为1并且发送目标区域的RAI区域的信息的情况下,可以用信号发送目标区域和扩展区域的信息,并且在目标区域的rai_extended_coverage_flag字段值为0的情况下,可能不会用信号发送扩展区域的信息。扩展区域的详细内容可能如下。
图10图示表示扩展区域的信息的元数据的示例。表示关于扩展区域的信息的元数据可以被表示为extended_coverage_information。参考图10,表示扩展区域信息的元数据可以包括center_yaw字段、center_pitch字段和center_roll字段。center_yaw字段、center_pitch字段和center_roll字段可以表示扩展区域的3D空间,例如,球面的位置。特别地,可以基于飞机主轴线来表示球面上的每个点的位置。例如,构成3D的轴可以分别是俯仰轴、偏航轴和横滚轴,并且可以通过俯仰、偏航和横滚来表示球面上的每个点的位置。在本说明书中,这些可以被简称为俯仰、偏航、横滚至俯仰方向、偏航方向和横滚方向。field_yaw字段可以表示扩展区域的球面上的中心点的偏航值,center_pitch字段可以表示扩展区域的球面上的中心点的俯仰值,并且center_roll字段可以表示扩展区域的球面上的中心点的横滚值。
此外,参考图10,表示扩展区域的信息的元数据可以包括hor_range字段和ver_range字段。hor_range字段和ver_range字段可以分别表示扩展区域的水平范围和垂直范围。由hor_range字段和ver_range字段表示的扩展区域的水平范围和垂直范围可以等于或大于扩展区域的目标区域的水平范围和垂直范围。同时,表示关于扩展区域的信息的元数据可以被包括在上述用于按区域的打包过程的元数据中,或者可以被生成为单独的信息并用信号发送。
另外,参考图9b,关于按区域辅助信息的元数据可以包括rai_presentation_flag字段。rai_presentation_flag字段也可以表示为guard_band_flag字段。目标区域的rai_presentation_flag字段可以是360度视频数据,其中按区域辅助信息包括在目标区域的RAI区域中,以及是在球面上连续的信息,并且可以表示其是否用于生成视口图像。例如,在目标区域的rai_presentation_flag字段值是1的情况下,这可以表示包括在RAI区域中的按区域辅助信息是关于包括在目标区域中的360度视频数据和球面上连续的信息并且表示其可以用于生成视口图像。特别地,在RAI区域中,可以包括以下描述的rai_type为2、3或4的按区域辅助信息,即,表示球面上的目标区域的相邻区域的图像的一部分(例如,360度视频数据)或者显示出被处理的形式的按区域辅助信息,并且在这种情况下,不接收和解码该相邻区域的整个信息,但是可以通过目标区域以及该目标区域的RAI区域中的视频信息生成视口信息。通过这样,可以更快速和有效地生成视口图像。因此,在包括在RAI区域中的按区域辅助信息支持这种功能的情况下,rai_presentation_flag字段被配置成1,并且在360度视频接收装置中,可以表示RAI区域中包括的按区域辅助信息可以用于生成视口图像。同时,在rai_presentation_flag字段为0的情况下,可以表示包括在RAI区域中的按区域辅助信息可以不用于生成视口图像。
同时,在使用与目标区域的顶部边界、底部边界、左边界和右边界相邻的RAI区域中的至少一个RAI区域来生成视口图像的情况下,可以将rai_presentation_flag字段值配置成1。此外,还可以用信号发送每个方向的rai_presentation_flag字段值,即,与顶部边界、底部边界、左边界和右边界相邻的每个RAI区域,并且基于每个RAI区域的rai_presentation_flag字段,可以导出每个方向的区域辅助信息是否可用于生成视口图像。
此外,参考图9b,关于按区域辅助信息的元数据可以包括rai_type字段。rai_type字段也可以被表示为gb_type字段。rai_type字段可以表示关于rai_type字段的包括在RAI区域中的按区域辅助信息的类型。RAI区域中包括的按区域辅助信息可以如下。
图11a和11b图示根据按区域辅助信息的类型的按区域辅助信息。类型表示包括在与目标区域的边界相邻的RAI区域中的图像的属性,即,包括在RAI区域中的按区域辅助信息的属性。在rai_type字段值为0的情况下,rai_type字段可以表示未指定包括在RAI区域中的信息。
在rai_type字段值为1的情况下,RAI区域可以包括重复地位于目标区域的边界中的样本的信息。换句话说,RAI区域可以包括其中位于与RAI区域相邻的目标区域的边界中的样本被复制的信息。图11的(a)可以示出在rai_type字段值为1的情况下的按区域辅助信息。
在rai_type字段值为2的情况下,RAI区域可以包括与目标区域的边界相邻的目标区域中的特定区域的信息,并且目标区域的边界可以表示与RAI区域相邻的边界,并且特定区域的信息可能会逐渐改变图像质量。特别地,例如,在目标区域包括高图像质量的360度视频数据,并且在球面上与该目标区域相邻的邻近区域包括低图像质量的360度视频数据的情况下,RAI区域可以包括与目标区域的边界相邻的目标区域中的特定区域的信息,但是包括在RAI区域中的特定区域的信息可能具有随着离目标区域边界的距离增加从目标区域的高质量到邻近区域的低质量的图像质量的逐渐变化。
在rai_type字段值为3的情况下,RAI区域可以包括与目标区域的边界相邻的目标区域中的特定区域的信息,并且目标区域的边界可以表示与RAI区域相邻的边界,并且特定区域的信息可以具有与目标区域相同的图像质量。在rai_type字段值为3的情况下,上述图11a的(b)可以表示按区域辅助信息。在上面描述的rai_corner_present_flag字段值为1的情况下,上面的图11a的(b)可以表示与目标区域的拐角邻近的RAI区域。
在rai_type字段值为4的情况下,RAI区域可以包括投影在视口平面上的图像的信息。换句话说,在rai_type字段值为4的情况下,RAI区域可以包括球表面上与目标区域相邻的邻近区域的信息。在此,视口平面可以对应于上述视口图像。在rai_type字段值为4的情况下,RAI区域可用于扩展目标区域的视口。上面的图11a的(c)可以表示在rai_type字段值为4的情况下包括在目标区域的RAI区域中的按区域辅助信息。立方体投影方案也可以被称为立方体贴图投影(CMP)。另外,在上面描述的rai_corner_present_flag字段值为1的情况下,上面的图11a的(c)可以表示与目标区域的拐角邻近的RAI区域。
在rai_type字段值为5的情况下,rai_type字段可以表示与3D空间(例如,球面)上的目标区域的边界相邻的邻近区域的边界的RAI区域相同的按区域辅助信息被包括在目标区域的RAI区域中。在此,目标区域的边界可以表示在打包图片上目标区域和目标区域的RAI区域相邻的边界,并且3D空间可以表示用于应用于打包图片的投影方案的3D投影结构。换句话说,虽然目标区域的RAI区域不包括直接信息,但是与目标区域的边界相邻的邻近区域的边界上的RAI区域的信息可以在3D空间上用作目标区域的RAI区域的信息。上面的图11b的(d)可以图示区域的边界当中的与3D空间相邻的边界。在将打包图片映射到3D空间上的情况下,可以将与目标区域的边界相邻的邻近区域导出为一个,可以仅使用rai_type字段来用信号发送目标区域的RAI区域的存在。然而,也可以用信号发送诸如邻近区域的位置、邻近区域的RAI区域的大小和/或邻近区域的RAI区域的图像质量的信息。
同时,参考图9b,关于按区域辅助信息的元数据可以包括rai_dir字段。rai_dir字段可以基于与RAI区域相邻的目标区域的边界来表示包括在目标区域的RAI区域中的按区域辅助信息的信息的方向性。例如,rai_dir字段可以基于目标区域的边界表示RAI区域中包括的按区域辅助信息是内部方向信息还是外部方向信息。例如,在rai_dir字段值为0的情况下,包括在RAI区域中的按区域辅助信息可以是目标区域的边界的外部方向的信息,在rai_dir字段值为1的情况下,包括在RAI区域中的按区域辅助信息可以是目标区域的边界的内部方向的信息,并且在rai_dir字段值为2的情况下,包括在RAI区域中的按区域辅助信息可以包括目标区域的边界的内部方向的信息和目标区域的边界的外部方向的信息两者。这里,边界的内部方向的信息可以表示基于包括在与目标区域的边界相邻的目标区域中的特定区域中的信息导出的信息,并且边界的外部方向的信息可以表示基于包括在与3D空间上的目标区域的边界相邻的邻近区域中的特定区域中的信息导出的信息。在包括在RAI区域中的按区域辅助信息包括信息的所有两侧的情况下,目标区域中的特定区域和邻近区域中的特定区域可以具有相同的大小。同时,可以另外用信号发送在目标区域中的特定区域和邻近区域中的特定区域彼此以不同的比率包括图像信息的、关于目标区域中的特定区域的图像信息与邻近区域中的特定区域的图像信息之间的比率的信息。同样,在目标区域中的特定区域和邻近区域中的特定区域可以具有不同的宽度或高度的情况下,可以另外用信号发送关于特定区域的宽度或高度的信息。
另外,参考图9b,关于按区域辅助信息的元数据可以包括rai_transform_type字段。rai_transform_flag字段可以表示是否用信号发送关于目标区域的RAI区域的变换信息。例如,在rai_transform_type字段值为1的情况下,可以用信号发送针对RAI区域的变换信息。在这种情况下,rai_transform_flag字段可以表示包括在RAI区域中的按区域辅助信息执行与目标区域的信息不同的变换过程。另外,在rai_transform_type字段值为1的情况下,可以用信号发送用于RAI区域的rai_transform_type字段,并且rai_transform_type字段可以表示RAI区域的变换信息。即,当使用包括在RAI区域中的按区域辅助信息来生成视口图像时,可以基于在rai_transform_type字段中定义的变换信息来对RAI区域进行逆变换,并且经逆变换的RAI区域可以用于生成视口图像。可以定义通过rai_transform_type字段值表示的变换信息,如下表所示。
[表1]
在rai_transform_type字段值为0的情况下,rai_transform_type字段可以表示未执行针对RAI区域的变换过程。在rai_transform_type字段值为1的情况下,rai_transform_type字段可以表示执行对RAI区域的水平镜像的变换处理。在此,镜像可以表示如由镜子反射的一样以穿过中心点的垂直轴为中心对称反转的动作。
在rai_transform_type字段值为2的情况下,rai_transform_type字段可以表示对RAI区域执行逆时针旋转180度的变换过程。
在rai_transform_type字段值为3的情况下,rai_transform_type字段可以表示对RAI区域执行水平镜像以及逆时针旋转180度的变换过程。
在rai_transform_type字段值为4的情况下,rai_transform_type字段可以表示对RAI区域执行水平镜像以及逆时针旋转90度的变换过程。
在rai_transform_type字段值为5的情况下,rai_transform_type字段可以表示对RAI区域执行逆时针旋转90度的变换过程。
在rai_transform_type字段值为6的情况下,rai_transform_type字段可以表示对RAI区域执行水平镜像以及270度逆时针旋转的变换过程。
在rai_transform_type字段值为7的情况下,rai_transform_type字段可以表示对RAI区域执行逆时针旋转270度的变换过程。
另外,参考图9b,关于按区域辅助信息的元数据可以包括rai_hor_scale字段和rai_ver_scale字段。在rai_transform_type字段值为1的情况下,可以用信号发送rai_hor_scale字段和rai_ver_scale字段,并且rai_hor_scale字段和rai_ver_scale字段可以表示在应用于RAI区域的变换过程中的水平缩放系数和垂直缩放系数。rai_hor_scale字段和rai_ver_scale字段可以以0.01为单位表示,并且在应用基于rai_transform_type导出的变换过程之前,可以定义水平缩放系数和垂直缩放系数以表示水平方向和垂直方向。
另外,参考图9b,关于按区域辅助信息的元数据可以包括rai_delta_QP字段。rai_delta_QP字段可以表示3D空间中的目标区域的量化参数(QP)和与目标区域相邻的邻近区域的QP之间的差异。在与目标区域和邻近区域相邻的边界有关的rai_type字段值是2的情况下,包括在RAI区域中的按区域辅助信息可能具有图像质量改变。在这种情况下,为了传输关于图像质量改变的特定信息,可以使用rai_delta_QP字段。特别地,不同的QP被用于目标区域和重建之后的在3D空间上相邻的邻近区域,并且目标区域和邻近区域之间可能发生图像质量差异。在这种情况下,关于目标区域的RAI区域可以包括其QP逐渐改变的图像,以减轻目标区域与邻近区域之间的QP差异。在这种情况下,可以传输关于起始QP和结束QP的信息中的每一个,或者可以传输表示起始QP和结束QP之间的差异的rai_delta_QP字段。
在这种情况下,例如,将目标区域的QP配置成起始QP,并且将邻近区域的QP配置成结束QP,在RAI区域中QP可以从与目标区域边界相邻的样本起逐渐变化。在这种情况下,可以将起始QP应用于与目标区域的边界相邻的RAI区域的样本,并且可以将结束QP应用于离目标区域的边界最远的RAI区域的样本。在应用rai_delta_QP字段的情况下,可以导出目标区域的QP值减去rai_delta_QP字段值作为结束QP。在仅将上述情况假定为输入图像的情况下,并且在RAI区域的rai_type字段值为2的情况下,将目标区域的QP配置成起始QP并且将邻近区域的QP配置成结束QP,并且可以明确地描述RAI区域中的信息的QP可以逐渐改变。
同时,对于除了上述QP之外的图像质量因素的差异,rai_delta_QP字段可以表示对于除了QP之外的其他图像质量因素的差异。例如,RAI区域可以包括质量水平逐渐改变的图像,以减轻目标区域的质量水平与邻近区域的质量水平之间的差异,并且在这种情况下,可以传输每个关于起始质量水平和结束质量水平的每个信息。可替选地,可以传输表示起始质量水平和结束质量水平之间的差异的rai_delta_QP字段。在此,质量水平可以意指指示相对图像质量的图像质量因素。
此外,参考图9c,关于按区域辅助信息的元数据可以包括num_sub_boundaries_minus1字段。例如,可以针对目标区域的边界生成包括不同类型的按区域辅助信息的多个RAI区域。多个RAI区域可以被称为子RAI区域。num_sub_boundaries_minus1字段可以表示对于目标区域的边界的子RAI区域的数量。例如,num_sub_boundaries_minus1字段值的值加1可以表示目标区域边界的子RAI区域数。
此外,参考图9c,关于按区域辅助信息的元数据可以包括rai_sub_length字段。在针对目标区域的边界生成子RAI区域的情况下,可以用信号发送每个子RAI区域的rai_sub_length字段,并且用于每个子RAI区域的rai_sub_length字段可以表示每个子RAI区域的目标区域的子边界的长度。这里,子边界可以表示与目标区域的边界的每个子RAI区域相邻的部分。特别地,例如,rai_sub_length[i][j][k]字段可以表示第i个区域的第j个边界的第k个子边界的长度。而且,在目标区域的边界当中的水平方向的边界的情况下,可以以从左到右的顺序应用rai_sub_length字段,并且在目标区域的边界当中的垂直方向的边界的情况下,可以按照从上到下的顺序应用rai_sub_length字段。
同时,关于按区域打包过程的元数据可以包括关于投影图片上的目标区域的位置和大小的信息,并且包括关于打包图片上的目标区域的位置和大小的信息。另外,关于按区域打包过程的元数据可以包括关于目标区域的变换信息。目标区域的信息可以如下表所示。
[表2]
这里,projected_region_width字段可以表示投影图片上的目标区域的宽度,而projected_region_height字段可以表示投影图片上的目标区域的高度。另外,projected_region_top字段可以表示投影图片上目标区域的左上样本的y分量,而projected_region_left字段可以表示投影图片上目标区域的左上样本的x分量。
此外,rai_transform_type字段可以表示目标区域的变换信息。由rai_transform_type字段表示的变换信息可以如以上表1所示。特别地,在rai_transform_type字段值为0的情况下,rai_transform_type字段可以表示未执行目标区域的变换信息。在rai_transform_type字段值是1的情况下,rai_transform_type字段可以表示执行对目标区域的水平镜像的变换处理。在此,镜像可以表示如由镜子反射的一样以穿过中心点的垂直轴为中心对称反转的动作。
在rai_transform_type字段值为2的情况下,rai_transform_type字段可以表示对目标区域执行180度逆时针旋转的变换过程。
在rai_transform_type字段值为3的情况下,rai_transform_type字段可以表示对目标区域执行水平镜像以及逆时针旋转180度的变换过程。
在rai_transform_type字段值为4的情况下,rai_transform_type字段可以表示对目标区域执行水平镜像以及逆时针旋转90度的变换过程。
在rai_transform_type字段值为5的情况下,rai_transform_type字段可以表示对目标区域执行逆时针旋转90度的变换过程。
在rai_transform_type字段值为6的情况下,rai_transform_type字段可以表示对目标区域执行水平镜像以及270度逆时针旋转的变换过程。
在rai_transform_type字段值为7的情况下,rai_transform_type字段可以表示对目标区域执行270度逆时针旋转的变换过程。
另外,packed_region_width字段可以表示打包图片上的目标区域的宽度,并且packed_region_height字段可以表示打包图片上的目标区域的高度。另外,packed_region_top字段可以表示打包图片上的目标区域的左上样本的y分量,并且packed_region_left字段可以表示打包图片上的目标区域的左上样本的x分量。
同时,在目标区域的RAI区域包括不同类型的按区域辅助信息的情况下的打包图片可以如下面表示。
图12图示对于应用ERP的打包图片的区域的RAI区域的示例。参考图12(a),通过根据质量被划分为多个区域,基于ERP的投影图片可以被编码。即,可以将投影的图片导出为打包有质量不同的多个区域的图片。例如,假定打包图片的的中心区域M、顶部区域T和底部区域B是重要部分,并被指定为高质量(HQ),并且除了该区域以外的其余左区域L和右区域R可以被指定为低质量(LQ)。可以基于诸如MCTS的技术利用单独的流来发送打包图片的每个区域的信息。而且,基于图块平铺,每个区域可以在单独的区域中被编码,并且360度视频接收装置可以选择性地仅对区域中的所需区域进行解码,并且由此可以进一步提高编码率。然而,在将被指定为HQ的区域和被指定为LQ的区域一起显示的情况下,在被指定为HQ的区域和被指定为LQ边界的区域的部分中可能发生不希望的边界现象。相应地,为了减少边界现象,如图12(b)中所示,可以传输根据每个区域的性质导出的按区域辅助信息(RAI)。每个区域的按区域辅助信息可以不同于另一个区域的按区域辅助信息。
参考图12(b),可以导出包括每个区域的按区域辅助信息的RAI区域。图12(b)中所示的RAI区域的数量可以表示包括在RAI区域中的区域辅助信息的类型。即,可以针对包括按区域辅助信息的每个RAI区域用信号发送rai_type字段,并且每个RAI区域的数量可以表示rai_type字段的值。如上所述,在rai_type字段值为2的情况下,关于rai_type字段的RAI区域可以包括与目标区域的边界相邻的目标区域中的特定区域的信息,并且特定区域的信息可以具有逐渐的图像质量变化。另外,如上所述,在rai_type字段值为3的情况下,关于rai_type字段的RAI区域可以包括没有任何变化的与目标区域的边界相邻的目标区域中的特定区域的信息。
参考图12(b),可以存在包括与打包图片的中心区域相邻的不同类型的按区域辅助信息的RAI区域。在这种情况下,关于中心区域的rai_equal_type_flag字段值可以是0。此外,可以将与中心区域相邻的RAI区域用于生成视口,并且在这种情况下,可以将关于中心区域的rai_present_flag字段值表示为1。另外,在RAI区域的拐角部分(由图12(b)的对角线表示的部分)和包括中心区域的部分,即,中心区域的拐角邻近区域中,可能存在中心区域的按区域辅助信息。在这种情况下,中心区域的rai_corner_present_flag字段值可以表示为1。而且,拐角邻近区域中包括的按区域辅助信息可以用于生成视口。
另外,参考图12(b),在中央区域和左侧区域之间的RAI区域可以包括图像质量从HQ逐渐改变为LQ的按区域辅助信息。在这种情况下,基于RAI区域的区域,RAI区域的按区域辅助信息可以表示信息的方向性。即,可以根据RAI区域所属的区域在内部方向或外部方向上导出按区域辅助信息的方向性。
例如,在RAI区域是关于中心区域的RAI区域的情况下,可以导出:包括从中心区域的左边界到外部方向的按区域的辅助信息。即,可以将RAI区域的按区域辅助信息表示为具有外部方向的方向性的信息。在这种情况下,RAI区域的rai_dir字段值可以被表示为0。
此外,作为另一示例,在RAI区域是左区域的RAI区域的情况下,可以导出:包括从左区域的右边界开始向内部方向进入的按区域辅助信息。即,可以将RAI区域的按区域辅助信息表示为具有内部方向的方向性的信息。在这种情况下,RAI区域的rai_dir字段值可以被表示为1。
另外,参考图12(b),与顶部区域和左侧区域相邻的RAI区域、与顶部区域和中央区域相邻的RAI区域以及与顶部区域和右侧区域相邻的RAI区域可以是对于顶部区域的RAI区域。在这种情况下,可以针对顶部区域的底部边界导出不同类型的三种按区域辅助信息。在这种情况下,基于顶部区域的底部边界的每个RAI区域的rai_type字段,可以配置子边界,并且可以为每个RAI区域用信号发送不同类型的信息。特别地,例如,可以导出对于底部边界的5个子边界,并且可以按照从左到右的顺序用信号发送针对每个子边界的RAI区域的rai_type字段作为2、0、3、0和2值。
同时,可以如下面以各种形式导出包括目标区域的RAI区域的应用ERP的打包图片。
图13图示应用ERP的包括RAI区域的打包图片的示例。在将ERP应用于360度视频的投影类型的情况下,图13(a)示出通过ERP将投影图片作为打包图片导出的方法中的每个步骤中的图片。可以通过ERP投影360度视频数据,并且在投影之后,可以生成用于投影图片的RAI区域。如图13(a)中所示,可以生成与投影图片的右边界相邻的RAI区域,并且可以基于投影图片的左区域来生成RAI区域。然后,可以对包括RAI区域的投影图片执行按区域的打包过程。特别地,如图13(a)中所示,通过按区域打包过程,可以在打包图片的位置重新布置顶部区域、底部区域和侧面区域。在这种情况下,在投影图片中水平地下采样的顶部区域和底部区域可以位于打包图片中的侧面区域的上侧。另外,在按区域打包过程中,可以根据与RAI区域相对应的区域的变换来变换打包图片中的每个区域的RAI区域。
此外,图13(b)示出通过ERP导出投影图片作为打包图片的方法的另一实施例。如图13(b)中所示,可以生成与投影图片的右边界相邻的RAI区域和与左边界相邻的RAI区域,并且可以对包括RAI区域的投影图片执行按区域打包过程。特别地,如图13(b)中所示,通过按区域打包处理,可以重新排列投影图片的区域,并且可以导出投影图片的打包图片。
此外,图13(c)示出通过ERP导出投影图片作为打包图片的方法的另一实施例。参考图13(c),可以生成与投影图片的顶部区域、底部区域和侧面区域的左边界和右边界相邻的RAI区域。另外,可以通过按区域打包过程来重新布置投影图片的区域和RAI区域。同时,参考图13(c),可以将RAI区域的变换不同地应用于每个RAI区域。例如,可以与对应于每个RAI区域的区域的变换独立地执行针对顶部区域和底部区域的RAI区域的变换。特别地,例如,可以不应用1/2水平的缩小比例,而是可以将1/4水平的缩小比例应用于RAI区域。通过这种方式,如图13(c)中所示,RAI区域可以被定位在打包图片中更大尺寸的区域中。另外,为了减小区域之间的图像质量差异,在侧面区域的RAI区域中的与顶部边界相邻的RAI区域和与底部边界相邻的RAI区域可以具有逐渐的图像质量变化。在这种情况下,侧面区域的RAI区域中的与左边界相邻的RAI区域和与右边界相邻的RAI区域的rai_type字段值可以被配置成3,以表示包括没有任何变化的侧面区域中的特定区域的信息。另外,用于侧面区域的RAI区域中的与顶部边界相邻的RAI区域和与底部边界相邻的RAI区域的rai_type字段值可以被配置成2以表示具有逐渐的图像质量变化。因此,可以将与侧面区域的边界相对应的RAI区域生成为彼此不同类型。在生成对于侧面区域的不同类型的RAI区域的情况下,通过与左边界相邻的RAI区域和与右边界相邻的RAI区域,可以使区域之间的边界消失,并且通过与上边界相邻的RAI区域和与下边界相邻的RAI区域,可以从高图像质量的区域平滑地变成低图像质量的区域。
同时,如上所述,在生成对于打包图片中的第i个区域的不同类型的RAI区域的情况下,包括在RAI区域中的图像内容,即,360度视频数据,可以从打包图片的投影图片中的与第i个区域相邻的区域中被导出。投影图片中与第i个区域相邻的区域可以被表示为相应区域,并且投影图片可以被表示为源图片。如下表所示,可以导出包括RAI区域中相应区域的信息的语法元素。
[表3]
这里,gb_source_width[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的宽度,gb_source_height[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的高度,gb_source_top[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的左上样本的y分量,并且gb_source_left[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的左上样本的x分量。
此外,可以如下表所示导出包括RAI区域中的相应区域的信息的语法元素。
[表4]
在此,gb_source_type[i]可以表示RAI区域的源图片。即,如上所述,RAI区域可以从投影图片中的相应区域导出,但是也可以从打包图片中的相应区域导出。例如,在gb_source_type[i]值为1的情况下,gb_source_type[i]可以表示投影图片是源图片,而在gb_source_type[i]值为2的情况下,gb_source_type[i]可以表示打包图片是源图片。另外,guard_band_src_flag[i]可以表示是否用信号发送相应区域的信息。例如,在guard_band_src_flag[i]值为1的情况下,表示关于相应区域的信息的gb_source_width[i]、gb_source_height[i]、以及gb_source_top[i]和gb_source_left[i]可以用信号被发送,并且在guard_band_src_flag[i]值为0的情况下,可能不会用信号发送相应区域的信息。在这种情况下,可以从与投影图片中的第i个区域相邻的区域导出RAI区域的360度视频数据,并且可以将诸如打包图片中的第i个区域的变换的变换应用于RAI区域。
而且,gb_source_width[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的宽度,gb_source_height[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的高度,gb_source_top[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的左上样本的y分量,并且gb_source_left[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的左上样本的x分量。另外,gb_transform_type[i]可以表示如上所述的RAI区域的变换信息。
此外,可以如下表所示导出包括RAI区域中相应区域的信息的语法元素。
[表5]
这里,gb_src_proj_pic_flag[i]可以表示RAI区域的源图片。例如,在gb_source_type[i]值为1的情况下,gb_source_type[i]可以表示投影图片是源图片,而在gb_source_type[i]值为0的情况下,gb_source_type[i]可以表示打包图片是源图片。
另外,gb_types_different_flag[i]可以表示与顶部边界相邻的RAI区域,用于第i个区域的与底部边界相邻的RAI区域、与左边界相邻的RAI区域和与右边界相邻的RAI区域可能具有彼此不同的RAI区域类型。例如,在gb_types_different_flag[i]值为1的情况下,第i个区域的RAI区域可以是彼此不同的RAI区域类型的RAI区域,并且在gb_types_different_flag[i]值为0的情况下,第i个区域的RAI区域可以是相同RAI区域类型的RAI区域。
另外,gb_independent_transform_flag[i]可以表示是否将与第i个区域的变换不同的变换应用于第i个区域的RAI区域。例如,在gb_independent_transform_flag[i]值为1的情况下,可以通过与第i个区域的变换不同的变换来生成RAI区域,并且在gb_independent_transform_flag[i]值为0的情况下,可以通过与第i个区域的变换相同的变换来生成RAI区域。
此外,gb_transform_type[i]可以表示如上所述的RAI区域的变换信息。另外,gb_source_width[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的宽度,而gb_source_height[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的高度,gb_source_top[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的左上样本的y分量,并且gb_source_left[i]可以表示与打包图片中的第i个区域的RAI区域相对应的源图片的相应区域的左上样本的x分量。
同时,通过上述按区域打包过程导出的打包图片可以被用作用户的最终显示。但是,如上所述,打包图片中的区域可能具有不同质量的数据,并且因此,用户可能会感到不便。因此,如下所述,可以应用后处理。
图14图示通过后处理补偿打包图片中的区域之间的质量差异的示例。如图14的(a)和(b)所示,打包图片中的区域可以具有不同质量的数据。因此,作为使用户的不便最小化的方法,可能需要用于补偿区域之间的质量差异的后处理,并且例如,可以将空间增强滤波器应用于打包图片的区域。关于360度视频的常规元数据包括关于各个区域的相对质量水平的信息,但是在仅通过该信息来执行后处理中可能是困难的。因此,可以发送用于后处理的辅助信息。如下表所示,可以导出包括辅助信息的语法的盒子。该盒子可以表示为2DRegionQualityRankingBox。
[表6]
这里,可以用与SphereRegionQualityRankingBox中的quality_ranking和view_idc语法元素相同的方式来指定quality_ranking和view_idc。另外,num_regions可以表示由包括在2DRegionQualityRankingBox中的质量排名信息给出的质量排名信息的质量排名2D区域的数量。在此,解码图片的样本不应被包括在两个或更多个质量排名2D区域中。
此外,在remaining_area_flag值为0的情况下,可以基于left_offset、top_offset、region_width和region_height来定义质量排名2D区域。在remaining_area_flag值为1的情况下,可以基于left_offset、top_offset、region_width和region_height来定义第1个质量排名2D区域到第num_regions-1个质量排名2D区域,并且可以将最后剩余的质量排名2D区域定义为在除了第1个质量排名2D区域到第num_regions-l个质量排名2D区域的区域之外的区域当中宽度和高度与VisualSampleEntry的宽度和高度相同的区域。
此外,left_offset、top_offset、region_width和region_height可以表示质量排名2D区域的位置和大小。特别地,left_offset和top_offset可以表示视觉呈现大小中的图片上的质量排名2D区域的左上样本的x分量和y分量。此外,region_width和region_height可以表示视觉呈现大小中的图片上的质量排名2D区域的宽度和高度。在这种情况下,left_offset加上region_width的值可以小于TrackHeaderBox的宽度,并且top_offset加上region_height可以小于TrackHeaderBox的高度。此外,region_width值可以大于0,并region_height值可以大于0。
另外,num_quality_description_types可以表示表示质量排名2D区域的质量描述类型和细节的quality_description_types的数量。例如,在num_quality_description_types值大于0的情况下,可以基于quality_description_type和quality_description_param导出质量排名的详细信息。可以在渲染过程中使用quality_description_type和quality_description_param来减少由于视口区域之间的差异而导致的伪影或不便。quality_description_type可以表示当生成质量排名2D区域时应用的质量因子。例如,在quality_description_type值为1的情况下,quality_description_type可以表示将空间缩放应用于质量排名2D区域,并且在quality_description_type值为2的情况下,quality_description_type可以表示将量化过程应用于质量排名2D区域。另外,num_param可以表示参数的数量,其表示与quality_description_type相关的质量差。例如,在quality_description_type值为1的情况下,可以将num_param值导出为2,在quality_description_type值为2的情况下,num_param值可以导出为1。quality_description_param可以表示该参数的值。例如,在quality_description_type值为1的情况下,quality_description_param[i][j][0]可以表示水平缩放因子,而quality_description_param[i][j][1]可以表示垂直缩放因子。可以通过(quality_description_param[i][j][k]+1)/64来计算水平缩放因子和垂直缩放因子,并且水平缩放因子和垂直缩放因子的范围可以是1/64至4。另外,作为另一示例,在quality_description_type值为1的情况下,quality_description_param[i][j][0]可以表示在编码过程中应用的质量排名2D区域的量化参数(QP)。
同时,为了传输关于按区域辅助信息的关于360度视频的元数据,可以重新定义RegionWiseAuxiliaryInformationSEIBox。RegionWiseAuxiliaryInformationSEIBox可以包括SEI NAL单元,该SEI NAL单元包括关于按区域的辅助信息的元数据。SEI NAL单元可以包括SEI消息,该SEI消息包括关于按区域辅助信息的元数据。可以通过将RegionWiseAuxiliaryInformationSEIBox包括在VisualSampleEntry、AVCSampleEntry、MVCSampleEntry、SVCSampleEntry、HEVCSampleEntry等中进行传输。
图15图示通过被包括在VisualSampleEntry或HEVCSampleEntry中被发送的RegionWiseAuxiliaryInformationSEIBox。参考图15(a),RegionWiseAuxiliaryInformationSEIBox可以包括regionwiseauxiliaryinformationsei字段。regionwiseauxiliaryinformationsei字段可以包括SEI NAL单元,其包括关于按区域辅助信息的元数据。元数据如上所述。Regionwiseauxiliaryinformationsei字段也可以被表示为rai_sei字段。
此外,可以通过被包括在VisualSampleEntry、AVCSampleEntry、MVCSampleEntry、SVCSampleEntry、HEVCSampleEntry等中来传输RegionWiseAuxiliaryInformationSEIBox。
例如,参考图15(b),RegionWiseAuxiliaryInformationSEIBox可以通过被包括在VisualSampleEntry中被传输。VisualSampleEntry可以包括rai_sei字段,该字段表示是否应用RegionWiseAuxiliaryInformationSEIBox。在rai_sei字段表示RegionWiseAuxiliaryInformationSEIBox被应用于VisualSampleEntry的情况下,可以在没有任何变化的情况下通过将RegionWiseAuxiliaryInformationSEIBox中包括的按区域辅助信息的元数据复制到VisualSampleEntry来应用。
此外,参考图15(c),RegionWiseAuxiliaryInformationSEIBox可以通过被包括在HEVCSampleEntry的HEVCDecoderConfigurationRecord中被传输。HEVCSampleEntry的HEVCDecoderConfigurationRecord可以包括rai_sei字段,该字段表示是否应用RegionWiseAuxiliaryInformationSEIBox。在rai_sei字段表示RegionWiseAuxiliaryInformationSEIBox被应用于HEVCDecoderConfigurationRecord的情况下,可以在没有任何变化的情况下通过将RegionWiseAuxiliaryInformationSEIBox中包括的按区域辅助信息的元数据复制到HEVCDecoderConfigurationRecord来应用。
此外,参考图15(d),RegionWiseAuxiliaryInformationSEIBox可以通过被包括在HEVCSampleEntry中被传输。HEVCSampleEntry可以包括rai_sei字段,该rai_sei字段表示是否应用RegionWiseAuxiliaryInformationSEIBox。在rai_sei字段表示RegionWiseAuxiliaryInformationSEIBox被应用于HEVCSampleEntry的情况下,可以在没有任何变化的情况下通过将RegionWiseAuxiliaryInformationSEIBox中包括的按区域辅助信息的元数据复制到HEVCSampleEntry来应用。
同时,RegionWiseAuxiliaryInformationSEIBox可以包括包含上述的关于目标区域的按区域辅助信息的图像的SEI(补充增强信息)或VUI(视频可用性信息)。由此,可以针对通过文件格式传输的视频帧的每个区域用信号发送不同类型的按区域辅助信息。
例如,可以基于ISOBMFF(ISO基本媒体文件格式)存储视频,并且与视频轨道(或比特流)、样本或样本组关联的按区域辅助信息的元数据可以被存储并且用信号被发送。特别地,关于按区域辅助信息的元数据可以被包括并存储在诸如视觉样本条目的文件格式中。另外,可以以其他形式的文件格式,例如,通用文件格式等来包括和应用关于按区域辅助信息的元数据。与文件中的视频轨道或视频样本相关联的按区域辅助信息的元数据可以如下所示以盒子形态存储。
图16a至图16c图示根据本公开的实施例的RegionWiseAuxiliaryInformationStruct类。
RegionWiseAuxiliaryInformationStruct类可以包括num_regions_minus1字段、target_picture_width字段和target_picture_height字段。字段的定义如上所述。
此外,RegionWiseAuxiliaryInformationStruct类可以包括用于打包图片的区域的region_wise_auxiliary_information_present_flag字段和packing_type字段。字段的定义如上所述。
在打包图片的区域的region_wise_auxiliary_information_present_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括rai_width字段和rai_height字段,并且这些字段的定义如上所述。另外,RegionWiseAuxiliaryInformationStruct类可以包括用于该区域的rai_not_used_for_pred_flag字段、rai_equal_type_flag字段、rai_transformation_flag字段、rai_corner_present_flag字段、rai_extended_coverage_flag字段和rai_presentation_flag字段。字段的定义如上所述。
此外,在rai_equal_type_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括该区域的RAI区域的rai_type字段和rai_dir字段。同样,在rai_transformation_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括用于该区域的RAI区域的rai_transform_type字段、rai_hor_scale字段和rai_ver_scale字段。同样,在该区域的RAI区域的rai_type字段为2的情况下,RegionWiseAuxiliaryInformationStruct类可以包括用于RAI区域的rai_delta_QP字段。字段的定义如上所述。
此外,在rai_equal_type_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括用于区域边界的num_sub_boundaries_minus1字段。另外,RegionWiseAuxiliaryInformationStruct类可以包括与边界相邻的子RAI区域的rai_sub_length字段、rai_type字段和rai_dir字段。此外,在rai_transformation_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括用于每个子RAI区域的rai_transform_type字段、rai_hor_scale字段和rai_ver_scale字段。另外,在每个子RAI区域的rai_type字段是2的情况下,RegionWiseAuxiliaryInformationStruct类可以包括每个子RAI区域的rai_delta_QP字段。字段的定义如上所述。
此外,在rai_corner_present_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括关于该区域的拐角相邻的RAI区域的rai_type字段和rai_dir字段。此外,在rai_transformation_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括关于拐角邻近RAI区域的rai_transform_type字段、rai_hor_scale字段和rai_ver_scale字段。字段的定义如上所述。
此外,在rai_corner_present_flag字段值为1的情况下,RegionWiseAuxiliaryInformationStruct类可以包括ExtendedCoverageInformation类。ExtendedCoverageInformation类可以如图17中所示。
图17图示根据本公开的实施例的ExtendedCoverageInformation类。参考图17,ExtendedCoverageInformation类可以包括关于打包图片的区域的信息以及包括该区域的RAI区域的扩展区域。例如,ExtendedCoverageInformation类可以包括扩展区域的center_yaw字段、center_pitch字段、center_roll字段、hor_range字段和ver_range字段。字段的定义如上所述。
此外,文件中的视频的视频轨道或样本相关联的按区域辅助信息的元数据可以如下面以盒子形式被存储。
图18图示根据本公开的实施例的RectRegionPacking类。参考图18,RectRegionPacking类可以包括关于打包图片中的区域的按区域打包过程的元数据。例如,RectRegionPacking类可以包括该区域的proj_reg_width字段、proj_reg_height字段、proj_reg_top字段、proj_reg_left字段、transform_type字段、packed_reg_width字段、packed_reg_height字段、packed_reg_top字段和packed_reg_left字段。字段的定义如上所述。
同时,RegionWiseAuxiliaryInformationStruct(rwai)类可以被包括在VisualSampleEntry、AVCSampleEntry、MVCSampleEntry、SVCSampleEntry或HEVCSampleEntry中。
图19图示通过被包括在VisualSampleEntry或HEVCSampleEntry中被发送的RegionWiseAuxiliaryInformationStruct类。参考图19(a),RegionWiseAuxiliaryInformationStruct(rwai)类可以通过被包括在VisualSampleEntry中被发送。在这种情况下,可以在没有任何变化的情况下,将包括在OMVInformationSEIBox中的关于按区域辅助信息的元数据复制并应用于VisualSampleEntry。
另外,例如,参考图19(b),RegionWiseAuxiliaryInformationStruct类可以通过被包括在HEVCSampleEntry的HEVCDecoderConfigurationRecord中被发送。在这种情况下,可以在没有任何变化的情况下通过将RegionWiseAuxiliaryInformationStruct类中包括的按区域辅助信息的元数据复制到HEVCDecoderConfigurationRecord来应用。
另外,例如,参考图19(c),RegionWiseAuxiliaryInformationStruct类可以通过被包括在HEVCSampleEntry中被发送。可以在没有任何变化的情况下通过将RegionWiseAuxiliaryInformationStruct类中包括的按区域辅助信息的元数据复制到HEVCSampleEntry来应用。
同时,RegionWiseAuxiliaryInformationStruct(rwai)类可以被定义为定时元数据。定时元数据可以被定义为其值根据时间的变化而改变的元数据。
图20图示将RegionWiseAuxiliaryInformationStruct类定义为定时元数据的示例。在按区域辅助信息被相同地应用于360度视频数据的整个样本的情况下,如图20(a)中所示,RegionWiseAuxiliaryInformationStruct类可以被包括在定时元数据轨道的MetadataSampleEntry或报头(例如,moov或moof等)中。包含在RegionWiseAuxiliaryInformationStruct类中的按区域辅助信息的元数据的字段的定义可以如上所述,并且这些字段可以被应用于mdat中的所有元数据样本。
同时,在将按区域的辅助信息不同地应用于360度视频数据的样本的情况下,如图20(b)中所示,RegionWiseAuxiliaryInformationStruct类可以被包括在RegionWiseAuxiliaryInformationSample盒子中。同时,即使在这种情况下,也可以传输以文件格式的整个视频序列的按区域辅助信息。在这种情况下,如图20(a)中所示,整个视频序列的按区域的辅助信息可以被包括在定时元数据轨道的MetadataSampleEntry中,并且可以扩展含义,使得RegionWiseAuxiliaryInformationStruct类的字段可以表示整个视频序列的按区域辅助信息。例如,RegionWiseAuxiliaryInformationStruct类的region_wise_auxiliary_information_present_flag字段、rai_not_used_for_pred_flag字段、rai_equal_type_flag字段、rai_transformation_flag字段、rai_corner_present_flag字段、rai_extended_coverage_flag字段以及rai_presentation_flag字段可以被扩展到通知是否在视频序列中使用各功能的意义。另外,添加表示RegionWiseAuxiliaryInformationStruct类的rai_width字段、rai_height字段、rai_hor_scale字段和rai_ver_scale字段的最大值和最小值的字段,并且可以扩展含义使得表示视频序列中每个值的范围。另外,RegionWiseAuxiliaryInformationStruct类的num_regions_minus1字段和num_sub_boundaries_minus1字段可以附加地用信号发送表示视频序列中每个图片和每个区域的子边界数量的最大值和最小值的字段,并且可以扩展含义。对于RegionWiseAuxiliaryInformationStruct类的packing_type字段、rai_type字段、rai_dir字段、rai_transform_type字段和rai_delta_QP字段,可以通过用信号发送使得视频序列中使用的RAI区域的所有类型、方向和变换信息被排列来扩展含义。此外,RegionWiseAuxiliaryInformationStruct类的num_sub_boundaries_minus1字段、rai_type字段、rai_dir字段、rai_transform_type字段和rai_delta_QP字段的含义可以通过详细通知使得每个表面的范围或所使用内容的范围被排列来扩展。
同时,在通过基于DASH的自适应流模型提供360度视频的广播服务或通过基于DASH的自适应流模型流式传输360度视频的情况下,按区域的辅助信息的元数据字段可以以包括在DASH MPD中的基于DASH的描述符格式等等来用信号被发送。即,关于按区域辅助信息的元数据的每个实施例可以被重写为基于DASH的描述符格式。基于DASH的描述符格式可以包括EssentialProperty描述符和SupplementalProperty描述符。表示用于按区域辅助信息的元数据的字段的描述符可以被包括在MPD的AdaptationSet、Representation或SubRepresentation中。由此,客户端或360度视频接收装置可以获取与按区域打包过程和按区域辅助信息有关的字段,并且基于这些字段,可以执行360度视频的处理。
图21a至图21f图示与基于DASH的描述符格式中描述的按区域辅助信息有关的元数据的示例。如图21a的2100所表示,基于DASH的描述符可以包括@schemeIdUri字段、@value字段和/或@id字段。@schemeIdUri字段可以提供用于标识相应描述符的方案的URI。@value字段可以具有由@schemeIdUri字段指示的方案定义的含义的值。即,@value字段可以具有根据相应方案的描述符元素的值,并且这些可以被称为参数。这些可能以“,”来区分。@id可以表示相应描述符的标识符。相同的标识符可以包括相同的方案ID、值和参数。
此外,如图21b的2110所表示,对于传输关于按区域辅助信息的元数据的描述符,@schemeIdUri字段可以具有urn:mpeg:dash:vr:201x值。这可以是用于标识相应的描述符是用于传输与按区域辅助信息有关的元数据的描述符的值。
用于传输关于按区域辅助信息的每个元数据的描述符的@value字段可以具有由图21c至图21f中所示的2120表示的值。也就是说,以@value的“,”区分的每个参数可以对应于与按区域辅助信息有关的元数据的每个字段。图21c至图21f中所示的2120将与上述按区域辅助信息有关的元数据的各种实施例中的一个实施例描述为@value的参数,但是也可以用参数代替每个信令字段,将上述的与按区域辅助信息有关的元数据的所有实施例描述为@value的参数。即,也可以以基于DASH的描述符格式描述根据上述所有实施例的与按区域辅助信息有关的元数据。
在图21c至图21f中所示的2120中,每个参数在相同名称的信令字段中可以具有相同含义。在此,M可以意指相应的参数是强制性的,O可以意指相应的参数是可选的,并且OD可以意指默认情况下相应的参数是可选的。在没有给出OD参数的情况下,预定的默认值可以被用作相应的参数值。在所示的实施例中,在括号中提供每个OD参数的默认值。
图22示意性地图示根据本公开的用于由360度视频传输装置处理360度视频数据的方法。图22中所示的方法可以由图5中所示的360度视频传输装置执行。特别地,例如,图22的步骤S2200可以由360度视频传输装置的数据输入单元来执行,步骤S2210可以由360度视频传输装置的投影处理器来执行,步骤S2220可以由360度视频传输装置的按区域打包处理器来执行,步骤S2230可以由360度视频传输装置的元数据处理器来执行,步骤S2240可以由360度视频传输装置的数据编码器来执行,并且步骤S2250可以由360度视频传输装置的传输处理器来执行。传输处理器可以包括在发射器中。
360度视频传输装置获取由至少一个相机捕获的360度视频数据(步骤,S2200)。360度视频传输装置可以获取由至少一个相机捕获的360度视频数据。360度视频数据可以是由至少一个相机捕获的视频。
360度视频传输装置通过处理360度视频数据来获取投影图片(步骤S2210)。360度视频传输装置可以根据几种投影方案中的针对360度视频数据的投影方案在2D图像上执行投影,并获取投影图片。数种投影方案可以包括等距矩形投影方案、立方体方案、圆柱投影方案、基于图块的投影方案、锥体投影方案、全景投影方案以及直接在不拼接的情况下投影在2D图像上的特定方案。另外,投影方案可以包括八面体投影方案和二十面体投影方案。同时,在投影方案信息指示特定方案的情况下,至少一个相机可以是鱼眼相机,并且在这种情况下,由每个相机获取的图像可以是圆形图像。投影图片可以包括表示投影方案的3D投影结构的表面的区域。
360度视频传输装置通过将按区域打包应用于投影图片来获取打包图片(步骤S2220)。360度视频传输装置可以执行诸如旋转或重新排列投影图片的每个区域或改变每个区域的分辨率的处理。该处理过程可以被称为按区域打包过程。360度视频传输装置可以将按区域打包过程应用于投影图片,并获取包括被应用按区域打包过程的区域的打包图片。打包图片可以称为打包帧。
同时,打包图片可以包括用于打包图片的目标区域的至少一个按区域辅助信息(RAI)区域。
例如,可以执行用于将投影在投影图片上的360度视频数据划分为每个区域的区域分解过程,并且可以执行用于为每个区域添加RAI区域的按区域辅助信息***过程。在此,RAI区域可以是包括针对目标区域的附加360度视频数据的区域,并且RAI区域可以是与打包图片上的目标区域的边界相邻的区域。RAI区域也可以被称为保护带。另外,可以执行诸如旋转、重新排列RAI区域或改变分辨率的过程。
另外,作为其他示例,也可以将投影图片划分为多个子图片,并执行添加关于该子图片的目标区域的RAI区域的按区域辅助信息***过程。子图片可以对应于图块、运动受限图块集(MCTS)或区域。另外,可以执行诸如旋转、重新排列RAI区域或改变分辨率的过程。
360度视频传输装置生成用于360度视频数据的元数据(步骤S2230)。元数据可以包括上述的num_regions字段、num_regions_minus1字段、target_picture_width字段、target_picture_height字段、region_wise_auxiliary_information_present_flag字段、packing_type字段、rai_width字段、rai_height字段、rai_not_used_for_pre_flag字段、rai_equal_type_flag字段、rai_transformation_flag字段、rai_corner_present_flag字段、rai_extended_coverage_flag字段、rai_presentation_flag字段、rai_type字段、rai_dir字段、rai_transform_type字段、rai_hor_scale字段、rai_ver_scale字段、rai_delta_QP字段、num_sub_boundaries_minus1字段、rai_sub_length字段、center_yaw字段、center_pitch字段、center_roll字段、hor_range字段、ver_range字段、projected_region_width字段、projected_region_height字段、projected_region_top字段、projected_region_left字段、packed_region_width字段、packed_region_height字段、packed_region_top字段和/或packed_region_left。字段的含义如上所述。
特别地,例如,元数据可以包括指示用于目标区域的按区域辅助信息(RAI)区域的类型的信息。指示RAI区域的类型的信息可以表示rai_type字段。指示RAI区域的类型的信息可以表示包括在RAI区域中的按区域辅助信息的类型。例如,指示RAI区域的类型的信息可以表示未指定包括在RAI区域中的信息。特别地,在指示RAI区域的类型的信息的值为0的情况下,指示RAI区域的类型的信息可以表示未指定包括在RAI区域中的信息。另外,指示RAI区域的类型的信息可以表示RAI区域重复地包括映射到位于目标区域的边界中的样本的360度视频数据。特别地,在指示RAI区域的类型的信息的值为1的情况下,RAI区域可以重复地包括映射到位于目标区域的边界中的样本的360度视频数据。换句话说,RAI区域可以包括映射到位于与RAI区域相邻的目标区域的边界中的样本的360度视频数据被复制的信息。另外,指示RAI区域的类型的信息可以表示RAI区域中包括的信息是目标区域中包括的360度视频数据(图像信息),但是RAI区域的图像质量可以具有从目标区域的图像质量逐渐变成球面上与目标区域相邻的区域的图像质量的图像质量。特别地,在指示RAI区域的类型的信息的值为2的情况下,RAI区域可以包括目标区域中包括的360度视频数据,但是RAI区域的图像质量可以具有从目标区域的图像质量逐渐的变成球面上与目标区域相邻的区域的图像质量的图像质量。特别地,例如,随着距与目标区域相邻的边界的距离增加,可以将RAI区域的图像质量逐渐变成球面上的与目标区域相邻的区域的图像质量。另外,指示RAI区域的类型的信息可以表示RAI区域中包括的信息是目标区域中包括的360度视频数据(图像信息)。特别地,在指示RAI区域的类型的信息的值为3的情况下,RAI区域可以包括与目标区域的图像质量相同的图像质量的目标区域中包括的360度视频数据。另外,指示RAI区域的类型的信息可以表示包括在RAI区域中的信息是与球面上的目标区域相邻的区域的图像信息。特别地,在指示RAI区域的类型的信息的值为4的情况下,RAI区域可以包括在球面上与目标区域相邻的区域的360度视频数据。另外,指示RAI区域的类型的信息可以表示参考区域的RAI区域的图像信息被用作目标区域的RAI区域的图像信息。特别地,在指示RAI区域的类型的信息的值为5的情况下,参考区域的RAI区域的360度视频数据可以被用作目标区域的RAI区域的360度视频数据。在此,参考区域可以表示在球面上与目标区域相邻的区域。在这种情况下,目标区域的RAI区域可以不包括360度视频数据,并且如果需要,则参考区域的RAI区域的360度视频数据可以被用作目标区域的RAI区域的360度视频数据。例如,在打包图片的投影类型是等距矩形投影(ERP),并且目标区域的RAI区域与打包图片的左边界相邻的情况下,参考区域的RAI区域可以与打包图片的右边界相邻。
此外,作为另一示例,打包图片可以包括对于目标区域的多个RAI区域,并且元数据可以包括表示RAI区域是否是具有相同类型的RAI区域的标志。该标志可以表示rai_equal_type_flag。在标志值为1的情况下,元数据可以包括指示RAI区域的类型的信息并且包括表示RAI区域中包括的数据的方向性的信息。指示RAI区域的类型的信息可以表示rai_type字段,并且表示包括在RAI区域中的数据的方向性的信息可以表示rai_dir字段。此外,在标志值为0的情况下,元数据可以包括指示RAI区域的每种类型的信息,并且包括表示在每个RAI区域中包括的数据的方向性的信息。指示RAI区域的每种类型的信息可以表示rai_type字段,并且表示包括在每个RAI区域的数据的方向性的信息可以表示rai_dir字段。
此外,作为另一示例,元数据可以包括表示是否用信号发送关于RAI区域的变换信息的标志。该标志可以表示rai_transformation_flag字段。在标志表示RAI区域的变换信息被用信号发送的情况下,即,在标志值为1的情况下,元数据可以包括关于RAI区域的变换信息。关于RAI区域的变换信息可以包括表示应用于RAI区域的变换类型的信息和表示应用于RAI区域的水平缩放系数和垂直缩放系数的信息。表示应用于RAI区域的变换类型的信息可以表示rai_transform_type字段,并且表示应用于RAI区域的水平缩放系数和垂直缩放系数的信息可以表示rai_hor_scale字段和rai_ver_scale字段。
此外,作为另一示例,元数据可以包括表示目标区域的拐角RAI区域是否包括在打包图片中的标志。该标志可以表示rai_corner_present_flag字段。这里,拐角RAI区域可以是位于目标区域的左上、右上、左下或右下邻近区域中的RAI区域。在标志值为1的情况下,打包图片可以包括打包图片的目标区域的至少一个拐角RAI区域。同时,元数据可以包括表示包括拐角RAI区域的RAI区域是否是具有相同类型的RAI区域的标志。在标志值为0的情况下,元数据可以包括指示拐角RAI区域的类型的信息。即,元数据可以包括表示拐角RAI区域和RAI区域是否是具有相同类型的RAI区域的标志。在标志值为0的情况下,元数据可以包括指示拐角RAI区域的类型的信息。
此外,作为另一示例,元数据可以包括表示目标区域的扩展区域的信息是否被用信号发送的标志。在此,扩展区域可以包括目标区域和RAI区域。该标志可以表示rai_extended_coverage_flag字段。在标志表示扩展区域的信息被用信号发送的情况下,即,在表示目标区域的扩展区域是否被用信号发送的信息的标志值为1的情况下,元数据可以包括表示对应于扩展区域的中心点的球面上的位置的偏航值、俯仰值和横滚值。表示球面上的位置的偏航值、俯仰值和横滚值的信息可以表示center_yaw字段、center_pitch字段和center_roll字段。此外,在表示目标区域的扩展区域的信息是否被用信号发送的标志值为1的情况下,元数据可以包括表示扩展区域的水平范围和垂直范围的信息。表示扩展区域的水平范围和垂直范围的信息可以分别表示hor_range字段和ver_range字段。
另外,作为另一示例,元数据可以包括表示是否将包括在RAI区域中的360度视频数据用于生成视口的标志。该标志可以表示rai_presentation_flag字段。
此外,作为另一示例,打包图片可以包括与目标区域的特定边界相邻的子RAI区域,并且在这种情况下,元数据可以包括表示子RAI区域的数量的信息。表示子RAI区域的数量的信息可以表示num_sub_boundaries_minus1字段。而且,元数据可以包括表示每个子RAI区域的子边界的长度的信息。在此,每个子RAI区域的子边界可以表示在特定边界中与每个子RAI区域相邻的部分。
同时,可以通过SEI消息发送元数据。而且,元数据可以被包括在媒体呈现描述(MPD)的自适应集(AdaptationSet)、表示(Representation)或子表示(SubRepresentation)中。在此,SEI消息可以被用于2D图像的解码或辅助将2D图像显示到3D空间。
360度视频传输装置对打包图片进行编码(步骤,S2240)。360度视频传输装置可以对打包图片进行编码。可替选地,360度视频传输装置可以仅对在打包图片的子图片中选择的子图片进行编码。另外,360度视频传输装置可以对元数据进行编码。
360度视频传输装置执行用于存储或传输编码图片和元数据的过程(步骤,S2250)。360度视频传输装置可以以文件等的格式封装编码的360度视频数据和/或元数据。360度视频传输装置可以以诸如ISOBMFF、CFF等的文件格式封装编码的360度视频数据和/或元数据,或者以像其他DASH片段一样的格式处理以存储或发送编码的360度视频和/或元数据。360度视频传输装置可以包括文件格式的元数据。例如,元数据可以包括在ISOBMFF文件格式的各个级别的盒子中,或者被包括在文件的单独轨道中。另外,360度视频传输装置可以将元数据本身封装为文件。360度视频传输装置可以根据文件格式向封装的360度视频数据施加用于传输的处理。360度视频传输装置可以根据任意传输协议来处理360度视频数据。传输过程可以包括用于通过广播网络进行传输的过程或用于通过诸如宽带的通信网络进行传输的过程。另外,360度视频传输装置可以向元数据施加用于传输的处理。360度视频传输装置可以通过广播网络或宽带发送其中执行传输处理的360度视频数据和元数据。
图23示意性地图示根据本公开的用于由360度视频接收装置处理360度视频数据的方法。图23中所示的方法可以由图6中所示的360度视频接收装置执行。特别地,例如,图23的步骤S2300可以由360度视频接收装置的接收器来执行,步骤S2310可以由360度视频接收装置的接收处理器来执行,步骤S2320可以由360度视频接收装置的数据解码器来执行,并且步骤S2330可以由360度视频接收装置的渲染器执行。
360度视频接收装置接收关于与360度视频数据有关的打包图片的信息和包括关于该360度视频数据的元数据的信号(步骤S2300)。360度视频接收装置可以通过广播网络从360度视频传输装置接收关于360度视频数据的打包图片的信息和被用信号发送的元数据。可以通过打包图片的子图片来接收360度视频数据。可替选地,可以通过打包图片的子图片当中的子图片来接收360度视频数据。另外,360度视频接收装置可以通过诸如宽带或存储介质的通信网络接收打包图片的信息和元数据。这里,打包图片可以被称为打包帧。
360度视频接收装置通过处理接收到的信号来获取打包图片的信息和元数据(步骤S2310)。360度视频接收装置可以根据传输协议对打包图片的信息和元数据执行处理。另外,360度视频接收装置可以执行上述360度视频传输装置的传输过程的逆处理。元数据可以包括上述的num_regions字段、num_regions_minus1字段、target_picture_width字段、target_picture_height字段、region_wise_auxiliary_information_present_flag字段、packing_type字段、rai_width字段、rai_height字段、rai_not_used_for_pre_flag字段、rai_equal_type_flag字段、the rai_transformation_flag字段、rai_corner_present_flag字段、rai_extended_coverage_flag字段、rai_presentation_flag字段、rai_type字段、rai_dir字段、rai_transform_type字段、rai_hor_scale字段、rai_ver_scale字段、rai_delta_QP字段、num_sub_boundaries_minus1字段、rai_sub_length、center_yaw字段、center_pitch字段、center_roll字段、hor_range字段、ver_range字段、projected_region_width字段、projected_region_height字段、projected_region_top字段、projected_region_left字段、packed_region_width字段、packed_region_height字段、packed_region_top字段和/或packed_region_left。字段的含义如上所述。
特别地,例如,元数据可以包括指示用于目标区域的按区域辅助信息(RAI)区域的类型的信息。指示RAI区域的类型的信息可以表示rai_type字段。指示RAI区域的类型的信息可以表示包括在RAI区域中的按区域辅助信息的类型。例如,指示RAI区域的类型的信息可以表示未指定包括在RAI区域中的信息。特别地,在指示RAI区域的类型的信息的值为0的情况下,指示RAI区域的类型的信息可以表示未指定包括在RAI区域中的信息。另外,指示RAI区域的类型的信息可以表示RAI区域重复地包括映射到位于目标区域的边界中的样本的360度视频数据。特别地,在指示RAI区域的类型的信息的值为1的情况下,RAI区域可以重复地包括映射到位于目标区域的边界中的样本的360度视频数据。换句话说,RAI区域可以包括映射到位于与RAI区域相邻的目标区域的边界中的样本的360度视频数据被复制的信息。另外,指示RAI区域的类型的信息可以表示RAI区域中包括的信息是目标区域中包括的360度视频数据(图像信息),但是RAI区域的图像质量可以具有从目标区域的图像质量逐渐变为球面上与目标区域相邻的区域的图像质量的图像质量。特别地,在指示RAI区域的类型的信息的值为2的情况下,RAI区域可以包括目标区域中包括的360度视频数据,但是RAI区域的图像质量可以具有从目标区域的图像质量逐渐变成球面上与目标区域相邻的区域的图像质量的图像质量。特别地,例如,随着距与目标区域相邻的边界的距离增加,可以将RAI区域的图像质量逐渐改变为球面上的与目标区域相邻的区域的图像质量。另外,指示RAI区域的类型的信息可以表示RAI区域中包括的信息是目标区域中包括的360度视频数据(图像信息)。特别地,在指示RAI区域的类型的信息的值为3的情况下,RAI区域可以包括与目标区域的图像质量相同的图像质量的目标区域中包括的360度视频数据。另外,指示RAI区域的类型的信息可以表示包括在RAI区域中的信息是与球面上的目标区域相邻的区域的图像信息。特别地,在指示RAI区域的类型的信息的值为4的情况下,RAI区域可以包括在球面上与目标区域相邻的区域的360度视频数据。另外,指示RAI区域的类型的信息可以表示参考区域的RAI区域的图像信息被用作目标区域的RAI区域的图像信息。特别地,在指示RAI区域的类型的信息的值为5的情况下,参考区域的RAI区域的360度视频数据可以被用作目标区域的RAI区域的360度视频数据。在此,参考区域可以表示在球面上与目标区域相邻的区域。在这种情况下,目标区域的RAI区域可以不包括360度视频数据,并且如果需要,则参考区域的RAI区域的360度视频数据可以被用作目标区域的RAI区域的360度视频数据。例如,在打包图片的投影类型是等距矩形投影(ERP),并且目标区域的RAI区域与打包图片的左边界相邻的情况下,参考区域的RAI区域可以与打包图片的右边界相邻。
另外,作为另一示例,打包图片可以包括对于目标区域的多个RAI区域,并且元数据可以包括表示RAI区域是否是具有相同类型的RAI区域的标志。该标志可以表示rai_equal_type_flag。在标志值为1的情况下,元数据可以包括指示RAI区域的类型的信息并且包括表示RAI区域中包括的数据的方向性的信息。指示RAI区域的类型的信息可以表示rai_type字段,并且表示包括在RAI区域中的数据的方向性的信息可以表示rai_dir字段。此外,在标志值为0的情况下,元数据可以包括指示RAI区域的每种类型的信息,并且包括表示在每个RAI区域中包括的数据的方向性的信息。指示RAI区域的每种类型的信息可以表示rai_type字段,并且表示包括在每个RAI区域中的数据的方向性的信息可以表示rai_dir字段。
此外,作为另一示例,元数据可以包括表示是否用信号发送关于RAI区域的变换信息的标志。该标志可以表示rai_transformation_flag字段。在标志表示RAI区域的变换信息被用信号发送的情况下,即,在标志值为1的情况下,元数据可以包括关于RAI区域的变换信息。关于RAI区域的变换信息可以包括表示应用于RAI区域的变换类型的信息和表示应用于RAI区域的水平缩放系数和垂直缩放系数的信息。表示应用于RAI区域的变换类型的信息可以表示rai_transform_type字段,并且表示应用于RAI区域的水平缩放系数和垂直缩放系数的信息可以表示rai_hor_scale字段和rai_ver_scale字段。
此外,作为另一示例,元数据可以包括表示目标区域的拐角RAI区域是否包括在打包图片中的标志。该标志可以表示rai_corner_present_flag字段。这里,拐角RAI区域可以是位于目标区域的左上、右上、左下或右下邻近区域中的RAI区域。在标志值为1的情况下,打包图片可以包括打包图片的目标区域的至少一个拐角RAI区域。同时,元数据可以包括表示包括拐角RAI区域的RAI区域是否是具有相同类型的RAI区域的标志。在标志值为0的情况下,元数据可以包括指示拐角RAI区域的类型的信息。即,元数据可以包括表示拐角RAI区域和RAI区域是否是具有相同类型的RAI区域的标志。在标志值为0的情况下,元数据可以包括指示拐角RAI区域的类型的信息。
此外,作为另一示例,元数据可以包括表示目标区域的扩展区域的信息是否被用信号发送的标志。在此,扩展区域可以包括目标区域和RAI区域。该标志可以表示rai_extended_coverage_flag字段。在标志表示扩展区域的信息被用信号发送的情况下,即,在表示目标区域的扩展区域是否被用信号发送的信息的标志值为1的情况下,元数据可以包括表示对应于扩展区域的中心点的球面上的位置的偏航值、俯仰值和横滚值。表示球面上的位置的偏航值、俯仰值和横滚值的信息可以表示center_yaw字段、center_pitch字段和center_roll字段。此外,在表示目标区域的扩展区域的信息是否被用信号发送的标志值为1的情况下,元数据可以包括表示扩展区域的水平范围和垂直范围的信息。表示扩展区域的水平范围和垂直范围的信息可以分别表示hor_range字段和ver_range字段。同时,扩展区域可以被用于生成视口,并且在这种情况下,用于扩展区域的信息可以被用于扩展区域的渲染过程。即,基于扩展区域的信息,可以导出扩展区域被映射到的球面上的区域。
此外,作为另一示例,元数据可以包括表示是否将包括在RAI区域中的360度视频数据用于生成视口的标志。该标志可以表示rai_presentation_flag字段。在标志指示RAI区域中包括的360度视频数据生成视口的情况下,可以在球面的区域中渲染并显示RAI区域中包括的360度视频数据。
此外,作为另一示例,打包图片可以包括与目标区域的特定边界相邻的子RAI区域,并且在这种情况下,元数据可以包括表示子RAI区域的数量的信息。表示子RAI区域的数量的信息可以表示num_sub_boundaries_minus1字段。而且,元数据可以包括表示每个子RAI区域的子边界的长度的信息。在此,每个子RAI区域的子边界可以表示在特定边界中与每个子RAI区域相邻的部分。
同时,可以通过SEI消息发送元数据。而且,元数据可以被包括在媒体呈现描述(MPD)中的自适应集(AdaptationSet)、表示(Representation)或子表示(SubRepresentation)中。在此,SEI消息可以被用于2D图像的解码或辅助将2D图像显示到3D空间。
360度视频接收装置基于图片的信息对图片进行解码(步骤S2320)。360度视频接收装置可以基于图片的信息对图片进行解码。另外,360度视频接收装置可以通过接收到的比特流获取视口元数据,并且仅解码基于视口元数据选择的区域(或子图片)。同时,在表示目标区域的扩展区域的信息是否被用信号发送的标志值为1的情况下,360度视频接收装置可以在包括RAI区域的扩展区域和不包括RAI区域的目标区域(或子图片)之间选择用于生成由视口元数据指定的视口的有效区域,并解码所选择的区域。
360度视频接收装置基于元数据处理解码的图片,并将其渲染到3D空间(步骤S2330)。360度视频接收装置可以基于元数据将打包图片的360度视频数据映射在3D空间上。特别地,360度视频接收装置基于与打包图片的目标区域的按区域打包处理有关的元数据,对目标区域执行按区域反转。同时,在将与目标区域的变换处理不同的变换处理应用于目标区域的RAI区域的情况下,即,在表示RAI区域的变换信息的信息是否被用信号发送的标志值为1的情况下,基于RAI区域的变换信息(例如,RAI区域的rai_transform_type字段、rai_hor_scale字段和rai_ver_scale字段),可以执行针对RAI区域的按区域反转。另外,在打包图片包括关于目标区域的拐角RAI区域的情况下,元数据可以包括关于拐角RAI区域的变换信息,并且基于关于RAI区域的变换信息(例如,关于rai区域的rai_transform_type字段、rai_hor_scale字段和rai_ver_scale字段),可以对拐角RAI区域执行按区域反转。
此外,360度视频接收装置可以基于元数据从打包图片中获取投影图片,并将投影图片重新投影到3D空间。在这种情况下,360度视频接收装置可以基于目标区域并且基于目标区域的RAI区域的360度视频数据来获取投影图片,从而减小投影图片的区域边界误差。区域边界误差可以意指这样的误差,即,投影图片的邻近区域之间的边界显示为明显的线,或者区域之间的差异以边界为中心清楚地显示,从而该图片不显示为连续图片,而是显示出被区分的区域。用于减小区域边界误差的方法可以包括,用于映射通过在RAI区域的样本与投影图片的样本之间的混合过程而导出的样本的方法;以及用于通过RAI区域的样本替换投影样本的样本的替换方法。
此外,在表示包括在RAI区域中的360度视频数据是否被用于生成视口的标志值为1的情况下,可以将包括在RAI区域中的360度视频数据映射到3D空间。特别地,包括RAI区域和目标区域的扩展区域可以被映射到3D空间上的视口。视口可以表示用户在3D空间上面对的方向上的区域。
根据实施例,可以省略上述步骤,或者由执行类似/相同操作的其他步骤代替。
根据本公开的实施例的360度视频传输装置可以包括上述数据输入单元、拼接器、信令处理器、投影处理器、数据编码器、传输处理器和/或发射器。上面已经描述内部组件。根据本公开的实施例的360度视频传输装置及其内部组件可以执行前述的本公开的360度视频的传输方法的实施例。
根据本公开的实施例的360度视频接收装置可以包括上述接收器、接收处理器、数据解码器、信令解析器、重新投影处理器和/或渲染器。上面已经描述内部组件。根据本公开的实施例的360度视频接收装置及其内部组件可以执行前述的本公开的360度视频的接收方法的实施例。
上述装置的内部组件可以是执行存储在存储器中的连续过程的处理器或硬件组件。这些组件可以位于装置的内部/外部。
根据实施例,上述模块可以被省略或由执行类似/相同操作的其他模块代替。
上述部件、模块或单元可以是执行存储在存储器(或存储单元)中的连续过程的处理器或硬件部件。前述实施例中描述的步骤可以由处理器或硬件部件执行。以上实施例中描述的模块/块/单元可以作为硬件/处理器操作。本公开提出的方法可以作为代码执行。这样的代码可以被写在处理器可读存储介质上,并且因此可以被装置提供的处理器读取。
在以上示例性***中,尽管已经基于使用一系列步骤或块的流程图描述方法,但是本公开不限于步骤的顺序,并且一些步骤可以在与剩余步骤的顺序不同的顺序被执行或可以与剩余步骤同时执行。此外,本领域地技术人员将理解,流程图中示出的步骤不是排他的,并且可以包括其他步骤,或者在不影响本公开的范围的情况下,可以删除流程图中的一个或多个步骤。
当以软件来实现上述实施例时,可以使用执行上述功能的模块(处理或功能)来实现上述方案。该模块可以被存储在存储器中并且由处理器执行。存储器可以在内部或外部布置到处理器,并使用各种众所周知的手段连接到处理器。处理器可以包括专用集成电路(ASIC)、其他芯片组、逻辑电路和/或数据处理器。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、存储卡、存储介质和/或其他存储设备。
Claims (14)
1.一种由360度视频传输装置执行的360度视频数据处理方法,包括:
获取由至少一个相机捕获的360度视频数据;
通过投影和按区域打包所述360度视频数据来生成图片;
生成关于所述360度视频数据的元数据;
对所述图片进行编码;以及
发送所述图片和所述元数据,
其中,所述图片包括用于所述图片中的区域的多个保护带,
其中,所述元数据包括表示所述保护带中的保护带的类型的信息,
其中,所述类型具有与对于所述区域相邻的区域的质量改变有关的值,并且
其中,所述元数据还包括质量排序信息,所述质量排序信息包括用于表示所述区域的质量类型的质量类型信息,并且所述质量类型信息表示导致所述图片中的区域的质量差异的因素。
2.根据权利要求1所述的360度视频数据处理方法,当所述图片的投影类型为等距矩形投影(ERP)并且所述区域的所述保护带与所述图片的左边界相邻时,所述区域的保护带与所述图片的右边界相邻。
3.根据权利要求1所述的360度视频数据处理方法,
其中,所述元数据包括表示所述保护带是否为具有相同类型的保护带的标志。
4.根据权利要求1所述的360度视频数据处理方法,其中,所述元数据包括表示是否用信号发送所述保护带的变换信息的标志,
其中,当所述标志的值是1时,所述元数据包括所述保护带的变换信息。
5.根据权利要求1所述的360度视频数据处理方法,
其中,所述元数据包括表示所述图片中是否包括所述区域的拐角保护带的标志,
其中,所述拐角保护带是位于所述区域的左上、右上、左下或右下邻近区域中的保护带,
其中,当所述标志的值为1时,所述图片包括所述图片的所述区域的至少一个拐角保护带。
6.根据权利要求5所述的360度视频数据处理方法,
其中,所述元数据包括表示所述拐角保护带和所述保护带是否具有相同类型的标志,
其中,当所述标志的值为0时,所述元数据包括表示所述拐角保护带的类型的信息。
7.根据权利要求1所述的360度视频数据处理方法,
其中,所述元数据包括表示是否用信号发送所述区域的扩展区域的信息的标志,并且
其中,所述扩展区域包括所述区域和所述保护带。
8.根据权利要求1所述的360度视频数据处理方法,
其中,所述元数据包括表示是否将包括在所述保护带中的360度视频数据用于生成视口的标志。
9.根据权利要求1所述的360度视频数据处理方法,
其中,所述图片包括与所述区域的特定边界相邻的子保护带,并且
其中,所述元数据包括表示所述子保护带的数目的信息。
10.根据权利要求9所述的360度视频数据处理方法,
其中,所述元数据包括表示所述子保护带的每一个的子边界的长度的信息,并且
其中,所述子保护带的每一个的所述子边界是特定边界当中的在其中所述子保护带中的每一个相邻的部分。
11.一种由360度视频接收装置执行的360度视频数据处理方法,包括:
接收关于360度视频数据的图片和所述360度视频数据的元数据;
解码所述图片;以及
通过基于所述元数据处理解码图片,在3D空间上渲染所述解码图片,
其中,所述图片包括所述图片中的区域的多个保护带,
其中,所述元数据包括表示所述保护带中的保护带的类型的信息,
其中,所述保护带的类型不同,
其中,所述类型具有与对于所述区域相邻的区域的质量改变有关的值,并且
其中,所述元数据还包括质量排序信息,所述质量排序信息包括用于表示所述区域的质量类型的质量类型信息,并且所述质量类型信息表示导致所述图片中的区域的质量差异的因素。
12.根据权利要求11所述的360度视频数据处理方法,当所述图片的投影类型为等距矩形投影(ERP)并且所述区域的所述保护带与所述图片的左边界相邻时,所述区域的保护带与所述图片的右边界相邻。
13.根据权利要求11所述的360度视频数据处理方法,
其中,所述元数据包括表示所述保护带是否具有相同类型的标志。
14.根据权利要求11所述的360度视频数据处理方法,
其中,所述元数据包括表示所述保护带中包括的360度视频数据是否被用于生成视口的标志,
当所述标志的值为1时,包括在所述保护带中的所述360度视频数据被用于生成所述视口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762530284P | 2017-07-09 | 2017-07-09 | |
US62/530,284 | 2017-07-09 | ||
PCT/KR2017/008547 WO2019013384A1 (ko) | 2017-07-09 | 2017-08-08 | 영역 기반 360도 비디오를 전송하는 방법, 영역 기반 360도 비디오를 수신하는 방법, 영역 기반 360도 비디오 전송 장치, 영역 기반 360도 비디오 수신 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110637463A CN110637463A (zh) | 2019-12-31 |
CN110637463B true CN110637463B (zh) | 2022-07-01 |
Family
ID=65002280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780090854.5A Active CN110637463B (zh) | 2017-07-09 | 2017-08-08 | 360度视频处理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20200382758A1 (zh) |
EP (1) | EP3609187A4 (zh) |
JP (1) | JP6993430B2 (zh) |
KR (1) | KR102271444B1 (zh) |
CN (1) | CN110637463B (zh) |
WO (1) | WO2019013384A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102656191B1 (ko) * | 2019-03-18 | 2024-04-09 | 삼성전자주식회사 | 360 비디오 환경에서 포인트 클라우드 콘텐트 액세스 및 전달을 위한 방법 및 장치 |
US11113870B2 (en) | 2019-03-18 | 2021-09-07 | Samsung Electronics Co., Ltd. | Method and apparatus for accessing and transferring point cloud content in 360-degree video environment |
WO2020242027A1 (ko) * | 2019-05-24 | 2020-12-03 | 엘지전자 주식회사 | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 |
GB2617359A (en) * | 2022-04-05 | 2023-10-11 | Canon Kk | Method and apparatus for describing subsamples in a media file |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101480186B1 (ko) * | 2007-12-10 | 2015-01-07 | 삼성전자주식회사 | 2d 영상과 3d 입체영상을 포함하는 영상파일을 생성 및재생하기 위한 시스템 및 방법 |
JP2013027021A (ja) * | 2011-07-26 | 2013-02-04 | Canon Inc | 全方位撮像装置及び全方位撮像方法 |
US9445112B2 (en) * | 2012-12-06 | 2016-09-13 | Microsoft Technology Licensing, Llc | Secure transcoding of video data |
KR20150059534A (ko) * | 2013-11-22 | 2015-06-01 | 삼성전자주식회사 | 파노라마 영상 생성 방법, 상기 방법을 기록한 컴퓨터 판독 가능 저장매체 및 파노라마 영상 생성 장치. |
CN106233736B (zh) * | 2014-04-25 | 2020-06-05 | 索尼公司 | 发送设备、发送方法、接收设备以及接收方法 |
US10104361B2 (en) * | 2014-11-14 | 2018-10-16 | Samsung Electronics Co., Ltd. | Coding of 360 degree videos using region adaptive smoothing |
WO2016199608A1 (ja) | 2015-06-12 | 2016-12-15 | ソニー株式会社 | 情報処理装置および情報処理方法 |
-
2017
- 2017-08-08 CN CN201780090854.5A patent/CN110637463B/zh active Active
- 2017-08-08 WO PCT/KR2017/008547 patent/WO2019013384A1/ko unknown
- 2017-08-08 KR KR1020197031011A patent/KR102271444B1/ko active IP Right Grant
- 2017-08-08 US US16/607,305 patent/US20200382758A1/en not_active Abandoned
- 2017-08-08 EP EP17917302.6A patent/EP3609187A4/en not_active Ceased
- 2017-08-08 JP JP2019561236A patent/JP6993430B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20200382758A1 (en) | 2020-12-03 |
KR20190126424A (ko) | 2019-11-11 |
JP6993430B2 (ja) | 2022-01-13 |
WO2019013384A1 (ko) | 2019-01-17 |
CN110637463A (zh) | 2019-12-31 |
EP3609187A4 (en) | 2020-03-18 |
EP3609187A1 (en) | 2020-02-12 |
KR102271444B1 (ko) | 2021-07-01 |
JP2020520161A (ja) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11109013B2 (en) | Method of transmitting 360-degree video, method of receiving 360-degree video, device for transmitting 360-degree video, and device for receiving 360-degree video | |
CN109076255B (zh) | 发送、接收360度视频的方法及设备 | |
KR102305633B1 (ko) | 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치 | |
CN109691094B (zh) | 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置 | |
KR102133848B1 (ko) | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 | |
KR102262727B1 (ko) | 360 비디오 처리 방법 및 그 장치 | |
US11140373B2 (en) | Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video | |
CN110612723B (zh) | 发送/接收包括鱼眼视频信息的360度视频的方法及其装置 | |
KR102221301B1 (ko) | 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치 | |
KR20190075040A (ko) | 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치 | |
KR102082707B1 (ko) | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 | |
US20190364261A1 (en) | Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video and apparatus for receiving 360-degree video | |
CN111727605B (zh) | 用于发送和接收关于多个视点的元数据的方法及设备 | |
KR102305634B1 (ko) | 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치 | |
CN110637463B (zh) | 360度视频处理方法 | |
US20190313074A1 (en) | Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video |
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 |