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

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

Info

Publication number
WO2024157930A1
WO2024157930A1 PCT/JP2024/001644 JP2024001644W WO2024157930A1 WO 2024157930 A1 WO2024157930 A1 WO 2024157930A1 JP 2024001644 W JP2024001644 W JP 2024001644W WO 2024157930 A1 WO2024157930 A1 WO 2024157930A1
Authority
WO
WIPO (PCT)
Prior art keywords
random access
sample
subsample
unit
mesh
Prior art date
Application number
PCT/JP2024/001644
Other languages
English (en)
French (fr)
Inventor
遼平 高橋
光浩 平林
Original Assignee
ソニーグループ株式会社
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 ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024157930A1 publication Critical patent/WO2024157930A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure relates to an information processing device and method, and in particular to an information processing device and method that can suppress a decrease in random accessibility while suppressing a decrease in coding efficiency.
  • ISOBMFF International Organization for Standardization Base Media File Format
  • MPEG-4 Moving Picture Experts Group - 4
  • video compression see, for example, non-patent literature 1 and non-patent literature 2).
  • V-DMC Video-based Dynamic Mesh Coding
  • V-DMC also called V-DMC bitstreams
  • ISOBMFF International Organization for Standardization Base Media File Format
  • a mesh base mesh in the case of V-DMC
  • V-DMC can be composed of one or more sub-meshes.
  • This sub-mesh configuration reduces the frequency of RAPs (Random Access Points) throughout the bitstream, which can reduce random accessibility.
  • RAPs Random Access Points
  • the reduction in RAPs can be suppressed by reducing the number of samples to be inter-coded and increasing the number of samples to be intra-coded, but this can result in a reduction in coding efficiency.
  • This disclosure has been made in light of these circumstances, and makes it possible to suppress a decrease in random accessibility while suppressing a decrease in coding efficiency.
  • An information processing device is an information processing device that includes a random access metadata generation unit that generates random access metadata for random access to mesh data based on a current sample, which is an intermesh sample, and a storage unit that stores the random access metadata in a content file that stores the mesh data.
  • An information processing method is an information processing method that generates random access metadata for random access to mesh data based on a current sample, which is an intermesh sample, and stores the random access metadata in a content file that stores the mesh data.
  • An information processing device is an information processing device that includes a random access playback control unit that controls random access based on random access metadata for random access based on a current sample, which is an intermesh sample, stored in a content file that stores mesh data, and a playback processing unit that starts playback of the mesh data through the random access.
  • An information processing method is an information processing method that controls random access based on random access metadata for random access based on a current sample, which is an intermesh sample, stored in a content file that stores mesh data, and starts playback of the mesh data through the random access.
  • random access metadata is generated for mesh data for random access based on a current sample, which is an intermesh sample, and the random access metadata is stored in a content file that stores the mesh data.
  • random access is controlled based on random access metadata for random access based on a current sample, which is an intermesh sample, that is stored in a content file that stores mesh data, and playback of the mesh data is initiated by the random access.
  • FIG. 13 is a diagram for explaining a mesh.
  • FIG. 1 is a diagram for explaining V-DMC.
  • FIG. 13 is a diagram for explaining a submesh. This is a diagram explaining sync sample.
  • FIG. 13 is a diagram showing an example of a method for storing a bit stream in which mesh data is encoded in a file container and distributing the bit stream.
  • FIG. 2 is a diagram showing an example of a main track configuration of a content file.
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 13 is a diagram illustrating an example of random access control.
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 13 is a diagram illustrating an example of random access metadata.
  • FIG. 2 is a block diagram showing an example of the main configuration of a V-DMC encoding unit.
  • 13 is a flowchart illustrating an example of the flow of a file generation process.
  • 13 is a flowchart illustrating an example of the flow of a V-DMC encoding process.
  • FIG. 2 is a block diagram showing an example of the main configuration of a playback device.
  • FIG. 2 is a block diagram showing an example of the main configuration of a V-DMC decoding unit.
  • 11 is a flowchart illustrating an example of the flow of a playback process.
  • 13 is a flowchart illustrating an example of the flow of a V-DMC decoding process.
  • 13 is a flowchart illustrating an example of the flow of a random access reproduction process.
  • FIG. 2 is a block diagram showing an example of a main configuration of a computer.
  • Non-patent document 1 (mentioned above)
  • Non-patent document 2 (mentioned above)
  • Non-patent document 3 (mentioned above)
  • Non-patent document 4 (mentioned above)
  • Non-patent document 5 (mentioned above)
  • Non-patent document 6 (mentioned above)
  • Non-patent document 7 (mentioned above)
  • Non-patent document 8 https://www.matroska.org/index.html
  • the contents of the above-mentioned non-patent documents and the contents of other documents referenced in the above-mentioned non-patent documents are also used as the basis for determining the support requirements.
  • 3D data representing the three-dimensional structure of a solid structure an object with a three-dimensional shape
  • a mesh which represents the three-dimensional shape of the object surface by forming polygons with vertices and connections (also called edges).
  • vertices 11 and connections 12 that connect these vertices 11 form a polygonal plane (polygon).
  • polygon polygonal plane
  • the polygons will be described as having a triangular shape.
  • These polygons also called faces
  • a texture 13 can be attached (or applied) to each face of this mesh.
  • the Mesh data is composed of information such as that shown in the lower part of Figure 1.
  • the vertex information 14 shown first from the left in the lower part of Figure 1 is information indicating the three-dimensional position (three-dimensional coordinates (X, Y, Z)) of each vertex 11 that constitutes the mesh.
  • the connection information 15 shown second from the left in the lower part of Figure 1 is information indicating each connection (edge) 12 that constitutes the mesh.
  • the texture image 16 shown third from the left in the lower part of Figure 1 is map information of the texture 13 that is applied to each face.
  • the UV map 17 shown fourth from the left in the lower part of Figure 1 is information indicating the correspondence between the vertices 11 and the texture 13.
  • the UV map 17 shows the coordinates (UV coordinates) in the texture image 16 of each vertex 11.
  • Mesh data can change in the time direction like a moving image of 2D data.
  • mesh data can have a structure in which successive frames of mesh data representing three-dimensional structures at different times are formed.
  • V-DMC Video-based Dynamic Mesh Coding
  • the mesh to be coded (referred to as the original mesh in this specification) is represented as a base mesh with lower resolution (i.e., coarser) than the original mesh, and displacement vectors of the division points obtained by subdividing the base mesh, and the base mesh and displacement vectors are coded.
  • a dynamic mesh stream which is mesh data generated by camera capture and whose structure changes every frame (non-registered), is coded.
  • a mesh essentially forms surfaces (polygons) in space using vertices and edges, but for ease of explanation here it is explained as a group of vertices connected linearly (in series) on a plane.
  • a coarse (low-resolution) mesh is formed, as shown in the second row from the top of Figure 2. This is called the base mesh.
  • each polygon of this base mesh By subdividing each polygon of this base mesh, vertices and edges are added, as shown in the third row from the top of Figure 2. For example, this subdivision can add vertices equal to the number that was thinned out from the original mesh. In other words, by subdividing the base mesh, a mesh with the same number of vertices as the original mesh is obtained. In this specification, the vertices added by subdivision in this way are also referred to as division points.
  • the positions of the vertices of this subdivided base mesh will differ from the positions of the vertices of the original mesh (top row in Figure 2).
  • the displacement (movement) of such vertices shown as a vector is called a displacement vector.
  • the original mesh can be represented as a base mesh and a displacement vector.
  • the number of polygons i.e., the number of vertices and edges
  • the displacement vector instead of encoding the original mesh, it is possible to prevent a decrease in encoding efficiency (an increase in the amount of code).
  • V-DMC V-DMC data consisting of a base mesh, displacement vectors, attributes (textures), and atlas information is generated from 3D data such as mesh data as shown in Figure 1, and the V-DMC data is encoded.
  • the atlas information is information required to reconstruct a mesh, and includes, for example, information indicating the mutual correspondence between the base mesh, displacement vectors, and textures. For example, it may include information that associates mesh patches with attribute patches, such as UV map 17 in Figure 1.
  • the base mesh, displacement vector, attributes (texture), and atlas information that make up the V-DMC data are each encoded, and each bit stream (encoded data) is generated. Then, the base mesh stream, displacement vector stream, attribute (texture) stream, and atlas information stream are treated as substreams, and a single bit stream (also called a V-DMC bit stream) is generated.
  • mesh data can change in the time direction, and so has a structure in the time direction (a continuous frame structure). For this reason, in V-DMC, mesh data is divided and processed according to that structure in the time direction. This processing unit in the time direction is called a sample. In other words, encoding and decoding are performed with one frame or multiple continuous frames of mesh data as one sample. Generally, one frame of mesh data is considered to be one sample.
  • a sample may be intra-coded independently of other samples, or it may be inter-coded using other samples (other frames) as key samples (key frames).
  • the atlas information is coded in a specific manner.
  • Displacement vectors are packed into frame images (also called displacement maps or geometry maps) and coded as a moving image (also called displacement video or geometry video) using a coding scheme for moving images.
  • Attributes are packed into frame images (also called texture images or attribute maps) and coded as a moving image (also called texture video or attribute video) using a coding scheme for moving images.
  • the base mesh is coded independently of other samples using a specific coding scheme (e.g. Draco, etc.), and in the case of inter coding, the difference with the key sample is derived and coded. Note that if the sample to be processed has no difference with the key sample (if it is identical to the key sample), its coding can be skipped.
  • each substream of base mesh, displacement vector, attribute (texture), and atlas information is decoded using a decoding method corresponding to each encoding method, and the atlas information, base mesh, displacement vector, and texture are restored (generated). Then, as described above, based on the atlas information, the mesh is reconstructed (a restored mesh is generated) by subdividing the base mesh, applying the displacement vectors to its vertices (i.e., displacing the vertices), and applying textures to the faces.
  • V-DMC bitstream distribution In recent years, it is expected that a method of storing such a V-DMC bitstream in ISOBMFF (International Organization for Standardization Base Media File Format) or the like and distributing it will be established.
  • ISOBMFF International Organization for Standardization Base Media File Format
  • MPEG-4 Motion Picture Experts Group - 4
  • ISO/IEC 23090-10 which is a distribution technology standard for V-PCC
  • the V-DMC bitstream is stored in a track of ISOBMFF.
  • a mesh (base mesh in the case of V-DMC) may be composed of one or more sub-meshes.
  • a sub-mesh is a unit of encoding processing in the spatial direction (area direction). That is, the sub-meshes can be encoded independently of each other.
  • the sub-meshes 31A and 31B can be encoded independently of each other.
  • the sub-meshes 31A and 31B can be decoded independently of each other. That is, it is also possible to decode only the sub-mesh 31A or only the sub-mesh 31B. That is, only a desired part of the mesh can be decoded, and unnecessary increase in the amount of decoding processing can be suppressed. This can suppress an increase in the load and processing time of the decoding processing.
  • Figure 4 shows an example of the structure of a bitstream that encodes mesh data and is stored in ISOBMFF.
  • the bitstream shown in Figure 4 is a bitstream that encodes mesh data having two submeshes (submesh#1, submesh#2), and has nine samples, from POC (Picture Order Count) 0 to POC8. Note that POC indicates the decoding order of each sample.
  • a sample corresponding to a submesh is also called a subsample.
  • each sample has a subsample corresponding to submesh#1 and a subsample corresponding to submesh#2.
  • the squares labeled "Draco" indicate intra-coded subsamples, and the squares labeled "motion" indicate inter-coded subsamples.
  • ISOBMFF allows random access playback by accessing a sample (also called a sync sample) in the middle of a sequence specified as a RAP and starting access from that sample. Samples that can be specified as sync samples are intra-coded samples.
  • the random access metadata is control information for randomly accessing mesh data. More specifically, the random access metadata is control information for randomly accessing mesh data based on a current sample, which is the sample to be processed.
  • the random access metadata may be control information for randomly accessing mesh data based on a current sample, which is an intermesh sample.
  • an intermesh sample is a sample that includes an intermesh subsample
  • an intermesh subsample is a subsample of inter-coded mesh data.
  • a subsample of intra-coded mesh data is also referred to as an intramesh subsample
  • a sample composed only of intramesh subsamples is also referred to as an intramesh sample.
  • a file generating device that stores a bit stream that encodes mesh data in a file container may include a random access metadata generating unit that generates random access metadata for random access to the mesh data based on a current sample, which is an intermesh sample, and a storage unit that stores the random access metadata in a content file that stores the mesh data.
  • a file generating device (first information processing device) that stores a bit stream that encodes mesh data in a file container
  • random access metadata for random access to the mesh data based on a current sample, which is an intermesh sample, may be generated, and the random access metadata may be stored in a content file that stores the mesh data.
  • the first information processing device can also treat intermesh samples as sync samples (i.e., RAPs). In other words, the first information processing device can also treat samples other than samples consisting only of intra-coded subsamples as sync samples (i.e., RAPs). Therefore, the first information processing device can generate a content file that allows random access to a wider variety of samples while suppressing a reduction in encoding efficiency. In other words, the first information processing device can suppress a reduction in random accessibility while suppressing a reduction in encoding efficiency. For example, the first information processing device can suppress a reduction in the viewing experience quality of trick playback (e.g., jump playback, fast forward, rewind, etc.) while suppressing a reduction in encoding efficiency.
  • trick playback e.g., jump playback, fast forward, rewind, etc.
  • a playback device that decodes a bit stream stored in a file container and plays back mesh data may be provided with a random access playback control unit that controls random access based on random access metadata for random access based on a current sample, which is an intermesh sample, that is stored in a content file that stores the mesh data, and a playback processing unit that starts playback of the mesh data through that random access.
  • random access may be controlled based on random access metadata for random access based on a current sample, which is an intermesh sample, that is stored in a content file that stores the mesh data, and playback of the mesh data may be started by the random access.
  • the second information processing device can easily (without parsing the bitstream) randomly access samples other than samples consisting only of intra-coded subsamples based on the information of the content file (random access metadata). Therefore, the second information processing device can randomly access a wider variety of samples of the content file while suppressing a reduction in encoding efficiency. In other words, the second information processing device can suppress a reduction in random accessibility while suppressing a reduction in encoding efficiency. For example, the second information processing device can suppress a reduction in the viewing experience quality of trick playback (e.g., jump playback, fast forward, rewind, etc.) while suppressing a reduction in encoding efficiency.
  • trick playback e.g., jump playback, fast forward, rewind, etc.
  • the random access metadata may be stored anywhere in the content file.
  • the storage unit may store the random access metadata in a track that stores mesh data of the content file.
  • the content file may store the random access metadata in a track that stores mesh data.
  • the track configuration in the content file may be any.
  • the atlas information substream (atlas data substream), the base mesh substream (basemesh substream), the displacement vector substream (geometry video substream), and the attribute (texture) substream (attribute video substream) may be stored in different tracks.
  • FIG. 6 shows an example of the track configuration of a content file.
  • the atlas information substream (atlas data substream) is stored in the atlas track (atlas track).
  • the base mesh substream (basemesh substream) is stored in the basemesh track (basemesh track).
  • the displacement vector substream (geometry video substream) is stored in the geometry track (geometry track).
  • the attribute (texture) substream (attribute video substream) is stored in the attribute track (attribute track).
  • random access metadata may be stored in the base mesh track.
  • the random access metadata may be stored in an area that stores metadata of the base mesh track.
  • the random access metadata may be stored in the content file in any manner.
  • a storage unit may store the random access metadata as a parameter of a sample group.
  • a content file may store the random access metadata as a parameter of a sample group.
  • FIG. 7 is a diagram showing an example of random access metadata.
  • a new sample group entry (MeshRollRecoveryEntry) may be defined as random access metadata, and control information for randomly accessing mesh data may be stored in this entry (MeshRollRecoveryEntry).
  • the random access metadata may be referenced when the sample corresponding to that random access metadata is decoded.
  • the random access metadata may be set for each sample.
  • the random access metadata may be shared by multiple samples. For example, the random access metadata may be set for each predetermined sample section. In that case, common random access metadata will be applied to each sample within that sample section.
  • the random access metadata may be set for the entire sequence. In that case, common random access metadata will be applied to all samples in the sequence.
  • the random access metadata may be set only for some samples.
  • the random access metadata may be set only for certain samples.
  • the random access metadata generating unit may generate random access metadata corresponding to the intermesh samples.
  • the random access metadata may correspond to the intermesh samples.
  • the random access metadata may be set only for some of the intermesh samples.
  • the random access metadata can be applied to any mesh data.
  • it may be applied to a base mesh of V-DMC.
  • the mesh data may be data of a base mesh with lower resolution than the original mesh, which is generated by thinning out vertices from the original mesh to be coded, which is composed of vertices and connections that express the three-dimensional structure of an object.
  • the random access metadata may be applied when the original mesh is coded without applying V-DMC, and the bit stream of the original mesh is stored in a file container such as ISOBMFF and distributed.
  • the mesh data may be data of the original mesh to be coded, which is composed of vertices and connections that express the three-dimensional structure of an object.
  • the specifications and name of the file container that stores the mesh data bit stream and random access metadata may be of any type.
  • the content file may be a file container that complies with ISOBMFF (International Organization for Standardization Base Media File Format).
  • the random access metadata may include control information that specifies the sample at which to start decoding.
  • the random access metadata corresponding to a POC4 sample may include control information that specifies the start decoding sample for successfully decoding that POC4 sample.
  • control information that specifies the start decoding sample for successfully decoding that POC4 sample.
  • intramesh subsamples exist for samples from POC2 to POC4. Therefore, if decoding is started from the POC2 sample, the POC4 sample can be successfully decoded.
  • control information ('roll' negative distance) that specifies the POC2 sample as the start decoding sample may be included in the random access metadata corresponding to the POC4 sample.
  • the POC2 sample is the closest to the POC4 sample as the decoding start sample for successfully decoding the POC4 sample.
  • the random access metadata may include control information that specifies the sample that satisfies the condition (i.e., the decoding start sample for successfully decoding the sample corresponding to the random access metadata) that is closest to the sample corresponding to the random access metadata.
  • the playback device may start decoding from the decoding start sample specified by the control information.
  • the random access metadata may include control information that specifies the sample at which to start decoding. Then, the random access playback control unit may start decoding the mesh data from the sample specified by the control information.
  • the intermesh sample in the example of Figure 8, the sample of POC2
  • the first information processing device and the second information processing device can suppress a reduction in random accessibility while suppressing a reduction in coding efficiency.
  • the first information processing device and the second information processing device can suppress a reduction in the viewing experience quality of trick playback (e.g., jump playback, fast forward, rewind, etc.) while suppressing a reduction in coding efficiency.
  • trick playback e.g., jump playback, fast forward, rewind, etc.
  • image integrity can be prioritized.
  • control information specifying the sample at which decoding starts included in this random access metadata may have any specifications.
  • this control information may specify the sample at which decoding starts based on the difference value between the current sample and the POC.
  • a parameter “roll_distance” may be defined in MeshRollRecoveryEntry.
  • This parameter "roll_distance” indicates the difference value between the POC of the current sample and the specified sample.
  • the current sample indicates the sample to be processed that corresponds to this random access metadata.
  • the specified sample indicates the sample specified by this control information. In the case of method 1-1, the specified sample indicates the decoding start sample.
  • this difference value (the difference value of the POC between the current sample and the decoding start sample) may be a signed value, either positive or negative, or an absolute value.
  • the "difference value of the POC from the current sample" in the above-mentioned "control information specifying the sample at which decoding starts” may be a signed value, either positive or negative, or an absolute value. Note that when indicated as a signed value, this difference value is indicated as a negative value. Also, when this difference value is indicated as an absolute value, control is performed on the premise that the specified sample is a sample ahead of the current sample (the sample with the smaller POC).
  • random access metadata including control information specifying a successfully decoded sample may be stored in a file (method 1-2), for example, as shown in the third row from the top of the table in Fig. 5.
  • the "successfully decoded sample” is also referred to as a successfully decoded sample.
  • the random access metadata may include control information that specifies the samples that are to be successfully decoded.
  • the random access metadata corresponding to a POC4 sample may include control information that specifies a normally decoded sample that will be correctly decoded when decoding is started from that POC4 sample.
  • the POC4 subsample is the intramesh subsample.
  • the POC6 subsample is the intramesh subsample closest to POC4. Therefore, when decoding is started from a POC4 sample, decoding can be performed correctly from the POC6 sample. In other words, all subsamples can be correctly decoded from the POC6 sample.
  • Control information ('roll' positive distance) that specifies such a POC6 sample as a normally decoded sample may be included in the random access metadata corresponding to a POC4 sample.
  • the playback device (second information processing device) may start decoding from the current sample.
  • the random access metadata may include control information that specifies the sample that is to be successfully decoded. Then, the random access playback control unit may start decoding the mesh data from the current sample.
  • the intermesh sample in the example of FIG. 9, the sample of POC4 can also be a sync sample (i.e., RAP). Therefore, the first information processing device and the second information processing device can suppress the reduction in random accessibility while suppressing the reduction in coding efficiency.
  • the first information processing device and the second information processing device can suppress the reduction in the viewing experience quality of trick playback (e.g., jump playback, fast forward, rewind, etc.) while suppressing the reduction in coding efficiency.
  • decoding and display can be started from the current sample (in the example of FIG. 8, the sample of POC4).
  • control information specifying a sample to be decoded successfully included in this random access metadata may have any specifications.
  • this control information may specify a sample to be decoded successfully based on the difference value of the POC from the current sample.
  • a parameter “roll_distance” may be defined in MeshRollRecoveryEntry. This parameter “roll_distance” indicates the difference between the POC of the current sample and the specified sample. In the case of method 1-2, the specified sample indicates a correctly decoded sample.
  • this difference value (the difference value of the POC between the current sample and the correctly decoded sample) may be a signed value, either positive or negative, or an absolute value.
  • the "difference value of the POC from the current sample" in the above-mentioned "control information specifying a sample to be correctly decoded” may be a signed value, either positive or negative, or an absolute value. Note that when indicated as a signed value, this difference value is indicated as a positive value. Also, when this difference value is indicated as an absolute value, control is performed on the premise that the specified sample is a sample that is later than the current sample (the sample with the larger POC).
  • random access metadata including control information specifying the sample at which decoding begins and control information specifying the samples that are successfully decoded may be stored in a file (method 1-3), for example, as shown in the fourth row from the top of the table in FIG. 5 .
  • the random access metadata may include first control information that specifies the sample at which decoding begins, and second control information that specifies the sample that is successfully decoded.
  • the random access metadata corresponding to a POC4 sample may include both control information that specifies the decoding start sample for successfully decoding the POC4 sample, and control information that specifies the normally decoded sample that will be successfully decoded when decoding begins from the POC4 sample.
  • the random access metadata corresponding to the POC4 sample includes control information that specifies the POC2 sample as the decoding start sample ('roll' negative distance) and control information that specifies the POC6 sample as the normally decoded sample ('roll' positive distance).
  • the playback device may select whether to start decoding from the decoding start sample specified by the control information, or to start decoding from the current sample.
  • the random access metadata may include first control information that specifies the sample at which decoding starts, and second control information that specifies the sample that is to be successfully decoded. Then, the random access playback control unit may select whether to control random access based on the first control information, or to control random access based on the second control information.
  • this selection may be made according to any information, such as the operating mode, load status, random access metadata, etc., of the playback device (second information processing device) itself.
  • the playback device (second information processing device) may control random access using control information specified by a user, an application, etc.
  • the playback device (second information processing device) may prioritize low latency if the current load is greater than a predetermined standard, and prioritize image integrity if not.
  • the playback device (second information processing device) may control random access based on the second control information if the normally decoded sample is closer to the current sample than the decoding start sample, and control random access based on the first control information if not.
  • other selection methods are also possible.
  • the intermesh sample in the example of FIG. 10, the sample of POC2 or the sample of POC4 can also be a sync sample (i.e., RAP). Therefore, the first information processing device and the second information processing device can suppress the reduction in random accessibility while suppressing the reduction in coding efficiency.
  • the first information processing device and the second information processing device can suppress the reduction in the viewing experience quality of trick playback (e.g., jump playback, fast forward, rewind, etc.) while suppressing the reduction in coding efficiency.
  • trick playback e.g., jump playback, fast forward, rewind, etc.
  • the sample of POC4 and it is also possible to realize normal decoding and display from a normal decoded sample (in the example of FIG. 10, the sample of POC6). In other words, it is possible to prioritize image integrity or low latency. It is also possible to select a more appropriate control method depending on the situation.
  • the first control information and second control information included in this random access metadata may each have any specifications.
  • the first control information included in the random access metadata may specify the sample at which decoding starts based on the difference value of the POC (Picture Order Count) from the current sample.
  • the second control information included in the random access metadata may specify the sample to be successfully decoded based on the difference value of the POC from the current sample.
  • the parameters "negative_roll_distance” and “positive_roll_distance” may be defined in MeshRollRecoveryEntry.
  • This parameter “negative_roll_distance” indicates the number of samples prior to the current sample that need to be decoded in advance in order to correctly decode a sample belonging to this sample group.
  • the parameter “negative_roll_distance” indicates the difference in POC between the current sample and the decoding start sample.
  • the parameter “positive_roll_distance” indicates the number of samples following the current sample that are required to correctly complete decoding of the sample when decoding is started from a sample belonging to this sample group.
  • the parameter “positive_roll_distance” indicates the difference in POC between the current sample and a correctly decoded sample.
  • difference values may be values with positive or negative signs.
  • the "difference value of the POC from the current sample" of the first control information and the second control information described above may be values with positive or negative signs.
  • the difference value in the first control information is indicated by a negative value
  • the difference value in the second control information is indicated by a positive value.
  • these difference values may be indicated by absolute values.
  • the designated sample corresponding to the first control information is a sample ahead of the current sample (the one with a smaller POC)
  • the designated sample corresponding to the second control information is a sample behind the current sample (the one with a larger POC).
  • submeshes may be subsamples, and random access metadata for each subsample may be stored in a file (method 1-4).
  • the content file may manage bitstreams for each submesh as subsamples within a sample.
  • random access metadata may be set for the subsamples.
  • a content file may manage submeshes of mesh data as subsamples.
  • a random access metadata generation unit may generate random access metadata corresponding to the subsamples.
  • a storage unit may store the random access metadata corresponding to the subsamples in the content file.
  • the bit stream stored in such a content file may be decoded independently for each subsample.
  • the content file may manage submeshes of mesh data as subsamples and store random access metadata corresponding to the subsamples.
  • a random access playback control unit may control random access to the subsamples based on the random access metadata corresponding to the subsamples.
  • a playback processing unit may start playback of the mesh data for each subsample through the random access.
  • the second information processing device can easily (without the need to parse the bitstream) control random access playback for each subsample.
  • the first information processing device can easily (without the need to parse the bitstream) generate a content file that allows control of random access playback for each subsample.
  • by controlling random access for each subsample it is possible to reduce the decoding of unnecessary subsamples more than when random access playback is controlled for each sample, and it is possible to suppress an increase in the load of the decoding process.
  • the random access metadata corresponding to this subsample may be stored anywhere and in any way in the content file.
  • this random access metadata may be stored in the subsample information box (SubSampleInformationBox) of the content file.
  • this random access metadata may be stored as codec_specific_parameters in the subsample information box of the content file.
  • a storage unit may store the random access metadata in the subsample information box of the content file.
  • the content file may store the random access metadata in the subsample information box.
  • the second information processing device may refer to the random access metadata stored in the subsample information box of the content file during random access playback.
  • submesh coding type information may be stored in a file as random access metadata for each subsample, for example, as shown in the sixth row from the top of the table in Figure 5 (method 1-4-1).
  • the random access metadata may include information indicating the encoding type of the submesh corresponding to the subsample.
  • the random access playback control unit may control random access to the subsample based on the encoding type.
  • the coding type of a submesh may include, for example, intra coding (I), inter coding (P), skip coding (S), etc.
  • I intra coding
  • P inter coding
  • S skip coding
  • the coding type of the submesh corresponding to that subsample may be indicated as random access metadata.
  • I", P, or “S” attached to each subsample indicates the coding type of the submesh corresponding to that subsample, indicated as random access metadata.
  • the coding type of the submesh corresponding to each subsample can be determined, and random access playback can be controlled according to that coding type.
  • the sample in POC4 is the current sample. From the random access metadata, it can be seen that for submesh#1, the coding type of the current subsample being processed (i.e., the subsample in POC4) is "I (intra coding)". It can also be seen that for submesh#2, the coding type of the current subsample is "P (inter coding)". It can also be seen that the subsample in POC2 is the subsample that precedes POC4 and is closest to POC4, with a coding type of "I (intra coding)". Similarly, it can be seen that the subsample in POC6 is the subsample that follows POC4 and is closest to POC4, with a coding type of "I (intra coding)".
  • the playback device should start decoding from the current subsample (POC4 subsample) for submesh#1, and from the POC2 subsample for submesh#2.
  • This control allows the current sample to be decoded and displayed correctly. It is also possible to omit decoding of unnecessary subsamples with an encoding type of "I (intra-coding)", such as the POC0 and POC3 subsamples corresponding to submesh#1, and the POC0 subsample corresponding to submesh#2.
  • the playback device can start decoding from the current sample.
  • submesh#1 can be decoded normally from the subsample of POC4.
  • submesh#2 can be decoded normally from the subsample of POC6.
  • “submesh_coding_type” may be defined as a codex specific parameter in the subsample information box.
  • Method 1-4-2 When method 1-4 is applied, for example, as shown in the seventh row from the top of the table in Fig. 5, random access metadata including control information specifying the subsample at which decoding starts may be stored in a file (method 1-4-2). In other words, the control of method 1-1 may be performed for each subsample. In this specification, this "subsample at which decoding starts” is also referred to as the decoding start subsample.
  • the random access metadata may include control information that specifies the subsample at which decoding starts.
  • the playback device (second information processing device) may start decoding from the decoding start sample specified by the control information.
  • the random access metadata may include control information that specifies the subsample at which decoding starts. Then, the random access playback control unit may start decoding the mesh data from the subsample specified by the control information.
  • control information specifying the subsample at which decoding starts included in this random access metadata may have any specifications.
  • this control information may specify the subsample at which decoding starts based on the difference value of the POC from the current subsample.
  • this difference value (the difference value of the POC between the current subsample and the decoding start subsample) may be a signed value, either positive or negative, or an absolute value.
  • the "difference value of the POC from the current subsample" in the above-mentioned "control information specifying the subsample at which to start decoding" may be a signed value, either positive or negative, or an absolute value. Note that when indicated as a signed value, this difference value is indicated as a negative value. Also, when this difference value is indicated as an absolute value, it is controlled on the assumption that the decoding start subsample is the subsample ahead of the current subsample (the one with the smaller POC).
  • the random access metadata corresponding to each subsample may include control information that specifies the decoding start subsample for successfully decoding that subsample.
  • the numbers in the boxes to the left of each subsample indicate the "POC difference value (absolute value) between the current subsample and the decoding start subsample.”
  • the subsample corresponding to submesh#1 of POC5 is assigned the difference value (absolute value) of "1.”
  • the subsample corresponding to submesh#1 of POC4 is specified as the decoding start subsample.
  • the subsample corresponding to submesh#2 of POC5 is assigned the difference value (absolute value) of "3."
  • the subsample corresponding to submesh#2 of POC2 is specified as the decoding start subsample. Therefore, in this case, the POC5 sample can be successfully decoded by starting decoding from the POC4 subsample for submesh#1 and starting decoding from the POC2 subsample for submesh#2.
  • the random access metadata specifies the starting decoding subsample for successfully decoding that subsample.
  • the subsample of POC4 is closest to POC5 as the decoding start subsample for successfully decoding the subsample corresponding to submesh#1 of POC5.
  • the subsample of POC2 is closest to POC5 as the decoding start subsample for successfully decoding the subsample corresponding to submesh#2 of POC5.
  • the random access metadata may include control information that specifies the subsample that is closest to the subsample corresponding to the random access metadata among the decoding start subsamples that satisfy the conditions (i.e., the decoding start subsamples for successfully decoding the subsample corresponding to the random access metadata).
  • This random access metadata may be stored in a subsample information box, for example, as shown in FIG. 15. For example, it may be set as a codex specific parameter in the subsample information box.
  • the random access metadata may be defined as a codex specific parameter "negative_roll_distance" defined in the subsample information box.
  • This parameter "negative_roll_distance” indicates the number of subsamples included in samples prior to the current subsample, including subsamples that need to be decoded in advance to correctly decode this subsample.
  • the parameter "negative_roll_distance” indicates the difference value of the POC between the current subsample and the decoding start subsample.
  • the first information processing device and the second information processing device can obtain the same effect as when method 1-1 is applied. Furthermore, by controlling random access for each subsample, it is possible to reduce the decoding of unnecessary subsamples more than when random access playback is controlled for each sample. For example, it is possible to omit the decoding of unnecessary subsamples with an encoding type of "I (intra-coding)", or to omit the decoding of subsamples with an encoding type of "P (inter-coding)" whose referenced subsamples (subsamples with an encoding type of "I (intra-coding)”) have not been decoded. Therefore, it is possible to suppress an increase in the load of the decoding process. Furthermore, such control can be performed based on random access metadata. In other words, such control can be easily realized without the need to parse the bitstream.
  • Method 1-4-3 When method 1-4 is applied, for example, as shown in the eighth row from the top of the table in Fig. 5, random access metadata including control information specifying a subsample that is successfully decoded may be stored in a file (method 1-4-3). In other words, the control of method 1-2 may be performed for each subsample. In this specification, this "subsample that is successfully decoded" is also referred to as a successfully decoded subsample.
  • the random access metadata may include control information that specifies a subsample that is successfully decoded.
  • the playback device (second information processing device) may start decoding from the current subsample.
  • the random access metadata may include control information that specifies a subsample that is successfully decoded. Then, the random access playback control unit may start decoding the mesh data from the current subsample.
  • control information specifying the subsample to be decoded successfully included in this random access metadata may have any specifications.
  • this control information may specify the subsample to be decoded successfully based on the difference value of the POC (Picture Order Count) from the current subsample.
  • this difference value (the difference value of the POC between the current subsample and the correctly decoded subsample) may be a signed value, either positive or negative, or an absolute value.
  • the "difference value of the POC from the current subsample" in the above-mentioned "control information specifying a subsample to be correctly decoded” may be a signed value, either positive or negative, or an absolute value. Note that when indicated as a signed value, this difference value is indicated as a positive value. Also, when this difference value is indicated as an absolute value, control is performed on the premise that the correctly decoded subsample is the subsample that is behind the current subsample (the one with the larger POC).
  • the random access metadata corresponding to each subsample may include control information that specifies the subsample that will be decoded correctly when decoding is started from that subsample.
  • the numbers in the boxes to the left of each subsample indicate the "POC difference value (absolute value) between the current subsample and the correctly decoded subsample.”
  • the subsample corresponding to submesh#1 of POC5 is assigned the difference value (absolute value) of "2.”
  • the subsample corresponding to submesh#1 of POC7 is specified as the correctly decoded subsample.
  • the subsample corresponding to submesh#2 of POC5 is assigned the difference value (absolute value) of "1.”
  • the subsample corresponding to submesh#2 of POC6 is specified as the correctly decoded sample. Therefore, in this case, by starting decoding from the sample of POC5, submesh#1 can be correctly decoded from the subsample of POC7, and submesh#2 can be correctly decoded from the subsample of POC6.
  • the random access metadata specifies the successfully decoded subsample when decoding begins from that subsample.
  • This random access metadata may be stored in a subsample information box, for example, as shown in FIG. 17. For example, it may be set as a codex specific parameter in the subsample information box.
  • the random access metadata may include a codex specific parameter "positive_roll_distance" defined in the subsample information box.
  • the parameter "positive_roll_distance” indicates the number of subsamples included in samples after the current sample, including the subsamples required to correctly complete decoding of the subsample if decoding is started from this subsample.
  • the parameter "positive_roll_distance” indicates the difference value of POC between the current subsample and a correctly decoded subsample.
  • the first information processing device and the second information processing device can obtain the same effect as when method 1-2 is applied. Furthermore, by controlling random access for each subsample, it is possible to reduce the decoding of unnecessary subsamples more than when random access playback is controlled for each sample. For example, it is possible to omit the decoding of unnecessary subsamples with an encoding type of "I (intra-coding)", or to omit the decoding of subsamples with an encoding type of "P (inter-coding)" whose referenced subsamples (subsamples with an encoding type of "I (intra-coding)”) have not been decoded. Therefore, it is possible to suppress an increase in the load of the decoding process. Furthermore, such control can be performed based on random access metadata. In other words, such control can be easily realized without the need to parse the bitstream.
  • Method 1-4-4 When method 1-4 is applied, for example, as shown in the bottom row of the table in Fig. 5, random access metadata including control information specifying the subsample at which decoding starts and control information specifying the subsample to be successfully decoded may be stored in a file (method 1-4-4). In other words, the control of method 1-3 may be performed for each subsample.
  • the random access metadata may include first control information that specifies the subsample from which decoding starts, and second control information that specifies the subsample that is successfully decoded.
  • the playback device (second information processing device) may select whether to start decoding from the decoding start subsample specified by the random access metadata, or to start decoding from the current subsample.
  • the random access metadata may include first control information that specifies the sample from which decoding starts, and second control information that specifies the sample that is successfully decoded. Then, the random access playback control unit may select whether to control random access based on the first control information, or to control random access based on the second control information.
  • this selection may be made according to any information, such as the operating mode, load status, random access metadata, etc., of the playback device (second information processing device) itself.
  • the playback device (second information processing device) may control random access using control information specified by a user, an application, etc.
  • the playback device (second information processing device) may prioritize low latency if the current load is greater than a predetermined standard, and prioritize image integrity if not.
  • the playback device (second information processing device) may control random access based on the second control information if the normally decoded subsample is closer to the current subsample than the decoding start subsample, and control random access based on the first control information if not.
  • other selection methods are also possible.
  • the first control information and second control information included in this random access metadata may each have any specifications.
  • the first control information included in the random access metadata may specify the subsample at which decoding starts based on the difference value of the POC from the current subsample.
  • the second control information included in the random access metadata may specify the subsample to be decoded normally based on the difference value of the POC from the current subsample.
  • difference values may be values with positive or negative signs.
  • the "difference value of the POC from the current subsample" of the first control information and the second control information described above may be values with positive or negative signs.
  • the difference value in the first control information (the difference value of the POC between the current subsample and the decoding start subsample) is indicated by a negative value
  • the difference value in the second control information (the difference value of the POC between the current subsample and the correctly decoded subsample) is indicated by a positive value.
  • these difference values may be indicated by absolute values.
  • the decoding start subsample corresponding to the first control information is a subsample ahead of the current subsample (the one with a smaller POC)
  • the correctly decoded subsample corresponding to the second control information is a subsample behind the current subsample (the one with a larger POC).
  • the random access metadata corresponding to each subsample may include first control information that specifies a start decoding subsample for successfully decoding that subsample, and second control information that specifies a subsample that will be successfully decoded if decoding is started from that subsample.
  • the numbers in the boxes to the left of each subsample indicate "the difference value (absolute value) of the POC between the current subsample and the start decoding subsample / the difference value (absolute value) of the POC between the current subsample and the successfully decoded subsample.”
  • the subsample corresponding to submesh#1 of POC5 is assigned a "1" as the POC difference value between the current subsample and the decoding start subsample, and a "2" as the POC difference value between the current subsample and the normal decoding subsample.
  • the subsample corresponding to submesh#1 of POC4 is designated as the decoding start subsample
  • the subsample corresponding to submesh#1 of POC7 is designated as the normal decoding subsample.
  • the subsample corresponding to submesh#2 of POC5 is assigned a "3" as the POC difference value between the current subsample and the decoding start subsample, and a "1" as the POC difference value between the current subsample and the normal decoding subsample.
  • the subsample corresponding to submesh#2 of POC2 is designated as the decoding start subsample
  • the subsample corresponding to submesh#2 of POC6 is designated as the normal decoding subsample.
  • the POC5 sample can be decoded successfully. Also, by starting decoding from the POC5 sample, submesh#1 can be decoded successfully from the subsample of POC7, and submesh#2 can be decoded successfully from the subsample of POC6.
  • the random access metadata specifies a decoding start subsample for successfully decoding that subsample, and a successfully decoded subsample that is successfully decoded when decoding is started from that subsample.
  • This random access metadata may be stored in a subsample information box, for example, as shown in FIG. 19. For example, it may be set as a codex specific parameter in the subsample information box.
  • the random access metadata may include the codex specific parameters "negative_roll_distance" and "positive_roll_distance” defined in the subsample information box.
  • the parameter "negative_roll_distance” indicates the number of subsamples included in samples prior to the current subsample, including subsamples that need to be decoded in advance to correctly decode this subsample. In other words, the parameter "negative_roll_distance” indicates the difference value of the POC between the current subsample and the decoding start subsample.
  • the parameter "positive_roll_distance” indicates the number of subsamples included in samples subsequent to the current sample, including subsamples that are required to correctly complete the decoding of the subsample when decoding is started from this subsample.
  • the parameter "positive_roll_distance” indicates the difference value of the POC between the current subsample and the correctly decoded subsample.
  • the first information processing device and the second information processing device can obtain the same effect as when methods 1-3 are applied. Furthermore, by controlling random access for each subsample, it is possible to reduce the decoding of unnecessary subsamples more than when random access playback is controlled for each sample. For example, it is possible to omit the decoding of unnecessary subsamples with an encoding type of "I (intra-coding)", or to omit the decoding of subsamples with an encoding type of "P (inter-coding)" whose referenced subsamples (subsamples with an encoding type of "I (intra-coding)”) have not been decoded. Therefore, it is possible to suppress an increase in the load of the decoding process. Furthermore, such control can be performed based on random access metadata. In other words, such control can be easily realized without the need to parse the bitstream.
  • This technology is not limited to V-DMC and may be applied to any encoding method.
  • this technology is not limited to base meshes and may be applied to any mesh data.
  • this technology may be applied to a file container that stores a bitstream in which an original mesh is encoded by an encoding method that encodes the mesh without decimating (simplifying) it, such as G-PCC (Geometry-based Point Cloud Compression).
  • G-PCC Geometry-based Point Cloud Compression
  • the mesh data may be generated by converting 3D data other than mesh data, such as point clouds.
  • the file container that stores the bitstream is not limited to one that conforms to ISOBMFF, and may be of any specification.
  • the content file may be a Matroska Media Container.
  • Figure 20 is a diagram showing an example of the main configuration of a Matroska Media Container.
  • files of other formats may also be used.
  • the track configuration of the file container may be of any type. For example, it may be a multi-track having multiple tracks, or a single track consisting of one track.
  • Each of the above-mentioned methods may be applied in combination with any other method as long as no contradiction occurs. Three or more methods may be applied in combination. For example, any two or more of methods 1-1 to 1-4 may be applied in combination.
  • the techniques that can be combined may include not only those shown in the table of FIG. 5 as "methods" but also all of the elements described above.
  • each of the above-mentioned methods may be applied in combination with other methods not described above.
  • Method 1 any one or more of Methods 1-1 to 1-4 may be applied.
  • Methods 1-4-1 to 1-4-4 any one or more of Methods 1-4-1 to 1-4-4 may be applied.
  • Fig. 21 is a block diagram showing an example of the configuration of a file generation device, which is one aspect of an information processing device to which the present technology is applied.
  • the file generation device 300 shown in Fig. 21 is a device that generates a content file by converting mesh data into V-DMC data, encoding the data, and storing the data in a file container such as ISOBMFF.
  • FIG. 21 shows the main processing units, data flows, etc., and is not necessarily all that is shown in FIG. 21.
  • processing units that are not shown as blocks in FIG. 21, and there may be processing and data flows that are not shown as arrows, etc. in FIG. 21.
  • the file generation device 300 has a V-DMC data generation unit 311, a V-DMC encoding unit 312, a content file generation unit 313, and a random access metadata generation unit 314.
  • the V-DMC data generation unit 311 performs processing related to the generation of V-DMC data.
  • the V-DMC data generation unit 311 may obtain mesh data (original mesh) input from outside the file generation device 300.
  • This original mesh may include not only geometry (information on vertex positions and connections, etc.) but also attributes (e.g., textures applied to faces).
  • the V-DMC data generation unit 311 may convert the original mesh and generate V-DMC data (base mesh, displacement vector, attributes (texture), and atlas information). Therefore, the V-DMC data generation unit 311 can also be called a conversion unit.
  • the V-DMC data generation unit 311 may generate a base mesh by decimating the geometry of the original mesh. Decimation is a process of reducing the number of faces (number of polygons) by thinning out some of the vertices (and connections) of a mesh. Therefore, the V-DMC data generation unit 311 can also be called a decimation unit that performs decimation.
  • the V-DMC data generation unit 311 may also generate a displacement vector corresponding to the base mesh by subdividing the base mesh. Therefore, the V-DMC data generation unit 311 can also be called a displacement vector generation unit that generates a displacement vector. Furthermore, the V-DMC data generator 311 may generate atlas information corresponding to the base mesh, the displacement vector, and the attributes (textures). Therefore, the V-DMC data generator 311 can also be considered as an atlas information generator that generates atlas information. The V-DMC data generator 311 may supply the generated V-DMC data to the V-DMC encoding unit 312. Therefore, the V-DMC data generator 311 can also be considered as a V-DMC data supply unit that supplies V-DMC data.
  • the V-DMC encoder 312 executes processing related to encoding of V-DMC data.
  • the V-DMC encoder 312 may acquire V-DMC data supplied from the V-DMC data generator 311.
  • the V-DMC encoder 312 may also encode the acquired V-DMC data. That is, the V-DMC encoder 312 may encode the atlas information, base mesh, displacement vector, and attributes included in the V-DMC data, respectively, and generate encoded data of the atlas information, encoded data of the base mesh, encoded data of the displacement vector, and encoded data of the attributes.
  • the V-DMC encoder 312 may treat the generated encoded data of the atlas information, encoded data of the base mesh, encoded data of the displacement vector, and encoded data of the attributes as substreams, and may combine (multiplex) these substreams to generate one V-DMC bitstream. Therefore, the V-DMC encoder 312 can also be called a V-DMC bitstream generator.
  • the V-DMC encoding unit 312 may supply the generated V-DMC bitstream to the content file generation unit 313.
  • the content file generation unit 313 executes processing related to the generation of a content file.
  • the content file generation unit 313 may acquire a V-DMC bitstream supplied from the V-DMC encoding unit 312.
  • the content file generation unit 313 may also generate a content file that is a file container that stores the bitstream.
  • This content file may be, for example, a file that complies with ISOBMFF.
  • the content file generation unit 313 may store the acquired V-DMC bitstream in that content file. Therefore, the content file generation unit 313 can also be said to be a storage unit that stores the V-DMC bitstream in a content file.
  • the content file generation unit 313 may also supply a V-DMC bitstream to the random access metadata generation unit 314.
  • the content file generation unit 313 may also supply a content file that stores a V-DMC bitstream to the random access metadata generation unit 314, instead of the V-DMC bitstream.
  • the content file generation unit 313 may also acquire random access metadata supplied from the random access metadata generation unit 314.
  • the content file generation unit 313 may store the acquired random access metadata in a content file that stores a V-DMC bitstream corresponding to the random access metadata. Therefore, the content file generation unit 313 can also be said to be a storage unit that stores random access metadata in a content file.
  • the content file generation unit 313 may output the generated content file to an external device (such as a distribution server or a playback device) outside the file generation device 300. Therefore, the content file generation unit 313 can also be considered a supply unit (providing unit) for the content file.
  • an external device such as a distribution server or a playback device
  • the content file generation unit 313 can also be considered a supply unit (providing unit) for the content file.
  • FIG. 22 is a block diagram showing an example of the main configuration of the V-DMC encoding unit 312. Note that FIG. 22 shows the main processing units, data flows, etc., and is not limited to what is shown in FIG. 22. In other words, in the V-DMC encoding unit 312, there may be processing units that are not shown as blocks in FIG. 22, and there may be processing and data flows that are not shown as arrows, etc. in FIG. 22.
  • the V-DMC encoding unit 312 has an atlas information encoding unit 351, a base mesh encoding unit 352, a displacement vector correction unit 353, a displacement video encoding unit 354, a mesh reconstruction unit 355, an attribute map conversion unit 356, an attribute video encoding unit 357, and a multiplexing unit 358.
  • the atlas information encoding unit 351 performs processing related to encoding of atlas information. For example, the atlas information encoding unit 351 may acquire atlas information supplied from the V-DMC data generation unit 311. The atlas information encoding unit 351 may also encode the acquired atlas information using a predetermined encoding method to generate encoded data of the atlas information. The atlas information encoding unit 351 may supply the generated encoded data of the atlas information to the multiplexing unit 358.
  • the base mesh encoding unit 352 performs processing related to encoding of the base mesh. For example, the base mesh encoding unit 352 may acquire a base mesh supplied from the V-DMC data generation unit 311. The base mesh encoding unit 352 may also quantize the acquired base mesh and encode it using a predetermined encoding method (e.g., Draco, etc.) to generate encoded data of the base mesh. At this time, the base mesh encoding unit 352 may encode the base mesh according to the atlas information. The base mesh encoding unit 352 may supply the generated encoded data of the base mesh to the displacement vector correction unit 353. The base mesh encoding unit 352 may also supply the generated encoded data of the base mesh to the multiplexing unit 358.
  • a predetermined encoding method e.g., Draco, etc.
  • the displacement vector correction unit 353 performs processing related to the correction of the displacement vector.
  • the displacement vector correction unit 353 may acquire a base mesh and a displacement vector supplied from the V-DMC data generation unit 311.
  • the displacement vector correction unit 353 may also acquire encoded data of the base mesh supplied from the base mesh encoding unit 352.
  • the displacement vector correction unit 353 may correct the displacement vector based on the information.
  • the displacement vector correction unit 353 may decode and inversely quantize the acquired encoded data of the base mesh to restore the base mesh (to generate a restored base mesh).
  • the displacement vector correction unit 353 may subdivide the base mesh before encoding and the restored base mesh, respectively.
  • the displacement vector correction unit 353 may compare the subdivided base mesh before encoding and the subdivided restored base mesh to each other to obtain encoding distortion.
  • the displacement vector correction unit 353 may correct the displacement vector according to the encoding distortion.
  • the displacement vector correction unit 353 may supply the corrected displacement vector to the displacement video encoding unit 354.
  • the displacement vector correction unit 353 may also supply the subdivided restored base mesh to the mesh reconstruction unit 355.
  • the displacement video encoding unit 354 performs processing related to encoding of the displacement video.
  • the displacement video is a moving image having a displacement map, which is a two-dimensional area in which displacement vectors are packed, as a frame image.
  • the displacement video encoding unit 354 may acquire a displacement vector supplied from the displacement vector correction unit 353.
  • the displacement video encoding unit 354 may also generate a displacement map by performing wavelet transformation on the displacement vector, quantizing it, and packing it into a two-dimensional area.
  • the displacement video encoding unit 354 may also generate a displacement video having the displacement map as a frame image.
  • the displacement video encoding unit 354 may also encode the generated displacement video using a predetermined encoding method for 2D moving images to generate encoded data of the displacement video.
  • the displacement video encoding unit 354 may also supply the encoded data of the generated displacement video to the multiplexing unit 358.
  • the displacement video encoding unit 354 may also decode the encoded data of the generated displacement video to restore the displacement video (generate a restored displacement video).
  • the displacement video encoder 354 may extract a displacement map from the restored displacement video.
  • the displacement video encoder 354 may unpack the displacement vectors from the displacement map.
  • the displacement video encoder 354 may dequantize the displacement vectors.
  • the displacement video encoder 354 may provide the dequantized displacement vectors to the mesh reconstruction unit 355.
  • the mesh reconstruction unit 355 performs processing related to mesh reconstruction. For example, the mesh reconstruction unit 355 may obtain a base mesh (a subdivided restored base mesh) supplied from the displacement vector correction unit 353. The mesh reconstruction unit 355 may also obtain a displacement vector supplied from the displacement video encoding unit 354. The mesh reconstruction unit 355 may use these to reconstruct a restored mesh. The mesh reconstruction unit 355 may supply the restored mesh to the attribute map conversion unit 356.
  • the attribute map conversion unit 356 performs processing related to conversion of the attribute map. For example, the attribute map conversion unit 356 may obtain a restored mesh supplied from the mesh reconstruction unit 355. The attribute map conversion unit 356 may also obtain atlas information supplied from the V-DMC data generation unit 311. The attribute map conversion unit 356 may obtain an original mesh input to the file generation device 300. The attribute map conversion unit 356 may obtain an attribute map supplied from the V-DMC data generation unit 311. The attribute map conversion unit 356 may convert the obtained attribute map based on other obtained information. For example, the attribute map conversion unit 356 may convert the attribute map so as to correspond to the restored mesh based on the atlas information, the original mesh, etc.
  • the attribute map conversion unit 356 generates a converted attribute map. Therefore, the attribute map conversion unit 356 can also be called an attribute map generation unit.
  • the attribute map conversion unit 356 may supply the converted attribute map to the attribute video encoding unit 357.
  • the attribute video encoding unit 357 performs processing related to encoding of the attribute video. For example, the attribute video encoding unit 357 may acquire an attribute map supplied from the attribute map conversion unit 356. The attribute video encoding unit 357 may also generate an attribute video in which the acquired attribute map is used as a frame image. The attribute video encoding unit 357 may also encode the generated attribute video using a predetermined encoding method for 2D moving images to generate encoded data of the attribute video. The attribute video encoding unit 357 may supply the generated encoded data of the attribute video to the multiplexing unit 358.
  • the multiplexing unit 358 performs processing related to multiplexing of encoded data (substreams). For example, the multiplexing unit 358 may obtain encoded data of atlas information supplied from the atlas information encoding unit 351. The multiplexing unit 358 may also obtain encoded data of base meshes supplied from the base mesh encoding unit 352. The multiplexing unit 358 may also obtain encoded data of displacement video supplied from the displacement video encoding unit 354. The multiplexing unit 358 may also obtain encoded data of attribute video supplied from the attribute video encoding unit 357. The multiplexing unit 358 may multiplex these encoded data as substreams to generate a V-DMC bitstream. Therefore, the multiplexing unit 358 can also be called a bitstream generation unit. The multiplexing unit 358 may supply the generated V-DMC bitstream to the content file generation unit 313.
  • the file generation device 300 configured as above may be used as a first information processing device, and the various methods (the present technology) described above in ⁇ 3. Transmission and control of random access metadata> may be applied.
  • the random access metadata generating unit 314 may generate random access metadata for random access to mesh data based on a current sample, which is an inter-mesh sample, and the content file generating unit 313 may store the random access metadata in a content file that stores the mesh data.
  • the file generation device 300 can obtain the same effect as described above in ⁇ 3. Transmission and control of random access metadata>. In other words, when storing a bit stream in which mesh data is encoded in a file container, the file generation device 300 can suppress a decrease in random accessibility while suppressing a decrease in encoding efficiency.
  • step S301 the V-DMC data generation unit 311 of the file generation device 300 generates V-DMC data by decimating the mesh data, etc.
  • step S302 the V-DMC encoding unit 312 executes a V-DMC data encoding process, and encodes the V-DMC data to generate a V-DMC bitstream.
  • step S303 the content file generation unit 313 generates a content file and stores the V-DMC bitstream in the content file.
  • step S304 the random access metadata generation unit 314 generates random access metadata for random access to the mesh data based on the current sample, which is an inter-mesh sample.
  • the content file generation unit 313 also stores the random access metadata in a content file that stores the mesh data.
  • step S304 the file generation process ends.
  • V-DMC encoding process flow An example of the flow of the V-DMC encoding process executed in step S302 in FIG. 23 will be described with reference to the flowchart in FIG.
  • step S321 the atlas information encoding unit 351 encodes the atlas information and generates encoded data of the atlas information.
  • step S322 the base mesh encoding unit 352 encodes the base mesh and generates encoded data for the base mesh.
  • step S323 the displacement vector correction unit 353 corrects the displacement vector.
  • step S324 the displacement video encoding unit 354 encodes the displacement video in which the displacement map in which the corrected displacement vectors are packed is used as a frame image, and generates encoded data of the displacement video.
  • step S325 the mesh reconstruction unit 355 reconstructs the mesh (generates a restored mesh).
  • step S326 the attribute map conversion unit 356 converts the attribute map.
  • step S327 the attribute video encoding unit 357 encodes the attribute video in which the attribute map is used as a frame image, and generates encoded data for the attribute video.
  • step S328 the multiplexing unit 358 multiplexes the encoded data of the atlas information, the encoded data of the bitstream, the encoded data of the displacement video, and the encoded data of the attribute video as substreams to generate a V-DMC bitstream.
  • step S328 When the processing of step S328 is completed, the V-DMC encoding process ends and the process returns to FIG. 23.
  • the file generation device 300 can obtain the same effect as described above in ⁇ 3. Transmission and control of random access metadata>. In other words, when storing a bitstream in which mesh data is encoded in a file container, the file generation device 300 can suppress a decrease in random accessibility while suppressing a decrease in encoding efficiency.
  • FIG. 25 is a block diagram showing an example of the configuration of a playback device, which is one aspect of an information processing device to which the present technology is applied.
  • the playback device 400 shown in FIG. 25 is a playback device that performs playback processing of mesh data (V-DMC data).
  • V-DMC data mesh data
  • the playback device 400 acquires a content file generated by the file generation device 300, decodes a V-DMC bit stream stored in the content file, and plays back the V-DMC data. That is, the playback device 400 reconstructs a mesh using the V-DMC data, performs rendering to generate a display image, and displays the display image.
  • FIG. 25 shows the main processing units, data flows, etc., and is not necessarily all that is shown in FIG. 25.
  • processing units that are not shown as blocks in FIG. 25, and there may be processing or data flows that are not shown as arrows, etc. in FIG. 25.
  • the playback device 400 has a content file acquisition unit 411, a playback processing unit 412, a random access operation acceptance unit 421, and a random access playback control unit 422.
  • the playback processing unit 412 also has a V-DMC decoding unit 431, a mesh reconstruction unit 432, and a display processing unit 433.
  • the content file acquisition unit 411 performs processing related to the acquisition of a content file.
  • the content file acquisition unit 411 may acquire a content file.
  • This content file may be generated by, for example, the file generation device 300 by applying the present technology.
  • the content file acquisition unit 411 may also extract a V-DMC bitstream stored in the acquired content file from the content file and supply it to the playback processing unit 412 (the V-DMC decoding unit 431). At this time, the content file acquisition unit 411 may extract and supply the V-DMC bitstream according to the control of the playback processing unit 412.
  • the content file acquisition unit 411 may also randomly access the V-DMC bitstream stored in the content file according to the control of the random access playback control unit 422 (via the playback processing unit 412).
  • the playback processing unit 412 executes processing related to the playback of mesh data. For example, the playback processing unit 412 may control the content file acquisition unit 411 to extract and acquire a V-DMC bitstream from the content file. At that time, the playback processing unit 412 may control random access according to the control of the random access playback control unit 422. The playback processing unit 412 may also decode the acquired V-DMC bitstream, reconstruct a mesh, render it, and display a display image.
  • the random access operation reception unit 421 performs processing related to the reception of a random access operation.
  • a random access operation refers to an operation (instruction) related to random access to a V-DMC bitstream stored in a content file.
  • a random access operation may include an instruction related to trick playback (for example, jump-in playback, fast-forward, rewind, etc.).
  • the random access operation reception unit 421 may have an input device operated by a user or the like, and may receive a random access operation input via the input device.
  • the random access operation reception unit 421 may also have an API (Application Program Interface) that receives instructions supplied from an application or the like, and may receive a random access operation input via the API. This application may perform any type of processing.
  • the random access operation reception unit 421 may supply the received random access operation to the random access playback control unit 422.
  • the random access playback control unit 422 performs processing related to the control of random access playback.
  • Random access playback refers to playback processing involving random access of a V-DMC bitstream stored in a content file.
  • This playback processing involving random access may include, for example, trick playback (e.g., jump-in playback, fast-forward, rewind, etc.).
  • the random access playback control unit 422 may control the playback processing unit 412 to perform random access playback.
  • the random access playback control unit 422 may control the playback processing unit 412 to randomly access the V-DMC bitstream stored in the content file and start playback (jump-in playback) from a sample in the middle of the sequence.
  • the random access playback control unit 422 may also control the playback processing unit 412 to apply such a playback method to perform fast-forwarding or rewinding.
  • the V-DMC decoding unit 431 of the playback processing unit 412 executes processing related to decoding of the V-DMC bitstream.
  • the V-DMC decoding unit 431 may acquire a V-DMC bitstream extracted from the content file in the content file acquisition unit 411.
  • the V-DMC decoding unit 431 may decode the V-DMC bitstream and restore the V-DMC data (may generate restored V-DMC data).
  • the V-DMC decoding unit 431 may supply the restored V-DMC data (restored V-DMC data) to the mesh reconstruction unit 432.
  • the mesh reconstruction unit 432 executes processing related to the reconstruction of a mesh (3D data). For example, the mesh reconstruction unit 432 may acquire the restored V-DMC data supplied from the V-DMC decoding unit 431. The mesh reconstruction unit 432 may convert the restored V-DMC data into mesh data. The mesh reconstruction unit 432 may use the mesh data to reconstruct a mesh (restored mesh). The mesh reconstruction unit 432 may supply the restored mesh (3D data) to the display processing unit 433.
  • the display processing unit 433 executes processing related to the display of the reconstructed mesh.
  • the display processing unit 433 may acquire the reconstructed mesh (3D data) supplied from the mesh reconstruction unit 432.
  • the display processing unit 433 may render the reconstructed mesh and generate a display image for displaying the reconstructed mesh.
  • the display processing unit 433 may have a display device such as a monitor, and display the display image using the display device. Therefore, the display processing unit 433 can also be called a display unit.
  • the display processing unit 433 may also supply the display image to the outside of the playback device 400 (for example, a recording medium or another display device). Therefore, the display processing unit 433 can also be called an output unit.
  • FIG. 26 is a block diagram showing an example of the main configuration of the V-DMC decoding unit 431. Note that FIG. 26 shows the main processing units, data flows, etc., and is not limited to what is shown in FIG. 26. In other words, in the V-DMC decoding unit 431, there may be processing units that are not shown as blocks in FIG. 26, and there may be processing and data flows that are not shown as arrows, etc. in FIG. 26.
  • the V-DMC decoding unit 431 has a demultiplexing unit 451, an atlas information decoding unit 452, a base mesh decoding unit 453, a base mesh reconstruction unit 454, a subdivision unit 455, a displacement video decoding unit 456, an unpacking unit 457, a displacement vector application unit 458, and an attribute video decoding unit 459.
  • the demultiplexing unit 451 performs processing related to demultiplexing.
  • the demultiplexing unit 451 may acquire a V-DMC bitstream supplied from the content file acquisition unit 411.
  • the demultiplexing unit 451 may also demultiplex the acquired V-DMC bitstream to extract the encoded data of atlas information, the encoded data of base mesh, the encoded data of displacement video, and the encoded data of attribute video. Therefore, the demultiplexing unit 451 can also be said to be an acquisition unit for various information contained in the V-DMC bitstream.
  • the demultiplexing unit 451 may supply the extracted encoded data of atlas information to the atlas information decoding unit 452.
  • the demultiplexing unit 451 may also supply the extracted encoded data of base mesh to the base mesh decoding unit 453.
  • the demultiplexing unit 451 may also supply the extracted encoded data of displacement video to the displacement video decoding unit 456.
  • the demultiplexing unit 451 may supply the extracted encoded data of the attribute video to the attribute video decoding unit 459.
  • the atlas information decoding unit 452 performs processing related to the decoding of the encoded data of the atlas information. For example, the atlas information decoding unit 452 may acquire the encoded data of the atlas information supplied from the demultiplexing unit 451. The atlas information decoding unit 452 may also decode the acquired encoded data of the atlas information to generate (restore) the atlas information. The atlas information decoding unit 452 may also supply the atlas information to the base mesh decoding unit 453 or the subdivision unit 455. The atlas information decoding unit 452 may also supply the atlas information to the mesh reconstruction unit 432 as restored V-DMC data.
  • the base mesh decoding unit 453 performs processing related to the decoding of the coded data of the base mesh. For example, the base mesh decoding unit 453 may acquire the coded data of the base mesh supplied from the demultiplexing unit 451. The base mesh decoding unit 453 may also decode the acquired coded data of the base mesh using a predetermined decoding method (e.g., Draco, etc.) to generate (restore) information about the base mesh (e.g., a vertex list, a triangle list, etc.). For example, the base mesh decoding unit 453 may decode the coded data of the base mesh according to the atlas information supplied from the atlas information decoding unit 452. The base mesh decoding unit 453 may supply the atlas information and information about the base mesh to the base mesh reconstruction unit 454.
  • a predetermined decoding method e.g., Draco, etc.
  • the base mesh reconstruction unit 454 executes processing related to the reconstruction of the base mesh. For example, the base mesh reconstruction unit 454 may acquire atlas information and information related to the base mesh supplied from the base mesh decoding unit 453. The base mesh reconstruction unit 454 may use the acquired atlas information and information related to the base mesh to reconstruct the base mesh (or generate a reconstructed base mesh). The base mesh reconstruction unit 454 may supply the base mesh (reconstructed base mesh) to the subdivision unit 455.
  • the subdivision unit 455 performs processing related to subdivision of triangles of a base mesh (reconstructed base mesh). For example, the subdivision unit 455 may acquire a base mesh (reconstructed base mesh) supplied from the base mesh reconstruction unit 454. The subdivision unit 455 may also acquire atlas information supplied from the atlas information decoding unit 452. The subdivision unit 455 may subdivide triangles of the base mesh (reconstructed base mesh) based on the atlas information and generate division points. The subdivision unit 455 may supply the subdivided base mesh (reconstructed base mesh) to the displacement vector application unit 458.
  • the displacement video decoding unit 456 executes processing related to the decoding of the encoded data of the displacement video. For example, the displacement video decoding unit 456 may acquire the encoded data of the displacement video supplied from the demultiplexing unit 451. The displacement video decoding unit 456 may also decode the encoded data of the displacement video using a predetermined decoding method for 2D moving images to generate (restore) the displacement video. The displacement video decoding unit 456 may supply the generated displacement video to the unpacking unit 457.
  • the unpacking unit 457 executes processing related to unpacking of the displacement vector.
  • the unpacking unit 457 may acquire the displacement video supplied from the displacement video decoding unit 456.
  • the unpacking unit 457 may also unpack a displacement map, which is a frame image of the displacement video, and extract a displacement vector.
  • the unpacking unit 457 may supply this displacement vector to the displacement vector application unit 458.
  • the displacement vector application unit 458 performs processing related to application of a displacement vector to a subdivided base mesh (subdivided restored base mesh). For example, the displacement vector application unit 458 may obtain a subdivided base mesh (subdivided restored base mesh) supplied from the subdivision unit 455. The displacement vector application unit 458 may also obtain a displacement vector supplied from the unpacking unit 457. The displacement vector application unit 458 may also apply a displacement vector to the vertices of the subdivided base mesh (subdivided restored base mesh). In other words, the displacement vector application unit 458 reconstructs a mesh (geometry) equivalent to the original mesh. In this specification, the mesh (geometry) equivalent to the original mesh is also referred to as a decoded mesh. The displacement vector application unit 458 may supply the generated decoded mesh to the mesh reconstruction unit 432 as restored V-DMC data.
  • the attribute video decoding unit 459 executes processing related to the decoding of the encoded data of the attribute video. For example, the attribute video decoding unit 459 may acquire the encoded data of the attribute video supplied from the demultiplexing unit 451. The attribute video decoding unit 459 may also decode the encoded data of the attribute video using a predetermined decoding method for 2D moving images to generate (restore) the attribute video. The attribute video decoding unit 459 may supply an attribute map, which is a frame image of the attribute video, to the mesh reconstruction unit 432 as restored V-DMC data.
  • the playback device 400 configured as above may be the second information processing device described above, and the various methods (the present technology) described above in ⁇ 3. Transmission and control of random access metadata> may be applied.
  • the random access playback control unit 422 may control random access based on random access metadata for random access based on a current sample, which is an intermesh sample, stored in a content file that stores mesh data, and the playback processing unit 412 may start playback of the mesh data through that random access.
  • the random access playback control unit 422 may control random access playback by the playback processing unit 412 based on random access metadata stored in the content file.
  • the random access playback control unit 422 may refer to the random access metadata stored in the content file via the playback processing unit 412, and control random access playback by the playback processing unit 412 based on the random access metadata.
  • the playback device 400 can obtain the same effect as described above in ⁇ 3. Transmission and control of random access metadata>. In other words, when storing a bitstream in which mesh data is encoded in a file container, the playback device 400 can suppress a decrease in random accessibility while suppressing a decrease in encoding efficiency.
  • the random access playback control unit 422 may select whether to start decoding mesh data from a sample specified by control information (first control information) that specifies the sample at which decoding should start, or to start decoding mesh data from the current sample based on control information (second control information) that specifies a sample that is successfully decoded.
  • first control information control information
  • second control information control information
  • This selection may be made according to any information, such as the operation mode of the playback device 400, the load status, random access metadata, etc.
  • the random access playback control unit 422 may control the random access using control information specified by a user, an application, etc. This specification may be supplied from the random access operation reception unit 421, for example.
  • the random access playback control unit 422 may prioritize low latency when the current load of the playback device 400 is greater than a predetermined standard, and prioritize image integrity otherwise.
  • the random access playback control unit 422 may control the random access based on control information (second control information) that specifies the sample to be decoded normally when the normally decoded sample is closer to the current sample than the decoding start sample, and may control the random access based on control information (first control information) that specifies the sample to start decoding otherwise.
  • second control information specifies the sample to be decoded normally when the normally decoded sample is closer to the current sample than the decoding start sample
  • first control information specifies the sample to start decoding otherwise.
  • other selection methods may be applied.
  • the playback device 400 can achieve normal decoding and display from the current sample, and can also achieve normal decoding and display from a normally decoded sample. In other words, the playback device 400 can prioritize image integrity or low latency. The playback device 400 can also select a more appropriate control method depending on the situation.
  • the random access playback control unit 422 of the playback device 400 sets a random access mode, which is an operating mode for controlling random access. For example, the random access playback control unit 422 selects whether to start decoding mesh data from a sample specified by control information (first control information) that specifies the sample at which decoding starts, or to start decoding mesh data from the current sample based on control information (second control information) that specifies a sample that is successfully decoded.
  • first control information control information
  • second control information control information
  • step S402 the content file acquisition unit 411 acquires a content file and extracts the V-DMC bitstream stored in the content file.
  • step S403 the V-DMC decoding unit 431 executes a V-DMC decoding process, decodes the V-DMC bitstream, and restores the V-DMC data (generates restored V-DMC data).
  • step S404 the mesh reconstruction unit 432 converts the restored V-DMC data into mesh data, and uses the mesh data to reconstruct a mesh (restored mesh).
  • step S405 the display processing unit 433 renders the restored mesh to generate and display information.
  • step S405 When the processing of step S405 is completed, the playback process ends.
  • V-DMC decryption process flow An example of the flow of the V-DMC decoding process executed in step S403 in FIG. 27 will be described with reference to the flowchart in FIG.
  • step S421 the demultiplexer 451 demultiplexes the V-DMC bitstream.
  • step S422 the atlas information decoding unit 452 decodes the encoded data of the atlas information as the atlas information, and generates (restores) the atlas information.
  • step S423 the base mesh decoding unit 453 decodes the encoded data of the base mesh according to the atlas information and generates (restores) information about the base mesh.
  • step S424 the base mesh reconstruction unit 454 reconstructs the base mesh (generates a restored base mesh) using the atlas information and information about the base mesh.
  • step S425 the subdivision unit 455 subdivides the reconstructed base mesh (restored base mesh) and generates division points.
  • step S426 the displacement video decoding unit 456 decodes the encoded data of the displacement video and generates (restores) the displacement video.
  • step S427 the unpacking unit 457 unpacks the displacement map, which is the frame image of the displacement video, and extracts the displacement vector.
  • step S429 the attribute video decoding unit 459 decodes the encoded data of the attribute video and generates (restores) the attribute video.
  • the atlas information generated (restored) in step S422, the decoded mesh generated in step S428, and the attribute video generated (restored) in step S429 are supplied to the mesh reconstruction unit 432 as restored V-DMC data.
  • step S429 When the processing of step S429 is completed, the V-DMC decoding process ends and the process returns to FIG. 27.
  • the random access operation receiving unit 421 receives a random access operation in step S451.
  • step S452 the random access playback control unit 422 determines whether negative control mode or positive control mode was set as the random access mode in step S401 (FIG. 27).
  • the negative control mode is a mode in which decoding of mesh data is started from a sample specified by control information (first control information) that specifies the sample at which decoding starts.
  • the positive control mode is a mode in which decoding of mesh data is started from the current sample based on control information (second control information) that specifies the sample that is to be decoded successfully.
  • step S453 the random access playback control unit 422 randomly accesses a specified sample prior to the current sample based on the random access metadata of the content file.
  • the playback processing unit 412 controls the content file acquisition unit 411 in accordance with this control, and starts extraction from the specified sample.
  • the V-DMC decoding unit 431 starts decoding the base mesh from the specified sample.
  • step S454 the V-DMC decoding unit 431 starts reconstructing and subdividing the base mesh from the current sample in accordance with the control of the random access playback control unit 422.
  • step S455 the V-DMC decoding unit 431, under the control of the random access playback control unit 422, decodes the displacement video in conjunction with the decoding of the base mesh and applies the displacement vector from the current sample to the vertex.
  • step S456 the V-DMC decoding unit 431 decodes the attribute video in accordance with the decoding of the base mesh under the control of the random access playback control unit 422.
  • the mesh reconstruction unit 432 applies texture from the current sample to the faces of the decoded mesh under the control of the random access playback control unit 422.
  • step S457 the display processing unit 433 renders a decoded mesh from the current sample to generate and display display information.
  • the random access playback processing ends.
  • step S452 If it is determined in step S452 that the positive control mode has been set, processing proceeds to step S458.
  • step S458 the random access playback control unit 422 randomly accesses the current sample based on the random access metadata of the content file.
  • the playback processing unit 412 controls the content file acquisition unit 411 in accordance with this control to start extraction from the current sample.
  • the V-DMC decoding unit 431 starts decoding the base mesh from the current sample.
  • step S459 the V-DMC decoding unit 431 starts reconstructing and subdividing the base mesh from the specified sample after the current sample, according to the control of the random access playback control unit 422.
  • step S460 the V-DMC decoding unit 431, under the control of the random access playback control unit 422, decodes the displacement video in accordance with the decoding of the base mesh, and applies the displacement vector from the specified sample to the vertices.
  • step S461 the V-DMC decoding unit 431 decodes the attribute video in accordance with the decoding of the base mesh in accordance with the control of the random access playback control unit 422.
  • the mesh reconstruction unit 432 applies texture from the specified sample to the faces of the decoded mesh in accordance with the control of the random access playback control unit 422.
  • step S462 the display processing unit 433 renders a decoded mesh from the specified sample to generate and display display information.
  • the random access playback processing ends.
  • the random access playback control unit 422 controls random access based on random access metadata for random access based on the current sample, which is an intermesh sample, stored in a content file that stores mesh data. Then, the playback processing unit 412 starts playing the mesh data by that random access.
  • the playback device 400 can obtain the same effect as described above in ⁇ 3. Transmission and control of random access metadata>. In other words, when storing a bitstream in which mesh data is encoded in a file container, the playback device 400 can suppress a decrease in random accessibility while suppressing a decrease in encoding efficiency.
  • FIG. 30 is a block diagram showing an example of the hardware configuration of a computer that executes the above-mentioned series of processes using a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input/output interface 910 Also connected to the bus 904 is an input/output interface 910.
  • An input unit 911, an output unit 912, a memory unit 913, a communication unit 914, and a drive 915 are connected to the input/output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, etc.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, etc.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a non-volatile memory, etc.
  • the communication unit 914 includes, for example, a network interface.
  • the drive 915 drives removable media 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads a program stored in the storage unit 913, for example, into the RAM 903 via the input/output interface 910 and the bus 904, and executes the program, thereby carrying out the above-mentioned series of processes.
  • the RAM 903 also stores data necessary for the CPU 901 to execute various processes, as appropriate.
  • the program executed by the computer can be applied by recording it on removable media 921 such as package media, for example.
  • the program can be installed in the storage unit 913 via the input/output interface 910 by inserting the removable media 921 into the drive 915.
  • the program can also be provided via a wired or wireless transmission medium, such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can also be pre-installed in the ROM 902 or memory unit 913.
  • This technology can be applied to any encoding/decoding method.
  • this technology can be applied to any configuration.
  • this technology can be applied to various electronic devices.
  • the present technology can be implemented as part of an apparatus, such as a processor (e.g., a video processor) as a system LSI (Large Scale Integration), a module using multiple processors (e.g., a video module), a unit using multiple modules (e.g., a video unit), or a set in which other functions are added to a unit (e.g., a video set).
  • a processor e.g., a video processor
  • system LSI Large Scale Integration
  • modules using multiple processors e.g., a video module
  • a unit using multiple modules e.g., a video unit
  • a set in which other functions are added to a unit e.g., a video set.
  • the present technology can also be applied to a network system consisting of multiple devices.
  • the present technology may be implemented as cloud computing in which multiple devices share and collaborate on processing via a network.
  • the present technology may be implemented in a cloud service that provides image (video) related services to any terminal, such as a computer, AV (Audio Visual) equipment, portable information processing terminal, IoT (Internet of Things) device, etc.
  • a system refers to a collection of multiple components (devices, modules (parts), etc.), regardless of whether all the components are in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device in which multiple modules are housed in a single housing, are both systems.
  • Systems, devices, processing units, etc. to which the present technology is applied can be used in any field, such as transportation, medical care, crime prevention, agriculture, livestock farming, mining, beauty, factories, home appliances, weather, and nature monitoring.
  • the applications are also arbitrary.
  • this technology can be applied to systems and devices used to provide ornamental content, etc.
  • this technology can be applied to systems and devices used for transportation, such as monitoring traffic conditions and automatic driving control.
  • this technology can be applied to systems and devices used for security purposes.
  • this technology can be applied to systems and devices used for automatic control of machines, etc.
  • this technology can be applied to systems and devices used for agriculture and livestock farming.
  • this technology can be applied to systems and devices that monitor natural conditions such as volcanoes, forests, and oceans, and wildlife, etc.
  • this technology can be applied to systems and devices used for sports.
  • a "flag” refers to information for identifying multiple states, and includes not only information used to identify two states, true (1) or false (0), but also information capable of identifying three or more states.
  • the value that this "flag” can take may be, for example, two values, 1/0, or three or more values. That is, the number of bits constituting this "flag” is arbitrary, and may be one bit or multiple bits.
  • identification information including flags
  • identification information includes flags
  • “flag” and “identification information” include not only the information itself, but also difference information with respect to the reference information.
  • various information (metadata, etc.) related to the encoded data may be transmitted or recorded in any form as long as it is associated with the encoded data.
  • the term "associate” means, for example, making one piece of data available (linked) when processing the other piece of data.
  • data associated with each other may be combined into one piece of data, or each piece of data may be individual data.
  • information associated with encoded data (image) may be transmitted on a transmission path different from that of the encoded data (image).
  • information associated with encoded data (image) may be recorded on a recording medium different from that of the encoded data (image) (or on a different recording area of the same recording medium).
  • this "association" may be a part of the data, not the entire data.
  • an image and information corresponding to that image may be associated with each other in any unit, such as multiple frames, one frame, or a part of a frame.
  • the configuration described above as one device (or processing unit) may be divided and configured as multiple devices (or processing units).
  • the configurations described above as multiple devices (or processing units) may be combined and configured as one device (or processing unit).
  • configurations other than those described above may be added to the configuration of each device (or processing unit).
  • part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit).
  • the above-mentioned program may be executed in any device.
  • the device has the necessary functions (functional blocks, etc.) and is capable of obtaining the necessary information.
  • each step of a single flowchart may be executed by a single device, or may be shared among multiple devices.
  • the multiple processes may be executed by a single device, or may be shared among multiple devices.
  • multiple processes included in a single step may be executed as multiple step processes.
  • processes described as multiple steps may be executed collectively as a single step.
  • the processing of the steps describing a program executed by a computer may be executed chronologically in the order described in this specification, or may be executed in parallel, or individually at the required timing, such as when a call is made. In other words, as long as no contradiction arises, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps describing this program may be executed in parallel with the processing of other programs, or may be executed in combination with the processing of other programs.
  • the multiple technologies related to the present technology can be implemented independently and individually, so long as no contradictions arise.
  • any multiple of the present technologies can also be implemented in combination.
  • part or all of the present technology described in any embodiment can be implemented in combination with part or all of the present technology described in another embodiment.
  • part or all of any of the present technologies described above can be implemented in combination with other technologies not described above.
  • the present technology can also be configured as follows.
  • a random access metadata generating unit for generating random access metadata for random access to mesh data based on a current sample, which is an inter-mesh sample; a storage unit for storing the random access metadata in a content file for storing the mesh data.
  • the random access metadata includes control information that specifies a sample at which decoding should start.
  • the control information specifies a sample at which the decoding is to start based on a difference value between the current sample and a picture order count (POC).
  • POC picture order count
  • the information processing device (5) The information processing device according to (3), wherein the difference value is an absolute value.
  • the random access metadata includes control information that specifies samples that are successfully decoded.
  • the control information specifies the sample to be correctly decoded based on a difference value between the current sample and a picture order count (POC).
  • POC picture order count
  • the difference value is a value with a positive or negative sign.
  • the information processing device is an absolute value.
  • the random access metadata includes first control information that specifies a sample at which decoding starts, and second control information that specifies a sample that is successfully decoded.
  • the first control information specifies a sample at which the decoding is to start based on a difference value between the current sample and a POC (Picture Order Count),
  • POC Picture Order Count
  • the second control information specifies the correctly decoded sample based on a difference value between the current sample and the POC.
  • the difference value is a value with a positive or negative sign.
  • the content file manages sub-meshes of the mesh data as sub-samples, the random access metadata generator is configured to generate the random access metadata corresponding to the sub-samples;
  • the information processing device according to any one of the preceding claims, wherein the storage unit is configured to store the random access metadata corresponding to the sub-sample in the content file.
  • the storage unit is configured to store the random access metadata in a sub-sample information box of the content file.
  • the random access metadata includes information indicating an encoding type of the submesh corresponding to the subsample.
  • the random access metadata includes control information that specifies a subsample at which decoding starts.
  • the control information specifies a subsample at which the decoding is to start based on a difference value of a picture order count (POC) between the subsample and a current subsample.
  • the difference value is a value with a positive or negative sign.
  • the difference value is an absolute value.
  • the random access metadata includes control information that specifies subsamples that are successfully decoded.
  • control information specifies the subsample to be correctly decoded based on a difference value of a picture order count (POC) between the subsample and a current subsample.
  • POC picture order count
  • difference value is a value with a positive or negative sign.
  • random access metadata includes first control information specifying a subsample at which decoding starts, and second control information specifying a subsample that is successfully decoded.
  • the first control information specifies a subsample at which to start decoding based on a difference value of a Picture Order Count (POC) between a current subsample and the subsample
  • POC Picture Order Count
  • the difference value is a value with a positive or negative sign.
  • the storage unit is configured to store the random access metadata as a parameter of a sample group.
  • the random access metadata generation unit is configured to generate the random access metadata corresponding to the intermesh sample.
  • the mesh data is data of a base mesh having lower resolution than an original mesh to be encoded, the base mesh being generated by thinning out vertices from the original mesh, the original mesh being composed of vertices and connections that represent a three-dimensional structure of an object.
  • the mesh data is data of an original mesh to be encoded that is configured with vertices and connections that represent a three-dimensional structure of an object.
  • the information processing device is a file container that complies with ISOBMFF (International Organization for Standardization Base Media File Format).
  • ISOBMFF International Organization for Standardization Base Media File Format
  • the content file is a Matryoshka media container.
  • the storage unit is configured to store the random access metadata in a track that stores the mesh data of the content file.
  • the storage unit is configured to store the random access metadata in a track that stores the mesh data of the content file.
  • the storage unit is configured to store the random access metadata in a track that stores the mesh data of the content file.
  • the random access metadata is stored in a content file that stores the mesh data.
  • a random access playback control unit that controls the random access based on random access metadata for random access based on a current sample, which is an intermesh sample, stored in a content file that stores mesh data; a playback processing unit that starts playback of the mesh data by the random access.
  • the random access metadata includes control information for specifying a sample to start decoding, The information processing device according to (41), wherein the random access playback control unit is configured to start decoding the mesh data from the sample designated by the control information.
  • the information processing device (44) The information processing device according to (43), wherein the difference value is a value with a positive or negative sign. (45) The information processing device according to (43), wherein the difference value is an absolute value. (46)
  • the random access metadata includes control information specifying samples that are successfully decoded, The information processing device according to (41), wherein the random access playback control unit is configured to start decoding the mesh data from the current sample. (47) The information processing device according to (46), wherein the control information specifies the correctly decoded sample based on a difference value between the current sample and a POC (Picture Order Count). (48) The information processing device according to (47), wherein the difference value is a value with a positive or negative sign.
  • the information processing device according to (47), wherein the difference value is an absolute value.
  • the random access metadata includes first control information specifying a sample to start decoding and second control information specifying a successfully decoded sample, The information processing device according to (41), wherein the random access playback control unit is configured to select whether to control the random access based on the first control information or to control the random access based on the second control information.
  • the first control information specifies a sample at which the decoding starts based on a difference value between the current sample and a POC (Picture Order Count), The information processing device according to any one of claims 50 to 60, wherein the second control information specifies the correctly decoded sample based on a difference value between the current sample and the POC.
  • the information processing device (51), wherein the difference value is a value with a positive or negative sign.
  • the content file manages sub-meshes of the mesh data as sub-samples, and stores the random access metadata corresponding to the sub-samples; the random access playback control unit is configured to control the random access to the sub-samples based on the random access metadata corresponding to the sub-samples;
  • the information processing device (41), wherein the reproduction processing unit is configured to start reproduction of the mesh data for each sub-sample by the random access.
  • the information processing device (53), wherein the content file stores the random access metadata in a subsample information box.
  • the random access metadata includes information indicating an encoding type of the sub-mesh corresponding to the sub-sample, The information processing device according to any one of claims 53 to 6, wherein the random access playback control unit is configured to control the random access to the sub-samples based on the encoding type.
  • the random access metadata includes control information that specifies a subsample at which to start decoding, The information processing device according to (53), wherein the random access playback control unit is configured to start decoding of the mesh data from the sub-sample designated by the control information.
  • the information processing device (56), wherein the control information specifies a subsample at which to start decoding based on a difference value of a picture order count (POC) between the subsample and a current subsample.
  • POC picture order count
  • the information processing device (57), wherein the difference value is a value with a positive or negative sign.
  • the information processing device (57), wherein the difference value is an absolute value.
  • the random access metadata includes control information specifying sub-samples that are successfully decoded; The information processing device according to any one of claims 53 to 6, wherein the random access playback control unit is configured to start decoding the mesh data from a current subsample.
  • the information processing device (61) The information processing device according to (60), wherein the control information specifies the subsample to be correctly decoded based on a difference value of a picture order count (POC) between the current subsample and the subsample. (62) The information processing device according to (61), wherein the difference value is a value with a positive or negative sign. (63) The information processing device according to (61), (64)
  • the random access metadata includes first control information specifying a subsample to start decoding, and second control information specifying a subsample to be successfully decoded, The information processing device according to (53), wherein the random access playback control unit is configured to select whether to control the random access based on the first control information or to control the random access based on the second control information.
  • the first control information specifies a subsample at which to start decoding based on a difference value of a POC (Picture Order Count) between a current subsample and the subsample
  • the information processing device according to (64) wherein the second control information specifies the subsample to be correctly decoded based on a difference value of the POC from the current subsample.
  • the content file stores the random access metadata as a parameter of a sample group.
  • the random access metadata corresponds to the intermesh sample.
  • the mesh data is data of a base mesh having lower resolution than an original mesh to be encoded, the base mesh being generated by thinning out vertices from the original mesh, the original mesh being composed of vertices and connections that represent a three-dimensional structure of an object.
  • the mesh data is data of an original mesh to be encoded that is configured with vertices and connections that represent a three-dimensional structure of an object.
  • the content file is a file container that complies with ISOBMFF (International Organization for Standardization Base Media File Format).
  • the information processing device includes starting playback of the mesh data by the random access.
  • 300 File generation device, 311 V-DMC data generation unit, 312 V-DMC encoding unit, 313 Content file generation unit, 314 Random access metadata generation unit, 351 Atlas information encoding unit, 352 Base mesh encoding unit, 353 Displacement vector correction unit, 354 Displacement video encoding unit, 355 Mesh reconstruction unit, 356 Attribute map conversion unit, 357 Attribute video encoding unit, 358 Multiplexing unit, 400 Playback device, 411 Content file acquisition unit, 412 playback processing unit, 421 random access operation reception unit, 422 random access playback control unit, 431 V-DMC decoding unit, 432 mesh reconstruction unit, 433 display processing unit, 451 demultiplexing unit, 452 atlas information decoding unit, 453 base mesh decoding unit, 454 base mesh reconstruction unit, 455 subdivision unit, 456 displacement video decoding unit, 457 unpacking unit, 458 displacement vector application unit, 459 attribute video decoding unit, 900 computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本開示は、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができるようにする情報処理装置および方法に関する。 メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成し、そのメッシュデータを格納するコンテンツファイルにそのランダムアクセスメタデータを格納する。また、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいてランダムアクセスを制御し、そのランダムアクセスによりメッシュデータの再生を開始する。本開示は、例えば、情報処理装置、または情報処理方法等に適用することができる。

Description

情報処理装置および方法
 本開示は、情報処理装置および方法に関し、特に、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができるようにした情報処理装置および方法に関する。
 従来、動画圧縮の国際標準技術MPEG-4(Moving Picture Experts Group - 4)のファイルコンテナ仕様であるISOBMFF(International Organization for Standardization Base Media File Format)があった(例えば、非特許文献1および非特許文献2参照)。
 また、頂点と接続によりオブジェクトの3次元構造を表現する3Dデータであるメッシュの符号化方法として、V-DMC(Video-based Dynamic Mesh Coding)があった(例えば、非特許文献3から非特許文献6参照)。
 近年、このV-DMCで符号化されたビットストリーム(V-DMCビットストリームとも称する)をISOBMFF(International Organization for Standardization Base Media File Format)等に格納して配信する方法の確立が期待されている。例えば、V-PCCの配信技術規格であるISO/IEC 23090-10(例えば、非特許文献7参照)を拡張して規格化することが想定され得る。その場合、V-DMCビットストリームは、ISOBMFFのトラックに格納される。
"Information technology - Coding of audio-visual objects - Part 12: ISO base media file format, TECHNICAL CORRIGENDUM 1", ISO/IEC FDIS 14496-12:2020(E), ISO/IEC 14496-12:2015/Cor.1, ISO/IEC JTC 1/SC 29/WG 11, 2016/6/3, ISO/IEC 14496-12:2022, 7th edition, 2022-01 "Information technology - Coding of audio-visual objects - Part 15: Carriage of network abstraction layer (NAL) unit structured video in the ISO base media file format", ISO/IEC FDIS 14496-15:2014(E), ISO/IEC JTC 1/SC 29/WG 11, 2014/1/13, ISO/IEC 14496-15:2019, 5th edition, 2019-09 Khaled Mammou, Jungsun Kim, Alexis Tourapis, Dimitri Podborski, Krasimir Kolarov, "[V-CG] Apple's Dynamic Mesh Coding CfP Response", ISO/IEC JTC 1/SC 29/WG 7 m59281, April 2022 Jungsun Kim, Alexis Tourapis, Dimitri Podborski, Khaled Mammou, "VDMC support in the V3C framework", ISO/IEC JTC 1/SC 29/WG 7 m60748, Oct 2022 Alexis Tourapis, Jungsun Kim, Dimitri Podborski, Khaled Mammou, "Base mesh data substream format for VDMC", ISO/IEC JTC 1/SC 29/WG 7 m60362, July 2022 "WD 1.0 of V-DMC", ISO/IEC JTC 1/SC 29/WG 07 N0486, MDS22184, 2022-11-16 "Text of ISO/IEC FDIS 23090-10 Carriage of Visual Volumetric Video-based Coding Data", ISO/IEC JTC 1/SC 29/WG 03 N00241, 2021/8/20, ISO/IEC 23090-10:2022, 1st edition, 2022-05
 しかしながら、メッシュ(V-DMCの場合、ベースメッシュ)は、1以上のサブメッシュにより構成され得る。このサブメッシュ構成に起因し、ビットストリーム全体のRAP(Random Access Point)の頻度が低減し、ランダムアクセス性が低減するおそれがあった。インター符号化するサンプルを低減し、イントラ符号化するサンプルを増やすことにより、RAPの低減を抑制することができるが、その場合、符号化効率が低減するおそれがあった。
 本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができるようにするものである。
 本技術の一側面の情報処理装置は、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成するランダムアクセスメタデータ生成部と、前記メッシュデータを格納するコンテンツファイルに前記ランダムアクセスメタデータを格納する格納部とを備える情報処理装置である。
 本技術の一側面の情報処理方法は、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成し、前記メッシュデータを格納するコンテンツファイルに前記ランダムアクセスメタデータを格納する情報処理方法である。
 本技術の他の側面の情報処理装置は、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、前記ランダムアクセスを制御するランダムアクセス再生制御部と、前記ランダムアクセスにより前記メッシュデータの再生を開始する再生処理部とを備える情報処理装置である。
 本技術の他の側面の情報処理方法は、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、前記ランダムアクセスを制御し、前記ランダムアクセスにより前記メッシュデータの再生を開始する情報処理方法である。
 本技術の一側面の情報処理装置および方法においては、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータが生成され、そのメッシュデータを格納するコンテンツファイルにそのランダムアクセスメタデータが格納される。
 本技術の他の側面の情報処理装置および方法においては、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、ランダムアクセスが制御され、そのランダムアクセスによりメッシュデータの再生が開始される。
メッシュについて説明するための図である。 V-DMCについて説明するための図である。 サブメッシュについて説明するための図である。 sync sampleについて説明する図である。 メッシュデータを符号化したビットストリームをファイルコンテナに格納して配信する方法の例を示す図である。 コンテンツファイルの主なトラック構成例を示す図である。 ランダムアクセスメタデータの例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセスメタデータの例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセスメタデータの例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセスメタデータの例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセスメタデータの例を示す図である。 ランダムアクセス制御の例を示す図である。 ランダムアクセスメタデータの例を示す図である。 マトリョーシカメディアコンテナの構成例を示す図である。 ファイル生成装置の主な構成例を示すブロック図である。 V-DMC符号化部の主な構成例を示すブロック図である。 ファイル生成処理の流れの例を説明するフローチャートである。 V-DMC符号化処理の流れの例を説明するフローチャートである。 再生装置の主な構成例を示すブロック図である。 V-DMC復号部の主な構成例を示すブロック図である。 再生処理の流れの例を説明するフローチャートである。 V-DMC復号処理の流れの例を説明するフローチャートである。 ランダムアクセス再生処理の流れの例を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.技術内容・技術用語をサポートする文献等
 2.V-DMCとその配信
 3.ランダムアクセスメタデータの伝送と制御
 4.第1の実施の形態(ファイル生成装置)
 5.第2の実施の形態(再生装置)
 6.付記
 <1.技術内容・技術用語をサポートする文献等>
 本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
 非特許文献1:(上述)
 非特許文献2:(上述)
 非特許文献3:(上述)
 非特許文献4:(上述)
 非特許文献5:(上述)
 非特許文献6:(上述)
 非特許文献7:(上述)
 非特許文献8:https://www.matroska.org/index.html
 つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
 <2.V-DMCとその配信>
  <メッシュ>
 従来、立体構造物(3次元形状のオブジェクト)の3次元構造を表す3Dデータとして、頂点および接続(エッジとも称する)によりポリゴンを形成することによりオブジェクト表面の3次元形状を表現するメッシュ(Mesh)があった。
 図1の上段左側に示されるように、メッシュにおいては、頂点11と、その頂点11同士を結ぶ接続12により、多角形の平面(ポリゴン)が形成される。以下においては、ポリゴンが三角形状であるものとして説明する。このポリゴン(フェイスとも称する)により、3次元構造のオブジェクトの表面、すなわち、オブジェクトの3次元形状が表現される。なお、このメッシュの各フェイスには、テクスチャ13を張り付ける(適用するともいう)ことができる。
 メッシュのデータは、例えば、図1の下段に示されるような情報により構成される。図1の下段の左から1番目に示される頂点情報14は、メッシュを構成する各頂点11の3次元位置(3次元座標(X,Y,Z))を示す情報である。図1の下段の左から2番目に示される接続情報15は、メッシュを構成する各接続(エッジ)12を示す情報である。図1の下段の左から3番目に示されるテクスチャ画像16は、各フェイスに張り付けられるテクスチャ13のマップ情報である。図1の下段の左から4番目に示されるUVマップ17は、頂点11とテクスチャ13との対応関係を示す情報である。UVマップ17においては、各頂点11のテクスチャ画像16における座標(UV座標)が示される。
 なお、メッシュデータは、2Dデータの動画像のように時間方向に変化し得る。すなわち、メッシュデータは、互いに異なるタイミングの3次元構造を表すメッシュデータからなるフレームが連続する構造を有することができる。
  <V-DMC>
 このようなメッシュの符号化方法として、例えば、非特許文献3から非特許文献6に開示されているようなV-DMC(Video-based Dynamic Mesh Coding)があった。
 V-DMCでは、符号化対象のメッシュ(本明細書においてはオリジナルメッシュと称する)を、そのオリジナルメッシュよりも精細度が低い(つまり、粗い)ベースメッシュと、そのベースメッシュを細分化して得られる分割点の変位ベクトルとで表現され、そのベースメッシュと変位ベクトルが符号化される。例えば、カメラキャプチャにより生成した、毎フレーム構造が変わる(Non-registered)メッシュデータであるダイナミックメッシュ(Dynamic Mesh)ストリームが符号化対象とされる。
 例えば、図2の最上段に示されるようなオリジナルメッシュが存在するとする。図2において、黒点が頂点を示し、黒点を結ぶ線が接続(エッジ)を示す。上述のようにメッシュは、本来、空間において頂点とエッジにより面(ポリゴン)を形成するが、ここでは、説明の便宜上、平面において線状に(直列に)接続される頂点群として説明している。
 オリジナルメッシュの一部の頂点を間引く(Decimate)ことにより、図2の上から2段目に示されるような粗い(精細度が低い)メッシュが形成される。これをベースメッシュと称する。
 このベースメッシュの各ポリゴンを細分化(Subdivide)することにより、図2の上から3段目に示されるように、頂点やエッジが追加される。例えば、この細分化により、オリジナルメッシュから間引いた数だけ頂点が追加されるようにすることができる。つまり、ベースメッシュを細分化することにより、頂点数がオリジナルメッシュと同数のメッシュが得られる。本明細書において、このように細分化により追加された頂点を分割点とも称する。
 しかしながら、オリジナルメッシュの頂点を間引く際に接続が更新されており、分割点はこの更新された接続(エッジ)上に形成される。そのため、細分化により頂点数をオリジナルメッシュと同数としたとしても、この細分化されたベースメッシュの頂点の位置(図2の上から3段目)は、オリジナルメッシュの頂点の位置(図2の最上段)と異なる。換言するに、図2の最下段に示されるように、細分化されたベースメッシュの頂点の位置をオリジナルメッシュの頂点位置に移動する(変位する)ことにより、理想的にはオリジナルメッシュを復元することができる。本明細書においては、このような頂点の変位(移動)をベクトルとして示したものを変位ベクトルと称する。
 つまり、理想的には、オリジナルメッシュをベースメッシュおよび変位ベクトルとして表現することができる。このようにオリジナルメッシュをベースメッシュおよび変位ベクトルとして表現することにより、ポリゴン数(つまり、頂点数やエッジ数)が低減する。したがって、オリジナルメッシュを符号化する代わりに、ベースメッシュおよび変位ベクトルを符号化することにより、符号化効率の低減(符号量の増大)を抑制することができる。
 つまり、V-DMCでは、図1に示されるようなメッシュデータ等の3Dデータから、ベースメッシュ、変位ベクトル、アトリビュート(テクスチャ)、およびアトラス情報からなるV-DMCデータが生成され、そのV-DMCデータが符号化される。アトラス情報は、メッシュを再構成するために必要な情報であり、例えば、ベースメッシュ、変位ベクトル、およびテクスチャの互いの対応関係を示す情報を含む。例えば図1のUVマップ17のような、メッシュのパッチとアトリビュートのパッチとを対応付ける情報を含み得る。
 そのV-DMCデータの符号化の際は、そのV-DMCデータを構成するベースメッシュ、変位ベクトル、アトリビュート(テクスチャ)、およびアトラス情報がそれぞれ符号化され、それぞれのビットストリーム(符号化データ)が生成される。そして、そのベースメッシュのストリーム、変位ベクトルのストリーム、アトリビュート(テクスチャ)のストリーム、およびアトラス情報のストリームをサブストリームとし、1本のビットストリーム(V-DMCビットストリームとも称する)が生成される。
 上述したようにメッシュデータは、時間方向に変化し得るため、時間方向の構造(連続するフレーム構造)を有する。そのため、V-DMCでは、メッシュデータがその時間方向の構造に従って分割されて処理される。この時間方向の処理単位をサンプルと称する。つまり、メッシュデータの1フレームまたは連続する複数フレームを1サンプルとして符号化・復号が行われる。一般的には、メッシュデータの1フレームが1サンプルとされる。
 サンプルは、他のサンプルと独立にイントラ符号化してもよいし、他のサンプル(他のフレーム)をキーサンプル(キーフレーム)としてインター符号化してもよい。
 アトラス情報は所定の方法で符号化される。変位ベクトルは、フレーム画像(変位マップまたはジオメトリマップとも称する)にパッキングされ、動画像(変位ビデオまたはジオメトリビデオとも称する)として、動画像用の符号化方式を用いて符号化される。アトリビュート(テクスチャ)は、フレーム画像(テクスチャ画像またはアトリビュートマップとも称する)にパッキングされ、動画像(テクスチャビデオまたはアトリビュートビデオとも称する)として、動画像用の符号化方式を用いて符号化される。ベースメッシュは、イントラ符号化の場合、所定の符号化方式(例えばDraco等)により他のサンプルと独立に符号化され、インター符号化の場合、キーサンプルとの差分が導出され、その差分が符号化される。なお、処理対象サンプルがキーサンプルとの差分が無い場合(キーサンプルと同一である場合)、その符号化をスキップすることもできる。
 V-DMCビットストリームを復号する際は、ベースメッシュ、変位ベクトル、アトリビュート(テクスチャ)、およびアトラス情報のそれぞれのサブストリームがそれぞれの符号化方法に対応する復号方法で復号され、アトラス情報、ベースメッシュ、変位ベクトル、テクスチャが復元(生成)される。そして、上述したように、アトラス情報に基づいて、ベースメッシュを細分化し、その頂点に変位ベクトルを適用し(つまり、頂点を変位させ)、フェイスにテクスチャを適用することにより、メッシュが再構成される(復元メッシュが生成される)。
  <V-DMCビットストリームの配信>
 近年、このようなV-DMCビットストリームをISOBMFF(International Organization for Standardization Base Media File Format)等に格納して配信する方法の確立が期待されている。例えば、非特許文献1および非特許文献2に記載のように、ISOBMFFは、動画圧縮の国際標準技術「MPEG-4(Moving Picture Experts Group - 4)」のファイルコンテナ仕様である。例えば、非特許文献7に記載のような、V-PCCの配信技術規格であるISO/IEC 23090-10を拡張して、V-DMCビットストリームをISOBMFFに格納することが想定され得る。その場合、V-DMCビットストリームは、ISOBMFFのトラックに格納される。例えば、アトラス情報、ベースメッシュ、変位ベクトル、アトリビュートの各サブストリームを、それぞれISOBMFFの互いに異なるトラックに格納するといったことが考えられる。
  <サブメッシュ>
 ところで、メッシュ(V-DMCの場合、ベースメッシュ)は、1以上のサブメッシュにより構成され得る。サブメッシュは、空間方向(領域方向)の符号化処理単位である。つまり、サブメッシュは互いに独立に符号化することができる。例えば、図3のAに示されるメッシュ31が、図3のBに示されるように、サブメッシュ31Aとサブメッシュ31Bに分けられていれば、サブメッシュ31Aおよびサブメッシュ31Bをそれぞれ独立に符号化することができる。このようにすることにより、サブメッシュ31Aおよびサブメッシュ31Bをそれぞれ独立に復号することができる。すなわち、サブメッシュ31Aのみを復号したり、サブメッシュ31Bのみを復号したりすることもできるようになる。つまり、メッシュの所望の一部のみを復号することができ、復号処理量の不要な増大を抑制することができる。これにより、復号処理の負荷や処理時間の増大を抑制することができる。
  <ランダムアクセス制御>
 しかしながら、このサブメッシュ構成に起因し、ビットストリーム全体のRAP(Random Access Point)の頻度が低減し、ランダムアクセス性が低減するおそれがあった。
 図4は、ISOBMFFに格納される、メッシュデータを符号化したビットストリームの構成例を示す図である。図4に示されるビットストリームは、2つのサブメッシュ(submesh#1, submesh#2)を有するメッシュデータを符号化したビットストリームであり、POC(Picture Order Count)0からPOC8までの9サンプルを有する。なお、POCは各サンプルの復号順を示すものとする。
 サブメッシュに対応するサンプルをサブサンプルとも称する。図4の例の場合、各サンプルは、submesh#1に対応するサブサンプルとsubmesh#2に対応するサブサンプルとを有する。「Draco」と表記される四角は、イントラ符号化されたサブサンプルを示し、「motion」と表記される四角は、インター符号化されたサブサンプルを示す。
 イントラ符号化されたサンプルは、そのサンプルのみを正常に復号することができる。これに対して、インター符号化されたサンプルを正常に復号するためには、そのキーサンプル(例えば直前のサンプル)が正常に復号されている必要がある。ただし、上述したように、メッシュデータの場合、各サンプルはサブメッシュ毎に符号化される。したがって、あるサンプルが正常に復号されるためには、そのサンプルを構成する全てのサブサンプルがそれぞれ正常に復号できればよい。例えば、図4のビットストリームにおいてPOC4のsubmesh#1のサブサンプルは、イントラ符号化されているので、このサブサンプルを正常に復号するためには、POC4から復号を開始すればよい。これに対して、POC4のsubmesh#2のサブサンプルは、インター符号化されており、このサブサンプルを正常に復号するためには、POC2から復号を開始すればよい。すなわち、POC4のサンプルを正常に復号するためには、POC2から復号を開始すればよい。
 2Dデータの場合、ISOBMFFにおいては、RAPとして指定されるシーケンスの途中のサンプル(sync sampleとも称する)にアクセスし、そのサンプルからアクセスを開始するランダムアクセス再生を行うことができる。sync sampleとして指定され得るサンプルは、イントラ符号化されたサンプルである。
 しかしながら、ISOBMFFのようなファイルコンテナにメッシュデータを格納する方法は検討が開始されたばかりであり、2Dデータのようにランダムアクセスを実現する方法はなかった。仮にランダムアクセスを適用するとしても、少なくとも、ISOBMFFのようなファイルコンテナにおいて、3Dデータのサブサンプルに基づいてランダムアクセスを制御する方法がなかった。つまり、メッシュデータのビットストリームの場合、例えば図4のPOC2のサンプルのように、各サブメッシュが互いに異なる方法で符号化されることも有り得るが、ファイルコンテナにおいてどのサブメッシュがどのように符号化されているか(すなわち、サブメッシュ毎の符号化構造)が管理されていなかった。そのため、例えば図4のPOC0のように、全てのサブサンプルがイントラ符号化されたサンプルしか、sync sampleとして指定することができなかった。つまり、この場合、POC0から復号を開始しなければならなかった。
 このように、サブメッシュの構成に起因し、ビットストリーム全体のRAPの頻度が低減するおそれがあった。そのため、ランダムアクセス性が低減するおそれがあった。そのため、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)の視聴体験品質が低減するおそれがあった。
 なお、インター符号化するサンプルを低減し、イントラ符号化するサンプルを増やすことによりRAPの低減を抑制する方法が考えられるが、その場合、ビットストリームの符号化効率が低減するおそれがあった。
 <3.ランダムアクセスメタデータの伝送と制御>
  <方法1>
 そこで、メッシュデータを符号化したビットストリームをファイルコンテナに格納する場合に、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができるようにする。例えば、図5の表の最上段に示されるように、ランダムアクセスメタデータをファイルに格納してもよい(方法1)。
 ここで、ランダムアクセスメタデータは、メッシュデータにランダムアクセスするための制御情報である。より具体的には、ランダムアクセスメタデータは、メッシュデータに、処理対象のサンプルである現在サンプルに基づいてランダムアクセスするための制御情報である。例えば、ランダムアクセスメタデータは、メッシュデータに、インターメッシュサンプルである現在サンプルに基づくランダムアクセスするための制御情報であってもよい。ここで、インターメッシュサンプルは、インターメッシュサブサンプルを含むサンプルであり、インターメッシュサブサンプルは、インター符号化されたメッシュデータのサブサンプルである。なお、本明細書において、イントラ符号化されたメッシュデータのサブサンプルをイントラメッシュサブサンプルとも称し、イントラメッシュサブサンプルのみにより構成されるサンプルをイントラメッシュサンプルとも称する。
 例えば、メッシュデータを符号化したビットストリームをファイルコンテナに格納するファイル生成装置(第1の情報処理装置)が、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成するランダムアクセスメタデータ生成部と、そのメッシュデータを格納するコンテンツファイルにそのランダムアクセスメタデータを格納する格納部とを備えてもよい。
 また、メッシュデータを符号化したビットストリームをファイルコンテナに格納するファイル生成装置(第1の情報処理装置)において、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成し、そのメッシュデータを格納するコンテンツファイルにそのランダムアクセスメタデータを格納してもよい。
 このようにすることにより、第1の情報処理装置は、インターメッシュサンプルもsync sample(すなわちRAP)とすることができる。つまり、第1の情報処理装置は、イントラ符号化されたサブサンプルのみで構成されるサンプル以外のサンプルもsync sample(すなわちRAP)とすることができる。したがって、第1の情報処理装置は、符号化効率の低減を抑制しながら、より多様なサンプルにランダムアクセス可能なコンテンツファイルを生成することができる。すなわち、第1の情報処理装置は、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。例えば、第1の情報処理装置は、符号化効率の低減を抑制しながら、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)の視聴体験品質の低減を抑制することができる。
 例えば、ファイルコンテナに格納されるビットストリームを復号してメッシュデータを再生する再生装置(第2の情報処理装置)が、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、ランダムアクセスを制御するランダムアクセス再生制御部と、そのランダムアクセスによりメッシュデータの再生を開始する再生処理部とを備えてもよい。
 また、ファイルコンテナに格納されるビットストリームを復号してメッシュデータを再生する再生装置(第2の情報処理装置)において、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、ランダムアクセスを制御し、そのランダムアクセスによりメッシュデータの再生を開始してもよい。
 このようにすることにより、第2の情報処理装置は、コンテンツファイルの情報(ランダムアクセスメタデータ)に基づいて容易に(ビットストリームをパースせずに)、イントラ符号化されたサブサンプルのみで構成されるサンプル以外のサンプルにランダムアクセスすることができる。したがって、第2の情報処理装置は、符号化効率の低減を抑制しながら、コンテンツファイルのより多様なサンプルにランダムアクセスすることができる。すなわち、第2の情報処理装置は、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。例えば、第2の情報処理装置は、符号化効率の低減を抑制しながら、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)の視聴体験品質の低減を抑制することができる。
 ランダムアクセスメタデータは、コンテンツファイルのどこに格納されてもよい。例えば、第1の情報処理装置において、格納部が、コンテンツファイルのメッシュデータを格納するトラックに、ランダムアクセスメタデータを格納してもよい。また、第2の情報処理装置において、コンテンツファイルが、メッシュデータを格納するトラックに、ランダムアクセスメタデータを格納してもよい。
 コンテンツファイルにおいてトラックの構成はどのようなものであってもよい。例えば、図6に示されるように、アトラス情報のサブストリーム(atlas data substream)、ベースメッシュのサブストリーム(basemesh substream)、変位ベクトルのサブストリーム(geometry video substream)、およびアトリビュート(テクスチャ)のサブストリーム(attribute video substream)が互いに異なるトラックに格納されてもよい。図6は、コンテンツファイルのトラック構成の例を示している。この例の場合、アトラス情報のサブストリーム(atlas data substream)はアトラストラック(atlas track)に格納される。ベースメッシュのサブストリーム(basemesh substream)はベースメッシュトラック(basemesh track)に格納される。変位ベクトルのサブストリーム(geometry video substream)は、ジオメトリトラック(geometry track)に格納される。アトリビュート(テクスチャ)のサブストリーム(attribute video substream)は、アトリビュートトラック(attribute track)に格納される。
 コンテンツファイルがこのようなトラック構成を有する場合に、ランダムアクセスメタデータが、ベースメッシュトラックに格納されてもよい。例えば、ランダムアクセスメタデータが、そのベースメッシュトラックのメタデータを格納する領域に格納されてもよい。このようにすることにより、第2の情報処理装置は、ベースメッシュトラックを参照するだけで容易にベースメッシュのより多様なサンプルにランダムアクセスすることができる。換言するに、第1の情報処理装置は、ベースメッシュトラックを参照するだけで容易にベースメッシュのより多様なサンプルにランダムアクセス可能なコンテンツファイルを生成することができる。
 ランダムアクセスメタデータは、コンテンツファイルにどのように格納されてもよい。例えば、第1の情報処理装置において、格納部が、サンプルグループのパラメータとしてランダムアクセスメタデータを格納してもよい。また、第2の情報処理装置において、コンテンツファイルが、サンプルグループのパラメータとしてランダムアクセスメタデータを格納してもよい。
 図7は、ランダムアクセスメタデータの例を示す図である。図7に示されるように、ランダムアクセスメタデータとして、サンプルグループのエントリ(MeshRollRecoveryEntry)を新規定義し、このエントリ(MeshRollRecoveryEntry)内に、メッシュデータにランダムアクセスするための制御情報を格納してもよい。
 ランダムアクセスメタデータは、そのランダムアクセスメタデータに対応するサンプルが復号される際に参照され得る。ランダムアクセスメタデータは、サンプル毎に設定されてもよい。また、ランダムアクセスメタデータは、複数サンプルで共有してもよい。例えば、所定のサンプル区間毎にランダムアクセスメタデータが設定されてもよい。その場合、そのサンプル区間内の各サンプルにおいて共通のランダムアクセスメタデータが適用されることになる。また、シーケンス全体に対してランダムアクセスメタデータが設定されてもよい。その場合、シーケンス内の全サンプルにおいて共通のランダムアクセスメタデータが適用されることになる。
 また、ランダムアクセスメタデータは、一部のサンプルに対してのみ設定されてもよい。例えば、ランダムアクセスメタデータが所定のサンプルに対してのみ設定されてもよい。例えば、第1の情報処理装置において、ランダムアクセスメタデータ生成部が、インターメッシュサンプルに対応するランダムアクセスメタデータを生成してもよい。また、第2の情報処理装置において、ランダムアクセスメタデータが、インターメッシュサンプルに対応してもよい。なお、ランダムアクセスメタデータが一部のインターメッシュサンプルに対してのみ設定されてもよい。
 ランダムアクセスメタデータは、任意のメッシュデータに適用することができる。例えば、V-DMCのベースメッシュに対して適用してもよい。例えば、第1の情報処理装置および第2の情報処理装置において、メッシュデータは、オブジェクトの3次元構造を表現する頂点および接続により構成される符号化対象のオリジナルメッシュから頂点を間引くことにより生成される、オリジナルメッシュよりも精細度が低いベースメッシュのデータであってもよい。また、V-DMCを適用せずにオリジナルメッシュを符号化対象とし、そのオリジナルメッシュのビットストリームをISOBMFF等のファイルコンテナに格納して配信する場合に、ランダムアクセスメタデータを適用してもよい。例えば、第1の情報処理装置および第2の情報処理装置において、メッシュデータは、オブジェクトの3次元構造を表現する頂点および接続により構成される符号化対象のオリジナルメッシュのデータであってもよい。
 また、メッシュデータのビットストリームやランダムアクセスメタデータを格納するファイルコンテナの仕様や名称は、どのようなものであってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、コンテンツファイルは、ISOBMFF(International Organization for Standardization Base Media File Format)に準拠するファイルコンテナであってもよい。
  <方法1-1>
 方法1が適用される場合に、例えば、図5の表の上から2段目に示されるように、復号を開始するサンプルを指定する制御情報を含むランダムアクセスメタデータをファイルに格納してもよい(方法1-1)。本明細書において、この「復号を開始するサンプル」を復号開始サンプルとも称する。
 例えば、第1の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサンプルを指定する制御情報を含んでもよい。
 例えば、図8に示されるようにPOC4のサンプルに対応するランダムアクセスメタデータとして、そのPOC4のサンプルを正常に復号するための復号開始サンプルを指定する制御情報が含まれていてもよい。図8の例の場合、submesh#1およびsubmesh#2のいずれについても、POC2からPOC4までのサンプルにイントラメッシュサブサンプルが存在する。したがって、POC2のサンプルから復号を開始すれば、POC4のサンプルを正常に復号することができる。このようなPOC2のサンプルを復号開始サンプルとして指定する制御情報(‘roll’ negative distance)がPOC4のサンプルに対応するランダムアクセスメタデータに含まれてもよい。
 なお、図8の例の場合、POC4のサンプルを正常に復号するための復号開始サンプルとしてPOC2のサンプルがPOC4のサンプルに最も近い。このように、条件を満たす復号開始サンプル(すなわち、ランダムアクセスメタデータに対応するサンプルを正常に復号するための復号開始サンプル)の内、そのランダムアクセスメタデータに対応するサンプルに最も近いサンプルを指定する制御情報がそのランダムアクセスメタデータに含まれてもよい。
 この場合、再生装置(第2の情報処理装置)は、その制御情報により指定される復号開始サンプルから復号を開始してもよい。例えば、第2の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサンプルを指定する制御情報を含んでもよい。そして、ランダムアクセス再生制御部が、その制御情報により指定されたサンプルからメッシュデータの復号を開始させてもよい。
 つまり、このようにすることにより、インターメッシュサンプル(図8の例の場合、POC2のサンプル)もsync sample(すなわちRAP)とすることができる。したがって、第1の情報処理装置および第2の情報処理装置は、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。例えば、第1の情報処理装置および第2の情報処理装置は、符号化効率の低減を抑制しながら、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)の視聴体験品質の低減を抑制することができる。特にこの方法1-1の場合、現在サンプル(図8の例の場合、POC4のサンプル)からの正常な表示を実現することができる。つまり、画像の完全性を優先させることができる。
 なお、このランダムアクセスメタデータに含まれる「復号を開始するサンプルを指定する制御情報」は、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、この制御情報が、現在サンプルとのPOCの差分値により、復号を開始するサンプルを指定してもよい。
 例えば、図7に示されるように、MeshRollRecoveryEntryにおいて、パラメータ「roll_distance」が定義されてもよい。このパラメータ「roll_distance」は、現在サンプルと指定サンプルのPOCの差分値を示す。ここで、現在サンプルは、このランダムアクセスメタデータに対応する処理対象のサンプルを示す。また、指定サンプルは、この制御情報が指定するサンプルを示す。方法1-1の場合、指定サンプルは、復号開始サンプルを示す。
 なお、この差分値(現在サンプルと復号開始サンプルとの間のPOCの差分値)は、正負の符号付きの値であってもよいし、絶対値であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、上述した「復号を開始するサンプルを指定する制御情報」の「現在サンプルとのPOCの差分値」が、正負の符号付きの値であってもよいし、絶対値であってもよい。なお、正負の符号付きの値で示される場合、この差分値は負の値で示される。また、この差分値が絶対値で示される場合、指定サンプルが現在サンプルよりも前方(POCが小さい方)のサンプルであることが前提として制御される。
  <方法1-2>
 方法1が適用される場合に、例えば、図5の表の上から3段目に示されるように、正常に復号されるサンプルを指定する制御情報を含むランダムアクセスメタデータをファイルに格納してもよい(方法1-2)。本明細書において、この「正常に復号されるサンプル」を正常復号サンプルとも称する。
 例えば、第1の情報処理装置において、ランダムアクセスメタデータが、正常に復号されるサンプルを指定する制御情報を含んでもよい。
 例えば、図9に示されるようにPOC4のサンプルに対応するランダムアクセスメタデータとして、そのPOC4のサンプルから復号を開始した場合に正常に復号される正常復号サンプルを指定する制御情報が含まれていてもよい。図9の例の場合、submesh#1については、POC4のサブサンプルがイントラメッシュサブサンプルである。また、submesh#2のPOC4の後方(POCが大きい方)については、POC6のサブサンプルがPOC4に最も近いイントラメッシュサブサンプルである。したがって、POC4のサンプルから復号を開始した場合、POC6のサンプルから正常に復号することができる。つまり、POC6のサンプルから全てのサブサンプルを正常に復号することができる。このようなPOC6のサンプルを正常復号サンプルとして指定する制御情報(‘roll’ positive distance)がPOC4のサンプルに対応するランダムアクセスメタデータに含まれてもよい。
 この場合、再生装置(第2の情報処理装置)は、現在サンプルから復号を開始してもよい。例えば、第2の情報処理装置において、ランダムアクセスメタデータが、正常に復号されるサンプルを指定する制御情報を含んでもよい。そして、ランダムアクセス再生制御部が、現在サンプルからメッシュデータの復号を開始させてもよい。
 つまり、このようにすることにより、インターメッシュサンプル(図9の例の場合、POC4のサンプル)もsync sample(すなわちRAP)とすることができる。したがって、第1の情報処理装置および第2の情報処理装置は、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。例えば、第1の情報処理装置および第2の情報処理装置は、符号化効率の低減を抑制しながら、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)の視聴体験品質の低減を抑制することができる。特にこの方法1-2の場合、現在サンプル(図8の例の場合、POC4のサンプル)から復号および表示を開始することができる。正常復号サンプル(図9の例の場合、POC6のサンプル)まで正常な復号・表示を行うことはできないが、現在サンプルよりも前方から復号を行う必要が無いので、より高速に復号や表示を開始することができる。つまり、低遅延性を優先させることができる。
 なお、このランダムアクセスメタデータに含まれる「正常に復号されるサンプルを指定する制御情報」は、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、この制御情報が、現在サンプルとのPOCの差分値により、正常に復号されるサンプルを指定してもよい。
 例えば、図7に示されるように、MeshRollRecoveryEntryにおいて、パラメータ「roll_distance」が定義されてもよい。このパラメータ「roll_distance」は、現在サンプルと指定サンプルのPOCの差分値を示す。方法1-2の場合、指定サンプルは、正常復号サンプルを示す。
 なお、この差分値(現在サンプルと正常復号サンプルとの間のPOCの差分値)は、正負の符号付きの値であってもよいし、絶対値であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、上述した「正常に復号されるサンプルを指定する制御情報」の「現在サンプルとのPOCの差分値」が、正負の符号付きの値であってもよいし、絶対値であってもよい。なお、正負の符号付きの値で示される場合、この差分値は正の値で示される。また、この差分値が絶対値で示される場合、指定サンプルが現在サンプルよりも後方(POCが大きい方)のサンプルであることが前提として制御される。
  <方法1-3>
 方法1が適用される場合に、例えば、図5の表の上から4段目に示されるように、復号を開始するサンプルを指定する制御情報、および、正常に復号されるサンプルを指定する制御情報を含むランダムアクセスメタデータをファイルに格納してもよい(方法1-3)。
 例えば、第1の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサンプルを指定する第1の制御情報、および、正常に復号されるサンプルを指定する第2の制御情報を含んでもよい。
 例えば、図10に示されるようにPOC4のサンプルに対応するランダムアクセスメタデータとして、そのPOC4のサンプルを正常に復号するための復号開始サンプルを指定する制御情報と、そのPOC4のサンプルから復号を開始した場合に正常に復号される正常復号サンプルを指定する制御情報との両方が含まれていてもよい。図10の例の場合、POC2のサンプルを復号開始サンプルとして指定する制御情報(‘roll’ negative distance)と、POC6のサンプルを正常復号サンプルとして指定する制御情報(‘roll’ positive distance)とが、POC4のサンプルに対応するランダムアクセスメタデータに含まれている。
 この場合、再生装置(第2の情報処理装置)は、その制御情報により指定される復号開始サンプルから復号を開始するか、現在サンプルから復号を開始するかを選択してもよい。例えば、第2の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサンプルを指定する第1の制御情報、および、正常に復号されるサンプルを指定する第2の制御情報を含んでもよい。そして、ランダムアクセス再生制御部が、第1の制御情報に基づいてランダムアクセスを制御するか、第2の制御情報に基づいてランダムアクセスを制御するかを選択してもよい。
 なお、この選択は、例えば、再生装置(第2の情報処理装置)自身の動作モード、負荷状況、ランダムアクセスメタデータ等、任意の情報に応じて行われてもよい。例えば、再生装置(第2の情報処理装置)は、ユーザやアプリケーション等により指定された制御情報を用いてランダムアクセスを制御してもよい。また、再生装置(第2の情報処理装置)は、現在の負荷が所定の基準より大きい場合、低遅延性を優先し、そうでない場合、画像の完全性を優先してもよい。また、再生装置(第2の情報処理装置)は、正常復号サンプルの方が復号開始サンプルよりも現在サンプルに近い場合、第2の制御情報に基づいてランダムアクセスを制御し、そうでない場合、第1の制御情報に基づいてランダムアクセスを制御してもよい。もちろん、その他の選択方法でもよい。
 つまり、このようにすることにより、インターメッシュサンプル(図10の例の場合、POC2のサンプルまたはPOC4のサンプル)もsync sample(すなわちRAP)とすることができる。したがって、第1の情報処理装置および第2の情報処理装置は、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。例えば、第1の情報処理装置および第2の情報処理装置は、符号化効率の低減を抑制しながら、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)の視聴体験品質の低減を抑制することができる。特にこの方法1-3の場合、現在サンプル(図10の例の場合、POC4のサンプル)からの正常な復号・表示を実現することもできるし、正常復号サンプル(図10の例の場合、POC6のサンプル)からの正常な復号・表示を実現することもできる。つまり、画像の完全性を優先させることもできるし、低遅延性を優先させることもできる。状況に応じて、より適切な制御方法を選択することもできる。
 なお、このランダムアクセスメタデータに含まれる第1の制御情報および第2の制御情報は、それぞれ、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、ランダムアクセスメタデータに含まれる第1の制御情報が、現在サンプルとのPOC(Picture Order Count)の差分値により、復号を開始するサンプルを指定してもよい。また、ランダムアクセスメタデータに含まれる第2の制御情報が、現在サンプルとのPOCの差分値により、正常に復号されるサンプルを指定してもよい。
 例えば、図11に示されるように、MeshRollRecoveryEntryにおいて、パラメータ「negative_roll_distance」および「positive_roll_distance」が定義されてもよい。このパラメータ「negative_roll_distance」は、このサンプルグループに属するサンプルを正しく復号するために予め復号が必要な現在サンプル以前のサンプル数を示す。つまり、パラメータ「negative_roll_distance」は、現在サンプルと復号開始サンプルとの間のPOCの差分値を示す。また、パラメータ「positive_roll_distance」は、このサンプルグループに属するサンプルから復号を開始した場合にサンプルの復号を正しく完了するまでに必要な現在サンプル以降のサンプル数を示す。つまり、パラメータ「positive_roll_distance」は、現在サンプルと正常復号サンプルとの間のPOCの差分値を示す。
 なお、これらの差分値(現在サンプルと復号開始サンプルとの間のPOCの差分値、および、現在サンプルと正常復号サンプルとの間のPOCの差分値)は、正負の符号付きの値であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、上述した第1の制御情報および第2の制御情報の「現在サンプルとのPOCの差分値」が、正負の符号付きの値であってもよい。なお、その場合、第1の制御情報における差分値(現在サンプルと復号開始サンプルとの間のPOCの差分値)は負の値で示され、第2の制御情報における差分値(現在サンプルと正常復号サンプルとの間のPOCの差分値)は正の値で示される。もちろん、これらの差分値が絶対値で示されてもよい。その場合、第1の制御情報に対応する指定サンプルは現在サンプルよりも前方(POCが小さい方)のサンプルであり、第2の制御情報に対応する指定サンプルは現在サンプルよりも後方(POCが大きい方)のサンプルであることが前提として制御される。
  <方法1-4>
 方法1が適用される場合に、例えば、図5の表の上から5段目に示されるように、サブメッシュをサブサンプルとし、サブサンプル毎のランダムアクセスメタデータをファイルに格納してもよい(方法1-4)。つまり、コンテンツファイルが、サンプル内において、サブメッシュ毎のビットストリームをサブサンプルとして管理してもよい。そして、ランダムアクセスメタデータが、そのサブサンプルに対して設定されてもよい。
 例えば、第1の情報処理装置において、コンテンツファイルが、メッシュデータのサブメッシュをサブサンプルとして管理してもよい。ランダムアクセスメタデータ生成部が、サブサンプルに対応するランダムアクセスメタデータを生成してもよい。格納部が、サブサンプルに対応するランダムアクセスメタデータをコンテンツファイルに格納してもよい。
 再生の際は、このようなコンテンツファイルに格納されるビットストリームをサブサンプル毎に独立に復号してもよい。例えば、第2の情報処理装置において、コンテンツファイルが、メッシュデータのサブメッシュをサブサンプルとして管理し、サブサンプルに対応するランダムアクセスメタデータを格納してもよい。そして、ランダムアクセス再生制御部が、サブサンプルに対応するランダムアクセスメタデータに基づいて、サブサンプルに対するランダムアクセスを制御してもよい。さらに、再生処理部が、そのランダムアクセスにより、サブサンプル毎にメッシュデータの再生を開始してもよい。
 このようにすることにより、第2の情報処理装置は、容易に(ビットストリームのパースを必要とせずに)、サブサンプル毎にランダムアクセス再生を制御することができる。換言するに、第1の情報処理装置は、容易に(ビットストリームのパースを必要とせずに)、サブサンプル毎にランダムアクセス再生の制御が可能なコンテンツファイルを生成することができる。また、サブサンプル毎にランダムアクセスを制御することにより、サンプル毎にランダムアクセス再生を制御する場合よりも、不要なサブサンプルの復号をより低減させることができ、復号処理の負荷の増大を抑制することができる。また、より多様なサンプルにランダムアクセスすることができる。すなわち、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。
 このサブサンプルに対応するランダムアクセスメタデータは、コンテンツファイルのどこにどのように格納されてもよい。例えば、このランダムアクセスメタデータが、コンテンツファイルのサブサンプルインフォメーションボックス(SubSampleInformationBox)に格納されてもよい。例えば、このランダムアクセスメタデータが、コンテンツファイルのサブサンプルインフォメーションボックスに、コーデックスピシフィックパラメータ(codec_specific_parameters)として格納されてもよい。例えば、第1の情報処理装置において、格納部が、ランダムアクセスメタデータをコンテンツファイルの、サブサンプルインフォメーションボックスに格納してもよい。また、第2の情報処理装置において、コンテンツファイルが、ランダムアクセスメタデータをサブサンプルインフォメーションボックスに格納されていてもよい。つまり、第2の情報処理装置が、ランダムアクセス再生の際に、コンテンツファイルのサブサンプルインフォメーションボックスに格納されるランダムアクセスメタデータを参照してもよい。
  <方法1-4-1>
 方法1-4が適用される場合に、例えば、図5の表の上から6段目に示されるように、サブサンプル毎のランダムアクセスメタデータとして、サブメッシュの符号化タイプ情報(submesh_coding_type)をファイルに格納してもよい(方法1-4-1)。
 例えば、第1の情報処理装置および第2の情報処理装置において、ランダムアクセスメタデータが、サブサンプルに対応するサブメッシュの符号化タイプを示す情報を含んでもよい。また、第2の情報処理装置において、ランダムアクセス再生制御部が、その符号化タイプに基づいて、サブサンプルに対するランダムアクセスを制御してもよい。
 サブメッシュ(サブサンプル)の符号化タイプには、例えば、イントラ符号化(I)、インター符号化(P)、符号化のスキップ(S)等が含まれてもよい。例えば、図12に示されるように、各サブサンプルに対して、そのサブサンプルに対応するサブメッシュの符号化タイプがランダムアクセスメタデータとして示されてもよい。図12において、各サブサンプルに付された「I」、「P」、または「S」は、ランダムアクセスメタデータとして示された、そのサブサンプルに対応するサブメッシュの符号化タイプを示している。
 このようにランダムアクセスメタデータを参照することにより各サブサンプルに対応するサブメッシュの符号化タイプが分かるので、その符号化タイプに応じてランダムアクセス再生を制御してもよい。
 この図12の例において、例えばPOC4のサンプルを現在サンプルとする。ランダムアクセスメタデータにより、submesh#1については、処理対象である現在サブサンプル(すなわち、POC4のサブサンプル)の符号化タイプが「I(イントラ符号化)」であることが分かる。また、submesh#2については、現在サブサンプルの符号化タイプが「P(インター符号化)」であることが分かる。また、POC2のサブサンプルが、POC4以前の、POC4に最も近い、符号化タイプが「I(イントラ符号化)」のサブサンプルであることが分かる。同様に、POC6のサブサンプルが、POC4以降の、POC4に最も近い、符号化タイプが「I(イントラ符号化)」のサブサンプルであることが分かる。
 つまり、画像の完全性を優先させるのであれば、再生装置は、submesh#1については、現在サブサンプル(POC4のサブサンプル)から復号を開始し、submesh#2については、POC2のサブサンプルから復号を開始すればよい。このように制御することにより、現在サンプルを正常に復号・表示することができる。また、例えば、submesh#1に対応するPOC0およびPOC3のサブサンプルや、submesh#2に対応するPOC0のサブサンプルのような、符号化タイプが「I(イントラ符号化)」の不要なサブサンプルの復号を省略することができる。また、例えば、submesh#1に対応するPOC2のサブサンプルや、submesh#2に対応するPOC1のサブサンプルのような、参照先のサブサンプル(符号化タイプが「I(イントラ符号化)」のサブサンプル)が復号されていない符号化タイプが「P(インター符号化)」のサブサンプルの復号を省略することができる。また、例えば、submesh#1に対応するPOC1のサブサンプルや、submesh#2に対応するPOC3のサブサンプルのような、符号化タイプが「S(符号化のスキップ)」のサブサンプルの復号を省略することができる。したがって、復号処理の負荷の増大を抑制することができる。さらに、このような制御をランダムアクセスメタデータに基づいて行うことができる。すなわち、このような制御をビットストリームのパースを必要とせずに容易に実現することができる。
 これに対して、低遅延性を優先させるのであれば、再生装置は、現在サンプルから復号を開始すればよい。この場合、submesh#1については、POC4のサブサンプルから正常に復号することができる。また、submesh#2については、POC6のサブサンプルから正常に復号することができる。なお、この場合、例えば、submesh#2に対応するPOC4およびPOC5のサブサンプルのような、参照先のサブサンプル(符号化タイプが「I(イントラ符号化)」のサブサンプル)が復号されていない符号化タイプが「P(インター符号化)」のサブサンプルの復号を省略することができる。また、符号化タイプが「S(符号化のスキップ)」のサブサンプルの復号を省略することができる。したがって、復号処理の負荷の増大を抑制することができる。さらに、このような制御をランダムアクセスメタデータに基づいて行うことができる。すなわち、このような制御をビットストリームのパースを必要とせずに容易に実現することができる。
 なお、この場合のランダムアクセスメタデータは、どのような仕様であってもよい。例えば、図13に示されるように、サブサンプルインフォメーションボックスにおいてコーデックスピシフィックパラメータとして「submesh_coding_type」が定義されてもよい。この「submesh_coding_type」は、サブメッシュの符号化タイプを示すパラメータである。例えば、submesh_coding_type=0の場合、そのサブメッシュの符号化タイプが「P(インター符号化)」であることを示してもよい。また、submesh_coding_type=1の場合、そのサブメッシュの符号化タイプが「I(イントラ符号化)」であることを示してもよい。また、submesh_coding_type=2の場合、そのサブメッシュの符号化タイプが「S(符号化のスキップ)」であることを示してもよい。もちろん、この値は、一例であり、この例に限定されない。また、このパラメータにより示される符号化タイプも任意であり、この例に限定されない。
  <方法1-4-2>
 方法1-4が適用される場合に、例えば、図5の表の上から7段目に示されるように、復号を開始するサブサンプルを指定する制御情報を含むランダムアクセスメタデータをファイルに格納してもよい(方法1-4-2)。つまり、方法1-1の制御をサブサンプル毎に行ってもよい。本明細書において、この「復号を開始するサブサンプル」を復号開始サブサンプルとも称する。
 例えば、第1の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサブサンプルを指定する制御情報を含んでもよい。この場合、再生装置(第2の情報処理装置)は、その制御情報により指定される復号開始サンプルから復号を開始してもよい。例えば、第2の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサブサンプルを指定する制御情報を含んでもよい。そして、ランダムアクセス再生制御部が、その制御情報により指定されたサブサンプルからメッシュデータの復号を開始させてもよい。
 なお、このランダムアクセスメタデータに含まれる「復号を開始するサブサンプルを指定する制御情報」は、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、この制御情報が、現在サブサンプルとのPOCの差分値により、復号を開始するサブサンプルを指定してもよい。
 なお、この差分値(現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値)は、正負の符号付きの値であってもよいし、絶対値であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、上述した「復号を開始するサブサンプルを指定する制御情報」の「現在サブサンプルとのPOCの差分値」が、正負の符号付きの値であってもよいし、絶対値であってもよい。なお、正負の符号付きの値で示される場合、この差分値は負の値で示される。また、この差分値が絶対値で示される場合、復号開始サブサンプルが現在サブサンプルよりも前方(POCが小さい方)のサブサンプルであることが前提として制御される。
 例えば、図14に示されるように各サブサンプルに対応するランダムアクセスメタデータとして、そのサブサンプルを正常に復号するための復号開始サブサンプルを指定する制御情報が含まれていてもよい。図14において各サブサンプルの左側に付された四角内の数字は、「現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値(絶対値)」を示す。例えば、POC5のsubmesh#1に対応するサブサンプルには、この差分値(絶対値)として「1」が付されている。つまり、POC4のsubmesh#1に対応するサブサンプルが復号開始サブサンプルとして指定されている。また、POC5のsubmesh#2に対応するサブサンプルには、この差分値(絶対値)として「3」が付されている。つまり、POC2のsubmesh#2に対応するサブサンプルが復号開始サブサンプルとして指定されている。したがって、この場合、submesh#1についてはPOC4のサブサンプルから復号を開始し、submesh#2についてはPOC2のサブサンプルから復号を開始することにより、POC5のサンプルを正常に復号することができる。他のサンプルについても同様に、ランダムアクセスメタデータとして、そのサブサンプルを正常に復号するための復号開始サブサンプルが指定されている。
 なお、図14の例の場合、POC5のsubmesh#1に対応するサブサンプルを正常に復号するための復号開始サブサンプルとしてPOC4のサブサンプルがPOC5に最も近い。同様に、POC5のsubmesh#2に対応するサブサンプルを正常に復号するための復号開始サブサンプルとしてPOC2のサブサンプルがPOC5に最も近い。このように、条件を満たす復号開始サブサンプル(すなわち、ランダムアクセスメタデータに対応するサブサンプルを正常に復号するための復号開始サブサンプル)の内、そのランダムアクセスメタデータに対応するサブサンプルに最も近いサブサンプルを指定する制御情報がそのランダムアクセスメタデータに含まれてもよい。
 このランダムアクセスメタデータは、例えば、図15に示されるように、サブサンプルインフォメーションボックスに格納されてもよい。例えば、そのサブサンプルインフォメーションボックスにおいてコーデックスピシフィックパラメータとして設定されてもよい。例えば、ランダムアクセスメタデータが、サブサンプルインフォメーションボックスにおいて定義されるコーデックスピシフィックパラメータ「negative_roll_distance」が定義されてもよい。このパラメータ「negative_roll_distance」は、このサブサンプルを正しく復号するために予め復号が必要なサブサンプルを含む、現在サブサンプル以前のサンプルに含まれるサブサンプル数を示す。つまり、パラメータ「negative_roll_distance」は、現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値を示す。
 このようにランダムアクセスを制御することにより、第1の情報処理装置および第2の情報処理装置は、方法1-1を適用する場合と同様の効果を得ることができる。また、サブサンプル毎にランダムアクセスを制御することにより、サンプル毎にランダムアクセス再生を制御する場合よりも、不要なサブサンプルの復号をより低減させることができる。例えば、符号化タイプが「I(イントラ符号化)」の不要なサブサンプルの復号を省略したり、参照先のサブサンプル(符号化タイプが「I(イントラ符号化)」のサブサンプル)が復号されていない符号化タイプが「P(インター符号化)」のサブサンプルの復号を省略したりすることができる。したがって、復号処理の負荷の増大を抑制することができる。さらに、このような制御をランダムアクセスメタデータに基づいて行うことができる。すなわち、このような制御をビットストリームのパースを必要とせずに容易に実現することができる。
  <方法1-4-3>
 方法1-4が適用される場合に、例えば、図5の表の上から8段目に示されるように、正常に復号されるサブサンプルを指定する制御情報を含むランダムアクセスメタデータをファイルに格納してもよい(方法1-4-3)。つまり、方法1-2の制御をサブサンプル毎に行ってもよい。本明細書において、この「正常に復号されるサブサンプル」を正常復号サブサンプルとも称する。
 例えば、第1の情報処理装置において、ランダムアクセスメタデータが、正常に復号されるサブサンプルを指定する制御情報を含んでもよい。この場合、再生装置(第2の情報処理装置)は、現在サブサンプルから復号を開始してもよい。例えば、第2の情報処理装置において、ランダムアクセスメタデータが、正常に復号されるサブサンプルを指定する制御情報を含んでもよい。そして、ランダムアクセス再生制御部が、現在サブサンプルからメッシュデータの復号を開始させてもよい。
 なお、このランダムアクセスメタデータに含まれる「正常に復号されるサブサンプルを指定する制御情報」は、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、この制御情報が、現在サブサンプルとのPOC(Picture Order Count)の差分値により、正常に復号されるサブサンプルを指定してもよい。
 なお、この差分値(現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値)は、正負の符号付きの値であってもよいし、絶対値であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、上述した「正常に復号されるサブサンプルを指定する制御情報」の「現在サブサンプルとのPOCの差分値」が、正負の符号付きの値であってもよいし、絶対値であってもよい。なお、正負の符号付きの値で示される場合、この差分値は正の値で示される。また、この差分値が絶対値で示される場合、正常復号サブサンプルが現在サブサンプルよりも後方(POCが大きい方)のサブサンプルであることが前提として制御される。
 例えば、図16に示されるように各サブサンプルに対応するランダムアクセスメタデータとして、そのサブサンプルから復号を開始した場合に正常に復号されるサブサンプルを指定する制御情報が含まれていてもよい。図16において各サブサンプルの左側に付された四角内の数字は、「現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値(絶対値)」を示す。例えば、POC5のsubmesh#1に対応するサブサンプルには、この差分値(絶対値)として「2」が付されている。つまり、POC7のsubmesh#1に対応するサブサンプルが正常復号サブサンプルとして指定されている。また、POC5のsubmesh#2に対応するサブサンプルには、この差分値(絶対値)として「1」が付されている。つまり、POC6のsubmesh#2に対応するサブサンプルが正常復号サンプルとして指定されている。したがって、この場合、POC5のサンプルから復号を開始することにより、submesh#1についてはPOC7のサブサンプルから正常に復号することができ、submesh#2についてはPOC6のサブサンプルから正常に復号することができる。他のサンプルについても同様に、ランダムアクセスメタデータとして、そのサブサンプルから復号を開始した場合の正常復号サブサンプルが指定されている。
 このランダムアクセスメタデータは、例えば、図17に示されるように、サブサンプルインフォメーションボックスに格納されてもよい。例えば、そのサブサンプルインフォメーションボックスにおいてコーデックスピシフィックパラメータとして設定されてもよい。例えば、ランダムアクセスメタデータが、サブサンプルインフォメーションボックスにおいて定義されるコーデックスピシフィックパラメータ「positive_roll_distance」を含んでもよい。パラメータ「positive_roll_distance」は、このサブサンプルから復号を開始した場合にサブサンプルの復号を正しく完了するまでに必要なサブサンプルを含む、現在サンプル以降のサンプルに含まれるサブサンプル数を示す。つまり、パラメータ「positive_roll_distance」は、現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値を示す。
 このようにランダムアクセスを制御することにより、第1の情報処理装置および第2の情報処理装置は、方法1-2を適用する場合と同様の効果を得ることができる。また、サブサンプル毎にランダムアクセスを制御することにより、サンプル毎にランダムアクセス再生を制御する場合よりも、不要なサブサンプルの復号をより低減させることができる。例えば、符号化タイプが「I(イントラ符号化)」の不要なサブサンプルの復号を省略したり、参照先のサブサンプル(符号化タイプが「I(イントラ符号化)」のサブサンプル)が復号されていない符号化タイプが「P(インター符号化)」のサブサンプルの復号を省略したりすることができる。したがって、復号処理の負荷の増大を抑制することができる。さらに、このような制御をランダムアクセスメタデータに基づいて行うことができる。すなわち、このような制御をビットストリームのパースを必要とせずに容易に実現することができる。
  <方法1-4-4>
 方法1-4が適用される場合に、例えば、図5の表の最下段に示されるように、復号を開始するサブサンプルを指定する制御情報、および、正常に復号されるサブサンプルを指定する制御情報を含むランダムアクセスメタデータをファイルに格納してもよい(方法1-4-4)。つまり、方法1-3の制御をサブサンプル毎に行ってもよい。
 例えば、第1の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサブサンプルを指定する第1の制御情報、および、正常に復号されるサブサンプルを指定する第2の制御情報を含んでもよい。この場合、再生装置(第2の情報処理装置)は、そのランダムアクセスメタデータにより指定される復号開始サブサンプルから復号を開始するか、現在サブサンプルから復号を開始するかを選択してもよい。例えば、第2の情報処理装置において、ランダムアクセスメタデータが、復号を開始するサンプルを指定する第1の制御情報、および、正常に復号されるサンプルを指定する第2の制御情報を含んでもよい。そして、ランダムアクセス再生制御部が、第1の制御情報に基づいてランダムアクセスを制御するか、第2の制御情報に基づいてランダムアクセスを制御するかを選択してもよい。
 なお、この選択は、例えば、再生装置(第2の情報処理装置)自身の動作モード、負荷状況、ランダムアクセスメタデータ等、任意の情報に応じて行われてもよい。例えば、再生装置(第2の情報処理装置)は、ユーザやアプリケーション等により指定された制御情報を用いてランダムアクセスを制御してもよい。また、再生装置(第2の情報処理装置)は、現在の負荷が所定の基準より大きい場合、低遅延性を優先し、そうでない場合、画像の完全性を優先してもよい。また、再生装置(第2の情報処理装置)は、正常復号サブサンプルの方が復号開始サブサンプルよりも現在サブサンプルに近い場合、第2の制御情報に基づいてランダムアクセスを制御し、そうでない場合、第1の制御情報に基づいてランダムアクセスを制御してもよい。もちろん、その他の選択方法でもよい。
 なお、このランダムアクセスメタデータに含まれる第1の制御情報および第2の制御情報は、それぞれ、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、ランダムアクセスメタデータに含まれる第1の制御情報が、現在サブサンプルとのPOCの差分値により、復号を開始するサブサンプルを指定してもよい。また、ランダムアクセスメタデータに含まれる第2の制御情報が、現在サブサンプルとのPOCの差分値により、正常に復号されるサブサンプルを指定してもよい。
 なお、これらの差分値(現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値、および、現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値)は、正負の符号付きの値であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、上述した第1の制御情報および第2の制御情報の「現在サブサンプルとのPOCの差分値」が、正負の符号付きの値であってもよい。なお、その場合、第1の制御情報における差分値(現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値)は負の値で示され、第2の制御情報における差分値(現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値)は正の値で示される。もちろん、これらの差分値が絶対値で示されてもよい。その場合、第1の制御情報に対応する復号開始サブサンプルは現在サブサンプルよりも前方(POCが小さい方)のサブサンプルであり、第2の制御情報に対応する正常復号サブサンプルは現在サブサンプルよりも後方(POCが大きい方)のサブサンプルであることが前提として制御される。
 例えば、図18に示されるように各サブサンプルに対応するランダムアクセスメタデータとして、そのサブサンプルを正常に復号するための復号開始サブサンプルを指定する第1の制御情報と、そのサブサンプルから復号を開始した場合に正常に復号されるサブサンプルを指定する第2の制御情報とが含まれていてもよい。図18において各サブサンプルの左側に付された四角内の数字は、「現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値(絶対値)/現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値(絶対値)」を示す。
 例えば、POC5のsubmesh#1に対応するサブサンプルには、現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値として「1」が付されており、現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値として「2」が付されている。つまり、POC4のsubmesh#1に対応するサブサンプルが復号開始サブサンプルとして指定されるとともに、POC7のsubmesh#1に対応するサブサンプルが正常復号サブサンプルとして指定されている。
 また、POC5のsubmesh#2に対応するサブサンプルには、現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値として「3」が付されており、現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値として「1」が付されている。つまり、POC2のsubmesh#2に対応するサブサンプルが復号開始サブサンプルとして指定されるとともに、POC6のsubmesh#2に対応するサブサンプルが正常復号サブサンプルとして指定されている。
 したがって、この場合、submesh#1についてはPOC4のサブサンプルから復号を開始し、submesh#2についてはPOC2のサブサンプルから復号を開始することにより、POC5のサンプルを正常に復号することができる。また、POC5のサンプルから復号を開始することにより、submesh#1についてはPOC7のサブサンプルから正常に復号することができ、submesh#2についてはPOC6のサブサンプルから正常に復号することができる。
 他のサンプルについても同様に、ランダムアクセスメタデータとして、そのサブサンプルを正常に復号するための復号開始サブサンプルと、そのサブサンプルから復号を開始した場合に正常に復号される正常復号サブサンプルとが指定されている。
 このランダムアクセスメタデータは、例えば、図19に示されるように、サブサンプルインフォメーションボックスに格納されてもよい。例えば、そのサブサンプルインフォメーションボックスにおいてコーデックスピシフィックパラメータとして設定されてもよい。例えば、ランダムアクセスメタデータが、サブサンプルインフォメーションボックスにおいて定義されるコーデックスピシフィックパラメータ「negative_roll_distance」および「positive_roll_distance」を含んでもよい。パラメータ「negative_roll_distance」は、このサブサンプルを正しく復号するために予め復号が必要なサブサンプルを含む、現在サブサンプル以前のサンプルに含まれるサブサンプル数を示す。つまり、パラメータ「negative_roll_distance」は、現在サブサンプルと復号開始サブサンプルとの間のPOCの差分値を示す。また、パラメータ「positive_roll_distance」は、このサブサンプルから復号を開始した場合にサブサンプルの復号を正しく完了するまでに必要なサブサンプルを含む、現在サンプル以降のサンプルに含まれるサブサンプル数を示す。つまり、パラメータ「positive_roll_distance」は、現在サブサンプルと正常復号サブサンプルとの間のPOCの差分値を示す。
 このようにランダムアクセスを制御することにより、第1の情報処理装置および第2の情報処理装置は、方法1-3を適用する場合と同様の効果を得ることができる。また、サブサンプル毎にランダムアクセスを制御することにより、サンプル毎にランダムアクセス再生を制御する場合よりも、不要なサブサンプルの復号をより低減させることができる。例えば、符号化タイプが「I(イントラ符号化)」の不要なサブサンプルの復号を省略したり、参照先のサブサンプル(符号化タイプが「I(イントラ符号化)」のサブサンプル)が復号されていない符号化タイプが「P(インター符号化)」のサブサンプルの復号を省略したりすることができる。したがって、復号処理の負荷の増大を抑制することができる。さらに、このような制御をランダムアクセスメタデータに基づいて行うことができる。すなわち、このような制御をビットストリームのパースを必要とせずに容易に実現することができる。
  <その他の適用例>
 本技術は、V-DMCに限定されず、任意の符号化方式に適用し得る。また、本技術は、ベースメッシュに限定されず、任意のメッシュデータに適用し得る。例えばG-PCC(Geometry-based Point Cloud Compression)のようにメッシュをデシメーション(単純化)せずに符号化する符号化方式によってオリジナルメッシュを符号化したビットストリームを格納するファイルコンテナに対して本技術を適用してもよい。なお、メッシュデータは、例えばポイントクラウド等のような、メッシュデータ以外の3Dデータを変換して生成されたものであってもよい。
 また、ビットストリームを格納するファイルコンテナは、ISOBMFFに準拠するものに限定されず、どのような仕様であってもよい。例えば、第1の情報処理装置および第2の情報処理装置において、コンテンツファイルは、マトリョーシカメディアコンテナ(Matroska Media Container)であってもよい。図20は、マトリョーシカメディアコンテナの主な構成例を示す図である。もちろん、その他の形式のファイルであってもよい。また、そのファイルコンテナのトラック構成はどのようなものであってもよい。例えば、複数のトラックを有するマルチトラックであってもよいし、1つのトラックからなるシングルトラックであってもよい。
  <組み合わせ>
 上述した各方法は、矛盾が生じない限り、任意の他の方法と組み合わせて適用してもよい。3以上の方法を組み合わせて適用してもよい。例えば、方法1-1から方法1-4までの内のいずれか2つ以上を組み合わせて適用してもよい。また、組み合わせ可能な手法は、「方法」として図5の表に示したものだけでなく、上述した全ての要素を含み得る。また、上述した各方法は、上述していないその他の方法と組み合わせて適用してもよい。
 なお、本明細書において、上位の方法について行った説明は、矛盾が生じない限り、その方法に属する下位の方法にも適用される。例えば、「方法1を適用してもよい」と説明した場合、方法1-1から方法1-4までのいずれか1以上の方法を適用してもよい。さらに、方法1-4-1から方法1-4-4までのいずれか1以上の方法を適用してもよい。
 <4.第1の実施の形態>
  <ファイル生成装置>
 上述した本技術は、任意の装置に適用し得る。図21は、本技術を適用した情報処理装置の一態様であるファイル生成装置の構成の一例を示すブロック図である。図21に示されるファイル生成装置300は、メッシュデータをV-DMCデータに変換して符号化し、例えばISOBMFF等のファイルコンテナに格納することにより、コンテンツファイルを生成する装置である。
 なお、図21においては、処理部やデータの流れ等の主なものを示しており、図21に示されるものが全てとは限らない。つまり、ファイル生成装置300において、図21においてブロックとして示されていない処理部が存在したり、図21において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図21に示されるようにファイル生成装置300は、V-DMCデータ生成部311、V-DMC符号化部312、コンテンツファイル生成部313、およびランダムアクセスメタデータ生成部314を有する。
 V-DMCデータ生成部311は、V-DMCデータの生成に関する処理を行う。例えば、V-DMCデータ生成部311は、ファイル生成装置300の外部から入力されるメッシュデータ(オリジナルメッシュ)を取得してもよい。このオリジナルメッシュには、ジオメトリ(頂点の位置や接続に関する情報等)だけでなくアトリビュート(例えばフェイスに適用されるテクスチャ)も含まれてもよい。
 V-DMCデータ生成部311は、そのオリジナルメッシュを変換し、V-DMCデータ(ベースメッシュ、変位ベクトル、アトリビュート(テクスチャ)、およびアトラス情報)を生成してもよい。したがって、V-DMCデータ生成部311は、変換部とも言える。例えば、V-DMCデータ生成部311は、オリジナルメッシュのジオメトリをデシメーションしてベースメッシュを生成してもよい。デシメーションとは、メッシュに対してその一部の頂点(および接続)を間引くことにより、フェイス数(ポリゴン数)を低減させる処理である。したがって、V-DMCデータ生成部311は、デシメーションを行うデシメーション部とも言える。また、V-DMCデータ生成部311は、そのベースメッシュを細分化することにより、そのベースメッシュに対応する変位ベクトルを生成してもよい。したがって、V-DMCデータ生成部311は、変位ベクトルを生成する変位ベクトル生成部とも言える。また、V-DMCデータ生成部311は、ベースメッシュ、変位ベクトル、およびアトリビュート(テクスチャ)に対応するアトラス情報を生成してもよい。したがって、V-DMCデータ生成部311は、アトラス情報を生成するアトラス情報生成部とも言える。V-DMCデータ生成部311は、生成したV-DMCデータをV-DMC符号化部312へ供給してもよい。したがって、V-DMCデータ生成部311は、V-DMCデータを供給するV-DMCデータ供給部とも言える。
 V-DMC符号化部312は、V-DMCデータの符号化に関する処理を実行する。例えば、V-DMC符号化部312は、V-DMCデータ生成部311から供給されるV-DMCデータを取得してもよい。また、V-DMC符号化部312は、その取得したV-DMCデータを符号化してもよい。つまり、V-DMC符号化部312は、V-DMCデータに含まれる、アトラス情報、ベースメッシュ、変位ベクトル、およびアトリビュートをそれぞれ符号化し、アトラス情報の符号化データ、ベースメッシュの符号化データ、変位ベクトルの符号化データ、およびアトリビュートの符号化データを生成してもよい。V-DMC符号化部312は、その生成したアトラス情報の符号化データ、ベースメッシュの符号化データ、変位ベクトルの符号化データ、およびアトリビュートの符号化データをそれぞれサブストリームとし、それらのサブストリームをまとめて(多重化し)、1本のV-DMCビットストリームを生成してもよい。したがって、V-DMC符号化部312は、V-DMCビットストリーム生成部とも言える。V-DMC符号化部312は、その生成したV-DMCビットストリームをコンテンツファイル生成部313へ供給してもよい。
 コンテンツファイル生成部313は、コンテンツファイルの生成に関する処理を実行する。例えば、コンテンツファイル生成部313は、V-DMC符号化部312から供給されるV-DMCビットストリームを取得してもよい。また、コンテンツファイル生成部313は、ビットストリームを格納するファイルコンテナであるコンテンツファイルを生成してもよい。このコンテンツファイルは、例えばISOBMFFに準拠するファイルであってもよい。コンテンツファイル生成部313は、取得したV-DMCビットストリームをそのコンテンツファイルに格納してもよい。したがって、コンテンツファイル生成部313は、V-DMCビットストリームをコンテンツファイルに格納する格納部とも言える。
 また、コンテンツファイル生成部313は、V-DMCビットストリームをランダムアクセスメタデータ生成部314へ供給してもよい。コンテンツファイル生成部313は、V-DMCビットストリームの代わりに、V-DMCビットストリームを格納したコンテンツファイルをランダムアクセスメタデータ生成部314へ供給してもよい。
 また、コンテンツファイル生成部313は、ランダムアクセスメタデータ生成部314から供給されるランダムアクセスメタデータを取得してもよい。コンテンツファイル生成部313は、取得したランダムアクセスメタデータを、そのランダムアクセスメタデータに対応するV-DMCビットストリームを格納するコンテンツファイルに格納してもよい。したがって、コンテンツファイル生成部313はランダムアクセスメタデータをコンテンツファイルに格納する格納部とも言える。
 コンテンツファイル生成部313は、生成したコンテンツファイルを、ファイル生成装置300の外部(例えば配信サーバや再生装置等)に出力してもよい。したがって、コンテンツファイル生成部313は、コンテンツファイルの供給部(提供部)とも言える。
 図22は、V-DMC符号化部312の主な構成例を示すブロック図である。なお、図22においては、処理部やデータの流れ等の主なものを示しており、図22に示されるものが全てとは限らない。つまり、V-DMC符号化部312において、図22においてブロックとして示されていない処理部が存在したり、図22において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図22に示されるように、V-DMC符号化部312は、アトラス情報符号化部351、ベースメッシュ符号化部352、変位ベクトル補正部353、変位ビデオ符号化部354、メッシュ再構成部355、アトリビュートマップ変換部356、アトリビュートビデオ符号化部357、および多重化部358を有する。
 アトラス情報符号化部351は、アトラス情報の符号化に関する処理を行う。例えば、アトラス情報符号化部351は、V-DMCデータ生成部311から供給されるアトラス情報を取得してもよい。また、アトラス情報符号化部351は、その取得したアトラス情報を所定の符号化方式で符号化し、アトラス情報の符号化データを生成してもよい。アトラス情報符号化部351は、その生成したアトラス情報の符号化データを多重化部358へ供給してもよい。
 ベースメッシュ符号化部352は、ベースメッシュの符号化に関する処理を行う。例えば、ベースメッシュ符号化部352は、V-DMCデータ生成部311から供給されるベースメッシュを取得してもよい。また、ベースメッシュ符号化部352は、その取得したベースメッシュを量子化し、所定の符号化方式(例えばDraco等)で符号化し、ベースメッシュの符号化データを生成してもよい。その際、ベースメッシュ符号化部352は、アトラス情報に従ってベースメッシュを符号化してもよい。ベースメッシュ符号化部352は、その生成したベースメッシュの符号化データを変位ベクトル補正部353へ供給してもよい。また、ベースメッシュ符号化部352は、その生成したベースメッシュの符号化データを多重化部358へ供給してもよい。
 変位ベクトル補正部353は、変位ベクトルの補正に関する処理を行う。例えば、変位ベクトル補正部353は、V-DMCデータ生成部311から供給されるベースメッシュおよび変位ベクトルを取得してもよい。また、変位ベクトル補正部353は、ベースメッシュ符号化部352から供給されるベースメッシュの符号化データを取得してもよい。変位ベクトル補正部353は、それらの情報に基づいて、変位ベクトルを補正してもよい。例えば、変位ベクトル補正部353は、取得したベースメッシュの符号化データを復号して逆量子化し、ベースメッシュを復元してもよい(復元ベースメッシュを生成してもよい)。変位ベクトル補正部353は、符号化前のベースメッシュと復元ベースメッシュをそれぞれ細分化してもよい。変位ベクトル補正部353は、細分化された符号化前のベースメッシュと細分化された復元ベースメッシュとを互いに比較して符号化歪を求めてもよい。変位ベクトル補正部353は、その符号化歪に合わせて変位ベクトルを補正してもよい。変位ベクトル補正部353は、補正後の変位ベクトルを変位ビデオ符号化部354へ供給してもよい。また、変位ベクトル補正部353は、細分化された復元ベースメッシュをメッシュ再構成部355へ供給してもよい。
 変位ビデオ符号化部354は、変位ビデオの符号化に関する処理を行う。変位ビデオは、変位ベクトルがパッキングされた2次元領域である変位マップをフレーム画像とする動画像である。例えば、変位ビデオ符号化部354は、変位ベクトル補正部353から供給される変位ベクトルを取得してもよい。また、変位ビデオ符号化部354は、その変位ベクトルをウェーブレット変換し、量子化し、2次元領域にパッキングすることにより変位マップを生成してもよい。また、変位ビデオ符号化部354は、その変位マップをフレーム画像とする変位ビデオを生成してもよい。また、変位ビデオ符号化部354は、その生成した変位ビデオを、所定の2D動画像用の符号化方式で符号化し、変位ビデオの符号化データを生成してもよい。変位ビデオ符号化部354は、その生成した変位ビデオの符号化データを多重化部358へ供給してもよい。また、変位ビデオ符号化部354は、その生成した変位ビデオの符号化データを復号し、変位ビデオを復元してもよい(復元変位ビデオを生成してもよい)。変位ビデオ符号化部354は、その復元変位ビデオから変位マップを抽出してもよい。変位ビデオ符号化部354は、その変位マップから変位ベクトルをアンパッキングしてもよい。変位ビデオ符号化部354は、その変位ベクトルを逆量子化してもよい。変位ビデオ符号化部354は、その逆量子化された変位ベクトルをメッシュ再構成部355へ供給してもよい。
 メッシュ再構成部355は、メッシュの再構成に関する処理を行う。例えば、メッシュ再構成部355は、変位ベクトル補正部353から供給されるベースメッシュ(細分化された復元ベースメッシュ)を取得してもよい。また、メッシュ再構成部355は、変位ビデオ符号化部354から供給される変位ベクトルを取得してもよい。メッシュ再構成部355は、それらを用いて復元メッシュを再構成してもよい。メッシュ再構成部355は、その復元メッシュをアトリビュートマップ変換部356へ供給してもよい。
 アトリビュートマップ変換部356は、アトリビュートマップの変換に関する処理を行う。例えば、アトリビュートマップ変換部356は、メッシュ再構成部355から供給される復元メッシュを取得してもよい。また、アトリビュートマップ変換部356は、V-DMCデータ生成部311から供給されるアトラス情報を取得してもよい。アトリビュートマップ変換部356は、ファイル生成装置300に入力されるオリジナルメッシュを取得してもよい。アトリビュートマップ変換部356は、V-DMCデータ生成部311から供給されるアトリビュートマップを取得してもよい。アトリビュートマップ変換部356は、その取得したアトリビュートマップを、取得したその他の情報に基づいて変換してもよい。例えば、アトリビュートマップ変換部356は、アトラス情報やオリジナルメッシュ等に基づいて、復元メッシュに対応するように、アトリビュートマップを変換してもよい。換言するに、アトリビュートマップ変換部356は、変換後のアトリビュートマップを生成するとも言える。したがって、アトリビュートマップ変換部356は、アトリビュートマップ生成部とも言える。アトリビュートマップ変換部356は、その変換後のアトリビュートマップをアトリビュートビデオ符号化部357へ供給してもよい。
 アトリビュートビデオ符号化部357は、アトリビュートビデオの符号化に関する処理を行う。例えば、アトリビュートビデオ符号化部357は、アトリビュートマップ変換部356から供給されるアトリビュートマップを取得してもよい。また、アトリビュートビデオ符号化部357は、その取得したアトリビュートマップをフレーム画像とするアトリビュートビデオを生成してもよい。また、アトリビュートビデオ符号化部357は、その生成したアトリビュートビデオを、所定の2D動画像用の符号化方式で符号化し、アトリビュートビデオの符号化データを生成してもよい。アトリビュートビデオ符号化部357は、その生成したアトリビュートビデオの符号化データを多重化部358へ供給してもよい。
 多重化部358は、符号化データ(サブストリーム)の多重化に関する処理を行う。例えば、多重化部358は、アトラス情報符号化部351から供給されるアトラス情報の符号化データを取得してもよい。また、多重化部358は、ベースメッシュ符号化部352から供給されるベースメッシュの符号化データを取得してもよい。また、多重化部358は、変位ビデオ符号化部354から供給される変位ビデオの符号化データを取得してもよい。また、多重化部358は、アトリビュートビデオ符号化部357から供給されるアトリビュートビデオの符号化データを取得してもよい。多重化部358は、それらの符号化データをサブストリームとして多重化し、V-DMCビットストリームを生成してもよい。したがって、多重化部358は、ビットストリーム生成部とも言える。多重化部358は、その生成したV-DMCビットストリームをコンテンツファイル生成部313へ供給してもよい。
 以上のような構成のファイル生成装置300を第1の情報処理装置とし、<3.ランダムアクセスメタデータの伝送と制御>において上述した各種方法(本技術)を適用してもよい。
 例えば、ファイル生成装置300(第1の情報処理装置)において、ランダムアクセスメタデータ生成部314が、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成し、コンテンツファイル生成部313が、メッシュデータを格納するコンテンツファイルにそのランダムアクセスメタデータを格納してもよい。
 このようにすることにより、ファイル生成装置300は、<3.ランダムアクセスメタデータの伝送と制御>において上述したのと同様の効果を得ることができる。つまり、ファイル生成装置300は、メッシュデータを符号化したビットストリームをファイルコンテナに格納する場合に、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。
  <ファイル生成処理の流れ>
 次に、このファイル生成装置300が実行するファイル生成処理の流れの例を、図23のフローチャートを参照して説明する。
 ファイル生成処理が開始されると、ファイル生成装置300のV-DMCデータ生成部311は、ステップS301において、メッシュデータをデシメーションする等して、V-DMCデータを生成する。
 ステップS302において、V-DMC符号化部312は、V-DMCデータ符号化処理を実行し、V-DMCデータを符号化してV-DMCビットストリームを生成する。
 ステップS303において、コンテンツファイル生成部313は、コンテンツファイルを生成し、V-DMCビットストリームをそのコンテンツファイルに格納する。
 ステップS304において、ランダムアクセスメタデータ生成部314は、メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成する。また、コンテンツファイル生成部313は、メッシュデータを格納するコンテンツファイルにそのランダムアクセスメタデータを格納する。
 ステップS304の処理が終了すると、ファイル生成処理が終了する。
  <V-DMC符号化処理の流れ>
 次に、図24のフローチャートを参照して、図23のステップS302において実行されるV-DMC符号化処理の流れの例を説明する。
 V-DMC符号化処理が開始されると、アトラス情報符号化部351は、ステップS321において、アトラス情報を符号化し、アトラス情報の符号化データを生成する。
 ステップS322において、ベースメッシュ符号化部352は、ベースメッシュを符号化し、ベースメッシュの符号化データを生成する。
 ステップS323において、変位ベクトル補正部353は、変位ベクトルを補正する。
 ステップS324において、変位ビデオ符号化部354は、補正した変位ベクトルがパッキングされた変位マップをフレーム画像とする変位ビデオを符号化し、変位ビデオの符号化データを生成する。
 ステップS325において、メッシュ再構成部355は、メッシュを再構成する(復元メッシュを生成する)。
 ステップS326において、アトリビュートマップ変換部356は、アトリビュートマップを変換する。
 ステップS327において、アトリビュートビデオ符号化部357は、そのアトリビュートマップをフレーム画像とするアトリビュートビデオを符号化し、アトリビュートビデオの符号化データを生成する。
 ステップS328において、多重化部358は、アトラス情報の符号化データ、ビットストリームの符号化データ、変位ビデオの符号化データ、およびアトリビュートビデオの符号化データをそれぞれサブストリームとして多重化し、V-DMCビットストリームを生成する。
 ステップS328の処理が終了すると、V-DMC符号化処理が終了し、処理は図23に戻る。
 以上のように各処理を実行することにより、ファイル生成装置300は、<3.ランダムアクセスメタデータの伝送と制御>において上述したのと同様の効果を得ることができる。つまり、ファイル生成装置300は、メッシュデータを符号化したビットストリームをファイルコンテナに格納する場合に、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。
 <5.第2の実施の形態>
  <再生装置>
 上述した本技術は、任意の装置に適用し得る。図25は、本技術を適用した情報処理装置の一態様である再生装置の構成の一例を示すブロック図である。図25に示される再生装置400は、メッシュデータ(V-DMCデータ)の再生処理を行う再生装置である。例えば、再生装置400は、ファイル生成装置300により生成されたコンテンツファイルを取得し、そのコンテンツファイルに格納されるV-DMCビットストリームを復号し、V-DMCデータを再生する。つまり、再生装置400は、V-DMCデータを用いてメッシュを再構成し、レンダリングして表示画像を生成し、その表示画像を表示する。
 なお、図25においては、処理部やデータの流れ等の主なものを示しており、図25に示されるものが全てとは限らない。つまり、再生装置400において、図25においてブロックとして示されていない処理部が存在したり、図25において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図25に示されるように再生装置400は、コンテンツファイル取得部411、再生処理部412、ランダムアクセス操作受付部421、およびランダムアクセス再生制御部422を有する。また、再生処理部412は、V-DMC復号部431、メッシュ再構成部432、および表示処理部433を有する。
 コンテンツファイル取得部411は、コンテンツファイルの取得に関する処理を行う。例えば、コンテンツファイル取得部411は、コンテンツファイルを取得してもよい。このコンテンツファイルは、例えばファイル生成装置300により本技術を適用して生成されたものであってもよい。また、コンテンツファイル取得部411は、その取得したコンテンツファイルから、そのコンテンツファイルに格納されるV-DMCビットストリームを抽出し、再生処理部412(のV-DMC復号部431)へ供給してもよい。その際、コンテンツファイル取得部411は、再生処理部412の制御に従ってV-DMCビットストリームを抽出し、供給してもよい。また、その際、コンテンツファイル取得部411は、(再生処理部412を介して)ランダムアクセス再生制御部422の制御に従って、コンテンツファイルに格納されるV-DMCビットストリームにランダムアクセスしてもよい。
 再生処理部412は、メッシュデータの再生に関する処理を実行する。例えば、再生処理部412は、コンテンツファイル取得部411を制御してコンテンツファイルからV-DMCビットストリームを抽出させ、取得してもよい。その際、再生処理部412は、ランダムアクセス再生制御部422の制御に従って、ランダムアクセスするように制御してもよい。また、再生処理部412は、取得したV-DMCビットストリームを復号し、メッシュを再構成し、レンダリングし、表示画像を表示してもよい。
 ランダムアクセス操作受付部421は、ランダムアクセス操作の受付に関する処理を行う。ランダムアクセス操作とは、コンテンツファイルに格納されるV-DMCビットストリームに対するランダムアクセスに関する操作(指示)のことを示す。例えば、ランダムアクセス操作には、トリック再生(例えば、飛び込み再生、早送り、巻き戻し等)に関する指示が含まれてもよい。例えば、ランダムアクセス操作受付部421は、ユーザ等により操作される入力デバイスを有し、その入力デバイスを介して入力される、ランダムアクセス操作を受け付けてもよい。また、ランダムアクセス操作受付部421は、アプリケーション等から供給される指示を受け付けるAPI(Application Program Interface)を有し、そのAPIを介して入力される、ランダムアクセス操作を受け付けてもよい。このアプリケーションはどのような処理を行うものであってもよい。ランダムアクセス操作受付部421は、受け付けたランダムアクセス操作をランダムアクセス再生制御部422へ供給してもよい。
 ランダムアクセス再生制御部422は、ランダムアクセス再生の制御に関する処理を行う。ランダムアクセス再生は、コンテンツファイルに格納されるV-DMCビットストリームの、ランダムアクセスを伴う再生処理のことを示す。このランダムアクセスを伴う再生処理には、例えばトリック再生(例えば、飛び込み再生、早送り、巻き戻し等)が含まれてもよい。例えば、ランダムアクセス再生制御部422は、再生処理部412を制御し、ランダムアクセス再生をさせてもよい。つまり、ランダムアクセス再生制御部422は、再生処理部412を制御し、コンテンツファイルに格納されるV-DMCビットストリームに対してランダムアクセスさせ、シーケンスの途中のサンプルから再生(飛び込み再生)を開始させてもよい。また、ランダムアクセス再生制御部422は、再生処理部412を制御し、このような再生手法を応用して早送りや巻き戻しを実行させてもよい。
 再生処理部412のV-DMC復号部431は、V-DMCビットストリームの復号に関する処理を実行する。例えば、V-DMC復号部431は、コンテンツファイル取得部411においてコンテンツファイルから抽出されたV-DMCビットストリームを取得してもよい。V-DMC復号部431は、そのV-DMCビットストリームを復号し、V-DMCデータを復元してもよい(復元V-DMCデータを生成してもよい)。V-DMC復号部431は、復元したV-DMCデータ(復元V-DMCデータ)をメッシュ再構成部432へ供給してもよい。
 メッシュ再構成部432は、メッシュ(3Dデータ)の再構成に関する処理を実行する。例えば、メッシュ再構成部432は、V-DMC復号部431から供給される復元V-DMCデータを取得してもよい。メッシュ再構成部432は、その復元V-DMCデータをメッシュデータに変換してもよい。メッシュ再構成部432は、そのメッシュデータを用いてメッシュ(復元メッシュ)を再構成してもよい。メッシュ再構成部432は、その復元メッシュ(3Dデータ)を表示処理部433へ供給してもよい。
 表示処理部433は、復元メッシュの表示に関する処理を実行する。例えば、表示処理部433は、メッシュ再構成部432から供給される復元メッシュ(3Dデータ)を取得してもよい。表示処理部433は、その復元メッシュをレンダリングし、復元メッシュを表示するための表示画像を生成してもよい。表示処理部433が、モニタ等の表示デバイスを有し、その表示デバイスを用いて表示画像を表示してもよい。したがって、表示処理部433は、表示部とも言える。また、表示処理部433が、表示画像を再生装置400の外部(例えば、記録媒体や他の表示デバイス等)に供給してもよい。したがって、表示処理部433は、出力部とも言える。
 図26は、V-DMC復号部431の主な構成例を示すブロック図である。なお、図26においては、処理部やデータの流れ等の主なものを示しており、図26に示されるものが全てとは限らない。つまり、V-DMC復号部431において、図26においてブロックとして示されていない処理部が存在したり、図26において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図26に示されるように、V-DMC復号部431は、逆多重化部451、アトラス情報復号部452、ベースメッシュ復号部453、ベースメッシュ再構成部454、細分化部455、変位ビデオ復号部456、アンパッキング部457、変位ベクトル適用部458、およびアトリビュートビデオ復号部459を有する。
 逆多重化部451は、逆多重化に関する処理を行う。例えば、逆多重化部451は、コンテンツファイル取得部411から供給されるV-DMCビットストリームを取得してもよい。また、逆多重化部451は、その取得したV-DMCビットストリームを逆多重化し、アトラス情報の符号化データ、ベースメッシュの符号化データ、変位ビデオの符号化データ、およびアトリビュートビデオの符号化データを抽出してもよい。したがって、逆多重化部451は、V-DMCビットストリームに含まれる各種情報の取得部とも言える。逆多重化部451は、その抽出したアトラス情報の符号化データをアトラス情報復号部452へ供給してもよい。また、逆多重化部451は、その抽出したベースメッシュの符号化データをベースメッシュ復号部453へ供給してもよい。また、逆多重化部451は、その抽出した変位ビデオの符号化データを変位ビデオ復号部456へ供給してもよい。また、逆多重化部451は、その抽出したアトリビュートビデオの符号化データをアトリビュートビデオ復号部459へ供給してもよい。
 アトラス情報復号部452は、アトラス情報の符号化データの復号に関する処理を行う。例えば、アトラス情報復号部452は、逆多重化部451から供給されるアトラス情報の符号化データを取得してもよい。また、アトラス情報復号部452は、その取得したアトラス情報の符号化データを復号し、アトラス情報を生成(復元)してもよい。アトラス情報復号部452は、そのアトラス情報をベースメッシュ復号部453や細分化部455へ供給してもよい。また、アトラス情報復号部452は、そのアトラス情報を復元V-DMCデータとしてメッシュ再構成部432へ供給してもよい。
 ベースメッシュ復号部453は、ベースメッシュの符号化データの復号に関する処理を行う。例えば、ベースメッシュ復号部453は、逆多重化部451から供給されたベースメッシュの符号化データを取得してもよい。また、ベースメッシュ復号部453は、その取得したベースメッシュの符号化データを所定の復号方式(例えば、Draco等)により復号し、ベースメッシュに関する情報(例えば頂点リストや三角形リスト等)を生成(復元)してもよい。例えば、ベースメッシュ復号部453は、アトラス情報復号部452から供給されるアトラス情報に従って、ベースメッシュの符号化データを復号してもよい。ベースメッシュ復号部453は、アトラス情報とベースメッシュに関する情報をベースメッシュ再構成部454へ供給してもよい。
 ベースメッシュ再構成部454は、ベースメッシュの再構成に関する処理を実行する。例えば、ベースメッシュ再構成部454は、ベースメッシュ復号部453から供給されるアトラス情報とベースメッシュに関する情報を取得してもよい。ベースメッシュ再構成部454は、その取得したアトラス情報とベースメッシュに関する情報を用いて、ベースメッシュを再構成してもよい(復元ベースメッシュを生成してもよい)。ベースメッシュ再構成部454は、そのベースメッシュ(復元ベースメッシュ)を細分化部455へ供給してもよい。
 細分化部455は、ベースメッシュ(復元ベースメッシュ)のトライアングルの細分化に関する処理を行う。例えば、細分化部455は、ベースメッシュ再構成部454から供給されるベースメッシュ(復元ベースメッシュ)を取得してもよい。また、細分化部455は、アトラス情報復号部452から供給されるアトラス情報を取得してもよい。細分化部455は、そのアトラス情報に基づいてベースメッシュ(復元ベースメッシュ)のトライアングルを細分化し、分割点を生成してもよい。細分化部455は、その細分化されたベースメッシュ(細分化された復元ベースメッシュ)を変位ベクトル適用部458へ供給してもよい。
 変位ビデオ復号部456は、変位ビデオの符号化データの復号に関する処理を実行する。例えば、変位ビデオ復号部456は、逆多重化部451から供給される変位ビデオの符号化データを取得してもよい。また、変位ビデオ復号部456は、その変位ビデオの符号化データを、所定の2D動画像用の復号方式で復号し、変位ビデオを生成(復元)してもよい。変位ビデオ復号部456は、その生成した変位ビデオをアンパッキング部457へ供給してもよい。
 アンパッキング部457は、変位ベクトルのアンパッキングに関する処理を実行する。例えば、アンパッキング部457は、変位ビデオ復号部456から供給される変位ビデオを取得してもよい。また、アンパッキング部457は、その変位ビデオのフレーム画像である変位マップをアンパッキングし、変位ベクトルを抽出してもよい。アンパッキング部457は、この変位ベクトルを、変位ベクトル適用部458へ供給してもよい。
 変位ベクトル適用部458は、細分化されたベースメッシュ(細分化された復元ベースメッシュ)への変位ベクトルの適用に関する処理を行う。例えば、変位ベクトル適用部458は、細分化部455から供給される、細分化されたベースメッシュ(細分化された復元ベースメッシュ)を取得してもよい。また、変位ベクトル適用部458は、アンパッキング部457から供給される変位ベクトルを取得してもよい。また、変位ベクトル適用部458は、その細分化されたベースメッシュ(細分化された復元ベースメッシュ)の頂点に変位ベクトルを適用してもよい。つまり、変位ベクトル適用部458は、オリジナルメッシュに相当するメッシュ(ジオメトリ)を再構成する。本明細書において、このオリジナルメッシュに相当するメッシュ(ジオメトリ)を復号メッシュとも称する。変位ベクトル適用部458は、その生成した復号メッシュを復元V-DMCデータとしてメッシュ再構成部432へ供給してもよい。
 アトリビュートビデオ復号部459は、アトリビュートビデオの符号化データの復号に関する処理を実行する。例えば、アトリビュートビデオ復号部459は、逆多重化部451から供給されるアトリビュートビデオの符号化データを取得してもよい。また、アトリビュートビデオ復号部459は、そのアトリビュートビデオの符号化データを、所定の2D動画像用の復号方式で復号し、アトリビュートビデオを生成(復元)してもよい。アトリビュートビデオ復号部459は、そのアトリビュートビデオのフレーム画像であるアトリビュートマップを復元V-DMCデータとしてメッシュ再構成部432へ供給してもよい。
 以上のような構成の再生装置400を上述した第2の情報処理装置とし、<3.ランダムアクセスメタデータの伝送と制御>において上述した各種方法(本技術)を適用してもよい。
 例えば、再生装置400(第2の情報処理装置)において、ランダムアクセス再生制御部422が、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいてランダムアクセスを制御し、再生処理部412が、そのランダムアクセスによりメッシュデータの再生を開始してもよい。
 つまり、ランダムアクセス再生制御部422は、再生処理部412によるランダムアクセス再生に関する制御を、コンテンツファイルに格納されるランダムアクセスメタデータに基づいて行ってもよい。例えば、ランダムアクセス再生制御部422は、再生処理部412を介して、コンテンツファイルに格納されるランダムアクセスメタデータを参照し、そのランダムアクセスメタデータに基づいて、再生処理部412によるランダムアクセス再生を制御してもよい。
 このようにすることにより、再生装置400は、<3.ランダムアクセスメタデータの伝送と制御>において上述したのと同様の効果を得ることができる。つまり、再生装置400は、メッシュデータを符号化したビットストリームをファイルコンテナに格納する場合に、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。
 なお、ランダムアクセス再生制御部422は、復号を開始するサンプルを指定する制御情報(第1の制御情報)に基づいて、その制御情報により指定されるサンプルからメッシュデータの復号を開始させるか、正常に復号されるサンプルを指定する制御情報(第2の制御情報)に基づいて、現在サンプルからメッシュデータの復号を開始させるかを選択してもよい。
 この選択は、例えば、再生装置400の動作モード、負荷状況、ランダムアクセスメタデータ等、任意の情報に応じて行われてもよい。例えば、ランダムアクセス再生制御部422は、ユーザやアプリケーション等により指定された制御情報を用いてランダムアクセスを制御してもよい。この指定は、例えば、ランダムアクセス操作受付部421から供給されてもよい。また、ランダムアクセス再生制御部422は、現在の再生装置400の負荷が所定の基準より大きい場合、低遅延性を優先し、そうでない場合、画像の完全性を優先してもよい。また、ランダムアクセス再生制御部422は、正常復号サンプルの方が復号開始サンプルよりも現在サンプルに近い場合、正常に復号されるサンプルを指定する制御情報(第2の制御情報)に基づいてランダムアクセスを制御し、そうでない場合、復号を開始するサンプルを指定する制御情報(第1の制御情報)に基づいてランダムアクセスを制御してもよい。もちろん、その他の選択方法が適用されてもよい。
 このように制御することにより、再生装置400は、現在サンプルからの正常な復号・表示を実現することもできるし、正常復号サンプルからの正常な復号・表示を実現することもできる。つまり、再生装置400は、画像の完全性を優先させることもできるし、低遅延性を優先させることもできる。また、再生装置400は、状況に応じて、より適切な制御方法を選択することもできる。
  <再生処理の流れ>
 次に、この再生装置400が実行する再生処理の流れの例を、図27のフローチャートを参照して説明する。
 再生処理が開始されると、再生装置400のランダムアクセス再生制御部422は、ステップS401において、ランダムアクセスの制御に関する動作モードであるランダムアクセスモードを設定する。例えば、ランダムアクセス再生制御部422は、復号を開始するサンプルを指定する制御情報(第1の制御情報)に基づいて、その制御情報により指定されるサンプルからメッシュデータの復号を開始させるか、正常に復号されるサンプルを指定する制御情報(第2の制御情報)に基づいて、現在サンプルからメッシュデータの復号を開始させるかを選択する。
 ステップS402において、コンテンツファイル取得部411は、コンテンツファイルを取得し、そのコンテンツファイルに格納されたV-DMCビットストリームを抽出する。
 ステップS403において、V-DMC復号部431は、V-DMC復号処理を実行し、そのV-DMCビットストリームを復号し、V-DMCデータを復元する(復元V-DMCデータを生成する)。
 ステップS404において、メッシュ再構成部432は、その復元V-DMCデータをメッシュデータに変換し、そのメッシュデータを用いてメッシュ(復元メッシュ)を再構成する。
 ステップS405において、表示処理部433は、その復元メッシュをレンダリングして表示情報を生成し、表示させる。
 ステップS405の処理が終了すると、再生処理が終了する。
  <V-DMC復号処理の流れ>
 図28のフローチャートを参照して、図27のステップS403において実行されるV-DMC復号処理の流れの例を説明する。
 V-DMC復号処理が開始されると、逆多重化部451は、ステップS421において、V-DMCビットストリームを逆多重化する。
 ステップS422において、アトラス情報復号部452は、アトラス情報として、アトラス情報の符号化データを復号し、アトラス情報を生成(復元)する。
 ステップS423において、ベースメッシュ復号部453は、アトラス情報に従ってベースメッシュの符号化データを復号し、ベースメッシュに関する情報を生成(復元)する。
 ステップS424において、ベースメッシュ再構成部454は、アトラス情報とベースメッシュに関する情報を用いて、ベースメッシュを再構成する(復元ベースメッシュを生成する)。
 ステップS425において、細分化部455は、その再構成されたベースメッシュ(復元ベースメッシュ)を細分化し、分割点を生成する。
 ステップS426において、変位ビデオ復号部456は、変位ビデオの符号化データを復号し、変位ビデオを生成(復元)する。
 ステップS427において、アンパッキング部457は、その変位ビデオのフレーム画像である変位マップをアンパッキングし、変位ベクトルを抽出する。
 ステップS428において、変位ベクトル適用部458は、細分化された復元ベースメッシュの頂点に変位ベクトルを適用し、復号メッシュを生成する。
 ステップS429において、アトリビュートビデオ復号部459は、アトリビュートビデオの符号化データを復号し、アトリビュートビデオを生成(復元)する。ステップS422において生成(復元)されたアトラス情報、ステップS428において生成された復号メッシュ、および、ステップS429において生成(復元)されたアトリビュートビデオが復元V-DMCデータとしてメッシュ再構成部432へ供給される。
 ステップS429の処理が終了すると、V-DMC復号処理が終了し、処理は図27に戻る。
  <ランダムアクセス再生処理の流れ>
 次に、コンテンツファイルに格納されるV-DMCビットストリームに対してランダムアクセスして再生するランダムアクセス再生処理の流れの例を、図29のフローチャートを参照して説明する。
 ランダムアクセス再生処理が開始されると、ランダムアクセス操作受付部421は、ステップS451において、ランダムアクセス操作を受け付ける。
 ステップS452において、ランダムアクセス再生制御部422は、ステップS401(図27)において、ランダムアクセスモードとして、ネガティブ制御モードが設定されたか、ポジティブ制御モードが設定されたかを判定する。ネガティブ制御モードは、復号を開始するサンプルを指定する制御情報(第1の制御情報)に基づいて、その制御情報により指定されるサンプルからメッシュデータの復号を開始させるモードである。ポジティブ制御モードは、正常に復号されるサンプルを指定する制御情報(第2の制御情報)に基づいて、現在サンプルからメッシュデータの復号を開始させるモードである。
 ネガティブ制御モードが設定されたと判定された場合、処理はステップS453へ進む。
 ステップS453において、ランダムアクセス再生制御部422は、コンテンツファイルのランダムアクセスメタデータに基づいて、現在サンプルより前の指定サンプルにランダムアクセスさせる。再生処理部412は、その制御に従ってコンテンツファイル取得部411を制御し、その指定サンプルから抽出を開始させる。つまり、V-DMC復号部431は、その指定サンプルからベースメッシュの復号を開始する。
 ステップS454において、V-DMC復号部431は、ランダムアクセス再生制御部422の制御に従って、現在サンプルからベースメッシュの再構成や細分化を開始する。
 ステップS455において、V-DMC復号部431は、ランダムアクセス再生制御部422の制御に従って、ベースメッシュの復号に合わせて変位ビデオを復号し、現在サンプルから頂点に変位ベクトルを適用する。
 ステップS456において、V-DMC復号部431は、ランダムアクセス再生制御部422の制御に従って、ベースメッシュの復号に合わせてアトリビュートビデオを復号する。また、メッシュ再構成部432は、ランダムアクセス再生制御部422の制御に従って、現在サンプルから復号メッシュのフェイスにテクスチャを適用する。
 ステップS457において、表示処理部433は、現在サンプルから復号メッシュをレンダリングして表示情報を生成し、表示する。ステップS457の処理が終了すると、ランダムアクセス再生処理が終了する。
 また、ステップS452において、ポジティブ制御モードが設定されたと判定された場合、処理はステップS458へ進む。
 ステップS458において、ランダムアクセス再生制御部422は、コンテンツファイルのランダムアクセスメタデータに基づいて、現在サンプルにランダムアクセスさせる。再生処理部412は、その制御に従ってコンテンツファイル取得部411を制御し、現在サンプルから抽出を開始させる。つまり、V-DMC復号部431は、現在サンプルからベースメッシュの復号を開始する。
 ステップS459において、V-DMC復号部431は、ランダムアクセス再生制御部422の制御に従って、現在サンプルより後の指定サンプルからベースメッシュの再構成や細分化を開始する。
 ステップS460において、V-DMC復号部431は、ランダムアクセス再生制御部422の制御に従って、ベースメッシュの復号に合わせて変位ビデオを復号し、その指定サンプルから頂点に変位ベクトルを適用する。
 ステップS461において、V-DMC復号部431は、ランダムアクセス再生制御部422の制御に従って、ベースメッシュの復号に合わせてアトリビュートビデオを復号する。また、メッシュ再構成部432は、ランダムアクセス再生制御部422の制御に従って、その指定サンプルから復号メッシュのフェイスにテクスチャを適用する。
 ステップS462において、表示処理部433は、指定サンプルから復号メッシュをレンダリングして表示情報を生成し、表示する。ステップS462の処理が終了すると、ランダムアクセス再生処理が終了する。
 つまり、ランダムアクセス再生制御部422は、メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、ランダムアクセスを制御する。そして、再生処理部412は、そのランダムアクセスによりメッシュデータの再生を開始する。
 以上のように各処理を実行することにより、再生装置400は、<3.ランダムアクセスメタデータの伝送と制御>において上述したのと同様の効果を得ることができる。つまり、再生装置400は、メッシュデータを符号化したビットストリームをファイルコンテナに格納する場合に、符号化効率の低減を抑制しながらランダムアクセス性の低減を抑制することができる。
 <6.付記>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図30は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図30に示されるコンピュータ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が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
  <本技術の適用可能な対象>
 本技術は、任意の符号化・復号方式に適用することができる。
 また、本技術は、任意の構成に適用することができる。例えば、本技術は、様々な電子機器に応用され得る。
 また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
 例えば、本技術は、観賞用コンテンツ等の提供の用に供されるシステムやデバイスに適用することができる。また、例えば、本技術は、交通状況の監理や自動運転制御等、交通の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、機械等の自動制御の用に供されるシステムやデバイスに適用することができる。さらに、例えば、本技術は、農業や畜産業の用に供されるシステムやデバイスにも適用することができる。また、本技術は、例えば火山、森林、海洋等の自然の状態や野生生物等を監視するシステムやデバイスにも適用することができる。さらに、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。
  <その他>
 なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(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) メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成するランダムアクセスメタデータ生成部と、
 前記メッシュデータを格納するコンテンツファイルに前記ランダムアクセスメタデータを格納する格納部と
 を備える情報処理装置。
 (2) 前記ランダムアクセスメタデータは、復号を開始するサンプルを指定する制御情報を含む
 (1)に記載の情報処理装置。
 (3) 前記制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサンプルを指定する
 (2)に記載の情報処理装置。
 (4) 前記差分値は、正負の符号付きの値である
 (3)に記載の情報処理装置。
 (5) 前記差分値は、絶対値である
 (3)に記載の情報処理装置。
 (6) 前記ランダムアクセスメタデータは、正常に復号されるサンプルを指定する制御情報を含む
 (1)に記載の情報処理装置。
 (7) 前記制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記正常に復号されるサンプルを指定する
 (6)に記載の情報処理装置。
 (8) 前記差分値は、正負の符号付きの値である
 (7)に記載の情報処理装置。
 (9) 前記差分値は、絶対値である
 (7)に記載の情報処理装置。
 (10) 前記ランダムアクセスメタデータは、復号を開始するサンプルを指定する第1の制御情報、および、正常に復号されるサンプルを指定する第2の制御情報を含む
 (1)に記載の情報処理装置。
 (11) 前記第1の制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサンプルを指定し、
 前記第2の制御情報は、前記現在サンプルとの前記POCの差分値により、前記正常に復号されるサンプルを指定する
 (10)に記載の情報処理装置。
 (12) 前記差分値は、正負の符号付きの値である
 (11)に記載の情報処理装置。
 (13) 前記コンテンツファイルは、前記メッシュデータのサブメッシュをサブサンプルとして管理し、
 前記ランダムアクセスメタデータ生成部は、前記サブサンプルに対応する前記ランダムアクセスメタデータを生成するように構成され、
 前記格納部は、前記サブサンプルに対応する前記ランダムアクセスメタデータを前記コンテンツファイルに格納するように構成される
 (1)に記載の情報処理装置。
 (14) 前記格納部は、前記ランダムアクセスメタデータを前記コンテンツファイルの、サブサンプルインフォメーションボックスに格納するように構成される
 (13)に記載の情報処理装置。
 (15) 前記ランダムアクセスメタデータは、前記サブサンプルに対応する前記サブメッシュの符号化タイプを示す情報を含む
 (13)に記載の情報処理装置。
 (16) 前記ランダムアクセスメタデータは、復号を開始するサブサンプルを指定する制御情報を含む
 (13)に記載の情報処理装置。
 (17) 前記制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサブサンプルを指定する
 (16)に記載の情報処理装置。
 (18) 前記差分値は、正負の符号付きの値である
 (17)に記載の情報処理装置。
 (19) 前記差分値は、絶対値である
 (17)に記載の情報処理装置。
 (20) 前記ランダムアクセスメタデータは、正常に復号されるサブサンプルを指定する制御情報を含む
 (13)に記載の情報処理装置。
 (21) 前記制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記正常に復号されるサブサンプルを指定する
 (20)に記載の情報処理装置。
 (22) 前記差分値は、正負の符号付きの値である
 (21)に記載の情報処理装置。
 (23) 前記差分値は、絶対値である
 (21)に記載の情報処理装置。
 (24) 前記ランダムアクセスメタデータは、復号を開始するサブサンプルを指定する第1の制御情報、および、正常に復号されるサブサンプルを指定する第2の制御情報を含む
 (13)に記載の情報処理装置。
 (25) 前記第1の制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサブサンプルを指定し、
 前記第2の制御情報は、前記現在サブサンプルとの前記POCの差分値により、前記正常に復号されるサブサンプルを指定する
 (24)に記載の情報処理装置。
 (26) 前記差分値は、正負の符号付きの値である
 (25)に記載の情報処理装置。
 (27) 前記格納部は、サンプルグループのパラメータとして前記ランダムアクセスメタデータを格納するように構成される
 (1)に記載の情報処理装置。
 (28) 前記ランダムアクセスメタデータ生成部は、前記インターメッシュサンプルに対応する前記ランダムアクセスメタデータを生成するように構成される
 (1)に記載の情報処理装置。
 (29) 前記メッシュデータは、オブジェクトの3次元構造を表現する頂点および接続により構成される符号化対象のオリジナルメッシュから頂点を間引くことにより生成される、前記オリジナルメッシュよりも精細度が低いベースメッシュのデータである
 (1)に記載の情報処理装置。
 (30) 前記メッシュデータは、オブジェクトの3次元構造を表現する頂点および接続により構成される符号化対象のオリジナルメッシュのデータである
 (1)に記載の情報処理装置。
 (31) 前記コンテンツファイルは、ISOBMFF(International Organization for Standardization Base Media File Format)に準拠するファイルコンテナである
 (1)に記載の情報処理装置。
 (32) 前記コンテンツファイルは、マトリョーシカメディアコンテナである
 (1)に記載の情報処理装置。
 (33) 前記格納部は、前記コンテンツファイルの前記メッシュデータを格納するトラックに、前記ランダムアクセスメタデータを格納するように構成される
 (1)に記載の情報処理装置。
 (34) メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成し、
 前記メッシュデータを格納するコンテンツファイルに前記ランダムアクセスメタデータを格納する
 情報処理方法。
 (41) メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、前記ランダムアクセスを制御するランダムアクセス再生制御部と、
 前記ランダムアクセスにより前記メッシュデータの再生を開始する再生処理部と
 を備える情報処理装置。
 (42) 前記ランダムアクセスメタデータは、復号を開始するサンプルを指定する制御情報を含み、
 前記ランダムアクセス再生制御部は、前記制御情報により指定された前記サンプルから前記メッシュデータの復号を開始させるように構成される
 (41)に記載の情報処理装置。
 (43) 前記制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサンプルを指定する
 (42)に記載の情報処理装置。
 (44) 前記差分値は、正負の符号付きの値である
 (43)に記載の情報処理装置。
 (45) 前記差分値は、絶対値である
 (43)に記載の情報処理装置。
 (46) 前記ランダムアクセスメタデータは、正常に復号されるサンプルを指定する制御情報を含み、
 前記ランダムアクセス再生制御部は、前記現在サンプルから前記メッシュデータの復号を開始させるように構成される
 (41)に記載の情報処理装置。
 (47) 前記制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記正常に復号されるサンプルを指定する
 (46)に記載の情報処理装置。
 (48) 前記差分値は、正負の符号付きの値である
 (47)に記載の情報処理装置。
 (49) 前記差分値は、絶対値である
 (47)に記載の情報処理装置。
 (50) 前記ランダムアクセスメタデータは、復号を開始するサンプルを指定する第1の制御情報、および、正常に復号されるサンプルを指定する第2の制御情報を含み、
 前記ランダムアクセス再生制御部は、前記第1の制御情報に基づいて前記ランダムアクセスを制御するか、前記第2の制御情報に基づいて前記ランダムアクセスを制御するかを選択するように構成される
 (41)に記載の情報処理装置。
 (51) 前記第1の制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサンプルを指定し、
 前記第2の制御情報は、前記現在サンプルとの前記POCの差分値により、前記正常に復号されるサンプルを指定する
 (50)に記載の情報処理装置。
 (52) 前記差分値は、正負の符号付きの値である
 (51)に記載の情報処理装置。
 (53) 前記コンテンツファイルは、前記メッシュデータのサブメッシュをサブサンプルとして管理し、前記サブサンプルに対応する前記ランダムアクセスメタデータを格納し、
 前記ランダムアクセス再生制御部は、前記サブサンプルに対応する前記ランダムアクセスメタデータに基づいて、前記サブサンプルに対する前記ランダムアクセスを制御するように構成され、
 前記再生処理部は、前記ランダムアクセスにより、前記サブサンプル毎に前記メッシュデータの再生を開始するように構成される
 (41)に記載の情報処理装置。
 (54) 前記コンテンツファイルは、前記ランダムアクセスメタデータをサブサンプルインフォメーションボックスに格納する
 (53)に記載の情報処理装置。
 (55) 前記ランダムアクセスメタデータは、前記サブサンプルに対応する前記サブメッシュの符号化タイプを示す情報を含み、
 前記ランダムアクセス再生制御部は、前記符号化タイプに基づいて、前記サブサンプルに対する前記ランダムアクセスを制御するように構成される
 (53)に記載の情報処理装置。
 (56) 前記ランダムアクセスメタデータは、復号を開始するサブサンプルを指定する制御情報を含み、
 前記ランダムアクセス再生制御部は、前記制御情報により指定された前記サブサンプルから前記メッシュデータの復号を開始させるように構成される
 (53)に記載の情報処理装置。
 (57) 前記制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサブサンプルを指定する
 (56)に記載の情報処理装置。
 (58) 前記差分値は、正負の符号付きの値である
 (57)に記載の情報処理装置。
 (59) 前記差分値は、絶対値である
 (57)に記載の情報処理装置。
 (60) 前記ランダムアクセスメタデータは、正常に復号されるサブサンプルを指定する制御情報を含み、
 前記ランダムアクセス再生制御部は、現在サブサンプルから前記メッシュデータの復号を開始させるように構成される
 (53)に記載の情報処理装置。
 (61) 前記制御情報は、前記現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記正常に復号されるサブサンプルを指定する
 (60)に記載の情報処理装置。
 (62) 前記差分値は、正負の符号付きの値である
 (61)に記載の情報処理装置。
 (63) 前記差分値は、絶対値である
 (61)に記載の情報処理装置。
 (64) 前記ランダムアクセスメタデータは、復号を開始するサブサンプルを指定する第1の制御情報、および、正常に復号されるサブサンプルを指定する第2の制御情報を含み、
 前記ランダムアクセス再生制御部は、前記第1の制御情報に基づいて前記ランダムアクセスを制御するか、前記第2の制御情報に基づいて前記ランダムアクセスを制御するかを選択するように構成される
 (53)に記載の情報処理装置。
 (65) 前記第1の制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサブサンプルを指定し、
 前記第2の制御情報は、前記現在サブサンプルとの前記POCの差分値により、前記正常に復号されるサブサンプルを指定する
 (64)に記載の情報処理装置。
 (66) 前記差分値は、正負の符号付きの値である
 (65)に記載の情報処理装置。
 (67) 前記コンテンツファイルは、サンプルグループのパラメータとして前記ランダムアクセスメタデータを格納する
 (41)に記載の情報処理装置。
 (68) 前記ランダムアクセスメタデータは、前記インターメッシュサンプルに対応する
 (41)に記載の情報処理装置。
 (69) 前記メッシュデータは、オブジェクトの3次元構造を表現する頂点および接続により構成される符号化対象のオリジナルメッシュから頂点を間引くことにより生成される、前記オリジナルメッシュよりも精細度が低いベースメッシュのデータである
 (41)に記載の情報処理装置。
 (70) 前記メッシュデータは、オブジェクトの3次元構造を表現する頂点および接続により構成される符号化対象のオリジナルメッシュのデータである
 (41)に記載の情報処理装置。
 (71) 前記コンテンツファイルは、ISOBMFF(International Organization for Standardization Base Media File Format)に準拠するファイルコンテナである
 (41)に記載の情報処理装置。
 (72) 前記コンテンツファイルは、マトリョーシカメディアコンテナである
 (41)に記載の情報処理装置。
 (73) 前記コンテンツファイルは、前記メッシュデータを格納するトラックに、前記ランダムアクセスメタデータを格納する
 (41)に記載の情報処理装置。
 (74) メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、前記ランダムアクセスを制御し、
 前記ランダムアクセスにより前記メッシュデータの再生を開始する
 情報処理方法。
 300 ファイル生成装置, 311 V-DMCデータ生成部, 312 V-DMC符号化部, 313 コンテンツファイル生成部, 314 ランダムアクセスメタデータ生成部, 351 アトラス情報符号化部, 352 ベースメッシュ符号化部, 353 変位ベクトル補正部, 354 変位ビデオ符号化部, 355 メッシュ再構成部, 356 アトリビュートマップ変換部, 357 アトリビュートビデオ符号化部,358 多重化部, 400 再生装置, 411 コンテンツファイル取得部, 412 再生処理部, 421 ランダムアクセス操作受付部, 422 ランダムアクセス再生制御部, 431 V-DMC復号部, 432 メッシュ再構成部, 433 表示処理部, 451 逆多重化部, 452 アトラス情報復号部, 453 ベースメッシュ復号部, 454 ベースメッシュ再構成部, 455 細分化部, 456 変位ビデオ復号部, 457 アンパッキング部, 458 変位ベクトル適用部, 459 アトリビュートビデオ復号部, 900 コンピュータ

