CN111095937A - 图像处理设备和文件生成设备 - Google Patents

图像处理设备和文件生成设备 Download PDF

Info

Publication number
CN111095937A
CN111095937A CN201880057984.3A CN201880057984A CN111095937A CN 111095937 A CN111095937 A CN 111095937A CN 201880057984 A CN201880057984 A CN 201880057984A CN 111095937 A CN111095937 A CN 111095937A
Authority
CN
China
Prior art keywords
stream
file
texture
information
content
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
CN201880057984.3A
Other languages
English (en)
Other versions
CN111095937B (zh
Inventor
高桥辽平
平林光浩
胜股充
浜田俊也
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN111095937A publication Critical patent/CN111095937A/zh
Application granted granted Critical
Publication of CN111095937B publication Critical patent/CN111095937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/23439Processing 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 for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/44029Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

提供了使得可以适当地重放BV(鸟瞰)内容的图像处理设备和文件生成设备。图像处理设备配备有文件处理单元,该文件处理单元基于文件中的组信息从构成3D对象内容的多个流中选择在重放3D对象内容中使用的多个流,该文件包含用于选择用于重放3D对象内容的适当流的组信息。本发明可以应用于客户端设备。

Description

图像处理设备和文件生成设备
技术领域
本技术涉及图像处理设备和文件生成设备,并且具体地涉及使得可以再现3D对象内容的图像处理设备和文件生成设备。
背景技术
已知被称为鸟瞰内容(在下文中称为BV(Birdview)内容)的内容。
BV内容是通过体积捕获生成的3D模型,体积捕获是用于三维地捕获空间的技术。例如,使用头戴式显示器可以环视观看该3D模型。
这样的BV内容包括多个BV流,并且通过三种类型的信息(即,纹理(texture)、网格(mesh)和深度(depth))的组合对BV流进行编码。
在本文中,网格和深度二者都是用于创建3D形状的数据,并且通过将纹理添加到3D形状来配置3D模型。具体地,可以使用纹理和深度或者使用纹理和网格来配置3D模型。此外,即使使用纹理、网格和深度也可以配置3D模型。
顺便提及,在观看BV内容的情况下,使得能够平滑地环视3D模型的观看体验是最重要的。
为了通过MPEG-DASH(HTTP上的运动图像专家组动态自适应流)分发来实现这种观看体验,需要选择BV内容中包括的所有多个BV流,并且预先获取所有多个BV流(例如,参照非专利文献1)。另外,根据BV内容的传输频带和观看方向自适应地获取BV流并且有效地利用频带也是重要的。
引用列表
非专利文献
非专利文献1:2012年4月的ISO/IEC 23009-1信息科技Dynamic adaptivestreaming over HTTP(DASH)-Part 1:Media presentation description and segmentformats
发明内容
本发明要解决的问题
然而,在根据传输频带或观看方向(视点位置)来单独地选择和获取BV内容中包括的多个BV流的情况下,存在要获取的BV流的多个组合。因此,客户端不能够根据由客户端获取的多个BV流来知道适当地再现BV内容所必需的适当组合,这使得不可能再现BV内容。此外,客户端不能够知道BV流的适当组合,这使得不可能根据情况选择性地获取BV流的适当组合。
例如,在已经标准化的ISO/IEC 14496-15或ISO/IEC 14496-14中,定义了一种以文件格式存储纹理、网格和深度的方法;然而,难以在通过ISO/IEC 23009-1(MPEG-DASH)的流分发中选择和获取适当的BV流。
如上所述,在要再现BV内容的情况下,难以选择BV流的适当组合。换言之,不可能适当地再现BV内容。
鉴于这样的情况设计了本技术,并且本技术使得可以适当地再现BV内容。
解决问题的方案
根据本技术的第一方面的图像处理设备包括文件处理器,该文件处理器基于用于选择适合于再现3D对象内容的流的组信息,从包括在3D对象内容中的多个流中选择要用于再现3D对象内容的多个流,文件包括组信息。
在本技术的第一方面中,基于包括用于选择适合于再现3D对象内容的流的组信息的文件中的组信息,从包括在3D对象内容中的多个流中选择要用于再现3D对象内容的多个流。
根据本技术的第二方面的文件生成设备包括文件生成器,该文件生成器生成包括组信息的文件,组信息用于从包括在3D对象内容中的多个流中选择适合于再现3D对象内容的流。
在本技术的第二方面中,生成文件。该文件包括用于从包括在3D对象内容中的多个流中选择适合于再现3D对象内容的流的组信息。
本发明的效果
根据本技术的第一方面和第二方面,可以适当地再现BV内容。
要注意的是,此处所描述的效果并不一定是限制性的,并且可以呈现本公开内容中描述的任何效果。
附图说明
图1是用于描述BV内容的图。
图2是用于描述BV组的示例的图。
图3是用于描述BV组的示例的图。
图4是示出MPD文件的示例的图。
图5是用于描述可显示区域的图。
图6是用于描述可显示区域的图。
图7是示出可显示区域信息的语义的图。
图8是示出可显示区域信息的语义的图。
图9是示出文件生成设备的配置示例的图。
图10是用于描述上传处理的流程图。
图11是示出客户端设备的配置示例的图。
图12是用于描述BV内容再现处理的流程图。
图13是用于描述BV组和附加BV流的示例的图。
图14是用于描述BV组和附加BV流的示例的图。
图15是示出MPD文件的示例的图。
图16是示出MPD文件的示例的图。
图17是示出鸟瞰覆盖描述符的语义的图。
图18是示出MPD文件的示例的图。
图19是示出MPD文件的示例的图。
图20是示出质量排名描述符的语义的图。
图21是示出stream_type的语义的图。
图22是用于描述轮廓(silhouette)的发送的图。
图23是示出与深度相关联的轮廓的图。
图24是示出MPD文件的示例的图。
图25是示出MPD文件的示例的图。
图26是用于描述BV组的示例的图。
图27是用于描述BV组的示例的图。
图28是用于描述MPD文件的示例的图。
图29是用于描述MPD文件的示例的图。
图30是用于描述BV组的示例的图。
图31是用于描述BV组的示例的图。
图32是示出MPD文件的示例的图。
图33是示出MPD文件的示例的图。
图34是示出文件格式示例的图。
图35是示出轨道组类型框的语法和语义的图。
图36是示出鸟瞰组框的语法示例的图。
图37是示出鸟瞰覆盖信息框的语法和语义的示例的图。图38是用于描述BV内容再现处理的流程图。
图39是用于描述BV流的打包的图。
图40是示出鸟瞰信息框的语法示例的图。
图41是示出鸟瞰信息框的语义示例的图。
图42是示出鸟瞰信息框的信号传递示例的图。
图43是示出鸟瞰质量排名框的语法示例的图。
图44是示出鸟瞰质量排名框的语义示例的图。
图45是示出鸟瞰信息框的语义示例的图。
图46是用于描述第一打包技术的图。
图47是用于描述第二打包技术的图。
图48是用于描述第三打包技术的图。
图49是用于描述第四打包技术的图。
图50是用于描述区域重定位的图。
图51是示出了RegionWisePackingBox的示例的图。
图52是示出了RegionWisePackingStruct的示例的图。
图53是示出RectRegionPacking(i)的示例的图。
图54是示出RegionWisePackingStruct和RectRegionPacking(i)的语义示例的图。
图55是示出RegionWisePackingBox的信号传递示例的图。
图56是示出计算机的配置示例的图。
具体实施方式
在下文中,参照附图描述应用了本技术的实施方式。
<第一实施方式>
<关于本技术>
本技术通过将配置BV内容所必需的BV流分组,并由此向客户端通知用于再现BV内容的BV流的适当组合,使得可以适当地再现BV内容。
特别地,本技术可以应用于使用MPEG-DASH的BV内容再现、使用ISOBMFF(基于ISO的媒体文件格式)的文件的BV内容再现等。
例如,在本技术中,在使用MPEG-DASH分发BV内容的情况下,可以通过扩展MPD(媒体呈现描述)文件来对涉及BV内容中包括的BV流的Adaptation Set进行分组。因此,即使在使用MPEG-DASH分发BV内容的情况下,客户端也基于MPD文件而知道用于再现BV内容的BV流的适当组合,从而使得可以适当地再现BV内容。
此外,在本技术中,在使用MPEG-DASH分发BV内容的情况下,可以通过MPD文件中的新的元数据的定义(即,稍后描述的描述符等),根据传输频带、用户的视野等来增强BV内容的图像质量。
此外,例如,在本技术中,在BV内容中包括的BV流以ISOBMFF被存储在轨道(track)中的情况下,可以通过扩展ISOBMFF来对BV内容中包括的轨道进行分组。因此,即使在使用ISOBMFF的文件再现BV内容的情况下,也可以适当地再现BV内容。
另外,在本技术中,在BV流以ISOBMFF被存储在轨道中的情况下,可以在一个轨道中存储多个BV流。
在下文中,更详细地描述本技术。首先,在第一实施方式中,作为示例描述了本技术被应用于使用MPEG-DASH的BV内容分发的情况。
如上所述,BV内容是通过体积捕获而生成的3D模型,体积捕获是用于三维地捕获空间并且允许环视观看的技术。换言之,BV内容是允许从3D模型的周围观看预定3D对象(即对象的3D模型)的内容。
在这样的BV内容中,例如,3D模型包括纹理、网格、深度等,如图1所示。
在图1所示的示例中,如箭头Q11所示,可以使用网格和不同视点位置处的多个纹理来配置3D模型MDL11。网格指示3D模型的形状。
类似地,可以使用不同视点位置处的多个纹理和不同视点位置处的多个深度来配置3D模型MDL11,如箭头Q12所示。深度指示3D模型的形状。
在本文中,纹理(纹理信息)是例如下述彩色图像的图像信息(纹理图像),该彩色图像包括在将空间中的预定位置设置为视点位置的情况下与用作前景的3D模型对应的主体(subject)和用作背景的主体作为主体。也就是说,可以说纹理是指示3D模型的各个部分的颜色的颜色信息。例如,在BV内容中,一个视点位置处的纹理是一个BV流。
例如,网格是诸如通过连接顶点来表示3D模型(对象)的形状的多边形网格的形状信息(网格信息)。3D模型上的几个点被设置为顶点。在BV内容中,一个网格是一个BV流。
此外,例如,深度是被称为深度图的深度图像(深度信息),深度图指示在将空间中的预定位置设置为视点位置的情况下从视点位置到与用作前景的3D模型对应的主体或者用作背景的主体的距离。该深度也是表示3D模型的形状的形状信息。例如,在BV内容中,一个视点位置处的深度是一个BV流。
如上所述,使用纹理以及网格或深度使得可以配置3D模型MDL11。也就是说,可以构建具有网格或深度的3D模型MDL11的3D形状;因此,将颜色信息添加到具有纹理的3D形状的每个区域使得可以获取彩色3D模型MDL11。
要注意的是,还可以使用纹理、网格和深度来配置(构建)3D模型MDL11。
在BV内容中,一旦配置了3D模型MDL11,就允许作为观看者的用户在改变该用户的视点位置的同时,使用例如头戴式显示器来环视3D模型MDL11。
在观看BV内容的情况下,使得能够平滑地环视3D模型的观看体验是最重要的。为了通过MPEG-DASH分发来实现这种观看体验,例如,客户端必须预先获取BV流的所有适当组合以用于配置BV内容。
在本技术中,为了向客户端通知用于再现BV内容的BV流的适当组合,从而允许客户端选择、获取和处理适当的BV流,将包括在BV内容中的BV流进行分组。
在下文中,被分组的BV流(即包括多个BV流的一组BV流)也称为BV组。
在本文中,BV组至少包括再现BV内容所必需的BV流。换言之,如果使用BV组中包括的BV流的组合,则至少可以进行BV内容的再现。
多个BV流被组合成一个BV组,这使得如果客户端至少获取包括在BV组中的BV流,则客户端可以再现BV内容。这使得客户端可以容易地选择和获取平滑环视观看所必需的BV流。
要注意的是,在本技术中,通过体积捕获生成的BV内容的3D模型被编码为纹理、网格、深度和轮廓。即,BV流的类型至少包括纹理、网格、深度和轮廓。在本文中,轮廓(轮廓信息)是指示用作深度图像中的3D模型的主体(对象)的区域的轮廓图像。
另外,在下文中,作为示例描述了深度或轮廓是图像信息的情况,但是如果深度或轮廓是指示3D模型的形状或3D模型的区域的信息就足够了,而不必是图像信息。另外,在下文中,为了明确BV流的类型,也将BV流称为纹理的BV流、深度的BV流等。
<关于BV组的信号传递>
接下来,对上述BV组的信号传递进行描述。
在本文中,作为具体示例,描述了一个BV组包括纹理和网格的情况。
在一个BV组包括纹理和网格的情况下的优点和缺点如下。
(优点1);
与深度相比,网格在客户端侧具有低的解码器处理负荷。
(缺点1)
与深度的BV流相比,网格的BV流具有创建3D形状所必需的大的总尺寸。
此外,图2示出了包括纹理和网格的BV组的示例。
在图2的示例中,3D模型的网格MS1位于空间中的3D模型(对象)的位置处,并且四个纹理TX1至TX4位于偏移90度以围绕3D模型的视点位置处。
于是,一个BV组包括网格MS1和纹理TX1至TX4。可以用BV组中包括的BV流来配置BV内容。
要注意的是,可以根据传输路径的带宽等来增强纹理和网格中的每一个的图像质量。即,通过比特率适应,根据带宽获取具有较高比特率的纹理或网格,使得即使使用相同的纹理或网格,也可以再现具有较高质量的BV内容。
另外,也可以仅增强与观看BV内容的用户的视野对应的纹理的图像质量。例如,可以将3D模型中的显示用户的视野中的区域所必需的纹理设置为具有较高比特率的纹理,并且将3D模型中的显示用户的视野之外的区域所必需的纹理设置为具有较低比特率的纹理。这样做使得即使在带宽不是很宽的情况下,至少对于当前用户的视野也可以呈现高质量的BV内容。
在使用MPEG-DASH分发BV内容的情况下,如果MPD文件用于如上所述的BV组的信号传递就足够了。MPD文件是用于管理BV内容的媒体呈现管理文件。
例如,假设一个BV组包括网格MS11和四个纹理TX11至TX14,如图3所示。在这种情况下,如果与BV组相关的信息使用图4中所示的MPD文件来进行信号传递就足够了。
要注意的是,在本文中,假设纹理和网格中的每一个被单独地存储为单个轨道文件。即,假设在一个适应集(Adaptation Set)中描述了与一个纹理或网格相关的信息。
在图4所示的MPD文件中,箭头W11所示的部分是Preselection,并且在该Preselection中描述了与包括一个或多个Adaptation Set的一个组相关的信息。即,Preselection是存储了每个BV内容(每个BV组)的信息的区域。
箭头W12所示的部分、箭头W13所示的部分和箭头W14所示的部分中的每一个是一个Adaptation Set,并且在Adaptation Set中描述了与一个纹理或网格相关的信息。即,在本文中,Adaptation Set是存储与BV流相关的信息的区域。
此外,在该示例中,具有“schemeIdUri="urn:mpeg:dash:birdview:2017"”的本质属性(EssentialProperty)或补充属性(SupplementalProperty)被新定义为鸟瞰描述符(birdview descpriptor)。
该鸟瞰描述符是指示包括该鸟瞰描述符的Preselection或Adaptation Set是与BV内容相关的Preselection或Adaptation Set的信息。
换言之,可以说,鸟瞰描述符是指示下述的信息:存储在Preselection或Adaptation Set中的信息是与BV内容相关的信息,即,由Preselection或Adaptation Set指示的内容是BV内容。
例如,箭头W11所示的Preselection具有有着作为如箭头A11所示的鸟瞰描述符的“schemeIdUri="urn:mpeg:dash:birdview:2017"”的SupplementalProperty。这使得客户端可以断定箭头W11所示的Preselection是与BV内容相关的Preselection。
要注意的是,在下文中,通过MPEG-DASH接收内容分发的客户端也被具体称为DASH客户端。
此外,具有“schemeIdUri="urn:mpeg:dash:texture:2017"”的EssentialProperty或SupplementalProperty被新定义为纹理描述符(texturedescriptor)。纹理描述符是指示Preselection或Adaptation Set是与纹理相关的Preselection或Adaptation Set的信息。
例如,在箭头W12所示的Adaptation Set中的箭头A12所示的部分或者在箭头W13所示的Adaptation Set中的箭头A13所示的部分具有有着作为纹理描述符的“schemeIdUri="urn:mpeg:dash:texture:2017"”的SupplementalProperty。这使得客户端可以断定箭头W12所示的Adaptation Set或箭头W13所示的Adaptation Set是与BV内容中包括的纹理相关的Adaptation Set。
此外,具有“schemeIdUri="urn:mpeg:dash:mesh:2017"”的EssentialProperty或SupplementalProperty被新定义为网格描述符(mesh descriptor)。网格描述符是指示Preselection或Adaptation Set是与网格相关的Preselection或Adaptation Set的信息。
例如,在箭头W14所示的Adaptation Set中的箭头A14所示的部分具有有着作为网格描述符的“schemeIdUri="urn:mpeg:dash:mesh:2017"”的EssentialProperty。这使得客户端可以断定箭头W14所示的Adaptation Set是与BV内容中包括的网格相关的Adaptation Set。
在下文中,在不是特别需要将鸟瞰描述符、纹理描述符、网格描述符等彼此区分的情况下,这些描述符中的每一个被简称为描述符。另外,在下文中,在不是特别需要将EssentialProperty和SupplementalProperty彼此区分的情况下,EssentialProperty和SupplementalProperty中的每一个被简称为Property。
参考描述符使得客户端可以识别Preselection或Adaptation Set所参考的内容或BV流的类型。
特别地,可以说纹理描述符和网格描述符是指示与Adaptation Set对应的BV流的类型的信息。
可以在Representation和SubRepresentation中用信号传递诸如鸟瞰描述符、纹理描述符和网格描述符的描述符中的每一个。即,描述符可以在Representation或SubRepresentation中被描述。
要注意的是,不支持EssentialProperty的schemeIdUri的DASH客户端必须忽略写入Property的Preselection、Adaptation Set、Representation等。
即,在EssentialProperty中描述了诸如上述鸟瞰描述符的描述符的情况下,不支持描述符的DASH客户端必须忽略包括描述了这种描述符的EssentialProperty的Preselection、Adaptation Set等。
相比之下,不支持SupplementalProperty的SchemeIdUri的DASH客户端可以使用Preselection、Adaptation Set、Representation等,同时忽略Property的值。即,即使不支持上述描述符的DASH客户端也可以使用包括其中描述了这样的描述符的SupplementalProperty的Preselection、Adaptation Set等,同时忽略其中描述了这样的描述符的SupplementalProperty。
此外,在图4所示的MPD文件中,由MPEG-DASH定义的Preselection元素用于BV组中的分组。
在本文中,通过在箭头W11所示的Preselection元素的preselectionComponents属性中描述BV组中包括的Adaptation Set的id来执行分组。
也就是说,在该示例中,箭头W11所示的Preselection的preselectionComponents部分具有“preselectionComponents="mesh tex1 tex2 tex3 tex4"”。
在本文中,preselectionComponents部分中的“mesh”、“tex1”、“tex2”、“tex3”和“tex4”是与一个BV组中包括的BV流相关的Adaptation Set的id。
因此,可以看出,一个BV组包括id是mesh的Adaptation Set、id为tex1的Adaptation Set、id为tex2的Adaptation Set、id为tex3的Adaptation Set以及id为tex4的Adaptation Set。更具体地,一个BV组包括与这些Adaptation Set对应的BV流。
在该示例中,包括箭头W12所示的Adaptation Set、箭头W13所示的AdaptationSet和箭头W14所示的Adaptation Set的五个Adaptation Set是一个BV组中包括的BV流的Adaptation Set。
例如,箭头W14所示的id为mesh的Adaptation Set是描述与图3中所示的网格MS11的BV流相关的信息的Adaptation Set。
另外,箭头W12所示的id为tex1的Adaptation Set是描述与图3中的纹理TX11的BV流相关的信息的Adaptation Set。
类似地,id为tex2至tex4的Adaptation Set中的每一个是其中描述了与图3中的纹理TX12至TX14的BV流中的对应BV流相关的信息的Adaptation Set。
因此,MPD文件的Preselection包括下述Adaptation Set的id,其指示包括与对应于Preselection的一个BV组中包括的纹理和网格相关的信息的Adaptation Set。
Preselection是指示属于BV组的BV流(即,用于配置同一3D模型的多个BV流)的组信息。
因此,在图4的示例中,参考Preselection使得DASH客户端可以指定一个BV组包括如图3所示的一个网格MS11和四个纹理TX11至TX14。
另外,参考各个Adaptation Set的id和Preselection使得DASH客户端可以指定其中描述了BV组中包括的与网格MS11、纹理TX11等有关的信息的Adaptation Set。
如上所述,在客户端获取BV内容的情况下,客户端参考具有Property为“schemeIdUri="urn:mpeg:dash:birdview:2017"”的Preselection元素的preselectionComponents属性,这使得可以容易地选择和获取显示(再现)BV内容所必需的Adaptation Set。
此外,纹理和网格的Adaptation Set中的每一个的图像质量可以根据传输路径的带宽而改变。例如,在带宽具有余量的情况下,获取具有更高图像质量的纹理或网格的BV流使得可以增强BV内容的图像质量。
也就是说,Adaptation Set包括多个Representation。在多个Representation中的每一个中描述与具有多个不同比特率(即多个不同图像质量)的相同纹理或相同网格相关的BV流中的每一个相关的信息。
因此,客户端根据传输路径的带宽等从包括在一个Adaptation Set中的多个Representation中选择一个Representation,并且获取与所选择的Representation对应的BV流,这使得可以获取具有任何期望的图像质量的BV流。
此外,在图4所示的示例中,schemeIdUri为“schemeIdUri="urn:mpeg:dash:bvcoverage:2017"”的EssentialProperty或SupplementalProperty被新定义为鸟瞰覆盖描述符(birdview coverage descriptor)。
该鸟瞰覆盖描述符是在Preselection或Adaptation Set中描述的信息(即,指示BV内容、纹理、网格等的可显示区域的可显示区域信息)。在图4中,箭头A15至A18中的每一个所示的每个SupplementalProperty是鸟瞰覆盖描述符。
例如,在鸟瞰覆盖描述符中,将可显示区域作为如从3D模型的中心观看的球形区域用信号传递。
在本文中,图5示出了例如一个纹理的可显示区域的示例。要注意的是,在图5中,与图3中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图5所示的示例中,以3D模型的中心位置为中心的球体SP11的表面上的区域是球形区域。在本文中,将球体SP11的中心位置称为中心O。
现在,假设3D模型的纹理TX12位于空间中。纹理TX12所在的位置是例如如从纹理TX12的视点位置观看的同纹理TX12上的3D模型对应的主体与位于中心O处的实际3D模型彼此交叠的位置。
此时,以包括通过中心O和纹理TX12的端部的直线与球体SP11相交的点的线为边界的区域是纹理TX12的可显示区域VR11。因此,通过中心O和纹理TX12的任何端部的位置的直线总是通过可显示区域VR11的端部。
这种可显示区域VR11是通过将位于空间中的纹理TX12投影到球体SP11的球形区域上而获得的区域,并且是可以通过纹理TX12显示主体的图像的区域。
如上所述的球形区域中的可显示区域是例如由球体SP11的中心O和球体SP11上的四个圆(每个圆的中心与中心O重合)包围的区域,如图6中的箭头E11所示。要注意的是,在图6中,与图5中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
图5中所示的可显示区域VR11在图6中的箭头E12所示的部分中示出。在本文中,中心O是3D模型的中心位置,并且中心O'是可显示区域VR11的中心位置。
返回到图4的描述,作为鸟瞰覆盖描述符的Property的值包括指示可显示区域的坐标信息或角度信息,例如与包括Property的Preselection或Adaptation Set对应的BV内容、纹理或网格。
在本文中,例如,图7中示出的各个参数在作为鸟瞰覆盖描述符的Property的值中描述。即,可显示区域信息的语义如图7所示。
具体地,参数“x”指示3D模型的中心位置在空间中的x坐标。要注意的是,在本文中,3D模型的中心位置由包括x坐标、y坐标和z坐标的三维正交坐标系的坐标表示。
参数“y”指示3D模型的中心位置在空间中的y坐标,并且参数“z”指示3D模型的中心位置在空间中的z坐标。
由这些参数x、y和z确定的3D模型的中心位置是图6中所示的中心O的位置。在存在多个BV内容的情况下,3D模型的中心位置的坐标在确定这些BV内容的位置关系时是有用的。
参数“center_yaw”指示表示如从3D模型的中心位置观看的可显示区域的中心位置的偏航角(yaw angle)。参数“center_pitch”指示表示如从3D模型的中心位置观看的可显示区域的中心位置的俯仰角(pitch angle),并且参数“center_roll”指示如从3D模型的中心位置观看的可显示区域的中心位置的滚动角(roll angle)。
偏航角、俯仰角和滚动角确定了球形区域中的可显示区域的中心位置以及可显示区域的方向(旋转角度)。
即,例如,图6中所示的中心O'的位置由偏航角和俯仰角确定,而图6中所示的可显示区域VR11的旋转角度由滚动角确定。在本文中的旋转角度是在可显示区域VR11围绕作为旋转轴的直线旋转的情况下的旋转角度,该直线在图6中连接中心O和中心O'。
此外,参数“hor_range”指示如从3D模型的中心位置观看的可显示区域的水平角度范围,并且参数“ver_range”指示如从3D模型的中心位置观看的可显示区域的竖直角度范围。
因此,通过这些参数hor_range和ver_range来确定在球形区域中可显示区域在水平方向上的宽度和在竖直方向上的宽度(高度)。例如,在图6的示例中,图6中绘制的虚线水平箭头表示由hor_range确定的可显示区域VR11在水平方向上的宽度,并且图6中绘制的虚线竖直箭头表示由ver_range确定的可显示区域VR11在竖直方向上的宽度。
在作为鸟瞰覆盖描述符的Property的值中,上述参数x、y、z、center_yaw、center_pitch、center_roll、hor_range和ver_range以逗号分隔的方式被描述为指示可显示区域的信息。也就是说,描述了“value="x,y,z,center_yaw,center_pitch,center_roll,hor_range,ver_range"”。
例如,在图4的示例中,在Preselection元素中用信号传递的箭头A15所示的SupplementalProperty是鸟瞰覆盖描述符,并且其值部分具有“0,0,0,0,0,0,360,120”。
值部分“0,0,0,0,0,0,0,360,120”是指示可显示区域的信息,该可显示区域是可以显示BV内容本身的区域。
在本文中,从“0,0,0,0,0,0,0,360,120”可以看出,BV内容的3D模型的中心位置的坐标是(0,0,0),并且可显示区域的中心位置和方向是由“0度”的偏航角、“0度”的俯仰角和“0度”的滚动角确定的位置和方向。此外,可以看出,3D模型的可显示区域的范围是球形区域中在水平方向上为360度并且在竖直方向上为120度的范围。
在这种情况下,BV内容的可显示区域不覆盖整个球形区域(即,所有的水平和竖直方向(整个圆周))。然而,即使在这种情况下,客户端也可以对纹理不足的部分(即可显示区域之外的、没有纹理的部分)执行取决于实现的补充处理,并且可以显示允许从整个圆周进行360度环视观看的BV内容。
此外,例如,在图4中的箭头A16所示的SupplementalProperty中,值部分具有“0,0,0,-90,0,90,120”。从这里可以看出,与SupplementalProperty对应的纹理的可显示区域的范围是以下述位置作为中心在水平方向上为90度并且在竖直方向上为120度的范围:该位置如从3D模型的中心位置的坐标(0,0,0)观看的由“-90度”的偏航角和“0度”的俯仰角确定。还可以看出,可显示区域的旋转角度是0度。
因此,用信号传递鸟瞰覆盖描述符使得客户端侧可以算出BV内容本身和BV流的可显示区域。
这使得客户端例如可以从具有不同的可显示区域的多个BV内容中选择适当的BV内容,或者根据用户的视点位置从多个纹理中仅选择覆盖用户的视野的纹理。
此外,用信号传递鸟瞰覆盖描述符使得客户端侧可以例如从要获取的纹理中仅选择具有较高图像质量并且覆盖与用户的视野对应的区域的纹理。这使得可以增强与用户的视野适配的BV内容的图像质量。
要注意的是,在本文中,尽管描述了以逗号分隔的方式在Property的值部分中描述指示可显示区域的各个参数的示例,但是可以使用各个属性值来用信号传递各个参数。在这种情况下,在值中没有描述各个参数,但是在一个元素中描述x=0、y=0等。
另外,在图7所示的示例中,描述了如从3D模型的中心位置观看的由各个参数表示可显示区域的情况。然而,可显示区域可以由如从3D模型外部观看的各个参数表示,并且这些参数可以被用信号传递。在这种情况下,例如,可显示区域信息的语义如图8所示。
具体地,参数“x”指示用作用户在空间中的基准的视点位置的x坐标。在本文中,用作用户的基准的视点位置是预定位置。
参数“y”指示用作用户在空间中的基准的视点位置的y坐标,并且参数“z”指示用作用户在空间中的基准的视点位置的z坐标。
参数“center_yaw”指示在从用作用户的基准的视点位置观看3D模型的情况下指示可显示区域的中心位置的偏航角(yaw angle)。参数“center_pitch”指示在从用作用户的基准的视点位置观看3D模型的情况下指示可显示区域的中心位置的俯仰角(pitchangle),并且参数“center_roll”指示在从用作用户的基准的视点位置观看3D模型的情况下的可显示区域的中心位置的滚动角(roll angle)(即可显示区域的旋转角度)。
此外,参数“hor_range”指示在从用作用户的基准的视点位置观看3D模型的情况下可显示区域的水平角度范围,并且参数“ver_range”指示在从用作用户的基准的视点位置观看3D模型的情况下可显示区域的竖直角度范围。
(文件生成设备的配置示例)
接下来,将描述上述MPD文件以及生成与MPD文件对应的分段文件的文件生成设备。
例如,如图9所示,配置生成MPD文件和分段文件的文件生成设备。
图9中所示的文件生成设备11包括控制器21和文件生成器22。文件生成设备11生成由MPEG-DASH等分发的MPD文件和BV内容的BV流的分段文件,并且将分段文件和MPD文件上传到服务器。
控制器21控制文件生成设备11的整体操作。例如,控制器21控制文件生成器22以生成其中存储BV流的分段文件、包括BV内容的元数据的MPD文件,并且上传分段文件和MPD文件。
文件生成器22根据控制器21的控制生成分段文件和MPD文件,并且经由网络将分段文件和MPD文件上传(发送)到服务器。
文件生成器22包括数据输入单元31、数据编码器/生成器32、MPD文件生成器33、记录单元34和上传单元35。
数据输入单元31获取诸如生成纹理和网格所需的图像之类的数据,以及诸如生成MPD文件所需的可显示区域信息之类的元数据,并且将数据和元数据提供给数据编码器/生成器32和MPD文件生成器33。
数据编码器/生成器32基于诸如从数据输入单元31提供的图像的数据来生成纹理和网格的BV流,并且生成其中存储BV流的分段文件,然后将分段文件提供给记录单元34。
数据编码器/生成器32包括预处理器41、编码器42和分段文件生成器43。
预处理器41基于诸如从数据输入单元31提供的图像的数据来生成纹理和网格的BV流,并且将BV流提供给编码器42。编码器42对从预处理器41提供的BV流进行编码,并且将这样获得的编码数据提供给分段文件生成器43。
分段文件生成器43基于从数据输入单元31提供的元数据等,以段为单位对从编码器42提供的编码数据进行文件化(file),并且将得到的分段文件提供给记录单元34。
MPD文件生成器33基于从数据输入单元31提供的元数据等来生成包括BV内容以及与BV内容中包括的纹理和网格的BV流相关的信息的MPD文件,并且将MPD文件提供给记录单元34。要注意的是,MPD文件生成器33可以从分段文件生成器43获取生成MPD文件所必需的元数据等。
记录单元34记录从MPD文件生成器33提供的MPD文件以及从分段文件生成器43提供的分段文件。
上传单元35从记录单元34读取BV内容的MPD文件和分段文件,并且将MPD文件和分段文件上传到服务器。也就是说,上传单元35充当将MPD文件和分段文件发送到服务器的通信单元。
要注意的是,尽管在本文中描述了文件生成设备11充当将MPD文件和分段文件上传到服务器的设备的示例,但是文件生成设备11可以充当服务器。在这种情况下,文件生成设备11的上传单元35经由网络将MPD文件和分段文件发送到客户端设备。
<上传处理的描述>
接下来,给出对文件生成设备11的操作的描述。即,下面参照图10中的流程图来描述文件生成设备11的上传处理。
在步骤S11中,数据输入单元31获取生成BV流所必需的诸如图像的数据以及生成MPD文件所必需的诸如可显示区域信息的元数据,并且将数据和元数据提供给数据编码器/生成器32和MPD文件生成器33。
在步骤S12中,数据编码器/生成器32生成分段文件。
即,预处理器41基于从数据输入单元31提供的诸如图像的数据来生成纹理和网格的BV流,并且将BV流提供给编码器42。编码器42对从预处理器41提供的BV流进行编码,并且将这样获得的编码数据提供给分段文件生成器43。
分段文件生成器43基于从数据输入单元31提供的元数据等,将从编码器42提供的编码数据进行文件化,并且将得到的分段文件提供给记录单元34。
在步骤S13中,MPD文件生成器33基于从数据输入单元31提供的元数据等来生成MPD文件,并且将MPD文件提供给记录单元34。
本文中的MPD文件包括鸟瞰描述符、纹理描述符、网格描述符、与BV组中包括的BV流相关的Adaptation Set的id、鸟瞰覆盖描述符等。具体地,例如,生成图4中所示的MPD文件。
在步骤S14中,记录单元34记录从MPD文件生成器33提供的MPD文件以及从分段文件生成器43提供的分段文件。
在步骤S15中,上传单元35从记录单元34读取MPD文件和分段文件,并在任何期望的定时处将MPD文件和分段文件上传至服务器,并且上传处理结束。
可以在MPD文件和分段文件被记录在记录单元34中之后的任何定时处上传MPD文件和分段文件。
如上所述,文件生成设备11生成并且上传MPD文件和分段文件。
具体地,文件生成设备11生成其中BV组中包括的Adaptation Set的id被包括在Preselection中的MPD文件。
这使得被提供了MPD文件的客户端可以容易地指定包括在BV组中的BV流的Adaptation Set。即,可以容易地指定再现BV内容所必需的BV流的组合。
结果,即使在使用MPEG-DASH分发BV内容的情况下,客户端也可以获取再现BV内容所需的BV流,并适当地再现BV内容。
<客户端设备的配置示例>
接下来,描述从服务器获取由文件生成设备11上传的MPD文件和分段文件并且再现BV内容的客户端设备。应用了本技术的客户端设备例如如图11所示那样配置。
图11中所示的客户端设备71是DASH客户端,并且包括控制器81和再现处理器82。
控制器81控制客户端设备71的整体操作。例如,控制器81控制再现处理器82以从服务器获取MPD文件和分段文件,并且基于分段文件来再现BV内容。
再现处理器82根据控制器81的控制来再现BV内容。再现处理器82包括测量单元91、MPD文件获取单元92、MPD文件处理器93、分段文件获取单元94、显示控制器95、数据分析器/解码器96和显示单元97。
测量单元91测量客户端设备71与服务器之间的网络的传输频带,并且将这种测量的结果提供给MPD文件处理器93。MPD文件获取单元92从服务器获取MPD文件,并且将MPD文件提供给MPD文件处理器93。
MPD文件处理器93基于从MPD文件获取单元92提供的MPD文件来选择要获取的BV流,并且将这样的选择的结果提供给分段文件获取单元94。要注意的是,为了选择要获取的BV流,也适当地使用从测量单元91提供的测量结果、从显示控制器95提供的用户的视点位置等。
分段文件获取单元94基于从MPD文件处理器93提供的选择结果,从服务器获取其中存储了再现BV内容所必需的BV流的分段文件,并且将分段文件提供给数据分析器/解码器96。
显示控制器95控制BV内容的再现(显示)。例如,显示控制器95获取观看BV内容的用户的视点位置和视线方向的检测结果,并且将结果提供给MPD文件处理器93和数据分析器/解码器96。
数据分析器/解码器96基于从分段文件获取单元94提供的分段文件来生成3D模型的图像作为BV内容,并且将3D模型的图像提供给显示单元97。数据分析器/解码器96包括分段文件处理器111、解码器112和显示信息生成器113。
分段文件处理器111从分段文件获取单元94提供的分段文件中提取BV流的编码数据,并且将编码数据提供给解码器112。解码器112对从分段文件处理器111提供的编码数据进行解码,并且将得到的BV流提供给显示信息生成器113。
显示信息生成器113基于从显示控制器95提供的用户的视点位置和视线方向的检测结果以及从解码器112提供的BV流,生成与用户的视点位置和视线方向对应的3D模型的图像的数据,并且将数据提供给显示单元97。
显示单元97包括例如液晶显示面板等,并且基于从显示信息生成器113提供的数据来显示(再现)3D模型的图像(即BV内容)。
<BV内容再现处理的描述>
接下来,给出对客户端设备71的操作的描述。
即,参照图12中的流程图给出对由客户端设备71执行的BV内容再现处理的描述。
在步骤S41中,MPD文件获取单元92从服务器获取MPD文件,并且将MPD文件提供给MPD文件处理器93。即,从服务器发送的MPD文件被MPD文件获取单元92接收。因此,例如,获取了图4中所示的MPD文件。
在步骤S42中,MPD文件处理器93从显示控制器95获取用户的视点位置。
例如,显示控制器95从未示出的传感器等获取用户的视点位置和视线方向的检测结果,并且将检测结果提供给MPD文件处理器93和显示信息生成器113。因此,MPD文件处理器93获取从显示控制器95输出的信息,以获取用户的视点位置。例如,用户的视点位置是用户在3D模型所在的三维空间中的视点位置的坐标信息。
在步骤S43中,测量单元91测量客户端设备71与服务器之间的传输频带,并且将这种测量的结果提供给MPD文件处理器93。
在步骤S44中,MPD文件处理器93基于在步骤S41中获取并且从MPD文件获取单元92提供的MPD文件来识别BV组,并且从一个或多个BV组中选择一个BV组。
即,MPD文件处理器93指定其中从MPD文件用信号传递鸟瞰描述符的Preselection元素(即,包括鸟瞰描述符的Preselection元素),从而识别出该Preselection元素属于一个BV组。
另外,MPD文件处理器93从所识别的一个或多个BV组中选择一个BV组作为要再现的BV组。
此时,例如,MPD文件处理器93可以参考包括在Preselection中的鸟瞰覆盖描述符,并且可以基于从显示控制器95提供的用户的视点位置来选择允许显示与用户的视野对应的区域的BV组。
在步骤S45中,MPD文件处理器93识别包括在步骤S44中选择的BV组中的BV流的Adaptation Set。
即,MPD文件处理器93将使用在所选择的BV组的Preselection元素中的preselectionComponents属性中描述的Adaptation Set的id来信号传递的、参考BV流的Adaptation Set识别为包括在BV组中的BV流的Adaptation Set。此时,通过在AdaptationSet中用信号传递的纹理描述符和网格描述符,可以识别BV组中的Adaptation Set中的每一个的类型(即,Adaptation Set中的每一个是纹理的Adaptation Set还是网格的Adaptation Set等)。
在步骤S46中,MPD文件处理器93从在步骤S45中识别的BV组中的Adaptation Set中选择要用于再现BV内容的BV流的Adaptation Set和Representation。
即,MPD文件处理器93基于在步骤S42中获取的用户的视点位置以及在步骤S43中获取的传输频带(带宽),从在步骤S45中识别的BV组中的Adaptation Set中选择要获取的BV流的Adaptation Set。
此时,例如,如果可以在考虑传输频带的情况下获取BV组中的所有AdaptationSet的BV流,则MPD文件处理器93选择所有Adaptation Set,并且在每个Adaptation Set中选择适当比特率的Representation。
另外,MPD文件处理器93可以参考鸟瞰覆盖描述符,并且可以基于用户的视点位置来选择Representation以选择具有更高图像质量(高比特率)的BV流用于与用户的视野区域对应的BV流。
此外,在某些情况下,由于传输频带限制,不可能获取BV组的所有BV流。在这种情况下,MPD文件处理器93可以参考鸟瞰覆盖描述符,并且可以仅选择和获取仅在用户的视野区域中显示BV内容所必需的BV流的最小Adaptation Set。
在选择了Representation和BV组的Adaptation Set的情况下,MPD文件处理器93将这种选择的结果提供给分段文件获取单元94,以指示分段文件获取单元94获取分段文件。因此,发出了获取Adaptation Set和Representation要参考的BV流的指令。
在步骤S47中,基于从MPD文件处理器93提供的选择结果,分段文件获取单元94获取其中存储了由选择结果指示的Adaptation Set和Representation的BV流的分段文件。
也就是说,分段文件获取单元94根据从MPD文件处理器93提供的选择结果请求服务器发送分段文件。然后,分段文件获取单元94接收响应于这样的请求从服务器发送的分段文件,并且将分段文件提供给分段文件处理器111。
在步骤S48中,分段文件处理器111从由分段文件获取单元94提供的分段文件中提取BV流的编码数据,并且将编码数据提供给解码器112。
在步骤S49中,解码器112对从分段文件处理器111提供的编码数据进行解码,并且将得到的纹理和网格的BV流提供给显示信息生成器113。
在步骤S50中,显示单元97再现BV内容,并且BV内容再现处理结束。
即,显示信息生成器113基于从显示控制器95提供的用户的视点位置和视线方向的检测结果以及从解码器112提供的BV流,生成与用户的视点位置和视线方向对应的3D模型的图像。具体地,显示信息生成器113基于纹理和网格来构建3D模型,从而生成与用户的视野对应的3D模型的图像。
然后,显示信息生成器113将所生成的3D模型的图像提供给显示单元97,以使显示单元97显示3D模型的图像。从而再现BV内容。
如上所述,客户端设备71获取MPD文件以参考MPD文件的Preselection来识别BV组,并且根据用户的视点位置和传输频带来选择BV组以及包括在BV组中的BV流中的任何一个。
因此,通过使用描述了包括BV组中包括的Adaptation Set的id的Preselection的MPD文件,使得可以容易地选择BV组和BV流。这使得可以适当地再现BV内容。
<第一实施方式的修改例1>
<关于附加BV流的获取>
顺便提及,从BV组中包括的BV流中选择需要的BV流的示例已在上面描述。
然而,除了包括纹理和网格的BV流的BV组之外,还可以附加地获取未被包括在BV组中的视点位置处的纹理和深度的BV流。即,还可以在与BV组的BV流的视点位置不同的视点位置处附加地获取BV流。
在除了BV组之外还获取附加BV流的情况下,可以再现具有较高图像质量的BV内容。
即,增加能够获取的纹理的数目使得不需要通过补充生成可显示区域的外部的区域中的纹理,这使得可以在呈现期间增强BV内容的质量。另外,在构建3D模型的情况下,除了网格之外添加深度使得可以获取更精确的3D形状。
例如,在可以附加地获取纹理和深度的BV流的情况下考虑图13中所示的示例。
在图13的示例中,如图中的左侧所示,在3D模型在空间中的位置处,定位3D模型的网格MS21,并且四个纹理TX21至TX24位于偏移90度以围绕3D模型的视点位置处。
于是,一个BV组包括网格MS21和纹理TX21至TX24。
此外,除了BV组的BV流之外,如图中的中心所示,四个纹理HTX21至HTX24位于偏移90度以围绕3D模型的视点位置处,并且与纹理TX21至TX24的视点位置不同。此外,深度HDP21至HDP24分别位于与纹理HTX21至HTX24的视点位置相同的视点位置处。
客户端侧可以附加地获取纹理HTX21至HTX24的BV流以及深度HDP21至HDP24的BV流。在下文中,可以附加地获取的BV流也被具体地称为附加BV流。
在存在这种可以附加地获取的纹理的情况下,例如,如图中的右侧所示,可以使用具有与BV组的纹理不同的覆盖(可显示区域)的纹理,这使得可以再现具有更高图像质量的BV内容。特别地,在该示例中,可以使用围绕3D模型的更多视点位置处的纹理。
在使用MPEG-DASH分发BV内容的情况下,为了还允许分发如上所述的附加BV流,如果使用MPD文件执行与附加BV流相关的信息的信号传递就足够了。
例如,如图14所示,假设一个BV组包括网格MS31和四个纹理TX31至TX34。
另外,假设可以附加地获取与各个纹理TX31至TX34的视点位置不同的视点位置处的附加纹理HTX31至HTX34。此外,假设还可以获取分别位于与纹理HTX31至HTX34的视点位置相同的视点位置处的附加深度HDP31至HDP34。
要注意的是,在图14中,图的左侧描绘的圆表示每个BV流(即纹理、网格和深度中的每一个)的视点位置。
如上所述,在一个BV组包括网格MS31和纹理TX31至TX34的相各个BV流并且对于该BV组可以附加地获取纹理HTX31至HTX34和深度HDP31至HDP34的各个BV流的情况下,例如,MPD文件如图15和图16所示。
要注意的是,图16示出了MPD文件的在图15所示的MPD文件的一部分(即,在图15的下侧示出的部分)之后的剩余部分。在图15和图16中,为了清楚地说明由这些图示出一个MPD文件,在图15的下侧示出了标记“继续至图16”,并且在图16的上侧示出了标记“从图15继续”。这些标记“继续至图16”和“从图15继续”实际上没有在MPD文件中描述。
另外,在图15和图16所示的MPD文件中,为了防止重复,适当地省略了与图4所示的示例中的部分类似的部分的描述。此外,假设本文中的纹理、网格和深度被分别存储为单个轨道文件。
在图15和图16所示的MPD文件中,箭头W21所示的部分是与一个BV组相关的Preselection。
另外,箭头W22至W24中的每一个所示的Adaptation Set是与BV组中包括的纹理或网格相关的Adaptation Set。然后,在箭头W21所示的Preselection中描述了包括各个箭头W22至W24所示的Adaptation Set的一个BV组中所包括的各个BV流的Adaptation Set的id。
即,箭头W22至W24所示的Adaptation Set是箭头W21所示的Preselection中的preselectionComponents部分指示的BV组中包括的BV流的Adaptation Set。
在本文中,tex1至tex4是其中描述了关于图14中的纹理TX31至TX34的信息的Adaptation Set的id,并且mesh是其中描述了关于图14中的网格MS31的信息的AdaptationSet的id。
因此,从箭头W21所示的Preselection中可以看出,一个BV组包括纹理TX31至TX34和网格MS31。
此外,箭头W25至W28中的每一个所示的Adaptation Set是以下Adaptation Set,其中描述了用于配置与BV组中包括的BV流所配置的3D模型相同的3D模型的、与BV组中包括的BV流不同的、用于增强图像质量的附加BV流相关的信息。
例如,其中描述了与图14所示的纹理HTX31至HTX34相关的信息的Adaptation Set的id是hq_tex1至hq_tex4。此外,其中描述了与图14所示的深度HDP31至HDP34相关的信息的Adaptation Set的id是hq_dep1至Hq_dep4。
与箭头W25或箭头W26所示的附加纹理相关的Adaptation Set包括指示该Adaptation Set是与纹理相关的Adaptation Set的纹理描述符。
此外,在该示例中,具有“schemeIdUri="urn:mpeg:dash:depth:2017"”的EssentialProperty或SupplementalProperty被新定义为深度描述符(depthdescriptor)。深度描述符是指示Preselection或Adaptation Set是与深度相关的Preselection或Adaptation Set的信息。
参考该深度描述符使得客户端可以识别出要由包括深度描述符的Preselection或Adaptation Set参考的BV流是深度。要注意的是,可以在Representation或SubRepresentation中用信号传递深度描述符。
例如,箭头W27所示的Adaptation Set中的箭头A21所示的部分以及箭头W28所示的Adaptation Set中的箭头A22所示的部分各自具有有着“schemeIdUri="urn:mpeg:dash:depth:2017"”的EssentialProperty作为深度描述符。
这使得客户端可以断定箭头W27和箭头W28所示的Adaptation Set是与BV内容中包括的深度相关的Adaptation Set。
此外,在该示例中,箭头A23至A30所示的鸟瞰覆盖描述符分别在箭头W21所示的Preselection中以及箭头W22至W28所示的Adaptation Set中被描述。
要注意的是,类似于纹理和网格,鸟瞰覆盖描述符可以应用于深度,并且在本文中,鸟瞰覆盖描述符也在深度的Adaptation Set中被描述。
这些鸟瞰覆盖描述符是上述的可显示区域信息,并且除了指示BV流的可显示区域的信息之外,可显示区域信息还包括指示要参考的BV流的源(材料)的source_id。
换言之,除了可显示区域信息之外,鸟瞰覆盖描述符还包括指示BV内容的源的源ID(source_id)。可以说,该source_id是指示能够使用BV流来再现的BV内容的信息(即,允许使用BV流来配置的3D模型)。
source_id位于鸟瞰覆盖描述符的值部分的顶部,并且与可显示区域相关的各个参数位于source_id之后。
因此,图15和图16中所示的示例中的鸟瞰覆盖描述符是图4中的示例中所示的鸟瞰覆盖描述符的扩展。
在本文中,图15和图16中所示的示例中的鸟瞰覆盖描述符的语义如图17中所示。
在图17所示的示例中,参数“source_id”指示BV内容的源的ID。因此,在source_id相同的情况下,BV内容的源是相同的;因此,可以通过将具有同一source_id的BV流进行组合来配置一个BV内容。
在图17所示的示例中,除了source_id之外的参数(即参数“x”、“y”、“z”、“center_yaw”、“center_pitch”、“center_roll”、“hor_range”和“ver_range”)与图7中的参数类似。
返回到图15和图16的描述,在作为图15和图16中示出的示例中的鸟瞰覆盖描述符的Property的值中,以逗号分隔的方式描述上述参数source_id、x、y、z、center_yaw、center_pitch、center_roll、hor_range和ver_range。也就是说,鸟瞰覆盖描述符的值部分具有“value="source_id,x,y,z,center_yaw,center_pitch,center_roll,hor_range,ver_range"”。
特别地,在该示例中,针对每个Adaptation Set(即针对每个BV流)存储鸟瞰覆盖描述符,并且箭头A23至A30所示的各个鸟瞰覆盖描述符中的source_id都是“1”。这使得可以指定包括这些鸟瞰覆盖描述符的所有Preselection和Adaptation Set与相同的BV内容相关。即,可以看出,可以使用与包括source_id为“1”的Adaptation Set对应的纹理、网格、附加纹理和附加深度来配置相同的BV内容。
在如上所述可以获取附加BV流的情况下,例如,文件生成设备11执行与参照图10描述的上传处理类似的处理。
然而,在步骤S13中,MPD文件生成器33生成包括与附加纹理和附加深度相关的Adaptation Set的MPD文件,如图15和图16所示。此外,MPD文件生成器33生成如图15和图16所示的包括source_id的鸟瞰覆盖描述符,并且在Preselection或Adaptation Set中描述鸟瞰覆盖描述符。
此外,在可以获取附加BV流的情况下,客户端设备71执行与参照图12描述的BV内容再现处理类似的处理,以再现BV内容。
然而,在步骤S45中,MPD文件处理器93不仅识别BV组的Representation和Adaptation Set,而且还基于鸟瞰覆盖描述符的source_id来识别允许被添加到BV组的BV流的Adaptation Set和Representation。在这种情况下,可以通过包括在这些AdaptationSet中的深度描述符来识别深度的Representation和Adaptation Set。
此外,在步骤S46中,MPD文件处理器93从BV组中包括的Adaptation Set和Representation以及附加BV流的Adaptation Set和Representation中选择要获取的BV流的Adaptation Set或Representation。
此时,MPD文件处理器93基于用户的视点位置和传输频带、source_id和指示鸟瞰覆盖描述符的值中包括的可显示区域的信息(参数)等,选择要获取的BV流的AdaptationSet或Representation。
具体地,例如,MPD文件处理器93被允许增强与用户的视野区域对应的BV流的图像质量。
另外,在传输频带具有余量的情况下,MPD文件处理器93可以选择与BV组中包括的纹理的视点位置不同的视点位置处的附加纹理的Representation或者用于增强与用户的视野对应的图像质量的附加深度的Representation。这使得可以再现具有更高图像质量的BV内容。
<第一实施方式的修改例2>
<关于BV流的质量排名>
顺便提及,上述深度通过诸如ISO/IEC 14496-10(具有深度的MVC、3D AVC)或ISO/IEC 23008-2(多视图HEVC、3D HEVC)的基于AVC/HEVC的深度图编码来压缩。
相比之下,在网格编码中,网格的顶点坐标和顶点合并信息以ISO/IEC14496-16(动画框架扩展)来编码。
如上所述,编解码器(编码***)在深度和网格之间不同;因此,仅通过深度和网格的BV流的比特率,不可能比较可以用深度和网格的BV流创建的3D形状的质量(quality)。
因此,如果用信号传递作为指示包括网格和深度的3D形状的质量的信息的质量排名,则客户端可以选择并获取被允许创建具有与传输频带等对应的适当质量(quality)的3D形状的网格和深度。
下面描述了用信号传递网格和深度的质量排名的示例。要注意的是,质量排名不仅可以用于用信号传递网格和深度的质量,还可以用于用信号传递纹理的质量以及用信号传递包括纹理、网格等的组合的BV内容的质量。
在用信号传递网格和深度的质量排名的情况下,MPD文件如例如图18和图19中所示。图19示出了图18所示的MPD文件的一部分(即图18中的下侧所示的部分)之后的MPD文件的剩余部分。在图18和图19中,为了清楚地说明由这些图示出一个MPD文件,在图18的下侧示出了标记“继续至图19”,并且在图19的上侧示出了标记“从图18继续”。这些标记“继续至图19”和“从图18继续”实际上没有在MPD文件中描述。
此外,在图18和图19所示的MPD文件中,为了防止重复,适当地省略了与图15和图16所示的示例中的部分类似的部分的描述。此外,假设本文中的纹理、网格和深度被分别存储为单个轨道文件。
在图18和图19所示的MPD文件中,箭头W41至W48所示的Preselection和Adaptation Set分别与图15和图16中箭头W21至W28所示的Preselection和AdaptationSet相同。
即,箭头W41所示的部分是与一个BV组相关的Preselection,并且箭头W42至W44中的每一个所示的Adaptation Set是BV组中包括的纹理和网格中的每一个的AdaptationSet。
另外,箭头W45至W48中的每一个所示的Adaptation Set是作为BV组的BV内容的附加纹理或深度的Adaptation Set。
此外,在该示例中,具有“schemeIdUri="urn:mpeg:dash:bvqualityranking:2017"”的EssentialProperty或SupplementalProperty被新定义为质量排名描述符(quality ranking descriptor),该质量排名描述符是指示BV流的质量(quality)的信息。
在该示例中,质量排名描述符是指示与包括在彼此不同的Adaptation Set中的Representation对应的网格和深度中的相对质量(质量排名)的信息。换言之,可以说质量排名描述符是指示每个BV流在用于再现同一BV内容的多个BV流中的相对质量(quality)的质量信息。特别地,在质量排名描述符中,针对网格或深度的可显示区域中的每个区域或每多个区域用信号传递质量排名。
例如,质量排名描述符的语义如图20所示。
具体地,参数“id”指示质量排名的id,并且质量排名是使用具有同一id的质量排名描述符中的相对值来用信号传递的。
参数“quality_ranking”指示质量排名的值,并且指示在quality_ranking的值为1或更大的情况下,该值越小,质量就越高。另外,在quality_ranking的值为0的情况下,质量排名(ranking)未被定义。
参数“remaining_area_flag”是用于将区域指定为应用由参数“quality_ranking”指示的质量排名的值的范围的标志信息。
在本文中,在参数“remaining_area_flag”的值为0的情况下,质量排名描述符还包括参数“center_yaw”、“center_pitch”、“center_roll”、“hor_range”和“ver_range”,并且用信号传递使用这些参数来信号传递的质量排名的区域信息。
换言之,由参数“quality_ranking”指示的质量排名是由参数“center_yaw”、“center_pitch”、“center_roll”、“hor_range”和“ver_range”指示的区域的质量排名。
相比之下,在参数“remaining_area_flag”的值为1的情况下,该值指示由参数“quality_ranking”指示的质量排名是在同一Representation中没有用信号传递质量排名的剩余区域的质量排名。
要注意的是,在下文中,将作为网格或深度的可显示区域中的质量排名的目标的区域也称为目标区域。可以说,参数“remaining_area_flag”是指示应用了质量排名的目标区域的信息。
参数“center_yaw”指示如从3D模型的中心位置观看的指示目标区域的中心位置的偏航角(yaw angle)。另外,参数“center_pitch”指示如从3D模型的中心位置观看的指示目标区域的中心位置的俯仰角(pitch angle),并且参数“center_roll”指示如从3D模型的中心位置观看的目标区域的中心位置的滚动角(roll angle),即目标区域的旋转角度。
此外,参数“hor_range”指示如从3D模型的中心位置观看的目标区域的水平角度范围,并且参数“ver_range”指示如从3D模型的中心位置观看的目标区域的竖直角度范围。
这些参数“center_yaw”、“center_pitch”、“center_roll”、“hor_range”和“ver_range”指定目标区域。即,目标区域是由例如球体的中心和球体上的四个圆包围的区域,每个圆的中心与球体的中心一致,如参照图6描述的可显示区域中那样,并且特别地,目标区域是与可显示区域相同的区域或者是可显示区域的部分区域。
要注意的是,在本文中,如从3D模型的内部(即3D模型的中心)观看的区域被作为目标区域用信号传递,但是如从3D模型的外部(即用作预定基准的视点位置)观看的区域可以作为目标区域用信号传递。
例如,在参数“remaining_area_flag”的值为0的情况下,在作为质量排名描述符的Property的值中,以逗号分隔的方式将上述参数id、quality_ranking、remaining_area_flag、center_yaw、center_pitch、center_roll、hor_range和ver_range描述为与质量排名相关的信息。
也就是说,例如,质量排名描述符的值具有“value="id,quality_ranking,remaining_area_flat,center_yaw,center_pitch,center_roll,hor_range,ver_range"”等。
相比之下,在参数“remaining_area_flag”的值为1的情况下,在作为质量排名描述符的Property的值中,以逗号分隔的方式将上述参数id、quality_ranking和remaining_area_flag描述为与质量排名相关的信息。
也就是说,例如,质量排名描述符的值具有“value="id,quality_ranking,remaining_area_flag”。
在图18和图19所示的示例中,箭头A41至A44中的每一个所示的SupplementalProperty是质量排名描述符。
例如,在箭头A41所示的SupplementalProperty中,其值部分具有“1,5,1”。
因此,可以看出,与该SupplementalProperty对应的、其中Adaptation Set的id是mesh的Representation的网格的质量排名的值是“5”。
此外,该SupplementalProperty中的remaining_area_flag的值是“1”,从该值可以看出,质量排名的值“5”是网格的整个可显示区域的质量排名。即,整个可显示区域是目标区域。
另外,例如,箭头A42所示的SupplementalProperty是其中Adaptation Set的id是hq_dep1的Representation的深度的质量排名描述符,并且其值部分具有“1,3,0,-90,0,90,120”。
因此,可以看出,与该SupplementalProperty对应的附加深度的目标区域是以如从3D模型的中心位置观看的由“-90度”的偏航角和“0度”的俯仰角确定的位置为中心的、在由滚动角指示的0度旋转、水平方向上为90度以及竖直方向上为120度的范围内的区域。另外,可以看出,目标区域的质量排名的值是“3”。
此外,可以看出,例如,箭头A43所示的SupplementalProperty和箭头A44所示的SupplementalProperty中的每一个是其中Adaptation Set的id是hq_dep4的Representation的深度的质量排名描述符。
特别地,可以看出,与箭头A43所示的SupplementalProperty对应的附加深度的目标区域是以由如从3D模型的中心位置观看的“180度”的偏航角和“0度”的俯仰角确定的位置为中心的、由滚动角指示的0度旋转、水平方向上为90度以及竖直方向上为120度的范围内的区域。另外,可以看出,目标区域的质量排名的值是“1”。
另外,可以看出,在其中Adaptation Set的id是hq_dep4的深度的可显示区域中,与箭头A44所示的SupplementalProperty对应的附加深度的目标区域是除了箭头A43所示的SupplementalProperty指示的目标区域之外的区域。然后可以看出,与箭头A44所示的SupplementalProperty对应的附加深度的目标区域的质量排名的值是“5”。
从该示例中可以看出,其中Adaptation Set的id是hq_dep1的Representation的深度在整个区域中具有比其中Adaptation Set的id是mesh的Representation的网格更高的质量。另外,可以看出,其中Adaptation Set的id为hq_dep4的Representation的深度仅在由“180度”的偏航角、“0度”的俯仰角、“0度”的滚动角、“90度”的水平角度范围和“90度”的竖直角度范围确定的区域中具有比其中Adaptation Set的id是mesh的Representation的网格更高的质量。
如上所述,质量排名描述符是指示网格、深度等的BV流中的每个目标区域的质量(质量排名)的信息,这使得可以比较网格与深度之间的质量。客户端可以基于这种质量排名描述符除了网格之外还获取具有适当质量(质量排名)的深度。
要注意的是,在本文中,尽管已经描述了以逗号分隔的方式在Property的值部分中描述指示目标区域和质量排名的值的各个参数的示例,但是可以使用各个属性值用信号传递各个参数。
另外,可以使用具有Representation的Adaptation Set的视点元素而非质量排名的id,将BV流进行关联作为质量排名的质量比较的目标。此时,“shcemeIdUri="urn:mpeg:dash:bvqualityrankinggroup:2017"”被用作Property的shcemeIdUri。然后,Property的值相同的情况指示针对包括在每个Adaptation Set中的Representation用信号传递相对质量排名。
此外,虽然在图18和图19所示的示例中,在Representation下用信号传递质量排名描述符,但是可以在Adaptation Set下、在Sub Representation下或者在Preselection下用信号传递质量排名描述符。
另外,可以将参数stream_type添加到质量排名描述符。
例如,假设一个Adaptation Set包括与纹理和网格、或者纹理和深度相关的信息,并且可以使用与该一个Adaptation Set对应的BV流来配置BV内容。在这种情况下,stream_type用于用信号传递纹理、网格、深度和BV内容中的每一个的质量排名。
在客户端选择了为了增强BV内容的质量所必需的附加BV流的情况下,使用这样的stream_type使得可以识别包括与具有适当的质量的BV流(或BV内容)相关的信息的Adaptation Set。
在本文中,图21示出了添加到质量排名描述符的stream_type的语义。在该示例中,stream_type指示用信号传递其质量排名的BV流的类型。
具体地,例如,stream_type的值“0”指示用信号传递其质量排名的BV流的类型是纹理。stream_type的值“1”指示用信号传递其质量排名的BV流的类型是深度或网格,并且stream_type的值“2”指示用信号传递其质量排名的BV流的类型是BV内容。
例如,在如上所述使用MPD文件用信号传递质量排名的情况下,文件生成设备11执行与参照图10所述的上传处理类似的处理。
然而,在步骤S13中,MPD文件生成器33生成包括附加纹理和附加深度的Adaptation Set和质量排名描述符的MPD文件,如图18和图19所示。
另外,在使用MPD文件用信号传递质量排名的情况下,客户端设备71执行与参照图12描述的BV内容再现处理类似的处理,以再现BV内容。
要注意的是,在步骤S44中,MPD文件处理器93可以参考多个BV内容的质量排名描述符,并且基于各个BV内容的质量排名从这些BV内容的BV组中选择其中与用户的视野对应的区域具有高图像质量的BV内容的BV组。
此外,在步骤S45中,MPD文件处理器93不仅识别BV组的Adaptation Set和Representation,而且还识别附加BV流的Adaptation Set和Representation。
此外,在步骤S46中,MPD文件处理器93从BV组中包括的Adaptation Set和Representation以及附加BV流的Adaptation Set和Representation中选择要获取的BV流的Adaptation Set或Representation。
此时,MPD文件处理器93基于用户的视点位置、传输频带、鸟瞰覆盖描述符、质量排名描述符等来选择要获取的BV流的Adaptation Set或Representation。
例如,MPD文件处理器93可以基于质量排名描述符等来增强与用户的视野区域对应的BV流的图像质量。另外,在传输频带具有余量的情况下,MPD文件处理器93可以选择与用户视野对应的附加深度等的Representation,以再现具有更高图像质量的BV内容。
<第一实施方式的修改例3>
<关于轮廓信息的发送>
要注意的是,在基于深度来创建3D形状的情况下,轮廓可以用于单独地处理前景(即用作3D模型的对象)和背景。
轮廓是诸如轮廓图像的信息,该轮廓图像指示用作3D模型的主体(对象)在如上所述的深度图像中的区域。本文中的轮廓图像是例如作为包括具有1或0的像素值的像素的图像的掩模信息。
要注意的是,例如,在将包括亮度值等于或高于预定阈值的像素的深度上的区域设置为前景区域的情况下,可以将阈值设置为轮廓,但是在以下描述中,假设轮廓是轮廓图像。
在使用轮廓的情况下,存下述优点:通过使用轮廓和深度来创建仅前景的3D形状,可以减少处理量。
在发送轮廓的BV流的情况下,例如,如图22所示,轮廓作为轮廓图像来发送。要注意的是,可以在深度图像中包括轮廓信息,并且可以发送包括轮廓信息的深度。
在图22所示的示例中,发送不同视点位置处的深度DP41至DP44以及具有与深度DP41至DP44的视点位置相同的视点位置的轮廓SI41至SI44。
例如,深度DP41和轮廓SI41是相同视点位置处的信息,并且使用轮廓SI41使得可以指定(提取)深度DP41中的前景部分的区域。
使用这些深度DP41至DP44和这些轮廓SI41至SI44使得客户端可以使用小处理量来创建仅作为前景的3D模型的3D形状,而无需如箭头Q41所示的背景。然后,纹理被附加到这样获取的3D形状,这使得可以获取如箭头Q42所示的3D模型。
在本文中,例如,如图14所示,假设一个BV组包括网格MS31和四个纹理TX31至TX34,并且存在附加纹理HTX31至HTX34和附加深度HDP31至HDP34。
此外,假设除了网格MS31、纹理TX31至TX34、纹理HTX31至HTX34以及深度HDP31至HDP34之外,还存在如图23所示的附加轮廓HSI41至HSI44。要注意的是,在图23中,与图14中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图23所示的示例中,用于增强图像质量的附加轮廓HSI41至HSI44与附加深度HDP31至HDP34相关。在本文中,轮廓HSI41至HSI44的视点位置分别与深度HDP31至深度HDP34的视点位置相同。
在如上所述可以获取网格MS31、纹理TX31至TX34、纹理HTX31至HTX34、深度HDP31至HDP34以及轮廓HSI41至HSI44的情况下,例如,MPD文件如图24和图25所示。
要注意的是,图25示出了MPD文件的在图24所示的MPD文件的一部分(即,在图24的下侧示出的部分)之后的剩余部分。在图24和图25中,为了清楚地说明由这些图示出一个MPD文件,在图24的下侧示出了标记“继续至图25”,并且在图25的上侧示出了标记“从图24继续”。这些标记“继续至图25”和“从图24继续”实际上没有在MPD文件中描述。
此外,在图24和图25所示的MPD文件中,为了防止重复,适当地省略了与图15和图16所示的示例中的部分类似的部分的描述。此外,假设本文中的纹理、网格、深度和轮廓被单独地存储为单个轨道文件。
在图24和图25所示的MPD文件中,箭头W61所示的部分是与一个BV组相关的Preselection,并且该Preselection与图15中的箭头W21所示的Preselection完全相同。
另外,箭头W62至W64中的每一个所示的Adaptation Set是与BV组中包括的纹理或网格相关的Adaptation Set。在本文中,箭头W62至W64所示的Adaptation Set分别与图15中的箭头W22至W24所示的Adaptation Set完全相同。
在本文中,tex1至tex4是与图14中的纹理TX31至TX34相关的Adaptation Set的id,并且mesh是与图14中的网格MS31相关的Adaptation Set的id。然后,在箭头W61所示的Preselection元素的preselectionComponents属性中描述mesh和tex1至tex4。
箭头W65至W68所示的Adaptation Set分别对应于图16中箭头W25至W28所示的Adaptation Set。
也就是说,箭头W65至W68所示的Adaptation Set是分别描述了与附加纹理HTX31、附加纹理HTX34、附加深度HDP31和附加深度HDP34中的相应一个相关的信息的AdaptationSet。
要注意的是,箭头W65和W66所示的Adaptation Set分别与图16中的箭头W25和W26所示的Adaptation Set完全相同。
箭头W69和箭头W70所示的Adaptation Set是分别描述了与附加轮廓HSI41和附加轮廓HSI44相关的信息的Adaptation Set。
在本文中,描述与纹理HTX31至HTX34相关的信息的Adaptation Set的id分别为hq_tex1至hq_tex4,而与深度HDP31至HDP34相关的Adaptation Set的id分别为hq_dep1至hq_dep4。
此外,与分别关联于深度HDP31至HDP34的轮廓HSI41至HSI44相关的AdaptationSet的id分别为sil1至sil4。
此外,在该示例中,具有“schemeIdUri="urn:mpeg:dash:silhouette:2017"”的EssentialProperty或SupplementalProperty被新定义为轮廓描述符(silhouettedescriptor),该轮廓描述符是指示EssentialProperty或SupplementalProperty是与轮廓相关的Adaptation Set的信息。
参考该轮廓描述符使得客户端可以识别出包括轮廓描述符的Adaptation Set中的Representation是描述了与轮廓相关的信息的Representation。要注意的是,可以在Representation或SubRepresentation中用信号传递轮廓描述符。
例如,在箭头W69所示的Adaptation Set中描述了Adaptation Set的id“sil1”,并且在该Adaptation Set中描述了与轮廓HSI41相关的信息。类似地,在箭头W70所示的Adaptation Set中也描述了Adaptation Set的id“sil4”,并且在该Adaptation Set中描述了与轮廓HSI44相关的信息。
另外,在箭头W69所示的Adaptation Set中的箭头A61所示的部分以及在箭头W70所示的Adaptation Set中的箭头A62所示的部分均具有有着“schemeIdUri="urn:mpeg:dash:silhouette:2017"”的EssentialProperty作为轮廓描述符。
这使得客户端可以断定箭头W69或箭头W70所示的Adaptation Set是与BV内容中包括的轮廓相关的Adaptation Set。
要注意的是,尽管未示出,但是在深度中包括轮廓信息的情况下,具有schemeIdUri“schemeIdUri="urn:mpeg:dash:depthwithsilhouette:2017"”的EssentialProperty或SupplementalProperty可以被新定义为具有轮廓描述符的深度。在这种情况下,具有轮廓描述符的深度使得可以用信号传递:包括具有轮廓描述符的深度的Adaptation Set是描述了与包括轮廓信息的深度相关的信息的Adaptation Set。
此外,在图25所示的示例中,Representation中的associationId和Representation中的associationType="silh"用于将轮廓的Representation与同该Representation对应的深度的Representation彼此关联。
在本文中,associationId是用于将彼此对应的深度和轮廓(即彼此配对的深度和轮廓)相关(关联)的信息(Id)。
另外,associationType是指示与包括associationType的Representation对应的Representation的关联类型的信息。具体地,本文中的“associationType="silh"”指示Representation的关联类型是轮廓与深度之间的关系。
例如,“hq_dep1_1”被描述为箭头W67所示的Adaptation Set中的箭头A63所示的Representation中的id。
类似地,“hq_dep4_1”被描述为箭头W68所示的Adaptation Set中的箭头A64所示的Representation中的id。
相比之下,associationId“hq_dep1_1”和associationType“silh”在箭头W69所示的Adaptation Set中的箭头A65所示的Representation中被描述。
此外,associationId“hq_dep4_1”和associationType“silh”在箭头W70所示的Adaptation Set中的箭头A66所示的Representation中被描述。
因此,客户端可以识别出其中描述了id“hq_dep1_1”的箭头A63所示的Representation与深度相关。
另外,客户端可以识别出其中描述了associationId“hq_dep1_1”和“associationType="silh"”的箭头A65所示的Representation与和箭头A63所示的Representation(深度)相关联的轮廓相关。这是因为在箭头A65所示的Representation中描述了与箭头A63所示的Representation中的id相同的id。
类似地,客户端可以识别出箭头A64所示的Representation与深度相关,并且识别出箭头A66所示的Representation与和箭头A64所示的Representation(深度)相关联的轮廓相关。
如上所述地使用associationId和associationType使得客户端可以识别出深度以及与深度相关联(相关)的轮廓并且获取深度和轮廓。
在可以以这种方式获取附加轮廓的情况下,例如,文件生成设备11执行与参照图10描述的上传处理类似的处理。
然而,在步骤S13中,MPD文件生成器33生成包括与附加纹理、附加深度和附加轮廓相关的Adaptation Set的MPD文件,如图24和图25所示。
具体地,在这种情况下,如图24和图25所示,MPD文件生成器33在与轮廓相关的Adaptation Set中描述轮廓描述符,并且在轮廓的Adaptation Set中的Representation中根据需要描述associationId和associationType。
另外,在可以获得附加轮廓的情况下,客户端设备71执行与参照图12描述的BV内容再现处理类似的处理,以再现BV内容。
然而,在步骤S45中,MPD文件处理器93不仅识别BV组的Adaptation Set和Representation,而且还基于鸟瞰覆盖描述符的source_id、轮廓描述符等来识别允许被添加到BV组的BV流的Adaptation Set和Representation。
具体地,参考Representation中的associationId和associationType使得MPD文件处理器93可以识别附加深度的Representation以及与深度相关联的附加轮廓的Representation。
要注意的是,可以通过包括在Adaptation Set中的轮廓描述符来识别轮廓的Adaptation Set和Representation。此外,在深度中包括轮廓信息的情况下,可以通过上述具有轮廓描述符的深度来识别包括轮廓信息的深度(具有轮廓的深度)的Adaptation Set或Representation。
此外,在步骤S46中,MPD文件处理器93从BV组中包括的Adaptation Set和Representation以及附加BV流的Adaptation Set和Representation中选择要获取的BV流的Adaptation Set或Representation。
此时,MPD文件处理器93基于用户的视点位置、传输频带、鸟瞰覆盖描述符等来选择要获取的BV流的Adaptation Set或Representation。例如,MPD文件处理器93可以增强与用户的视野区域对应的BV流的图像质量,或者在传输频带具有余量的情况下,MPD文件处理器93可以选择与用户的视野对应的附加纹理、附加深度或轮廓的Representation。
<第二实施方式>
<关于BV组>
要注意的是,以上描述了一个BV组包括纹理和网格的示例,但是一个BV组可以包括纹理和深度。
例如,在一个BV组包括纹理和深度的情况下的优点和缺点如下。
(优点1)
与网格的BV流相比,深度的BV流具有创建3D形状所必需的小的总尺寸。
(缺点1)
在客户端侧需要网格化;因此,客户端侧的处理负荷高。
(缺点2)
创建3D形状需要多个深度图像。
此外,图26示出了包括纹理和深度的BV组的示例。要注意的是,在图26中,与图2中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图26的示例中,四个纹理TX1至TX4位于偏移90度以围绕空间中的3D模型的视点位置处,并且四个深度DP61至DP64位于与这些纹理的视点位置相同的视点位置处。
也就是说,深度DP61至DP64分别具有与纹理TX1至TX4相同的视点位置,并且纹理TX1至TX4中的每一个与深度DP61至DP64中的相应一个配对。
然后,一个BV组包括深度DP61至DP64和纹理TX1至TX4,并且可以通过包括在该BV组中的BV流来配置BV内容。
如在上述第一实施方式中那样,如果作为媒体呈现管理文件的MPD文件被用于用信号传递这样的包括纹理和深度的BV组就足够了。
例如,如图27所示,假设一个BV组包括四个纹理TX11至TX14和四个深度DP71至DP74。在图27中,与图3中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在本文中,深度DP71至DP74的视点位置分别与纹理TX11至TX14的视点位置相同。
在使用MPEG-DASH分发BV内容的情况下,如果使用例如图28和图29中所示的MPD文件用信号传递与这种BV组相关的信息就足够了。
要注意的是,图29示出了MPD文件的在图28所示的MPD文件的一部分(即,在图28的下侧示出的部分)之后的剩余部分。在图28和图29中,为了清楚地说明由这些图示出一个MPD文件,在图28的下侧示出了标记“继续至图29”,并且在图29的上侧示出了标记“从图28继续”。这些标记“继续至图29”和“从图28继续”实际上没有在MPD文件中描述。
此外,在图28和图29所示的MPD文件中,为了防止重复,适当地省略了与图15和图16所示的示例中的部分类似的部分的描述。此外,假设本文中的纹理和深度被分别存储为单个轨道文件。
在图28和图29所示的MPD文件中,箭头W91所示的部分是与一个BV组相关的Preselection。
另外,箭头W92至W95中的每一个所示的Adaptation Set是与BV组中包括的纹理或深度相关的Adaptation Set。然后,在箭头W91所示的Preselection中描述包括各个箭头W92至W95所示的Adaptation Set的一个BV组中包括的各个BV流的Adaptation Set的id。
在本文中,tex1至tex4是其中描述了与图27中的纹理TX11至TX14相关的信息的Adaptation Set的id。此外,dep1至dep4是其中描述了与图27中的深度DP71至DP74相关的信息的Adaptation Set的id。
例如,在箭头W92所示的Adaptation Set中,将“tex1”描述为Adaptation Set的id,而在箭头W93所示的Adaptation Set中,将“tex 4”描述为Adaptation Set的id。
另外,在箭头W94所示的Adaptation Set中,“dep1”被描述为Adaptation Set的id,而在箭头W95所示的Adaptation Set中,“dep4”被描述为Adaptation Set的id。
因此,从箭头W91所示的Preselection元素的preselectionComponents属性中描述的“dep1 dep2 dep3 dep4 tex1 tex2 tex3 tex4”可以看出,一个BV组包括纹理TX11至TX14和深度DP71至DP74。换言之,可以看出,与纹理和深度对应的八个Adaptation Set被分组为一个基本BV组。
此外,箭头W91所示的Preselection包括与图15中的箭头W21所示的Preselection中的鸟瞰描述符和鸟瞰覆盖描述符类似的鸟瞰描述符和鸟瞰覆盖描述符。类似地,例如,箭头W92所示的Adaptation Set包括与图15中的箭头W22所示的Adaptation Set中的纹理描述符和鸟瞰覆盖描述符相似的纹理描述符和鸟瞰覆盖描述符。
此外,箭头W94所示的Adaptation Set和箭头W95所示的Adaptation Set均包括与图16中的箭头W27所示的Adaptation Set中的深度描述符和鸟瞰覆盖描述符类似的深度描述符和鸟瞰覆盖描述符。
例如,在箭头W94所示的Adaptation Set中,箭头A81所示的EssentialProperty是深度描述符,而箭头A82所示的SupplementalProperty是鸟瞰覆盖描述符。
要注意的是,鸟瞰描述符、纹理描述符和深度描述符的定义与上述第一实施方式和第一实施方式的修改例1中的定义类似。另外,鸟瞰覆盖描述符的定义与上述第一实施方式的修改例1中的定义类似。
即使在该示例中,对于BV组中包括的纹理和深度中的每一个,选择具有适当比特率的Representation等使得客户端可以根据传输频带来增强纹理和深度的图像质量。
另外,参考鸟瞰覆盖描述符使得客户端可以仅增强与用户的视野对应的纹理和深度的图像质量。
此外,客户端可以仅选择显示用户的视野范围所需的纹理和深度,而不获取BV组中包括的所有纹理和深度,并且可以获取和呈现所选择的纹理和所选择的深度。这在传输频带(带宽)有限并且不可能获取BV内容中包括的所有BV流的情况下特别有用。
在BV组包括如上所述的纹理和深度的情况下,例如,文件生成设备11执行与参照图10所述的上传处理类似的处理。
然而,在步骤S13中,如图28和图29所示,MPD文件生成器33生成包括纹理和深度的Adaptation Set的MPD文件。
另外,在这种情况下,客户端设备71执行与参照图12描述的BV内容再现处理类似的处理,以再现BV内容。
要注意的是,在步骤S45中,MPD文件处理器93基于纹理描述符和深度描述符来识别BV组中包括的纹理和深度的Adaptation Set。
然后,在步骤S46中,MPD文件处理器93从包括在BV组中的纹理和深度的Adaptation Set和Representation中选择要获取的BV流的Adaptation Set或Representation。此时,MPD文件处理器93基于用户的视点位置、传输频带、鸟瞰覆盖描述符等来选择Adaptation Set或Representation。
<第二实施方式的修改例1>
<关于附加BV流的获取>
要注意的是,如第二实施方式所述,在BV组包括纹理和深度的情况下,除了BV组之外,还可以附加地获取BV组中不包括的视点位置处的深度和纹理。
在除了BV组之外还获取附加BV流的情况下,可以再现具有较高图像质量的BV内容。
换言之,增加能够获取的纹理的数目使得不需要通过补充生成可显示区域的外部的区域中的纹理,这使得可以在呈现期间增强BV内容的质量。另外,在构建了3D模型的情况下,增加深度使得可以获取更精确的3D形状。
例如,在可以附加地获取纹理或深度的情况下考虑图30中所示的示例。要注意的是,在图30中,与图26中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图30中的示例中,如图中的左侧所示,一个BV组包括视点位置处的偏移90度以围绕空间中的3D模型的四个纹理TX1至TX4和四个深度DP61至DP64。
此外,除了BV组的BV流之外,如图中的中心所示,四个纹理TX51至TX54位于偏移90度以围绕3D模型的视点位置处,并且与纹理TX1至TX4的视点位置不同。此外,深度DP81至DP84分别位于与纹理TX51至TX54的视点位置相同的视点位置处。
客户端侧可以获取纹理TX51至TX54的BV流以及深度DP81至DP84的BV流作为附加BV流。
在存在这种可以附加地获取的纹理的情况下,例如,如图中的右侧所示,变得可以使用具有与BV组的纹理不同的覆盖(可显示区域)的纹理,这使得可以再现具有更高图像质量的BV内容。
具体地,在该示例中,除了纹理TX1至TX4之外,还获取纹理TX51至TX54,这使得可以使用围绕3D模型的更多视点位置处的纹理。
在使用MPEG-DASH分发BV内容的情况下,为了还允许分发如上所述的附加BV流,如果MPD文件用于信号传递与附加BV流相关的信息就足够了。
例如,如图31所示,假设一个BV组包括四个纹理TX91至TX94和四个深度DP91至DP94。
另外,假设可以附加地获取在与各个纹理TX91至TX94的视点位置不同的视点位置处的附加纹理HTX51至HTX54的BV流。此外,假设还可以获取分别位于与各个纹理HTX51至HTX54的视点位置相同的视点位置处的附加深度HDP51至HDP54的BV流。
要注意的是,在图31中,图中的左侧绘制的圆表示每个BV流(即,纹理和深度中的每一个)的视点位置。
如上所述,在一个BV组包括纹理TX91至TX94和深度DP91至DP94,并且针对该BV组可以附加地获取纹理HTX51至HTX54和深度HDP51至HDP54的情况下,例如,MPD文件如图32和图33所示。
要注意的是,图33示出了MPD文件的在图32所示的MPD文件的一部分(即,在图32的下侧示出的部分)之后的剩余部分。在图32和图33中,为了清楚地说明由这些图示出一个MPD文件,在图32的下侧示出了标记“继续至图33”,并且在图33的上侧示出了标记“从图32继续”。这些标记“继续至图33”和“从图32继续”实际上没有在MPD文件中描述。
此外,在图32和图33所示的MPD文件中,为了防止重复,适当地省略了与图15和图16所示的示例中的部分类似的部分的描述。此外,假设本文中的纹理和深度被分别存储为单个轨道文件。
在图32和图33所示的MPD文件中,箭头W111所示的部分是与一个BV组相关的Preselection。
另外,箭头W112至W115中的每一个所示的Adaptation Set是与BV组中包括的纹理或深度相关的Adaptation Set。然后,在箭头W111所示的Preselection中描述了包括箭头W112至W114所示的Adaptation Set的一个BV组中包括的各个BV流的Adaptation Set的id。
在本文中,tex1至tex4是其中描述了与图31中的纹理TX91至TX94相关的信息的Adaptation Set的id。此外,dep1至dep4是其中描述了与图31中的深度DP91至DP94相关的信息的Adaptation Set的id。
因此,从箭头W111所示的Preselection元素的preselectionComponents属性中描述的“dep1 dep2 dep3 dep4 tex1 tex2 tex3 tex4”可以看出,一个BV组包括纹理TX91至TX94和深度DP91至DP94。
另外,箭头W116至W119中的每一个所示的Adaptation Set是其中描述了与用于增强图像质量的附加BV流相关的信息的Adaptation Set。
例如,其中描述了与图31所示的纹理HTX51至HTX54相关的信息的Adaptation Set的id是hq_tex1至hq_tex4。此外,其中描述了与图31所示的深度HDP51至HDP54相关的信息的Adaptation Set的id是hq_dep1至hq_dep4。
要注意的是,在图32和图33所示的示例中,鸟瞰描述符、纹理描述符和深度描述符的定义与以上描述的第一实施方式和第一实施方式的修改例1中的定义类似。另外,鸟瞰覆盖描述符的定义与第一实施方式的修改例1中(即图15和图16中)的定义类似。
箭头W111所示的Preselection包括与图15中的箭头W21所示的Preselection中的鸟瞰描述符和鸟瞰覆盖描述符类似的鸟瞰描述符和鸟瞰覆盖描述符。特别地,在箭头W111所示的Preselection中箭头A101所示的部分是鸟瞰覆盖描述符,并且该鸟瞰覆盖描述符包括“1”作为指示要被参考的BV流的源(材料)的source_id。
此外,作为与纹理相关的Adaptation Set的箭头W112、箭头W113、箭头W116和箭头W117所示的Adaptation Set中的每一个包括纹理描述符。类似地,作为与深度相关的Adaptation Set的箭头W114、箭头W115、箭头W118和箭头W119所示的Adaptation Set中的每一个Adaptation Set包括深度描述符。
此外,在箭头W112至W119所示的Adaptation Set中的箭头A102至A109所示的每个部分是鸟瞰覆盖描述符,并且鸟瞰覆盖描述符各自包括“1”作为source_id。
因此,客户端侧可以识别出(指定):对与由各个箭头W112至W119所示的Adaptation Set对应的纹理和深度进行组合使得可以配置一个BV内容。此时,例如,根据用户的视野,除了BV组的BV流之外还选择并获取具有同一source_id的附加BV流(即,附加纹理和附加深度)使得可以实现具有更高图像质量的BV内容的再现。
在如上所述可以获取附加BV流的情况下,例如,文件生成设备11执行与参照图10描述的上传处理类似的处理。
然而,在步骤S13中,MPD文件生成器33生成包括与附加纹理和附加深度相关的Adaptation Set的MPD文件,如图32和图33所示。此外,MPD文件生成器33生成包括source_id的鸟瞰覆盖描述符,如图32和图33所示,并且在Preselection或Adaptation Set中描述鸟瞰覆盖描述符。
此外,在可以获取附加BV流的情况下,客户端设备71执行与参照图12描述的BV内容再现处理类似的处理,以再现BV内容。
然而,在步骤S45中,MPD文件处理器93不仅识别BV组的Adaptation Set和Representation,而且还基于鸟瞰覆盖描述符的source_id来识别允许被添加到BV组的BV流的Adaptation Set和Representation。
此外,在步骤S46中,MPD文件处理器93从BV组中包括的Adaptation Set和Representation以及附加BV流的Adaptation Set和Representation中选择要获取的BV流的Adaptation Set或Representation。
此时,MPD文件处理器93基于用户的视点位置、传输频带以及指示鸟瞰覆盖描述符的值中包括的source_id和可显示区域的信息(参数)等,来选择Adaptation Set或Representation。
要注意的是,即使在上述第二实施方式和第二实施方式的修改例1中,也可以如第一实施方式的修改例3中那样获取与深度相关联的轮廓。在这种情况下,在MPD文件中描述与轮廓相关的Adaptation Set。
另外,在第一实施方式和第二实施方式中,可以代替Preselection而使用Adaptation Set的视点元素来执行BV组的分组。此时,“shcemeIdUri="urn:mpeg:dash:bvgroup:2017"”在视点中使用。在这种情况下,其视点具有相同值的Adaptation Set指示Adaptation Set是允许配置同一BV内容的BV流。
此外,在第一实施方式的修改例1和第二实施方式的修改例1中,允许被添加到在Preselection中用信号传递的BV组的BV流通过鸟瞰覆盖描述符的值中的source_id相关联。然而,代替source_id,BV流可以通过指示允许添加BV流的BV组的Preselection的id的preselection_id来进行关联。
例如,在图15所示的示例中,Preselection中的“bv_base”是selection_id,并且将该selection_id包括在鸟瞰覆盖描述符中使得可以将BV组的BV流与附加BV流彼此相关联。
此外,在第一实施方式、第一实施方式的修改例1、第二实施方式和第二实施方式的修改例1中,可以使用Preselection的视点元素或者Adaptation Set的视点元素而不是SupplementalProperty和EssentialProperty来用信号传递与鸟瞰覆盖描述符等同的信息。此时,视点的SchemeIdUri的语义和视点的值与上述鸟瞰覆盖描述符的语义和值类似。
另外,在纹理和网格或者纹理和深度被存储在与BV内容相关的文件的一个轨道中并且可以用一个Adaptation Set来配置BV内容的情况下,可以在Adaptation Set中用信号传递鸟瞰描述符。
如上所述,根据在第一实施方式至第二实施方式的修改例1中描述的本技术,可以将诸如纹理、网格和深度的各种类型的BV流分组在DASH MPD层(即MPD文件)中,并且用信号传递BV组。这使得客户端可以容易地选择并获取用于观看BV内容所需要的BV流。
此外,BV组的BV流的图像质量可以根据传输频带而自适应地改变,并且可以有效地使用传输频带(带宽)。
另外,增加BV流的可显示区域信息使得可以根据用户的视野获取必要的附加BV流,并且使得可以使用BV组的BV流和附加BV流来构建部分地具有高图像质量的3D模型。
<第三实施方式>
<关于BV组的信号传递>
顺便提及,上面已经描述了在DASH MPD层中对BV内容中包括的BV流进行分组的方法。然而,还可以在ISOBMFF层中执行这种对BV流的分组。
在下文中,作为示例在下面描述以ISOBMFF存储BV内容并且BV流在ISOBMFF层中被分组的情况。
在这种情况下,例如,其中存储BV内容的文件具有如图34所示的格式。
在图34中,文件FL11是用于再现BV内容的文件,并且文件FL11是例如基于ISOBMFF的MP4文件。
在该示例中,文件FL11包括箭头Q61所示的电影框(movie box)和箭头Q62所示的媒体数据框(media data box)。
媒体数据框是其中存储用于再现BV内容的BV流的数据区域,并且由一个或多个轨道(track)参考的BV流被存储在媒体数据框中。然后,一个轨道参考一个或多个BV流。在下文中,将通过轨道参考存储在媒体数据框中的BV流称为通过轨道存储BV流。
要注意的是,诸如纹理和深度的多种类型中的一种类型的BV流可以被存储在一个轨道中,或者两个或更多种类型的BV流可以被存储在一个轨道中。
电影框(moov)是其中存储与媒体数据框中的每个轨道相关的信息的区域。本文中的信息是与存储在媒体数据框中的BV内容相关的元信息。换言之,电影框是其中存储用于BV内容的管理的媒体呈现管理信息的管理区域。
更具体地,在轨道框(trak)中,与轨道相关的信息被存储在电影框中,并且在本文中,针对一个轨道设置一个轨道框。
然后,在轨道框中,例如,存储箭头Q63所示的轨道组框(trgr)和箭头Q64所示的媒体框(mdia)。
轨道组框是存储与包括一个或多个轨道的轨道组((track group)相关的信息的区域,并且轨道通过该轨道组框被分组,并且在组中用信号传递公共信息。
轨道组类型框(track_group_type)被存储在轨道组框中。轨道组类型框以ISOBMFF被定义,并且用作用于对具有相同特性的多个轨道进行分组的工具。
在箭头Q64所示的媒体框中存储媒体信息框(minf),并且在媒体信息框中存储用于管理诸如轨道要参考的BV流的时间和地址的信息的样本表框(stbl)。
样本描述框(stsd)被存储在样本表框中。此外,样本条目被存储在样本描述框中。
该样本条目包括箭头Q65所示的受限样本条目(resv)和箭头Q66所示的可视样本条目(编码名称)。换言之,样本条目的类型包括受限样本条目和可视样本条目。
在受限样本条目中存储受限方案信息框(rinf),并且该受限方案信息框是存储BV流的解码(decoding)之后的后处理中要使用的信息的区域。
在本文中,方案类型框(Schm)和方案信息框(Schi)被存储在受限方案信息框中,并且特别地,在BV流的解码之后的后处理中要使用的信息被存储在方案信息框中。
另外,箭头Q66所示的可视样本条目(编码名称)是针对每个视频编解码器确定的信息,并且在HEVC的情况下是例如hvc1等。从轨道存储的视频序列的信息被存储在该可视样本条目中。
在本文中,在图34所示的格式的文件中,认为用信号传递包括在BV组中的BV流。
在本技术中,在图34所示的格式的文件中,新定义了通过扩展轨道组类型框而获得的鸟瞰组框,以便用信号传递存储在轨道中的纹理或深度被包括在BV内容中。
在图34所示的示例中,通过扩展轨道组类型框而获得的鸟瞰组框被存储在轨道组框中。
即,鸟瞰组框仅被存储在与其中存储了BV内容中包括的BV流的轨道对应的轨道框中。
因此,参考轨道框中的鸟瞰组框使得客户端可以识别出BV内容的BV流被存储在哪个轨道中。
要注意的是,可以仅将纹理或深度存储在一个轨道中,或者可以将纹理和深度二者存储在一个轨道中。
在本文中,图35示出了轨道组类型框的语法和语义。
在图35中,箭头Q81所示的部分指示轨道组类型框的语法,并且箭头Q82所示的部分指示轨道组类型框的语义。
轨道组类型框由ISOBMFF定义,并且是用于对具有相同特性的多个轨道进行分组的工具。在本文中,轨道的特性(特定特性)包括例如其中轨道属于包括可同时再现的轨道的预定组(轨道组)的特性。
轨道组类型框包括track_group_id,该track_group_id是指示与轨道组类型框(更具体地,其中存储轨道组类型框的轨道框)对应的轨道的特性的信息。也就是说,track_group_id是轨道所属的轨道组的id。
因此,这意味着具有指示轨道组的类型(kind)的同一track_group_type并且具有同一track_group_id的轨道属于同一轨道组。
如上所述,在本技术中,通过扩展该轨道组类型框而获得的鸟瞰组框对包括在BV组中的BV流进行分组。
图36示出了通过扩展图35中示出的轨道组类型框而获得的鸟瞰组框的语法。
在图36所示的示例中,track_group_type是如箭头Q91所示的“bvgp”,并且该track_group_type指示轨道组的类型是包括其中存储了BV组中包括的BV流的轨道组。
另外,上述track_group_id被存储在图36所示的鸟瞰组框中。这意味着存储在属于鸟瞰组框并且具有同一track_group_id的轨道中的BV流被包括在同一BV内容中。
这使得客户端可以通过在轨道框中存在或不存在鸟瞰组框以及鸟瞰组框中包括的track_group_id来识别存储了包括在同一BV内容中的BV流的轨道。
换言之,客户端可以通过鸟瞰组框是否被存储在轨道框中以及鸟瞰组框中的track_group_id来识别同一BV内容的BV流(即,包括在BV组中的BV流)。由此可以说,鸟瞰组框是指示存储了用于再现同一BV内容的BV流的轨道的信息,即,指示用于配置同一3D模型的多个BV流的分组信息。
具有这种配置的文件使得可以使用通常的(即,通用的)编解码器例如HEVC和AVC对BV流进行编码和解码,并且实现对BV内容可再现的BV流进行分组。即,可以适当地再现BV内容。
要注意的是,可存储图36中示出的鸟瞰组框中的任何框。因此,例如,如图37所示的鸟瞰覆盖信息框可以被新定义为BV内容的可显示区域信息并且被存储在鸟瞰组框中。
在图37中,箭头Q101所示的部分指示鸟瞰覆盖信息框的语法,并且箭头Q102所示的部分指示鸟瞰覆盖信息框的语义。
鸟瞰覆盖信息框是指示BV内容的可显示区域的信息,并且对应于上述鸟瞰覆盖描述符。
在本文中,鸟瞰覆盖信息框包括“pos_x”、“pos_y”、“pos_z”、"center_yaw”、“center_pitch”、“center_roll”、“hor_range”和“ver_range”作为指示可显示区域的信息(参数)。
具体地,参数“pos_x”指示3D模型的中心位置在空间中的x坐标。另外,参数“pos_y”指示3D模型的中心位置在空间中的y坐标,并且参数“pos_z”指示3D模型的中心位置在空间中的z坐标。
这些参数pos_x、pos_y和pos_z对应于图7中所示的鸟瞰覆盖描述符的参数x、y和z。
另外,参数“center_yaw”指示如从3D模型的中心位置观看的指示可显示区域的中心位置的偏航角(yaw angle)。参数“center_pitch”指示如从3D模型的中心位置观看的指示可显示区域的中心位置的俯仰角(pitch angle),并且参数“center_roll”指示如从3D模型的中心位置观看的可显示区域的中心位置的滚动角(roll angle)(即可显示区域的旋转角度)。
此外,参数“hor_range”指示如从3D模型的中心位置观看的可显示区域的水平角度范围,并且参数“ver_range”指示如从3D模型的中心位置观看的可显示区域的竖直角度范围。
这些参数center_yaw、center_pitch、center_roll、hor_range和ver_range与图7中所示的鸟瞰覆盖描述符中的参数相同。
因此,参考鸟瞰覆盖信息框中用信号传递的各个参数使得客户端可以指定(识别)BV内容的可显示区域。
要注意的是,在鸟瞰组框中没有用信号传递鸟瞰覆盖信息框的情况(即,鸟瞰覆盖信息框没有被存储的情况)可以指示BV内容覆盖作为可显示区域的整个周边。
另外,例如,在某些情况下,具有彼此不同的可显示区域的多个BV内容的BV流被存储在文件中。在这种情况下,参考鸟瞰覆盖信息框使得客户端可以从多个BV内容中选择适当的BV内容(即,与用户的视野对应的BV流的适当的组),并且再现BV内容。
<关于文件生成设备和客户端设备的操作>
如上所述,例如,在ISOBMFF层中执行BV流的分组的情况下,文件生成设备11执行与参照图10描述的上传处理类似的处理。
注意,在步骤S12中,分段文件生成器43基于从数据输入单元31提供的元数据等,对从编码器42提供的BV流的编码数据进行文件化,以生成图34所示的格式的文件。此时,图36所示的鸟瞰组框和图37所示的鸟瞰覆盖信息框被存储在所生成的文件中。
在生成这样的文件时,分段文件生成器43基于所获取的文件来生成分段文件,并且将分段文件提供给记录单元34。
此外,在步骤S13中,可以生成第一实施方式、第二实施方式等中描述的MPD文件,或者可以生成通常的MPD文件。
在以这种方式生成分段文件和MPD文件之后,执行步骤S14和S15中的处理,以上传分段文件和MPD文件,并且上传处理结束。
要注意的是,虽然在本文中描述了使用MPEG-DASH来分发BV内容的文件的示例,但是可以将生成的BV内容的文件存储在可移动记录介质等中。
另外,例如,在ISOBMFF层中执行BV流的分组的情况下,客户端设备71执行图38中所示的BV内容再现处理。在下文中,参照图38中的流程图,给出对由客户端设备71执行的BV内容再现处理的描述。
要注意的是,步骤S81至S83中的处理与图12中的步骤S41至S43中的处理类似,并且省略其描述。
在步骤S84中,分段文件获取单元94执行与图12中的步骤S47中的处理类似的处理,以从服务器获取其中存储了BV流的分段文件,并且将获取的分段文件提供给分段文件处理器111。
此时,例如,MPD文件处理器93基于从MPD文件获取单元92提供的MPD文件、传输频带的测量结果等来选择要获取的Representation,并且将这种选择的结果提供给分段文件获取单元94。在本文中,例如,基本上所有的Adaptation Set都被选择作为要获取的Adaptation Set,并且针对每个Adaptation Set选择具有与传输频带的测量结果等对应的比特率的Representation。
然后,基于从MPD文件处理器93提供的选择结果,分段文件获取单元94根据选择结果获取分段文件。
因此,例如,获取基于图34所示的格式的文件生成的分段文件。
要注意的是,本文中描述了使用MPEG-DASH来分发BV内容的文件的示例。然而,不言而喻,BV内容的文件可以不是以流的格式下载而是从服务器一次下载,或者可以从硬盘、可移动记录介质等读取。
在步骤S85中,基于从分段文件获取单元94提供的分段文件(即BV内容的文件),分段文件处理器111选择包括存储在文件中的BV流的BV组。
例如,分段文件处理器111通过参考BV内容的文件中的鸟瞰组框来识别包括存储在文件中的BV流的BV内容(即BV组)。
具体地,分段文件处理器111将存储在其中用信号传递鸟瞰组框的轨道中并且具有同一track_group_id的BV流识别为包括在一个BV组中的BV流。
分段文件处理器111从所识别的BV内容(BV组)中选择要再现的BV内容。
此时,分段文件处理器111可以参考例如存储在鸟瞰组框中的鸟瞰覆盖信息框,并且选择允许显示与用户的视野对应的区域的BV组(即,其中用户的视野区域被包括在可显示区域中的BV组)。
在步骤S86中,分段文件处理器111识别包括在步骤S85中选择的同一BV组中的轨道。即,如上所述,存储在具有同一track_group_id的轨道中的BV流被识别为包括在一个BV组中的BV流。此时,例如,通过稍后描述的鸟瞰信息框,可以识别每个轨道的类型(即,存储在轨道中的BV流的类型)以及其中存储每个BV流的区域。
在步骤S87中,分段文件处理器111选择要用于再现BV内容的轨道,从在步骤S84中获取的BV内容的文件中的所选择的轨道中提取经编码的BV流,并且将BV流提供给解码器112。此时,例如,包括在步骤S85中选择的BV组中的一个或多个轨道都被选择。可以说,以这种方式选择轨道是选择要用于再现BV内容的BV流。
在提取经编码的BV流后,执行步骤S88和S89中的处理,并且BV内容再现处理结束;然而,该处理与图12中的步骤S49和S50中的处理类似,并且省略其描述。
如上所述,客户端设备71参考所获取的文件的鸟瞰组框来识别文件中的轨道,即,包括BV流的BV组(BV内容)。
这样做使得即使在采用ISOBMFF的文件中也能够容易地识别包括由通用编解码器编码的BV流的BV组。这使得可以适当地再现BV内容。
<第三实施方式的修改例1>
<关于存储在轨道中的BV流信息的信号传递>
顺便提及,在第三实施方式中描述的格式(format)的文件中,纹理和深度的BV流被存储在轨道中,并且以下三种方法被认为是将BV流存储在轨道中的方法的变型。
首先,第一方法是下述方法:将每个纹理单独存储在轨道中,并且将每个深度也单独存储在轨道中。
另外,第二方法是下述方法:仅将多个纹理打包在一个图像中并且存储在轨道中,并且类似地,仅将多个深度打包在一个图像中并且存储在轨道中。
第三方法是下述方法:将多个纹理和多个深度打包在一个图像中并且存储在一个轨道中。
第二方法和第三方法是下述方法:将作为基本图像信息的多个BV流并排定位,通过合成并排定位的BV流来形成一个图像,并且将所获取的图像存储在一个轨道中。
在本文中,图39示出了第二方法和第三方法的具体示例。
在图39中,箭头Q81所示的部分示出了第二方法,并且箭头Q82所示的部分示出了第三方法。
换言之,在第二方法中,八个纹理TX111至TX118被并排定位,并且如箭头Q81所示地被合成以形成一个图像PX11。换言之,纹理TX111至TX118被打包在一个图像PX11中。
然后,将这样获取的图像PX11存储在一个轨道中。
四个深度DP111至DP114被并排定位并且被合成以形成一个图像PX12,并且该图像PX12被存储在一个轨道中。
相比之下,在第三方法中,八个纹理TX111至TX118和四个深度DP111至DP114被并排定位并且被合成以形成一个图像PX13,并且该图像PX13被存储在一个轨道中。
要注意的是,在下文中,通过对纹理和深度进行打包而获取的并且存储在轨道中的一个图像也被称为存储图像。另外,在存储图像上的一个BV流的区域(即,诸如纹理或深度的一个BV流的图像的区域)也被称为图像区域。
如上所述,纹理和深度被并排定位并且被合成,这使得可以将纹理和深度作为一个图像存储在轨道中。更具体地,在对BV流进行编码时,通过预定编码***对存储图像进行编码,并且将得到的编码数据存储在轨道中。另外,在对BV流进行解码时,对存储图像的编码数据进行解码,并且从获取的存储图像中提取BV流。这使得服务器和客户端可以通过诸如HEVC和AVC的通用编码***(编解码器)对存储图像(即,存储图像中包括的纹理和深度)进行编码和解码。
例如,在如第二方法和第三方法中那样将多个纹理和多个深度共同存储在轨道中的情况下,流获取期间的可伸缩性丢失,但是存在可以减少要获取的流的数目并且减少网络处理开销的优点。即,多个BV流被存储在一个轨道中;因此,虽然不能选择性地获取BV流中的一些BV流,但是可以在一个处理中获取多个BV流。
在本技术中,考虑到三种情况(即,上述第一方法至第三方法)来重新定义鸟瞰信息框,以便用信号传递存储在轨道中的BV流的信息。
该鸟瞰信息框是在对BV流进行解码之后的呈现期间要使用的信息,并且用信号传递指示纹理和深度如何被打包在存储在轨道中的流中的信息。
例如,在图34所示的文件中,鸟瞰信息框被存储在以ISOBMFF定义的受限方案信息框(‘rinf’)或方案信息框(‘schi’)中。
在本文中,图40示出了鸟瞰信息框的语法示例,并且图41示出了鸟瞰信息框的语义。
在图40所示的示例中,鸟瞰信息框包括参数stream_num、stream_type、stream_left[i]、stream_top[i]、stream_width[i]、stream_height[i]、stream_type[i]、IntrinsicCameraParameters(i)和ExtrinsicCameraParametersBox(i)。
如图41所示,stream_num指示包括在轨道中的纹理和深度的总数(即,包括在存储图像中的BV流的总数)。
streams_type指示存储在轨道中的存储图像的图像配置信息。
也就是说,在本文中,streams_type的值为0的情况指示在轨道中存在纹理和深度二者。即,存储在轨道中的存储图像包括例如纹理和深度,如图39中的箭头Q82所示。
streams_type的值为1的情况指示在轨道中仅存在纹理,并且streams_type的值为2的情况指示在轨道中仅存在深度。streams_type的值“3”被保留。
特别地,在streams_type的值为1或2的情况下,streams_type是指示存储图像中的BV流中的每一个的类型的信息。
stream_left[i]指示打包在轨道中的存储图像中的纹理和深度的每个图像区域的左上像素的水平位置。stream_top[i]指示打包在轨道中的存储图像中的纹理和深度的每个图像区域的左上像素的竖直位置。
stream_width[i]指示打包在轨道中的存储图像中的纹理和深度的每个图像区域的宽度。另外,stream_height[i]指示打包在轨道中的存储图像中的纹理和深度的每个图像区域的高度。
可以指定存储图像中的纹理和深度的每个图像区域的位置和大小,即,通过上述的stream_left[i]、stream_top[i]、stream_width[i]和stream_height[i]来指定哪个区域是图像区域。因此,可以说,stream_left[i]、stream_top[i]、stream_width[i]和stream_height[i]是用于指定存储图像上的BV流的每个图像区域的信息。
stream_type[i]是指示打包在轨道中的存储图像中的每个图像区域的类型的信息(即,位于图像区域中的BV流中的每一个的类型)。例如,stream_type[i]的值为0的情况指示图像区域是纹理的图像区域,并且stream_type[i]的值为1的情况指示图像区域是深度的图像区域。stream_type[i]的除了0和1之外的值被保留。
要注意的是,仅在stream_type的值为0的情况下,即,在纹理的图像区域和深度的图像区域在存储图像上混合的情况下,将stream_type[i]存储在鸟瞰信息框中。
IntrinsicCameraParameters(i)指示用于打包在轨道中的存储图像中的纹理和深度的固有摄像装置参数(诸如焦距和主点信息)。例如,IntrinsicCameraParameters(i)是多视图获取信息SEI(补充增强信息)的信息。
ExtrinsicCameraParametersBox(i)指示外在摄像装置参数,诸如在打包在轨道中的存储图像中的纹理和深度的拍摄期间摄像装置的旋转和位置信息。ExtrinsicCameraParametersBox(i)是例如多视图获取信息SEI的信息等。
可以通过IntrinsicCameraParameters(i)和ExtrinsicCameraParametersBox(i)来指定对应纹理或深度的可显示区域(覆盖)。换言之,可以说,IntrinsicCameraParameters(i)和ExtrinsicCameraParametersBox(i)是指示纹理或深度的可显示区域的可显示区域信息。
stream_left[i]、stream_top[i]、stream_width[i]、stream_height[i]、stream_type[i]、IntrinsicCameraParameters(i)和ExtrinsicCameraParametersBox(i)以与存储图像中的图像区域的数目相同的数目存储。即,针对每个图像区域存储这些参数。
要注意的是,stream_left[i]、stream_top[i]、stream_width[i]和stream_height[i]可以是指示每个图像区域相对于包括在轨道中的整个存储图像的视角的位置、宽度、高度等的相对值,而不是以像素为单位进行信号传递。
在本文中,作为具体示例,图42示出了在图39所示的图像PX13作为存储图像存储在一个轨道中的情况下鸟瞰信息框的信号传递示例。要注意的是,在图42中,与图39中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在将图42所示的图像PX13作为存储图像存储在一个轨道中的情况下,图像PX13包括八个纹理和四个深度,并且包括在图像PX13中的纹理和深度的图像区域的数目为12。因此,鸟瞰信息框中的stream_num的值是12,并且streams_type的值是0。
此外,注意图像PX13的位于图42中的左上处的纹理TX111,并且假设图42中的纹理TX111的横向宽度和高度分别为480个像素和960个像素。
在这种情况下,对于纹理TX111,stream_left[i]的值为0,stream_top[i]的值为0,stream_width[i]的值为480,stream_height[i]的值为960,以及stream_type[i]的值为0。
参考这样的鸟瞰信息框使得客户端可以指定每个轨道中的存储图像中的纹理和深度的图像区域以及图像区域的BV流的类型,并且可以从存储图像中正确地提取纹理和深度。
如上所述,在纹理和深度被共同存储在一个轨道中的情况下,可以将BV流存储在轨道中以允许构建如从至少特定视点位置观看的3D模型。这样做使得客户端可以选择一个轨道并且仅使用存储在所选择的轨道中的BV流来再现BV内容。
在用信号传递鸟瞰信息框的情况下,文件生成设备11执行与第三实施方式中的上传处理类似的上传处理。
注意,在步骤S12中,例如,生成包括图40所示的鸟瞰信息框的文件,并且基于该文件来生成分段文件。
另外,在用信号传递鸟瞰信息框的情况下,客户端设备71执行参照图38描述的BV内容再现处理。
在这种情况下,例如,在步骤S86中,参考鸟瞰信息框使得分段文件处理器111可以识别存储在轨道中的BV流中的每一个的类型。
另外,参考鸟瞰信息框使得分段文件处理器111不仅可以识别每个BV流的类型,而且可以识别存储图像上的每个BV流的区域(图像区域)。因此,分段文件处理器111将这种识别的这些结果提供给显示信息生成器113,这使得显示信息生成器113可以从经解码的存储图像中提取再现BV内容所需的BV流。
<关于质量排名的信号传递>
可以新定义鸟瞰质量排名框以用信号传递质量排名,该质量排名是指示存储在轨道或BV内容中的BV流的质量(quality)的信息。
例如,在鸟瞰质量排名框用信号传递存储在轨道中的BV流的质量排名的情况下,如果鸟瞰质量排名框被存储在可视样本条目中就足够了。
在这种情况下,质量排名是指示每个BV流在其中存储了用于再现同一BV内容的BV流的轨道之间(即,在用于再现同一BV内容的多个BV流之间)的相对质量(quality)的质量信息。
另外,例如,在鸟瞰质量排名框用信号传递BV内容的质量排名的情况下,如果鸟瞰质量排名框被存储在鸟瞰组框中就足够了。
在这种情况下,质量排名是指示每个BV内容在多个BV内容中的相对质量(quality)的质量信息。
这样做使得客户端可以基于质量排名来执行对包括在其中用户的视野区域具有高图像质量等的BV内容中的轨道(BV流)的选择。
在本文中,鸟瞰质量排名框的语法和语义的示例在图43和图44中示出。
图43示出了鸟瞰质量排名框的语法示例。
在该示例中,鸟瞰质量排名框包括参数num_regions、remaining_area_flag、stream_type、quality_ranking、center_yaw、center_pitch、center_roll、hor_range和ver_range。
在本文中,参数quality_ranking指示质量排名的值,并且指示在quality_ranking的值为1或更大的情况下,该值越小,质量越高。
另外,其他参数的语义如图44中所示。
也就是说,参数num_regions是指示用信号传递其质量排名的区域的数目的信息。
参数remaining_area_flag是用于指定作为应用由quality_ranking指示的质量排名的值的范围的区域的标志信息。
在本文中,在参数“remaining_area_flag”为0的情况下,用信号传递其质量排名的每个区域(即,作为应用了质量排名的值的范围的每个区域)是由参数center_yaw、center_pitch、center_roll、hor_range和ver_range确定的区域。
相比之下,在参数remaining_area_flag的值为1的情况下,在鸟瞰质量排名框中描述的并且用信号传递其质量排名的从第一区域至倒数第二区域中的每个区域是由参数center_yaw、center_pitch、center_roll、hor_range和ver_range确定的区域。
然后,在鸟瞰质量排名框中描述的并且用信号传递其质量排名的最后一个区域是不被包括在由相应BV流的可显示区域的用信号传递的参数center_yaw、center_pitch、center_roll、hor_range和ver_range确定的区域中的整个剩余区域部分。即,未被包括在BV流的可显示区域的从第一个区域至倒数第二个区域的区域中的剩余区域是用信号传递其质量排名的最后一个区域。
要注意的是,在下文中,将诸如BV内容和纹理或深度的BV流的可显示区域中的作为质量排名的目标的区域也称为目标区域。可以说,参数remaining_area_flag是指示目标区域的信息。
stream_type是指示用信号传递其质量排名的区域的图像信息(即目标区域的类型)的信息。例如,stream_type的值为0的情况指示目标区域是纹理的区域,而stream_type的值为1的情况指示目标区域是深度的区域。另外,stream_type的值为2的情况指示目标区域是BV内容的区域,并且stream_type的值“3”被保留。
参数center_yaw指示如从3D模型的中心位置观看的指示目标区域的中心位置的偏航角(yaw angle)。另外,参数center_pitch指示如从3D模型的中心位置观看的指示目标区域的中心位置的俯仰角(pitch angle),并且参数center_roll指示如从3D模型的中心位置观看的目标区域的中心位置的滚动角(roll angle)(即,目标区域的旋转角度)。
此外,参数hor_range指示如从3D模型的中心位置观看的目标区域的水平角度范围,并且参数ver_range指示如从3D模型的中心位置观看的目标区域的竖直角度范围。
这些参数center_yaw、center_pitch、center_roll、hor_range和ver_range指定目标区域。即,目标区域是由例如球体的中心和球体上的四个圆包围的区域,每个圆的中心与球体的中心一致,如参照图6描述的可显示区域中那样,并且特别地,目标区域是与可显示区域相同的区域或者是可显示区域的部分区域。
如上所述,在鸟瞰质量排名框中,针对BV内容或者BV流中的可显示区域中的每个目标区域或每多个目标区域用信号传递质量排名。
要注意的是,在本文中,如从3D模型的内部(即3D模型的中心)观看的区域作为目标区域用信号传递,但是如从3D模型的外部(即用作预定基准的视点位置)观看的区域可以作为目标区域用信号传递。
在如上所述用信号传递鸟瞰质量排名框的情况下,文件生成设备11执行与第三实施方式中的上传处理类似的上传处理。
注意,在步骤S12中,例如,生成包括图43所示的鸟瞰质量排名框的文件,并且基于该文件来生成分段文件。
另外,在鸟瞰质量排名框被用信号传递的情况下,客户端设备71执行参照图38描述的BV内容再现处理。
在这种情况下,在步骤S85中,例如,分段文件处理器111可以参考存储在鸟瞰组框中的鸟瞰质量排名框,并且选择其中与用户的视野对应的区域具有高图像质量的BV组。
类似地,例如,即使在步骤S87中,分段文件处理器111也可以参考存储在可视样本条目中的鸟瞰质量排名框,并且选择其中与用户的视野对应的区域具有高图像质量的BV流。
要注意的是,例如,可以在图34中示出的受限方案信息框(‘rinf’)或方案信息框(schi’)中用信号传递图37中示出的鸟瞰覆盖信息框。
这样做使得可以用信号传递例如存储在每个轨道中的BV流(即,诸如仅纹理或仅深度的每个BV流)的可显示区域。另外,在BV内容中包括的纹理和深度被存储在一个轨道中的情况下,可以用信号传递BV内容的可显示区域。此外,可以以打包在轨道中的存储图像中的纹理和深度的图像区域为单位用信号传递可显示区域。
<第三实施方式的修改例2>
<关于轮廓的存储>
第一实施方式的修改例3中描述的轮廓(即轮廓图像)可以通过扩展上述鸟瞰信息框而存储在参照图34描述的文件(文件格式)中。轮廓的有用性如第一实施方式的修改例3中所述。
如与纹理和深度一样,在将轮廓共同存储在一个轨道中的情况下,丢失了流获取期间的可伸缩性,但是存在可以减少要获取的流的数目并且减少网络处理开销的优点。
在将轮廓存储在轨道中的情况下,例如,鸟瞰信息框的语法与图40中所示的相同,但是语义如图45中所示。
在图45所示的示例中,stream_num指示包括在轨道中的纹理、深度和轮廓的总数(即,包括在存储图像中的BV流的总数)。
在本文中,要注意的是,假设BV流的类型不仅包括仅轮廓的BV流,而且还包括包含轮廓的深度的BV流。在下文中,包括轮廓的深度被具体地称为具有轮廓的深度。
在本文中,纹理、深度、具有轮廓的深度以及轮廓中的至少一种类型的BV流被存储在每个轨道中。
另外,streams_type指示存储在轨道中的存储图像的图像配置信息。
在本文中,例如,streams_type的值为0的情况指示在轨道中存在纹理、深度、具有轮廓的深度和轮廓中的至少两个或更多个。
streams_type的值为1的情况指示在轨道中仅存在纹理,并且streams_type的值为2的情况指示在轨道中仅存在深度。
streams_type的值为3的情况指示在轨道中仅存在具有轮廓的深度,并且streams_type的值为4的情况指示在轨道中仅存在轮廓。Streams_type的其他值(除0至4之外的值)被保留。
另外,在图45所示的示例中,stream_left[i]、stream_top[i]、stream_width[i]和stream_height[i]与图41所示的示例中的对应参数相同。
stream_type[i]是指示打包在轨道中的存储图像中的每个图像区域的类型的信息。例如,stream_type[i]的值为0的情况指示图像区域是纹理的图像区域,并且stream_type[i]的值为1的情况指示图像区域是深度的图像区域。
stream_type[i]的值为3的情况指示图像区域是具有轮廓的深度的图像区域,并且stream_type[i]的值为4的情况指示图像区域是轮廓的图像区域。stream_type[i]的除了0至4之外的值被保留。
此外,IntrinsicCameraParameters(i)和ExtrinsicCameraParametersBox(i)与图41中所示的示例中相同。
在图45所示的示例中,在ExtrinsicCameraParametersBox(i)(即,深度和轮廓的外在摄像装置参数)相同的情况下,深度和轮廓是具有相同视点位置等(即,相同可显示区域)的深度和轮廓,并且被配对。
换言之,具有与预定深度相同的外在摄像装置参数的轮廓是与预定深度对应的轮廓,并且使用这种轮廓使得可以从预定深度仅提取3D模型(前景)部分的信息。因此,在这种情况下,可以说,外在摄像装置参数是使深度和轮廓彼此相关联(相关)的信息。
要注意的是,可以使用以ISOBMFF定义的轨道参考框使仅包括轮廓的轨道与包括与该轮廓相关联的深度的轨道相关联(相关)。在这种情况下,在存储在轨道参考框中的轨道参考类型框中,reference_type="silh"被重新定义,并且仅包括轮廓的轨道和包括深度的轨道彼此相关联。
如上所述,在具有轮廓的深度和轮廓也被存储在轨道中的情况下,文件生成设备11执行与第三实施方式中的上传处理类似的上传处理。
注意,在步骤S12中,例如,生成图45所示的语义中的图40所示的鸟瞰信息框。然后,除了获取的鸟瞰信息框之外,还生成包括其中存储了轮廓、具有轮廓的深度等的轨道等的文件,并且基于该文件来生成分段文件。
另外,在具有轮廓的深度和轮廓也被存储在轨道中的情况下,客户端设备71执行参照图38描述的BV内容再现处理。
在这种情况下,在步骤S89中,除了纹理和深度之外,还适当地使用轮廓来生成用于再现BV内容的3D模型的图像。
<第三实施方式的修改例3>
<关于打包BV流的方法>
顺便提及,如第三实施方式的修改例1中所述,在多个BV流被打包在一个流(存储图像)中并且存储在轨道中的情况下,执行特定打包使得可以实现诸如编码效率的提高以及利于与客户端(用户)的视野对应的处理的效果。
BV流的四种有效打包技术及其优点描述如下。要注意的是,在任何一种技术中,都可以用信号传递打包信息(即与鸟瞰信息框中的各个BV流相关的信息等)。
具体地,作为BV流的有效打包技术,描述了下面的第一至第四打包技术。
(第一打包技术)
视点位置彼此接近的纹理被相邻定位并且被打包。
(第二打包技术)
纹理和深度的重要区域的分辨率被增强,并且区域被打包。
(第三打包技术)
图像区域被定位成使彼此对应的纹理和深度相邻地定位并且被打包。
(第四打包技术)
图像区域被定位成使具有相同方向的纹理、深度和轮廓相邻定位并且被打包。
首先,描述这些打包技术中的第一打包技术。
例如,如图46中的箭头Q101所示,假设摄像装置CMR11至CMR18被定位成围绕前景(即,用作3D模型的对象OBJ11)。
然后,假设图像由位于彼此不同位置处的摄像装置CMR11至CMR18捕获,并且生成与摄像装置CMR11至CMR18的各个视点位置对应的纹理TX131至TX138。在本文中,例如,由摄像装置CMR11捕获的图像被直接称为纹理TX131。
在这种情况下,在第一打包技术中,如箭头Q102所示,视点位置彼此接近的纹理被相邻定位并且被打包,以形成一个存储图像。
特别地,在本文中,位于存储图像上的纹理中的、具有彼此最接近的视点位置的纹理被相邻定位在存储图像上。也就是说,纹理从图中的左侧到图中的向右方向按照纹理TX131至TX138的顺序并排定位,以形成一个存储图像。
在本文中,例如,彼此相邻并排定位的纹理TX131和纹理TX132是纹理TX131至TX138中的、视点位置彼此最接近的纹理。
因此,在执行打包以使得视点位置彼此接近的纹理被相邻定位的情况下,例如,使用彼此相邻的纹理之间的参考关系执行编码(encoding)使得可以提高编码效率。
具体地,例如,上述纹理TX131和纹理TX132具有彼此接近的视点位置;因此,纹理TX131与纹理TX132之间的像素的像素值的差变小。因此,例如,在要对存储图像中的纹理TX132的图像区域的一部分进行编码的情况下,使用纹理TX131与纹理TX132之间的参考关系(即,使用纹理TX131与纹理TX132之间的差)来执行编码,这使得可以减少通过编码而获取的数据的编码量。这使得可以提高编码效率。
此外,在存储图像的编码期间,例如,将视点位置彼此接近的纹理共同编码为HEVC片(tile)使得可以根据客户端的视野(即,用户的视野)对相应纹理和视野周围的纹理独立地解码(decode),并且执行呈现。在本文中,HEVC片是允许独立地对其执行编码和解码的处理单元。
要注意的是,尽管这里描述了使用纹理的示例,但是第一打包技术也适用于深度、轮廓等。
要注意的是,由摄像装置实际捕获的图像本身可以用作纹理,但是可以根据由摄像装置捕获的多个图像等来生成纹理。例如,可以预先构建3D模型,然后可以基于所构建的3D模型来生成作为视点位置的虚拟摄像装置位置处的纹理、深度或轮廓。
接下来,描述第二打包技术。
例如,如图47中所示,假设纹理TX131'、纹理TX132至TX134、纹理TX135'和纹理TX136到TX138被打包在一个存储图像中。在图47中,与图46中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图47中,纹理TX131'和纹理TX135'是与图46中所示的纹理TX131和纹理TX135的视点位置相同的视点位置处的纹理。
在本文中,纹理TX131'和纹理TX135'是仅在尺寸(即,来自纹理TX131和纹理TX135的纹理图像的分辨率)上不同的图像。
特别地,纹理TX131'是对象(3D模型)的前侧(正面)的图像,而纹理TX135'是对象的背面的图像。
在该示例中,假设3D模型的正面和背面比其他侧面等更重要。
因此,认为本文中的纹理TX131'和纹理TX135'的可显示区域在重要性上高于除纹理TX131'和纹理TX135'以外的纹理TX132至TX134和纹理TX136到TX138的可显示区域。
因此,纹理TX131'和纹理TX135'的分辨率高于除纹理TX131'和纹理TX135'以外的纹理TX132至TX134和纹理TX136至TX138的分辨率。也就是说,纹理TX131'和纹理TX135'是高分辨率纹理图像,而纹理TX132至TX134和纹理TX136到TX138是低分辨率纹理图像。
然后,纹理TX131'、纹理TX135'、纹理TX132至TX134以及纹理TX136至TX138被并排定位,以形成一个存储图像。
如上所述,在第二打包技术中,具有不同分辨率(尺寸)的纹理被定位存储图像上。这样做使得可以使重要区域具有高分辨率,并且可以在不损害用户的观看体验的质量的情况下减小其中存储BV流的文件的大小。这例如在经由网络的文件传输中是有利的。
要注意的是,尽管这里描述了使用纹理的示例,但是第二打包技术也适用于深度、轮廓等。
接下来,描述第三打包技术。
在第三打包技术中,例如,如图48所示,彼此对应的纹理和深度(即具有相同视点位置(可显示区域)的纹理和深度)被相邻定位并且被打包。要注意的是,在图48中,与图46中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图48中示出的示例中,纹理TX131、纹理TX133、纹理TX135和纹理TX137以及与这些纹理对应的深度DP131至DP134被并排定位以形成一个存储图像。
在本文中,特别地,彼此对应的纹理TX131与深度DP131被相邻定位,彼此对应的纹理TX133与深度DP132被相邻定位,彼此对应的纹理TX135与深度DP133被相邻定位,并且彼此对应的纹理TX137与深度DP134被相邻定位。
在这种情况下,对包括诸如纹理TX131和深度DP131的彼此对应的一对纹理和深度作为HEVC片的存储图像进行编码。
例如,这样做使得可以将通过解码而获取的纹理和深度用于除BV内容再现之外的应用,例如在根据用户的视野对一对纹理和深度进行独立地解码的情况下,仅立体显示纹理和深度的可显示区域。例如,即使客户端不支持BV内容再现,只要客户端支持使用深度的立体显示,就可以容易地执行与视野对应的图像的立体显示。
此外,描述第四打包技术。
在第四打包技术中,例如,如图49所示,具有相同的方向(即,具有基本上相同的可显示区域)的纹理、深度和轮廓被相邻定位并被打包。在本文中,相同的方向意味着如从BV流的视点位置观看的3D模型的方向基本上相同。
在图49中,与图46中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图49中示出的示例中,纹理TX131、纹理TX133、纹理TX135和纹理TX137以及与这些纹理对应的深度DP141至DP144和轮廓SI141至SI144被并排定位以形成一个存储图像。
特别地,例如,彼此对应(即,具有相同方向)的纹理TX131、深度DP141和轮廓SI141被相邻定位。类似地,彼此对应的纹理TX133、深度DP142和轮廓SI142被相邻定位,彼此对应的纹理TX135、深度DP143和轮廓SI143被相邻定位,并且彼此对应的纹理TX137、深度DP144和轮廓SI144被相邻定位。
如上所述,在第四打包技术中,纹理以及与该纹理对应(即,具有相同方向)的深度和轮廓被相邻定位在存储图像上。
另外,在本文中,深度和轮廓具有比纹理相对低的分辨率。由于在3D模型的配置期间,纹理对3D模型的图像质量的贡献是主导的;因此,使深度和轮廓具有相对低的分辨率使得可以在不损害用户的观看体验的质量的情况下减小其中存储BV流的文件的大小。
此外,在编码期间使彼此对应的深度和轮廓具有参考关系使得可以提高编码效率。这例如在经由网络的文件传输中是有利的。
<关于图像区域的重定位>
此外,例如,还可以预先确定默认打包技术,基于默认打包技术来执行区域重定位,然后实施另一打包。
作为具体示例,例如,可以将上述第一打包技术设置为预定打包技术(即默认打包技术),适当地执行区域重定位,然后不是通过第一打包技术而是通过第二打包技术来执行打包。
在这种情况下,例如,通过每种打包技术的BV流的图像区域的位置如图50所示。在图50中,与图46中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图50所示的情况下,具有相同分辨率的纹理TX131至TX138通常被并排定位,如图中的左侧所示,以形成一个存储图像。即,通过上述第一打包技术进行打包。在下文中,通过第一打包技术生成的一个存储图像被具体地称为投影图片。
如上所述,基本上,通过第一打包技术生成投影图片,并且所获取的投影图片被存储在轨道中。然而,在一些情况下,期望增加一些纹理的分辨率。
在这种情况下,改变各个纹理的位置(即,执行区域重定位),并且通过第二打包技术执行打包,如图50中的右侧所示。也就是说,纹理TX131和纹理TX135的分辨率被增加以获得均具有较高分辨率的纹理TX131'和纹理TX135'。
纹理TX131'、纹理TX132至TX134、纹理TX135'和纹理TX136至TX138与位于第一打包技术中的纹理不同地被并排定位,以形成一个存储图像。在下文中,通过第二打包技术生成的一个存储图像被具体地称为打包图片。
在该示例中,BV流(纹理)在存储在轨道中的存储图像上的位置是由预先被确定为默认技术的第一打包技术确定的位置或者由第二打包技术确定的位置。特别地,在已经执行了区域重定位的情况下,存储在轨道中的存储图像是打包图片,并且纹理在打包图片上的位置是通过第二打包技术确定的位置。
顺便提及,投影图片和打包图片在各个纹理的位置关系(即图像区域的位置关系)方面彼此不同。
例如,在投影图片中的位置是默认位置的情况下,客户端已经知道了纹理在投影图片上的位置。因此,客户端可以从投影图片中正确地提取每个纹理并且执行呈现。
然而,在执行区域重定位并且打包图片被存储在轨道中的情况下,除非当执行呈现时可以指定存储图像上的哪个区域对应于哪个纹理,否则客户端不可能正确地提取纹理。
因此,在本技术中,在执行区域重定位的情况下,指示重定位前后的纹理的位置之间的关系的信息被作为区域重定位信息用信号传递。
具体地,例如,如图51所示的经扩展的RegionWisePackingBox可以用于用信号传递区域重定位信息。
图51中所示的RegionWisePackingBox被存储在例如轨道框、轨道框中的任何框等中。RegionWisePackingBox包括RegionWisePackingStruct,并且该RegionWisePackingStruct的语法如图52中所示。
在图52所示的RegionWisePackingStruct中,存储参数num_regions、proj_picture_width、proj_picture_height和packing_type[i]。此外,RectRegionPacking(i)也被存储在RegionWisePackingStruct中。
图53示出了例如RectRegionPacking(i)的语法。
在图53所示的RectRegionPacking(i)中,存储参数content_type、stream_type、IntrinsicCameraParameters(i)、ExtrinsicCameraParametersBox(i)、proj_reg_width(i)、proj_reg_height(i)、proj_reg_top(i)、proj_reg_left(i)、packed_reg_width[i]、packed_reg_height(i)、packed_reg_top(i)、packed_reg_top[i]和packed_reg_left(i)。
RegionWisePackingBox(具体而言是RegionWisePackingBox中的RegionWisePackingStruct)是区域重定位信息,并且RegionWisePackingStruct和RectRegionPacking(i)的语义如图54中所示。
即,参数num_regions指示包括在存储图像中的图像区域的数目(即BV流的区域的数目)。
参数proj_picture_width指示重定位之前的投影图片的宽度,并且参数proj_picture_height指示重定位之前的投影图片的高度。
参数packing_type[i]指示包括在RegionWisePackingStruct中的第i个区域的按区域打包(即,与第i个RectRegionPacking(i)对应的BV流的图像区域的类型)。
具体地,packing_type[i]的值为0的情况指示图像区域是矩形区域(即,矩形区域的打包)。要注意的是,packing_type[i]的除了0之外的值被保留。
参数content_type指示内容的类型。例如,content_type的值为0的情况指示内容是全向图像,而content_type的值为1的情况指示内容是鸟瞰图像(即BV内容)。
参数stream_type指示图像区域的图像类型。
具体地,stream_type的值为0的情况指示图像区域是纹理(纹理图像),而stream_type的值为1的情况指示图像区域是深度(深度图像)。
另外,stream_type的值为2的情况指示图像区域是具有轮廓的深度(包括轮廓的深度图像),并且stream_type的值为3的情况指示图像区域是轮廓(轮廓图像)。stream_type的除了0至3之外的值被保留。
参考该stream_type使得客户端可以指定在RegionWisePackingStruct中用信号传递的第i个图像区域是BV流的哪种类型(诸如纹理或深度)。
参数IntrinsicCameraParameters(i)指示第i个图像区域的固有摄像装置参数(例如焦距和主点信息)。
参数IntrinsicCameraParameters(i)是例如多视图获取信息SEI的信息。
参数ExtrinsicCameraParametersBox(i)指示外在摄像装置参数(诸如在第i个图像区域的拍摄期间摄像装置的旋转和位置信息)。
ExtrinsicCameraParametersBox(i)是例如多视图获取信息SEI的信息等。
可以通过IntrinsicCameraParameters(i)和ExtrinsicCameraParametersBox(i)指定存储在相应图像区域中的纹理或深度的可显示区域(覆盖)。
参数proj_reg_width[i]指示投影图片上的第i个图像区域的宽度,并且参数proj_reg_height[i]指示投影图片上的第i个图像区域的高度。
另外,参数proj_reg_top[i]指示第i个图像区域的左上像素在投影图片上的竖直位置,并且参数proj_reg_left[i]指示第i个图像区域的左上像素在投影图片上的水平位置。
可以通过这些参数proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]来指定第i个图像区域在投影图片上的位置和大小。即,可以在重定位之前指定第i个图像区域的位置和大小。
因此,可以说,proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]是在BV流被布置在由默认的第一打包技术确定的位置中的情况下用于在存储图像(投影图片)上指定BV流的图像区域的信息。
参数packed_reg_width[i]指示第i个图像区域在打包图片上的宽度,并且参数packed_reg_height[i]指示第i个图像区域在打包图片上的高度。
另外,参数packed_reg_top[i]指示第i个图像区域的左上像素在打包图片上的竖直位置,并且参数packed_reg_left[i]指示第i个图像区域的左上像素在打包图片上的水平位置。
可以通过这些参数packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]来指定第i个图像区域在打包图片上的位置和大小。即,可以指定重定位后的第i个图像区域的位置和大小。
因此,可以说,在区域重定位中BV流被布置在通过第二打包技术确定的位置中的情况下,packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]是用于在存储图像(打包图片)上指定BV流的图像区域的信息。
在本文中,作为具体示例,图55示出了在图50所示的打包图片作为存储图像被存储在一个轨道中的情况下的RegionWisePackingBox的信号传递示例。要注意的是,在图55中,与图50中的部分对应的部分由相同的附图标记表示,并且适当地省略其描述。
在图55所示的示例中,通常通过如箭头Q131所示使纹理并排定位而形成的投影图片被改变为通过使纹理的图像区域重定位来如箭头Q132所示使纹理重定位而形成的打包图片。
在这种情况下,包括纹理等的内容是BV内容;因此,RegionWisePackingBox中存储的content_type的值是指示BV内容的“1”。另外,图像区域是纹理的BV流的区域;因此,stream_type的值被设置为“0”。
此外,注意位于投影图片的图中的左端的纹理TX131,并且假设图中的纹理TX131的横向宽度和高度分别为480个像素和960个像素。此外,假设纹理TX131的左上像素的竖直位置是指示投影图片的最上部分的“0”,并且纹理TX131的左上像素的水平位置是指示投影图片的最左部分的“0”。
在这种情况下,对于重定位之前的纹理TX131的图像区域,RectRegionPacking(i)中的proj_reg_width[i]的值是480,proj_reg_height[i]的值是960,proj_reg_top[i]的值是0,并且proj_reg_left[i]的值是0。
还假设重定位纹理TX131之后的纹理是纹理TX131',并且图中纹理TX131'的横向宽度和高度分别为960像素和1920像素。此外,假设纹理TX131'的左上像素的竖直位置是指示打包图片的最上部分的“0”,并且纹理TX131'的左上像素的水平位置是指示打包图片的最左部分的“0”。
在这种情况下,对于重定位之后的纹理TX131'的图像区域,RectRegionPacking(i)中的packed_reg_width[i]的值是960,packed_reg_height[i]的值是1920,packed_reg_top[i]的值是0,并且packed_reg_left[i]的值是0。
如上所述,参考RegionWisePackingBox使得客户端可以指定重定位之前的纹理TX131与重定位之后的纹理TX131'之间的对应关系、纹理TX131'在重定位之后的打包图片上的位置和大小等。
要注意的是,已经作为示例描述了纹理的区域重定位,但是深度和轮廓的图像区域的区域重定位也是可以的,如在纹理的情况下那样。
在本技术中,使用这种RegionWisePackingBox使得可以根据内容特征等来选择适当的打包技术。
在执行如上所述的通过第一至第四打包技术的打包和图像区域的区域重定位的情况下,文件生成设备11执行与第三实施方式中的上传处理类似的上传处理。
注意,在步骤S12中,BV流根据第一至第四打包技术或者在图像区域的区域重定位中的打包技术被适当地打包在存储图像中,并且被存储在轨道中。
另外,在执行区域重定位的情况下,生成其中存储了RegionWisePackingBox的文件,并且基于该文件来生成分段文件。
此外,在执行通过第一至第四打包技术的打包和图像区域的区域重定位的情况下,客户端设备71执行参照图38描述的BV内容再现处理。
在这种情况下,例如,在执行图像区域的区域重定位的情况下,在步骤S86中,分段文件处理器111参考RegionWisePackingBox来指定重定位前后的图像区域之间的位置关系。然后,显示信息生成器113基于这样指定的结果,从轨道中提取诸如纹理的BV流。
另外,在执行通过第一至第四打包技术的打包的情况下,分段文件处理器111参考鸟瞰信息框以识别BV流中的每一个的图像区域。
如上所述,在第三实施方式至第三实施方式的修改例3中,即使在BV流被存储在ISOBMFF的文件中的轨道中的情况下,对轨道进行分组也使得可以容易地选择其中存储了观看BV内容所需的BM流的轨道。
另外,多个BV流被打包在一个流(即,一个存储图像)中,并且被存储在轨道中,这使得可以减少要获取的流的数目,并且减少网络处理开销。此外,通过如第三实施方式的修改例3中描述的打包技术执行打包使得可以提高编码效率并且容易地执行与客户端(用户)的视野对应的处理。
<计算机的配置示例>
顺便提及,可以通过硬件或软件执行上述一系列处理。在通过软件执行一系列处理的情况下,将包括在软件中的程序安装在计算机中。本文中的计算机包括并入专用硬件中的计算机或能够通过安装有各种程序来执行各种功能的通用个人计算机等。
图56是示出使用程序执行以上描述的一系列处理的计算机的硬件的配置示例的框图。
在计算机中,CPU(中央处理单元)501、ROM(只读存储器)502和RAM(随机存取存储器)503通过总线504彼此耦接。
输入/输出接口505还耦接至总线504。输入单元506、输出单元507、记录单元508、通信单元509和驱动器510耦接至输入/输出接口505。
输入单元506包括键盘、鼠标、麦克风、成像元件等。输出单元507包括显示器、扬声器等。记录单元508包括硬盘、非易失性存储器等。通信单元509包括网络接口等。驱动器510驱动诸如磁盘、光盘、磁光盘的可移动记录介质511或者半导体存储器。
在如上所述配置的计算机中,CPU 501经由输入/输出接口505和总线504将记录在例如记录单元508中的程序加载到RAM 503中,并且执行程序,从而执行上述一系列处理。
例如,可以通过将程序记录在作为封装介质等的可移动记录介质511中来提供要由CPU 501执行的程序。另外,可以经由诸如局域网、因特网或数字卫星广播的有线或无线传输介质来提供程序。
在计算机中,将可移动介质511安装到驱动器510上使得可以经由输入/输出接口910将程序安装在记录单元508中。另外,可以经由有线或无线传输介质在通信单元509中接收程序并且将程序安装在记录单元508中。另外,可以将程序预先安装在ROM 502或记录单元508中。
要注意的是,由计算机执行的程序可以是其中以在本文中描述的顺序按时间顺序执行处理的程序,或者可以是其中并行地或者在诸如调用处理时的必要定时处执行处理的程序。
另外,本技术的实施方式不限于上述实施方式,并且可以在不脱离本技术的要旨的范围内以各种方式进行修改。
例如,本技术可以采用云计算的配置,其中一种功能经由网络被分配给多个设备并且被协同处理。
此外,例如,可以利用一个设备执行上述流程图中描述的各个步骤,并且还可以将各个步骤分配给多个设备以用于执行。
此外,在一个步骤中包括多个处理的情况下,可以利用一个设备来执行一个步骤中包括的多个处理,并且还可以将多个处理分配给多个设备以用于执行。
此外,本技术可以具有以下配置。
(1)
一种图像处理设备,包括:
文件处理器,其基于用于选择适合于再现3D对象内容的流的组信息,从包括在所述3D对象内容中的多个流中选择要用于再现所述3D对象内容的多个流,文件包括所述组信息。
(2)
根据(1)所述的图像处理设备,还包括获取由所述文件处理器选择的流的获取单元。
(3)
根据(1)或(2)所述的图像处理设备,其中,所述组信息被包括在所述文件中的存储有所述3D对象内容中的每一个的信息的区域中。
(4)
根据(3)所述的图像处理设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容是允许从3D对象的周围观看所述3D对象的内容的信息。
(5)
根据(3)或(4)所述的图像处理设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容的可显示区域的信息。
(6)
根据(1)至(5)中任一项所述的图像处理设备,其中,所述文件包括与由所述组信息指示的流相关的信息以及与是附加的并且不同于由所述组信息指示的流的流相关的信息。
(7)
根据(6)所述的图像处理设备,其中,所述文件针对所述流中的每一个包括指示能够利用所述流来再现的3D对象内容的信息。
(8)
根据(1)至(7)中任一项所述的图像处理设备,其中,所述文件包括指示所述流的类型的信息。
(9)
根据(8)所述的图像处理设备,其中,所述流的类型是纹理、网格、深度、包括轮廓的深度或者轮廓。
(10)
根据(9)所述的图像处理设备,其中,所述文件包括用于使作为所述流的所述深度和所述轮廓彼此相关的信息。
(11)
根据(1)至(10)中任一项所述的图像处理设备,其中,所述文件包括指示所述流的可显示区域的信息。
(12)
根据(1)至(11)中任一项所述的图像处理设备,其中,所述文件包括指示所述流在多个流中的相对质量的质量信息。
(13)
根据(12)所述的图像处理设备,其中,所述文件包括所述流的可显示区域中的每个区域或每多个区域的质量信息。
(14)
一种由图像处理设备执行的图像处理方法,所述方法包括:
基于用于选择适合于再现3D对象内容的流的组信息,从包括在所述3D对象内容中的多个流中选择要用于再现所述3D对象内容的多个流,文件包括所述组信息。
(15)
一种文件生成设备,包括:
文件生成器,其生成包括组信息的文件,所述组信息用于从包括在3D对象内容中的多个流中选择适合于再现所述3D对象内容的流。
(16)
根据(15)所述的文件生成设备,还包括发送所述文件的通信单元。
(17)
根据(15)或(16)所述的文件生成设备,其中,所述组信息被包括在所述文件中的存储有所述3D对象内容中的每一个的信息的区域中。
(18)
根据(17)所述的文件生成设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容是允许从3D对象的周围观看所述3D对象的内容的信息。
(19)
根据(17)或(18)所述的文件生成设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容的可显示区域的信息。
(20)
根据(15)至(19)中任一项所述的文件生成设备,其中,所述文件包括与由所述组信息指示的流相关的信息以及与是附加的并且不同于由所述组信息指示的流的流相关的信息。
(21)
根据(20)所述的文件生成设备,其中,所述文件针对所述流中的每一个包括指示能够利用所述流来再现的3D对象内容的信息。
(22)
根据(15)至(21)中任一项所述的文件生成设备,其中,所述文件包括指示所述流的类型的信息。
(23)
根据(22)所述的文件生成设备,其中,所述流的类型是纹理、网格、深度、包括轮廓的深度或者轮廓。
(24)
根据(23)所述的文件生成设备,其中,所述文件包括用于使作为所述流的所述深度和所述轮廓彼此相关的信息。
(25)
根据(15)至(24)中任一项所述的文件生成设备,其中,所述文件包括指示所述流的可显示区域的信息。
(26)
根据(15)至(25)中任一项所述的文件生成设备,其中,所述文件包括指示所述流在多个流中的相对质量的质量信息。
(27)
根据(26)所述的文件生成设备,其中,所述文件包括所述流的可显示区域中的每个区域或每多个区域的质量信息。
(28)
一种由文件生成设备执行的文件生成方法,所述方法包括:
生成包括组信息的文件,所述组信息用于从3D对象内容中包括的多个流中选择适合于再现所述3D对象内容的流。
附图标记列表
11:文件生成设备
33:MPD文件生成器
35:上传单元
43:分段文件生成器
71:客户端设备
93:MPD文件处理器
94:分段文件获取单元
111:分段文件处理器
113:显示信息生成器

