WO2020026846A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2020026846A1 WO2020026846A1 PCT/JP2019/028420 JP2019028420W WO2020026846A1 WO 2020026846 A1 WO2020026846 A1 WO 2020026846A1 JP 2019028420 W JP2019028420 W JP 2019028420W WO 2020026846 A1 WO2020026846 A1 WO 2020026846A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- image
- unit
- dimensional
- information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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 image processing apparatus and method, and more particularly, to an image processing apparatus and method capable of reproducing a two-dimensional image more easily.
- the encoded 3D data is transmitted, for example, as a bit stream, and after being decoded, is reproduced as a two-dimensional image such as a captured image obtained by capturing the three-dimensional object with a camera at an arbitrary position and orientation.
- a two-dimensional image such as a captured image obtained by capturing the three-dimensional object with a camera at an arbitrary position and orientation.
- the present disclosure has been made in view of such a situation, and is to make it possible to reproduce a two-dimensional image more easily.
- An image processing device generates a video frame including a patch obtained by projecting a point cloud expressing a three-dimensional object as a point cloud on a two-dimensional plane, and a two-dimensional image different from the patch.
- An image processing apparatus comprising: a generation unit; and an encoding unit that encodes the video frame generated by the generation unit and generates a bit stream.
- An image processing method generates a video frame including a patch obtained by projecting a point cloud representing a three-dimensional object as a point cloud on a two-dimensional plane, and a two-dimensional image different from the patch. , An image processing method for encoding the generated video frame to generate a bit stream.
- An image processing apparatus is directed to a code for a video frame including a patch obtained by projecting a point cloud expressing a three-dimensional object as a point cloud on a two-dimensional plane, and a two-dimensional image different from the patch.
- An extraction unit for extracting the encoded data from a bit stream containing encoded data, and a two-dimensional decoding unit for decoding the encoded data extracted from the bit stream by the extraction unit to restore the two-dimensional image
- An image processing apparatus comprising:
- An image processing method is directed to a code for a video frame including a patch obtained by projecting a point cloud expressing a three-dimensional object as a point cloud on a two-dimensional plane, and a two-dimensional image different from the patch. And decoding the coded data extracted from the bit stream from the bit stream including the coded data, and restoring the two-dimensional image.
- a video including a patch obtained by projecting a point cloud expressing a three-dimensional object as a point cloud on a two-dimensional plane and a two-dimensional image different from the patch is provided.
- the encoded data is extracted from the bit stream including the encoded data of the frame, the encoded data extracted from the bit stream is decoded, and the two-dimensional image is restored.
- an image can be processed.
- a two-dimensional image can be reproduced more easily.
- FIG. 3 is a diagram illustrating addition of 2D data to a bit stream.
- FIG. 1 is a diagram illustrating an outline of a system.
- FIG. 4 is a diagram illustrating an example of a camera parameter.
- FIG. 9 is a diagram for describing an example of syntax.
- FIG. 9 is a diagram for describing an example of syntax.
- FIG. 9 is a diagram for describing an example of syntax.
- FIG. 9 is a diagram illustrating an example of adding 2D data.
- FIG. 35 is a block diagram illustrating a main configuration example of an encoding device.
- FIG. 3 is a block diagram illustrating a main configuration example of a 2D data generation unit. It is a flowchart explaining the example of the flow of an encoding process.
- FIG. 18 is a block diagram illustrating a main configuration example of a computer.
- Non-patent document 1 (described above)
- Non-patent document 2 (described above)
- Non-patent document 3 (described above)
- Non-patent document 4 (described above)
- Non-Patent Document 5 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
- Non-Patent Document 6 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
- Non-Patent Document 7 Jianle Chen, Maria Alshina, Gary J.
- Non-Patent Document 6 Quad-Tree ⁇ Block ⁇ Structure described in Non-Patent Document 6 and QTBT (Quad ⁇ Tree ⁇ Binary Tree) ⁇ Block ⁇ Structure described in Non-Patent Document 7 are not directly described in the embodiment, It is within the disclosure range of the present technology and satisfies the support requirements of the claims. Also, for example, technical terms such as parsing, syntax, and semantics are also within the disclosure range of the present technology even when there is no direct description in the embodiment. Satisfy the support requirements of the claims.
- a three-dimensional structure (three-dimensional object) is represented as a set (point group) of many points. That is, the data of the point cloud is composed of position information and attribute information (for example, color) of each point of this point group. Therefore, the data structure is relatively simple, and an arbitrary three-dimensional structure can be expressed with sufficient accuracy by using sufficiently many points.
- Video-based approach A video-based approach of projecting such a point cloud position and color information onto a two-dimensional plane for each small area to form a two-dimensional image, and coding the two-dimensional image by a two-dimensional image coding method ( Video-based approach) has been proposed.
- an input point cloud (Point @ cloud) is divided into a plurality of segmentations (also referred to as regions), and each region is projected onto a two-dimensional plane.
- data for each position of the point cloud (that is, data for each point) is composed of position information (Geometry (also referred to as Depth)) and attribute information (Texture) as described above. Projected onto a dimensional plane.
- Each segmentation (also referred to as a patch) projected on the two-dimensional plane is arranged in a two-dimensional image.
- two-dimensional plane images such as AVC (Advanced Video Coding) and HEVC (High Efficiency Video Coding). Is encoded by the following encoding method.
- the 3D data thus encoded is, for example, encoded and transmitted as a bit stream, and is decoded and reproduced at a transmission destination.
- a transmission destination For example, in the case of a device having a 2D display that displays a 2D image, an object having a 3D shape indicated by the decoded and reconstructed 3D data is rendered so as to be captured by a camera at an arbitrary position and orientation, It is displayed on a 2D display as a two-dimensional image (also called a rendering image).
- the two-dimensional image (rendered image) on which the object is rendered is different from the two-dimensional image (two-dimensional image on which the patches are arranged) at the time of encoding.
- the two-dimensional image in which the patches are arranged is a format for transmitting 3D data, and is not an image intended to be displayed. That is, even if a two-dimensional image on which the patch is arranged is displayed, the displayed image is an image that cannot be understood by a user who views the image (an image that is not established as content).
- a rendering image is an image in which a three-dimensional object is expressed two-dimensionally. Therefore, the display image is an image (image established as content) that can be understood by a user who views the display image.
- the 3D data decoder 32 decodes the bit stream of the 3D data to reconstruct 3D data (eg, Point @ Cloud). Then, the 3D display 35 displays the 3D data.
- 3D data eg, Point @ Cloud
- the 3D data decoder 32 decodes the bit stream of the 3D data to reconstruct the 3D data.
- Renderer 34 renders the 3D data to generate a rendered image (two-dimensional image), and 2D display 36 displays the rendered image. That is, in this case, the rendering process is required, and there is a possibility that the load increases.
- the demultiplexer 31 extracts encoded data of the 2D data from the bit stream, and the 2D video decoder 33 converts the encoded data.
- the 2D display 36 can be decoded to generate a 2D image, and the 2D display 36 can display the 2D image. That is, the rendering process on the decoding side can be skipped (omitted).
- a two-dimensional image can be displayed more easily. Therefore, for example, by including a two-dimensional image indicating the contents of the bit stream in the bit stream, the two-dimensional image can be displayed without rendering the three-dimensional object on the decoding side. Therefore, the content of the bit stream can be confirmed at higher speed. Also, for example, by adding a rendering image of recommended camera work to the bit stream as 2D data, the rendering image can be displayed without rendering the three-dimensional object on the decoding side. Therefore, the recommended camera work can be confirmed more quickly.
- the rendering image may be a rendering image in which the 3D data is rendered so that the three-dimensional object indicated by the 3D data is captured by a predetermined camera work (the position or direction of the rendering camera).
- the 3D data encoder 21 encodes 3D data (Point @ Cloud) on the encoding side in FIG. 2, the rendering image of the 3D data to be encoded is also encoded to generate encoded data.
- the encoded data of the rendering image may be added to the bit stream including the encoded data of the 3D data. That is, the rendering image may be added to the bit stream of the 3D data.
- the demultiplexer 31 extracts encoded data of the rendering image from the bit stream, and the 2D video decoder decodes the encoded data, so that the rendering image can be obtained. That is, the rendering process can be skipped (omitted).
- this rendered image is rendered as if a three-dimensional object indicated by the 3D data was imaged from the recommended camera position and direction. It may be an image. That is, this rendered image may be an image rendered by recommended camera work.
- the 3D data encoder 21 encodes 3D data (Point @ Cloud) on the encoding side in FIG. 2, a rendering image obtained by rendering an object of the 3D data to be encoded by recommended camera work is also encoded.
- the encoded data of the rendered image may be added to a bit stream including the encoded data of the 3D data. That is, the rendering image rendered by the recommended camera work may be added to the bit stream of the 3D data.
- the rendering image of the recommended camerawork specified by the encoding side can be displayed on the decoding side without performing rendering (that is, more easily).
- the demultiplexer 31 extracts the encoded data of the rendering image from the bit stream, and the 2D video decoder decodes the encoded data, so that the recommended camera designated by the encoding side.
- a rendered image of the work can be obtained. That is, the rendering process can be skipped (omitted).
- this rendering image may be generated on the encoding side.
- the renderer 22 renders an object of 3D data to be encoded to generate a rendered image
- the 3D data encoder 21 encodes the rendered image and encodes the rendered image into bits of the 3D data. You may make it add to a stream.
- the rendering image generated on the encoding side can be displayed on the decoding side without performing rendering (that is, more easily).
- the demultiplexer 31 extracts the encoded data of the rendering image from the bit stream, and the 2D video decoder decodes the encoded data to obtain the rendering image generated by the renderer 22. it can. That is, the rendering process on the decoding side can be skipped (omitted).
- this 2D data is not limited to the above example.
- This 2D data need not be a rendered image.
- the 2D data may be an image including information (characters, numbers, symbols, figures, patterns, and the like) related to the contents of the 3D data included in the bit stream.
- information on the contents of 3D data can be displayed more easily on the decoding side. That is, the user on the decoding side can grasp the contents of the bit stream at higher speed. In addition, the user can grasp the contents of the bit stream in more various devices.
- the 2D data may be an image (unrelated image) having contents independent of the 3D data included in the bit stream.
- the 2D data may be a rendering image of an object different from the object indicated by the 3D data included in the bitstream, or information (characters, numbers, symbols, symbols, and the like) irrelevant to the contents of the 3D data included in the bitstream.
- the image may include a figure, a pattern, or the like.
- the 2D data and the 3D data may be moving images or still images, respectively. Further, the lengths of the reproduction time of the 2D data and the 3D data may be the same or different from each other.
- 2D data can be displayed more easily on the decoding side, whether it is a moving image or a still image. That is, the decoding-side user can start viewing the 2D data at a higher speed regardless of whether the image is a moving image or a still image. Also, the user can view the 2D data on a wider variety of devices, whether it is a moving image or a still image.
- a plurality of 2D data may be added to a bit stream of 3D data. Furthermore, the length of the reproduction time of the plurality of 2D data may be the same as each other, or may be different from each other. Further, the plurality of 2D data may be added to the bit stream in a state where each of the 2D data is sequentially reproduced.
- the plurality of 2D data can be sequentially reproduced more easily on the decoding side. That is, the user on the decoding side can start viewing the plurality of 2D data at a higher speed. Further, the user can view the plurality of 2D data on a wider variety of devices.
- the same moving image may be added to the bit stream a plurality of times.
- the same moving image may be added to the bit stream a plurality of times.
- the decoding-side user can start viewing the rendered images from the plurality of viewpoints at a higher speed.
- the user can view the rendered images of the plurality of viewpoints on a wider variety of devices.
- the 2D data may be added to an arbitrary position in the bit stream.
- 2D data may be added to a video frame.
- the point cloud (3D data) is configured by the position information and the attribute information of the point cloud.
- the position information and the attribute information of the point cloud are respectively projected on a two-dimensional plane for each segmentation, and are packed in a video frame as a patch.
- the above-described 2D data may be added to such a video frame.
- 2D data can be encoded together with 3D data.
- the 3D data encoder 21 encodes the packed video frame according to an encoding method for a two-dimensional planar image such as AVC or HEVC, for example, so that the 3D data and the 2D data are encoded. Can be encoded. That is, encoding of 2D data can be performed more easily.
- the decoding side can also easily decode the 2D data.
- the 2D video decoder 33 can generate 2D data by decoding encoded data using a decoding method for a two-dimensional plane image such as AVC or HEVC.
- 2D data may be added to a color video frame in which a patch of attribute information of a point cloud is packed.
- the bit stream 40 of the 3D data includes a stream header (Stream @ header) 41, a GOF stream (GOF (Group of frames) @stream) 42-1 and a GOF stream 42-2,. , GOF stream 42-n-1 and GOF stream 42-n (n is an arbitrary natural number).
- the stream header 41 is header information of the bit stream 40, and stores various information related to the bit stream 40.
- the GOF streams 42-1 to 42-n are obtained by packing correlations in the time direction in random access. That is, these are bit streams for a predetermined time.
- the GOF streams 42-1 to 42-n are referred to as GOF streams 42 when it is not necessary to distinguish them from one another.
- the GOF stream 42 includes a GOF header (GOF header) 51, a GOF geometry video stream (GOF geometry video stream) 52, a GOF auxiliary information and occupancy maps (GOF auxiliary info & occupancy maps) 53, and a GOF texture video stream (GOF texture video stream).
- GOF texture video stream
- the FGOF header 51 includes a parameter 61 corresponding to the GOF stream 42.
- the parameters 61 include, for example, parameters related to the height of the frame (frameWidth), information related to the horizontal width of the frame (frameHeight), information related to the resolution of the occupancy map (occupancyResolution), and the like.
- the GOF geometry video stream 52 encodes a geometry video frame (geometry video frame) 62 in which a patch of position information of the point cloud is packed by a coding method for a two-dimensional plane image such as AVC or HEVC. Encoded data (bit stream).
- the GOF auxiliary information and occupancy map 53 is coded data (bit stream) obtained by coding the auxiliary information (auxiliary info) and the occupancy map (occupancy map) 64 by a predetermined coding method.
- the occupancy map 64 is map information indicating the presence or absence of position information and attribute information at each position on the two-dimensional plane.
- the GOF texture video stream 54 is coded data (bit stream) obtained by coding a color video frame (color video frame) 65 by a coding method for a two-dimensional plane image such as AVC or HEVC.
- the 2D data 72 may be added to the color video frame 65.
- 2D data can be encoded together with 3D data.
- the 3D data encoder 21 encodes the packed color video frame using a two-dimensional plane image encoding method such as AVC or HEVC, for example, to obtain the attribute of the point cloud. Not only information but also 2D data can be encoded. That is, encoding of 2D data can be performed more easily.
- the decoding side can also easily decode the 2D data.
- the demultiplexer 31 extracts encoded data of a color video frame (GOF texture video stream 54 in the example of FIG. 3) from the bit stream, and the 2D video decoder 33 outputs, for example, an AVC or 2D data (2D data 72 in the example of FIG. 3) is generated by decoding the extracted encoded data (GOF texture video stream 54) by a decoding method for a two-dimensional plane image such as HEVC. can do.
- the occupancy map 64 does not reflect the 2D data 72. Therefore, for example, when the 3D data decoder 32 (FIG. 2) decodes the bit stream 40 of 3D data, the 2D data 72 is ignored. That is, the 3D data decoder 32 can decode this bit stream 40 in the same manner as when decoding a 3D data bit stream to which 2D data is not added. That is, 3D data can be easily decoded.
- the 2D data may be added to all color video frames, or may be added to some video frames. For example, as shown in the seventh row from the top in Table 10 of FIG. 1, when a color video frame is hierarchically encoded in the time direction, 2D data is added to video frames of all encoded layers. Alternatively, 2D data may be added to video frames of some coding layers.
- the depth of the patch can be represented by generating a predetermined number of two-dimensional images from one point cloud frame.
- a plurality of patches can be generated in the depth direction for one point cloud frame.
- the packed video frames are hierarchically encoded in the time direction, and an encoding layer can be assigned to each position in the depth direction of the patch (each patch is arranged in a video frame of a layer corresponding to the depth direction). be able to).
- 2D data may not be added to a subsequent color video frame in encoding / decoding order. There is. That is, when 2D data is extracted from all the color video frames of the 3D data and displayed, there is a possibility that a video frame whose encoding / decoding order is later becomes a noise image (an image that is not 2D data).
- 2D data is added only to the color video frames of a part of the coding layers in the above-described hierarchical structure, and the color video frames of all the coding layers are coded according to the hierarchical structure.
- the encoded data of the color video frame of the encoding layer to which the 2D data is added may be decoded.
- 2D data is added to a color video frame of one coding layer, and color video frames of all coding layers are coded according to the hierarchical structure.
- the 2D data is added.
- only the encoded data of the color video frame of the encoded layer that has been encoded may be decoded. By doing so, 2D data can be extracted from all the decoded color video frames, so that the above-described display of the noise image can be suppressed.
- the 2D data may be added to the color video frames of all the coding layers in the above-described layer structure.
- 2D data may be added to all the color video frames of the coding hierarchical structure in order from the top.
- the same 2D data may be repeatedly added. For example, when the image of the last frame of the two-dimensional moving image is added to a certain color video frame, the image of the 2D data is added again to the next and subsequent color video frames from the first frame. You may make it. By doing so, 2D data can be extracted from all the decoded color video frames, so that the above-described display of the noise image can be suppressed.
- each rendered image rendered by a predetermined camera work is sequentially added to the color video frames of all layers from the top, and after the last rendered image is added, The rendering image once added to the remaining color video frames may be added again sequentially from the first rendering image. By doing so, the moving image of one rendering image can be repeatedly displayed on the decoding side.
- New 2D data may be added. For example, when a two-dimensional video image of the last frame of a moving image is added to a certain color video frame, new 2D data images are added from the first frame to subsequent color video frames. You may make it. By doing so, 2D data can be extracted from all the decoded color video frames, so that the above-described display of the noise image can be suppressed.
- each rendered image rendered by a predetermined camera work is sequentially added to the color video frames of all layers from the top, and after the last rendered image is added, Each of the rendered images rendered by the new camera work may be sequentially added to the remaining color video frames. By doing so, it is possible to sequentially display moving images of a plurality of rendering images on the decoding side.
- 2D data may be added to video frames of all layers, or 2D data may be added to video frames of some layers. May be performed.
- the 2D data may be added in addition to the color video frame.
- 2D data may be added to a geometry video frame.
- Information on 2D data to be added to the 3D data bit stream as described above may be further included in the bit stream.
- the information on the 2D data may be any information.
- the information on the 2D data may be added to an arbitrary position in the bit stream.
- information on 2D data may be added as metadata to a bit stream header.
- a 2D control syntax (2D @ Control @ Syntax) 71 may be added to the stream header 41 of the bit stream 40.
- the information on the two-dimensional image includes two-dimensional image presence / absence identification information indicating whether or not the bit stream includes data of the two-dimensional image. It may be included.
- FIG. 4 shows an example of the 2D control syntax 71.
- the thumbnail_available_flag may be transmitted as the 2D control syntax 71.
- thumbnail_available_flag is flag information (that is, two-dimensional image presence / absence identification information) indicating whether or not 2D data exists in the bit stream (whether or not 2D data has been added). When the flag information is true (for example, “1”), it indicates that 2D data exists in the bit stream. When the flag information is false (for example, “0”), it indicates that 2D data does not exist in the bit stream.
- the information on the two-dimensional image may include two-dimensional image reproduction assistance information for assisting the reproduction of the two-dimensional image.
- two-dimensional image reproduction assistance information for assisting the reproduction of the two-dimensional image.
- thumbnail_available_flag true (if (thumbnail_available_flag) ⁇ )
- num_rendering_view, InsertionMethod, SeparationID, and IndependentDecodeflag may be transmitted as the 2D control syntax 71.
- These syntaxes are two-dimensional image reproduction assistance information for assisting the reproduction of the two-dimensional image.
- Num_rendering_view is information indicating the number of rendered viewpoints (the number of camera works).
- InsertionMethod is information indicating whether 2D data is added by dividing layers by LayerID or TemporalID, or whether 2D data is added by repeat or the like (whether 2D data is added to all layers). Note that when 2D data is added by dividing the layers by LayerID or TemporalID, the operation of the AVC or HEVC decoder needs to be changed. That is, the operation of the decoder can be changed based on this information.
- SeparationID is information indicating a break in LayerID or TemporalID. By passing this information to an AVC or HEVC decoder, only a specific layer can be displayed.
- IndependentDecodeflag is flag information indicating whether or not a 2D data portion can be independently decoded by a tile (Tile) or the like. When this flag information is true (for example, “1”), it indicates that 2D data can be decoded independently. When the flag information is false (for example, “0”), it indicates that 2D data cannot be decoded independently.
- MCTS_ID may be transmitted as 2D control syntax 71.
- MCTS_ID is identification information of a tile specified to decode a specific tile portion separately defined in MCTS SEI (Motion-Constrained Tile Sets Suplemental Enhancement Information).
- the information on the two-dimensional image includes two-dimensional image spatial position management information for managing the position in the spatial direction to which the two-dimensional image is added. You may be able to do it.
- def_disp_win_left_offset, def_disp_win_right_offset, def_disp_win_top_offset, and def_disp_win_bottom_offset may be transmitted.
- These syntaxes are two-dimensional image space position management information for managing the position in the spatial direction to which the two-dimensional image is added.
- Def_disp_win_left_offset is information indicating the offset of the left end of the 2D data 72 with respect to the left end of the color video frame 65.
- def_disp_win_right_offset is information indicating the offset of the right end of the 2D data 72 with respect to the left end of the color video frame 65.
- def_disp_win_top_offset is information indicating the offset of the upper end of the 2D data 72 with respect to the upper end of the color video frame 65.
- def_disp_win_bottom_offset is information indicating the offset of the lower end of the 2D data 72 with respect to the upper end of the color video frame 65. That is, the position of the added 2D data can be specified based on these pieces of information. That is, the decoder can more easily extract the 2D data added to the color video frame based on the information. That is, 2D data can be reproduced more easily.
- def_disp_win_offset is information defined in HEVC.
- information is transmitted as a syntax as shown in FIG. That is, 2D data can be more easily reproduced using the HEVC decoder.
- Cropping_offset specified in AVC may be used instead of such information.
- Cropping_offset may be transmitted as a syntax as shown in FIG. 6B. By doing so, 2D data can be more easily reproduced using an AVC decoder.
- the information on the two-dimensional image includes two-dimensional image time position management information for managing the position in the time direction to which the two-dimensional image is added. You may be able to do it.
- the 2D data may be added only to the color video frames of some layers using TemporalID. That is, the TemporalID is two-dimensional image time position management information for managing the position in the time direction to which the two-dimensional image is added.
- TemporalID 0 by adding 2D data to the video frame of the lower Video0 layer
- TemporalID 1 by not adding the 2D data to the video frame of the upper Video1 layer.
- the decoder can decode only the video frame of the layer to which 2D data is added based on the TemporalID (the video frame of the layer of Video0 in the example of FIG. 7). Therefore, the reproduction of the noise image can be more easily suppressed.
- LayerID may be used instead of TemporalID.
- the above-described two-dimensional image space position management information and two-dimensional image time position management information may be included in, for example, a GOF texture video stream.
- the decoder can easily reproduce the 2D data by decoding the GOF texture video stream.
- the demultiplexer 31 extracts coded data (GOF texture video stream) of a color video frame from a bit stream based on metadata (for example, 2D control syntax 71), and supplies the data to a 2D video decoder 33.
- the 2D video decoder 33 can obtain a rendering image by decoding the GOF texture video stream and extracting 2D data.
- the 2D data added to the color video frame may be encoded independently of that part (independently of a patch or the like). . That is, the 2D data added to the color video frame may be able to be decoded independently of that part (independently of a patch or the like).
- the 2D data may be added to the video frame as a data unit that can be independently encoded and decoded, such as a tile (Tile), a slice (Slice), or a picture (Picture).
- the decoder (for example, the 2D video decoder 33) can obtain 2D data by decoding only the 2D data portion of the GOF texture video stream. Therefore, an increase in decoding load can be suppressed (the decoding load can be reduced).
- the encoding parameters for the 2D data may be performed using the encoding parameter set in (2).
- a coding parameter more suitable for 2D data can be used, so that a decrease in coding efficiency can be suppressed (encoding efficiency can be improved).
- the number of 2D data that can be added in one video frame is arbitrary. For example, as shown in the 14th row from the top of Table 10 in FIG. 1, a plurality of 2D data may be added to one video frame.
- FIG. 8 is a block diagram illustrating an example of a configuration of an encoding device that is an aspect of an image processing device to which the present technology is applied.
- An encoding device 100 shown in FIG. 8 is a device that projects 3D data, such as a point cloud, onto a two-dimensional plane and performs encoding using an encoding method for a two-dimensional image (an encoding device using a video-based approach). ).
- FIG. 8 shows main components such as a processing unit and a flow of data, and the components shown in FIG. 8 are not necessarily all. That is, in the encoding device 100, a processing unit not illustrated as a block in FIG. 8 may exist, or a process or data flow not illustrated as an arrow or the like in FIG. 8 may exist. This is the same in other drawings for explaining the processing unit and the like in the encoding device 100.
- the encoding apparatus 100 includes a patch decomposition unit 111, a packing unit 112, an auxiliary patch information compression unit 113, a video encoding unit 114, a video encoding unit 115, an OMap encoding unit 116, and 2D data generation.
- a unit 117 and a multiplexer 118 are provided.
- the patch disassembly unit 111 performs a process related to disassembly of 3D data.
- the patch decomposition unit 111 acquires 3D data (for example, a point cloud (Point @ Cloud)) representing a three-dimensional structure, which is input to the encoding device 100.
- the patch decomposition unit 111 decomposes the obtained point cloud into a plurality of segmentations, projects the point cloud on a two-dimensional plane for each of the segmentations, and generates position information patches and attribute information patches.
- the patch disassembly unit 111 supplies information on each generated patch to the packing unit 112.
- the patch decomposing unit 111 supplies the auxiliary patch information, which is information on the decomposition, to the auxiliary patch information compression unit 113.
- the packing unit 112 performs processing related to data packing. For example, the packing unit 112 acquires, from the patch disassembly unit 111, information on a patch of position information (Geometry) indicating a position of a point and information on a patch of attribute information (Texture) such as color information added to the position information. I do.
- a patch of position information indicating a position of a point
- a patch of attribute information indicating a position of a point
- Texture patch of attribute information
- the packing unit 112 arranges the acquired patches in a two-dimensional image and packs them as a video frame. For example, the packing unit 112 arranges patches of position information in a two-dimensional image and packs them as a video frame (also referred to as a geometry video frame) of position information. Further, for example, the packing unit 112 arranges patches of attribute information in a two-dimensional image and packs them as video frames (also referred to as color video frames) of attribute information.
- the packing unit 112 is controlled by the 2D data generation unit 117, and the 2D data supplied from the 2D data generation unit 117 (for example, the encoding device 100) in the manner described above in ⁇ 1.2D data addition>. Is added to a predetermined position of the color video frame.
- ⁇ Packing section 112 generates an occupancy map corresponding to these video frames. Further, the packing unit 112 performs a Dilation process on the color video frame.
- the packing unit 112 supplies the generated geometry video frame to the video encoding unit 114.
- the packing unit 112 supplies the color video frame generated in this way to the video encoding unit 115. Further, the packing unit 112 supplies the generated occupancy map to the OMap encoding unit 116.
- the packing unit 112 supplies control information on such packing to the multiplexer 118.
- the auxiliary patch information compression unit 113 performs a process related to compression of the auxiliary patch information. For example, the auxiliary patch information compression unit 113 acquires the data supplied from the patch decomposition unit 111. The auxiliary patch information compression unit 113 encodes (compresses) the auxiliary patch information included in the acquired data. The auxiliary patch information compression unit 113 supplies the encoded data of the obtained auxiliary patch information to the multiplexer 118.
- the video encoding unit 114 performs a process related to encoding of a video frame of position information (Geometry). For example, the video encoding unit 114 acquires a geometry video frame supplied from the packing unit 112. In addition, the video encoding unit 114 encodes the acquired geometry video frame by using an arbitrary two-dimensional image encoding method such as AVC or HEVC. The video encoding unit 114 supplies the encoded data (encoded data of the geometry video frame) obtained by the encoding to the multiplexer 118.
- AVC arbitrary two-dimensional image encoding method
- the video encoding unit 115 performs a process related to encoding of a video frame of attribute information (Texture). For example, the video encoding unit 115 acquires a color video frame supplied from the packing unit 112. In addition, the video encoding unit 115 encodes the obtained color video frame (for example, a color video frame to which 2D data is added) by using an arbitrary two-dimensional image encoding method such as AVC or HEVC.
- the video encoding unit 115 encodes the color video frame under the control of the 2D data generation unit 117 by the method described in ⁇ 1.2D data addition>.
- the video encoding unit 115 converts the metadata such as the syntax supplied from the 2D data generation unit 117 described above in ⁇ 1.2D data addition> into encoded data of a color video frame (bit stream). ).
- the video encoding unit 115 supplies encoded data (encoded data of a color video frame) obtained by the encoding to the multiplexer 118.
- the OMap encoding unit 116 performs a process related to encoding of an occupancy map. For example, the OMap encoding unit 116 acquires the occupancy map supplied from the packing unit 112. Further, the OMap encoding unit 116 encodes the obtained occupancy map by an arbitrary encoding method such as arithmetic encoding. The OMap encoding unit 116 supplies the encoded data (encoded data of the occupancy map) obtained by the encoding to the multiplexer 118.
- the 2D data generation unit 117 performs the processing related to the generation of the 2D data as described above in ⁇ 1.2D data addition>. For example, the 2D data generation unit 117 acquires a point cloud (3D data) input to the encoding device 100. The 2D data generation unit 117 renders a three-dimensional object represented by the point cloud, and generates a rendered image (2D data). Further, the 2D data generation unit 117 also generates information regarding the 2D data.
- the 2D data generation unit 117 supplies the generated 2D data to the packing unit 112 and controls the arrangement of the 2D data.
- the 2D data generation unit 117 supplies information (such as syntax) on the generated 2D data to the video encoding unit 115, and controls encoding of a color video frame.
- the 2D data generation unit 117 supplies information on the generated 2D data to the multiplexer 118 as metadata.
- the multiplexer 118 performs processing related to generation of a bit stream (multiplexing of information). For example, the multiplexer 118 acquires encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 113. Further, the multiplexer 118 acquires control information on packing supplied from the packing unit 112. Further, the multiplexer 118 acquires encoded data of the geometry video frame supplied from the video encoding unit 114. Further, the multiplexer 118 acquires the encoded data of the color video frame supplied from the video encoding unit 115. Further, the multiplexer 118 acquires the encoded data of the occupancy map supplied from the OMap encoding unit 116. Further, the multiplexer 118 acquires the metadata supplied from the 2D data generation unit 117.
- the multiplexer 118 multiplexes the acquired information to generate a bitstream. That is, the multiplexer 118 generates a bit stream including encoded data of the 3D data and the 2D data, and information on the 2D data. The multiplexer 118 outputs the bit stream to the outside of the encoding device 100 (transmits the bit stream to the decoding side).
- the encoding apparatus 100 adds 2D data different from 3D data to the bit stream in the video-based approach of 3D data, and thus performs decoding as described in ⁇ 1.2 Addition of Data>.
- a two-dimensional image can be displayed (reproducing 2D data included in a bit stream) without rendering a three-dimensional object. That is, a two-dimensional image can be reproduced more easily.
- FIG. 9 is a block diagram illustrating a main configuration example of the 2D data generation unit 117 in FIG.
- the 2D data generation unit 117 includes a control unit 131, a rendering unit 132, an arrangement control unit 133, a syntax generation unit 134, an encoding control unit 135, and a metadata generation unit 136.
- the control unit 131 performs processing related to rendering control. For example, the control unit 131 receives information (for example, a control command or the like) related to rendering control input from outside such as a user, and controls the rendering unit 132 according to the information.
- information for example, a control command or the like
- the rendering unit 132 performs processing related to rendering. For example, the rendering unit 132 acquires a point cloud (3D data) input to the encoding device 100. The rendering unit 132 renders a three-dimensional object represented by the point cloud under the control of the control unit 131, and generates a rendered image (2D data). The rendering unit 132 supplies the generated rendering image to the arrangement control unit 133.
- a point cloud (3D data)
- the rendering unit 132 renders a three-dimensional object represented by the point cloud under the control of the control unit 131, and generates a rendered image (2D data).
- the rendering unit 132 supplies the generated rendering image to the arrangement control unit 133.
- the arrangement control unit 133 performs processing related to control of the arrangement of the rendering image. For example, the arrangement control unit 133 acquires the rendering image supplied from the rendering unit 132. Further, the arrangement control unit 133 supplies the rendering image to the packing unit 112. Further, the arrangement control unit 133 controls the packing unit 112 to arrange the rendered image at a predetermined position of the color video frame. The arrangement control unit 133 supplies arrangement information indicating a spatial and temporal arrangement position of the rendering image (2D data) to the syntax generation unit 134 and the metadata generation unit 136.
- the syntax generation unit 134 performs a process related to syntax generation. For example, the syntax generation unit 134 generates a syntax based on the arrangement information supplied from the arrangement control unit 133. For example, the syntax generation unit 134 generates a syntax including two-dimensional image space position management information, two-dimensional image time position management information, and the like. The syntax generation unit 134 supplies the generated syntax to the encoding control unit 135.
- the encoding control unit 135 performs processing related to control of encoding of a color video frame. For example, the encoding control unit 135 acquires the syntax supplied from the syntax generation unit 134. Further, the encoding control unit 135 controls the video encoding unit 115 to encode a color video frame according to a desired specification. For example, the encoding control unit 135 controls the video encoding unit 115 to encode the 2D data added to the color video frame as an independently decodable encoding unit (for example, a tile, a slice, or a picture). .
- an independently decodable encoding unit for example, a tile, a slice, or a picture.
- the encoding control unit 135 supplies the acquired syntax (two-dimensional image space position management information, two-dimensional image time position management information, and the like) to the video encoding unit 115, and converts it into a bit stream of a color video frame. Add it.
- the metadata generation unit 136 performs a process related to generation of metadata. For example, the metadata generation unit 136 generates metadata based on the arrangement information supplied from the arrangement control unit 133. For example, the metadata generation unit 136 generates metadata including two-dimensional image presence / absence identification information, two-dimensional image reproduction auxiliary information, and the like. The metadata generation unit 136 supplies the generated metadata to the multiplexer 118.
- the 2D data generation unit 117 of the encoding device 100 executes a 2D data generation process in step S101 to generate 2D data.
- step S102 the patch decomposition unit 111 projects the input point cloud on a two-dimensional plane and decomposes the point cloud into patches. Further, the patch disassembly unit 111 generates auxiliary patch information on the disassembly.
- step S103 the auxiliary patch information compression unit 113 compresses (encodes) the auxiliary patch information generated in step S102.
- step S104 the packing unit 112 arranges the patches of the position information and attribute information generated in step S102 in a two-dimensional image and packs them as video frames.
- the packing unit 112 generates an occupancy map. Further, the packing unit 112 performs a Dilation process on the color video frame. The packing unit 112 generates control information on such packing.
- step S105 the packing unit 112 is controlled by the 2D data generation unit 117 to embed (add) the 2D data generated in step S101 into the color video frame generated in step S104.
- step S106 the video encoding unit 114 encodes the geometry video frame generated in step S104 by a two-dimensional image encoding method.
- step S107 the video encoding unit 115 encodes the color video frame generated in step S104 (including the color video frame to which the 2D data has been added in step S105) by a two-dimensional image encoding method. .
- step S108 the OMap encoding unit 116 encodes the occupancy map (or original information) generated in step S104 by a predetermined encoding method.
- step S109 the multiplexer 118 multiplexes the coded data generated in each of steps S106 to S108, and generates a bit stream (a 3D data bit stream to which 2D data is added) including the multiplexed data.
- step S110 the multiplexer 118 adds the metadata including the information on the 2D data generated in step S101 to the bit stream generated in step S109.
- step S111 the multiplexer 118 outputs the bit stream generated in step S110 to the outside of the encoding device 100.
- step S111 ends, the point cloud encoding processing ends.
- step S131 the control unit 131 of the 2D data generation unit 117 receives rendering control information that is information related to rendering control.
- step S132 the rendering unit 132 renders a three-dimensional object represented by the point cloud input to the encoding device 100 based on the rendering control information received in step S131, and generates a rendering image.
- step S133 the arrangement control unit 133 supplies the rendering image generated in step S132 to the packing unit 112, and controls the packing unit 112 to arrange the rendering image at a desired position in the color video frame. This process is executed corresponding to the process of step S104 in FIG.
- step S134 the syntax generation unit 134 generates a desired syntax based on the layout information indicating the layout position of the rendering image performed in step S133.
- step S135 the encoding control unit 135 controls the video encoding unit 115 based on the arrangement information and controls the encoding of the color video frame. That is, the encoding control unit 135 encodes the color video frame according to a desired specification and generates a bit stream.
- step S136 the encoding control unit 135 controls the video encoding unit 115 to add the syntax generated in step S134 to the bit stream of the color video frame generated in step S135.
- steps S135 and S136 are executed corresponding to the processing of step S107 in FIG.
- step S137 the metadata generation unit 136 generates desired metadata based on the layout information indicating the layout position of the rendering image performed in step S133.
- step S138 the metadata generation unit 136 supplies the metadata generated in step S137 to the multiplexer 118, and adds the metadata to the bit stream generated in step S109. This process is executed in correspondence with the process of step S110 in FIG.
- step S138 ends, the 2D data generation processing ends, and the processing returns to FIG.
- the encoding device 100 can generate a bit stream of 3D data to which 2D data has been added. Therefore, as described above in ⁇ 1.2D data addition>, the encoding device 100 displays the two-dimensional image on the decoding side without rendering the three-dimensional object (included in the bit stream). 2D data can be reproduced). That is, a two-dimensional image can be reproduced more easily.
- FIG. 12 is a block diagram illustrating an example of a configuration of a decoding device that is an aspect of an image processing device to which the present technology is applied.
- the decoding device 200 illustrated in FIG. 12 decodes encoded data obtained by projecting and encoding 3D data such as a point cloud on a two-dimensional plane by a decoding method for a two-dimensional image, and reconstructs the 3D data.
- Device a decoding device to which a video-based approach is applied.
- the decoding device 200 decodes a bit stream (bit stream of 3D data to which 2D data is added) generated by encoding the 3D data by the encoding device 100 (FIG. 8), and reconstructs the 3D data.
- the decoding device 200 decodes the encoded data of the 2D data included in the bit stream, and generates the 2D data without performing the rendering.
- FIG. 12 shows main components such as a processing unit and a flow of data, and the components shown in FIG. 12 are not necessarily all. That is, in the decoding device 200, a processing unit not illustrated as a block in FIG. 12 may exist, or a process or data flow not illustrated as an arrow or the like in FIG. 12 may exist.
- the decoding device 200 includes a demultiplexer 211, an auxiliary patch information decoding unit 212, a video decoding unit 213, a video decoding unit 214, an OMap decoding unit 215, an unpacking unit 216, a 3D reconstructing unit 217, And a video decoding unit 218.
- the demultiplexer 211 performs processing relating to demultiplexing of data. For example, the demultiplexer 211 acquires a bit stream input to the decoding device 200. This bit stream is supplied from the encoding device 100, for example. The demultiplexer 211 demultiplexes this bit stream, extracts encoded data of the auxiliary patch information, and supplies it to the auxiliary patch information decoding unit 212. Further, the demultiplexer 211 extracts encoded data of the geometry video frame (for example, the GOF geometry video stream 52) from the bit stream by demultiplexing, and supplies the extracted data to the video decoding unit 213.
- the geometry video frame for example, the GOF geometry video stream 52
- the demultiplexer 211 extracts encoded data of the color video frame (for example, the GOF texture video stream 54) from the bit stream by demultiplexing, and supplies the extracted data to the video decoding unit 214.
- the demultiplexer 211 extracts encoded data such as an occupancy map (for example, GOF auxiliaries information and occupancy maps 53) from the bit stream by demultiplexing, and supplies the extracted data to the OMap decoding unit 215. .
- the demultiplexer 211 extracts control information on packing from the bit stream by demultiplexing, and supplies the control information to the unpacking unit 216 (not shown).
- the demultiplexer 211 extracts a bit stream of a color video frame including 2D data (for example, the GOF texture video stream 54) from the bit stream based on metadata (for example, 2D control syntax 71) included in the bit stream. Then, it is supplied to the video decoding unit 218.
- 2D data for example, the GOF texture video stream 54
- metadata for example, 2D control syntax 71
- the auxiliary patch information decoding unit 212 performs a process related to decoding of the encoded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 212 acquires encoded data of the auxiliary patch information supplied from the demultiplexer 211. Further, the auxiliary patch information decoding unit 212 decodes (decompresses) the coded data of the auxiliary patch information included in the obtained data. The auxiliary patch information decoding unit 212 supplies the auxiliary patch information obtained by decoding to the 3D reconstruction unit 217.
- the video decoding unit 213 performs processing related to decoding encoded data of a geometry video frame. For example, the video decoding unit 213 acquires encoded data of a geometry video frame supplied from the demultiplexer 211. The video decoding unit 213 decodes the encoded data of the geometry video frame using an arbitrary two-dimensional image decoding method such as AVC or HEVC. The video decoding unit 213 supplies the decoded geometry video frame to the unpacking unit 216.
- the video decoding unit 214 performs processing related to decoding of encoded data of a color video frame. For example, the video decoding unit 214 acquires encoded data of a color video frame supplied from the demultiplexer 211. The video decoding unit 214 decodes the encoded data of the color video frame by an arbitrary two-dimensional image decoding method such as AVC or HEVC. The video decoding unit 214 supplies the color video frame obtained by the decoding to the unpacking unit 216.
- the OMap decoding unit 215 performs a process related to decoding of encoded data such as an occupancy map. For example, the OMap decoding unit 215 acquires encoded data such as an occupancy map supplied from the demultiplexer 211. The OMap decoding unit 215 decodes the encoded data such as the occupancy map by an arbitrary decoding method corresponding to the encoding method. The OMap decoding unit 215 supplies information such as the occupancy map obtained by the decoding to the unpacking unit 216.
- the unpacking unit 216 performs a process related to unpacking. For example, the unpacking unit 216 acquires a geometry video frame from the video decoding unit 213, acquires a color video frame from the video decoding unit 214, and acquires information such as an occupancy map from the OMap decoding unit 215. Further, the unpacking unit 216 unpacks a geometry video frame or a color video frame based on control information regarding packing, information such as an occupancy map, and the like. A patch (texture patch) of attribute information (Texture) is extracted.
- the unpacking unit 216 can ignore the 2D data included in the color video frame and extract only the texture patch from the color video frame. . That is, the unpacking unit 216 can easily perform unpacking similarly to the case of a bit stream to which 2D data is not added.
- the unpacking unit 216 supplies the geometry patch, the texture patch, the occupancy map, and the like obtained by unpacking as described above to the 3D reconstruction unit 217.
- the 3D reconstruction unit 217 performs a process related to the reconstruction of the point cloud. For example, the 3D reconstruction unit 217 determines a point based on the auxiliary patch information supplied from the auxiliary patch information decoding unit 212 and information such as a geometry patch, a texture patch, and an occupancy map supplied from the unpacking unit 216. Rebuild the cloud. The 3D reconstruction unit 217 outputs the reconstructed point cloud to the outside of the decoding device 200 (for example, the 3D display 35 or the like).
- the video decoding unit 218 performs a process related to decoding encoded data of 2D data included in encoded data of a color video frame. For example, the video decoding unit 218 obtains encoded data of a color video frame supplied from the demultiplexer 211. The video decoding unit 218 decodes the encoded data of the 2D data included in the encoded data of the color video frame (for example, the GOF texture video stream 54) by an arbitrary two-dimensional image decoding method such as AVC or HEVC. I do. The video decoding unit 218 outputs the decoded 2D data (for example, a rendered image) to the outside of the decoding device 200 (for example, the 2D display 36 or the like).
- the decoding device 200 for example, the 2D display 36 or the like.
- the decoding device 200 displays the two-dimensional image without rendering the three-dimensional object (in the bit stream). Included 2D data). That is, a two-dimensional image can be reproduced more easily.
- the demultiplexer 211 demultiplexes the bit stream input to the decoding device 200 in step S201.
- step S202 the demultiplexer 211 determines whether or not 2D data exists in the bit stream based on the 2D control syntax. For example, when the thumbnail_available_flag of the 2D control syntax is true and it is determined that 2D data is added, the process proceeds to step S203.
- step S203 the demultiplexer 211 extracts encoded data (GOF texture video stream) of the color video frame from the bit stream input to the decoding device 200.
- step S204 the video decoding unit 218 decodes the encoded data (2D encoded data) of the 2D data included in the encoded data (GOF texture video stream) of the color video frame extracted in step S203.
- the video decoding unit 218 decodes only the portion including the 2D data.
- the video decoding unit 218 decodes only a part of the coding unit.
- step S205 the video decoding unit 218 outputs the 2D data generated by the above-described decoding to the outside of the decoding device 200.
- step S205 When the process of step S205 is completed, the process proceeds to step S206. If it is determined in step S202 that 2D data has not been added, the process proceeds to step S206.
- step S206 the auxiliary patch information decoding unit 212 decodes the auxiliary patch information extracted from the bit stream in step S201.
- step S207 the video decoding unit 213 decodes the encoded data of the geometry video frame (the video frame of the position information) extracted from the bit stream in step S201.
- step S208 the video decoding unit 214 decodes the encoded data of the color video frame (the video frame of the attribute information) extracted from the bit stream in step S201.
- step S209 the OMap decoding unit 215 decodes encoded data such as an occupancy map extracted from the bit stream in step S201.
- the unpacking unit 216 performs unpacking. For example, the unpacking unit 216 unpacks the geometry video frame obtained by decoding the encoded data in step S207 based on information such as an occupancy map obtained by decoding the encoded data in step S209. And generate a geometry patch. Further, the unpacking unit 216 unpacks the color video frame obtained by decoding the encoded data in step S208 based on information such as an occupancy map obtained by decoding the encoded data in step S209. And generate a texture patch.
- step S211 the 3D reconstructing unit 217 determines a point cloud (three-dimensional shape) based on the auxiliary patch information obtained in step S206, the geometry patch, texture patch, and occupancy map obtained in step S210. Object).
- step S212 the 3D reconstruction unit 217 outputs the reconstructed point cloud to the outside of the decoding device 200.
- step S212 ends, the decoding processing ends.
- the decoding device 200 displays the two-dimensional image without rendering the three-dimensional object as described above in ⁇ 1.2D data addition>. 2D data included in the bit stream can be reproduced). That is, a two-dimensional image can be reproduced more easily.
- the decoding device 200 has been described as having the video decoding unit 218 separately from the video decoding unit 214. However, both the video decoding unit 214 and the video decoding unit 218 decode the encoded data of the color video frame. This is a processing unit. That is, these are decoding units having the same function as each other. Therefore, the processing performed by the video decoding unit 214 and the processing performed by the video decoding unit 218 may be performed by one video decoding unit.
- FIG. 14 is a block diagram showing a main configuration example of the decoding device 200 in that case.
- the decoding device 200 has basically the same configuration as that of FIG. 12, but differs from the case of FIG. 12 in that the video decoding unit 214 and the video decoding unit 218 are replaced with a video decoding unit. 221.
- the video decoding unit 221 performs both the processing performed by the video decoding unit 214 and the processing performed by the video decoding unit 218. For example, the video decoding unit 221 obtains encoded data of a color video frame supplied from the demultiplexer 211 and decodes the encoded data of the color video frame for arbitrary two-dimensional images such as AVC and HEVC. The decoding is performed by the method, and the color video frame obtained by the decoding is supplied to the unpacking unit 216.
- the video decoding unit 221 decodes the encoded data of the 2D data included in the encoded data of the acquired color video frame by a decoding method for an arbitrary two-dimensional image such as AVC or HEVC.
- the 2D data (for example, a rendering image) obtained by decoding is output to the outside of the decoding device 200 (for example, the 2D display 36).
- the configuration of the decoding device 200 can be simplified as compared with the case of FIG. That is, an increase in the circuit scale of the decoding device 200 can be suppressed.
- FIG. 15 is a block diagram illustrating a configuration example of hardware of a computer that executes the series of processes described above by a program.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- the input / output interface 910 is also connected to the bus 904.
- An input unit 911, an output unit 912, a storage 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, and the like.
- the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
- the communication unit 914 includes, for example, a network interface.
- the drive 915 drives a removable medium 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 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the program, for example. Is performed.
- the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
- the program executed by the computer can be recorded on a removable medium 921 as a package medium or the like and applied.
- the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable medium 921 to the drive 915.
- This 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 be installed in the ROM 902 or the storage unit 913 in advance.
- the present technology can be applied to any configuration.
- the present technology is applicable to a transmitter or a receiver (for example, a television receiver or a mobile phone) in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to a terminal by cellular communication, or
- the present invention can be applied to various electronic devices such as a device (for example, a hard disk recorder and a camera) that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, and reproduces an image from the storage medium.
- the present technology is applicable to a processor (for example, a video processor) as a system LSI (Large Scale Integration), a module (for example, a video module) using a plurality of processors, and a unit (for example, a video unit) using a plurality of modules.
- a processor for example, a video processor
- LSI Large Scale Integration
- module for example, a video module
- unit for example, a video unit
- the present invention can be implemented as a part of the apparatus, such as a set (for example, a video set) in which other functions are added to the unit.
- the present technology can be applied to a network system including a plurality of devices.
- the present technology may be implemented as cloud computing in which a plurality of devices share and process in a shared manner via a network.
- the present technology is implemented in a cloud service that provides a service relating to an image (moving image) to an arbitrary terminal such as a computer, an AV (Audio Visual) device, a portable information processing terminal, and an IoT (Internet of Things) device. You may make it.
- a system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
- the system, device, processing unit, and the like to which the present technology is applied can be used in any field such as, for example, transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, and nature monitoring. . Further, its use is arbitrary.
- “flag” is information for identifying a plurality of states, and is not limited to information used for identifying two states of true (1) or false (0), as well as three or more. Information that can identify the state is also included. Therefore, the value that the “flag” can take may be, for example, a binary value of 1/0 or a ternary value or more. That is, the number of bits constituting the "flag” is arbitrary, and may be 1 bit or a plurality of bits. Also, the identification information (including the flag) may include not only a form in which the identification information is included in the bit stream but also a form in which the difference information of the identification information with respect to a certain reference information is included in the bit stream. In the above, “flag” and “identification information” include not only the information but also difference information with respect to reference information.
- association means, for example, that one data can be used (linked) when one data is processed. That is, the data associated with each other may be collected as one data, or may be individual data.
- the information associated with the encoded data (image) may be transmitted on a different transmission path from the encoded data (image).
- information associated with encoded data (image) may be recorded on a recording medium different from the encoded data (image) (or another recording area of the same recording medium).
- the “association” may be a part of the data instead of the entire data. For example, an image and information corresponding to the image may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configuration described above as a plurality of devices (or processing units) may be configured as one device (or processing unit).
- a configuration other than those described above may be added to the configuration of each device (or each processing unit).
- a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit).
- the above-described program may be executed by an arbitrary device.
- the device only has to have necessary functions (functional blocks and the like) and can obtain necessary information.
- each step of one flowchart may be executed by one apparatus, or a plurality of apparatuses may share and execute the steps.
- the plurality of processes may be executed by one device, or may be executed by a plurality of devices.
- a plurality of processes included in one step can be executed as a plurality of steps.
- the processing described as a plurality of steps can be collectively executed as one step.
- a program executed by a computer may be configured so that processing of steps for describing a program is executed in chronological order according to the order described in this specification, or may be executed in parallel or when calls are executed. It may be executed individually at a necessary timing such as when it is touched. That is, as long as no contradiction occurs, the processing of each step may be performed in an order different from the order described above. Further, the processing of the steps for describing the program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
- a plurality of technologies related to the present technology can be independently and independently implemented unless inconsistency arises.
- some or all of the present technology described in any of the embodiments may be combined with some or all of the present technology described in other embodiments.
- a part or all of the above-described arbitrary technology may be used in combination with another technology which is not described above.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本開示は、より容易に2次元画像を再生することができるようにする画像処理装置および方法に関する。 3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、そのパッチと異なる2次元画像とを含むビデオフレームを生成し、その生成されたビデオフレームを符号化して、ビットストリームを生成する。本開示は、例えば、画像処理装置、電子機器、画像処理方法、またはプログラム等に適用することができる。
Description
本開示は、画像処理装置および方法に関し、特に、より容易に2次元画像を再生することができるようにした画像処理装置および方法に関する。
従来、例えばポイントクラウド(Point cloud)のような、3次元形状のオブジェクトを表す3Dデータの符号化方法として、例えばOctree等のような、ボクセル(Voxel)を用いた符号化があった(例えば非特許文献1参照)。
近年、その他の符号化方法として、例えば、ポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影し、2次元画像用の符号化方法で符号化するアプローチ(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案されている(例えば、非特許文献2乃至非特許文献4参照)。
このように符号化される3Dデータは、例えば、ビットストリームとして伝送され、復号後、その3次元形状のオブジェクトを任意の位置および向きのカメラで撮像した撮像画像のような2次元画像として再生された。
R. Mekuria, Student Member IEEE, K. Blom, P. Cesar., Member, IEEE, "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video",tcsvt_paper_submitted_february.pdf
Tim Golla and Reinhard Klein, "Real-time Point Cloud Compression ," IEEE, 2015
K. Mammou,"Video-based and Hierarchical Approaches Point Cloud Compression", MPEG m41649, Oct. 2017
K. Mammou,"PCC Test Model Category 2 v0,"N17248 MPEG output document, October 2017
しかしながら、このような再生方法の場合、復号して再構築した3Dデータが示す3次元形状のオブジェクトを、任意の位置および向きのカメラで撮像するようにレンダリングする必要があり、処理の負荷が増大するおそれがあった。
本開示は、このような状況に鑑みてなされたものであり、より容易に2次元画像を再生することができるようにするものである。
本技術の一側面の画像処理装置は、3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームを生成する生成部と、前記生成部により生成された前記ビデオフレームを符号化して、ビットストリームを生成する符号化部とを備える画像処理装置である。
本技術の一側面の画像処理方法は、3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームを生成し、生成された前記ビデオフレームを符号化して、ビットストリームを生成する画像処理方法である。
本技術の他の側面の画像処理装置は、3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームの符号化データを含むビットストリームより、前記符号化データを抽出する抽出部と、前記抽出部により前記ビットストリームから抽出された前記符号化データを復号して、前記2次元画像を復元する2次元復号部とを備える画像処理装置である。
本技術の他の側面の画像処理方法は、3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームの符号化データを含むビットストリームより、前記符号化データを抽出し、前記ビットストリームから抽出された前記符号化データを復号して、前記2次元画像を復元する画像処理方法である。
本技術の一側面の画像処理装置および方法においては、3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、そのパッチと異なる2次元画像とを含むビデオフレームが生成され、その生成されたビデオフレームが符号化されて、ビットストリームが生成される。
本技術の他の側面の画像処理装置および方法においては、3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、そのパッチと異なる2次元画像とを含むビデオフレームの符号化データを含むビットストリームより、その符号化データが抽出され、そのビットストリームから抽出された符号化データが復号されて、その2次元画像が復元される。
本開示によれば、画像を処理することができる。特に、より容易に2次元画像を再生することができる。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.2Dデータの付加
2.第1の実施の形態(符号化装置)
3.第2の実施の形態(復号装置)
4.第3の実施の形態(復号装置)
5.付記
1.2Dデータの付加
2.第1の実施の形態(符号化装置)
3.第2の実施の形態(復号装置)
4.第3の実施の形態(復号装置)
5.付記
<1.2Dデータの付加>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献に記載されている内容も含まれる。
非特許文献1:(上述)
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:(上述)
非特許文献5:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献6:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献7:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:(上述)
非特許文献5:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
非特許文献6:TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
非特許文献7:Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
つまり、上述の非特許文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、非特許文献6に記載されているQuad-Tree Block Structure、非特許文献7に記載されているQTBT(Quad Tree Plus Binary Tree) Block Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たすものとする。
<ポイントクラウド>
従来、点群の位置情報や属性情報等により3次元形状のオブジェクトを表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状のオブジェクトを定義するメッシュ等の3Dデータが存在した。
従来、点群の位置情報や属性情報等により3次元形状のオブジェクトを表すポイントクラウドや、頂点、エッジ、面で構成され、多角形表現を使用して3次元形状のオブジェクトを定義するメッシュ等の3Dデータが存在した。
例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合(点群)として表現する。つまり、ポイントクラウドのデータは、この点群の各点の位置情報や属性情報(例えば色等)により構成される。したがってデータ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
<ビデオベースドアプローチの概要>
このようなポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影して2次元画像化し、その2次元画像を2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案されている。
このようなポイントクラウドの位置と色情報それぞれを、小領域毎に2次元平面に投影して2次元画像化し、その2次元画像を2次元画像用の符号化方法で符号化するビデオベースドアプローチ(Video-based approach)が提案されている。
このビデオベースドアプローチでは、入力されたポイントクラウド(Point cloud)が複数のセグメンテーション(領域とも称する)に分割され、領域毎に2次元平面に投影される。なお、ポイントクラウドの位置毎のデータ(すなわち、各ポイントのデータ)は、上述のように位置情報(Geometry(Depthとも称する))と属性情報(Texture)とにより構成され、それぞれ、領域毎に2次元平面に投影される。
そして、この2次元平面に投影された各セグメンテーション(パッチとも称する)は、2次元画像に配置され、例えば、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった、2次元平面画像用の符号化方式により符号化される。
<レンダリング>
このように符号化される3Dデータは、例えば、符号化されてビットストリームとして伝送され、伝送先において、復号後、再生される。例えば、2次元画像を表示する2Dディスプレイを有するデバイスの場合、復号されて再構築された3Dデータが示す3次元形状のオブジェクトは、任意の位置および向きのカメラで撮像するようにレンダリングして、2次元画像(レンダリング画像とも称する)として2Dディスプレイに表示される。
このように符号化される3Dデータは、例えば、符号化されてビットストリームとして伝送され、伝送先において、復号後、再生される。例えば、2次元画像を表示する2Dディスプレイを有するデバイスの場合、復号されて再構築された3Dデータが示す3次元形状のオブジェクトは、任意の位置および向きのカメラで撮像するようにレンダリングして、2次元画像(レンダリング画像とも称する)として2Dディスプレイに表示される。
なお、このようにオブジェクトがレンダリングされた2次元画像(レンダリング画像)は、符号化の際の2次元画像(パッチを配置した2次元画像)とは異なる画像である。パッチを配置した2次元画像は、3Dデータを伝送するためのフォーマットであり、表示することを目的とした画像ではない。つまり、仮にこのパッチを配置した2次元画像を表示しても、その表示画像は、それを視聴するユーザには理解することができない画像(コンテンツとして成立していない画像)となる。これに対してレンダリング画像は、3次元形状のオブジェクトを2次元表現した画像である。したがって、その表示画像は、それを視聴するユーザにとって理解可能な画像(コンテンツとして成立している画像)となる。
しかしながら、この再生方法の場合、3次元形状のオブジェクトのレンダリングが必要であるが、このレンダリングの負荷が大きく、処理時間が増大するおそれがあった。例えば、ビットストリームがどのようなコンテンツのデータであるかを確認する場合であっても、そのビットストリームを復号して3Dデータを再構築し、その3Dデータが示すオブジェクトをさらにレンダリングして2次元画像として再生する必要があった。そのため、ビットストリームの内容確認に要する時間が増大するおそれがあった。また、例えば、符号化側においてお勧めのカメラワーク(レンダリングするカメラの位置や方向等)を指定し、復号側において、オブジェクトがそのお勧めのカメラワークでレンダリングされたレンダリング画像を表示する場合も、復号側によるオブジェクトのレンダリングが必要であるため、レンダリング画像の表示に要する時間が増大するおそれがあった。
また、レンダリングの負荷が大きいため、より高性能なデバイスにしか、ビットストリームの復号・再生機能を搭載することができなくなるおそれがあった。すなわち、ビットストリームの復号・再生機能を搭載不可能なデバイスが増大するおそれがあった(ビットストリームの復号・再生機能を搭載可能なデバイスが低減するおそれがあった)。
<2Dデータの付加>
そこで、図1の表10の上から1番目の行に示されるように、符号化側において、3Dデータのビデオベースドアプローチにおいて、ビットストリームに、3Dデータとは別の2Dデータを付加するようにする。つまり、レンダリングを必要とせずに表示可能なデータを、3Dデータのビットストリームに含めるようにする。
そこで、図1の表10の上から1番目の行に示されるように、符号化側において、3Dデータのビデオベースドアプローチにおいて、ビットストリームに、3Dデータとは別の2Dデータを付加するようにする。つまり、レンダリングを必要とせずに表示可能なデータを、3Dデータのビットストリームに含めるようにする。
このようにすることにより、復号側において、3次元形状のオブジェクトのレンダリングを行わずに、2次元画像を表示する(ビットストリームに含まれる2Dデータを再生する)ことができる。
例えば、図2の復号側において、3Dデータを3次元コンテンツとして3Dディスプレイ35に表示する場合は、3Dデータデコーダ32がその3Dデータのビットストリームを復号して3Dデータ(例えばPoint Cloud)を再構築し、3Dディスプレイ35がその3Dデータを表示する。
これに対して、例えば、図2の復号側において、3Dデータを2次元画像として2Dディスプレイ36に表示する場合、3Dデータデコーダ32がその3Dデータのビットストリームを復号して3Dデータを再構築し、レンダラ34がその3Dデータをレンダリングしてレンダリング画像(2次元画像)を生成し、2Dディスプレイ36がそのレンダリング画像を表示する。つまり、この場合、レンダリング処理が必要であり、負荷が増大するおそれがあった。
これに対して、ビットストリームに2Dデータ(例えばレンダリング画像)が付加されている場合、デマルチプレクサ31がそのビットストリームから2Dデータの符号化データを抽出し、2Dビデオデコーダ33がその符号化データを復号して2次元画像を生成し、2Dディスプレイ36がその2次元画像を表示することができる。つまり、復号側のレンダリング処理をスキップ(省略)することができる。
つまり、より容易に2次元画像を表示することができる。したがって、例えば、ビットストリームの内容を示す2次元画像をビットストリームに含めることにより、復号側において、3次元形状のオブジェクトのレンダリングを行わずに、その2次元画像を表示することができる。したがって、より高速にビットストリームの内容確認を行うことができる。また、例えば、お勧めのカメラワークのレンダリング画像を2Dデータとしてビットストリームに付加することにより、復号側において、3次元形状のオブジェクトのレンダリングを行わずに、そのレンダリング画像を表示することができる。したがって、より高速にお勧めのカメラワークを確認することができる。
また、処理の負荷が大きい3次元形状のオブジェクトのレンダリングを行わずに2次元画像を表示することができるので、より低性能のデバイスにおいても、ビットストリームに含まれる2Dデータを再生することができる。したがって、ビットストリームの復号・再生機能を搭載不可能なデバイスの低減を抑制する(ビットストリームの復号・再生機能を搭載可能なデバイスを増大させる)ことができる。
<2Dデータの内容>
なお、この3Dデータのビットストリームに付加する2Dデータの内容は、3Dデータのパッチと異なるものであれば任意である。例えば、図1の表10の上から2行目に示されるように、3Dデータが示す3次元形状のオブジェクトのレンダリング画像であってもよい。
なお、この3Dデータのビットストリームに付加する2Dデータの内容は、3Dデータのパッチと異なるものであれば任意である。例えば、図1の表10の上から2行目に示されるように、3Dデータが示す3次元形状のオブジェクトのレンダリング画像であってもよい。
例えば、3Dデータが示す3次元形状のオブジェクトを所定のカメラワーク(レンダリング用カメラの位置や方向等)で撮像するように3Dデータをレンダリングしたレンダリング画像であってもよい。例えば、図2の符号化側において、3Dデータエンコーダ21が、3Dデータ(Point Cloud)を符号化する際に、符号化対象の3Dデータのレンダリング画像も符号化して符号化データを生成し、そのレンダリング画像の符号化データを、3Dデータの符号化データを含むビットストリームに付加するようにしてもよい。つまり、レンダリング画像を3Dデータのビットストリームに付加するようにしてもよい。
このようにすることにより、復号側において、レンダリングを行わずに(つまり、より容易に)、レンダリング画像を表示することができる。例えば、図2の復号側において、デマルチプレクサ31がビットストリームからレンダリング画像の符号化データを抽出し、2Dビデオデコーダが符号化データを復号することにより、レンダリング画像を得ることができる。つまり、レンダリング処理をスキップ(省略)することができる。
また、例えば、図1の表10の上から3行目に示されるように、このレンダリング画像は、推奨するカメラ位置および方向より、3Dデータが示す3次元形状のオブジェクトを撮像したようにレンダリングした画像であるようにしてもよい。つまり、このレンダリング画像は、お勧めのカメラワークでレンダリングした画像であるようにしてもよい。
例えば、図2の符号化側において、3Dデータエンコーダ21が、3Dデータ(Point Cloud)を符号化する際に、符号化対象の3Dデータのオブジェクトをお勧めのカメラワークでレンダリングしたレンダリング画像も符号化して符号化データを生成し、そのレンダリング画像の符号化データを、3Dデータの符号化データを含むビットストリームに付加するようにしてもよい。つまり、お勧めのカメラワークでレンダリングしたレンダリング画像を3Dデータのビットストリームに付加するようにしてもよい。
このようにすることにより、復号側において、符号化側により指定されるお勧めのカメラワークのレンダリング画像を、レンダリングを行わずに(つまり、より容易に)、表示することができる。例えば、図2の復号側において、デマルチプレクサ31がビットストリームからレンダリング画像の符号化データを抽出し、2Dビデオデコーダが符号化データを復号することにより、符号化側により指定されるお勧めのカメラワークのレンダリング画像を得ることができる。つまり、レンダリング処理をスキップ(省略)することができる。
なお、例えば、図1の表10の上から4行目に示されるように、このレンダリング画像は、符号化側において生成されるようにしてもよい。例えば、図2の符号化側において、レンダラ22が、符号化対象の3Dデータのオブジェクトをレンダリングしてレンダリング画像を生成し、3Dデータエンコーダ21が、そのレンダリング画像を符号化して、3Dデータのビットストリームに付加するようにしてもよい。
このようにすることにより、復号側において、符号化側において生成されたレンダリング画像を、レンダリングを行わずに(つまり、より容易に)、表示することができる。例えば、図2の復号側において、デマルチプレクサ31がビットストリームからレンダリング画像の符号化データを抽出し、2Dビデオデコーダが符号化データを復号することにより、レンダラ22が生成したレンダリング画像を得ることができる。つまり、復号側のレンダリング処理をスキップ(省略)することができる。
なお、この2Dデータは、上述の例に限定されない。この2Dデータは、レンダリング画像でなくてもよい。例えば、2Dデータは、ビットストリームに含まれる3Dデータの内容に関する情報(文字、数字、記号、図形、絵柄等)を含む画像であってもよい。このような2Dデータをビットストリームに付加することにより、復号側において、より容易に、3Dデータの内容に関する情報を表示することができる。つまり、復号側のユーザは、より高速にビットストリームの内容を把握することができる。また、ユーザは、より多様なデバイスにおいて、ビットストリームの内容を把握することができる。
また、2Dデータは、ビットストリームに含まれる3Dデータとは独立した内容の画像(無関係の画像)であってもよい。例えば、2Dデータは、ビットストリームに含まれる3Dデータが示すオブジェクトと異なるオブジェクトのレンダリング画像であってもよいし、ビットストリームに含まれる3Dデータの内容とは無関係の情報(文字、数字、記号、図形、絵柄等)を含む画像であってもよい。このような2Dデータをビットストリームに付加することにより、復号側において、より容易に、より多様な情報を表示することができる。つまり、復号側のユーザは、より高速により多様な情報を得ることができる。また、ユーザは、より多様なデバイスにおいて、より多様な情報を得ることができる。
また、2Dデータおよび3Dデータは、それぞれ、動画像であってもよいし、静止画像であってもよい。さらに、この2Dデータおよび3Dデータの再生時間の長さは、互いに同一であってもよいし、互いに異なっていてもよい。このような2Dデータをビットストリームに付加することにより、復号側において、動画像であっても静止画像であっても、より容易に2Dデータを表示することができる。つまり、復号側のユーザは、動画像であっても静止画像であっても、より高速に、その2Dデータの視聴を開始することができる。また、ユーザは、動画像であっても静止画像であっても、より多様なデバイスにおいて、その2Dデータを視聴することができる。
また、複数の2Dデータを、3Dデータのビットストリームに付加するようにしてもよい。さらに、この複数の2Dデータの再生時間の長さは、互いに同一であってもよいし、互いに異なっていてもよい。また、この複数の2Dデータが、それぞれが順次再生されるような状態で、ビットストリームに付加されるようにしてもよい。
例えば、複数の2Dデータを、それぞれが順次再生されるような状態で、ビットストリームに付加することにより、復号側において、より容易に、その複数の2Dデータを順次再生することができる。つまり、復号側のユーザは、より高速に、その複数の2Dデータの視聴を開始することができる。また、ユーザは、より多様なデバイスにおいて、この複数の2Dデータを視聴することができる。
例えば、図1の表10の上から5行目に示されるように、この複数の2Dデータとして、例えば、同一の動画像を複数回ビットストリームに付加するようにしてもよい。このようにすることにより、復号側において、より容易に、動画像を複数回再生することができる。つまり、復号側のユーザは、より高速に、その複数回の動画像視聴を開始することができる。また、ユーザは、より多様なデバイスにおいて、この複数回の動画像視聴を行うことができる。
また、例えば、図1の表10の上から5行目に示されるように、この複数の2Dデータとして、例えば、互いに異なる内容の動画像を、それぞれが順次再生されるような状態で、ビットストリームに付加するようにしてもよい。例えば、この互いに異なる内容の動画像として、互いに異なるカメラワーク(カメラの位置や方向等)によりレンダリングされた複数のレンダリング画像(動画像)をビットストリームに付加するようにしてもよい。このようにすることにより、復号側において、より容易に、複数の視点の(複数のカメラワークの)レンダリング画像を表示する(各視点の(各カメラワークの)レンダリング画像を順次表示する)ことができる。つまり、復号側のユーザは、より高速に、その複数の視点のレンダリング画像の視聴を開始することができる。また、ユーザは、より多様なデバイスにおいて、この複数の視点のレンダリング画像の視聴を行うことができる。
<2Dデータの場所>
なお、2Dデータは、ビットストリームの任意の場所に付加するようにしてもよい。例えば、ビデオフレームに2Dデータが付加されるようにしてもよい。上述したように、ポイントクラウド(3Dデータ)は、点群の位置情報および属性情報により構成される。また、ビデオベースドアプローチの場合、ポイントクラウドの位置情報と属性情報とは、それぞれセグメンテーションごとに2次元平面に投影され、パッチとしてビデオフレームにパッキングされる。このようなビデオフレームに上述の2Dデータを付加するようにしてもよい。
なお、2Dデータは、ビットストリームの任意の場所に付加するようにしてもよい。例えば、ビデオフレームに2Dデータが付加されるようにしてもよい。上述したように、ポイントクラウド(3Dデータ)は、点群の位置情報および属性情報により構成される。また、ビデオベースドアプローチの場合、ポイントクラウドの位置情報と属性情報とは、それぞれセグメンテーションごとに2次元平面に投影され、パッチとしてビデオフレームにパッキングされる。このようなビデオフレームに上述の2Dデータを付加するようにしてもよい。
このようにビデオフレームに2Dデータを付加することにより、3Dデータとともに2Dデータを符号化することができる。例えば、図2の場合、3Dデータエンコーダ21は、パッキングされたビデオフレームを、例えば、AVCやHEVC等のような2次元平面画像用の符号化方式により符号化することにより、3Dデータおよび2Dデータを符号化することができる。つまり、2Dデータの符号化をより容易に行うことができる。
また、復号側においても2Dデータの復号をより容易に行うことができる。例えば、図2の場合、2Dビデオデコーダ33は、例えば、AVCやHEVC等のような2次元平面画像用の復号方式により符号化データを復号することにより、2Dデータを生成することができる。
なお、例えば、図1の表10の上から6行目に示されるように、ポイントクラウドの属性情報のパッチがパッキングされるカラービデオフレームに2Dデータが付加されるようにしてもよい。図3に示されるように、3Dデータのビットストリーム40は、ストリームヘッダ(Stream header)41、並びに、GOFストリーム(GOF(Group of Frames) stream)42-1、GOFストリーム42-2、・・・、GOFストリーム42-n-1、およびGOFストリーム42-n(nは任意の自然数)を有する。
ストリームヘッダ41は、このビットストリーム40のヘッダ情報であり、このビットストリーム40に関する各種情報が格納される。
GOFストリーム42-1乃至GOFストリーム42-nは、それぞれ、時間方向の相関をランダムアクセス内でパッキングしたものである。つまり、これらは、所定の時間分のビットストリームである。GOFストリーム42-1乃至GOFストリーム42-nを互いに区別して説明する必要がない場合、GOFストリーム42と称する。
GOFストリーム42は、GOFヘッダ(GOF header)51、GOFジオメトリビデオストリーム(GOF geometry video stream)52、GOFオグジリアリインフォメーションアンドオキュパンシーマップス(GOF auxiliary info & occupancy maps)53、およびGOFテクスチャビデオストリーム(GOF texture video stream)54を有する。
GOFヘッダ51は、当該GOFストリーム42に対応するパラメータ61を含む。パラメータ61には、例えば、フレームの高さに関する情報(frameWidth)、フレームの横幅に関する情報(frameHeight)、オキュパンシーマップのレゾリューションに関する情報(occupancyResolution)等のパラメータが含まれる。
GOFジオメトリビデオストリーム52は、ポイントクラウドの位置情報のパッチがパッキングされるジオメトリビデオフレーム(geometry video frame)62を、例えば、AVCやHEVC等のような2次元平面画像用の符号化方式により符号化した符号化データ(ビットストリーム)である。
GOFオグジリアリインフォメーションアンドオキュパンシーマップス53は、オグジリアリインフォメーション(auxiliary info)とオキュパンシーマップ(occupancy map)64を所定の符号化方式により符号化した符号化データ(ビットストリーム)である。オキュパンシーマップ64は、2次元平面の各位置における、位置情報および属性情報の有無を示すマップ情報である。
GOFテクスチャビデオストリーム54は、カラービデオフレーム(color video frame)65を、例えば、AVCやHEVC等のような2次元平面画像用の符号化方式により符号化した符号化データ(ビットストリーム)である。このカラービデオフレーム65に、2Dデータ72を付加するようにしてもよい。
このような構成とすることにより、3Dデータとともに2Dデータを符号化することができる。例えば、図2の場合、3Dデータエンコーダ21は、パッキングされたカラービデオフレームを、例えば、AVCやHEVC等のような2次元平面画像用の符号化方式により符号化することにより、ポイントクラウドの属性情報だけでなく2Dデータも符号化することができる。つまり、2Dデータの符号化をより容易に行うことができる。
また、復号側においても2Dデータの復号をより容易に行うことができる。例えば、図2の場合、デマルチプレクサ31が、ビットストリームからカラービデオフレームの符号化データ(図3の例の場合、GOFテクスチャビデオストリーム54)を抽出し、2Dビデオデコーダ33が、例えば、AVCやHEVC等のような2次元平面画像用の復号方式によりその抽出された符号化データ(GOFテクスチャビデオストリーム54)を復号することにより、2Dデータ(図3の例の場合、2Dデータ72)を生成することができる。
なお、この場合、2Dデータ72は、ポイントクラウドとは異なる情報であるので、オキュパンシーマップ64には、この2Dデータ72は反映されていない。したがって、例えば3Dデータデコーダ32(図2)が3Dデータのビットストリーム40を復号する場合、この2Dデータ72は無視される。つまり、3Dデータデコーダ32は、2Dデータが付加されていない3Dデータのビットストリームを復号する場合と同様に、このビットストリーム40を復号することができる。つまり、容易に、3Dデータを復号することができる。
また、2Dデータは、全てのカラービデオフレームに付加するようにしてもよいし、一部のビデオフレームに付加するようにしてもよい。例えば、図1の表10の上から7行目に示されるように、カラービデオフレームが時間方向に階層符号化される場合、全部の符号化階層のビデオフレームに2Dデータが付加されるようにしてもよいし、一部の符号化階層のビデオフレームに2Dデータが付加されるようにしてもよい。
ビデオベースドアプローチの場合、1つのポイントクラウドフレームから所定数の2次元画像を生成することによりパッチの奥行を表現することができる。換言するに、1つのポイントクラウドフレームに対して、奥行方向に複数のパッチを生成することができる。その場合、パッキングされたビデオフレームを時間方向に階層符号化して、パッチの奥行方向の位置毎に符号化階層を割り当てることができる(各パッチをその奥行方向に応じた階層のビデオフレームに配置することができる)。
このような階層構造の場合、例えば3Dデータの全てのカラービデオフレームに対して先頭から順に2Dデータを付加するようにすると、符号化・復号順において後方のカラービデオフレームに2Dデータが付加されない可能性がある。つまり、3Dデータの全カラービデオフレームから2Dデータを抽出して表示すると、符号化・復号順が後方のビデオフレームがノイズ画像(2Dデータでない画像)となってしまうおそれがある。
そこで、2Dデータを、上述の階層構造の内の一部の符号化階層のカラービデオフレームにのみ付加し、全符号化階層のカラービデオフレームをその階層構造に従って符号化するようにし、2Dデータを再生する場合は、その2Dデータが付加された符号化階層のカラービデオフレームの符号化データのみを復号するようにしてもよい。例えば、1つの符号化階層のカラービデオフレームに2Dデータを付加し、全符号化階層のカラービデオフレームをその階層構造に従って符号化するようにし、2Dデータを再生する場合は、その2Dデータが付加された符号化階層のカラービデオフレームの符号化データのみを復号するようにしてもよい。このようにすることにより、復号した全てのカラービデオフレームから2Dデータを抽出することができるので、上述したノイズ画像の表示を抑制することができる。
また、2Dデータを、上述の階層構造の内の全部の符号化階層のカラービデオフレームに付加するようにしてもよい。例えば、符号化階層構造の全てのカラービデオフレームに対して先頭から順に2Dデータを付加するようにしてもよい。その場合、同一の2Dデータを繰り返し付加するようにしてもよい。例えば、あるカラービデオフレームに対して2次元動画像の最後のフレームの画像が付加されると、その次以降のカラービデオフレームに対して、再び、その2Dデータの画像が最初のフレームから付加されるようにしてもよい。このようにすることにより、復号した全てのカラービデオフレームから2Dデータを抽出することができるので、上述したノイズ画像の表示を抑制することができる。
例えば、2Dデータを3Dデータのレンダリング画像とする場合、所定のカメラワークでレンダリングされた各レンダリング画像を、全階層のカラービデオフレームに対して先頭から順に付加し、最後のレンダリング画像を付加後、残りのカラービデオフレームに対して、一度付加したレンダリング画像を、再度、最初のレンダリング画像から順に付加するようにしてもよい。このようにすることにより、復号側において、1本のレンダリング画像の動画像を繰り返し表示するようにすることができる。
また、新たな2Dデータを付加するようにしてもよい。例えば、あるカラービデオフレームに対して2次元が動画像の最後のフレームの画像が付加されると、その次以降のカラービデオフレームに対して、新たな2Dデータの画像が最初のフレームから付加されるようにしてもよい。このようにすることにより、復号した全てのカラービデオフレームから2Dデータを抽出することができるので、上述したノイズ画像の表示を抑制することができる。
例えば、2Dデータを3Dデータのレンダリング画像とする場合、所定のカメラワークでレンダリングされた各レンダリング画像を、全階層のカラービデオフレームに対して先頭から順に付加し、最後のレンダリング画像を付加後、新たなカメラワークでレンダリングされた各レンダリング画像を、残りのカラービデオフレームに対して順に付加するようにしてもよい。このようにすることにより、復号側において、複数本のレンダリング画像の動画像を順次表示するようにすることができる。
なお、カラービデオフレームをスケーラブルに階層符号化する場合も、同様に、全部の階層のビデオフレームに2Dデータが付加されるようにしてもよいし、一部の階層のビデオフレームに2Dデータが付加されるようにしてもよい。
なお、2Dデータは、カラービデオフレーム以外に付加されるようにしてもよい。例えば、ジオメトリビデオフレームに2Dデータを付加するようにしてもよい。
<2Dデータ用シンタックス>
以上のような3Dデータのビットストリームに付加する2Dデータに関する情報を、さらにビットストリームに含めるようにしてもよい。この2Dデータに関する情報は、どのような情報であってもよい。
以上のような3Dデータのビットストリームに付加する2Dデータに関する情報を、さらにビットストリームに含めるようにしてもよい。この2Dデータに関する情報は、どのような情報であってもよい。
また、この2Dデータに関する情報は、ビットストリームの任意の位置に付加するようにしてもよい。例えば、2Dデータに関する情報をメタデータとして、ビットストリームのヘッダに付加するようにしてもよい。例えば、図3に示されるように、ビットストリーム40のストリームヘッダ41に、2D制御シンタックス(2D Control Syntax)71として付加するようにしてもよい。
例えば、図1の表10の上から8行目に示されるように、2次元画像に関する情報が、ビットストリームに2次元画像のデータが含まれているか否かを示す2次元画像有無識別情報を含むようにしてもよい。
2D制御シンタックス71の例を図4に示す。図4に示されるように、2D制御シンタックス71として、thumbnail_available_flagが伝送されるようにしてもよい。thumbnail_available_flagは、そのビットストリーム内に2Dデータが存在するか否か(2Dデータが付加されたか否か)を示すフラグ情報(すなわち、2次元画像有無識別情報)である。このフラグ情報が真(例えば「1」)の場合、そのビットストリーム内に2Dデータが存在することを示す。また、このフラグ情報が偽(例えば「0」)の場合、そのビットストリーム内に2Dデータが存在しないことを示す。
また、例えば図1の表10の上から11行目に示されるように、2次元画像に関する情報が、2次元画像の再生を補助する2次元画像再生補助情報を含むようにしてもよい。例えば、thumbnail_available_flagが真の場合(if(thumbnail_available_flag){)、2D制御シンタックス71として、num_rendering_view、InsertionMethod、SeparationID、およびIndependentDecodeflagが伝送されるようにしてもよい。これらのシンタックスは、2次元画像の再生を補助する2次元画像再生補助情報である。
num_rendering_viewは、レンダリング済みの視点数(カメラワークの数)を示す情報である。InsertionMethodは、LayerIDやTemporalIDでレイヤを分けて2Dデータを付加しているか、または、リピート等によって2Dデータを付加しているか(全レイヤに2Dデータを付加しているか)を示す情報である。なお、LayerIDやTemporalIDでレイヤを分けて2Dデータを付加している場合、AVCやHEVCのデコーダの動作変更が必要になる。つまり、この情報に基づいてそのデコーダの動作変更を行うことができる。SeparationIDは、LayerIDまたはTemporalIDの切れ目を示す情報である。この情報をAVCやHEVCのデコーダに渡すことにより、特定のレイヤのみを表示させることができる。
IndependentDecodeflagは、2Dデータ部分がタイル(Tile)等によって独立に復号可能であるか否かを示すフラグ情報である。このフラグ情報が真(例えば「1」)の場合、2Dデータを独立に復号することができることを示す。また、このフラグ情報が偽(例えば「0」)の場合、2Dデータを独立に復号することができないことを示す。
また、IndependentDecodeflagが真の場合(if(IndependentDecodeflag){)、2D制御シンタックス71としてMCTS_IDが伝送されるようにしてもよい。MCTS_IDは、別途MCTS SEI(Motion-Constrained Tile Sets Suplemental Enhancement Information)において定義されている特定のタイル部分を復号するために指定するタイルの識別情報である。
もちろん、図4に示されるシンタックスは一例であり、2D制御シンタックス71にどのようなシンタックスが含まれるようにしてもよい。
また、例えば図1の表10の上から9行目に示されるように、2次元画像に関する情報が、2次元画像が付加された空間方向の位置を管理する2次元画像空間位置管理情報を含むようにしてもよい。例えば図5に示されるように、def_disp_win_left_offset、def_disp_win_right_offset、def_disp_win_top_offset、およびdef_disp_win_bottom_offsetが伝送されるようにしてもよい。これらのシンタックスは、2次元画像が付加された空間方向の位置を管理する2次元画像空間位置管理情報である。
def_disp_win_left_offsetは、カラービデオフレーム65の左端を基準とする2Dデータ72の左端のオフセットを示す情報である。def_disp_win_right_offsetは、カラービデオフレーム65の左端を基準とする2Dデータ72の右端のオフセットを示す情報である。def_disp_win_top_offsetは、カラービデオフレーム65の上端を基準とする2Dデータ72の上端のオフセットを示す情報である。def_disp_win_bottom_offsetは、カラービデオフレーム65の上端を基準とする2Dデータ72の下端のオフセットを示す情報である。つまり、これらの情報により、付加された2Dデータの位置を特定することができる。つまり、デコーダは、これらの情報に基づいて、より容易に、カラービデオフレームに付加された2Dデータを抽出することができる。つまり、より容易に2Dデータを再生することができる。
なお、これらの情報(def_disp_win_offset)はHEVCにおいて規定される情報である。例えば、図6のAに示されるようなシンタックスとしてこれらの情報が伝送される。つまり、HEVCのデコーダを用いてより容易に2Dデータを再生することができる。
なお、ビデオフレームの符号化・復号にAVCを用いる場合、これらの情報の代わりに、AVCにおいて規定されるCropping_offsetを用いるようにしてもよい。例えば、図6のBに示されるようなシンタックスとして、Cropping_offsetを伝送するようにしてもよい。このようにすることにより、AVCのデコーダを用いてより容易に2Dデータを再生することができる。
また、例えば図1の表10の上から10行目に示されるように、2次元画像に関する情報が、2次元画像が付加された時間方向の位置を管理する2次元画像時間位置管理情報を含むようにしてもよい。例えば図7に示されるように、カラービデオフレームを時間方向に階層符号化するとする。この場合に、TemporalIDを用いて一部の階層のカラービデオフレームにのみ2Dデータを付加するようにしてもよい。つまり、このTemporalIDが、2次元画像が付加された時間方向の位置を管理する2次元画像時間位置管理情報である。
例えば、図7のように、カラービデオフレームが2階層に階層化されているとする。この場合に、下側のVideo0の階層のビデオフレームに2Dデータを付加してTemporalID=0とし、上側のVideo1の階層のビデオフレームには2Dデータを付加しないようにしてTemporalID=1とする。このようにすることにより、デコーダは、TemporalIDに基づいて2Dデータが付加された階層のビデオフレーム(図7の例の場合、Video0の階層のビデオフレーム)のみを復号することができる。したがって、より容易にノイズ画像の再生を抑制することができる。なお、TemporalIDの代わりにLayerIDを用いるようにしてもよい。
なお、上述した2次元画像空間位置管理情報や2次元画像時間位置管理情報は、例えば、GOFテクスチャビデオストリームに含めるようにしてもよい。このようにすることにより、デコーダは、GOFテクスチャビデオストリームを復号することにより、容易に2Dデータを再生することができる。
例えば、図2において、デマルチプレクサ31は、メタデータ(例えば2D制御シンタックス71)に基づいてカラービデオフレームの符号化データ(GOFテクスチャビデオストリーム)をビットストリームから抽出し、2Dビデオデコーダ33に供給する。2Dビデオデコーダ33は、そのGOFテクスチャビデオストリームを復号し、2Dデータを抽出することにより、レンダリング画像を得ることができる。
<2Dデータの符号化>
例えば図1の表10の上から12行目に示されるように、カラービデオフレームに付加された2Dデータを、その部分だけ独立に(パッチ等とは独立に)符号化するようにしてもよい。つまり、カラービデオフレームに付加された2Dデータを、その部分だけ独立に(パッチ等とは独立に)復号することができるようにしてもよい。換言するに、2Dデータを、例えばタイル(Tile)、スライス(Slice)、またはピクチャ(Picture)のような、独立に符号化・復号可能なデータ単位としてビデオフレームに付加するようにしてもよい。
例えば図1の表10の上から12行目に示されるように、カラービデオフレームに付加された2Dデータを、その部分だけ独立に(パッチ等とは独立に)符号化するようにしてもよい。つまり、カラービデオフレームに付加された2Dデータを、その部分だけ独立に(パッチ等とは独立に)復号することができるようにしてもよい。換言するに、2Dデータを、例えばタイル(Tile)、スライス(Slice)、またはピクチャ(Picture)のような、独立に符号化・復号可能なデータ単位としてビデオフレームに付加するようにしてもよい。
このようにすることにより、デコーダ(例えば2Dビデオデコーダ33)は、GOFテクスチャビデオストリームの、その2Dデータの部分のみを復号することにより、2Dデータを得ることができる。したがって、復号の負荷の増大を抑制する(復号の負荷を低減させる)ことができる。
また、このように2Dデータを独立に符号化・復号する場合、例えば図1の表10の上から13行目に示されるように、その2Dデータ用の符号化パラメータ(他の領域とは独立に設定された符号化パラメータ)を用いて、その2Dデータを符号化・復号するようにしてもよい。このようにすることにより、2Dデータにより適した符号化パラメータを用いることができるので、符号化効率の低減を抑制する(符号化効率を向上させる)ことができる。また、2Dデータの主観的画質の低減を抑制する(主観的画質を向上させる)ことができる。
なお、1つのビデオフレーム内に付加することができる2Dデータの数は、任意である。例えば図1の表10の上から14行目に示されるように、1つのビデオフレーム内に複数の2Dデータを付加するようにしてもよい。
<2.第1の実施の形態>
<符号化装置>
次に、以上のような2Dデータの付加を実現する構成について説明する。図8は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図8に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
<符号化装置>
次に、以上のような2Dデータの付加を実現する構成について説明する。図8は、本技術を適用した画像処理装置の一態様である符号化装置の構成の一例を示すブロック図である。図8に示される符号化装置100は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
なお、図8においては、処理部やデータの流れ等の主なものを示しており、図8に示されるものが全てとは限らない。つまり、符号化装置100において、図8においてブロックとして示されていない処理部が存在したり、図8において矢印等として示されていない処理やデータの流れが存在したりしてもよい。これは、符号化装置100内の処理部等を説明する他の図においても同様である。
図8に示されるように符号化装置100は、パッチ分解部111、パッキング部112、補助パッチ情報圧縮部113、ビデオ符号化部114、ビデオ符号化部115、OMap符号化部116、2Dデータ生成部117、およびマルチプレクサ118を有する。
パッチ分解部111は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部111は、符号化装置100に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド(Point Cloud))を取得する。また、パッチ分解部111は、取得したそのポイントクラウドを複数のセグメンテーションに分解し、そのセグメンテーション毎にポイントクラウドを2次元平面に投影し、位置情報のパッチや属性情報のパッチを生成する。パッチ分解部111は、生成した各パッチに関する情報をパッキング部112に供給する。また、パッチ分解部111は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部113に供給する。
パッキング部112は、データのパッキングに関する処理を行う。例えば、パッキング部112は、パッチ分解部111からポイントの位置を示す位置情報(Geometry)のパッチに関する情報や、その位置情報に付加される色情報等の属性情報(Texture)のパッチに関する情報を取得する。
また、パッキング部112は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング部112は、位置情報のパッチを2次元画像に配置して、位置情報のビデオフレーム(ジオメトリビデオフレームとも称する)としてパッキングする。また、例えば、パッキング部112は、属性情報のパッチを2次元画像に配置して、属性情報のビデオフレーム(カラービデオフレームとも称する)としてパッキングする。
なお、パッキング部112は、2Dデータ生成部117に制御され、<1.2Dデータの付加>において上述したような方法で、2Dデータ生成部117から供給される2Dデータ(例えば、符号化装置100に入力されたポイントクラウドが表現する3次元形状のオブジェクトのレンダリング画像)を、カラービデオフレームの所定の位置に付加する。
また、パッキング部112は、これらのビデオフレームに対応するオキュパンシーマップを生成する。さらに、パッキング部112は、カラービデオフレームに対してDilation処理を行う。
パッキング部112は、このように生成したジオメトリビデオフレームをビデオ符号化部114に供給する。また、パッキング部112は、このように生成したカラービデオフレオームをビデオ符号化部115に供給する。さらに、パッキング部112は、このように生成したオキュパンシーマップをOMap符号化部116に供給する。また、パッキング部112は、このようなパッキングに関する制御情報をマルチプレクサ118に供給する。
補助パッチ情報圧縮部113は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部113は、パッチ分解部111から供給されるデータを取得する。補助パッチ情報圧縮部113は、取得したデータに含まれる補助パッチ情報を符号化(圧縮)する。補助パッチ情報圧縮部113は、得られた補助パッチ情報の符号化データをマルチプレクサ118に供給する。
ビデオ符号化部114は、位置情報(Geometry)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部114は、パッキング部112から供給されるジオメトリビデオフレームを取得する。また、ビデオ符号化部114は、その取得したジオメトリビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部114は、その符号化により得られた符号化データ(ジオメトリビデオフレームの符号化データ)をマルチプレクサ118に供給する。
ビデオ符号化部115は、属性情報(Texture)のビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部115は、パッキング部112から供給されるカラービデオフレームを取得する。また、ビデオ符号化部115は、その取得したカラービデオフレーム(例えば2Dデータが付加されたカラービデオフレーム)を、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。
その際、ビデオ符号化部115は、<1.2Dデータの付加>において上述したような方法で、2Dデータ生成部117の制御にしたがって、カラービデオフレームの符号化を行う。また、ビデオ符号化部115は、<1.2Dデータの付加>において上述したような、2Dデータ生成部117から供給されるシンタックス等のメタデータを、カラービデオフレームの符号化データ(ビットストリーム)に付加する。ビデオ符号化部115は、その符号化により得られた符号化データ(カラービデオフレームの符号化データ)をマルチプレクサ118に供給する。
OMap符号化部116は、オキュパンシーマップの符号化に関する処理を行う。例えば、OMap符号化部116は、パッキング部112から供給されるオキュパンシーマップを取得する。また、OMap符号化部116は、その取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化する。OMap符号化部116は、その符号化により得られた符号化データ(オキュパンシーマップの符号化データ)をマルチプレクサ118に供給する。
2Dデータ生成部117は、<1.2Dデータの付加>において上述したような、2Dデータの生成に関する処理を行う。例えば、2Dデータ生成部117は、符号化装置100に入力されるポイントクラウド(3Dデータ)を取得する。2Dデータ生成部117は、そのポイントクラウドが表現する3次元形状のオブジェクトをレンダリングし、レンダリング画像(2Dデータ)を生成する。また、2Dデータ生成部117は、その2Dデータに関する情報も生成する。
2Dデータ生成部117は、生成した2Dデータをパッキング部112に供給し、その2Dデータの配置を制御する。また、2Dデータ生成部117は、生成した2Dデータに関する情報(シンタックス等)をビデオ符号化部115に供給し、カラービデオフレームの符号化を制御する。さらに、2Dデータ生成部117は、生成した2Dデータに関する情報をメタデータとして、マルチプレクサ118に供給する。
マルチプレクサ118は、ビットストリームの生成(情報の多重化)に関する処理を行う。例えば、マルチプレクサ118は、補助パッチ情報圧縮部113から供給される補助パッチ情報の符号化データを取得する。また、マルチプレクサ118は、パッキング部112から供給されるパッキングに関する制御情報を取得する。さらに、マルチプレクサ118は、ビデオ符号化部114から供給されるジオメトリビデオフレームの符号化データを取得する。また、マルチプレクサ118は、ビデオ符号化部115から供給されるカラービデオフレームの符号化データを取得する。さらに、マルチプレクサ118は、OMap符号化部116から供給されるオキュパンシーマップの符号化データを取得する。また、マルチプレクサ118は、2Dデータ生成部117から供給されるメタデータを取得する。
マルチプレクサ118は、取得したそれらの情報を多重化して、ビットストリーム(Bitstream)を生成する。つまり、マルチプレクサ118は、3Dデータおよび2Dデータの符号化データと、その2Dデータに関する情報とを含むビットストリームを生成する。マルチプレクサ118は、そのビットストリームを符号化装置100の外部に出力する(復号側に伝送する)。
以上のように符号化装置100は、3Dデータのビデオベースドアプローチにおいて、ビットストリームに、3Dデータとは別の2Dデータを付加するので、<1.2Dデータの付加>において上述したように、復号側において、3次元形状のオブジェクトのレンダリングを行わずに、2次元画像を表示する(ビットストリームに含まれる2Dデータを再生する)ことができる。つまり、より容易に2次元画像を再生することができる。
<2Dデータ生成部>
図9は、図8の2Dデータ生成部117の主な構成例を示すブロック図である。図9に示される世に、2Dデータ生成部117は、制御部131、レンダリング部132、配置制御部133、シンタックス生成部134、符号化制御部135、およびメタデータ生成部136を有する。
図9は、図8の2Dデータ生成部117の主な構成例を示すブロック図である。図9に示される世に、2Dデータ生成部117は、制御部131、レンダリング部132、配置制御部133、シンタックス生成部134、符号化制御部135、およびメタデータ生成部136を有する。
制御部131は、レンダリングの制御に関する処理を行う。例えば、制御部131は、ユーザ等の外部から入力されるレンダリングの制御に関する情報(例えば、制御命令等)を受け付け、その情報に従ってレンダリング部132を制御する。
レンダリング部132は、レンダリングに関する処理を行う。例えば、レンダリング部132は、符号化装置100に入力されるポイントクラウド(3Dデータ)を取得する。また、レンダリング部132は、制御部131の制御に従って、そのポイントクラウドが表現する3次元形状のオブジェクトをレンダリングし、レンダリング画像(2Dデータ)を生成する。レンダリング部132は、生成したレンダリング画像を配置制御部133に供給する。
配置制御部133は、レンダリング画像の配置の制御に関する処理を行う。例えば、配置制御部133は、レンダリング部132より供給されるレンダリング画像を取得する。また、配置制御部133は、そのレンダリング画像をパッキング部112に供給する。さらに、配置制御部133は、パッキング部112を制御し、そのレンダリング画像をカラービデオフレームの所定の位置に配置させる。配置制御部133は、そのレンダリング画像(2Dデータ)の空間的・時間的な配置位置を示す配置情報をシンタックス生成部134およびメタデータ生成部136に供給する。
シンタックス生成部134は、シンタックスの生成に関する処理を行う。例えば、シンタックス生成部134は、配置制御部133から供給される配置情報に基づいてシンタックスを生成する。例えば、シンタックス生成部134は、2次元画像空間位置管理情報や2次元画像時間位置管理情報等を含むシンタックスを生成する。シンタックス生成部134は、生成したシンタックスを符号化制御部135に供給する。
符号化制御部135は、カラービデオフレームの符号化の制御に関する処理を行う。例えば、符号化制御部135は、シンタックス生成部134から供給されるシンタックスを取得する。また、符号化制御部135は、ビデオ符号化部115を制御し、カラービデオフレームを所望の仕様で符号化させる。例えば、符号化制御部135は、ビデオ符号化部115を制御し、カラービデオフレームに付加した2Dデータを、独立して復号可能な符号化単位(例えばタイル、スライス、ピクチャ等)として符号化させる。また、符号化制御部135は、取得したシンタックス(2次元画像空間位置管理情報や2次元画像時間位置管理情報等)をビデオ符号化部115に供給し、それをカラービデオフレームのビットストリームに付加させる。
メタデータ生成部136は、メタデータの生成に関する処理を行う。例えばメタデータ生成部136は、配置制御部133から供給される配置情報に基づいてメタデータを生成する。例えば、メタデータ生成部136は、2次元画像有無識別情報や2次元画像再生補助情報等を含むメタデータを生成する。メタデータ生成部136は、その生成したメタデータをマルチプレクサ118に供給する。
<符号化処理の流れ>
次に、符号化装置100により実行される符号化処理の流れの例を、図10のフローチャートを参照して説明する。
次に、符号化装置100により実行される符号化処理の流れの例を、図10のフローチャートを参照して説明する。
符号化処理が開始されると、符号化装置100の2Dデータ生成部117は、ステップS101において、2Dデータ生成処理を実行し、2Dデータを生成する。
ステップS102において、パッチ分解部111は、入力されたポイントクラウドを2次元平面に投影し、パッチに分解する。また、パッチ分解部111は、その分解についての補助パッチ情報を生成する。
ステップS103において、補助パッチ情報圧縮部113は、ステップS102において生成された補助パッチ情報を圧縮(符号化)する。
ステップS104において、パッキング部112は、ステップS102において生成された位置情報や属性情報の各パッチを2次元画像に配置してビデオフレームとしてパッキングする。また、パッキング部112は、オキュパンシーマップを生成する。さらに、パッキング部112は、カラービデオフレームに対してDilation処理を行う。また、パッキング部112は、このようなパッキングに関する制御情報を生成する。
ステップS105において、パッキング部112は、2Dデータ生成部117により制御されて、ステップS101において生成された2Dデータを、ステップS104において生成されたカラービデオフレームに埋め込む(付加する)。
ステップS106において、ビデオ符号化部114は、ステップS104において生成されたジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。
ステップS107において、ビデオ符号化部115は、ステップS104において生成されたカラービデオフレーム(ステップS105において2Dデータが付加されたカラービデオフレームを含む)を、2次元画像用の符号化方法により符号化する。
ステップS108において、OMap符号化部116は、ステップS104において生成されたオキュパンシーマップ(やオジリアリインフォメーション)を、所定の符号化方法により符号化する。
ステップS109において、マルチプレクサ118は、ステップS106乃至ステップS108のそれぞれにおいて生成された符号化データを多重化し、それらを含むビットストリーム(2Dデータが付加された3Dデータのビットストリーム)を生成する。
ステップS110において、マルチプレクサ118は、ステップS109において生成されたビットストリームに、ステップS101において生成された、2Dデータに関する情報を含むメタデータを付加する。
ステップS111において、マルチプレクサ118は、ステップS110において生成したビットストリームを符号化装置100の外部に出力する。
ステップS111の処理が終了すると、ポイントクラウド符号化処理が終了する。
<2Dデータ生成処理の流れ>
次に、図10のステップS101において実行される2Dデータ生成処理の流れの例を、図11のフローチャートを参照して説明する。
次に、図10のステップS101において実行される2Dデータ生成処理の流れの例を、図11のフローチャートを参照して説明する。
2Dデータ生成処理が開始されると、2Dデータ生成部117の制御部131は、ステップS131において、レンダリングの制御に関する情報であるレンダリング制御情報を受け付ける。
ステップS132において、レンダリング部132は、ステップS131において受け付けたレンダリング制御情報に基づいて、符号化装置100に入力されるポイントクラウドが表現する3次元形状のオブジェクトをレンダリングし、レンダリング画像を生成する。
ステップS133において、配置制御部133は、ステップS132において生成されたレンダリング画像をパッキング部112に供給し、パッキング部112を制御して、そのレンダリング画像をカラービデオフレームの所望の位置に配置させる。この処理は、図10のステップS104の処理に対応して実行される。
ステップS134において、シンタックス生成部134は、ステップS133において行われたレンダリング画像の配置位置を示す配置情報に基づいて、所望のシンタックスを生成する。
ステップS135において、符号化制御部135は、その配置情報に基づいて、ビデオ符号化部115を制御し、カラービデオフレームの符号化を制御する。つまり、符号化制御部135は、カラービデオフレームを所望の仕様で符号化させ、ビットストリームを生成させる。
ステップS136において、符号化制御部135は、ビデオ符号化部115を制御し、ステップS134において生成されたシンタックスを、ステップS135において生成させたカラービデオフレームのビットストリームに付加させる。
なお、ステップS135およびステップS136の各処理は、図10のステップS107の処理に対応して実行される。
ステップS137において、メタデータ生成部136は、ステップS133において行われたレンダリング画像の配置位置を示す配置情報に基づいて、所望のメタデータを生成する。
ステップS138において、メタデータ生成部136は、ステップS137において生成されたメタデータをマルチプレクサ118に供給し、それをステップS109において生成されたビットストリームに付加させる。なお、この処理は、図10のステップS110の処理に対応して実行される。
ステップS138の処理が終了すると2Dデータ生成処理が終了し、処理は図10に戻る。
以上のように各処理を実行することにより、符号化装置100は、2Dデータが付加された3Dデータのビットストリームを生成することができる。したがって、符号化装置100は、<1.2Dデータの付加>において上述したように、復号側において、3次元形状のオブジェクトのレンダリングを行わずに、2次元画像を表示する(ビットストリームに含まれる2Dデータを再生する)ことができる。つまり、より容易に2次元画像を再生することができる。
<3.第2の実施の形態>
<復号装置>
図12は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図12に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを2次元画像用の復号方法により復号し、3Dデータを再構築する装置(ビデオベースドアプローチを適用した復号装置)である。例えば、復号装置200は、符号化装置100(図8)が3Dデータを符号化して生成したビットストリーム(2Dデータが付加された3Dデータのビットストリーム)を復号し、その3Dデータを再構築する。また、復号装置200は、そのビットストリームに含まれる2Dデータの符号化データを復号し、レンダリングを行わずに、2Dデータを生成する。
<復号装置>
図12は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図12に示される復号装置200は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを2次元画像用の復号方法により復号し、3Dデータを再構築する装置(ビデオベースドアプローチを適用した復号装置)である。例えば、復号装置200は、符号化装置100(図8)が3Dデータを符号化して生成したビットストリーム(2Dデータが付加された3Dデータのビットストリーム)を復号し、その3Dデータを再構築する。また、復号装置200は、そのビットストリームに含まれる2Dデータの符号化データを復号し、レンダリングを行わずに、2Dデータを生成する。
なお、図12においては、処理部やデータの流れ等の主なものを示しており、図12に示されるものが全てとは限らない。つまり、復号装置200において、図12においてブロックとして示されていない処理部が存在したり、図12において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図12に示されるように、復号装置200は、デマルチプレクサ211、補助パッチ情報復号部212、ビデオ復号部213、ビデオ復号部214、OMap復号部215、アンパッキング部216、3D再構築部217、およびビデオ復号部218を有する。
デマルチプレクサ211は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ211は、復号装置200に入力されるビットストリームを取得する。このビットストリームは、例えば、符号化装置100より供給される。デマルチプレクサ211は、このビットストリームを逆多重化し、補助パッチ情報の符号化データを抽出し、それを補助パッチ情報復号部212に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、ジオメトリビデオフレームの符号化データ(例えばGOFジオメトリビデオストリーム52)を抽出し、それをビデオ復号部213に供給する。
さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、カラービデオフレームの符号化データ(例えばGOFテクスチャビデオストリーム54)を抽出し、それをビデオ復号部214に供給する。また、デマルチプレクサ211は、逆多重化により、ビットストリームから、オキュパンシーマップ等の符号化データ(例えばGOFオグジリアリインフォメーションアンドオキュパンシーマップス53)を抽出し、それをOMap復号部215に供給する。
さらに、デマルチプレクサ211は、逆多重化により、ビットストリームから、パッキングに関する制御情報を抽出し、それをアンパッキング部216に供給する(図示せず)。
また、デマルチプレクサ211は、ビットストリームに含まれるメタデータ(例えば2D制御シンタックス71)に基づいて、ビットストリームから、2Dデータを含むカラービデオフレームのビットストリーム(例えばGOFテクスチャビデオストリーム54)を抽出し、それをビデオ復号部218に供給する。
補助パッチ情報復号部212は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部212は、デマルチプレクサ211から供給される補助パッチ情報の符号化データを取得する。また、補助パッチ情報復号部212は、その取得したデータに含まれる補助パッチ情報の符号化データを復号(伸長)する。補助パッチ情報復号部212は、復号して得られた補助パッチ情報を3D再構築部217に供給する。
ビデオ復号部213は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部213は、デマルチプレクサ211から供給されるジオメトリビデオフレームの符号化データを取得する。ビデオ復号部213は、そのジオメトリビデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。ビデオ復号部213は、その復号して得られたジオメトリビデオフレームを、アンパッキング部216に供給する。
ビデオ復号部214は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部214は、デマルチプレクサ211から供給されるカラービデオフレームの符号化データを取得する。ビデオ復号部214は、そのカラービデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。ビデオ復号部214は、その復号して得られたカラービデオフレームを、アンパッキング部216に供給する。
OMap復号部215は、オキュパンシーマップ等の符号化データの復号に関する処理を行う。例えば、OMap復号部215は、デマルチプレクサ211から供給されるオキュパンシーマップ等の符号化データを取得する。OMap復号部215は、そのオキュパンシーマップ等の符号化データを、その符号化方式に対応する任意の復号方法により復号する。OMap復号部215は、その復号して得られたオキュパンシーマップ等の情報を、アンパッキング部216に供給する。
アンパッキング部216は、アンパッキングに関する処理を行う。例えば、アンパッキング部216は、ビデオ復号部213からジオメトリビデオフレームを取得し、ビデオ復号部214からカラービデオフレームを取得し、OMap復号部215からオキュパンシーマップ等の情報を取得する。また、アンパッキング部216は、パッキングに関する制御情報やオキュパンシーマップ等の情報に基づいて、ジオメトリビデオフレームやカラービデオフレームをアンパッキングし、ビデオフレームから位置情報(Geometry)のパッチ(ジオメトリパッチ)や属性情報(Texture)のパッチ(テクスチャパッチ)等を抽出する。
ここで、オキュパンシーマップには2Dデータについての情報が含まれないので、アンパッキング部216は、カラービデオフレームに含まれる2Dデータを無視し、テクスチャパッチのみをカラービデオフレームから抽出することができる。つまり、アンパッキング部216は、2Dデータが付加されていないビットストリームの場合と同様に、容易に、アンパッキングを行うことができる。
アンパッキング部216は、以上のようにアンパッキングして得られたジオメトリパッチ、テクスチャパッチ、およびオキュパンシーマップ等を、3D再構築部217に供給する。
3D再構築部217は、ポイントクラウドの再構築に関する処理を行う。例えば、3D再構築部217は、補助パッチ情報復号部212から供給される補助パッチ情報、並びに、アンパッキング部216から供給されるジオメトリパッチ、テクスチャパッチ、オキュパンシーマップ等の情報に基づいて、ポイントクラウドを再構築する。3D再構築部217は、再構築したポイントクラウドを復号装置200の外部(例えば3Dディスプレイ35等)に出力する。
ビデオ復号部218は、カラービデオフレームの符号化データに含まれる2Dデータの符号化データの復号に関する処理を行う。例えば、ビデオ復号部218は、デマルチプレクサ211から供給されるカラービデオフレームの符号化データを取得する。ビデオ復号部218は、そのカラービデオフレームの符号化データ(例えばGOFテクスチャビデオストリーム54)に含まれる2Dデータの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号する。ビデオ復号部218は、その復号して得られた2Dデータ(例えばレンダリング画像)を、復号装置200の外部(例えば2Dディスプレイ36等)に出力する。
このような構成とすることにより、復号装置200は、<1.2Dデータの付加>において上述したように、3次元形状のオブジェクトのレンダリングを行わずに、2次元画像を表示する(ビットストリームに含まれる2Dデータを再生する)ことができる。つまり、より容易に2次元画像を再生することができる。
<ポイントクラウド復号処理の流れ>
次に、復号装置200により実行される復号処理の流れの例を、図13のフローチャートを参照して説明する。
次に、復号装置200により実行される復号処理の流れの例を、図13のフローチャートを参照して説明する。
復号処理が開始されると、デマルチプレクサ211は、ステップS201において、復号装置200に入力されたビットストリームを逆多重化する。
ステップS202において、デマルチプレクサ211は、2D制御シンタックスに基づいて、そのビットストリーム内に2Dデータが存在するか否かを判定する。例えば、2D制御シンタックスのthumbnail_available_flagが真であり、2Dデータが付加されていると判定された場合、処理はステップS203に進む。
ステップS203において、デマルチプレクサ211は、カラービデオフレームの符号化データ(GOFテクスチャビデオストリーム)を復号装置200に入力されたビットストリームから抽出する。
ステップS204において、ビデオ復号部218は、ステップS203において抽出されたカラービデオフレームの符号化データ(GOFテクスチャビデオストリーム)に含まれる2Dデータの符号化データ(2D符号化データ)を復号する。なお、カラービデオフレームの符号化データを部分復号することができる場合、ビデオ復号部218は、2Dデータを含む部分のみを復号する。例えば、2Dデータが例えばタイル、スライス、またはピクチャ等のように独立して復号可能な符号化単位で符号化されている場合、ビデオ復号部218は、その符号化単位の部分のみを復号する。
ステップS205において、ビデオ復号部218は、以上のような復号により生成した2Dデータを復号装置200の外部に出力する。
ステップS205の処理が終了すると、処理はステップS206に進む。また、ステップS202において、2Dデータが付加されていないと判定された場合、処理はステップS206に進む。
ステップS206において、補助パッチ情報復号部212は、ステップS201においてビットストリームから抽出された補助パッチ情報を復号する。
ステップS207において、ビデオ復号部213は、ステップS201においてビットストリームから抽出されたジオメトリビデオフレーム(位置情報のビデオフレーム)の符号化データを復号する。
ステップS208において、ビデオ復号部214は、ステップS201においてビットストリームから抽出されたカラービデオフレーム(属性情報のビデオフレーム)の符号化データを復号する。
ステップS209において、OMap復号部215は、ステップS201においてビットストリームから抽出されたオキュパンシーマップ等の符号化データを復号する。
ステップS210において、アンパッキング部216は、アンパッキングする。例えば、アンパッキング部216は、ステップS207において符号化データが復号されて得られたジオメトリビデオフレームを、ステップS209において符号化データが復号されて得られたオキュパンシーマップ等の情報に基づいてアンパッキングし、ジオメトリパッチを生成する。また、アンパッキング部216は、ステップS208において符号化データが復号されて得られたカラービデオフレームを、ステップS209において符号化データが復号されて得られたオキュパンシーマップ等の情報に基づいてアンパッキングし、テクスチャパッチを生成する。
ステップS211において、3D再構築部217は、ステップS206において得られた補助パッチ情報、並びに、ステップS210において得られたジオメトリパッチ、テクスチャパッチ、およびオキュパンシーマップ等に基づいて、ポイントクラウド(3次元形状のオブジェクト)を再構築する。
ステップS212において、3D再構築部217は、再構築したポイントクラウドを、復号装置200の外部に出力する。
ステップS212の処理が終了すると復号処理が終了する。
以上のように各処理を実行することにより、復号装置200は、<1.2Dデータの付加>において上述したように、3次元形状のオブジェクトのレンダリングを行わずに、2次元画像を表示する(ビットストリームに含まれる2Dデータを再生する)ことができる。つまり、より容易に2次元画像を再生することができる。
<4.第3の実施の形態>
<復号装置>
図12においては、復号装置200が、ビデオ復号部214とは別にビデオ復号部218を有するように説明したが、ビデオ復号部214およびビデオ復号部218は、ともにカラービデオフレームの符号化データを復号する処理部である。つまり、これらは互いに同様の機能を有する復号部である。したがって、ビデオ復号部214が行う処理と、ビデオ復号部218が行う処理とを1つのビデオ復号部において行うようにしてもよい。
<復号装置>
図12においては、復号装置200が、ビデオ復号部214とは別にビデオ復号部218を有するように説明したが、ビデオ復号部214およびビデオ復号部218は、ともにカラービデオフレームの符号化データを復号する処理部である。つまり、これらは互いに同様の機能を有する復号部である。したがって、ビデオ復号部214が行う処理と、ビデオ復号部218が行う処理とを1つのビデオ復号部において行うようにしてもよい。
図14は、その場合の復号装置200の主な構成例を示すブロック図である。図14の例の場合、復号装置200は、基本的に図12の場合と同様の構成を有するが、図12の場合と異なり、ビデオ復号部214およびビデオ復号部218の代わりに、ビデオ復号部221を有する。
ビデオ復号部221は、ビデオ復号部214が行う処理とビデオ復号部218が行う処理の両方を行う。例えば、ビデオ復号部221は、デマルチプレクサ211から供給されるカラービデオフレームの符号化データを取得し、そのカラービデオフレームの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号し、その復号して得られたカラービデオフレームを、アンパッキング部216に供給する。
また、例えば、ビデオ復号部221は、取得したカラービデオフレームの符号化データに含まれる2Dデータの符号化データを、例えばAVCやHEVC等の任意の2次元画像用の復号方法により復号し、その復号して得られた2Dデータ(例えばレンダリング画像)を、復号装置200の外部(例えば2Dディスプレイ36等)に出力する。
このようにすることにより、復号装置200の構成を、図12の場合よりも簡略化することができる。つまり、復号装置200の回路規模の増大を抑制することができる。
なお、復号処理の流れは、図13のフローチャートを参照して説明した場合と同様であるので、その説明は省略する。
<5.付記>
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図15に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
<本技術の適用対象>
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
本技術は、任意の構成に適用することができる。例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
また、例えば、本技術は、システム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)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
21 3Dデータエンコーダ, 22 レンダラ, 31 デマルチプレクサ, 32 3Dデータデコーダ, 33 2Dビデオデコーダ, 34 レンダラ, 35 3Dディスプレイ, 36 2Dディスプレイ, 40 ビットストリーム, 41 ストリームヘッダ, 42 GOFストリーム, 100 符号化装置, 111 パッチ分解部, 112 パッキング部, 113 補助パッチ情報圧縮部, 114 ビデオ符号化部, 115 ビデオ符号化部, 116 OMap符号化部, 117 2Dデータ生成部, 118 マルチプレクサ, 131 制御部, 132 レンダリング部, 133 配置制御部, 134 シンタックス生成部, 135 符号化制御部, 136 メタデータ生成部, 200 復号装置, 211 デマルチプレクサ, 212 補助パッチ情報復号部, 213 ビデオ復号部, 214 ビデオ復号部, 215 OMap復号部, 216 アンパッキング部, 217 3D再構築部, 218 ビデオ復号部, 221 ビデオ復号部
Claims (20)
- 3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームを生成する生成部と、
前記生成部により生成された前記ビデオフレームを符号化して、ビットストリームを生成する符号化部と
を備える画像処理装置。 - 前記2次元画像は、前記オブジェクトをレンダリングしたレンダリング画像である
請求項1に記載の画像処理装置。 - 前記レンダリング画像は、推奨するカメラ位置および方向より前記オブジェクトを撮像したようにレンダリングした画像である
請求項2に記載の画像処理装置。 - 前記生成部は、前記レンダリング画像の動画像を複数含む、前記ビデオフレームからなる動画像を生成し、
前記符号化部は、前記生成部により生成された前記動画像を符号化して前記ビットストリームを生成する
請求項3に記載の画像処理装置。 - 複数の前記レンダリング画像の動画像は、互いに同一のカメラワークで前記オブジェクトをレンダリングしたレンダリング画像である
請求項4に記載の画像処理装置。 - 前記オブジェクトをレンダリングしてレンダリング画像を生成するレンダリング部をさらに備え、
前記生成部は、前記パッチと前記レンダリング部により生成された前記レンダリング画像とを含む前記ビデオフレームを生成する
請求項2に記載の画像処理装置。 - 前記生成部は、前記ポイントクラウドの属性情報を2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むカラービデオフレームを生成する
請求項1に記載の画像処理装置。 - 前記符号化部は、複数階層構造で前記ビデオフレームを符号化し、
前記生成部は、前記複数階層構造の一部の階層の前記ビデオフレームに前記2次元画像を含む動画像を生成する
請求項1に記載の画像処理装置。 - 前記符号化部は、複数階層構造で前記ビデオフレームを符号化し、
前記生成部は、前記複数階層構造の全ての階層の前記ビデオフレームに前記2次元画像を含む動画像を生成する
請求項1に記載の画像処理装置。 - 前記符号化部は、前記2次元画像に関する情報をさらに含む前記ビットストリームを生成する
請求項1に記載の画像処理装置。 - 前記2次元画像に関する情報は、前記ビットストリームに前記2次元画像のデータが含まれているか否かを示す2次元画像有無識別情報を含む
請求項10に記載の画像処理装置。 - 前記2次元画像に関する情報は、前記2次元画像の空間方向の位置を管理する2次元画像空間位置管理情報を含む
請求項10に記載の画像処理装置。 - 前記2次元画像に関する情報は、前記2次元画像の時間方向の位置を管理する2次元画像時間位置管理情報を含む
請求項10に記載の画像処理装置。 - 前記2次元画像に関する情報は、前記2次元画像の再生を補助する2次元画像再生補助情報を含む
請求項10に記載の画像処理装置。 - 前記符号化部は、前記2次元画像を、前記パッチとは独立に符号化する
請求項1に記載の画像処理装置。 - 前記符号化部は、前記2次元画像を、前記2次元画像用の符号化パラメータを用いて符号化する
請求項15に記載の画像処理装置。 - 3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームを生成し、
生成された前記ビデオフレームを符号化して、ビットストリームを生成する
画像処理方法。 - 3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームの符号化データを含むビットストリームより、前記符号化データを抽出する抽出部と、
前記抽出部により前記ビットストリームから抽出された前記符号化データを復号して、前記2次元画像を復元する2次元復号部と
を備える画像処理装置。 - 前記ビットストリームを復号して、前記ポイントクラウドを再構築する3次元復号部をさらに備える
請求項18に記載の画像処理装置。 - 3次元形状のオブジェクトを点群として表現するポイントクラウドを2次元平面上に投影したパッチと、前記パッチと異なる2次元画像とを含むビデオフレームの符号化データを含むビットストリームより、前記符号化データを抽出し、
前記ビットストリームから抽出された前記符号化データを復号して、前記2次元画像を復元する
画像処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/257,865 US11405644B2 (en) | 2018-08-02 | 2019-07-19 | Image processing apparatus and method |
CN201980049857.3A CN112514396A (zh) | 2018-08-02 | 2019-07-19 | 图像处理设备和图像处理方法 |
EP19843809.5A EP3833029A4 (en) | 2018-08-02 | 2019-07-19 | IMAGE PROCESSING DEVICE AND METHOD |
JP2020533425A JP7331852B2 (ja) | 2018-08-02 | 2019-07-19 | 画像処理装置および方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018145658 | 2018-08-02 | ||
JP2018-145658 | 2018-08-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020026846A1 true WO2020026846A1 (ja) | 2020-02-06 |
Family
ID=69231745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/028420 WO2020026846A1 (ja) | 2018-08-02 | 2019-07-19 | 画像処理装置および方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11405644B2 (ja) |
EP (1) | EP3833029A4 (ja) |
JP (1) | JP7331852B2 (ja) |
CN (1) | CN112514396A (ja) |
WO (1) | WO2020026846A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501032A (zh) * | 2020-10-23 | 2022-05-13 | 富士通株式会社 | 视频编码装置及方法、视频解码装置及方法和编解码系统 |
WO2022166966A1 (zh) * | 2021-02-08 | 2022-08-11 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
WO2023029858A1 (zh) * | 2021-09-01 | 2023-03-09 | 腾讯科技(深圳)有限公司 | 点云媒体文件的封装与解封装方法、装置及存储介质 |
JP7438612B2 (ja) | 2021-07-20 | 2024-02-27 | テンセント・アメリカ・エルエルシー | ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7490555B2 (ja) * | 2018-08-08 | 2024-05-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
US11107249B2 (en) * | 2019-03-18 | 2021-08-31 | Sony Group Corporation | Point cloud global tetris packing |
US12047604B2 (en) * | 2019-03-19 | 2024-07-23 | Nokia Technologies Oy | Apparatus, a method and a computer program for volumetric video |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034253A1 (en) * | 2016-08-19 | 2018-02-22 | Mitsubishi Electric Corporation | Method, encoder system and non-transitory computer readable recording medium storing thereon program for encoding point cloud of representing scene |
WO2019055963A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | COMPRESSION OF CLOUD OF POINTS |
WO2019142667A1 (ja) * | 2018-01-17 | 2019-07-25 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2810159C (en) * | 2010-09-19 | 2017-04-18 | Lg Electronics Inc. | Method and apparatus for processing a broadcast signal for 3d (3-dimensional) broadcast service |
CN102724520A (zh) * | 2011-03-29 | 2012-10-10 | 青岛海信电器股份有限公司 | 视频处理方法和系统 |
US9351028B2 (en) * | 2011-07-14 | 2016-05-24 | Qualcomm Incorporated | Wireless 3D streaming server |
US9984504B2 (en) * | 2012-10-01 | 2018-05-29 | Nvidia Corporation | System and method for improving video encoding using content information |
US10318543B1 (en) * | 2014-03-20 | 2019-06-11 | Google Llc | Obtaining and enhancing metadata for content items |
US10334221B2 (en) * | 2014-09-15 | 2019-06-25 | Mantisvision Ltd. | Methods circuits devices systems and associated computer executable code for rendering a hybrid image frame |
CN105187841B (zh) * | 2015-10-16 | 2017-12-15 | 中国工程物理研究院机械制造工艺研究所 | 一种带误差反馈的三维数据编解码方法 |
CN106131535B (zh) * | 2016-07-29 | 2018-03-02 | 传线网络科技(上海)有限公司 | 视频采集方法及装置、视频生成方法及装置 |
EP3349182A1 (en) * | 2017-01-13 | 2018-07-18 | Thomson Licensing | Method, apparatus and stream for immersive video format |
WO2019197708A1 (en) * | 2018-04-09 | 2019-10-17 | Nokia Technologies Oy | An apparatus, a method and a computer program for volumetric video |
KR20210020028A (ko) * | 2018-07-12 | 2021-02-23 | 삼성전자주식회사 | 3차원 영상을 부호화 하는 방법 및 장치, 및 3차원 영상을 복호화 하는 방법 및 장치 |
-
2019
- 2019-07-19 EP EP19843809.5A patent/EP3833029A4/en not_active Withdrawn
- 2019-07-19 CN CN201980049857.3A patent/CN112514396A/zh active Pending
- 2019-07-19 JP JP2020533425A patent/JP7331852B2/ja active Active
- 2019-07-19 US US17/257,865 patent/US11405644B2/en active Active
- 2019-07-19 WO PCT/JP2019/028420 patent/WO2020026846A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034253A1 (en) * | 2016-08-19 | 2018-02-22 | Mitsubishi Electric Corporation | Method, encoder system and non-transitory computer readable recording medium storing thereon program for encoding point cloud of representing scene |
WO2019055963A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | COMPRESSION OF CLOUD OF POINTS |
WO2019142667A1 (ja) * | 2018-01-17 | 2019-07-25 | ソニー株式会社 | 画像処理装置および方法 |
Non-Patent Citations (8)
Title |
---|
EUEE S. JANG ET AL.: "Video-Based Point-Cloud-Compression Standard in MPEG: From Evidence Collection to Committee Draft", May 2019 (2019-05-01), pages 118 - 123, XP011721894, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/document/8700674> * |
JIANLE CHENELENA ALSHINAGARY J. SULLIVANJENS-RAINERJILL BOYCE: "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_V1, JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 7TH MEETING: TORINO, IT, 13 July 2017 (2017-07-13) |
K. MAMMOU: "PCC Test Model Category 2 vO", N17248 MPEG, October 2017 (2017-10-01) |
K. MAMMOU: "Video-based and Hierarchical Approaches Point Cloud Compression", MPEG M41649, October 2017 (2017-10-01) |
R. MEKURIAK. BLOMP. CESAR.: "Design, Implementation and Evaluation of a Point Cloud Codec for Tele-Immersive Video", TCSVT_PAPER |
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU, HIGH EFFICIENCY VIDEO CODING, December 2016 (2016-12-01), pages 265 |
TIM GOLLA ET AL.: "Real-time Point Cloud Compression", 17 December 2015 (2015-12-17), pages 5087 - 5092, XP032832361, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/document/7354093> * |
TIM GOLLAREINHARD KLEIN: "Real-time Point Cloud Compression", 2015, IEEE |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501032A (zh) * | 2020-10-23 | 2022-05-13 | 富士通株式会社 | 视频编码装置及方法、视频解码装置及方法和编解码系统 |
WO2022166966A1 (zh) * | 2021-02-08 | 2022-08-11 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
CN114915794A (zh) * | 2021-02-08 | 2022-08-16 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
CN114915794B (zh) * | 2021-02-08 | 2023-11-14 | 荣耀终端有限公司 | 基于二维规则化平面投影的点云编解码方法及装置 |
JP7438612B2 (ja) | 2021-07-20 | 2024-02-27 | テンセント・アメリカ・エルエルシー | ビデオベースのポイント・クラウド・コーディングのための高速パッチ生成 |
WO2023029858A1 (zh) * | 2021-09-01 | 2023-03-09 | 腾讯科技(深圳)有限公司 | 点云媒体文件的封装与解封装方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP7331852B2 (ja) | 2023-08-23 |
US11405644B2 (en) | 2022-08-02 |
EP3833029A1 (en) | 2021-06-09 |
CN112514396A (zh) | 2021-03-16 |
US20210297696A1 (en) | 2021-09-23 |
EP3833029A4 (en) | 2021-09-01 |
JPWO2020026846A1 (ja) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020026846A1 (ja) | 画像処理装置および方法 | |
US11611774B2 (en) | Image processing apparatus and image processing method for 3D data compression | |
US11721048B2 (en) | Image processing apparatus and method | |
US11741575B2 (en) | Image processing apparatus and image processing method | |
US11699248B2 (en) | Image processing apparatus and method | |
US20210027505A1 (en) | Image processing apparatus and method | |
US11399189B2 (en) | Image processing apparatus and method | |
KR20200140256A (ko) | 화상 처리 장치 및 방법 | |
US11356690B2 (en) | Image processing apparatus and method | |
US11915390B2 (en) | Image processing device and method | |
WO2020071101A1 (ja) | 画像処理装置および方法 | |
CN115398916A (zh) | 信息处理装置和信息处理方法 |
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: 19843809 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020533425 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019843809 Country of ref document: EP Effective date: 20210302 |