Claims (20)

  1.  メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成するランダムアクセスメタデータ生成部と、
     前記メッシュデータを格納するコンテンツファイルに前記ランダムアクセスメタデータを格納する格納部と
     を備える情報処理装置。
  2.  前記ランダムアクセスメタデータは、復号を開始するサンプルを指定する制御情報を含む
     請求項1に記載の情報処理装置。
  3.  前記制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサンプルを指定する
     請求項2に記載の情報処理装置。
  4.  前記ランダムアクセスメタデータは、正常に復号されるサンプルを指定する制御情報を含む
     請求項1に記載の情報処理装置。
  5.  前記制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記正常に復号されるサンプルを指定する
     請求項4に記載の情報処理装置。
  6.  前記ランダムアクセスメタデータは、復号を開始するサンプルを指定する第1の制御情報、および、正常に復号されるサンプルを指定する第2の制御情報を含む
     請求項1に記載の情報処理装置。
  7.  前記第1の制御情報は、前記現在サンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサンプルを指定し、
     前記第2の制御情報は、前記現在サンプルとの前記POCの差分値により、前記正常に復号されるサンプルを指定する
     請求項6に記載の情報処理装置。
  8.  前記コンテンツファイルは、前記メッシュデータのサブメッシュをサブサンプルとして管理し、
     前記ランダムアクセスメタデータ生成部は、前記サブサンプルに対応する前記ランダムアクセスメタデータを生成するように構成され、
     前記格納部は、前記サブサンプルに対応する前記ランダムアクセスメタデータを前記コンテンツファイルに格納するように構成される
     請求項1に記載の情報処理装置。
  9.  前記格納部は、前記ランダムアクセスメタデータを前記コンテンツファイルの、サブサンプルインフォメーションボックスに格納するように構成される
     請求項8に記載の情報処理装置。
  10.  前記ランダムアクセスメタデータは、前記サブサンプルに対応する前記サブメッシュの符号化タイプを示す情報を含む
     請求項8に記載の情報処理装置。
  11.  前記ランダムアクセスメタデータは、復号を開始するサブサンプルを指定する制御情報を含む
     請求項8に記載の情報処理装置。
  12.  前記制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサブサンプルを指定する
     請求項11に記載の情報処理装置。
  13.  前記ランダムアクセスメタデータは、正常に復号されるサブサンプルを指定する制御情報を含む
     請求項8に記載の情報処理装置。
  14.  前記制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記正常に復号されるサブサンプルを指定する
     請求項13に記載の情報処理装置。
  15.  前記ランダムアクセスメタデータは、復号を開始するサブサンプルを指定する第1の制御情報、および、正常に復号されるサブサンプルを指定する第2の制御情報を含む
     請求項8に記載の情報処理装置。
  16.  前記第1の制御情報は、現在サブサンプルとのPOC(Picture Order Count)の差分値により、前記復号を開始するサブサンプルを指定し、
     前記第2の制御情報は、前記現在サブサンプルとの前記POCの差分値により、前記正常に復号されるサブサンプルを指定する
     請求項15に記載の情報処理装置。
  17.  前記格納部は、前記コンテンツファイルの前記メッシュデータを格納するトラックに、前記ランダムアクセスメタデータを格納するように構成される
     請求項1に記載の情報処理装置。
  18.  メッシュデータに、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータを生成し、
     前記メッシュデータを格納するコンテンツファイルに前記ランダムアクセスメタデータを格納する
     情報処理方法。
  19.  メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、前記ランダムアクセスを制御するランダムアクセス再生制御部と、
     前記ランダムアクセスにより前記メッシュデータの再生を開始する再生処理部と
     を備える情報処理装置。
  20.  メッシュデータを格納するコンテンツファイルに格納される、インターメッシュサンプルである現在サンプルに基づいてランダムアクセスするためのランダムアクセスメタデータに基づいて、前記ランダムアクセスを制御し、
     前記ランダムアクセスにより前記メッシュデータの再生を開始する
     情報処理方法。