Claims (20)

1.一种图像处理设备,包括:
文件处理器,其基于包括组信息的文件中的所述组信息,选择要用于再现3D对象内容的多个流,所述组信息用于从包括在所述3D对象内容中的多个流中选择适合于再现所述3D对象内容的流。
2.根据权利要求1所述的图像处理设备,其中,所述组信息被包括在所述文件中的存储有所述3D对象内容中的每一个的信息的区域中。
3.根据权利要求2所述的图像处理设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容是允许从3D对象的周围观看所述3D对象的内容的信息。
4.根据权利要求2所述的图像处理设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容的可显示区域的信息。
5.根据权利要求1所述的图像处理设备,其中,所述文件包括与由所述组信息指示的流相关的信息以及与是附加的并且不同于由所述组信息指示的流的流相关的信息。
6.根据权利要求5所述的图像处理设备,其中,所述文件针对所述流中的每一个包括指示能够利用所述流来再现的3D对象内容的信息。
7.根据权利要求1所述的图像处理设备,其中,所述文件包括指示所述流的类型的信息。
8.根据权利要求7所述的图像处理设备,其中,所述流的类型是纹理、网格、深度、包括轮廓的深度或者轮廓。
9.根据权利要求1所述的图像处理设备,其中,所述文件包括指示所述流的可显示区域的信息。
10.根据权利要求1所述的图像处理设备,其中,所述文件包括指示所述流在多个流中的相对质量的质量信息。
11.一种文件生成设备,包括:
文件生成器,其生成包括组信息的文件,所述组信息用于从包括在3D对象内容中的多个流中选择适合于再现所述3D对象内容的流。
12.根据权利要求11所述的文件生成设备,其中,所述组信息被包括在所述文件中的存储有所述3D对象内容中的每一个的信息的区域中。
13.根据权利要求12所述的文件生成设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容是允许从3D对象的周围观看所述3D对象的内容的信息。
14.根据权利要求12所述的文件生成设备,其中,存储有所述3D对象内容中的每一个的信息的区域包括指示所述3D对象内容的可显示区域的信息。
15.根据权利要求11所述的文件生成设备,其中,所述文件包括与由所述组信息指示的流相关的信息以及与是附加的并且不同于由所述组信息指示的流的流相关的信息。
16.根据权利要求15所述的文件生成设备,其中,所述文件针对所述流中的每一个包括指示能够利用所述流来再现的3D对象内容的信息。
17.根据权利要求11所述的文件生成设备,其中,所述文件包括指示所述流的类型的信息。
18.根据权利要求17所述的文件生成设备,其中,所述流的类型是纹理、网格、深度、包括轮廓的深度或者轮廓。
19.根据权利要求11所述的文件生成设备,其中,所述文件包括指示所述流的可显示区域的信息。
20.根据权利要求11所述的文件生成设备,其中,所述文件包括指示所述流在多个流中的相对质量的质量信息。
CN201880057984.3A 2017-09-15 2018-08-31 图像处理设备和文件生成设备 Active CN111095937B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-177381 2017-09-15
JP2017177381A JP7035401B2 (ja) 2017-09-15 2017-09-15 画像処理装置およびファイル生成装置
PCT/JP2018/032326 WO2019054202A1 (ja) 2017-09-15 2018-08-31 画像処理装置およびファイル生成装置

