JPWO2020116154A1 - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JPWO2020116154A1
JPWO2020116154A1 JP2020559890A JP2020559890A JPWO2020116154A1 JP WO2020116154 A1 JPWO2020116154 A1 JP WO2020116154A1 JP 2020559890 A JP2020559890 A JP 2020559890A JP 2020559890 A JP2020559890 A JP 2020559890A JP WO2020116154 A1 JPWO2020116154 A1 JP WO2020116154A1
Authority
JP
Japan
Prior art keywords
node
information
bit rate
mpd
detail
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
JP2020559890A
Other languages
English (en)
Other versions
JP7484723B2 (ja
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
Sony Group Corp
Original Assignee
Sony Corp
Sony Group 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, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2020116154A1 publication Critical patent/JPWO2020116154A1/ja
Application granted granted Critical
Publication of JP7484723B2 publication Critical patent/JP7484723B2/ja
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/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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
    • H04N21/2353Processing 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. 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/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本開示は、コンテンツ再生のロバスト性を向上させることができるようにする情報処理装置および方法に関する。
3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、そのコンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する。例えば、その情報として、コンテンツの再生を制御する制御ファイルのアクセス情報を含むメタデータを生成する。本開示は、例えば、画像処理装置、画像符号化装置、または画像復号装置等に適用することができる。

Description

本開示は、情報処理装置および方法に関し、特に、コンテンツ再生のロバスト性を向上させることができるようにした情報処理装置および方法に関する。
従来、3次元空間(3D空間とも称する)の3次元オブジェクト(3Dオブジェクトとも称する)を表現する3次元コンテンツ(3Dコンテンツとも称する)の配信が提案された。また、この3Dコンテンツとしては、例えば、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能な6DoFコンテンツが提案された。
6DoFコンテンツの配信方法として、例えば、3D空間を複数の3Dオブジェクトで構成し複数のオブジェクトストリームとして伝送する方法が提案された。そして、その際、例えば、Scene Descriptionという記述法を用いることが提案された。このScene Descriptionとして、シーンをシーングラフと呼ばれるツリー階層構造のグラフで表現し、そのシーングラフをバイナリ形式またはテキスト形式で表現する方法(MPEG-4 Scene Description)が提案された(例えば、非特許文献1参照)。
"ISO/IEC 14496-11", Second Edition, 2015-05-29
しかしながら、伝送帯域に関しては、Scene Descriptionは、伝送帯域に応じてアダプティブに配信する機能を有していない。そのため、Scene Descriptionデータおよびメディアデータを伝送するだけの十分な伝送帯域が確保できる場合は再生が可能であるが、伝送帯域が限られてしまうと、クライアントはデータの取得ができず、再生ができないまたは途切れるといったことが起きるおそれがあった。
本開示は、このような状況に鑑みてなされたものであり、コンテンツ再生のロバスト性を向上させることができるようにするものである。
本技術の一側面の情報処理装置は、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、前記コンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する生成部を備える情報処理装置である。
本技術の一側面の情報処理方法は、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、前記コンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する情報処理方法である。
本技術の一側面の情報処理装置および方法においては、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、そのコンテンツの配信の際にビットレートを選択可能にする情報を含むメタデータが生成される。
シーングラフの例について説明する図である。 ノードの例について説明する図である。 ノードのシンタックスの例について説明する図である。 LODノードの例について説明する図である。 シーングラフの例について説明する図である。 配信システムの主な構成例を示すブロック図である。 ファイル生成装置の主な構成例を示すブロック図である。 クライアント装置の主な構成例を示すブロック図である。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 Scene Descriptionの例について説明する図である。 MPDの例について説明する図である。 Scene Descriptionの例について説明する図である。 MPDの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 Scene Description処理の流れの例を説明するフローチャートである。 レンダリング処理の流れの例を説明するフローチャートである。 Scene Descriptionの例について説明する図である。 MPDの例について説明する図である。 Scene Descriptionの例について説明する図である。 MPDの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 Scene Descriptionの例について説明する図である。 MPDの例について説明する図である。 MPDの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 配信システムの主な構成例を示すブロック図である。 ファイル生成装置の主な構成例を示すブロック図である。 クライアント装置の主な構成例を示すブロック図である。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 ClientSelectionノードの例について説明する図である。 Scene Descriptionの例について説明する図である。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 Scene Description処理の流れの例を説明するフローチャートである。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 MPDの例について説明する図である。 MPDの例について説明する図である。 再生処理の流れの例を説明するフローチャートである。 Scene Description処理の流れの例を説明するフローチャートである。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 MPDの例について説明する図である。 MPDの例について説明する図である。 再生処理の流れの例を説明するフローチャートである。 ファイル生成処理の流れの例を説明するフローチャートである。 再生処理の流れの例を説明するフローチャートである。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 Qualityの種類の例について説明する図である。 MPDの例について説明する図である。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 MPDの例について説明する図である。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 MPDの例について説明する図である。 再生処理の流れの例を説明するフローチャートである。 ビットレート選択処理の流れの例を説明するフローチャートである。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 LODノードの例について説明する図である。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 LODノードの例について説明する図である。 ClientSelectionノードの例について説明する図である。 MPDの例について説明する図である。 ビットレート選択処理の流れの例を説明するフローチャートである。 ClientSelectionノードの例について説明する図である。 BitWrapperノードおよびMovieTextureノードの例について説明する図である。 Transformノードの例について説明する図である。 ビットレート選択処理の流れの例を説明するフローチャートである。 部分3Dオブジェクトの例を示す図である。 部分3DオブジェクトをシグナルするScene Descriptionの例を示す図である。 部分3DオブジェクトをシグナルするScene Descriptionの例を示す図である。 物体全体をシグナルするScene Descriptionの例を示す図である。 BitwrapperノードとMovieTextureノードの例を示す図である。 物体Aが4つの部分3Dオブジェクトで構成される場合のMPDの例を示す図である。 Periodで物体を構成するAdaptationSetをシグナルするMPDの例を示す図である。 BitwrapperノードとMovieTextureノードの例を示す図である。 BitwrapperノードとMovieTextureノードの例を示す図である。 コンピュータの主な構成例を示すブロック図である。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.技術内容・技術用語をサポートする文献等
2.6DoFコンテンツの配信
3.第1の実施の形態(ビットレートアダプテーション)
4.第2の実施の形態(ビットレートを一律に制御するためのシグナリング)
5.第3の実施の形態(取得するビットレートの組み合わせを示すシグナリング)
6.第4の実施の形態(Level of Detailの制御によりビットレートを選択するためのシグナリング)
7.第5の実施の形態(コンテンツオーサ等の意図を示すシグナリング)
8.第6の実施の形態(注目オブジェクトのLevel of Detailを保つための実装法)
9.第7の実施の形態(部分3Dオブジェクトで構成される場合のシグナリング)
10.付記
<1.技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施例に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
非特許文献1:(上述)
非特許文献2:R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf
非特許文献3:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献4:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献5:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献4に記載されているQuad-Tree Block Structure、非特許文献5に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施例において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
<2.6DoFコンテンツの配信>
<2−1:コンテンツ>
現在の映像配信においては、映画などの配信で利用されている2次元映像(2Dコンテンツとも称する)の配信が主流である。さらに、全方位が見まわし可能である360度映像配信も行われている。360度映像は、3DoF(Degree of Freedom)映像や3DoFコンテンツとも称する。2Dコンテンツ、3DoFコンテンツどちらも、基本は2次元にエンコードされた映像が配信され、クライアントで表示される。
また、3DoF+コンテンツと称するコンテンツもある。この3DoF+コンテンツは、3DoFコンテンツのように全方位の見回しが可能であり、さらに、視点位置を少し動かすことが可能であるコンテンツである。視点位置の動かせる範囲は、座っている状態で頭を動かせる程度が想定されている。3DoF+コンテンツは、2次元にエンコードされた映像を1つまたは複数使うことにより、視点位置の移動を実現している。
これに対して、全方位見回し(視線方向を自由に選択)することができ、さらに空間の中を歩いて回れる(視点位置を自由に選択することができる)6DoF映像(6DoFコンテンツとも称する)もある。6DoFコンテンツは、時刻毎に1つもしくは複数の3次元オブジェクト(3Dオブジェクトとも称する)で3次元空間(3D空間とも称する)を表現したものである。つまり、6DoFコンテンツは、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツである。
3Dオブジェクトとは、(1)3D空間内にある1つの物体、(2)(1)の物体の一部、(3)3D空間内の複数の物体の集合のいずれかを示している。3Dオブジェクトのデータとしては、多面体の形状データとして表すことのできるメッシュデータとその面に張り付けるデータであるテクスチャデータで構成する方法や、複数の点の集合で構成するもの(Point Cloud)がある。
6DoFコンテンツを伝送する方法としては、3D空間を1つの3Dオブジェクトで構成し1つのオブジェクトストリームで伝送する方法と、3D空間を複数の3Dオブジェクトで構成し複数のオブジェクトストリームで伝送する方法が考えられる。
3D空間の表現として、6DoFコンテンツを2D DisplayやHMD(Head Mounted Display)で表示する場合、視点位置から離れている物体は、表示が小さくなり、近い場合は表示が大きくなるという6DoFコンテンツの表現特性がある。表示が小さい物体は解像度が低くてもよい。しかしながら、前者のように、広い領域の6DoFコンテンツを1つのオブジェクトストリームで伝送する場合、このような表示特性に関係なく6DoFコンテンツ全体の解像度が均一となってしまう。全体の解像度が均一であるということは、表示画面をレンダリングする場合、適切な解像度である部分もあれば、不必要に高い解像度の部分が存在することになる。不必要に高い解像度の部分は、余分なデコード・レンダリング処理が必要となる。すなわち、不要に負荷が増大するおそれがあった。
後者のように、3D空間を複数の3Dオブジェクトで構成し複数のオブジェクトストリームで伝送する方法では、6DoFコンテンツを複数のオブジェクトストリームで構成し、視点位置からの距離に応じて適切に表示するための情報を示すScene Descriptionという記述法が用いられる。
このScene Descriptionの規格は、複数存在する。基本的には、シーンをシーングラフと称するツリー階層構造のグラフで表現し、そのシーングラフをバイナリ形式またはテキスト形式で表現する。ここで、シーングラフは、視点位置に基づく空間表示制御情報であり、その視点位置における3Dオブジェクトの表示に関する情報を、ノードを構成単位として定義し、複数のノードを階層的に組合せることで構成される。ノードは、3Dオブジェクトの位置情報や大きさ情報のノード、メッシュデータやテクスチャデータへのアクセス情報のノード、視点位置からの距離に応じて適切に表示するための情報などのためのノードがあり、3Dオブジェクト毎にこれらのノードを用いる。
なお、以下においては、6DoFコンテンツは、そのメタデータであるScene Descriptionデータ(Scene Descriptionのストリームデータ)と、複数の3Dオブジェクトのメディアデータ(3Dオブジェクトのメッシュデータとテクスチャデータを合わせて表現したもの)とで構成されるものとする。3DオブジェクトのメディアデータはPoint Cloudといった別の形式も適用可能である。また、Scene Descriptionデータは、MPEG-4 Scene Description(ISO/IEC 14496-11)に準拠するものとする。
MPEG-4 Scene Descriptionデータは、シーングラフをBIFS(BInary Format for Scenes)という形式でバイナリ化してものである。このシーングラフをBIFSへ変換するのは決められたアルゴリズムで可能である。また、ISO base media file formatに格納することで時刻ごとにシーンを規定することができ、動いている物体などの表現が可能である。
6DoFコンテンツを表現した場合、シーングラフは例えば、図1のようになる。図1のシーングラフ10により表現される6DoFコンテンツには、複数の3Dオブジェクトが含まれている。図1においては、3Dオブジェクト1の構成のみが詳細に示されており(3Dオブジェクト1のTransformノード12−1の子ノード以下が示されており)、3Dオブジェクト2乃至3Dオブジェクトnの詳細な構成(3Dオブジェクト2のTransformノード12−2乃至3DオブジェクトnのTransformノード12−nの子ノード以下)は、省略されている。
ルートのGroupノード11は、子ノードとしてTransformノード12を有する。Transformノード12には、3Dオブジェクトの位置や大きさ等の情報がまとめられている。つまり、各Transformノード12により、3D空間内の各3Dオブジェクトの情報がまとめられている。Transformノード12は、子ノードとしてShapeノード13を有する。Shapeノード13には、その3Dオブジェクトの形状に関する情報がまとめられている。Shapeノード13は、子ノードとして、Appearanceノード14およびBitwrapperノード15を有する。Appearanceノード14には、テクスチャデータの情報がまとめられている。Bitwrapperノード15には、メッシュデータの情報がまとめられている。Bitwrapperノード15は、別ファイルになっているメッシュデータへのアクセス情報を有する。Appearanceノード14は、子ノードとして、MovieTextureノード16を有する。MovieTextureノード16は、別ファイルになっているテクスチャデータへのアクセス情報を有する。
図2にこれらの各ノードが有する情報の例を示す。これらのノードには、情報(の種類)毎にフィールド(field)が設定され、各フィールドにそのフィールドに対応する情報が格納される。このノードのシンタックスの例を図3に示す。
Scene Descriptionの機能に、1つの3Dオブジェクトに対して複数のLevel of detailのデータをもち、表示の状態に合わせて切り替えることのできる機能がある。Level of detailとは、例えば、メッシュデータの頂点数およびテクスチャデータの解像度の内、少なくともいずれか一方が異なるデータである。例えば、メッシュデータの頂点数が多い程、または、テクスチャデータが高解像度である程、より高Level of detailである。
この機能は、3D空間の表現として、視点位置から離れている3Dオブジェクトは、2D DisplayやHMDで表示するとき、表示が小さくなり、近い場合は表示が大きくなるという6DoFコンテンツの表現特性を利用している。例えば、視点位置から近い場合は、大きく表示されることから、高Level of detailのデータ(頂点数が多いメッシュデータと、解像度の高いテクスチャデータ)を用いる必要がある。これに対して、視点位置から遠い場合は、小さく表示されることから、低Level of detailのデータ(頂点数が少ないメッシュデータと、解像度の低いテクスチャデータ)を用いれば十分である。
この機能は、Scene DescriptionのLODノードにより実現される。LODノードが有する情報の例を図4に示す。図4に示されるように、LODノード31には、3DオブジェクトのLevel of detailを切り替えるための情報が含まれており、例えば、「距離を求めるための3Dオブジェクトの中心点」(図4のcenter field)、「視点位置と3Dオブジェクトの距離」(図4のrange field)、および「距離ごとで利用するべき3Dオブジェクトのデータ」(図4のlevel field)が含まれている。
LODノードの機能を用いることにより、視点位置に応じて3Dオブジェクトの適切なLevel of detailを選択することができ、表示品質を適切に保ちつつ、処理量を減らすことが可能になる。以下において、視点位置に応じたアダプテーションとも称する。
例えば、LODノード31はTransformノード12とShapeノード13との間に配置される。LODノード31の「距離ごとで利用するべき3Dオブジェクトのデータ」(図4のlevel field)は、選択すべきShapeノード13にアドレスするものとなる。
LODノードを用いたシーングラフ10の例を図5に示す。図5に示されるように、このシーングラフ10においては、各Transformノード12の子ノードとして、LODノード31が設けられている。LODノード31は、視点位置と3Dオブジェクトとの距離を用いてLevel of detailを切り替える。LODノード31には、3Dオブジェクトとの距離を求めるために利用する中心位置の座標が記述され、距離ごとに利用する3Dオブジェクトのデータを示す、子ノードのShapeノード13を持つ(Shapeノード13−1乃至Shapeノード13−3)。それぞれのShapeノード13では、割り当てられたレベルの異なるメッシュデータとテクスチャデータへのアクセス情報を有するノードの情報が設定される。
これによって、距離が近い場合は、高Level of detailのデータを、中間距離の場合は、中Level of detailのデータを、遠い場合は、低Level of detailのデータを用いることができ、視点に応じて適切なLevel of detailのデータを用いることが可能になる。
ここで、6DoFコンテンツの配信を考える。6DoFコンテンツは、Scene Descriptionデータと、そこから参照されるメディアデータ(メッシュデータとテクスチャデータ)とを、ネットワーク経由で取得することで再生することができる。これに対して、Scene Descriptionを用いた6DoFコンテンツの再生には、以下のような前提がある。
・主に6DoFコンテンツ配信サーバがローカルにあるような、十分な伝送帯域が確保できるネットワーク環境かストレージある。
・クライアントの処理能力が十分にある。つまり、取得した全てのメッシュ・テクスチャのデコードと、表示処理(レンダリング)が決められた時間内にできる。
クライアントの処理量に関しては、視点位置に応じたアダプテーションを用いることで処理量を減らすことをScene Descriptionでは実現している。しかしながら、伝送帯域に関しては、Scene Descriptionは、伝送帯域に応じてアダプティブに配信する機能を有していない。そのため、Scene Descriptionデータおよびメディアデータを伝送するだけの十分な伝送帯域が確保できる場合は再生が可能であるが、伝送帯域が限られてしまうと、クライアントはデータの取得ができず、再生ができなかったり、途切れたりするおそれがあった。
なお、6DoFコンテンツの場合、再生時の品質の低減を抑制するために、3Dオブジェクト間の品質の相関性を維持する必要がある。したがって、仮に2Dコンテンツのようにビットレートアダプティブな配信手法を行うとしても、ビットレートを適応的に操作した場合に視点位置に応じた3Dオブジェクト間の品質の相関性を維持するための手段がなく、クライアントの状況に応じた適切な配信ができないおそれがあった。
<2−2:コンセプト>
そこで、Scene Descriptionを拡張し、ビットレートアダプテーションを可能にするシグナリングを行うようにする(第1の実施の形態(実施の形態1とも称する))。このようにすることにより、Scene Descriptionを用いた6DoFコンテンツ配信における伝送帯域制限による再生への影響を抑制し、コンテンツ再生のロバスト性を向上させることができる。
また、全てのメッシュ、テクスチャのビットレートを一律に下げることで品質を維持できることを示すシグナリングを追加するようにしてもよい(第2の実施の形態(実施の形態2とも称する))。このようにすることにより、クライアントがどのビットレートを選択すれば良いかが明らかになり、視点位置に最適な3Dオブジェクト間の相対的な品質を維持することができる。
さらに、各テクスチャやメッシュの、どのビットレートを同時に取得すると品質を維持できるかを示すメタ情報を追加するようにしてもよい(第3の実施の形態(実施の形態3とも称する))。このようにすることにより、ビットレートを一律に下げるビットレートアダプテーションでは3Dオブジェクト間の相対的な品質を維持することが困難な場合であっても、3Dオブジェクト間の相対的な品質を維持することができる。
また、それぞれの3DオブジェクトのLevel of detailを下げることで伝送帯域を削減するためのシグナリングを追加するようにしてもよい(第4の実施の形態(実施の形態4とも称する))。このようにすることにより、例えば、全て最低のビットレートのメッシュやテクスチャを選択しても、その合計ビットレートよりも伝送帯域の方が狭い場合であっても、再生が途切れるのを抑制することができる。
さらに、3Dオブジェクトの重要度情報のシグナリングを追加するようにしてもよい(第5の実施の形態(実施の形態5とも称する))。このようにすることにより、コンテンツオーサ等の意図において重要な3DオブジェクトのLevel of detailを維持することができる。
また、注目している3Dオブジェクトを識別して、その3DオブジェクトのLevel of detailを保つようにしてもよい(第6の実施の形態(実施の形態6とも称する))。このようにすることにより、ユーザの注目している3DオブジェクトのLevel of detailを維持することができる。
以下に、各実施の形態について説明する。なお、以下においては、Scene Descriptionとして、MPEG-4 Scene descriptionを適用して説明する。しかしながら、Scene Descriptionの規格は任意であり、例えば、VRML(Virtual Reality Modeling Language)、Open Scene Graph(http://www.openscenegraph.org/)、Universal Scene Description(https://graphics.pixar.com/usd/docs/index.html)、X3D(ISO/IEC 19775-1)、glTF(https://www.khronos.org/gltf/)等であってもよい。
<3.第1の実施の形態(実施の形態1)>
第1の実施の形態においては、各3DオブジェクトのLevel of detail毎にビットレートアダプテーションすることができるようにシグナリングを拡張する。例えば、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、そのコンテンツの配信の際にビットレートを選択可能にする情報を含むメタデータを生成するようにする。例えば、情報処理装置において、3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、そのコンテンツの配信の際にビットレートを選択可能にする情報を含むメタデータを生成する生成部を備えるようにする。
このようにすることにより、Scene Descriptionを用いた6DoFコンテンツ配信における伝送帯域制限による再生への影響を抑制し、コンテンツ再生のロバスト性を向上させることができる。
<3−1:実施の形態1−1>
コンテンツの配信の際にビットレートを選択可能にする情報として、そのコンテンツの再生を制御する制御ファイルのアクセス情報を含むメタデータを生成するようにしてもよい。つまり、例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、ビットレートアダプテーション実現するようにしてもよい。現在の2Dコンテンツや3DoFコンテンツにおいては、DASH(Dynamic Adaptive Streaming over HTTP、ISO/IEC 23009-1)を用いて、ビットレートの異なるデータに切り替えることで、伝送帯域が狭くなった際にも途切れることなく再生が可能である仕組みがある。この方法は、DASHのマニフェストファイルであるMPDファイルのAdaptationSetでビットレートの異なるデータをRepresentationでシグナリングしている。
そこで、このようなMPDで実現しているビットレートアダプテーションの仕組みを利用し、Scene Descriptionと組み合わせることで、再生の途切れ等の発生を抑制するようにする。例えば、Scene Descriptionの外部メディアデータのアクセス情報で、MPDファイルのAdaptationSetを参照することができるようにしてもよい(実施の形態1−1−1)。この場合、クライアント装置103は、外部メディアデータとして示されたMPDのAdaptationSetの中から、ビットレートを選択する。
Scene DescriptionにおいてLODノードが存在する場合、視点位置に応じて各3Dオブジェクトに対して適切なLevel of detailが決まる。そこで、本実施の形態1−1では、Level of detail毎にビットレートバリエーションを持つことにより、Level of detail毎にビットレートアダプテーションを可能にする。
<配信システム>
図6は、本技術を適用したシステムの一態様である配信システムの主な構成の一例を示すブロック図である。図6に示される配信システム100は、6DoFコンテンツをサーバからクライアントに配信するシステムである。
図6に示されるように、この配信システム100は、ファイル生成装置(File generation apparatus)101、配信サーバ(Web server)102、およびクライアント装置(Client apparatus)103を有する。配信サーバ102とクライアント装置103とは、インターネット110を介して接続される。なお、図6においては、各装置を1台ずつ示しているが、配信システム100は、各装置を任意の台数有することができる。つまり、ファイル生成装置101、配信サーバ102、およびクライアント装置103は、それぞれ、複数台であってもよい。
ファイル生成装置101は、Scene Descriptionデータ(Scene Description data)121、MPDファイル(MPD file)122、およびメディアデータ(media data)123を生成する(メディアデータ123−1、メディアデータ123−2、・・・)。ファイル生成装置101は、生成したそれらのデータを配信サーバ102にアップロードする。
クライアント装置103は、Scene Descriptionデータ121、MPDファイル122、メディアデータ123等を配信サーバ102に要求し、配信させる。クライアント装置103は、配信されたそれらのデータを取得すると、レンダリングを行って表示用の画像を生成し、その画像をモニタ(Display)に表示させる。
<ファイル生成装置>
図7は、ファイル生成装置101の主な構成例を示すブロック図である。図7に示されるように、ファイル生成装置101は、制御部151およびファイル生成部152を有する。
制御部151は、ファイル生成部152の制御に関する処理を行う。ファイル生成部152は、制御部151に制御されて、Scene Descriptionデータ121(Scene Descriptionとも称する)、MPDファイル122(MPDとも称する)、およびメディアデータ123等のデータの生成に関する処理を行う。ファイル生成部152は、データ入力部161、Scene Description生成部162、メディアデータ生成部163、MPDファイル生成部164、セグメントファイル生成部165、記録部166、およびアップロード部167を有する。
データ入力部161は、データの入力を受け付ける。データ入力部161は、受け付けたデータを、Scene Description生成部162、メディアデータ生成部163、およびMPDファイル生成部164に供給する。
Scene Description生成部162は、Scene Descriptionデータ121の生成に関する処理を行う。例えば、Scene Description生成部162は、データ入力部161から供給されるデータに基づいて、Scene Descriptionデータ121を生成し、それをセグメントファイル生成部165に供給する。
メディアデータ生成部163は、メディアデータ123の生成に関する処理を行う。例えば、メディアデータ生成部163は、データ入力部161から供給されるデータに基づいて、メディアデータ123を生成し、それをセグメントファイル生成部165に供給する。
MPDファイル生成部164は、MPDファイル122の生成に関する処理を行う。例えば、MPDファイル生成部164は、データ入力部161から供給されるデータに基づいて、MPDファイル122を生成し、それを記録部166に供給する。
セグメントファイル生成部165は、セグメントファイルの生成に関する処理を行う。例えば、セグメントファイル生成部165は、Scene Description生成部162から供給されたScene Descriptionデータ121を取得し、そのScene Descriptionデータ121をセグメント毎にファイル化し、Scene Descriptionデータ121のセグメントファイル(Scene Descriptionセグメントファイルとも称する)を生成する。また、セグメントファイル生成部165は、メディアデータ生成部163から供給されたメディアデータ123を取得し、そのメディアデータ123をセグメント毎にファイル化し、メディアデータ123のセグメントファイル(メディアデータセグメントファイルとも称する)を生成する。セグメントファイル生成部165は、生成したScene Descriptionセグメントファイルやメディアデータセグメントファイルを記録部166に供給する。
記録部166は、MPDファイル生成部164から供給されるMPDファイル122、並びに、セグメントファイル生成部165から供給されるScene Descriptionセグメントファイルおよびメディアデータセグメントファイルを、自身が有する記録媒体に記録する。また、記録部166は、所定のタイミングにおいてまたはユーザ等の要求に基づいて、記録媒体に記録しているそれらのファイルを読み出し、それをアップロード部167に供給する。
アップロード部167は、記録部166からMPDファイル122、Scene Descriptionセグメントファイル、およびメディアデータセグメントファイルを取得し、それらを配信サーバ102にアップロードする(送信する)。
<クライアント装置>
図8は、クライアント装置103の主な構成例を示すブロック図である。図8に示されるように、クライアント装置103は、制御部171および再生処理部172を有する。制御部171は、再生処理部172の制御に関する処理を行う。再生処理部172は、制御部171に制御されて、6DoFコンテンツの再生に関する処理を行う。再生処理部172は、MPDファイル取得部181、MPDファイル処理部182、Scene Descriptionセグメントファイル取得部183、Scene Descriptionセグメントファイル処理部184、表示制御部185、計測部186、メディアデータセグメントファイル選択部187、メディアデータセグメントファイル取得部188、復号処理部189、表示情報生成部190、および表示部191を有する。
MPDファイル取得部181は、MPDファイル122の取得に関する処理を行う。例えば、MPDファイル取得部181は、配信サーバ102にアクセスしてMPDファイル122を要求し、取得する。MPDファイル取得部181は、取得したMPDファイル122をMPDファイル処理部182に供給する。
MPDファイル処理部182は、MPDファイルに関する処理を行う。例えば、MPDファイル処理部182は、MPDファイル取得部181から供給されるMPDファイル122を取得し、そのMPDファイルをパースし、MPDファイル122やそのパース結果をScene Descriptionセグメントファイル取得部183に供給する。
Scene Descriptionセグメントファイル取得部183は、Scene Descriptionセグメントファイルの取得に関する処理を行う。例えば、Scene Descriptionセグメントファイル取得部183は、MPDファイル処理部182から供給される情報(MPDファイル122やそのパース結果)を取得し、その情報に基づいて配信サーバ102にアクセスし、Scene Descriptionセグメントファイルを取得する。Scene Descriptionセグメントファイル取得部183は、取得したScene Descriptionセグメントファイルを、Scene Descriptionセグメントファイル処理部184に供給する。
Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイルに関する処理を行う。例えば、Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイル取得部183から供給されるScene Descriptionセグメントファイルを取得する。また、Scene Descriptionセグメントファイル処理部184は、表示制御部185から視点位置を示す情報を取得する。Scene Descriptionセグメントファイル処理部184は、取得したそれらの情報に基づいて、MPDファイルのアクセス先を決定する。Scene Descriptionセグメントファイル処理部184は、その決定したアクセス先をメディアデータセグメントファイル選択部187に供給する。
表示制御部185は、6DoFコンテンツの表示制御に関する処理を行う。例えば、表示制御部185は、視点位置を示す情報をScene Descriptionセグメントファイル処理部184、メディアデータセグメントファイル選択部187、表示情報生成部190等に供給する。計測部186は、配信サーバ102からクライアント装置103までの伝送路の伝送帯域を計測し、その計測結果をメディアデータセグメントファイル選択部187に供給する。
メディアデータセグメントファイル選択部187は、メディアデータセグメントファイルの選択に関する処理を行う。例えば、メディアデータセグメントファイル選択部187は、MPDファイル122において、表示制御部185から供給される視点位置を示す情報や、計測部186から供給される伝送帯域を示す情報等に基づいて、再生するメディアデータセグメントファイルを選択する。メディアデータセグメントファイル選択部187は、その選択結果を示す情報をメディアデータセグメントファイル取得部188に供給する。
メディアデータセグメントファイル取得部188は、メディアデータセグメントファイルの取得に関する処理を行う。例えば、メディアデータセグメントファイル取得部188は、メディアデータセグメントファイル選択部187から供給されるメディアデータセグメントファイルの選択結果を示す情報を取得する。それらの情報に基づいて、メディアデータセグメントファイル取得部188は、配信サーバ102にアクセスし、メディアデータセグメントファイル選択部187により選択されたメディアデータセグメントファイルを要求し、取得する。メディアデータセグメントファイル取得部188は、取得したメディアデータセグメントファイルを復号処理部189に供給する。
復号処理部189は、メディアデータセグメントファイル取得部188から供給されるメディアデータセグメントファイルを取得し、復号する。復号処理部189は、その復号したメディアデータセグメントファイルを表示情報生成部190に供給する。表示情報生成部190は、復号処理部189から供給されるメディアデータセグメントファイルに基づいてレンダリングを行い、表示用の画像を生成する。表示情報生成部190は、生成した表示用の画像を表示部191に供給し、表示させる。
<ファイル生成処理の流れ>
次に、ファイル生成装置101が実行するファイル生成処理の流れの例を、図9のフローチャートを参照して説明する。ファイル生成処理が開始されると、ファイル生成装置101のMPDファイル生成部164は、ステップS101において、MPDファイル122を生成する。
ステップS102において、Scene Description生成部162は、ステップS101において生成されたMPDファイルへのリンクを含むScene Descriptionデータ121を生成する。
ステップS103において、メディアデータ生成部163は、メディアデータ123を生成する。
ステップS104において、セグメントファイル生成部165は、ステップS102において生成されたScene Descriptionデータ121を用いて、Scene Descriptionセグメントファイルを生成する。また、セグメントファイル生成部165は、ステップS103において生成されたメディアデータ123を用いて、メディアデータセグメントファイルを生成する。
ステップS105において、記録部166は、ステップS101において生成されたMPDファイル122を記録する。また、ステップS106において、記録部166は、ステップS104において生成されたセグメントファイル(Scene Descriptionセグメントファイルおよびメディアデータセグメントファイル)を記録する。
ステップS107において、アップロード部167は、ステップS105において記録されたMPDファイル122を読み出し、配信サーバ102にアップロードする。
ステップS108において、アップロード部167は、ステップS106において記録されたセグメントファイル(Scene Descriptionセグメントファイルおよびメディアデータセグメントファイル)を読み出し、配信サーバ102にアップロードする。
ステップS108の処理が完了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、クライアント装置103により実行される再生処理の流れの例を、図10のフローチャートを参照して説明する。再生処理が開始されると、MPDファイル取得部181は、ステップS121において、配信サーバ102にアクセスし、MPDファイル122を取得する。
ステップS122において、MPDファイル処理部182は、ステップS121において取得したMPDファイル122をパースし、Scene Descriptionデータ121を最初に取得することを認識し、そのScene Descriptionデータ121のAdaptationSetを参照し、Scene Descriptionデータ121のアクセス情報(URL(Uniform Resource Locator))を取得する。
ステップS123において、Scene Descriptionセグメントファイル取得部183は、ステップS122において取得したURLから、現在時刻に対応するScene Descriptionセグメントファイルを取得する。
ステップS124において、Scene Descriptionセグメントファイル処理部184は、表示制御部185から視点位置を示す情報を取得する。
ステップS125において、Scene Descriptionセグメントファイル処理部184は、ステップS123において取得したScene Descriptionデータ121をパースし、ステップS124において取得した情報により示される視点位置に基づいて、MPDファイル122内のアクセス先を決定する。
ステップS126において、計測部186は、配信サーバ102とクライアント装置103との間の伝送路の伝送帯域を計測する。メディアデータセグメントファイル選択部187は、その計測結果(つまり伝送帯域を示す情報)を取得する。
ステップS127において、メディアデータセグメントファイル選択部187は、MPDファイル122において、ステップS126において取得した伝送帯域を示す情報に基づいて、メディアデータセグメントファイルを選択する。
ステップS128において、メディアデータセグメントファイル取得部188は、配信サーバ102にアクセスし、ステップS127において選択されたメディアデータセグメントファイルを取得する。
ステップS129において、復号処理部189は、ステップS128において取得したメディアデータセグメントファイルを復号する。そして、表示情報生成部190は、復号されたメディアデータセグメントファイルを用いてレンダリングを行い、表示用画像を生成する。
ステップS129の処理が終了すると再生処理が終了する。このように各処理を行うことにより、クライアント装置103は、コンテンツ再生のロバスト性を向上させることができる。
<3−2:実施の形態1−1−1>
<Scene DescriptionとMPDの構成>
MPDにおいて、Scene DescriptionデータのAdaptationSetと、そこから参照されるメディアデータのビットレートバリエーションのAdaptationSetをシグナリングするようにしてもよい。つまり、例えば、制御ファイルであるMPD(Media Presentation Description)の、3次元オブジェクトのLevel of Detailに対応し、そのLevel of Detailの複数のビットレートバリエーションに関する情報を含むAdaptationSetへのアクセス情報を含むメタデータを生成するようにしてもよい。
図11は、その場合のScene Descriptionデータ121の例を示す。図12は、その場合のMPDファイル122の例を示す。図11および図12において、丸囲みの数字は、各図の矢印の対応関係を示す。MPDファイル122(図12)には、Scene Descriptionデータ121を示すためのAdaptationSetや、各3DオブジェクトのLevel of detail毎のメッシュデータとテクスチャデータを示すAdaptationSetが記述されている。例えば3DオブジェクトAの高Level of Detail AHのメッシュデータの、ビットレートバリエーションが1つのAdaptationSetに記述されている。
<MPDのシグナリング拡張>
図12に示されるように、本実施の形態のMPDファイル122には、Scene Descriptionデータ121のAdaptatioSetと各メディアデータ123のAdaptatonSetが示される。この構成の場合、クライアント装置103は、最初にMPDファイル122を取得し、そのMPDファイル122を解析する。その際、Scene Descriptionデータ121のAdaptationSetを最初に処理する必要がある。しかしながら、既存のシグナリングでは、どのAdapttionSetを最初に処理すべきかがわからない。
そこで、(1)最初に処理すべきAdaptationSetをシグナリングする、(2)最初に処理すべきでないAdaptationSetであることをシグナリングする、(3)(1)と(2)を同時にシグナリングする、の3つの実施方法を示す。
(1)最初に処理すべきAdaptationSetをシグナリングする。
最初に処理すべきAdaptationSetを示すシグナリングのためにSupplementalPropertyを利用する。以下の例のように、schemeIdUriで、InitialSelectionを設定する。value値は設定しない。
例 :< SupplementalProperty schemeIdUri="InitialSelection" />
(2)最初に処理すべきでないAdaptationSetであることをシグナリングする。
最初に処理すべきでない各メディアデータのAdapttionSetは、Scene Descriptionデータ121から参照されるデータである。他から参照されるデータであり、最初に処理すべきでないことを示す。例えば、以下の例のように、各メディアデータのAdaptationSetに、EssentialPropertyを設定し、そのEssentialPropertyのschemeIdUriはExternalReferencedDataを示し、value値でどのデータから参照されているかAdaptationSet@idを示す。
例 :< EssentialProperty schemeIdUri=" ExternalReferencedData " value="AdaptationSet@id"/>
EssentialPropertyで指定することにより、既存のクライアントは、このPropertyを知らなければ単体で再生はできない。また、このPropertyがわかるクライアントも、外部から参照されるデータであることがわかるため、単体で再生しなくなる。つまり、過去互換性を持つMPDファイルとなる。
(3)(1)と(2)を同時にシグナリングする。
(1)と(2)を同時にシグナリングすることで実現する。
<変形例>
(1)および(2)は、以下の例のように、AdaptationSetのattributeでシグナリングするようにしてもよい。
例 :< AdaptationSet InitialSelection="TRUE" />
例 :< AdaptationSet ExternalReferencedData ="TRUE"/>
また、(2)はAdaptationSetではなく、ExternalReferencedAdaptationSetと名前を変えることで利用のされ方がいままでと違うことを示すようにしてもよい。
さらに、最初に処理すべきAdaptationSetと、処理すべきでないAdaptationSetをPreselectionで同時にシグナリングするようにしてもよい。
Preselectionは、EssentialPropertyもしくはSupplementalProperty でschemeIdURI="urn:mpeg:dash:preselection:2016"とvalue="tag, media component list"をシグナルする。media component listはspace区切りでmedia componentを複数シグナルすることができ、1つ目がmain media componentとなる。main media componentは例えばAdaptationSet@idでシグナルする。Preselectionは1decodeで処理することが前提であるが、ここでは拡張し、同時にレンダリング処理されるものを扱えるものと拡張する。
この場合、main media componentとして、Scene DescriptionのAdaptationSet@idを示し、media component listの2つ目以降にScene Descriptionから参照されるメディアデータAdaptatioSet@idを並べる。つまり、main media componentが最初に処理すべきAdaptationSetであり、2つ目以降は最初に処理すべきでないAdaptationSetとなる。この手法においては、EssentialPropertyでシグナリングする。この手法は、既存のpreselectionのschmeIdUriを使っているが、別のschmeIdUriで実現してもよい。
また、最初に処理すべきAdaptationSetと、処理すべきでないAdaptationSetをRoleでシグナリングするようにしてもよい。例えば、AdaptationSetでRole elementをシグナリングし、Role elementのvalueを設定する。RoleのSchemeIdUriで"urn:mpeg:dash:role:2018"をシグナリングする。最初に処理すべきAdaptationSetは、以下の例のように、value="initial"を指定する。
例:<Role schemeIdUri="urn:mpeg:dash:role:2018" value=" initial"/>
最初に処理すべきでないAdaptationSetは、以下の例のように、value=" ExternalReferencedData"をシグナリングする。
例:<Role schemeIdUri="urn:mpeg:dash:role:2018" value=" ExternalReferencedData"/>
<Scene Descriptionのシグナリング拡張>
図11に示されるように、Scene Description121のメッシュ、テクスチャを示すノードであるBitwrapperノード15、MovieTextureノード16からMPDファイル122のAdaptationSetへアクセスすることができるように拡張する。
Bitwrapperノード15、MovieTextureノード16ではURLを用いて外部メディアデータへのアクセス情報をシグナルしている。MPEG-4 Scene Description(ISO/IEC 14496-11)のBitwrapperノード15およびMovieTextureノード16の構造例は、図2に示した通りである。外部メディアデータへのアクセスに使われるフィールド(field)はどちらのノードもurl fieldである。本実施の形態では、Bitwrapperノード15およびMovieTextureノード16のsyntaxは拡張せず、それぞれのurl fieldの表記方法を拡張する。
本実施の形態では、url fieldで示すURLをMPDファイル122へのURLに加えてURLパラメータでAdaptationSet@idをシグナリングし、Level of Detail違いのメディアデータを示す。具体的には、例えばAdaptationSetを表すURLパラメータの変数"AS"を用い、その値でAdaptationSet@idをシグナリングする。例えば、AdaptationSet@id=1のAdaptationSetを示す場合は、以下の例のようにURLパラメータのついたURLをノードのURLに指定する。
URLの例:http://www.6dofserver.com/6dof.mpd?AS=1
既存の手法ではurlでは1つのメディアデータを示すために利用していたが、本手法により、複数のメディアデータの集合を示すことができるようにする。これにより、クライアントは示された複数のメディアデータの集合から、ビットレートを選択することができる。
図11の例でのScene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16のURLの記述例を図13に示し、図12の例のMPDファイル122の記述の例を図14に示す。この場合、MPDファイル122のシグナリング拡張は、上述の(2)を用いている。このような記述により、Scene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16のURLから、MPDファイル122のAdaptationSetへのリンクを示すことができる。
<変形例>
なお、URLパラメータで指定するのではなく、Scene Descriptionデータ121のBitwrapperノード15やMovieTextureノード16に、AdaptationSet@idを示すfieldを追加する拡張をしてもよい。この場合、url fieldは、MPDファイル122へのアクセス情報を記述する。
また、以上においてはBitwrapperノード15およびMovieTextureノード16の拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。また、url fieldではなく、メディアデータのアクセス情報のリストを示しているurlを示すlistUrl fieldを追加し、MPDファイル122のURLを記述するようにしてもよい。この場合、URLパラメータ付きURLを格納してもよいし、図15に示されるように、MPDファイル122へのURLだけを示し、AdaptatonSet@idは別のfieldとしてもよい。
<ファイル生成処理の流れ>
次に、この場合のファイル生成処理の流れの例を、図16のフローチャートを参照して説明する。
ファイル生成処理が開始されると、ファイル生成装置101のMPDファイル生成部164は、ステップS141において、Scene DescriptionのAdaptationSetと、ビットバリエーション毎のRepresentationを有するLevel of Detail毎のAdaptationSetとを含むMPDファイル(図12や図14の例のようなMPDファイル)を生成する。
ステップS142において、Scene Description生成部162は、Level of Detailのビットバリエーション毎のMPDのAdaptationSetへのリンクを含むScene Descriptionデータ(図11や図13の例のようなMPDファイル)を生成する。
ステップS143乃至ステップS148の各処理は、ステップS103乃至ステップS108(図9)の各処理と同様に実行される。ステップS148の処理が終了すると、ファイル生成処理が終了する。
以上のようにファイル生成処理を実行することにより、ファイル生成装置101は、配信の際の適応的なビットレート制御を可能にする(ビットレートアダプテーションを実現する)ことができる。したがって、ファイル生成装置101は、コンテンツ再生のロバスト性を向上させることができる。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図17のフローチャートを参照して説明する。再生処理が開始されると、ステップS161乃至ステップS164の各処理が、ステップS121乃至ステップS124(図10)の各処理と同様に実行される。
ステップS165において、Scene Descriptionセグメントファイル処理部184は、Scene Description処理を実行し、MPDのアクセス先(AdaptationSet)を決定する。
ステップS166において、計測部186は、配信サーバ102とクライアント装置103との間の伝送路の伝送帯域を計測する。メディアデータセグメントファイル選択部187は、その計測結果(つまり伝送帯域を示す情報)を取得する。
ステップS167において、メディアデータセグメントファイル選択部187は、MPDファイル122の、各3Dオブジェクトの所望のLevel of Detailに対応するAdaptationSetのそれぞれにおいて、Representationを選択する。その際、メディアデータセグメントファイル選択部187は、取得する全セグメントファイルのビットレートの合計がステップS166において取得した伝送帯域より小さくなるように、Representationを選択する。
ステップS168において、メディアデータセグメントファイル取得部188は、配信サーバ102にアクセスし、ステップS167において選択されたRepresentationにより指定されるメディアデータセグメントファイル(全ての3Dオブジェクトのメッシュファイルおよびテクスチャファイル)を取得する。
ステップS169において、復号処理部189は、ステップS168において取得したメディアデータセグメントファイルを復号する。そして、表示情報生成部190は、復号されたメディアデータセグメントファイルを用いてレンダリング処理を行い、表示用画像を生成する。ステップS169の処理が終了すると、再生処理が終了する。
<Secene Description処理の流れ>
次に、図17のステップS165において実行されるScene Description処理の流れの例を、図18のフローチャートを参照して説明する。
Scene Description処理が開始されると、Scene Descriptionセグメントファイル処理部184は、ステップS181において、Scene Descriptionデータ121について、RootのGroupノード11を取得し、全ての子ノード(Transformノード12)を取得する。
ステップS182において、Scene Descriptionセグメントファイル処理部184は、RootのGroupノード11について、未処理の子ノード(Transformノード12)が存在するか否かを判定する。存在すると判定された場合、処理はステップS183に進む。
ステップS183において、Scene Descriptionセグメントファイル処理部184は、未処理のTransformノード12を処理対象として選択し、その処理対象のTransformノード12を処理する。この処理により、レンダリングする位置や大きさが決まる。
ステップS184において、Scene Descriptionセグメントファイル処理部184は、Scene Descriptionデータ121について、Transformノード12の子ノードのLODノード31を取得する。
ステップS185において、Scene Descriptionセグメントファイル処理部184は、そのLODノード31の中心座標パラメータと視点位置の距離を求める。
ステップS186において、Scene Descriptionセグメントファイル処理部184は、そのLODノード31の距離パラメータと求めた距離とを比較し、処理する子ノードを決定する。
ステップS187において、Scene Descriptionセグメントファイル処理部184は、決定した子ノードを取得して、メッシュファイルおよびテクスチャファイルのアクセス情報(例えばURL)からMPDのAdaptationSetを取得する。
ステップS187の処理が終了すると、処理はステップS182に戻り、それ以降の処理が繰り返される。つまり、ステップS182乃至ステップS187の各処理が、各Transformノード12について実行される。
ステップS182において、未処理のTransformノードが存在しないと判定された場合、処理は、ステップS188に進む。ステップS188において、Scene Descriptionセグメントファイル処理部184は、利用する全てのAdaptationSetを決定する。ステップS188の処理が終了すると、Scene Description処理が終了し、処理は図17に戻る。
<レンダリング処理の流れ>
次に、図17のステップS169において実行されるレンダリング処理の流れの例を、図19のフローチャートを参照して説明する。
レンダリング処理が開始されると、表示情報生成部190は、ステップS201において、Scene Descriptionデータ121の情報を利用して取得した各3Dオブジェクトのメッシュファイルおよびテクスチャファイルのデータを用いて、シーンを構成する。
ステップS202において、表示情報生成部190は、そのシーンの各3Dオブジェクトを、視点位置、視線方向、および画角に基づいてレンダリングし、表示用画像を生成する。ステップS202が終了すると、レンダリング処理が終了し、処理は図17に戻る。
以上のように、各処理を実行することにより、クライアント装置103は、配信の際の適応的なビットレート制御を可能にする(ビットレートアダプテーションを実現する)ことができる。したがって、ファイル生成装置101は、コンテンツ再生のロバスト性を向上させることができる。
<3−3:実施の形態1−1−2>
<Scene DescriptionとMPDの構成>
MPDのAdaptationSetの構成は任意であり、実施の形態1−1−1の例に限定されない。例えば、同じ3DオブジェクトのメッシュデータはMPDの1つのAdaptationSetでシグナリングするようにしてもよい。同様に、同じ3DオブジェクトのテクスチャデータはMPDの1つのAdaptationSetでシグナリングするようにしてもよい。つまり、1つの3Dオブジェクトの全てのLevel of Detailのビットレートバリエーションがメッシュとテクスチャそれぞれ1つのAdaptationSetに含まれるようにしてもよい。なお、この場合もMPDシグナリング拡張は、上述の実施の形態1−1−1の場合と同様である。換言するに、制御ファイルであるMPDの、3次元オブジェクトに対応するAdaptationSetの、その3次元オブジェクトのLevel of Detailに対応し、そのLevel of Detailの複数のビットレートバリエーションに関する情報を含むrepresentationへのアクセス情報を含むメタデータを生成するようにしてもよい。
図20は、この場合のScene Descriptionデータ121の例を示す。図21は、この場合のMPDファイル122の例を示す。図20および図21において、丸囲みの数字は、各図の矢印の対応関係を示す。
この場合、MPDファイル122(図21)には、Scene Descriptionデータ121のAdaptationSet、各3Dオブジェクトのメッシュデータとテクスチャデータ毎のAdaptationSetとが記述されている。例えば、図20および図21に示されるように、3DオブジェクトAの高Level of Detail AH、中Level of Detail AM、低Level of Detail ALのメッシュデータのビットレートバリエーションが1つのAdaptationSetに記述される。
<3−4:実施の形態1−1−2−1>
以上のようなMPDファイル122およびScene Descriptionデータ121の構成を、Scene Descriptionデータ121を拡張することで実現するようにしてもよい。例えば、所望のMPDのアクセス情報、そのMPD内の所望のAdaptationSetを指定する情報、およびそのAdaptationSet内の所望のRepresentationを指定する情報からなるアクセス情報を含むメタデータを生成するようにしてもよい。
<Scene Descriptionのシグナリング>
図20および図21を参照して説明した構成において、Scene Descriptionデータ121のメッシュを示すノードであるBitwrapperノード15や、テクスチャを示すノードであるMovieTextureノード16の、Level of detailに含まれるビットレートバリエーションは、MPDファイル122のそれぞれのAdaptationSet内のいくつかのRepresentationになる。
そこで、Scene Descriptionデータ121のBitwrapperノード15やMovieTextureノード16において、アクセス情報(例えばURL)により、ビットレートバリエーションである、MPDファイル122のRepresentationをシグナリングするようにしてもよい。
より具体的には、Representationを表すURLパラメータの変数である"RS"とその値によりRepresentation@idが示されるようにする。Bitwrapperノード15やMovieTextureノード16においては、ビットレートバリエーションの数のRepresentation@idを記述することができる。例えば、Representation@id=1、Representation@id=2、Representation@id=3があるLevel of detailに含まれるメッシュのビットレートバリエーションを示す場合は、以下の例のようにURLパラメータのついたURLを、アクセス情報として、Bitwrapperノード15やMovieTextureノード16に記述する。
URLの例:http://www.6dofserver.com/6dof.mpd?RS=1&RS=2&RS=3
図20のScene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16のURLの記述例を図22に示す。また、図21のMPDファイル122の記述例を、図23に示す。図22および図23において、丸囲みの数字は、各図の矢印の対応関係を示す。
これらの図に示されるように、Scene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16において、変数RSの値として、AHm-n、AHt-m(n, mは、任意の自然数)を記述することにより、そのノードを、MPDファイル122の3Dオブジェクトに対応するAdaptationSetの、その値のRepresentationidを有するRepresentationに紐づけることができる。つまり、Scene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16のURLのフィールドにおいて、MPDファイル122のビットレートバリエーションの数のRepresentationへのリンクを示すことができる。
<変形例>
なお、URLパラメータでAdaptationSetの@idも同時にシグナリングするようにしてもよい。シグナリングの仕方は、実施の形態1−1−1において上述したのと同様である。
また、URLパラメータで指定するのではなく、例えば図24に示されるように、Scene Descriptionデータ121のBitwrapperノード15やMovieTextureノード16において、Representation@idを示すフィールド(field)を拡張するようにしてもよい。この場合、url fieldには、MPDファイル122へのアクセス情報が記述される。
さらに、AdaptationSet@idを示すfieldを追加する拡張をしてもよい。また、以上においては、Bitwrapperノード15およびMovieTextureノード16の拡張例を示したが、他のノードにおいて、これらと同様にfieldを拡張するようにしてもよい。
また、url fieldではなく、メディアデータのアクセス情報のリストを示しているurlを示すlistUrl fieldを追加し、MPDのURLを記述するようにしてもよい。この場合、URLパラメータ付きURLを格納してもよいし、MPDファイル122へのURLだけを示し、Representation@idは別のfieldとするようにしてもよい。
<3−5:実施の形態1−1−2−2>
また、MPDファイル122も拡張するようにしてもよい。例えば、MPDファイル122において、互いに同一のLevel of DetailのRepresentationをグルーピングし、Scene Descriptionデータ121のBitwrapperノード15およびMovieTextureノード16に記述されるアクセス情報が、そのグループを示すようにしてもよい。つまり、互いに同一のビットレートバリエーションをグループ化する情報を含むMPDを生成するようにしてもよい。このようにすることにより、実施の形態1−1−2−1の場合と比較して、Scene Descriptionデータ121に記述されるメディアデータのURLのURLパラメータを、ビットレート数によらず、一定にすることができる。またScene Descriptionデータ121を作成した後に、ビットレートバリエーションを増大させる場合に、Scene Descriptionデータ121のシグナリングに影響が出ないようにすることができる。
<MPDのシグナリング>
MPDファイル122のRepresentationをグルーピングし、Scene Descriptionデータ121のLevel of detailで利用するビットレートバリエーションがわかるシグナリングをする。
そのために、以下の例のように、Level of detailで利用するビットレートバリエーションは、同じValue値を持つSupplementalPropertyをRepresentationにシグナリングするようにする。
例 :<SupplementalProperty schemeIdUri="RepresentationGroup" value="1"/>
このSupplementalPropertyにおいて、schemeIdUriでRepresentationGroupを示し、value値でグループ番号を示す。同じAdaptationSetに含まれ、同じValue値を持つRepresentaitonが、同一のグループに属していることを示す。
<変形例>
なお、上述の例では、RepresentationGroupが何のGroupであるかがわからないので、value値をコンマ区切りにして、"group番号, グループ種類"として、グループの種類も同時にシグナリングするようにしてもよい。以下にその例を示す。この例において、"LOD"は、Level of detailのグループであることを示す。
例 : <SupplementalProperty schemeIdUri="RepresentationGroup" value="1, LOD"/>
<Scene Descriptionのシグナリング>
また、Scene Descriptionデータ121においては、Bitwrapperノード15およびMovieTextureノード16のアクセス情報(URL)により上述のRepresentationのグループを示すようにする。ただし、どのAdaptationSetに含まれるRepresentationのグループかわからないので、AdaptationSetも同時に示すようにする。
MPDファイル122のURLパラメータに、AdaptationSetを示すパラメータと、RepresentationGroupを示すパラメータをシグナルする。AdaptationSetを示すパラメータは、実施の形態1−1−1において上述したものと同じである。RepresentationGroupを示すパラメータとしては、変数であるReplesentationGroupを与え、その値には、MPDファイル122のRepresentationGroupのvalueをシグナリングするようにする。以下にそのURLの例を示す。
URLの例:http://www.6dofserver.com/6dof.mpd?AS=1&ReplesentationGroup=1
図20のScene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16のURLの記述例を図25に示す。また、図21のMPDファイル122の記述例を、図26に示す。図25および図26において、丸囲みの数字は、各図の矢印の対応関係を示す。
このように記述することにより、Scene Descriptionデータ121のBitwrapperノード15とMovieTextureノード16のURLから、MPDファイル122のAdaptationSetおよびその中のLevel of DetailのビットレートバリエーションのRepresentationの集合を示す、RepresentationGroupへのアクセス情報を示すことができる。
<変形例>
以上においては、シグナリングを各Representationに行うように説明したが、AdaptationSetにシグナリングしてもよい。その場合、例えば、schmeIdUriでReplesentationGroupを示すようにしてもよい。グルーピング情報は、グループ毎にSupplementalPropertyのエレメント(element)としてRepresentationGroupを新しく追加する。RepresentationGroupは、id(RepresentationGroupのvalueと同じ意味)と、グループに含まれるRepresentationのidのリストから成る。以下にその例を示す。
<SupplementalProperty schemeIdUri=" ReplesentationGroup " >
<RepresentationGroup id=1 member="representaiton@id1 representation@id2..."/>
< RepresentationGroup id=2 member=" epresentaiton@id4 representation@id5..."/>
</SupplementalProperty>
この場合のMPDファイル122の記述例を図27に示す。図27の例においては、MPDファイル122において上述の例のような記述がされ、RepresentationGroup id=1は、高Level of Detailのビットバリエーションのグループに紐づけられている。
なお、Scene Descriptionデータ121のurlのURLパラメータで指定するのではなく、例えば、図28に示されるように、Bitwrapperノード15やMovieTextureノード16において、AdaptationSet@idとRepresentationGroupを示すfieldを拡張するようにしてもよい。この場合、url fieldは、MPDファイル122へのアクセス情報が記述される。
また、以上においては、Bitwrapperノード15やMovieTextureノード16の拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。さらに、url fieldではなく、メディアデータのアクセス情報のリストを示しているurlを示すlistUrl fieldを追加し、MPDファイル122のURLを記述するようにしてもよい。
<3−6:実施の形態1−1−3>
<起点をScene Descriptionにする>
実施の形態1−1−1および実施の形態1−1−2においては、最初にMPDファイル122を取得し、その後Scene Descriptionデータ121を取得し、視点に応じた適切な構成を選択し、さらにその後にMPDファイル122のAdaptationSetからビットレートを選択するように説明した。すなわち、最初にMPDファイル122を取得しているので、処理の起点がMPDファイル122になっている。
この処理の起点をScene Descriptionデータ121にするようにしてもよい。その場合、それ以降の処理は、実施の形態1−1−1または実施の形態1−1−2において説明したのと同様である。つまり、最初に取得するファイルがScene Descriptionデータ121になり、視点に応じた適切な構成を選択した後に、MPDファイル122を取得し、指示されているAdaptationSetからビットレートを選択することになる。その場合、例えば、図14のMPDファイル122の、下記の部分(すなわち、Scene Descriptionデータ121のAdaptationSet)が不要になる。つまり、メタデータへのアクセス情報を含まないMPDを生成するようにしてもよい。
<AdaptationSet id="0" > // Scene Description
<Representation id="sd" bandwidth="500000"><BaseURL> SD.mp4 </BaseURL></Representation>
</AdaptationSet>
また、各メディアデータのAdaptationSetにシグナリングされる、< EssentialProperty schemeIdUri=" ExternalReferencedData " value="AdaptationSet@id"/>のvalue値のシグナリングが不要になる。
<3−7:実施の形態1−2>
<Scene Descriptionのみを用いた構成で実現する>
実施の形態1−1においては、Scene Descriptionデータ121およびMPDファイル122を用いてビットレートアダプテーションを実現する場合について説明したが、Scene Descriptionデータ121を拡張することでビットレートアダプテーションを実現するようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。換言するに、メタデータは、コンテンツの、視点位置に基づく空間表示制御情報であり、そのコンテンツの配信の際にビットレートを選択可能にする情報をノードとして有する視点位置に基づく空間表示制御情報を生成するようにしてもよい。
<Scene Descriptionの拡張>
既存のScene Descriptionデータ121の場合、図5に示されるように、3DオブジェクトのLevel of detail毎にBitwrapperノード15とMovieTextureノード16がそれぞれ1つずつシグナルすることができるのみであり、各Level of detailにおいて、複数のBitwrapperノード15とMovieTextureノード16をシグナルすることができない。つまり、ビットバリエーションをもつことができない。
そこで、メッシュデータおよびテクスチャデータ毎に複数のビットレートのデータから選択できるようにScene Descriptionデータ121を拡張する。
<配信システム>
この場合の配信システム100の構成は、図29に示されるように、図6の例と同様である。ただし、ファイル生成装置101は、Scene Descriptionデータ121やメディアデータ123を生成するが、MPDファイル122は、生成しない。したがって、配信サーバ102もMPDファイル122をクライアント装置103に供給しない。クライアント装置103は、配信サーバ102よりScene Descriptionデータ121を取得し、そのScene Descriptionデータ121に基づいて、メディアデータを配信サーバ102から取得し、再生する。
<ファイル生成装置>
この場合のファイル生成装置101の主な構成例を図30に示す。図30に示されるように、この場合のファイル生成装置101は、図7の場合と同様に、制御部151およびファイル生成部152を有する。
ただし、ファイル生成部152は、データ入力部161、Scene Description生成部162、メディアデータ生成部163、セグメントファイル生成部165、記録部166、およびアップロード部167を有する。つまり、図7の場合と比べて、MPDファイル生成部164が省略される。
記録部166は、セグメントファイル生成部165から供給されるScene Descriptionセグメントファイルおよびメディアデータセグメントファイルを、自身が有する記録媒体に記録する。また、記録部166は、所定のタイミングにおいてまたはユーザ等の要求に基づいて、記録媒体に記録しているそれらのセグメントファイルを読み出し、それをアップロード部167に供給する。
アップロード部167は、記録部166からScene Descriptionセグメントファイルおよびメディアデータセグメントファイルを取得し、それらを配信サーバ102にアップロードする(送信する)。
<クライアント装置>
この場合のクライアント装置103の主な構成例を図31に示す。図31に示されるように、この場合のクライアント装置103は、図8の場合と同様に、制御部171および再生処理部172を有する。
ただし、再生処理部172は、Scene Descriptionセグメントファイル取得部183、Scene Descriptionセグメントファイル処理部184、表示制御部185、計測部186、メディアデータセグメントファイル取得部188、復号処理部189、表示情報生成部190、および表示部191を有する。つまり、図8の場合と比べて、MPDファイル取得部181、MPDファイル処理部182、およびメディアデータセグメントファイル選択部187が省略される。
Scene Descriptionセグメントファイル取得部183は、配信サーバ102にアクセスし、6DoFコンテンツおよび視点位置に対応するScene Descriptionセグメントファイルを取得し、それをScene Descriptionセグメントファイル処理部184に供給する。つまり、Scene Descriptionセグメントファイル取得部183は、MPDファイル122無しにScene Descriptionセグメントファイルを取得する。
Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイル、視点位置、伝送帯域等の情報に基づいて、再生するメディアデータセグメントファイルを選択する。Scene Descriptionセグメントファイル処理部184は、その決定したメディアデータセグメントファイルのアクセス先をメディアデータセグメントファイル取得部188に供給する。
メディアデータセグメントファイル取得部188は、配信サーバ102にアクセスし、Scene Descriptionセグメントファイル処理部184により選択されたメディアデータセグメントファイルを要求して取得し、復号処理部189に供給する。
<ファイル生成処理の流れ>
次に、この場合のファイル生成処理の流れの例を、図32のフローチャートを参照して説明する。ファイル生成処理が開始されると、ファイル生成装置101のScene Description生成部162は、ステップS221において、Level of Detailのビットバリエーション毎のメディアデータへのリンクを含むScene Descriptionを生成する。
ステップS222乃至ステップS225の各処理は、ステップS103、ステップS104、ステップS106、およびステップS108の各処理と同様に実行される。ステップS108の処理が完了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図33のフローチャートを参照して説明する。再生処理が開始されると、Scene Descriptionセグメントファイル取得部183は、ステップS241において、現在時刻の、Level of Detailのビットバリエーション毎のメディアデータへのリンクを含むScene Descriptionを取得する。
ステップS242において、Scene Descriptionセグメントファイル処理部184は、表示制御部185から視点位置を示す情報を取得する。ステップS243において、Scene Descriptionセグメントファイル処理部184は、その情報により示される視点位置に基づいて、Level of Detailを選択する。
ステップS244において、計測部186は、配信サーバ102とクライアント装置103との間の伝送路の伝送帯域を計測する。Scene Descriptionセグメントファイル処理部184は、その計測結果(つまり伝送帯域を示す情報)を取得する。
ステップS245において、Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイルにおいて、ステップS244において取得した伝送帯域を示す情報に基づいて、ノードを選択する。
ステップS246において、メディアデータセグメントファイル取得部188は、配信サーバ102にアクセスし、ステップS245において選択されたノードのメッシュファイルまたはテクスチャファイルを取得する。
ステップS247において、復号処理部189は、ステップS246において取得したメディアデータセグメントファイルを復号する。そして、表示情報生成部190は、復号されたメディアデータセグメントファイルを用いてレンダリングを行い、表示用画像を生成する。
ステップS247の処理が終了すると再生処理が終了する。このように各処理を行うことにより、クライアント装置103は、コンテンツ再生のロバスト性を向上させることができる。
<3−8:実施の形態1−2−1>
<新しいノードを定義する>
Scene Descriptionデータ121を拡張するにあたって、既存のノードはそのまま利用し、ビットレートアダプテーションのために新しいノードを追加するようにしてもよい。つまり、3次元オブジェクトの複数のビットレートバリエーションを複数の子ノードとして表現する専用のノードを含む視点位置に基づく空間表示制御情報を生成するようにしてもよい。
<Scene Descriptionのシグナリング>
例えば、複数のノードからクライアントが選択をすることができることを示す、ClientSelectionノードを新たに定義するようにしてもよい。ClientSelectionノードは、複数のノードとそれぞれのノードで示されるデータのビットレートをシグナリングすることができるノードである。そのClientSelectionノードの例を図34に示す。
図34に示されるように、ClientSelectionノード301は、複数の子ノードを示すSelectionNode fieldと、それぞれの子ノードのビットレートを示すbitrate fieldを有する。つまり、SelectionNode fieldには、子ノードのリストが記述され、bitrate fieldには、各子ノードのビットレートのリストが記述される。両フィールドのリストの順は対応しており、SelectionNode fieldのn番目の子ノードのビットレート情報は、bitrate fieldのn番目のビットレート情報で示される。
このようなClientSelectionノード301を利用して複数のビットレートから選択をできるようにしたScene Descriptionデータ121のシーングラフの例を図35に示す。図35においては、3DオブジェクトAの高Level of Detailに関してのみビットレートバリエーションのグラフのみが示されている。その他のLevel of Detail、3Dオブジェクトも同様のため、省略している。
図35の3DオブジェクトAの高Level of Detailのメッシュデータでは、Shapeノード13−1の子ノードをClientSelectionノード301−1としている。そのClientSelectionノード301−1は、17Mbps、15Mbps、13MbpsのビットレートバリエーションのBitwrapperノード15(Bitwrapperノード15−1−1、Bitwrapperノード15−1−2、Bitwrapperノード15−1−3)を子ノードとしている。テクスチャデータのビットレートバリエーションは、Appearanceノードの子ノードをClientSelectionノード301−2としている。そのClientSelectionノード301−2は、17Mbps、15Mbps、13MbpsのビットレートバリエーションのMovieTextureノード16(MovieTextureノード16−1−1、MovieTextureノード16−1−2、MovieTextureノード16−1−3)を子ノードとしている。
以上のように、ClientSelectionノード301を用いることにより、メッシュデータやテクスチャデータの複数のビットレートバリエーションを、その子ノードとして表現することができる。したがって、その各子ノードにより、各ビットレートバリエーションのメディアデータへのアクセス情報を記述することができるので、このようなClientSelectionノード301を用いたScene Descriptionデータを用いることにより、配信における適応的なビットレートの制御(配信のビットレートアダプテーション)を実現することができる。つまり、伝送帯域幅が狭くなることによる再生の途切れの発生等を抑制することができ、コンテンツ再生のロバスト性を向上させることができる。
<ファイル生成処理の流れ>
次に、この場合のファイル生成処理の流れの例を、図36のフローチャートを参照して説明する。
ファイル生成処理が開始されると、ファイル生成装置101のScene Description生成部162は、ステップS261において、上述のようなClientSelectionノード301を含むScene Descriptionデータ121を生成する。
ステップS262乃至ステップS265の各処理は、ステップS222乃至ステップS225の各処理と同様に実行される。ステップS265の処理が終了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図37のフローチャートを参照して説明する。再生処理が開始されると、Scene Descriptionセグメントファイル取得部183は、ステップS281において、現在時刻の、ClientSelectionノード301を含むScene Descriptionデータ121を取得する。ステップS282の処理は、ステップS242の処理(図33)と同様に実行される。
ステップS283において、Scene Descriptionセグメントファイル処理部184は、ステップS282において取得した情報に基づいてScene Description処理を実行し、メッシュデータやテクスチャデータのビットレートバリエーションを決定する。
ステップS284の処理は、ステップS244の処理(図33)と同様に実行される。
ステップS285において、Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイルにおいて、利用するLevel of Detailのメッシュファイルおよびテクスチャファイルのビットレートバリエーション(ClientSelectionノードの子ノード)を選択する。その際、Scene Descriptionセグメントファイル処理部184は、取得する全セグメントファイルのビットレートの合計がステップS284において取得した伝送帯域より小さくなるような子ノードを選択する。
ステップS286の処理は、ステップS246の処理(図33)と同様に実行される。
ステップS287において、復号処理部189は、ステップS286において取得したメディアデータセグメントファイル(メッシュファイルやテクスチャファイル)を復号する。そして、表示情報生成部190は、復号されたメディアデータセグメントファイルを用いてレンダリング処理を行い、表示用画像を生成する。このレンダリング処理は、図19のフローチャートを参照して説明した場合と同様に実行される。ステップS287の処理が終了すると、再生処理が終了する。
このように各処理を行うことにより、クライアント装置103は、コンテンツ再生のロバスト性を向上させることができる。
<Secene Description処理の流れ>
次に、図37のステップS283において実行されるScene Description処理の流れの例を、図38のフローチャートを参照して説明する。
Scene Description処理が開始されると、ステップS301乃至ステップS306の各処理が、ステップS181乃至ステップS186の各処理と同様に実行される。
ステップS307において、Scene Descriptionセグメントファイル処理部184は、決定した子ノードを取得して、ClientSelectionノード301から、メッシュファイルおよびテクスチャファイルのノードのバリエーションをリストする。
ステップS307の処理が終了すると、処理はステップS302に戻り、それ以降の処理が繰り返される。つまり、ステップS302乃至ステップS307の各処理が、各Transformノード12について実行される。
ステップS302において、未処理のTransformノードが存在しないと判定された場合、処理はステップS308に進む。
ステップS308において、Scene Descriptionセグメントファイル処理部184は、利用する全てのLevel of Detailのメッシュファイルとテクスチャファイルのバリエーションを決定する。ステップS308の処理が終了すると、Scene Description処理が終了し、処理は図37に戻る。
以上のように、各処理を実行することにより、クライアント装置103は、配信の際の適応的なビットレート制御を可能にする(ビットレートアダプテーションを実現する)ことができる。したがって、ファイル生成装置101は、コンテンツ再生のロバスト性を向上させることができる。
<3−9:実施の形態1−2−2>
<既存のノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。例えば、3次元オブジェクトの複数のビットレートバリエーションを複数の子ノードとして表現するフィールドが追加されたノードを含む視点位置に基づく空間表示制御情報を生成するようにしてもよい。
<Scene Descriptionのシグナリング>
例えば、既存のBitwrapperノード15およびMovieTextureノード16で複数のアクセス情報をリストし、それぞれのアクセス情報のビットレートを指定できるように拡張してもよい。その場合のBitwrapperノード15およびMovieTextureノード16の例を図39に示す。この場合、Bitwrapperノード15は、url fieldをurllist fieldに拡張し、複数のメッシュデータファイルを指定できるようになされている。それぞれのurllistで示されるメッシュデータファイルのビットレートは、bitrate fieldで示されている。urllist fieldのn番目に示されるurlのメッシュデータファイルのビットレートは、bitrate fieldのn番目のビットレート情報で示される。
同様にMovieTextureノード16は、url fieldをurllist fieldに拡張し、複数のテクスチャデータファイルを指定できるようになされている。それぞれのurllistで示されるテクスチャデータファイルのビットレートがbitrate fieldで示されている。
上述の拡張したノードのシーングラフは図5と同様である。ただし、この場合、Bitwrapperノード15およびMovieTextureノード16からビットレートの異なるメディアデータにアクセスすることができる。なお、Bitwrapperノード15およびMovieTextureノード16の拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<4.第2の実施の形態(実施の形態2)>
<ビットレートを一律に下げるためのシグナリング>
さらに、全てのメッシュ、テクスチャのビットレートを一律に下げることで品質を維持できることを示すシグナリングを追加するようにしてもよい。換言するに、全ての3次元オブジェクトのビットレートを一律に制御することで品質の維持が可能であることを示す情報をさらに含むメタデータを生成するようにしてもよい。
帯域幅が十分でない場合、各メッシュとテクスチャのビットレートをより下げたセグメントファイルを取得する必要があるが、この時に、全てのメッシュ、テクスチャのビットレートを一律に下げることで品質を維持できることを示す情報をシグナリングすることにより、再生側(クライアント装置103)において、各3Dオブジェクトを、どのようにビットレートを下げるのが適切であるかを容易に把握することができる。したがって、その情報に基づいて、6DoFコンテンツの表示の際に維持すべき視点位置で決めた3Dオブジェクト間の品質の相対性を維持するように、全てのメッシュ、テクスチャのビットレートを一律に下げることができる。したがって、6DoFコンテンツの品質の低減を抑制することができる。
<メッシュおよびテクスチャのビットレートアダプテーションの構成方法>
本実施の形態においては、次の2つの条件を満たすようにビットレートアダプテーションを構成するものとする。
(1)各メッシュ、テクスチャのビットレートバリエーションの数は等しい。
(2)ビットレートバリエーション間の品質の違いは、他の3Dオブジェクトと相対的に同じである。
例えば、メッシュの場合は、エンコードパラメータ(量子化ビット数)でビットレートバリエーションを作成する(例えば3つビットレートバリエーションを作成する場合、どのメッシュのビットレートバリエーションも量子化ビット数を10,8,6の3パターンで作成する)ものとする。テクスチャの場合も同様にエンコードパラメータ(量子化パラメータ)でビットレートバリエーションを作成するものとする。
<4−1:実施の形態2−1>
<ビットレート順に相対的な品質が維持されていることを示すシグナリングの追加>
テクスチャのビットレートを一律に下げることで品質を維持できることを示すシグナリングとして、ビットレート順に相対的な品質が維持されていることを示すシグナリングを追加するようにしてもよい。
<4ー2:実施の形態2−1−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、ビットレート順に相対的な品質が維持されていることを示すシグナリングを追加するようにしてもよい。
つまり、実施の形態1−1と同様のシステムにおいて、ビットレート順に相対的な品質が維持されていることを示すシグナリングを追加するようにしてもよい。つまり、この場合の配信システム100の構成は図6の例と同様であり、ファイル生成装置101の構成は図7の例と同様であり、クライアント装置103の構成は図8の例と同様である。
<ファイル生成処理の流れ>
この場合のファイル生成処理の流れの例を、図40のフローチャートを参照して説明する。ファイル生成処理が開始されると、ファイル生成装置101のMPDファイル生成部164は、ステップS321において、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報を含むMPDファイル122を生成する。
ステップS322乃至ステップS328の各処理は、ステップS102乃至ステップS108の各処理(図9)と同様に実行される。ステップS328の処理が終了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図41のフローチャートを参照して説明する。再生処理が開始されると、クライアント装置103のMPDファイル取得部181は、ステップS341において、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報を含むMPDファイル122を取得する。
ステップS342乃至ステップS346の各処理は、ステップS122乃至ステップS126の各処理(図10)と同様に実行される。
ステップS347において、メディアデータセグメントファイル選択部187は、MPDファイル122において、伝送帯域と、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されることを示す情報とに基づいて、メディアデータセグメントファイルを選択する。
ステップS348およびステップS349の各処理は、ステップS128およびステップS129の各処理(図10)と同様に実行される。ステップS349の処理が終了すると、再生処理が終了する。
以上のように各処理を実行することにより、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報に基づく再生が可能になるので、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを一律に下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<4−3:実施の形態2−1−1−1>
<MPDのみ拡張>
その場合、例えば、MPDファイルの拡張のみにより、ビットレート順に相対的な品質が維持されていることを示すシグナリングを追加するようにしてもよい。
<MPDのシグナリング>
例えば、MPDファイル122の、全てのメッシュおよび、テクスチャのAdaptationSetにおいて、ビットレート順(Representation@bandwidth順)に取得すると3Dオブジェクト間の相対的な品質が変わらないことを示す品質相関情報を追加するようにしてもよい。
具体的には、Periodに、SupplementalPropertyで、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が変わらないAdaptationSetのidリストをスペース区切りでシグナリングする。以下にその例を示す。
例:<SupplementalProperty schemeIdUri="RelativeQualityIsEnsuredByBitrateOrder"
value="as1@id as2@id ・・・">
このSupplementalPropertyは、複数シグナリングしてもよい。例えば、6DoFコンテンツではなく、Audioにも同様に適用してもよい。
本実施の形態の場合のMPDファイル122の例を図42に示す。この例は、3Dオブジェクトが3つあり、それぞれに高中低の3つのLevel of detailをもつ。さらに、それぞれのメッシュとテクスチャに3つのビットレートバリエーションを持つ。
例えば、図42で、3DオブジェクトAは高Level of detail(AdaptationSet@id=1と2)、3DオブジェクトBは中Level of detail(AdaptationSet@id=9と10)、3DオブジェクトCは中Level of detail(AdaptationSet@id=15と16)が適切なLevel of detailであると選択されている場合、ビットレートの組合せ(Representationの組み合わせ)は以下の3パターンから選択すると相対的な品質を維持した表示が可能となる。
パターン1:
Representation@id=AHm-1、Representation@id=AHt-1、Representation@id=BMm-1、Representation@id=BMt-1、Representation@id=CMm-1、Representation@id=CMt-1
パターン2:
Representation@id=AHm-2、Representation@id=AHt-2、Representation@id=BMm-2、Representation@id=BMt-2、Representation@id=CMm-2、Representation@id=CMt-2
パターン3:
Representation@id=AHm-3、Representation@id=AHt-3、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-3、Representation@id=CMt-3
<変形例>
図42においてはPeriodにシグナリングする例を書いたが、AdaptationSetにシグナリングするようにしてもよい。ただし、その場合、value値は指定せず、このPropertyをもつAdaptationSetがビットレート順に取得すると3Dオブジェクト間の相対的な品質が変わらないAdaptationSetであることを示すようにする。以下に例を示す。また、この場合のMPDファイル122の例を図43に示す。
例:<SupplementalProperty schemeIdUri="RelativeQualityIsEnsuredByBitrateOrder">
また、Videoだけでなく、Audioでも同様に利用する場合も考慮し、Value値としてグループ番号を指定し、同じグループ番号間では一律に下げるようにしてもよい。例えば、以下の例のように、valueの先頭にGroupIdをシグナリングするようにしてもよい。
例:<SupplementalProperty schemeIdUri="RelativeQualityIsEnsuredByBitrateOrder"
value="G
roupId, as1@id as2@id ・・・">
また、以下の例のように、SupplementalPropertyではなく、Periodもしくは、AdaptationSetのAttributeとして、@ RelativeQualityIsEnsuredByBitrateOrderをシグナルし、値としてTrue/Falseもしくはグループ番号をシグナルするようにしてもよい。
例:<Period RelativeQualityIsEnsuredByBitrateOrder="as1@id as2@id ・・・">
例:<ApdationSet RelativeQualityIsEnsuredByBitrateOrder="True">
上述した実施の形態1−1−1、実施の形態1−1−2、実施の形態1−1−3の全てにおいて、本実施の形態において説明した方法を適用することができる。本手法を実施の形態1−1−2に適用する場合、URLパラメータや、MPDのRepresentationGroupで示された中で、ビットレート順で処理するようにすればよい。
<再生処理の流れ>
この場合のファイル生成処理は、図40のフローチャートと同様に実行される。この場合の再生処理の流れの例を、図44のフローチャートを参照して説明する。再生処理が開始されると、MPDファイル取得部181は、ステップS361において、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報を含むMPDファイル122を取得する。
ステップS362乃至ステップS366の各処理は、ステップS162乃至ステップS166の各処理(図17)と同様に実行される。
ステップS367において、メディアデータセグメントファイル選択部187は、MPDファイル122の、各3Dオブジェクトの所望のLevel of Detailに対応するAdaptationSetのそれぞれにおいて、Representationを選択する。その際、メディアデータセグメントファイル選択部187は、ビットレートの順番が同じであるRepresentationを選択し、取得する全セグメントファイルのビットレートの合計がステップS366において取得した伝送帯域より小さくなるように、Representationを選択する。
ステップS368およびステップS369の各処理は、ステップS168およびステップS169の各処理(図17)と同様に実行される。ステップS369の処理が終了すると、再生処理が終了する。
以上のように各処理を実行することにより、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報に基づく再生が可能になるので、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを一律に下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<4−4:実施の形態2−1−1−2>
<Scene Descriptionの拡張>
実施の形態2−1−1−1において説明した方法のようにMPDファイル122ではシグナリングせずに、Scene Descriptionデータ121においてシグナリングするようにしてもよい。
<Scene Descriptionのシグナリング>
Scene Descriptionデータ121のBitwrapperノード15およびMovieTextureノード16のurl fieldの記述を拡張するようにしてもよい。例えば、URLにビットレート順に取得すると3Dオブジェクト間の相対的な品質が変わらないことを示すURLパラメータを付加するようにする。より具体的には、例えば、RelativeQualityIsEnsuredByBitrateOrderをURLパラメータの変数とし付加する。このURLパラメータを持つ場合、ビットレート順(Representation@bandwidth順)に取得すると3Dオブジェクト間の相対的な品質が維持できることを示すものとする。以下に例を示す。
URLの例:
http://www.6dofserver.com/6dof.mpd?AS=1&RelativeQualityIsEnsuredByBitrateOrder
この場合のScene Descriptionデータ121の例を図45に示す。図45に示されるように、Bitwrapperノード15およびMovieTextureノード16のurl fieldのURLに、URLパラメータの変数として、RelativeQualityIsEnsuredByBitrateOrderが付加されている。
このようにすることにより、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報を、Scene Descriptionデータ121においてシグナリングすることができる。したがって、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを一律に下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
以上においては、実施の形態1−1−1に適用する場合について説明したが、本手法は、実施の形態1−1−2や実施の形態1−1−3にも同様に適用することができる。実施の形態1−1−2に適用する場合、URLパラメータや、MPDのRepresentationGroupで示された中で、ビットレート順で処理するようにすればよい。
<変形例>
本拡張においても、実施の形態2−1−1の変形例のように、ビットレート順に取得するグルーピングを示すために、URLパラメータの値としてグルーピング番号を示すようにしてもよい。
<4−5:実施の形態2−1−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、ビットレートを一律に下げるためのシグナリングを追加するようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。
つまり、実施の形態1−2と同様のシステムにおいて、ビットレート順に相対的な品質が維持されていることを示すシグナリングを追加するようにしてもよい。つまり、この場合の配信システム100の構成は図29の例と同様であり、ファイル生成装置101の構成は図30の例と同様であり、クライアント装置103の構成は図31の例と同様である。
<ファイル生成処理の流れ>
この場合のファイル生成処理の流れの例を、図46のフローチャートを参照して説明する。ファイル生成処理が開始されると、ファイル生成装置101のScene Description生成部162は、ステップS381において、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報を含むScene Descriptionデータ121を生成する。
ステップS382乃至ステップS385の各処理は、ステップS222乃至ステップS225の各処理(図32)と同様に実行される。ステップS385の処理が終了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図47のフローチャートを参照して説明する。再生処理が開始されると、クライアント装置103のScene Descriptionセグメントファイル取得部183は、ステップS401において、現在時刻の、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報を含むScene Descriptionセグメントファイルを取得する。
ステップS402乃至ステップS404の各処理は、ステップS242乃至ステップS244の各処理(図33)と同様に実行される。
ステップS405において、Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイルにおいて、伝送帯域と、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されることを示す情報とに基づいて、ノードを選択する。
ステップS406およびステップS407の各処理は、ステップS246およびステップS247の各処理(図33)と同様に実行される。ステップS407の処理が終了すると、再生処理が終了する。
以上のように各処理を実行することにより、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報に基づく再生が可能になるので、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを一律に下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<4−6:実施の形態2−1−2−1>
<新しいノードを定義する>
Scene Descriptionデータ121を拡張するにあたって、既存のノードはそのまま利用し、ビットレートアダプテーションのために新しいノードを追加するようにしてもよい。
<Scene Descriptionのシグナリング>
例えば、全てメッシュとテクスチャにおいて、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が変わらないことを示す品質相関情報を追加するようにしてもよい。より具体的には、ClientSelectionノード301にビットレート順に取得すると3Dオブジェクト間の相対的な品質が変わらないことを示すRelativeQualityIsEnsuredByBitrateOrderFlag fieldを追加するようにしてもよい。そのClientSelectionノードの拡張例を図48に示す。
このRelativeQualityIsEnsuredByBitrateOrderFlagがTRUEであるメッシュおよびテクスチャは、ビットレートを変更する際に、bitrate fieldで示されているビットレート順に同時に下げることにより、3Dオブジェクト間の相対的な品質を変えずにビットレートを下げることができることを示す。
<変形例>
なお、本拡張においても、ビットレート順に取得するグルーピングを示すために、RelativeQualityIsEnsuredByBitrateOrderFlag ではなく、RelativeQualityIsEnsuredByBitrateOrderとし、SFint型でシグナルしグルーピング番号を示すようにしてもよい。
<4−7:実施の形態2−1−2−2>
<既存ノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。
<Scene Descriptionのシグナリング>
例えば、実施の形態1−2−2において拡張したBitwrapperノード15およびMovieTextureノード16に、上述のRelativeQualityIsEnsuredByBitrateOrderFlag fieldを拡張するようにしてもよい。図49にその場合の、Bitwrapperノード15およびMovieTextureノード16の例を示す。
<変形例>
本拡張においても、ビットレート順に取得するグルーピングを示すために、RelativeQualityIsEnsuredByBitrateOrderFlag ではなく、RelativeQualityIsEnsuredByBitrateOrderとし、SFint型でシグナルしグルーピング番号を示すようにしてもよい。
また、以上においては、Bitwrapperノード15およびMovieTextureノード16の拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<5.第3の実施の形態(実施の形態3)>
<取得するビットレート組合せ示すシグナリング>
さらに、各テクスチャ、メッシュのバリエーションに対して、どのビットレートのものを同時に取得すれば相対的な品質の関係を維持できるかを示す品質相関情報を追加するようにしてもよい。換言するに、3次元オブジェクトの間の相対的な品質を示す情報をさらに含むメタデータを生成するようにしてもよい。
3Dオブジェクト毎にビットレートバリエーション数やその中の品質の変化は異なることがある。例えば、メッシュデータは、頂点数の多い3Dオブジェクト(例えば人)は複数のビットレートを作成することができるが、頂点数の少ない3Dオブジェクト(例えば箱)はエンコードパラメータを変えてもビットレートは変わらないため、同じ数のビットレートが準備できない。
そのような場合に、第2の実施の形態のように一律にビットレートを下げてしまうと、視点位置で決めた3Dオブジェクト間の相対的な品質の関係が大きく崩れる可能性があった。3Dオブジェクトによってはビットレートバリエーションがなく対応できないこともあり得る。その場合、取得できるビットレートのファイルが存在しないので、コンテンツを再生できなくなることもあり得る。
上述のように、品質相関情報を追加することにより、そのような場合であっても3Dオブジェクト間の相対的な品質の関係を維持するようにビットレートを制御することができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<5−1:実施の形態3−1>
<品質のランキングを利用して選択することで相対的な品質も維持できることを示すシグナリング>
3Dオブジェクトの各Level of Detailのメッシュおよびテクスチャそれぞれのビットレートバリエーションに品質のランキングをシグナリングする。さらに、それの値を元に取得することで、相対的な品質が維持できることを示すシグナリグを行うようにしてもよい。例えば、3次元オブジェクトの間の相対的な品質を示す情報として、3次元オブジェクトの各ビットレートバリエーションの品質を順位で示すQualityRankingを含むメタデータを生成するようにしてもよい。この際に、QualityRankingの値で相対的な品質が変わらないようにエンコードする。例えば、実施の形態2のビットレートアダプテーションの構成方法でエンコードし、エンコードパラメータ順にQualityRankingを決め、その後、ビットレートの変化が少ないものを間引くようにしてもよい。
<5−2:実施の形態3−1−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、QulityRanking(品質相関情報)をシグナリングするようにしてもよい。このQualityRankingは既存のDASH規格(ISO/IEC 23009-1)のRepresentation@QualityRankingを用いる。
つまり、実施の形態1−1と同様のシステムにおいて、QulityRankingをシグナリングするようにしてもよい。つまり、この場合の配信システム100の構成は図6の例と同様であり、ファイル生成装置101の構成は図7の例と同様であり、クライアント装置103の構成は図8の例と同様である。
<ファイル生成処理の流れ>
この場合のファイル生成処理の流れの例を、図50のフローチャートを参照して説明する。ファイル生成処理が開始されると、ファイル生成装置101のMPDファイル生成部164は、ステップS421において、QualityRankingを含むMPDファイル122を生成する。
ステップS422乃至ステップS428の各処理は、ステップS102乃至ステップS108の各処理(図9)と同様に実行される。ステップS328の処理が終了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図51のフローチャートを参照して説明する。再生処理が開始されると、クライアント装置103のMPDファイル取得部181は、ステップS441において、QualityRankingを含むMPDファイル122を取得する。
ステップS442乃至ステップS446の各処理は、ステップS122乃至ステップS126の各処理(図10)と同様に実行される。
ステップS447において、メディアデータセグメントファイル選択部187は、MPDファイル122において、伝送帯域と、QualityRankingとに基づいて、メディアデータセグメントファイルを選択する。
ステップS448およびステップS449の各処理は、ステップS128およびステップS129の各処理(図10)と同様に実行される。ステップS349の処理が終了すると、再生処理が終了する。
以上のように各処理を実行することにより、QualityRankingに基づく再生が可能になるので、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<5−3:実施の形態3−1−1−1>
<MPDのみ拡張>
その場合、例えば、MPDファイルの拡張のみにより、全てのメッシュおよび、テクスチャのAdaptationSetにおいて、RepresentationでシグナリングされるQualityRanking順(Representation@QualityRanking)に取得すると3Dオブジェクト間の相対的な品質が変わらないことを示す情報を追加するようにしてもよい。
より具体的には、Periodに、SupplementalPropertyで、QualityRanking順に取得すると3Dオブジェクト間の相対的な品質が変わらないAdaptationSetのidリストをスペース区切りでシグナリングする。以下に例を示す。
例:<SupplementalProperty schemeIdUri="RelativeQualityIsEnsuredByQualityRanking"
value="as1@id as2@id ・・・">
同じQualityRanking値のRepresentationがない場合、近いQualityRanking値のRepresentationを選択するようにしてもよい。このSupplementalPropertyは複数シグナリングされることもできる。例えば、6DoFコンテンツではなく、Audioにも同様に適用する場合である。
この場合のMPDファイル122の例を図52に示す。この例は、3Dオブジェクトが3つあり、それぞれに高中低の3つのLevel of detailをもつ。さらに、それぞれのメッシュとテクスチャのビットレートバリエーションは、異なっている。
図52において、3DオブジェクトAは高Level of detail(AdaptationSet@id=1と2)、3DオブジェクトBは中Level of detail(AdaptationSet@id=9と10)、3DオブジェクトCは中Level of detail(AdaptationSet@id=15と16)が適切なLevel of detailであると選択されている場合、ビットレートの組合せはQualityRankingを参考に次の3パターンから選択すると相対的な品質を維持した表示が可能となる。
パターン1:
Representation@id=AHm-1、Representation@id=AHt-1、Representation@id=BMm-1、Representation@id=BMt-1、Representation@id=CMm-1、Representation@id=CMt-1
パターン2:
Representation@id=AHm-2、Representation@id=AHt-2、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-1、Representation@id=CMt-2
パターン3:
Representation@id=AHm-3、Representation@id=AHt-3、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-1、Representation@id=CMt-3
実施の形態1−1−1、実施の形態1−1−2、実施の形態1−1−3のいずれにおいても本手法の適用が可能である。ただし、実施の形態1−1−2の場合、QualityRankingが1から始まらないRepresentationGroupが選択される場合があるが、クライアントの実装で、QualityRankingの値ではなく、QualityRankingの差を用いることで適用が可能である。
<変形例>
以上においてはPeriodにシグナリングする例を書いたが、AdaptationSetにシグナリングしてもよい。ただし、その場合は、value値は指定せず、このPropertyをもつAdaptationSetでQualityRanking順に取得すると3Dオブジェクト間の相対的な品質が変わらないAdaptationSetであることを示す。以下に例を示す。また、この場合のMPDファイル122の例を図53に示す。
例:<SupplementalProperty
schemeIdUri="RelativeQualityIsEnsuredByQualityRanking">
また、Videoだけでなく、Audioでも同様に利用する場合も考慮し、Value値としてグループ番号を指定し、同じグループ番号間では一律に下げるようにしてもよい。例えば、valueの先頭にGroupIdをシグナリングする。以下にその例を示す。
例:<SupplementalProperty schemeIdUri=" RelativeQualityIsEnsuredByQualityRanking"
value="G
roupId, as1@id as2@id ・・・">
<その他の変形例>
PeriodのAttributeにRelativeQualityIsEnsuredByQualityRankingを追加してもよい。また、AdaptationSetのAttributeにRelativeQualityIsEnsuredByQualityRankingを追加してもよい。以下にその例を示す。
例:<Period RelativeQualityIsEnsuredByQualitRanking="1 2 3 … 17 18">
例:<AdaptatonSet RelativeQualityIsEnsuredByQualitRanking="TRUE">
<再生処理の流れ>
この場合のファイル生成処理は、図50のフローチャートと同様に実行される。この場合の再生処理の流れの例を、図54のフローチャートを参照して説明する。再生処理が開始されると、MPDファイル取得部181は、ステップS461において、QualityRankingを含むMPDファイル122を取得する。
ステップS462乃至ステップS466の各処理は、ステップS162乃至ステップS166の各処理(図17)と同様に実行される。
ステップS467において、メディアデータセグメントファイル選択部187は、MPDファイル122の、各3Dオブジェクトの所望のLevel of Detailに対応するAdaptationSetのそれぞれにおいて、Representationを選択する。その際、メディアデータセグメントファイル選択部187は、SupplementalPropertyで示されるAdaptationSetについては、QualityRankingの値が同じか、近い値のRepresentationを選択し、取得する全セグメントファイルのビットレートの合計が伝送帯域より小さくなる組み合わせを選択する。
ステップS468およびステップS469の各処理は、ステップS168およびステップS169の各処理(図17)と同様に実行される。ステップS469の処理が終了すると、再生処理が終了する。
以上のように各処理を実行することにより、ビットレート順に取得すると3Dオブジェクト間の相対的な品質が維持されていることを示す情報に基づく再生が可能になるので、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
つまり、クライアント装置103は、各3DオブジェクトのメッシュデータおよびテクスチャデータのAdaptationSetから、ビットレートを選択する際に、QualityRankingの値が1である組合せ、次に2である組合せと、順に選択していくことで、ビットレートアダプテーションをしても相対的な品質の変わらないようにデータの選択が可能になる。QualityRankingの値が存在しない場合は近い値のQualityRankingのRepresentationを利用するようにしてもよい。
本実施の形態において、QualityRankingをある一定以上存在していない場合がある。その場合、それ以上Qualityを下げることができないため、最低のQualityになるものを選び続けるしかない。しかしながら、QualityRankingが離れすぎてしまい、相対的な品質が維持できないかもしれない。それを回避するために次のような手法をできるようにしてもよい。
(1)クライアント装置103が、他のQualityに合うように表示時のQualityを下げて表示する。たとえば、クライアント装置103が、表示時にガウスぼかしフィルタをその3Dオブジェクトの部分にのみに適用してから表示する。
(2)実施の形態1−1−1および実施の形態1−1−2に本技術を適用する場合、クライアント装置103が、配信サーバ102にQualityRankingの低いビットレートを作成させそれを取得する。
クライアント装置103は、配信サーバ102にMPDファイル名、ApdaptationSetのid、作成してほしいQualityRankingをリクエストする。配信サーバ102は、そのリクエストに応じて指定されたAdaptationSetのメッシュデータもしくはテクスチャデータの指定されたQualityRankingのセグメントファイルを作成する。そして、配信サーバ102は、MPDファイル122をMPD updateの仕組みを利用してUpdateし、クライアント装置103に送信する。クライアント装置103は、新しく取得したMPDファイル122に基づいて、再度、品質のランキングを利用して取得するファイルを選択する。この場合に、サーバには存在しないが作成可能なQualityRankingのセグメントファイルをあらかじめMPDにシグナリングしておいてもよい。
<5−4:実施の形態3−1−1−2>
<Scene Descriptionの拡張>
実施の形態3−1−1−1において説明した方法のようにMPDファイル122ではシグナリングせずに、Scene Descriptionデータ121においてシグナリングするようにしてもよい。
<Scene Descriptionのシグナリング>
その場合、実施の形態2−1−1−2の場合と同様に、Scene Descriptionデータ121のBitwrapperノード15およびMovieTextureノード16のurl fieldの記述を拡張するようにしてもよい。
例えば、以下に示す例のように、Scene Descriptionデータ121のメッシュ、テクスチャを示すURLのURLパラメータで、QualityRanking順に取得すると3Dオブジェクト間の相対的な品質が変わらないことを示すようにしてもよい。
URLの例:
http://www.6dofserver.com/6DoF.mpd?
AS=1&RelativeQualityIsEnsuredByByQualityRanking
この場合のScene Descriptionデータ121の記述は、図45の例のRelativeQualityIsEnsuredByBitrateOrderの部分がRelativeQualityIsEnsuredByByQualityRankingに置き換わったものになる。
以上においては、実施の形態1−1−1に適用する場合について説明したが、本手法は、実施の形態1−1−2や実施の形態1−1−3にも同様に適用することができる。また、実施の形態3−1−1−1のQualityRankingの低くなるビットレートバリエーションが存在しない場合の処理を行うことができるようにしてもよい。
<変形例>
また実施の形態3−1−1−1の変形例のようにグルーピング情報を追加するようにしてもよい。例えば、URLパラメータのRelativeQualityIsEnsuredByQualityRankingの値に、グルーピング情報を追加するようにしてもよい。以下にその例を示す。
URLの例:
http://www.6dofserver.com/6DoF.mpd?
AS=1&RelativeQualityIsEnsuredByQualityRanking=1
URLパラメータを拡張するのではなく、Bitwrapperノード15、MovieTextureノード16に、例えば、以下の例のような、新しいfieldを追加するようにしてもよい。
例:field SFBool RelativeQualityIsEnsuredByQualityRankingFlag
<5−5:実施の形態3−1−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、品質のランキングを利用して選択することで相対的な品質も維持できることを示すシグナリングを追加するようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。なお、この実施の形態においては、(1)品質のランキングをシグナリングする拡張、(2)QualityRanking順に取得することで相対的な品質が維持できることを示すシグナリングの拡張、の2つの拡張が行われる。
また、実施の形態1−2と同様のシステムにおいて、品質のランキングを利用して選択することで相対的な品質も維持できることを示すシグナリングを追加するようにしてもよい。つまり、この場合の配信システム100の構成は図29の例と同様であり、ファイル生成装置101の構成は図30の例と同様であり、クライアント装置103の構成は図31の例と同様である。
<ファイル生成処理の流れ>
この場合のファイル生成処理の流れの例を、図55のフローチャートを参照して説明する。ファイル生成処理が開始されると、ファイル生成装置101のScene Description生成部162は、ステップS481において、QualityRankingを含むScene Descriptionデータ121を生成する。
ステップS482乃至ステップS485の各処理は、ステップS222乃至ステップS225の各処理(図32)と同様に実行される。ステップS485の処理が終了すると、ファイル生成処理が終了する。
<再生処理の流れ>
次に、この場合の再生処理の流れの例を、図56のフローチャートを参照して説明する。再生処理が開始されると、クライアント装置103のScene Descriptionセグメントファイル取得部183は、ステップS501において、現在時刻の、QualityRankingを含むScene Descriptionセグメントファイルを取得する。
ステップS502乃至ステップS504の各処理は、ステップS242乃至ステップS244の各処理(図33)と同様に実行される。
ステップS505において、Scene Descriptionセグメントファイル処理部184は、Scene Descriptionセグメントファイルにおいて、伝送帯域と、QualityRankingとに基づいて、ノードを選択する。
ステップS506およびステップS507の各処理は、ステップS246およびステップS247の各処理(図33)と同様に実行される。ステップS507の処理が終了すると、再生処理が終了する。
以上のように各処理を実行することにより、QualityRankingに基づく再生が可能になるので、6DoFコンテンツの品質の低減を抑制するように、各3Dオブジェクトのメッシュ、テクスチャのビットレートを下げることができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<5−6:実施の形態3−1−2−1>
<新しいノードを定義する>
Scene Descriptionデータ121を拡張するにあたって、既存のノードはそのまま利用し、ビットレートアダプテーションのために新しいノードを追加するようにしてもよい。例えば、実施の形態1−2−1において説明したClientSelectionノード301を拡張するようにしてもよい。
そのClientSelectionノード301の拡張例を図57に示す。例えば、ClientSelectionノード301において、SelectionNode fieldで示される子ノードの品質のランキングをQualityRanking fieldで記述する。QualityRanking[n]は、SelectionNode[n]の品質のランキングを示す。
また、RelativeQualityIsEnsuredByQualityRankingFlagがTRUEであるメッシュおよびテクスチャは、QualityRanking fieldで示されているQualityRanking値が同じであるメッシュおよびテクスチャを選択することで、3Dオブジェクト間の相対的な品質を維持してビットレートを変更できることを示す。
<変形例>
また実施の形態3−1−1−1の変形例のように、グルーピング情報をシグナルできるようにしてもよい。その場合、RelativeQualityIsEnsuredByQualityRankingFlagを以下の例に置き換え、値としてグルーピング情報を持つようにする。
field SFint32 RelativeQualityIsEnsuredByQualityRanking
<5−7:実施の形態3−1−2−2>
<既存ノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。
<Scene Descriptionのシグナリング>
例えば、実施の形態1−2−2において拡張したBitwrapperノード15およびMovieTextureノード16に、上述のQualityRanking fieldおよび、RelativeQualityIsEnsuredByQualityRankingFlag fieldを拡張するようにしてもよい。図58にその場合の、Bitwrapperノード15およびMovieTextureノード16の例を示す。
<変形例>
実施の形態3−1−2−1の変形例のように、グルーピング情報を扱えるようにしてもよい。また、以上においては、Bitwrapperノード15およびMovieTextureノード16の拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<5−8:実施の形態3−2>
<Qualityそのものをシグナリング>
全てのビットレートバリエーションのQuality(例えばPSNRなど)をシグナリングする。この場合、クライアント装置103は、Qualityの変化が同じ程度になるようなデータを選択する。換言するに、3次元オブジェクトの間の相対的な品質を示す情報として、その3次元オブジェクトの各ビットレートバリエーションの品質を値で示すQuality値を含むメタデータを生成するようにしてもよい。
<5−9:実施の形態3−2−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、ビットレートバリエーションのQualityをシグナリングするようにしてもよい。
<MPDのシグナリング>
例えば、QualityそのものをRepresentationでシグナリングするようにしてもよい。例えば、Representationにおいて、SupplementalPropertyを用いて、Qualityの種類や値をシグナリングするようにしてもよい。以下にその例を示す。
<SupplementalProperty schemeIdUri="QualityValue" value="type,value">
この例において、Qualityの種類はtypeにより、Qualityの値はvalueによりシグナリングされる。Qualityの種類によっては時間毎にQuality値が異なることや、3Dオブジェクトを見る位置や方向などでQuality値が変わる可能性もある。その場合、本手法では特定の時間、視点位置、視線方向を元に計算された代表値のQuality値を利用すればよい。また、typeは図59の表のように示されればよい。
クライアント装置103は、示されているtypeとvalue値を用いて、ビットレートを下げる際に、Qualityの変化が同じ程度になるようなRepresentationを選択することで、相対的な品質を維持したビットレート選択が可能になる。
この場合のMPDファイル122の例を図60に示す。この例は、3Dオブジェクトが3つあり、それぞれに高中低の3つのLevel of detailをもつ。さらに、それぞれのメッシュとテクスチャのビットレートバリエーションは、異なっている。
図60に示されるMPDファイル122において、3DオブジェクトAは高Level of detail(AdaptationSet@id=1と2)、3DオブジェクトBは中Level of detail(AdaptationSet@id=9と10)、3DオブジェクトCは中Level of detail(AdaptationSet@id=15と16)が適切なLevel of detailであると選択されている場合を考える。ビットレートの組合せはQualityのValueを参考に最もQualityの良いものからの差が同じもしくは近い値を選択すると、次の3パターンが相対的な品質を維持した表示が可能である組合せになる。
パターン1:
Representation@id=AHm-1、Representation@id=AHt-1、Representation@id=BMm-1、Representation@id=BMt-1、Representation@id=CMm-1、Representation@id=CMt-1
パターン2:
Representation@id=AHm-2、Representation@id=AHt-2、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-1、Representation@id=CMt-2
パターン3:
Representation@id=AHm-3、Representation@id=AHt-3、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-1、Representation@id=CMt-3
本実施の形態の手法は、実施の形態1−1−1、実施の形態1−1−2、実施の形態1−1−3のいずれにも適用することができる。
本実施の形態の手法において、Quality値がある一定以上存在しない場合がある。その場合、それ以上Qualityを下げることができないため、最低のQualityになるものを選び続けるしかない。しかしながら、Qualityの相関関係が崩れてしまう。それを回避するために次のような手法をできるようにしてもよい。
(1)クライアントで他のQualityに合うように表示時のQualityを下げて表示する。例えば、表示時にガウスぼかしフィルタをその3Dオブジェクトの部分にのみに適用してから表示する。
(2)実施の形態1−1−1または実施の形態1−1−2の場合、 クライアント装置103は、配信サーバ102にQualityの低いビットレートを作成させそれを取得する。クライアント装置103は、配信サーバ102に、MPDファイル名、ApdaptationSetのid、作成してほしいQualityのtypeとvalueをリクエストする。配信サーバ102は、リクエストに応じて指定されたAdaptationSetのメッシュデータもしくはテクスチャデータの指定されたQualityのtypeとvalueになるセグメントファイルを作り、配置する。そして、MPDファイル122をMPD updateの仕組みを利用し Updateして、クライアント装置103に送信する。クライアント装置103は新しく取得したMPDファイルを基に、再度、Qualityを利用して取得するファイルを選択する。この場合に、サーバには存在しないが作成可能なQualityのtypeとvalueのセグメントファイルをあらかじめMPDにシグナリングしておいてもよい。
<変形例>
RepresentaitonのAttributeにQualityValueを追加するようにしてもよい。以下にその例を示す。
例:<RepresentationAdaptatonSet QualityValue="1,41">
<5−10:実施の形態3−2−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、Qualityそのもののシグナリングを追加するようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。
<5−11:実施の形態3−2−2−1>
<新しいノードを定義する>
Scene Descriptionデータ121を拡張するにあたって、既存のノードはそのまま利用し、ビットレートアダプテーションのために新しいノードを追加するようにしてもよい。
本実施は、実施の形態1−2−1のClientSelectionノード301を拡張して実現する。この場合のClientSelectionノード301の構成例を図61に示す。ClientSelectionノード301のSelectionNodeで示される子ノードのQualityそのものをQualityValue fieldで示す。QualityValue[n]は、SelectionNode[n]のQualityを示す。さらに、Qualityの種類をQualityType fieldで示す。QualityTypeは全てのQualityValueで共通である。QualityType fieldの値は、図59の表401の値を利用する。
<5−12:実施の形態3−2−2−2>
<既存ノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。実施の形態3−2−2−1の変形例である。実施の形態1−2−2で拡張したBitwrapperノード15およびMovieTextureノード16に、QualityValue fieldおよび、QualityType fieldを拡張して実現する。その場合のBitwrapperノード15およびMovieTextureノード16の例を図62に示す。
なお、以上においては、Bitwrapperノード15およびMovieTextureノード16の拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<5−13:実施の形態3−3>
<同時に再生するメディアデータの組み合せをシグナリング>
また、同時に再生するメディアデータの組み合せをシグナリングするようにしてもよい。換言するに、3次元オブジェクトの間の相対的な品質を示す情報として、同時再生可能な3次元オブジェクトの各ビットレートバリエーションを示す情報を含むメタデータを生成するようにしてもよい。
<5−14:実施の形態3−3−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、同時に再生するメディアデータの組み合せをシグナリングするようにしてもよい。
<MPDのシグナリング>
例えば、相対的な品質が維持できる組合せを示すGrouping情報をシグナリングするようにしてもよい。
クライアント装置103は、AdaptationSetからRepresentationを選択する際に、同じGroupを選択して再生する。1つのRepresentationが複数のGroupに所属する場合もある。より具体的には、各Representationに、SupplementalPropertyで、グループ番号を示し、このグループ番号をもとに同じグループ番号を選択すれば3Dオブジェクト間の相対的な品質が変わらないことを示す。value値がグループ番号を示す。スペース区切りで複数のグループを示すことができる。以下に例を示す。
例:<SupplementalProperty schemeIdUri="KeepRelativeQualityConsiderationGroup"
value="1...">
図63は、その場合のMPDファイル122の記述例を示す図である。図63において、3DオブジェクトAは高Level of detail(AdaptationSet@id=1と2)、3DオブジェクトBは中Level of detail(AdaptationSet@id=9と10)、3DオブジェクトCは中Level of detail(AdaptationSet@id=15と16)が適切なLevel of detailであると選択されている場合を考える。ビットレートの組合せはKeepRelativeQualityConsiderationGroupの同じ値のRepresentaitonを選択することで、相対的な品質を維持することができる組合せである。この例では、次の3パターンが相対的な品質を維持した表示が可能である組合せになる。
パターン1:
Representation@id=AHm-1、Representation@id=AHt-1、Representation@id=BMm-1、Representation@id=BMt-1、Representation@id=CMm-1、Representation@id=CMt-1
パターン2:
Representation@id=AHm-2、Representation@id=AHt-2、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-1、Representation@id=CMt-2
パターン3:
Representation@id=AHm-3、Representation@id=AHt-3、Representation@id=BMm-3、Representation@id=BMt-3、Representation@id=CMm-1、Representation@id=CMt-3
本実施の形態において、最大の数値のGroup以上にQualityを下げることができない。その際、さらに低いQualityになるGroupを配信サーバ102に作成させ、それを取得できるようにしてもよい。クライアント装置103は、配信サーバ102に、MPDファイル名と、KeepReativeQualityGroupのさらに低い組合せをリクエストする。配信サーバ102はリクエストに応じて、KeepReativeQualityGroupの最大数値のGroupよりも低いQualityになる、つまり、全ての3Dオブジェクトで最も低いQualityのメディアデータを作成し、配置する。配信サーバ102は、そのMPDファイル122をUpdateして、クライアント装置103に送信する。クライアント装置103は、新しく取得したMPDファイル122を基に、再度、KeepReativeQualityGroupを利用して取得するファイルを選択する。この場合に、サーバには存在しないが作成可能なQualityのgroupのセグメントファイルをあらかじめMPDにシグナリングしておいてもよい。
<変形例>
RepresentaitonのAttributeにKeepRelativeQualityGroupを追加するようにしてもよい。以下にその例を示す。
例:<AdaptatonSet KeepRelativeQualityGroup ="1">
また、Videoだけでなく、Audioでも同様に利用する場合も考慮し、Value値としてKeepRelativeQualityGroupをさらにグルーピングするidをシグナリングするようにしてもよい。例えば、valueの先頭にGroupIdをシグナリングするようにしてもよい。以下にその例を示す。
例:<SupplementalProperty schemeIdUri=" KeepRelativeQualityGroup"
value="GroupId, as1@id as2@id ・・・">
<5−15:実施の形態3−3−2>
<Scene Descriptionのみを用いた構成で実現する>
実施の形態1−2の、Scene Descriptionのみを拡張した手法において、相対的な品質が維持できる組合せを示すGrouping情報をシグナリングするようにしてもよい。
<5−16:実施の形態3−3−2−1>
<新しいノードを定義する>
実施の形態1−2−1のClientSelectionノード301を拡張するようにしてもよい。この場合のClientSelectionノード301の例を図64に示す。図64において、ClientSelectionノード301のSelectionNodeで示される子ノードに相対的な品質が維持できる組合せを示すGrouping情報をシグナリングするようにしてもよい。より具体的には、KeepRelativeQualityConsiderationGroupを各SelectionNodeに設定するようにしてもよい。SlectionNode[n]が属するGroup情報は、KeepRelativeQualityConsiderationGroup[n]に示される。Groupは、整数値を文字として示し、複数のgroupに属する場合は、スペース区切りで表記する。
<変形例>
また実施の形態3−2−1の変形例のようにKeepRelativeQualityGroupをさらにグルーピングするidをシグナリングするようにしてもよい。その場合、以下の例のようなKeepRelativeQualityGroupId fieldを追加すればよい。
field SFint32 KeepRelativeQualityGroupId
<5−17:実施の形態3−3−2−2>
<既存のノードを拡張する>
実施の形態3−3−2−1の変形例である。実施の形態1−2−2で拡張した、Bitwrapperノード15およびMovieTextureノード16にKeepRelativeQualityConsiderationGroup fieldを拡張するようにしてもよい。図65に拡張したBitwrapperノード15およびMovieTextureノード16の例を示す。
<変形例>
また、実施の形態の3−3−2−1のようにKeepRelativeQualityGroupId fieldを追加するようにしてもよい。また、以上においては、Bitwrapperノード15およびMovieTextureノード16の拡張例について説明したが、これに限らず、他のノードで同様のfieldを拡張するようにしてもよい。
<6:第4の実施の形態(実施の形態4)>
<Level of detailを切り替えてビットレート選択をするためのシグナリング>
さらに、限界までビットレートを落とした後、視点位置に応じて決めた3DオブジェクトのLevel of detailから、1つ若しくは複数、または、全ての3Dオブジェクトに対するLevel of detailを下げて、ビットレートアダプテーションするためのシグナリングを追加するようにしてもよい。
全ての3Dオブジェクトで最低のビットレートのメッシュ、テクスチャを選択しても、その合計ビットレートよりも伝送帯域が狭い場合、再生が途切れてしまう可能性があった。
上述のように、Level of detailを下げてビットレートアダプテーションするためのシグナリングを行うことにより、上述のような場合に、6DoFコンテンツの品質の低減を抑制するように、Level of detailを一律に下げることができるようになる。したがって、コンテンツ再生のロバスト性を向上させることができる。
<6−1:実施の形態4−1>
<Level of detailを一律に下げると相対関係が崩れないことを示すシグナリング>
Level of detailを切り替えてビットレート選択をするために、Level of detailを一律に下げると相対関係が崩れないことを示すシグナリングするようにしてもよい。換言するに、3次元オブジェクトのLevel of Detailを変更しても、その3次元オブジェクト間の相対的な品質の維持が可能であることを示す情報をさらに含むメタデータを生成するようにしてもよい。
<6−2:実施の形態4−1−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、Level of detailを一律に下げると相対関係が崩れないことをシグナリングするようにしてもよい。
<MPDのシグナリング>
実施の形態1−1−1を基にした実施の形態においては、Scene Descriptionの3DオブジェクトのLevel of detailごとにMPDのAdaptationSetにアクセスできるようになっている。しかしながら、実施の形態1−1−1を基にした実施の形態のMPDには、それぞれのAdaptationSetがどの3DオブジェクトのLevel of Detailに対応するかは示されていない。Level of Detailを切り替えるために、どの3DオブジェクトのLevel of Detailであるかを、Scene Descriptionから情報を取得するのは2度手間になる(煩雑・冗長な作業が必要になる)。
そこで、まず、MPDで同じ3Dオブジェクトに含まれるLevel of Detailがどれであるかを示すようにする。つまり、同じ3DオブジェクトのメッシュのAdaptationSet(Level of Detail)をグルーピングする。同様に同じ3DオブジェクトのテクスチャのAdaptationSet(Level of Detail)をグルーピングする。さらに、Level of detailを一律に下げる場合において、各オブジェクトの表示の相対関係を極力維持することができることをシグナリングする。
このような手法を実現する具体的なシグナリングは、Periodに、Level of detailを一律に下げる場合に、各オブジェクトの表示の相対関係を極力維持できることを示すSupplementalPropertyをシグナリングし、それが可能であるLevel of Detailのグループをシグナリングする。
SupplementalPropertyを用いて、schemeIdUriで、Level of detailを一律に下げる場合において、各オブジェクトの表示の相対関係を極力維持することができることを示す、" LODRelativeQualityIsEnsuredByLODOrder"をシグナリングする。さらに、SupplementalPropertyのElementにLODGroupを追加する。LODGroupは同じ3Dオブジェクトのメッシュもしくは同じ3DオブジェクトのテクスチャのAdaptationSetのグルーピング情報である。LODGroupのmember attributeでグループに含まれるAdaptationSet@idをシグナリングする。シグナリングされるAdaptationSet@idの順は、高Level of detailから順に並べ、Level of Detailの下げる順を示す。以下に例を示す。
例:
<SupplementalProperty schemeIdUri="LODRelativeQualityIsEnsuredByLODOrder">
<LODGroup member="as@id1 as@id2..."/>
<LODGroup member="as@id4 as@id5..."/>
</SupplementalProperty>
クライアントは、第2の実施の形態や第3の実施の形態の手法でビットレートを下げることが困難になった場合、このSupplementalPropertyを基に1つLevel of detailの低いAdaptationSetの組合せを選択し、再び第2の実施の形態や第3の実施の形態の手法を用いてビットレート選択をする。その際に、低いLevel of Detailが存在しない場合は、最も低いLevel of detailの最低ビットレートのデータを使う。
この場合のMPDファイル122の例を図66に示す。この例では、3Dオブジェクトが3つあり、それぞれに高中低の3つのLevel of detailをもつ。それぞれの3DオブジェクトのLevel of detail違いのメッシュデータのグループおよびテクスチャデータのグループを、SupplementalPropertyで示している。
図66において、3DオブジェクトAは高Level of detail(AdaptationSet@id=1と2)、3DオブジェクトBは中Level of detail(AdaptationSet@id=9と10)、3DオブジェクトCは中Level of detail(AdaptationSet@id=15と16)が適切なLevel of detailであると選択されている。その組合せの中でビットレートを下げても合計ビットレートが伝送帯域より多くなってしまう場合、Level of detailを変更する。この際に、SupplementalPropertyを参考に、全てで1つずつ低いLevel of detailを選択する。すると以下のような組み合わせになる。
AdaptationSet@id=3 (3DオブジェクトA 中Level of detailのメッシュデータ)
AdaptationSet@id=4 (3DオブジェクトA 中Level of detailのテクスチャデータ)
AdaptationSet@id=11 (3DオブジェクトB 低Level of detailのメッシュデータ)
AdaptationSet@id=12 (3DオブジェクトB 低Level of detailのテクスチャデータ)
AdaptationSet@id=17 (3DオブジェクトC 低Level of detailのメッシュデータ)
AdaptationSet@id=18 (3DオブジェクトC 低Level of detailのテクスチャデータ)
本手法は、実施の形態1−1−1にも適用することができる。なお、実施の形態1−1−1−1に本手法を適用する場合、実施の形態1−1−2−2のAdaptationSet内でRepresentationGroupを示すシグナリングを行い、AdaptationSetで、RepresentationGroup(つまりLevel of Detail)を一律に下げると相対関係を極力維持することができるシグナリングをSupplementalPropertyで行うことで実現することができる。
実施の形態1−1−2−2に本手法を適用する場合、AdaptationSetで、RepresentationGroup(つまりLevel of Detail)を一律に下げると相対関係を極力維持することができるシグナリングをSupplementalPropertyで行うことで実現することができる。
<変形例>
また、以下のようなシグナリングを行うようにしてもよい。
(1)同じ3Dオブジェクトのメッシュやテクスチャのグループ情報をAdaptationSet@groupで識別し、Level of detailの順をSupplementalPropertyで各AdaptationSetにシグナリングする。もしくはAdaptationSetのAttributeに指定する。
(2)同じ3Dオブジェクトのメッシュやテクスチャのグループ情報をAdaptationSet@groupで識別し、Level of detailの順は、Scene Descriptionから取得する。
(3)AdaptationSetで、1つ高いLevel of detailのAdaptationSetと、1つ低いLevel of detailのAdaptationSetをシグナリングする。その記述例を以下に示す。なお、このシグナリングは、AdaptationSetのAttributeで指定するようにしてもよい。
<SupplementalProperty schemeIdUri="LowLevelAdaptationSet"
value="AdaptationSet@id">
<SupplementalProperty schemeIdUri="HighLevelAdaptationSet"
value="AdaptationSet@id">
(4)上述の(1)乃至(3)において、さらに、Level of Detailを一律に下げると相対的な品質関係が崩れないことをAdaptationSetでシグナリングする。より具体的には、AdapttionSetに、SupplementalPropertyで、Level of detailを一律に下げると相対関係を極力維持することができるAdaptationSetであることをシグナリングする。以下にその例を示す。なお、このシグナリングは、AdaptationSetのAttributeで指定するようにしてもよい。
例:<SupplementalProperty schemeIdUri="LODRelativeQualityIsEnsuredByLODOrder">
本手法は、実施の形態1−1−1に適用することができる。なお、本手法を実施の形態1−1−2−1に適用する場合、実施の形態1−1−2−2のAdaptationSet内でRepresentationGroupを示すシグナリングを行い、AdaptationSetで、RepresentationGroup(つまりLevel of Detail)を一律に下げると相対関係を極力維持することができるシグナリングをSupplementalPropertyで行うことで実現することができる。
また、本手法を実施の形態1−1−2−2に適用する場合、AdaptationSetで、RepresentationGroup(つまりLevel of Detail)を一律に下げると相対関係を極力維持することができるシグナリングをSupplementalPropertyで行うことで実現することができる。
<再生処理の流れ>
この場合の再生処理の流れの例を、図67のフローチャートを参照して説明する。再生処理が開始されると、クライアント装置103のMPDファイル取得部181は、ステップS521において、QualityGroup情報を含むMPDファイル122を取得する。
ステップS522乃至ステップS526の各処理は、ステップS161乃至ステップS166の各処理(図17)と同様に実行される。
ステップS527において、メディアデータセグメントファイル選択部187は、現在のLevel of Detailにおいて、伝送帯域より小さくなるビットレートの組み合わせが選択可能であるか否かを判定する。可能であると判定された場合、処理はステップS528に進む。
ステップS528において、メディアデータセグメントファイル選択部187は、MPDファイル122の、各3Dオブジェクトの所望のLevel of Detailに対応するAdaptationSetのそれぞれにおいて、Representationを選択する。その際、メディアデータセグメントファイル選択部187は、取得する全セグメントファイルのビットレートの合計が伝送帯域より小さくなるようにRepresentationを選択する。ステップS528の処理が終了すると、処理はステップS530に進む。
また、ステップS527において、現在のLevel of Detailでは伝送帯域より小さくなるビットレートの組み合わせを得ることは不可能であると判定された場合、処理はステップS529に進む。
ステップS529において、メディアデータセグメントファイル選択部187は、ビットレート選択処理を行い、Level of Detailを下げて、ビットレートの選択を行う。ステップS529の処理が終了すると、処理はステップS530に進む。
ステップS530およびステップS531の各処理は、ステップS168およびステップS169の各処理(図17)と同様に実行される。ステップS531の処理が終了すると、再生処理が終了する。
<ビットレート選択処理の流れ>
次に、図67のステップS529において実行されるビットレート選択処理の流れの例を、図68のフローチャートを参照して説明する。
ビットレート選択処理が開始されると、メディアデータセグメントファイル選択部187は、ステップS551において、全てのAdaptationSetが最低のLevel of Detailではないか否かを判定する。最低のLevel of DetailではないAdaptationSet(3Dオブジェクト)が存在する(Level of Detailを下げる余地がある)と判定された場合、処理はステップS552に進む。
ステップS552において、メディアデータセグメントファイル選択部187は、schemeIdUriが"LODRelativeQualityIsEnsuredByLODOrder"のSupplementalPropertyを基に1つずつLevel of Detailの低いAdaptationSetの組み合わせを選択する。
ステップS553において、メディアデータセグメントファイル選択部187は、現在のLevel of Detailにおいて、伝送帯域より小さくなるビットレートの組み合わせを選択することができるか否かを判定する。現在のLevel of Detailにおいて、伝送帯域より小さくなるビットレートの組み合わせが存在しないと判定された場合、処理をステップS551に戻し、それ以降の処理を繰り返す。つまり、伝送帯域より小さくなるビットレートの組み合わせが見つかるか、全ての3DオブジェクトのLevel of Detailが最低になるまで、ステップS551乃至ステップS553の処理が繰り返される。
そして、ステップS553において、現在のLevel of Detailにおいて、伝送帯域より小さくなるビットレートの組み合わせが存在すると判定された場合、処理はステップS554に進む。
ステップS554において、メディアデータセグメントファイル選択部187は、各AdaptationSetから、ビットレートの合計が伝送帯域より小さくなるようにRepresentationを選択する。つまり、ステップS553において検出された「伝送帯域より小さくなるビットレートの組み合わせ」が選択される。ステップS554の処理が終了すると、ビットレート選択処理が終了し、処理は図67に戻る。
また、ステップS551において、全てのAdaptationSet(3Dオブジェクト)のLevel of Detailが最低であり、これ以上Level of Detailを下げる余地がないと判定された場合、処理はステップS555に進む。
ステップS555において、メディアデータセグメントファイル選択部187は、選択されているAdaptationSetで最低のビットレートになるようにRepresentationを選択する。ステップS555の処理が終了すると、ビットレート選択処理が終了し、処理は図67に戻る。
以上のように各処理を実行することにより、3Dオブジェクト間の相対的な品質を維持するように、Level of Detailを下げて、ビットレートを制御することができる。したがって、コンテンツ再生のロバスト性を向上させることができる。
なお、Level of Detailがある一定以上存在していない場合がある。その場合、それ以上Level of Detailを下げることができないため、最低のLevel of Detailの最低のビットレートを選び続けるしかない。しかしながら、その場合、Level of Detailの相対関係が崩れてしまう。それを回避するために次のような手法をできるようにしてもよい。
(1)クライアントで他のQualityに合うように表示時のQualityを下げて表示する。例えば、表示時にガウスぼかしフィルタをその3Dオブジェクトの部分にのみに適用してから表示する。
(2)実施の形態1−1−1または実施の形態1−1−2の場合、クライアント装置103は、配信サーバ102にさらに低いLevel of Detailを作成させそれを取得する。クライアント装置103は、配信サーバ102に対し、MPDファイル名、ApdaptationSetのidをリクエストする。配信サーバ102は、そのリクエストに応じて指定されたAdaptationSetよりさらに低いLevel of Detailのメッシュデータもしくはテクスチャデータのビットレートバリエーションを作成し、配置する。そして、そのMPDファイル122をMPD updateの仕組みを利用しUpdateして、クライアント装置103に送信する。クライアント装置103は、新しく取得したMPDファイル122を基に、再度、Level of Detailを選択する。この場合に、サーバには存在しないが作成可能なLevel of DetailのセグメントファイルをあらかじめMPDとSecene Descriptionにシグナリングしておいてもよい。
<6−3:実施の形態4−1−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、Level of detailを一律に下げると相対関係が崩れないことをシグナリングするようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。
<6−4:実施の形態4−1−2−1>
<新しいノードを定義する>
例えば、実施の形態1−2−1のClientSelectionノード301を拡張し、そのClientSelectionノード301のSelectionNodeで示される子ノードにLevel of detailを一律に下げると相対的な品質が維持できることを示すフラグ情報(Flag)をシグナリングするようにしてもよい。より具体的には、LODRelativeQualityIsEnsuredByLODOrderFlagを追加するようにしてもよい。この場合のClientSelectionノード301の例を図69に示す。
<6−5:実施の形態4−1−2−2>
<既存ノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。実施の形態1−2−2において拡張したBitwrapperノード15およびMovieTextureノード16に、LODRelativeQualityIsEnsuredByLODOrderFlag fieldを拡張するようにしてもよい。図70にその拡張したBitwrapperノード15およびMovieTextureノード16の例を示す。この場合、Bitwrapperノード15およびMovieTextureノード16のそれぞれにおいて、LODRelativeQualityIsEnsuredByLODOrderFlag fieldが拡張されている。
<変形例>
なお、本手法はLevel of detailの切り替えに関する情報なので、LODノード31を拡張するようにしてもよい。図71にその拡張したLODノード31の例を示す。この場合、LODノード31にLODRelativeQualityIsEnsuredByLODOrderFlag fieldが拡張されている。
同様に、その他のノードを拡張するようにしてもよい。この場合、シグナリングするノードが少なくなる利点がある。
<6−6:実施の形態4−2>
<Qualityを基にLevel of detailを変更可能であることを示すシグナリング>
Level of Detailを変更する際に、示されているQualityを基にLevel of Detailを変更することが可能であることを示すようにしてもよい。換言するに、3次元オブジェクトの間の相対的な品質を示す情報に基づいて3次元オブジェクトのLevel of Detailを変更しても、その3次元オブジェクト間の相対的な品質の維持が可能であることを示す情報をさらに含むメタデータを生成するようにしてもよい。
<6−7:実施の形態4−2−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、Qualityを基にLevel of detailを変更可能であることを示すシグナリングを行うようにしてもよい。
<MPDのシグナリング>
実施の形態4−1−1の場合と同様に、3DオブジェクトのLevel of detailの異なるメッシュのAdaptationSet、または、同じ3Dオブジェクトのテクスチャをグルーピングし、さらに、Qualityを見てLevel of Detail変更をしてもよいことを示すようにしてもよい。
例えば、SupplementalPropertyを用いて、schemeIdUriで、Level of detailを下げる場合にQualityの値を基準することで、各オブジェクトの表示の相対関係を極力維持することができることを示す、" LODRelativeQualityIsEnsuredByQualityValue"をシグナリングする。さらに、SupplementalPropertyのElementにLODGroupを追加する。LODGroupは同じ3Dオブジェクトのメッシュもしくは同じ3DオブジェクトのテクスチャのAdaptationSetのグルーピング情報である。LODGroup のmember attributeでグループに含まれるAdaptationSet@idをシグナリングする。シグナリングされるAdaptationSet@idの順は、高Level of detailから順に並べ、Level of Detailの下げる順を示す。以下に、その例を示す。なお、Quality値のシグナリングは、実施の形態3−2−1で示す手法を用いる。
例:
<SupplementalProperty schemeIdUri= LODRelativeQualityIsEnsuredByQualityValue">
<LODGroup member="as@id1 as@id2..."/>
<LODGroup member="as@id4 as@id5..."/>
</SupplementalProperty>
クライアント装置103は、実施の形態3−2−1のクライアント装置103の実装をLevel of Detailを下げる場合にも適応し、相対的な品質を維持した組合せでの取得を可能にする。
実際のシグナリング例は、実施の形態3−2−1の図60に示されるMPDファイル122に対し、図66に示されるMPDファイル122のSupplementalPropertyのschemeIdUriをLODRelativeQualityIsEnsuredByQualityValueに変えたものを追加した形になる。
なお、本手法は、実施の形態1−1−1に適用することができる。また、本手法は、LODGroupのmemberが1つのAdaptatonSet@idになり、その中のRepresentationGroupの順にQualityRankingを示すようにすることにより、実施の形態1−1−2にも適用することができる。
<変形例>
以下に、他のシグナリング方法の例を示す。
(1)同じ3Dオブジェクトのメッシュやテクスチャのグループ情報をAdaptationSet@groupで識別し、Level of detailの順をSupplementalPropertyで各AdaptationSetにシグナリングする。AdaptationSetのAttributeにシグナリングしてもよい。
(2)同じ3Dオブジェクトのメッシュやテクスチャのグループ情報をAdaptationSet@groupで識別し、Level of detailの順は、Scene Descriptionから取得する。
(3)AdaptationSetで、1つ高いLevel of detailのAdaptationSetと、1つ低いLevel of detailのAdaptationSetをシグナリングする。以下にその例を示す。なお、AdaptationSetのAttributeにシグナリングするようにしてもよい。
<SupplementalProperty schemeIdUri="LowLevelAdaptationSet"
value="AdaptationSet@id">
<SupplementalProperty schemeIdUri="HighLevelAdaptationSet"
value="AdaptationSet@id">
(4)(1)乃至(3)においてはLevel of Detailを一律に下げると相対関係が崩れないことをAdaptationSetでシグナリングする。より具体的には、AdapttionSetに、SupplementalPropertyで、Quality値を基にLevel of detailを下げてもよいAdaptationSetであることをシグナリングする。このシグナリングの例を以下に示す。なお、AdaptationSetのAttributeにシグナリングするようにしてもよい。
例:
<SupplementalProperty schemeIdUri=" LODRelativeQualityIsEnsuredByQualityValue">
(5)Qualityそのものではなく、QulityRankingを用いてもよい。その場合は、3Dオブジェクトのメッシュもしくはテクスチャ全体でQualityRankingを付ける(Level of detailを超えた(AdaptationSetを超えた)QualityRankingになる)。
なお、Level of Detailがある一定以上存在していない場合がある。その場合、それ以上Level of Detailを下げることができないため、最低のLevel of Detailの最低のビットレートを選び続けるしかない。しかしながら、その場合Level of Detailの相対関係が崩れてしまう。それを回避するために次のような手法を用いることができるようにしてもよい。
(1)クライアント装置103で他のQualityに合うように表示時のQualityを下げて表示する。たとえば、表示時にガウスぼかしフィルタをその3Dオブジェクトの部分にのみに適用してから表示する。
(2)実施の形態1−1−1または実施の形態1−1−2の場合、クライアント装置103は、配信サーバ102にさらに低いLevel of Detailを作成させそれを取得する。クライアント装置103は、配信サーバ102に対し、MPDファイル名、ApdaptationSetのidをリクエストする。配信サーバ102は、そのリクエストに応じて指定されたAdaptationSetよりさらに低いLevel of Detailのメッシュデータまたはテクスチャデータのビットレートバリエーションを作成し、配置する。そして、そのMPDファイル122を、MPD updateの仕組みで Updateして、クライアント装置103に送信する。クライアント装置103は、新しく取得したMPDファイル122を基に、再度、Level of Detailを選択する。この場合に、サーバには存在しないが作成可能なLevel of DetailのセグメントファイルをあらかじめMPDとSecene Descriptionにシグナリングしておいてもよい。
<6−8:実施の形態4−2−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、Qualityを基にLevel of detailを変更可能であることを示すシグナリングを追加するようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。
<6−9:実施の形態4−2−2−1>
<新しいノードを定義する>
例えば、実施の形態3−2−2−1のClientSelectionノード301を拡張して、本手法のシグナリングを実現するようにしてもよい。この場合のClientSelectionノード301の例を図72に示す。図72に示されるように、このClientSelectionノード301において、SelectionNodeで示される子ノードがQuality値を基にLevel of detailを選択してもよいことを示すFlagがシグナリングされる。より具体的には、LODRelativeQualityIsEnsuredByQualityValueが追加される。
<変形例>
例えば、Qualityそのものではなく、QualityRankingを用いるようにしてもよい。その場合、実施の形態4−2−1において説明したように、3Dオブジェクトのメッシュまたはテクスチャ全体でQualityRankingを付けるようにしてもよい。QualityRankingのシグナリングは、実施の形態3−1−2−1において説明した手法となり、それに、各オブジェクトの表示の相対関係を極力維持することができることを示す、LODRelativeQualityIsEnsuredByQualityRanking fieldを追加すればよい。
<6−10:実施の形態4−2−2−2>
<既存のノードを拡張する>
なお、実施の形態3−2−2−2において拡張したBitwrapperノード15およびMovieTextureノード16に、上述のLODRelativeQualityIsEnsuredByLODOrderFlag fieldを拡張するようにしてもよい。その場合のBitwrapperノード15およびMovieTextureノード16の例を図73に示す。図73に示されるように、この場合、Bitwrapperノード15およびMovieTextureノード16のいずれにも、上述のLODRelativeQualityIsEnsuredByLODOrderFlag fieldが追加されている。
<変形例>
なお、Qualityそのものではなく、QualityRankingを用いるようにしてもよい。その場合、実施の形態4−2−1において上述したように、3Dオブジェクトのメッシュまたはテクスチャ全体でQualityRankingを付けるようにする。このQualityRankingのシグナリングは、実施の形態3−1−2−2の場合と同様に行えば良い。それに、LODRelativeQualityIsEnsuredByQualityRanking fieldを追加することにより、本手法を適用することができる。
本手法はLevel of detailの切り替えに関する情報なので、LODノード31を拡張するようにしてもよい。ただし、Quality値のシグナリングは必要であるため、実施の形態3−2−2−1において拡張したClientSelectionノード301または実施の形態3−2−2−2において拡張したBitwrapperノード15およびMovieTextureノード16のシグナリングは必要である。図74にそのLODノード31の拡張例を示す。この場合、シグナリングするノードが少なくなる利点がある。また、他のノードを同様に拡張するようにしてもよい。
<6−11:実施の形態4−3>
<Level of detailにQualityRankingをシグナリングする>
Level of detailにもQualityRankingをシグナリングし、クライアント装置103は、そのQualityRankingを基にLevel of Detailを切り替えるようにしてもよい。
<6−12:実施の形態4−3−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、Level of detailにQualityRankingをシグナリングするようにしてもよい。
<MPDのシグナリング>
実施の形態4−1−1の場合と同様に、Periodにシグナリングする。例えば、実施の形態4−1−1に、LODGroupのattributeにQualityRankingを追加する。SupplementalProperty のLODRelativeQualityIsEnsuredByLODQualityRankingを示すことで、Level of detailごとに設定されているQualityRankingの相対関係を崩さないようにLevel of detailを選択することで、品質の相関を維持することができる。以下に例を示す。なお、membaer[n]のQualityRankingは、QualityRanking[n]である。
例:
<SupplementalProperty
schemeIdUri="LODRelativeQualityIsEnsuredByLODQualityRanking">
<LODGroup member="as@id1 as@id2..." QualityRanking="1 2…"/>
<LODGroup member="as@id4 as@id5..." QualityRanking="1 2…"/>
</SupplementalProperty>
本手法は、例えば実施の形態1−1−1に適用することができる。なお、LODGroupのmemberが1つのAdaptatonSet@idになり、その中のRepresentationGroupの順にQualityRankingを示すことで、本手法を実施の形態1−1−2にも適用することができる。
<変形例>
なお、シグナリング方法は上述の例に限らない。例えば、以下のようにしてもよい。
(1)同じ3Dオブジェクトのメッシュやテクスチャのグループ情報をAdaptationSet@groupで識別し、Level of detailのQualityRankingをSupplementalPropertyで各AdaptationSetにシグナリングする。AdaptationSetのAttributeでシグナリングしてもよい。
(2)AdaptationSetで、1つ高いLevel of detailのAdaptationSetと、1つ低いLevel of detailのAdaptationSetをシグナリングする。以下にその例を示す。なお、AdaptationSetのAttributeにシグナリングするようにしてもよい。
<SupplementalProperty
schemeIdUri="LowLevelAdaptationSet" value="AdaptationSet@id">
<SupplementalProperty
schemeIdUri="HighLevelAdaptationSet" value="AdaptationSet@id">
(3)(1)および(2)においては、Level of DetailのQualityRankingを基に選択すると相対関係が崩れないことをAdaptationSetでシグナリングする。より具体的には、AdapttionSetに、SupplementalPropertyで、QualityRanking値を元にLevel of detailを下げると品質の相対関係が維持できるAdaptationSetであることを示すシグナリングを行う。以下にその例を示す。なお、AdaptationSetのAttributeでシグナリングするようにしてもよい。
例:
<SupplementalProperty
schemeIdUri=" LODRelativeQualityIsEnsuredByLODQualityRanking">
<6−13:実施の形態4−3−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、Level of detailにQualityRankingをシグナリングするようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。
<6−14:実施の形態4−3−2−1>
<新しいノードを定義する>
Scene Descriptionデータ121を拡張するにあたって、既存のノードはそのまま利用し、ビットレートアダプテーションのために新しいノードを追加するようにしてもよい。例えば、実施の形態1−2−1において説明したClientSelectionノード301を拡張するようにしてもよい。
そのClientSelectionノード301の拡張例を図75に示す。例えば、ClientSelectionノード301において、SelectionNode fieldにLevel of detailを一律に下げると相対的な品質が維持できることを示すFlagをシグナリングする。より具体的には、LODRelativeQualityIsEnsuredByLODQualityRanking fieldを追加し、LODQualityRankingを設定する。
<6−15:実施の形態4−3−2−2>
<既存ノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。例えば、実施の形態1−2−2のBitwrapperノード15およびMovieTextureノード16にLODRelativeQualityIsEnsuredByLODQualityRanking fieldを拡張するようにしてもよい。これは、図70のBitwrapperノード15およびMovieTextureノード16のLODRelativeQualityIsEnsuredByLODOrderFlag fieldを、図75のClientSelectionノード301のLODRelativeQualityIsEnsuredByLODQualityRanking fieldで置き換えたものになる。
<変形例>
本手法は、Level of detailの切り替えに関する情報なので、LODノード31を拡張するようにしてもよい。この場合、シグナリングするノードが少なくなる利点がある。これは、図71に示されLODノード31のLODRelativeQualityIsEnsuredByLODOrderFlag fieldを、図75のLODRelativeQualityIsEnsuredByLODQualityRanking fieldで置き換えたものになる。もちろん、これ以外のノードを拡張するようにしてもよい。
<7.第5の実施の形態(実施の形態5)>
<コンテンツオーサなどの意図を示すシグナリング>
さらに、コンテンツオーサが意図する3Dオブジェクトの重要度情報をシグナリングするようにしてもよい。なお、例えば、第4の実施の形態のフラグ情報(flag)があってもなくても、この手法を使うか否かはクライアントが選択するようにしてもよい。また、Level of detailのレベルによって重要度の有効・無効を設定することができるようにしてもよい。
例えば、シーン中に、コンテンツオーサなどが意図する重要である3Dオブジェクトと、重要でない3Dオブジェクトとが混在する場合に、その情報には関係なく、Level of detailを下げてしまうと、ユーザがコンテンツオーサなどの意図が反映されたシーンを見ることができない可能性がある。
そこで、コンテンツオーサが意図する3Dオブジェクトの重要度情報をシグナリングすることにより、上述のような場合に、重要な3DオブジェクトのLevel of detailを下げることを抑制することができる。これにより、ユーザは、コンテンツオーサなどの意図が反映されたシーンを見ることができる。
<7−1:実施の形態5−1>
<重要度(数値)のシグナリング>
例えば、3Dオブジェクトの重要度のシグナリングとして、各3Dオブジェクトがシーン中でどれぐらい重要であるかを数値で示すようにしてもよい。換言するに、3次元オブジェクトの重要度を示す情報をさらに含むメタデータを生成するようにしてもよい。
<7−2:実施の形態5−1−1>
<Scene DescriptionとMPDを用いた構成で実現する>
例えば、DASHのMPDファイルとScene Descriptionデータを用いた構成により、3Dオブジェクトの重要度のシグナリングを行うようにしてもよい。
<7−3:実施の形態5−1−1−1>
<MPDの拡張>
各3DオブジェクトのメッシュおよびテクスチャのAdaptationSetに、その3Dオブジェクトの重要度を示す値をシグナリングする。重要度は、例えば値が小さいほど重要であるものとする。もちろん、重要度は、この例に限定されず、例えば、値が大きい程重要であるものとしてもよい。
より具体的には、第4の実施の形態のSupplementalPropertyのLODGroupに、Important3Dobject attributeを追加し、そのvalue値で重要度情報をシグナリングするようにしてもよい。3DオブジェクトのメッシュのLODGroupとテクスチャのLODGroupは値を同じにしなければならない。以下にその例を示す。
<LODGroup member="1 3 5" Important3Dobject="1"/>
この場合のMPDファイル122の例を図76に示す。この場合、3Dオブジェクトが3つあり、それぞれに高中低の3つのLevel of detailをもつ。各AdaptationSetに、重要度情報がImportant3Dobject attributeの値としてシグナリングされている。例えば、3DオブジェクトAは、重要度1、3DオブジェクトBとCは重要度2としている。
この図76のMPDファイル122において、3DオブジェクトAは、高Level of detail(AdaptationSet@id=1と2)、3DオブジェクトBは中Level of detail(AdaptationSet@id=9と10)、3DオブジェクトCは中Level of detail(AdaptationSet@id=15と16)が適切なLevel of detailであると選択されている場合、その組合せの中でビットレートを下げても合計ビットレートが伝送帯域より多くなってしまうときは、Level of detailを変更する。その際、SupplementalPropertyを参考に、Important3Dobjectのvalue値の大きなものをまず、全てで1つずつ低いLevel of detailを選択する。つまり、Valueが2である3DオブジェクトBとCのLevel of detailを1つ下げ、3DオブジェクトBは低Level of detail(AdaptationSet@id=11と12)、3DオブジェクトCは低Level of detail(AdaptationSet@id=17と18)になり、その中からビットレートを選択する。それでも、足りない場合は、valueが1である3Dオブジェクトである3DオブジェクトAのLevel of detailを1つ下げ、中Level of detail(AdaptationSet@id=3と4)を選択し、ビットレートを下げる。
<変形例>
この場合、LODGroupに含まれるLevel of Detailが全て同じ重要度となる。Level of Detailによって重要度を変えたい場合(例えば、高Level of detailの場合の重要度は高いが、それ以外の場合の重要度は低くするなど)もある。その場合には、Level of detail毎に値をコンマ区切りで指定すればよい。以下にその例を示す。
<LODGroup member="1 3 5" Important3Dobject="1,2,2"/>
また、一部の3Dオブジェクトのみにシグナリングがあってもよい。その場合、値を設定しない。シグナリングがないものは、重要度が存在しない、つまり、重要度が低いものとして扱えばよい。以下にその例を示す。
<LODGroup member="1 3 5" Important3Dobject="1,,"/>
その他、実施の形態4−1−1のその他のシグナリング例にあるようなAdaptationSet単位でシグナリングする場合は、Important3Dobject もAdaptationSetでシグナリングするようにしてもよい。その場合、SupplementalPropertyでImportant3Dobjectのみをシグナリングするようにしてもよい。
また、重要であるか否かを示すだけでも良い。その際、Level of Detail毎に、重要であるか否かを1か0のフラグ情報(flag)で指定することができるようにしてもよい。
重要度情報は、Level of Detailを切り替える際に利用するだけでなく、Level of detail内のビットレートを選択する際にも利用することができるようにしてもよい。
<ビットレート選択処理の流れ>
クライアント装置103は、3Dオブジェクトの重要度で、どのLevel of Detailからビットレートを上げるか下げるかを決定する。たとえば、伝送帯域が足りない場合は、重要度の低いものからLevel of Detailを下げていく。クライアント装置103は、第4の実施の形態を適用する場合であってもなくても、この値のみからLevel of Detailの切り替えを制御するようにしてもよい。
なお、この場合、再生処理は、図67のフローチャートを参照して説明した場合と同様に実行される。図77のフローチャートを参照して、この場合の、ステップS529において実行されるビットレート選択処理の流れの例を説明する。
ビットレート選択処理が開始されると、メディアデータセグメントファイル選択部187は、ステップS571において、全てのAdaptationSetが最低のLevel of Detailではないか否かを判定する。最低のLevel of DetailではないAdaptationSet(3Dオブジェクト)が存在する(Level of Detailを下げる余地がある)と判定された場合、処理はステップS572に進む。
ステップS572において、メディアデータセグメントファイル選択部187は、schemeIdUriが"LODRelativeQualityIsEnsuredByLODOrder"のSupplementalPropertyから、Important3Dobjectの最大値を取得し、その最大値を変数aに設定する。
ステップS573において、メディアデータセグメントファイル選択部187は、その変数aが0でないか否かを判定する。変数aが0(a = 0)であると判定された場合、処理は、ステップS571に戻り、それ以降の処理が繰り返される。
つまり、全てのAdaptationSetが最低のLevel of Detailであると判定されるか、または変数aが0でないと判定されるまで、ステップS571乃至ステップS573の処理が繰り返される。そして、ステップS573において、変数aが0でないと判定された場合、処理はステップS574に進む。
ステップS574において、メディアデータセグメントファイル選択部187は、Improtant3DobjectがaであるLODGroupのAdaptationSetを1つLevel of detailの低いものを選択する。
ステップS575において、メディアデータセグメントファイル選択部187は、Level of Detailを変更したAdaptationSetのみのビットレートを選択し直して、伝送帯域より小さくすることができるか否かを判定する。ビットレートを伝送帯域より小さくすることができないと判定された場合、処理はステップS576に進む。
ステップS576において、変数aの値が−1される(1で減算される)。ステップS576の処理が終了すると、処理はステップS573に戻り、それ以降の処理が繰り返される。
つまり、変数aが0であると判定されるか、ビットレートを伝送帯域より小さくすることができると判定されるまで、ステップS573乃至ステップS576の処理が繰り返される。そして、ステップS575において、ビットレートを伝送帯域より小さくすることができると判定された場合、処理はステップS577に進む。
ステップS577において、メディアデータセグメントファイル選択部187は、伝送帯域より小さくすることができるRepresentationを選択する。ステップS577の処理が終了すると、ビットレート選択処理が終了し、処理は再生処理に戻る。
また、ステップS571において、全てのAdaptationSetが最低のLevel of Detailであり、Level of Detailを下げる余地がないと判定された場合、処理はステップS578に進む。
ステップS578において、メディアデータセグメントファイル選択部187は、選択されているAdaptationSetで最低のビットレートになるように、Representationを選択する。ステップS578の処理が終了すると、ビットレート選択処理が終了し、処理は再生処理に戻る。
つまり、重要度の低い3DオブジェクトのLevel of detailを1つ下げ、次に重要度の低い3DオブジェクトのLevel of detailを1つ下げる・・・という順に処理を進める。このようにすることにより、コンテンツオーサ等の意図する重要度を反映した再生を行うことができる。
なお、重要度の低い3DオブジェクトのLevel of detailを下げられるところまで下げて、その後に、次に重要度の低い3DオブジェクトのLevel of detailを下げられるところまで下げる・・・という順で処理を進めるようにしてもよい。
<7−4:実施の形態5−1−2>
<Scene Descriptionのみを用いた構成で実現する>
なお、実施の形態1−2のようにScene Descriptionのみを用いる場合において、コンテンツオーサが意図する3Dオブジェクトの重要度情報をシグナリングするようにしてもよい。つまり、この場合、DASHのMPDファイル122は利用しない。
<7−5:実施の形態5−1−2−1>
<新しいノードを定義する>
例えば、実施の形態1−2−1のClientSelectionノード301を拡張し、3Dオブジェクトの重要度情報をシグナリングするようにしてもよい。より具体的には、Important3Dobjectを追加するようにしてもよい。重要度は値が小さいほど重要であるとする。しかしながら、フィールドがない場合の初期値でもある0は重要度が設定されていないものとする。もちろん重要度の表現方法は任意であり、この例に限定されない。
この場合のClientSelectionノード301の例を図78に示す。図78に示されるように、この場合のClientSelectionノード301には、3Dオブジェクトの重要度を設定するImportant3Dobject fieldが追加されている。
<7−6:実施の形態5−1−2−2>
<既存ノードを拡張する>
上述のように新しいノードを定義する代わりに、既存のノードを拡張するようにしてもよい。実施の形態1−2−2において拡張したBitwrapperノード15およびMovieTextureノード16に、Important3Dobject fieldを拡張するようにしてもよい。図79にその拡張したBitwrapperノード15およびMovieTextureノード16の例を示す。この場合、Bitwrapperノード15およびMovieTextureノード16のそれぞれにおいて、Important3Dobject fieldが追加されている。
<変形例>
なお、3Dオブジェクト毎に重要度が決まる場合にはTransformノード12を拡張するようにしてもよい。図80は、その拡張したTransformノード12の例を示す図である。図80に示されるように、この場合のTransformノード12には、Important3Dobject fieldが追加されている。このようにすることにより、シグナリングするノードが少なくなる利点がある。なお、この例では、Transformノード12を拡張したが、他のノードを新しく規定しても良いし、その他のノード(例えばShapeノード13等)を拡張するようにしてもよい。
<8:第6の実施の形態(実施の形態6)>
<ユーザの注目している3DオブジェクトのLevel of detailを保つための実装法>
さらに、ユーザが注目している3Dオブジェクトを識別して、その3DオブジェクトのLevel of detailを保つことができるようにしてもよい。
<8−1:実施の形態6−1>
<クライアント装置103の実装例>
伝送帯域が不足する場合、クライアント装置103は、以下のルールを適用し、ビットレートを選択するようにしてもよい。換言するに、注目する3次元オブジェクトの重要度を指定する情報をさらに含むメタデータを生成するようにしてもよい。
(1)ユーザの注目している点を取得する。
(2)その注目している点にある3Dオブジェクトを、Scene Descriptionの位置情報から求める。
(3)注目している3Dオブジェクトを重要度1とする。その他の3Dオブジェクトの重要度は2とする。
(4)そして、第5の実施の形態の場合と同様のアルゴリズムでビットレートを選択する。
<ビットレート選択処理の流れ>
この場合、再生処理は、図67のフローチャートを参照して説明した場合と同様に実行される。図81のフローチャートを参照して、この場合の、ステップS529において実行されるビットレート選択処理の流れの例を説明する。
ビットレート選択処理が開始されると、メディアデータセグメントファイル選択部187は、ステップS591において、全てのAdaptationSetが最低のLevel of Detailではないか否かを判定する。最低のLevel of DetailではないAdaptationSet(3Dオブジェクト)が存在する(Level of Detailを下げる余地がある)と判定された場合、処理はステップS592に進む。
ステップS592において、メディアデータセグメントファイル選択部187は、schemeIdUriが"LODRelativeQualityIsEnsuredByLODOrder"のSupplementalPropertyから、Important3Dobjectの最大値を取得し、その最大値を変数aに設定する。
ステップS593において、メディアデータセグメントファイル選択部187は、ユーザの位置や視線方向等と、Scene Descriptionデータ121に記述されている各3Dオブジェクトの位置情報とから、ユーザが注目している3Dオブジェクトを求める。
ステップS594において、メディアデータセグメントファイル選択部187は、ステップS593において検出したユーザが注目している3Dオブジェクトの重要度を1とし、それ以外の3Dオブジェクト、すなわち、ユーザが注目していない3Dオブジェクトの重要度を2とする。さらに、変数a = 2とする。
ステップS595乃至ステップS600の各処理は、ステップS573乃至ステップS578の各処理(図77)と同様に実行される。
ステップS599またはステップS600の処理が終了すると、ビットレート選択処理が終了し、処理は再生処理に戻る。
このようにビットレート選択処理を行うことにより、ユーザが注目している3Dオブジェクトを識別し、その3DオブジェクトのLevel of detailを下げないようにすることができる。したがって、ユーザの主観的な6DoFコンテンツの品質の低減を抑制することができる。
<変形例>
なお、注目している3Dオブジェクトの重要度を1、注目されていないが表示されている3Dオブジェクトの重要度を2、それ以外の重要度を3として、表示されていないものからLevel of detailを下げるようにしてもよい。
また、重要度の割り当てをより細分化して、注目されていないが表示されている3Dオブジェクトを、注目している3Dオブジェクトに近い表示されている3Dオブジェクトと、そうでない3Dオブジェクトとで重要度を変える(それぞれに互いに異なる重要度を割り当てる)ようにしてもよい。
さらに、注目していない3DオブジェクトのLevel of Detailを最低レベルまで下げた後、注目している3DオブジェクトのLevel of Detailを下げるようにしてもよい。
また、Level of detail内のビットレート選択の際にも同様に、注目していない3Dオブジェクトからビットレートを下げるようにしてもよい。
<9:第7の実施の形態(実施の形態7)>
<3D空間内にある1つの物体を複数の部分の3Dオブジェクトで構成する場合のシグナリング>
第1の実施の形態は、3D空間内に存在する物体ごとに3Dオブジェクトとする場合である。物体が複数の部分の3Dオブジェクトで構成される場合においても、この第1の実施の形態の場合と同様にLevel of detail毎にビットレートアダプテーションすることができるようにしてもよい。
例えば、図82のように円柱の物体Aを分割し、3DオブジェクトA1、3DオブジェクトA2、3DオブジェクトA3、および3DオブジェクトA4の4つの部分に分けるとする。この場合、それぞれの3Dオブジェクトがメッシュデータとテクスチャデータで構成される。
<9−1:実施の形態7−1>
<Scene Descriptionにおいて部分毎の3Dオブジェクトをシグナルする>
このような全ての部分毎の3DオブジェクトをScene Descriptionにおいてシグナルする。例えば、実施の形態1において説明した手法において、Scene Descriptionで部分毎の3Dオブジェクトをシグナリングする。このようにすることで、実施の形態1において説明した手法と同じ拡張を用いて実施することができる。
例えば、Scene DescriptionとMPDの構成を用いる実施の形態1−1−1の拡張を適用することができる。図82に示されるように物体Aを4つの3Dオブジェクトにする例について実施の形態1−1−1を適用した場合、Scene Descriptionデータ121は、例えば図83に示されるような構成となる。図83において、3DオブジェクトA2乃至3DオブジェクトA4についてLoDノード以下の構成は、3DオブジェクトA1の場合と同様であるので、その説明は省略する。
図83に示されるように、実施の形態1−1−1の拡張を適用することにより、物体Aの一部分である3DオブジェクトA1乃至3DオブジェクトA4のそれぞれを、個別の3Dオブジェクトとしてシグナルすることができる。
もちろん、実施の形態1−1−1だけでなく、実施の形態1−1以下にある全ての実施の形態(実施の形態1−1−1、実施の形態1−1−2、実施の形態1−1−2−1、実施の形態1−1−2−2、実施の形態1−1−3)において説明した各手法も、図82の例のような、分割されている3Dオブジェクトに対して、適用することができる。
例えば、Scene Descriptionのみを用いる実施の形態1−2−1の拡張を適用してもよい。図82に示されるように物体Aを4つの3Dオブジェクトにする例について実施の形態1−2−1を適用した場合、Scene Descriptionデータ121は、例えば図84に示されるような構成となる。図84において、3DオブジェクトA2乃至3DオブジェクトA4についてLoDノード以下の構成は、3DオブジェクトA1の場合と同様であるので、その説明は省略する。また、3DオブジェクトA1の中Level of Detail A1MのShapeノード以下の構成は、3DオブジェクトA1の高Level of Detail A1Hの場合と同様であるので、その説明は省略する。同様に、3DオブジェクトA1の低Level of Detail A1LのShapeノード以下の構成も、3DオブジェクトA1の高Level of Detail A1Hの場合と同様であるので、その説明も省略する。
図84に示されるように、実施の形態1−2−1の拡張を適用することにより、物体Aの一部分である3DオブジェクトA1乃至3DオブジェクトA4のそれぞれを、個別の3Dオブジェクトとしてシグナルすることができる。これにより、3DオブジェクトA1乃至3DオブジェクトA4のそれぞれに、個別にアクセスすることができる。
もちろん、実施の形態1−2−1だけでなく、実施の形態1−2以下にある全ての実施の形態(実施の形態1−2−1および実施の形態1−2−2)において説明した各手法も、図82の例のような、分割されている3Dオブジェクトに対して、適用することができる。
以上のように実施の形態1を適用する手法は、部分毎の3DオブジェクトをScene Descriptionでシグナルし、個別にアクセス可能にする。ただし、この手法の場合は、元々1つの物体であるかどうかまではわからない。
<9−2:実施の形態7−2>
<Scene Descriptionにおいて、物体全体をシグナルし、その物体が複数の3Dオブジェクトで構成されることをシグナルする>
そこで、Scene Descriptionにおいて、1つの物体が存在している情報までをシグナルし、さらに、MPDの複数のメッシュデータおよびテクスチャデータへアクセスできるようにシグナルしてもよい。
例えば、図85に示されるように、Scene Descriptionデータ121において物体A全体の情報のみをシグナルする。そして、その物体AのBitwrapperノードおよびMovie textureノードのアクセス情報で、DASHのMPDファイル122の複数のメッシュデータまたはテクスチャデータをシグナルし、それらを全て利用することができるようにする。
<9−3:実施の形態7−2−1>
<部分ごとの3DオブジェクトのLevel of DetailごとにAdaptationSetとする場合>
図12および図13に示される例のように、Level of Detail毎にAdaptationSetとする構成によって、複数の3Dオブジェクトで構成される物体を表現するようにしてもよい。この場合、物体が複数の3Dオブジェクトで構成されることを示すために、Scene DescriptionのBitwrapperノード15およびMovieTextureノード16のアクセス情報から複数のAdaptationSetをシグナルする必要がある。
<9−4:実施の形態7−2−1−1>
<URL queryを拡張し複数のAdaptationSetをシグナルする>
Scene Descriptionの物体のメッシュデータへのアクセス情報を持つBitwrapperノード、テクスチャデータへのアクセス情報を持つMovieTextureノードから、MPDファイルの複数の部分のメッシュデータまたはテクスチャデータのAdaptationSetへアクセスすることができるように拡張し、それらのAdaptationSetを同時に利用する必要があることを示すようにしてもよい。
Bitwrapperノード、MovieTextureノードではURLを用いて外部メディアデータへのアクセス情報をシグナルしている。MPEG-4 Scene Description(ISO/IEC 14496-11)のBitwrapperノードおよびMovieTextureノードの構造例は、図2に示した通りである。外部メディアデータへのアクセスに使われるフィールド(field)はどちらのノードもurl fieldである。本実施の形態では、BitwrapperノードおよびMovieTextureノードのsyntaxは拡張せず、それぞれのurl fieldの表記方法を拡張する。
本実施の形態では、url fieldで示すURLをMPDファイルへのURLに加えてURLパラメータで複数のAdaptationSet@idをシグナリングし、これらを同時に利用しないといけないことを示す。具体的には、例えばAdaptationSetを表すURLパラメータの変数"requiredASList"を用い、その値で物体を構成する部分3DオブジェクトのテクスチャデータもしくはメッシュデータのAdaptationSet@idをセミコロン切りでシグナリングする。例えば、物体Aが、AdaptationSet@id=1、2、3、4から構成される場合は、以下の例のようにURLパラメータのついたURLをノードのURLに指定する。
URLの例:http://www.6dofserver.com/6dof.mpd?requiredASList=1;2;3;4
<9−5:実施の形態 7−2−1−2>
<Scene Descriptionのノードを拡張する>
Scene DescriptionデータのBitwrapperノードやMovieTextureノードに、物体を構成する複数の部分3DオブジェクトのテクスチャデータもしくはメッシュデータのAdaptationSet@idを示すfieldを追加する拡張をしてもよい。この場合、url fieldは、MPDファイルへのアクセス情報を記述する。
例えば、図86に示されるように、Scene DescriptionデータのBitwrapperノード15やMovieTextureノード16に、新しいfieldであるRequiredAdaptationSetIdsを追加し、このfieldで、物体を構成するのに必要なAdaptationSetの@idを文字列の配列として格納する。
また、以上においてはBitwrapperノードおよびMovieTextureノードの拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<9−6:実施の形態7−2−1−3>
<MPD拡張+URL queryもしくはノード拡張でシグナルする>
MPDにおいて1つの物体を構成する部分3DオブジェクトのAdaptationSetを識別できるように識別子をシグナルし、その識別子をScene Descriptionからシグナルするようにしてもよい。
例えば、AdaptationSetにある物体のメッシュデータを示すidをシグナルするようにしてもよい。この場合、テクスチャとメッシュおよびLevel of Detailごとにidを変える。
例えば、AdaptationSetに、SupplementalProperty descriptionをシグナルし、schemeIdUriで"ObjectPartsId"をシグナルする。これにより、3Dオブジェクトの一部であり、同じvalue値のAdaptationSetで1つの物体を示すことを表す。valueには識別するための値を入れる。
例:<SupplementalProperty schemeIdUri="ObjectPartsID" value="1">
さらに、図87に、物体Aが4つの部分3Dオブジェクトで構成される場合のMPDを示す。この例では、メッシュデータのみを示している。
<変形例>
Periodで物体を構成する部分3Dオブジェクトのグループをシグナルしてもよい。例えば、schmeIdUriでObjectPartsGroupを示すようにする。グルーピング情報は、グループ毎にSupplementalPropertyのエレメント(element)としてOPGを新しく追加する。OPGは、id(ObjectPartsIdのvalueと同じ意味)と、グループに含まれるAdaptationSetのidのリストから成る。
その例を図88に示す。図88は、物体Aのメッシュデータが4つのAdaptationSetから構成されており、OPGのmemberで4つのAdaptationSet@idが紐づいている。
<Scene Descriptionのシグナリング>
Scene DescriptionのBitwrapperノードやMovieTextureノードのアクセス情報として、MPDのObjectPartsIDの値、もしくは、OPG elementのidの値を示せばよい。
例えば、BitwrapperノードやMovieTextureノードのUrl fieldで、MPDのURLにURL queryで示す。URLパラメータの変数"ObjectPartId"を用い、その値でMPDのObjectPartsIDもしくは、OPG elementのidを示す。図87や図88の例の場合、以下の例のようにURLパラメータのついたURLをノードのURLに指定する。
URLの例:http://www.6dofserver.com/6dof.mpd?ObjectPartId=1
別のシグナリングとしては、BitwrapperノードやMovieTextureノードにObjectPartIdを示すfiledを追加する手法である。図89に示されるように、ObjectPartIdを追加し、その値でMPDのObjectPartsIDまたはOPG elementのidを示す。
また、以上においてはBitwrapperノードおよびMovieTextureノードの拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<9−7:実施の形態7−2−2>
<部分毎の3DオブジェクトのLevel of Detailに関わらず1つのAdaptationSetとする場合>
図21、図22に示されるように、Level of Detailに関わらず1つのAdaptationSetで同じ部分の3Dオブジェクトがシグナルされる構成で、物体が複数の3Dオブジェクトで構成されてもよい。
この場合、物体Aが複数の3Dオブジェクトで構成されることを示すために、Scene DescriptionのBitwrapperノード、MovieTextureノードのアクセス情報から複数のAdaptationSetとそのAdaptationSetごとに複数のRepresentationをシグナルする必要がある。
<9−8:実施の形態7−2−2−1>
<URL queryで拡張する>
SceneDescriptionは物体ごとでシグナルしているため、Scene Descriptionデータのメッシュを示すノードであるBitwrapperノードや、テクスチャを示すノードであるMovieTextureノードから、全ての部分の3DオブジェクトのAdaptationSetと、さらにそれらのAdaptationSetに含まれる、適切なLODのビットレートバリエーションのRepresentationを示す必要がある。
そこで、Scene DescriptionデータのBitwrapperノードやMovieTextureノードのアクセス情報(例えばURL)を拡張する。
より具体的には、AdaptationSetとそこに含まれるRepresentationを表すURLパラメータの変数である"requiredASRSList"とその値により全ての部分3DオブジェクトのAdaptationSet@idとその中で利用するRepresentation@idが示されるようにする。
例えばURLパラメータの変数"requiredASRSList"を用い、その値で物体を構成する部分3Dオブジェクトのテクスチャデータもしくはメッシュデータを示す。値としては、AdaptationSet@idをコロンで区切りそのあとに利用するRepresentation@idをコンマ区切りで示す。さらに複数のAdaptationSetをシグナルするためにセミコロン切りでシグナリングする。例えば、物体Aが、AdaptationSet@id=1、2、3、4から構成され、AdaptationSet@id=1ではRepresentation@id=11,12を利用、AdaptationSet@id=2ではRepresentation@id=21,22を利用、AdaptationSet@id=3ではRepresentation@id=31,32を利用、AdaptationSet@id=4ではRepresentation@id=41,42を利用する場合は、以下の例のようにURLパラメータのついたURLをノードのURLに指定する。
http://www.6dofserver.com/6dof.mpd?requiredASRSList=1:11,12;2:21,22;3:31,32;4:41,42
<9−9:実施の形態7−2−2−2>
<Scene Descriptionのノードを拡張する>
Scene DescriptionデータのBitwrapperノードやMovieTextureノードに、物体を構成する複数のAdaptationSet@idとビットレートバリエーションのRepresentation@idを示すfieldを追加する拡張をしてもよい。この場合、url fieldは、MPDファイルへのアクセス情報を記述する。
図90に示されるように、Scene DescriptionデータのBitwrapperノード15やMovieTextureノード16に、requiredASRSList fieldを追加する。fieldの値としては、実施の形態7−2−2−1で利用した構造である、AdaptationSet@idをコロンで区切りそのあとに利用するRepresentation@idをコンマ区切りにした文字列を複数格納する。
また、以上においてはBitwrapperノードおよびMovieTextureノードの拡張例を示したが、他のノードで同様のfieldを拡張するようにしてもよい。
<9−10:実施の形態7−2−2−3>
<MPD拡張+URL queryもしくはノード拡張でシグナルする>
実施の形態1−1−2−2のRepresentationGroupを用いて、Scene Descriptionから複数の部分3Dオブジェクトをシグナルできるように拡張してもよい。
また、Scene Descriptionデータにおいては、BitwrapperノードおよびMovieTextureノードのアクセス情報(URL)に実施の形態1−1−2−2のRepresentationのグループを複数示すようにする。
MPDファイルのURLパラメータに、AdaptationSetを示すパラメータと、RepresentationGroupを示すパラメータを複数シグナルする。例えば、URLパラメータをrequiredASRGListとして、値としてAdaptationSet@idとコロンでRepresentationGroupのidを示す。複数部分の3Dオブジェクトを示すために、セミコロンで区切る。以下にそのURLの例を示す。
URLの例:http://www.6dofserver.com/6dof.mpd?requiredASRGList =1:1;2:1;3:1;4:1
変形例として、BitwrapperノードやMovieTextureノードを拡張してもよい。実施の形態7−2−2−2の拡張のように、上記のrequiredASRGListをBitwrapperノードやMovieTextureノードとして追加する。
また、変形例として、実施の形態7−2−1−3のObjectPartIdを、Representationにシグナルしてもよい。この時には、LODごとにidを分ける。このようにすると、実施の形態7−2−1−3と同様のシグナルが可能である。実施の形態7−2−1−3のようにPeriodでシグナルする場合、以下のようなSupplementalPropertyを追加すればよい。OPG elementに新しくOPGmember elementを追加し、それぞれの部分3DオブジェクトのAdaptationSet@idと、ビットレートバリエーションのRepresentation@idをASIdおよびRSIdでシグナルする。
<SupplementalProperty schemeIdUri="ObjectPartsGoup" >
<OPG id="1"> // 物体Aを構成する部分3Dオブジェクトのメッシュのグループ
<OPGmember ASid="1" RSid="11,12">
<OPGmember ASid="2" RSid="21,22">
<OPGmember ASid="3" RSid="31,32">
<OPGmember ASid="4" RSid="41,42">
</OPG>
<OPG id="2"> // 物体Aを構成する部分3Dオブジェクトのテクスチャのグループ
//略
</SupplementalProperty>
<10.付記>
<まとめ>
以上のように説明した各実施の形態の手法は、適宜、他の実施の形態の手法と組み合わせて用いたり、選択的に併用したりすることができる。
以上のような本開示を適用することにより、6DoFコンテンツの配信でビットレートアダプテーションができるようになり、伝送帯域が限られる場合に再生が途切れることを抑制することができる。すなわち、コンテンツ再生のロバスト性を向上させることができる。
また、クライアント装置103は、3Dオブジェクト間の相対的な品質を維持したビットレート選択が可能になる。
さらに、視点位置で決められた3Dオブジェクトの組合せでの最低ビットレートより、さらに低いビットレートになる組み合わせの選択が可能になり、より狭い伝送帯域でも途切れない再生が可能になる。
また、クライアント装置103は、コンテンツオーサなどの意図通りの順に3DオブジェクトのLevel of detailを下げることができ、コンテンツオーサなどの意図が反映されたシーンを表示することができる。
さらに、帯域が変わる時に、オブジェクト毎のビットレートを上げる(下げる)アルゴリズム選択に有用である。
また、クライアントは、ユーザの注目している3DオブジェクトのLevel of detailを極力維持して、全体のビットレートを下げることができる。注目している3DオブジェクトのLevel of detailを保つことができる。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図91は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図91に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
<本技術の適用対象>
本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
上述した実施の形態に係る画像処理装置、画像符号化装置、および画像復号装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に応用され得る。
また、本技術は、任意の装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等(すなわち、装置の一部の構成)として実施することもできる。
さらに、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスに適用することもできる。
なお、本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) 3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、前記コンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する生成部
を備える情報処理装置。
(2) 前記生成部は、前記情報として、前記コンテンツの再生を制御する制御ファイルのアクセス情報を含む前記メタデータを生成する
(1)に記載の情報処理装置。
(3) 前記制御ファイルは、MPD(Media Presentation Description)であり、
前記生成部は、前記MPDの、前記3次元オブジェクトのLevel of Detailに対応し、前記Level of Detailの複数のビットレートバリエーションに関する情報を含むAdaptationSetへのアクセス情報を含む前記メタデータを生成する
(2)に記載の情報処理装置。
(4) 前記制御ファイルは、MPD(Media Presentation Description)であり、
前記生成部は、前記MPDの、前記3次元オブジェクトに対応するAdaptationSetの、前記3次元オブジェクトのLevel of Detailに対応し、前記Level of Detailの複数のビットレートバリエーションに関する情報を含むrepresentationへのアクセス情報を含む前記メタデータを生成する
(2)または(3)に記載の情報処理装置。
(5) 前記生成部は、所望の前記MPDのアクセス情報、前記MPD内の所望のAdaptationSetを指定する情報、および前記AdaptationSet内の所望のRepresentationを指定する情報からなる前記アクセス情報を含む前記メタデータを生成する
(4)に記載の情報処理装置。
(6) 前記生成部は、さらに、互いに同一のビットレートバリエーションをグループ化する情報を含む前記MPDを生成する
(4)または(5)に記載の情報処理装置。
(7) 前記生成部は、さらに、前記メタデータへのアクセス情報を含まない前記MPDを生成する
(2)乃至(6)のいずれかに記載の情報処理装置。
(8) 前記メタデータは、前記コンテンツの、視点位置に基づく空間表示制御情報であり、
前記生成部は、前記コンテンツの配信の際にビットレートを選択可能にする情報をノードとして有する前記視点位置に基づく空間表示制御情報を生成する
(1)乃至(7)のいずれかに記載の情報処理装置。
(9) 前記生成部は、前記3次元オブジェクトの複数のビットレートバリエーションを複数の子ノードとして表現する専用のノードを含む前記視点位置に基づく空間表示制御情報を生成する
(8)に記載の情報処理装置。
(10) 前記生成部は、前記3次元オブジェクトの複数のビットレートバリエーションを複数の子ノードとして表現するフィールドが追加されたノードを含む前記視点位置に基づく空間表示制御情報を生成する
(8)または(9)に記載の情報処理装置。
(11) 前記生成部は、全ての3次元オブジェクトのビットレートを一律に制御することで品質の維持が可能であることを示す情報をさらに含む前記メタデータを生成する
(1)乃至(10)のいずれかに記載の情報処理装置。
(12) 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報をさらに含む前記メタデータを生成する
(1)乃至(11)のいずれかに記載の情報処理装置。
(13) 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報として、前記3次元オブジェクトの各ビットレートバリエーションの品質を順位で示すQualityRankingを含む前記メタデータを生成する
(12)に記載の情報処理装置。
(14) 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報として、前記3次元オブジェクトの各ビットレートバリエーションの品質を値で示すQuality値を含む前記メタデータを生成する
(12)または(13)に記載の情報処理装置。
(15) 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報として、同時再生可能な前記3次元オブジェクトの各ビットレートバリエーションを示す情報を含む前記メタデータを生成する
(12)乃至(14)のいずれかに記載の情報処理装置。
(16) 前記生成部は、前記3次元オブジェクトのLevel of Detailを変更しても、前記3次元オブジェクト間の相対的な品質の維持が可能であることを示す情報をさらに含む前記メタデータを生成する
(1)乃至(15)のいずれかに記載の情報処理装置。
(17) 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報に基づいて前記3次元オブジェクトのLevel of Detailを変更しても、前記3次元オブジェクト間の相対的な品質の維持が可能であることを示す情報をさらに含む前記メタデータを生成する
(1)乃至(16)のいずれかに記載の情報処理装置。
(18) 前記生成部は、前記3次元オブジェクトの重要度を示す情報をさらに含む前記メタデータを生成する
(1)乃至(17)のいずれかに記載の情報処理装置。
(19) 前記生成部は、注目する3次元オブジェクトの重要度を指定する情報をさらに含む前記メタデータを生成する
(1)乃至(18)のいずれかに記載の情報処理装置。
(20) 3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、前記コンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する
情報処理方法。
100 配信システム, 101 ファイル生成装置, 102 配信サーバ, 103 クライアント装置, 151 制御部, 152 ファイル生成部, 161 データ入力部, 162 Scene Description生成部, 163 メディアデータ生成部, 164 MPDファイル生成部, 165 セグメントファイル生成部, 166 記録部, 167 アップロード部, 171 制御部, 172 再生処理部, 181 MPDファイル取得部, 182 MPDファイル処理部, 183 Secene Descriptionセグメントファイル取得部, 184 Scene Descriptionセグメントファイル処理部, 185 表示制御部, 186 計測部, 187 メディアデータセグメントファイル選択部, 188 メディアデータセグメントファイル取得部, 189 復号処理部、 190 表示情報生成部, 191 表示部

Claims (20)

  1. 3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、前記コンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する生成部
    を備える情報処理装置。
  2. 前記生成部は、前記情報として、前記コンテンツの再生を制御する制御ファイルのアクセス情報を含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  3. 前記制御ファイルは、MPD(Media Presentation Description)であり、
    前記生成部は、前記MPDの、前記3次元オブジェクトのLevel of Detailに対応し、前記Level of Detailの複数のビットレートバリエーションに関する情報を含むAdaptationSetへのアクセス情報を含む前記メタデータを生成する
    請求項2に記載の情報処理装置。
  4. 前記制御ファイルは、MPD(Media Presentation Description)であり、
    前記生成部は、前記MPDの、前記3次元オブジェクトに対応するAdaptationSetの、前記3次元オブジェクトのLevel of Detailに対応し、前記Level of Detailの複数のビットレートバリエーションに関する情報を含むrepresentationへのアクセス情報を含む前記メタデータを生成する
    請求項2に記載の情報処理装置。
  5. 前記生成部は、所望の前記MPDのアクセス情報、前記MPD内の所望のAdaptationSetを指定する情報、および前記AdaptationSet内の所望のRepresentationを指定する情報からなる前記アクセス情報を含む前記メタデータを生成する
    請求項4に記載の情報処理装置。
  6. 前記生成部は、さらに、互いに同一のビットレートバリエーションをグループ化する情報を含む前記MPDを生成する
    請求項4に記載の情報処理装置。
  7. 前記生成部は、さらに、前記メタデータへのアクセス情報を含まない前記MPDを生成する
    請求項2に記載の情報処理装置。
  8. 前記メタデータは、前記コンテンツの、視点位置に基づく空間表示制御情報であり、
    前記生成部は、前記コンテンツの配信の際にビットレートを選択可能にする情報をノードとして有する前記視点位置に基づく空間表示制御情報を生成する
    請求項1に記載の情報処理装置。
  9. 前記生成部は、前記3次元オブジェクトの複数のビットレートバリエーションを複数の子ノードとして表現する専用のノードを含む前記視点位置に基づく空間表示制御情報を生成する
    請求項8に記載の情報処理装置。
  10. 前記生成部は、前記3次元オブジェクトの複数のビットレートバリエーションを複数の子ノードとして表現するフィールドが追加されたノードを含む前記視点位置に基づく空間表示制御情報を生成する
    請求項8に記載の情報処理装置。
  11. 前記生成部は、全ての3次元オブジェクトのビットレートを一律に制御することで品質の維持が可能であることを示す情報をさらに含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  12. 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報をさらに含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  13. 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報として、前記3次元オブジェクトの各ビットレートバリエーションの品質を順位で示すQualityRankingを含む前記メタデータを生成する
    請求項12に記載の情報処理装置。
  14. 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報として、前記3次元オブジェクトの各ビットレートバリエーションの品質を値で示すQuality値を含む前記メタデータを生成する
    請求項12に記載の情報処理装置。
  15. 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報として、同時再生可能な前記3次元オブジェクトの各ビットレートバリエーションを示す情報を含む前記メタデータを生成する
    請求項12に記載の情報処理装置。
  16. 前記生成部は、前記3次元オブジェクトのLevel of Detailを変更しても、前記3次元オブジェクト間の相対的な品質の維持が可能であることを示す情報をさらに含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  17. 前記生成部は、前記3次元オブジェクトの間の相対的な品質を示す情報に基づいて前記3次元オブジェクトのLevel of Detailを変更しても、前記3次元オブジェクト間の相対的な品質の維持が可能であることを示す情報をさらに含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  18. 前記生成部は、前記3次元オブジェクトの重要度を示す情報をさらに含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  19. 前記生成部は、注目する3次元オブジェクトの重要度を指定する情報をさらに含む前記メタデータを生成する
    請求項1に記載の情報処理装置。
  20. 3次元空間の3次元オブジェクトを表現し、再生の際に視線方向および視点位置を自由に設定可能なコンテンツのメタデータであって、前記コンテンツの配信の際にビットレートを選択可能にする情報を含む前記メタデータを生成する
    情報処理方法。
JP2020559890A 2018-12-03 2019-11-20 情報処理装置および方法 Active JP7484723B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018226649 2018-12-03
JP2018226649 2018-12-03
PCT/JP2019/045347 WO2020116154A1 (ja) 2018-12-03 2019-11-20 情報処理装置および方法

Publications (2)

Publication Number Publication Date
JPWO2020116154A1 true JPWO2020116154A1 (ja) 2021-10-14
JP7484723B2 JP7484723B2 (ja) 2024-05-16

Family

ID=70975441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020559890A Active JP7484723B2 (ja) 2018-12-03 2019-11-20 情報処理装置および方法

Country Status (5)

Country Link
US (1) US20220053224A1 (ja)
EP (2) EP4102852A1 (ja)
JP (1) JP7484723B2 (ja)
CN (1) CN113170235A (ja)
WO (1) WO2020116154A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11800184B2 (en) 2021-01-06 2023-10-24 Tencent America LLC Method and apparatus for media scene description

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113424549B (zh) * 2019-01-24 2024-05-28 交互数字Vc控股公司 用于利用多个细节级别和自由度的自适应空间内容流传输的系统和方法
US20210392386A1 (en) * 2020-06-12 2021-12-16 Tencent America LLC Data model for representation and streaming of heterogeneous immersive media
KR20220012740A (ko) * 2020-07-23 2022-02-04 삼성전자주식회사 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치
JPWO2022070903A1 (ja) * 2020-09-29 2022-04-07
US11833423B2 (en) * 2020-09-29 2023-12-05 Activision Publishing, Inc. Methods and systems for generating level of detail visual assets in a video game
US11748955B2 (en) * 2020-10-06 2023-09-05 Nokia Technologies Oy Network-based spatial computing for extended reality (XR) applications
JPWO2022149189A1 (ja) * 2021-01-05 2022-07-14
US20240144602A1 (en) * 2021-04-30 2024-05-02 Nippon Telegraph And Telephone Corporation Distribution control system, distribution control apparatus, distribution control method, and program
US20230115603A1 (en) 2021-10-12 2023-04-13 Square Enix Ltd. Scene entity processing using flattened list of sub-items in computer game
WO2023153473A1 (ja) * 2022-02-10 2023-08-17 日本放送協会 メディア処理装置、送信装置及び受信装置
WO2023153472A1 (ja) * 2022-02-10 2023-08-17 日本放送協会 メディア処理装置、送信装置及び受信装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132385A1 (en) 2003-10-06 2005-06-16 Mikael Bourges-Sevenier System and method for creating and executing rich applications on multimedia terminals
JP4760111B2 (ja) * 2005-04-26 2011-08-31 株式会社セガ 映像オブジェクト表現用データ構造生成プログラム、映像オブジェクト表現用データ構造生成方法、映像ソフト開発装置、映像処理プログラム、映像処理方法、映像処理装置、映像オブジェクト表現用データ構造、および、記録媒体
US11277598B2 (en) * 2009-07-14 2022-03-15 Cable Television Laboratories, Inc. Systems and methods for network-based media processing
EP2621188B1 (en) * 2012-01-25 2016-06-22 Alcatel Lucent VoIP client control via in-band video signalling
GB2524531B (en) * 2014-03-25 2018-02-07 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
GB2550589B (en) * 2016-05-23 2019-12-04 Canon Kk Method, device, and computer program for improving streaming of virtual reality media content
KR102506480B1 (ko) * 2016-06-14 2023-03-07 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
KR102545195B1 (ko) * 2016-09-12 2023-06-19 삼성전자주식회사 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치
US20180176468A1 (en) * 2016-12-19 2018-06-21 Qualcomm Incorporated Preferred rendering of signalled regions-of-interest or viewports in virtual reality video
CN110622483B (zh) * 2017-03-23 2022-10-18 Vid拓展公司 改进用于360度自适应流传输的体验的度量和消息

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11800184B2 (en) 2021-01-06 2023-10-24 Tencent America LLC Method and apparatus for media scene description

Also Published As

Publication number Publication date
EP3893514A1 (en) 2021-10-13
EP3893514A4 (en) 2022-02-23
WO2020116154A1 (ja) 2020-06-11
EP4102852A1 (en) 2022-12-14
CN113170235A (zh) 2021-07-23
JP7484723B2 (ja) 2024-05-16
US20220053224A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
JP7484723B2 (ja) 情報処理装置および方法
JP7359153B2 (ja) 画像処理装置および方法
JP7384159B2 (ja) 画像処理装置および方法
WO2019142667A1 (ja) 画像処理装置および方法
CN109804635A (zh) 在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序
US10911809B2 (en) Communication apparatus, communication method, and program
DE112020004716T5 (de) Objektbasierte volumetrische videocodierung
EP3422702B1 (en) File generation device, file generation method, reproduction device, and reproduction method
JP7238948B2 (ja) 情報処理装置および情報処理方法
JP7480773B2 (ja) 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
JP6944131B2 (ja) ファイル生成装置およびファイル生成方法、並びに、再生装置および再生方法
WO2021065277A1 (ja) 情報処理装置、再生処理装置及び情報処理方法
JP7501372B2 (ja) 情報処理装置および情報処理方法
EP3509310B1 (en) Delivery device, delivery method, receiver, receiving method, program, and content delivery system
JP6632550B2 (ja) タイムピリオドにまたがってオブジェクトを識別する方法および対応デバイス
WO2022075342A1 (ja) 情報処理装置および方法
WO2020261689A1 (ja) 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
JP7442302B2 (ja) データ処理装置およびその制御方法、プログラム
JP7229696B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
US20240086451A1 (en) Information processing apparatus, reception apparatus, information processing method, and storage medium
WO2022004377A1 (ja) 情報処理装置および方法
CN106165431A (zh) 接收装置、接收方法、传输装置以及传输方法
JP2023544049A (ja) 双方向プレゼンテーションデータストリーム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240415

R150 Certificate of patent or registration of utility model

Ref document number: 7484723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150