PCT/JP2024/001644 2023-01-24 2024-01-22 情報処理装置および方法 WO2024157930A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363440833P 2023-01-24 2023-01-24
US63/440,833 2023-01-24

Publications (1)

Publication Number Publication Date
WO2024157930A1 true WO2024157930A1 (ja) 2024-08-02

Family

ID=91970689

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/001644 WO2024157930A1 (ja) 2023-01-24 2024-01-22 情報処理装置および方法

Country Status (1)

Country Link
WO (1) WO2024157930A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001506828A (ja) * 1996-12-16 2001-05-22 シャープ株式会社 二次元メッシュジオメトリおよび動きベクトル圧縮
WO2015115644A1 (ja) * 2014-02-03 2015-08-06 三菱電機株式会社 画像符号化装置、画像復号装置、符号化ストリーム変換装置、画像符号化方法、及び画像復号方法
US20210090301A1 (en) * 2019-09-24 2021-03-25 Apple Inc. Three-Dimensional Mesh Compression Using a Video Encoder
WO2023205294A1 (en) * 2022-04-20 2023-10-26 Apple Inc. Mesh compression using coding units with different encoding parameters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001506828A (ja) * 1996-12-16 2001-05-22 シャープ株式会社 二次元メッシュジオメトリおよび動きベクトル圧縮
WO2015115644A1 (ja) * 2014-02-03 2015-08-06 三菱電機株式会社 画像符号化装置、画像復号装置、符号化ストリーム変換装置、画像符号化方法、及び画像復号方法
US20210090301A1 (en) * 2019-09-24 2021-03-25 Apple Inc. Three-Dimensional Mesh Compression Using a Video Encoder
WO2023205294A1 (en) * 2022-04-20 2023-10-26 Apple Inc. Mesh compression using coding units with different encoding parameters

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHOI YIHYUN; JEONG JONG-BEOM; LEE SOONBIN; RYU EUN-SEOK: "Overview of the Video-based Dynamic Mesh Coding (V-DMC) Standard Work", 2022 13TH INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATION TECHNOLOGY CONVERGENCE (ICTC), IEEE, 19 October 2022 (2022-10-19), pages 578 - 581, XP034233613, DOI: 10.1109/ICTC55196.2022.9952734 *

Similar Documents

Publication Publication Date Title
EP3926959A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP3926960A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114930813B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN115443652B (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
KR102304687B1 (ko) 정보 처리 장치 및 방법
EP4030384A1 (en) Information processing device, information processing method, playback processing device, and playback processing method
JP7487742B2 (ja) 画像処理装置および方法
JP7331852B2 (ja) 画像処理装置および方法
CN115380528B (zh) 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
TWI524774B (zh) 具有視頻處理設備之系統及其視頻處理方法
US20210409767A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11902555B2 (en) Information processing device and information processing method
EP4171040A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
US11601634B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN115022715B (zh) 一种沉浸媒体的数据处理方法及设备
CN115428442B (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
WO2024157930A1 (ja) 情報処理装置および方法
WO2024190805A1 (ja) 情報処理装置および方法
JP2022063882A (ja) 情報処理装置および方法、並びに、再生装置および方法
US20230222693A1 (en) Information processing apparatus and method
WO2024071283A1 (ja) 情報処理装置および方法
WO2024143466A1 (ja) 情報処理装置および方法
WO2022075078A1 (ja) 画像処理装置および方法
WO2022138221A1 (ja) 情報処理装置および方法
WO2022075074A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24747258

Country of ref document: EP

Kind code of ref document: A1