Publications (2)

Publication Number Publication Date
CN111095937A true CN111095937A (zh) 2020-05-01
CN111095937B CN111095937B (zh) 2023-11-14

Family

ID=65723351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880057984.3A Active CN111095937B (zh) 2017-09-15 2018-08-31 图像处理设备和文件生成设备

Country Status (7)

Country Link
US (1) US11051083B2 (zh)
EP (1) EP3684068B1 (zh)
JP (1) JP7035401B2 (zh)
KR (1) KR102545042B1 (zh)
CN (1) CN111095937B (zh)
TW (1) TW201921919A (zh)
WO (1) WO2019054202A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
JP7297439B2 (ja) * 2018-12-19 2023-06-26 キヤノン株式会社 ファイル生成装置及びファイル生成方法、画像生成装置及び画像生成方法、並びにプログラム
GB2582155B (en) * 2019-03-12 2023-12-27 Canon Kk Method, device, and computer program for signaling available portions of encapsulated media content
EP4123588A4 (en) * 2020-03-17 2023-06-07 Sony Group Corporation IMAGE PROCESSING DEVICE AND METHOD FOR GENERATING MOVING IMAGE DATA
KR20220012740A (ko) 2020-07-23 2022-02-04 삼성전자주식회사 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치
CN116636225A (zh) * 2020-12-28 2023-08-22 索尼集团公司 信息处理装置和方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918849A (zh) * 2010-04-08 2013-02-06 索尼公司 信息处理设备、信息记录介质和信息处理方法以及程序
CN103517017A (zh) * 2012-06-22 2014-01-15 精工爱普生株式会社 投影机、图像显示***以及投影机的控制方法
US20150195532A1 (en) * 2013-07-12 2015-07-09 Sony Corporation Image coding apparatus and method
US20160105728A1 (en) * 2013-06-19 2016-04-14 Opticom Dipl.-Ing. Michael Keyhl Gmbh Concept for determining the quality of a media data stream with varying quality-to-bitrate
CN105519130A (zh) * 2013-07-19 2016-04-20 索尼公司 信息处理装置和方法
CN106415711A (zh) * 2014-05-30 2017-02-15 索尼公司 信息处理装置和信息处理方法
US20170118540A1 (en) * 2014-06-27 2017-04-27 Koninklijke Kpn N.V. Determining A Region Of Interest On The Basis Of A HEVC-Tiled Video Stream
WO2017145757A1 (ja) * 2016-02-22 2017-08-31 ソニー株式会社 ファイル生成装置およびファイル生成方法、並びに、再生装置および再生方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110053159A (ko) * 2009-11-13 2011-05-19 삼성전자주식회사 비디오 부가 재생 정보의 3차원 재생을 위한 멀티미디어 스트림 생성 방법과 그 장치, 및 수신 방법과 그 장치
JP5652642B2 (ja) * 2010-08-02 2015-01-14 ソニー株式会社 データ生成装置およびデータ生成方法、データ処理装置およびデータ処理方法
WO2012093714A1 (ja) * 2011-01-07 2012-07-12 シャープ株式会社 再生装置、再生装置の制御方法、生成装置、生成装置の制御方法、記録媒体、データ構造、制御プログラム、及び該プログラムを記録した記録媒体
US9712874B2 (en) * 2011-12-12 2017-07-18 Lg Electronics Inc. Device and method for receiving media content
JP6289478B2 (ja) * 2012-10-12 2018-03-07 キヤノン株式会社 ビデオデータをストリーミングするための方法および対応するデバイス
KR20150012206A (ko) * 2013-07-24 2015-02-03 한국전자통신연구원 3차원 콘텐츠의 부호화 방법 및 장치
US10009643B2 (en) * 2014-03-31 2018-06-26 Blackberry Limited Apparatus and method for processing media content
US9922680B2 (en) * 2015-02-10 2018-03-20 Nokia Technologies Oy Method, an apparatus and a computer program product for processing image sequence tracks
JP6635690B2 (ja) * 2015-06-23 2020-01-29 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US9854375B2 (en) * 2015-12-01 2017-12-26 Qualcomm Incorporated Selection of coded next generation audio data for transport
US10582201B2 (en) * 2016-05-19 2020-03-03 Qualcomm Incorporated Most-interested region in an image
US10313763B2 (en) * 2016-07-29 2019-06-04 Mediatek, Inc. Method and apparatus for requesting and receiving selected segment streams based on projection information
EP3501014A1 (en) * 2016-08-17 2019-06-26 VID SCALE, Inc. Secondary content insertion in 360-degree video
WO2018045098A1 (en) * 2016-08-30 2018-03-08 Sonic Ip, Inc. Systems and methods foe encoding and playing back 360 view video content
GB2554877B (en) 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918849A (zh) * 2010-04-08 2013-02-06 索尼公司 信息处理设备、信息记录介质和信息处理方法以及程序
CN103517017A (zh) * 2012-06-22 2014-01-15 精工爱普生株式会社 投影机、图像显示***以及投影机的控制方法
US20160105728A1 (en) * 2013-06-19 2016-04-14 Opticom Dipl.-Ing. Michael Keyhl Gmbh Concept for determining the quality of a media data stream with varying quality-to-bitrate
US20150195532A1 (en) * 2013-07-12 2015-07-09 Sony Corporation Image coding apparatus and method
CN105519130A (zh) * 2013-07-19 2016-04-20 索尼公司 信息处理装置和方法
CN106415711A (zh) * 2014-05-30 2017-02-15 索尼公司 信息处理装置和信息处理方法
US20170118540A1 (en) * 2014-06-27 2017-04-27 Koninklijke Kpn N.V. Determining A Region Of Interest On The Basis Of A HEVC-Tiled Video Stream
WO2017145757A1 (ja) * 2016-02-22 2017-08-31 ソニー株式会社 ファイル生成装置およびファイル生成方法、並びに、再生装置および再生方法

Also Published As

Publication number Publication date
TW201921919A (zh) 2019-06-01
WO2019054202A1 (ja) 2019-03-21
EP3684068A1 (en) 2020-07-22
EP3684068A4 (en) 2020-07-22
KR102545042B1 (ko) 2023-06-20
JP2019054416A (ja) 2019-04-04
CN111095937B (zh) 2023-11-14
US20200288217A1 (en) 2020-09-10
KR20200051605A (ko) 2020-05-13
US11051083B2 (en) 2021-06-29
JP7035401B2 (ja) 2022-03-15
EP3684068B1 (en) 2021-05-05

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
CN111095937B (zh) 图像处理设备和文件生成设备
CN109691094B (zh) 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置
KR102322508B1 (ko) 스티칭 및 리프로젝션 관련 메타데이터를 이용한 6dof 비디오를 송수신하는 방법 및 그 장치
CN111095938B (zh) 图像处理设备和文件生成设备
KR102258448B1 (ko) 핫스팟 및 roi 관련 메타데이터를 이용한 360도 비디오를 송수신하는 방법 및 그 장치
KR102221301B1 (ko) 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치
US10951871B2 (en) Generation device, identification information generation method, reproduction device, and image reproduction related to stereo packing of projected frames
KR20200000363A (ko) 360도 비디오를 송수신하는 방법 및 그 장치
CN110999312B (zh) 发送360度视频的方法、接收360度视频的方法、发送360度视频的装置和接收360度视频的装置
JP7239029B2 (ja) 画像処理装置およびファイル生成装置

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