WO2024058614A1 - 다이나믹 메시 압축 방법 및 장치 - Google Patents

다이나믹 메시 압축 방법 및 장치 Download PDF

Info

Publication number
WO2024058614A1
WO2024058614A1 PCT/KR2023/013958 KR2023013958W WO2024058614A1 WO 2024058614 A1 WO2024058614 A1 WO 2024058614A1 KR 2023013958 W KR2023013958 W KR 2023013958W WO 2024058614 A1 WO2024058614 A1 WO 2024058614A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
difference vector
restored
texture
unit
Prior art date
Application number
PCT/KR2023/013958
Other languages
English (en)
French (fr)
Inventor
이종석
김민섭
Original Assignee
인텔렉추얼디스커버리 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔렉추얼디스커버리 주식회사 filed Critical 인텔렉추얼디스커버리 주식회사
Publication of WO2024058614A1 publication Critical patent/WO2024058614A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/177Methods 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 a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes

Definitions

  • the present invention relates to a method and device for video compression encoding and decoding, and more specifically, to a method and device for video compression encoding and decoding using dynamic mesh compression.
  • Video images are compressed and encoded by removing spatial-temporal redundancy and inter-view redundancy, and can be transmitted through communication lines or stored in a suitable form on a storage medium.
  • the present invention proposes a difference vector prediction method and device for dynamic mesh coding.
  • the difference vector prediction method proposed in the present invention seeks to provide high coding efficiency by predicting the difference vector using the motion vector used for inter-screen reference.
  • the present invention proposes a frame group-level dynamic mesh coding method and device for dynamic mesh coding.
  • the frame group unit dynamic mesh coding method proposed in the present invention seeks to provide high coding efficiency by omitting encoding/decoding of the attribute map for the current frame and using the restored attribute map within the same GOF.
  • a mesh compression method and device restores a base mesh based on geometric information obtained from a base mesh bitstream, and performs surface division on the restored base mesh. Perform, obtain a displacement vector for at least one of the vertices of the restored basic mesh and the sub-vertex generated by the surface division, and the restored basic mesh and An enhancement mesh may be restored based on the obtained difference vector, and a texture image associated with the surface of the restored enhancement mesh may be obtained.
  • the geometric information is coded based on a first prediction mode
  • the difference vector is coded based on a second prediction mode
  • the texture image is coded based on a third prediction mode.
  • the first prediction mode, the second prediction mode, and the third prediction mode may be one of an inter prediction mode or an intra prediction method.
  • At least one of the first prediction mode, the second prediction mode, or the third prediction mode may be determined as a predetermined coding unit.
  • the coding unit may be at least one of a frame, patch, surface, or vertex.
  • the mesh compression method and device can restore the current frame based on the restored enhanced mesh and the texture image.
  • the mesh compression method and device can obtain a first flag indicating whether texture image compression is used for the current frame.
  • the first flag may be signaled in units of frame groups including one or more frames.
  • the texture image when the texture image compression is used for the current frame, the texture image may be obtained by referring to the texture image of the frame coded before the current frame. there is.
  • the mesh compression method and device can obtain a second flag indicating whether to code the texture image for the current frame.
  • the second flag may be signaled on a frame basis.
  • the texture image when coding of the texture image for the current frame is omitted, has a picture order count (POC) value among frames coded before the current frame. It can be obtained by referring to the texture image of the frame closest to the current frame.
  • POC picture order count
  • the mesh compression method and device can obtain a texture index indicating a texture image in a texture video including a plurality of texture images.
  • a mesh compression device may include a processor that controls the mesh compression device, and a memory coupled to the processor and storing data, wherein the processor stores data obtained from a basic mesh bitstream. Restore a basic mesh based on geometric information, perform surface segmentation on the restored basic mesh, and obtain a difference vector for at least one of the vertices of the restored basic mesh and the sub-vertex generated by the surface segmentation. Then, an enhanced mesh can be restored based on the restored basic mesh and the obtained difference vector, and a texture image associated with the surface of the restored enhanced mesh can be obtained.
  • high coding efficiency can be provided by predicting the difference vector using the motion vector used for inter-screen reference.
  • high coding efficiency can be provided by omitting encoding/decoding of the attribute map for the current frame and using the restored attribute map within the same GOF (group of frame). You can.
  • Figure 1 shows an example of a mesh encoder and decoder according to an embodiment of the present disclosure.
  • Figure 2 shows an example of a basic mesh geometric information encoding unit according to an embodiment of the present disclosure.
  • Figure 3 shows an example of an enhanced mesh geometric information encoding unit according to an embodiment of the present disclosure.
  • Figure 4 shows an example of a mesh attribute information encoding unit according to an embodiment of the present disclosure.
  • Figure 5 shows an example of a basic mesh geometry information decoder according to an embodiment of the present disclosure.
  • Figure 6 shows an example of an enhanced mesh geometry information decoder according to an embodiment of the present disclosure.
  • Figure 7 shows an example of a mesh attribute information decoder according to an embodiment of the present disclosure.
  • Figure 8 is a diagram illustrating a mid-point based surface segmentation method according to an embodiment of the present disclosure.
  • Figure 9 is a diagram for explaining a difference vector according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram illustrating a coefficient scanning method of an image packing unit according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram illustrating an enhanced mesh geometric information encoding unit according to an embodiment of the present disclosure.
  • Figure 12 is a diagram illustrating an enhanced mesh geometry information decoder according to an embodiment of the present disclosure.
  • Figure 13 is a diagram illustrating a difference vector prediction method according to an embodiment of the present disclosure.
  • FIG. 14 is a diagram illustrating the encoding/decoding order and reference structure of basic mesh geometric information, difference vector image, and texture image according to an embodiment of the present disclosure.
  • FIG. 15 is a diagram illustrating the encoding/decoding process of a texture video according to an embodiment of the present disclosure.
  • FIG. 16 is a diagram illustrating the encoding/decoding process of a texture video according to an embodiment of the present disclosure.
  • FIG. 17 is a diagram illustrating the encoding/decoding process of a texture video according to an embodiment of the present disclosure.
  • Figure 18 is a flowchart illustrating a mesh compression process according to an embodiment of the present disclosure.
  • a mesh compression method and device restores a base mesh based on geometric information obtained from a base mesh bitstream, and performs surface division on the restored base mesh. Perform, obtain a displacement vector for at least one of the vertices of the restored basic mesh and the sub-vertex generated by the surface division, and the restored basic mesh and An enhancement mesh may be restored based on the obtained difference vector, and a texture image associated with the surface of the restored enhancement mesh may be obtained.
  • the geometric information is coded based on a first prediction mode
  • the difference vector is coded based on a second prediction mode
  • the texture image is coded based on a third prediction mode.
  • the first prediction mode, the second prediction mode, and the third prediction mode may be one of an inter prediction mode or an intra prediction method.
  • At least one of the first prediction mode, the second prediction mode, or the third prediction mode may be determined as a predetermined coding unit.
  • the coding unit may be at least one of a frame, patch, surface, or vertex.
  • the mesh compression method and device can restore the current frame based on the restored enhanced mesh and the texture image.
  • the mesh compression method and device can obtain a first flag indicating whether texture image compression is used for the current frame.
  • the first flag may be signaled in units of frame groups including one or more frames.
  • the texture image when the texture image compression is used for the current frame, the texture image may be obtained by referring to the texture image of the frame coded before the current frame. there is.
  • the mesh compression method and device can obtain a second flag indicating whether to code the texture image for the current frame.
  • the second flag may be signaled on a frame basis.
  • the texture image when coding of the texture image for the current frame is omitted, has a picture order count (POC) value among frames coded before the current frame. It can be obtained by referring to the texture image of the frame closest to the current frame.
  • POC picture order count
  • the mesh compression method and device can obtain a texture index indicating a texture image in a texture video including a plurality of texture images.
  • a mesh compression device may include a processor that controls the mesh compression device, and a memory coupled to the processor and storing data, wherein the processor stores data obtained from a basic mesh bitstream. Restore a basic mesh based on geometric information, perform surface segmentation on the restored basic mesh, and obtain a difference vector for at least one of the vertices of the restored basic mesh and the sub-vertex generated by the surface segmentation. Then, an enhanced mesh can be restored based on the restored basic mesh and the obtained difference vector, and a texture image associated with the surface of the restored enhanced mesh can be obtained.
  • some of the components of the device or some of the steps of the method may be omitted. Additionally, the order of some of the components of the device or some of the steps of the method may be changed. Additionally, other components or steps may be inserted into some of the components of the device or steps of the method.
  • each component is listed and described as each component, and at least two of each component may be combined to form one component, or one component may be divided into a plurality of components to perform a function.
  • Integrated embodiments and separate embodiments of each of these components are also included in the scope of the present invention as long as they do not deviate from the essence of the present invention.
  • the video decoding apparatus includes private security cameras, private security systems, military security cameras, military security systems, personal computers (PCs), laptop computers, portable multimedia players (PMPs, Portable MultimediaPlayers), It may be a device included in a server terminal such as a wireless communication terminal, smart phone, TV application server, and service server, and may be used as a terminal for various devices, etc., and communication to communicate with wired and wireless communication networks.
  • Various devices including communication devices such as modems, memory for storing various programs and data for decoding or predicting between screens or within screens for decoding, and microprocessors for calculating and controlling programs by executing them. It can mean.
  • the video encoded into a bitstream by the encoder is transmitted in real time or in non-real time through wired and wireless communication networks such as the Internet, wireless short-range communication network, wireless LAN network, WiBro network, and mobile communication network, or through cable or universal serial bus (USB). , Universal Serial Bus), etc., can be transmitted to a video decoding device, decoded, restored to video, and played back.
  • the bitstream generated by the encoder may be stored in memory.
  • the memory may include both volatile memory and non-volatile memory. In this specification, memory can be expressed as a recording medium that stores a bitstream.
  • a video may be composed of a series of pictures, and each picture may be divided into coding units such as blocks.
  • picture described below can be used in place of other terms with equivalent meaning, such as image, frame, etc. There will be.
  • coding unit can be used in place of other terms with equivalent meaning, such as unit block, block, etc.
  • Figure 1 shows an example of a mesh encoder and decoder according to an embodiment of the present disclosure.
  • the mesh encoder can generate a bitstream by receiving original mesh geometric information and original mesh attribute information.
  • the mesh decoder can receive a bitstream and restore mesh geometric information and attribute information.
  • the mesh geometric information may include 3D coordinate information of mesh vertices, 2D coordinates of mesh texture vertices, and connection information of vertices.
  • mesh attribute information may be a texture map.
  • a texture map may include multiple channels.
  • a texture map may be a two-dimensional image with three or more channels.
  • the channel may mean one of the color spaces of RGB, YUV, YCbCr, YCoCg, and YCgCo.
  • the channel may refer to the RGBA color space. That is, mesh attribute information may include color information of the external surface of a 3D object.
  • the mesh encoder may include a basic mesh geometric information encoder, an enhanced mesh geometric information encoder, a mesh attribute information encoder, and a multiplexer (MUX).
  • a basic mesh geometric information encoder an enhanced mesh geometric information encoder
  • a mesh attribute information encoder an enhanced mesh geometric information encoder
  • MUX multiplexer
  • the basic mesh geometric information encoding unit may receive original mesh geometric information and generate a basic mesh geometric information bitstream, restored basic mesh geometric information, or a basic mesh geometric information bitstream, restored basic mesh geometric information, and a motion vector.
  • the generated basic mesh geometry bitstream can be passed to the MUX. Additionally, the generated restored basic mesh geometric information may be transmitted to the enhanced mesh geometric information encoder. Additionally, the generated reconstructed motion vector can be transmitted to the enhanced mesh geometric information encoder.
  • the enhanced mesh geometric information encoding unit may receive the restored basic mesh geometric information and the original mesh geometric information and perform encoding to generate a bitstream and the restored mesh geometric information.
  • the generated enhanced mesh bitstream can be passed to the MUX. Additionally, the restored mesh geometric information may be transmitted to the mesh attribute information encoder.
  • the mesh property information encoding unit may receive and encode original mesh geometric information, original mesh property information, and restored mesh geometric information to generate a mesh property information bitstream.
  • the generated mesh attribute information bitstream can be transmitted to the MUX.
  • MUX can connect all input bitstreams and output them in the form of a single bitstream.
  • the mesh decoder may include a demultiplexer (DEMUX), a basic mesh geometry information decoder, an enhanced mesh geometry information decoder, and a mesh attribute information decoder.
  • DEMUX demultiplexer
  • basic mesh geometry information decoder an enhanced mesh geometry information decoder
  • mesh attribute information decoder an enhanced mesh attribute information decoder
  • DEMUX separates the input bitstream into a basic mesh geometric information bitstream, an enhanced mesh geometric information bitstream, and a mesh attribute information bitstream, and transmits them to the basic mesh geometric information decoder, the enhanced mesh geometric information decoder, and the mesh attribute information decoder, respectively. You can.
  • the basic mesh geometric information decoder may restore the basic mesh geometric information by decoding the input basic mesh geometric information decoder.
  • the restored basic mesh geometry information may be transmitted to the enhanced mesh geometry decoder.
  • the enhanced mesh geometric information decoder may receive and decode the enhanced mesh geometric information bitstream and the restored basic mesh geometric information, restore the mesh geometric information, and output it from the mesh decoder.
  • the mesh attribute information decoder may receive and decode the mesh attribute information bitstream to restore the mesh attribute information and output it from the mesh decoder.
  • Figure 2 shows an example of a basic mesh geometric information encoding unit according to an embodiment of the present disclosure.
  • the basic mesh geometric information encoder may receive original mesh geometric information, perform encoding, and output a basic mesh bitstream, restored basic mesh geometric information, and restored motion vector.
  • the basic mesh geometric information encoding unit may include a mesh downsampling unit, a geometric information encoding unit, a basic mesh geometric information storage unit, a motion prediction and compensation unit, and a motion vector encoding unit.
  • the mesh downsampling unit may receive original mesh geometric information and downsample the geometric information to generate downsampled mesh geometric information.
  • the down-sampled mesh may be referred to as a base mesh.
  • the input original mesh geometric information may be preprocessed to have the same number of vertices and connectivity when mesh down-sampling is performed and mesh surface segmentation is performed thereafter.
  • the generated basic mesh geometric information can be transmitted to the geometric information encoding unit and the motion prediction and compensation unit. Alternatively, it may be transmitted to a geometric information encoder or a motion prediction and compensation unit based on the prediction mode.
  • the prediction mode may mean intra-screen (intra) prediction or inter-screen (inter) prediction, and the corresponding information can be transmitted to the decoder through entropy encoding.
  • the geometric information encoding unit may receive basic mesh geometric information and perform encoding to generate a basic mesh bitstream. Additionally, restored basic mesh geometry can be generated. At this time, the geometric information encoding unit can perform encoding of the 3D vertex coordinates of the mesh, the 2D texture vertex coordinates, and the connectivity between vertices. Additionally, the geometric information encoding unit may use international standard mesh geometric information compression methods such as MPEG-AFX/TFAN and Google Draco. Therefore, information about the mesh compression method used in the geometric information encoder can be transmitted to the decoder through entropy encoding. The generated basic mesh bitstream can be output from the basic mesh geometric information encoder. The restored basic mesh geometry information may be transmitted to the basic mesh geometry information storage unit.
  • the motion prediction and compensation unit may receive basic mesh geometry information and restored basic mesh geometry information and perform motion prediction to generate a motion vector. Additionally, the restored basic mesh geometry information of the current frame can be generated by motion-compensating the restored basic mesh geometry information of the previous frame using the motion vector. The generated motion vector can be transmitted to the motion vector encoder. Additionally, the restored basic mesh geometry information of the current frame may be transmitted to the basic mesh geometry information storage unit and the motion vector encoder.
  • the motion vector encoder can generate a basic mesh bitstream using the input motion vector and the restored basic mesh geometry.
  • one vertex may have one or more motion vectors, and each motion vector may have one or more dimensions.
  • the size values for each dimension of the motion vector can be sequentially encoded.
  • the size values of the first dimension of the motion vectors of all vertices of the basic mesh can be entropy coded in order.
  • the order may be the traversal order of vertices determined based on the vertices and connectivity of the basic mesh.
  • the magnitude value of the second dimension of the motion vector may be encoded.
  • the motion vector encoder may encode a motion vector in units of vertices of the reconstructed basic mesh. According to the vertex traversal order, encoding can be performed in the order of the first dimension size, second dimension size, and third dimension size of the motion vector of each vertex, and then encoding can be performed on the motion vector of the next vertex.
  • a motion vector encoding method when encoding a motion vector corresponding to the current vertex, the motion vector is predicted using the reconstructed motion vector corresponding to the reconstructed neighboring vertex, and the magnitude value of each dimension of the difference vector is encoded. It can be.
  • the generated basic mesh bitstream can be output from the basic mesh geometric information encoder. Additionally, the restored basic mesh geometric information may be output from the basic mesh geometric information encoder.
  • Figure 3 shows an example of an enhanced mesh geometric information encoding unit according to an embodiment of the present disclosure.
  • the enhanced mesh geometric information encoder may receive original mesh geometric information and restored basic mesh geometric information and perform encoding to generate an enhanced mesh bitstream and restored mesh geometric information.
  • the enhanced mesh geometric information encoding unit has a mesh surface division unit, a difference vector transformation unit, a difference vector quantization unit, a difference vector image packing unit, a geometric video encoding unit, a difference vector image unpacking unit, a difference vector inverse quantization unit, and a difference vector inverse transformation unit. You can.
  • the mesh surface dividing unit may receive the restored basic mesh geometric information and divide the mesh surface to generate divided mesh geometric information.
  • a mid-point division method may be used as one of the surface division methods.
  • the surface division method can be performed multiple times, and the division number can be transmitted to the decoder through entropy encoding. Related embodiments will be described in detail later in FIG. 8.
  • the divided mesh geometric information can be differentiated from the input original mesh geometric information and input to the difference vector converter in the form of a difference vector. Additionally, the divided mesh geometric information may be output from the enhanced mesh geometric information encoder in the form of restored mesh geometric information by summing it with the restored difference vector generated from the difference vector inverse transform unit.
  • the difference vector conversion unit may convert the input difference vector to generate a difference vector conversion coefficient. At this time, the conversion may be performed repeatedly multiple times. Alternatively, conversion may be performed hierarchically. Wavelet transform can be used as an example of a hierarchical transform. Alternatively, graph-based wavelet transform can be used as a type of wavelet transform. Graph-based wavelet transformation is also called lifting transformation, and may be a method of performing prediction and update using vertices connected to the current vertex when performing transformation on the current vertex. Additionally, transformation can be performed for each dimension of the difference vector. Alternatively, the conversion may be performed after dimensional conversion of the three-dimensional difference vector to one dimension. The generated difference vector transformation coefficient may be transmitted to the difference vector quantization unit.
  • the difference vector quantization unit may receive a transform coefficient and perform quantization to generate a quantized transform coefficient. At this time, if a hierarchical transformation method is used in the difference vector transformation unit, different quantization parameters may be used for each layer. Quantization parameters used for quantization can be transmitted to the decoder through entropy encoding. The generated quantized transform coefficient may be transmitted to the difference vector image packing unit.
  • the difference vector image packing unit may generate a difference vector image by packing the received quantized difference vector transformation coefficients in the form of an image.
  • the method of packing transformation coefficients into an image can be done by traversing vertices and sequentially packing the difference vector transformation coefficients corresponding to the vertices into the image.
  • the method of traversing the vertices may use the same traversal order as the method used in the geometric information encoding unit of the basic mesh encoding unit.
  • information about the traversal method used can be transmitted to the decoder through entropy encoding.
  • depth-first traversal and prediction degree traversal methods may be used as traversal methods.
  • the depth-first traversal method may be a method of traversing vertices on the right side based on the edge of a specific mesh, and then traversing vertices on the left side.
  • the prediction degree traversal method is a method of determining the traversal order based on the number of restored neighboring vertices connected to a specific vertex. For example, since none of the initial vertices have restored neighboring vertices, one specific vertex can be encoded/decoded. Afterwards, the restored vertex and its neighboring vertices become the next traversal sequence because the number of restored neighboring vertices is 1.
  • the order of packing images may be in raster scan order.
  • size information of the image to be packed can be transmitted to the decoder through entropy encoding.
  • the image size information may include one or more of the width, height, and number of channels of the image. Alternatively, it can be packed in block-by-block Z-scan order.
  • the block size information can be transmitted to the decoder through entropy encoding.
  • the block size information may have one or more of width and height.
  • the generated difference vector image can be transmitted to the geometric video encoder.
  • the geometric video encoder can collect the input difference vector images, receive the input in the form of a video, and perform encoding to generate an enhanced mesh bitstream. Additionally, a restored difference vector image can be generated.
  • the geometric video encoding unit may use international standard video compression technologies such as H.264/AVC, H.265/HEVC, H.266/VVC, VP8, VP9, AV1, etc., and provides information on the video compression technology used. It can be transmitted to the decoder through entropy encoding.
  • the generated enhanced mesh bitstream can be output from the enhanced mesh geometric information encoder. Additionally, the generated restored difference vector image may be transmitted to the difference vector image unpacking unit.
  • the difference vector image unpacking unit may restore the quantized difference vector transformation coefficient by unpacking the input difference vector image.
  • the difference vector image unpacking unit may use the same method as the vertex traversal information and image scanning method used in the difference vector image packing unit.
  • the generated quantized difference vector transformation coefficient may be transmitted to the difference vector dequantization unit.
  • the difference vector inverse quantization unit may receive the quantized difference vector transformation coefficient and perform inverse quantization to restore the difference vector transformation coefficient.
  • the inverse quantization may use the same quantization parameter as the quantization parameter used in the difference vector quantization unit. Alternatively, it can be used by converting it into an inverse quantization parameter corresponding to the quantization parameter used in the difference vector quantization unit.
  • quantization parameters and inverse quantization parameters may have a reciprocal relationship.
  • inverse quantization can be performed using a scaled value based on the quantization parameter.
  • the restored difference vector transformation coefficient may be transmitted to the difference vector inverse transformation unit.
  • the difference vector inverse transform unit may restore the difference vector by inversely transforming the input restored difference vector transformation coefficient.
  • the transformation method used for inverse difference vector transformation may be the corresponding inverse transformation of the transformation method used in the difference vector transformation unit.
  • the restored difference vector can be added to the segmented mesh geometric information generated from the mesh surface division unit to restore the mesh geometric information, and can be output from the enhanced mesh geometric information encoder.
  • Figure 4 shows an example of a mesh attribute information encoding unit according to an embodiment of the present disclosure.
  • the mesh attribute information encoding unit may receive restored mesh geometry information, original mesh geometry information, and original mesh attribute information and encode the original mesh attribute information to generate an attribute bitstream.
  • the mesh attribute information encoding unit may include an attribute information mapping unit, a padding unit, a color space conversion unit, and an attribute video encoding unit.
  • the attribute information mapping unit receives the restored mesh geometry information, original mesh geometry information, and original mesh attribute information, maps the attribute information of the original mesh to correspond to the restored mesh geometry information based on the corresponding geometric information of the original mesh, and creates a texture map. can be created.
  • the geometric information of the restored mesh and the geometric information of the original mesh represent the same 3D object, but differences may occur due to geometric information encoding/decoding. Therefore, the attribute information mapping unit may be a process of mapping the texture map to match the restored mesh geometric information.
  • the triangle attribute information of the corresponding texture map can be mapped to the texture map of the restored mesh using the three texture vertices of the triangle face of the original mesh that are closest to the vertices of the restored mesh geometric information.
  • the generated texture map can be transmitted to the padding part.
  • the padding unit may perform padding on a texture map area that is not included in the texture vertices and triangles of the geometric information restored for the input texture map.
  • a fixed padding method that fills all values with a specific value may be used as the padding method.
  • the median bit depth of the texture map can be used.
  • a push-pull padding method may be used.
  • the push-pull padding method may be a method of filling empty space by downsampling the texture map and upsampling it again to composite it with the original image. At this time, the number of downsampling and upsampling may be 1 or more.
  • the nearest pixel padding method may be used. This may be a method of padding with the value of the texture vertex closest to each pixel position in the empty space.
  • the padded texture map can be transmitted to the color space conversion unit.
  • the color space conversion unit may perform color space conversion on the input padded texture map.
  • color space conversion may be RGB-YUV, RGB-YCbCr, RGB-YCoCg, or RGB-YCgCo conversion.
  • the texture map is 4 channels, the color space conversion cannot be performed, so color space conversion can be performed on the remaining channels except for the channel indicating transparency.
  • the conversion method used for color space conversion can be transmitted to the decoder through entropy encoding.
  • the color space converted texture map can be transmitted to the attribute video encoder.
  • the attribute video encoder may collect the input color space converted texture maps and encode them in the form of a video to generate an attribute bitstream.
  • the property video encoding unit may use international standard video compression technologies such as H.264/AVC, H.265/HEVC, H.266/VVC, VP8, VP9, AV1, etc., and information on the video compression technology used can be stored in entropy. It can be transmitted to the decoder through encoding.
  • the generated attribute bitstream can be output from the mesh attribute encoder.
  • Figure 5 shows an example of a basic mesh geometry information decoder according to an embodiment of the present disclosure.
  • the basic mesh geometry decoder may receive and decode a basic mesh bitstream to generate restored basic mesh geometric information and restored motion vectors.
  • the basic mesh geometric information decoding unit may include a geometric information decoding unit, a basic mesh geometric information storage unit, a motion vector decoding unit, and a motion compensation unit.
  • the basic mesh bitstream which is the input of the basic mesh geometric information decoder, may be transmitted to the geometric information decoder or the motion vector decoder according to the prediction mode received as high-level information from the basic mesh geometric information decoder. For example, if the prediction mode is intra-picture prediction, the basic mesh bitstream may be transmitted to the geometry decoder. In the opposite case, it may be transmitted to the motion vector decoder.
  • the geometric information decoder may restore the basic mesh geometric information by restoring the input basic mesh bitstream.
  • the restored basic mesh geometry information may be transmitted to the basic mesh geometry information storage unit.
  • the geometric information decoding unit may use a decoding method corresponding to the method used in the geometric information encoding unit of the basic mesh geometric information encoding unit.
  • the basic mesh geometric information storage unit may store the restored basic mesh geometric information of the input current frame for use in output and decoding of future frames.
  • the stored basic mesh geometric information may be output from the basic mesh geometric information decoder. Additionally, it can be transmitted to the motion vector decoder.
  • the motion vector decoder can restore the motion vector using the input basic mesh bitstream and the restored basic mesh geometric information.
  • the motion vector can be restored based on the traversal order used when encoding/decoding the restored basic mesh geometry information.
  • the residual motion vector can be restored by decoding the basic mesh bitstream, and the motion vector can be restored by adding the motion vector predicted using the motion vector of the restored neighboring vertices.
  • the restored motion vector and the restored basic mesh geometry information may be transmitted to the motion compensation unit.
  • the motion compensation unit may motion compensate the input basic mesh geometric information using the input motion vector to restore the basic mesh geometric information. At this time, motion compensation may be performed on the 3D coordinates of the vertices of the restored mesh geometric information.
  • the restored basic mesh geometric information may be transmitted to the basic mesh geometric information storage unit. Additionally, the reconstructed motion vector may be output from the basic mesh geometry information decoder.
  • Figure 6 shows an example of an enhanced mesh geometry information decoder according to an embodiment of the present disclosure.
  • the enhanced mesh geometric information decoder can receive the restored basic mesh geometric information and the enhanced mesh bitstream and restore the mesh geometric information.
  • the enhanced mesh geometric information decoding unit may include a mesh surface division unit, a geometric video decoding unit, an image unpacking unit, a difference vector inverse quantization unit, and a difference vector inverse transformation unit.
  • the mesh surface dividing unit may receive the restored basic mesh geometric information and divide the mesh surface to generate divided mesh geometric information.
  • the basic mesh segmentation method may be a method received from the enhanced mesh geometric information encoding unit. At this time, when the segmentation method is performed hierarchically, the number of repetitions can be additionally received from the encoder and segmentation can be performed for the corresponding number of repetitions.
  • the divided mesh geometric information may be output from the enhanced mesh geometric information decoder in the form of restored mesh geometric information by summing it with the restored difference vector generated from the difference vector inverse transform unit.
  • the geometric video decoder can receive an enhanced mesh bitstream, restore the difference vector video, and output it one frame at a time in the form of a difference vector image. At this time, video decoding can be performed based on information about the geometric video compression method received from the enhanced mesh geometric information decoder.
  • the geometric video decoder may use international standard video compression technologies such as H.264/AVC, H.265/HEVC, H.266/VVC, VP8, VP9, AV1, etc.
  • the restored difference vector image may be transmitted to the difference vector image unpacking unit.
  • the difference vector image unpacking unit may restore the quantized difference vector transformation coefficient by unpacking the input difference vector image.
  • the difference vector image unpacking unit may use the same method as the vertex traversal information and image scanning method used in the difference vector image packing unit of the enhanced mesh geometric information encoding unit.
  • vertex traversal information and image scanning method received from the enhanced mesh geometric information encoder may be used.
  • the generated quantized difference vector transformation coefficient may be transmitted to the difference vector dequantization unit.
  • the difference vector inverse quantization unit may receive the quantized difference vector transformation coefficient and perform inverse quantization to restore the difference vector transformation coefficient.
  • the same quantization parameter as the quantization parameter used in the difference vector quantization unit of the enhanced mesh geometric information encoder may be used for inverse quantization.
  • quantization parameters received from the enhanced mesh geometric information encoder may be used.
  • inverse quantization can be performed using a scaled value based on the quantization parameter.
  • the restored difference vector transformation coefficient may be transmitted to the difference vector inverse transformation unit.
  • the difference vector inversion unit may restore the difference vector by inversely transforming the input restored difference vector transformation coefficient.
  • the transformation method used for the difference vector inverse transformation may be the corresponding inverse transformation of the transformation method used in the difference vector transformation unit of the enhanced mesh geometric information encoding unit.
  • an inverse transformation method received from the enhanced mesh encoder may be used.
  • an inverse conversion method corresponding to the received conversion method may be used.
  • the restored difference vector can be added to the segmented mesh geometry information generated from the mesh surface division unit to restore the mesh geometry information, and can be output from the enhanced mesh geometry information decoder.
  • Figure 7 shows an example of a mesh attribute information decoder according to an embodiment of the present disclosure.
  • the mesh attribute information decoder can restore mesh attribute information by receiving an attribute bitstream and decoding it.
  • the mesh attribute information decoding unit may include an attribute information decoding unit and a color space inverse transform unit.
  • the attribute video decoder can restore the attribute bitstream, generate a texture video, output it one frame at a time, and transmit the restored texture image to the color space inversion unit.
  • the property video decoder can perform video decoding using the video compression method received from the property video encoder.
  • the color space inverse transformation unit may restore mesh attribute information by performing color space inverse transformation on the input restored texture image.
  • the color space inverse conversion method may be an inverse conversion method corresponding to the color space conversion method used in the color space conversion unit of the mesh attribute information encoding unit.
  • an inverse transformation method received from the mesh attribute information encoding unit may be used.
  • an inverse transformation method corresponding to the transformation method received from the mesh attribute information encoding unit may be used.
  • Figure 8 is a diagram illustrating a mid-point based surface segmentation method according to an embodiment of the present disclosure.
  • surface division may be performed by creating a sub-vertex at the center of an edge connecting a vertex and connecting the created sub-vertex.
  • the restored basic mesh geometric information may be expressed as a triangular mesh as shown on the left side of FIG. 8.
  • a sub-vertex may be created at the center of each edge of the triangle. By connecting the created vertices to each other, one triangle can be divided into four small triangles (or sub-triangles).
  • the midpoint-based surface segmentation method may be performed hierarchically (or recursively), and the number of divisions or repetitions may be transmitted to the decoder through entropy encoding.
  • Figure 9 is a diagram for explaining a difference vector according to an embodiment of the present disclosure.
  • a sub-vertex created through the mesh surface division unit may exist on an edge connecting two restored basic vertices.
  • the mid point-based surface segmentation method previously described in FIG. 8 may be applied, but of course, the method is not limited thereto.
  • Restored basic vertices can be mapped one-to-one with the original vertices.
  • the preprocessing process before encoding/decoding may be processed to provide one-to-one mapping between the original vertices and the restored vertices.
  • the difference vector may be a three-dimensional vector representing the difference between the original vertex and the restored basic vertex and/or sub-vertex.
  • the geometric information of the mesh can be restored by encoding and decoding the difference vector and adding it to the restored basic vertex and/or sub-vertex.
  • FIG. 10 is a diagram illustrating a coefficient scanning method of an image packing unit according to an embodiment of the present disclosure.
  • the restored basic vertex and the surface segmented sub-vertex may have a quantized difference vector transformation coefficient for each vertex.
  • the quantized difference vector transform coefficients for each vertex may be packed according to a predefined scan order to generate a difference vector image.
  • the quantized difference vector transform coefficients for each vertex are packed in 2x2 sub-region units in Z-scan order to create a difference vector image. can be created.
  • a difference vector image can be generated by packing the difference vector transformation coefficients in the reverse order of the Z-scan order.
  • the empty pixels of the difference vector image can be filled with a specific value through a padding process in the padding unit. Certain values can be set to 0.
  • FIG. 11 is a diagram illustrating an enhanced mesh geometric information encoding unit according to an embodiment of the present disclosure.
  • the enhanced mesh geometric information encoding unit includes a mesh surface division unit, a difference vector storage unit, a difference vector prediction unit, a difference vector conversion unit, a difference vector quantization unit, a difference vector image packing unit, a geometric video encoding unit, and a difference vector. It may have an image unpacking unit, a difference vector inverse quantization unit, and a difference vector inverse transformation unit.
  • the enhanced mesh geometric information encoder receives the original mesh geometric information, the restored basic mesh geometric information, and the restored motion vector and performs encoding to generate an enhanced mesh bitstream and the restored mesh geometric information. You can.
  • the mesh surface dividing unit may receive the restored basic mesh geometric information and divide the mesh surface to generate divided mesh geometric information.
  • the mid point-based surface segmentation method previously described in FIG. 8 may be applied, but is not limited thereto.
  • the divided mesh geometric information can be differentiated from the input original mesh geometric information to generate a difference vector, and can be input to the difference vector conversion unit in the form of a differential difference vector by differentiating it from the predicted difference vector generated from the difference vector prediction unit.
  • a difference vector may be generated based on the difference between the vertices of the divided mesh and the vertices of the original mesh.
  • prediction on the difference vector can be performed.
  • Encoding may be performed on the differential difference vector representing the difference between the generated difference vector and the predicted difference vector.
  • the encoder and decoder can derive (or generate) a prediction difference vector using the same method.
  • the decoder may derive a difference vector for the vertex by adding the prediction difference vector and the differential difference vector.
  • the divided mesh geometric information is output from the enhanced mesh geometric information encoder in the form of restored mesh geometric information by summing it with the restored differential difference vector generated from the difference vector inverse transform unit and the predicted difference vector generated from the difference vector prediction unit. It can be.
  • the difference between the divided mesh geometry information and the original mesh geometry information may be referred to as an original difference vector, and the difference between the original difference vector and the predicted difference vector may be referred to as a differential difference vector.
  • the differential difference vector may also be referred to as a residual difference vector.
  • the difference vector conversion unit may convert the input difference vector to generate a difference vector conversion coefficient.
  • the generated difference vector transformation coefficient may be transmitted to the difference vector quantization unit.
  • the difference vector quantization unit may receive a transform coefficient and perform quantization to generate a quantized transform coefficient.
  • the generated quantized transform coefficient may be transmitted to the difference vector image packing unit.
  • the difference vector image packing unit may generate a difference vector image by packing the received quantized difference vector transformation coefficients in the form of an image.
  • the generated difference vector image can be transmitted to the geometric video encoder.
  • the geometric video encoder may receive a combination of the input difference vector images in the form of a video and perform encoding to generate an enhanced mesh bitstream.
  • the generated enhanced mesh bitstream can be output from the enhanced mesh geometric information encoder. Additionally, the generated restored difference vector image may be transmitted to the difference vector image unpacking unit.
  • the difference vector image unpacking unit may restore the quantized difference vector transformation coefficient by unpacking the input difference vector image.
  • the generated quantized difference vector transformation coefficient may be transmitted to the difference vector dequantization unit.
  • the difference vector inverse quantization unit may receive the quantized difference vector transformation coefficient and perform inverse quantization to restore the difference vector transformation coefficient.
  • the restored difference vector transformation coefficient may be transmitted to the difference vector inverse transformation unit.
  • the difference vector inverse transform unit may restore the difference vector by inversely transforming the input restored difference vector transformation coefficient.
  • the restored difference vector can be added to the segmented mesh geometric information generated from the mesh surface division unit to restore the mesh geometric information, and can be output from the enhanced mesh geometric information encoder. Additionally, the restored difference vector may be stored in a difference vector storage unit.
  • the difference vector storage unit may store the difference vector of the current frame and transmit the stored difference vector to the difference vector prediction unit for difference vector prediction in a future frame.
  • the difference vector prediction unit may receive the restored motion vector and the restored difference vector and generate a predicted difference vector of the current frame.
  • the generated predicted difference vector may be differentiated from the original difference vector and transmitted to the difference vector conversion unit in the form of a differential difference vector. Additionally, the difference vector can be restored by summing it with the restored difference vector generated from the difference vector inverse transform unit.
  • Figure 12 is a diagram illustrating an enhanced mesh geometry information decoder according to an embodiment of the present disclosure.
  • the enhanced mesh geometric information decoding unit may include a mesh surface division unit, a difference vector prediction unit, a difference vector storage unit, a geometric video decoding unit, an image unpacking unit, a difference vector inverse quantization unit, and a difference vector inverse transformation unit. there is.
  • the enhanced mesh geometric information decoder may receive restored basic mesh geometric information, restored motion vectors, and enhanced mesh bitstream to restore mesh geometric information.
  • the mesh surface dividing unit may receive the restored basic mesh geometric information and divide the mesh surface to generate divided mesh geometric information.
  • the divided mesh geometric information can be differentiated from the input original mesh geometric information to generate a difference vector, and can be input to the difference vector conversion unit in the form of a differential difference vector by differentiating it from the predicted difference vector generated from the difference vector prediction unit.
  • the divided mesh geometric information is output from the enhanced mesh geometric information encoder in the form of restored mesh geometric information by summing it with the restored differential difference vector generated from the difference vector inversion unit and the predicted difference vector generated from the difference vector prediction unit. It can be.
  • the geometric video decoder can receive an enhanced mesh bitstream, restore the difference vector video, and output it one frame at a time in the form of a difference vector image.
  • the restored difference vector image may be transmitted to the difference vector image unpacking unit.
  • the difference vector image unpacking unit may restore the quantized difference vector transformation coefficient by unpacking the input difference vector image.
  • the generated quantized difference vector transformation coefficient may be transmitted to the difference vector dequantization unit.
  • the difference vector inverse quantization unit may receive the quantized difference vector transformation coefficient and perform inverse quantization to restore the difference vector transformation coefficient.
  • the restored difference vector transformation coefficient may be transmitted to the difference vector inverse transformation unit.
  • the difference vector inverse transform unit may restore the difference vector by inversely transforming the input restored difference vector transformation coefficient.
  • the restored difference vector can be added to the segmented mesh geometric information generated from the mesh surface division unit to restore the mesh geometric information, and can be output from the enhanced mesh geometric information encoder. Additionally, the restored difference vector may be stored in a difference vector storage unit.
  • the difference vector storage unit may store the difference vector of the current frame and transmit the stored difference vector to the difference vector prediction unit for difference vector prediction in a future frame.
  • the difference vector prediction unit may receive the restored motion vector and the restored difference vector and generate a predicted difference vector of the current frame. Additionally, the generated predicted difference vector may be added to the restored difference vector generated from the difference vector inverse transformer to restore the difference vector.
  • Figure 13 is a diagram illustrating a difference vector prediction method according to an embodiment of the present disclosure.
  • Figure 13(A) illustrates a motion vector-based difference vector rotation method
  • Figure 13(B) illustrates a normal vector-based difference vector rotation method
  • a predicted difference vector can be generated by receiving the difference vector between the reconstructed motion vector and the previous frame.
  • the difference vector prediction unit may generate a prediction difference vector using the motion vector and/or the difference vector of the previous frame.
  • the prediction difference vector may be a vector obtained by rotating the difference vector of the previous frame.
  • the prediction difference vector for the current vertex may be a vector obtained by rotating the difference vector of the vertex corresponding to the current vertex in the previous frame based on the motion vector.
  • motion vectors may be used to obtain (or derive) geometric information (i.e., positions of vertices) of the base mesh based on inter-screen prediction (or inter-frame prediction).
  • the position of the current vertex in the current frame can be determined using the position and motion vector of the corresponding vertex (i.e., the vertex corresponding to the current vertex) of the previous frame.
  • rotation transformation using Euler angles, quaternion-based rotation transformation, etc. may be used as a rotation transformation method for the difference vector.
  • the transformation parameters required for rotation transformation can be calculated based on the motion vector, as shown in FIG. 13(A).
  • a rotation transformation parameter may be calculated (or obtained) based on a normal vector.
  • a method of obtaining rotation transformation parameters can be selectively used depending on whether the current vertex is a basic vertex.
  • a basic vertex may refer to a vertex of a basic mesh. If the current vertex is a vertex of the basic mesh, rotation based on a normal vector (or normal vector) can be used because it is not on the same 3D plane as neighboring vertices. If the current vertex is a sub-vertex created by surface dividing the basic mesh, since it is on the same 3D plane as the neighboring basic vertices, the rotation transformation parameter can be obtained based on the motion vector of the neighboring basic vertices.
  • the neighboring basic vertices may mean the three basic vertices used to create the current sub-vertex.
  • the rotation transformation parameter for predicting the difference vector of the current sub-vertex can be obtained.
  • the rotation transformation parameter can be obtained using the motion vectors of neighboring sub-vertexes calculated based on the motion vector of the basic vertex.
  • rotation transformation may be selectively performed based on the magnitude value of the motion vector. For example, if the size value of the motion vector is less than or equal to a certain value, rotation conversion may not be performed. Conversely, if the size value of the motion vector exceeds or exceeds a specific value, rotation transformation may be performed. Alternatively, rotation transformation may be selectively performed based on differences between motion vectors of adjacent vertices. That is, rotation transformation can be performed only when the difference between the motion vectors of adjacent vertices is greater than or equal to a predefined value.
  • FIG. 14 is a diagram illustrating the encoding/decoding order and reference structure of basic mesh geometric information, difference vector image, and texture image according to an embodiment of the present disclosure.
  • mesh geometry information, difference vector video (or image), and texture video (or image) may be sequentially encoded/decoded.
  • encoding/decoding can be performed using previously restored geometric information, difference vector, and attribute information.
  • a coding unit may be a processing unit for which a prediction method (or prediction mode) is determined.
  • the coding unit of geometric information may be at least one of a frame, a patch, a triangle (or surface), and a vertex.
  • reference frame information can be transmitted from the encoder to the decoder.
  • reference frame information and reference patch information may be transmitted from the encoder to the decoder.
  • reference frame information, reference patch information, reference triangle information, etc. may be transmitted from the encoder to the decoder.
  • reference frame information, reference patch information, reference triangle, and reference vertex information may be transmitted from the encoder to the decoder.
  • difference vector video and texture video may have different reference structures because encoding/decoding is performed using existing video compression standard technology.
  • the example in FIG. 14 is an example of a structure in which both videos refer to one frame restored immediately before for low-latency encoding/decoding.
  • the base mesh geometry may have a different reference structure than the difference vector video and/or texture video.
  • inter-screen prediction may be performed on the basic mesh geometry information for the entire frame geometry.
  • intra- or inter-screen prediction can be performed on a coding block basis within a video encoding/decoding device.
  • FIG. 15 is a diagram illustrating the encoding/decoding process of a texture video according to an embodiment of the present disclosure.
  • a texture image of a mesh may exist in every mesh POC (Picture Order Count).
  • POC Picture Order Count
  • each mesh can be assigned a POC value, and each mesh can have a texture image.
  • compression encoding on the texture image may be performed on a frame basis or a frame group basis.
  • GOF Group Of Frame
  • a texture video can be created with a number of texture images smaller than the size of the GOF in GOF units, and encoding/decoding can be performed based on this.
  • information about the size of the GOF can be transmitted to the decoder through entropy encoding as high-level information.
  • a texture video can be generated using only the first texture images in GOF units.
  • the decoder obtains the GOF size from high-level information and can use one transmitted texture image in all frames of the GOF.
  • a number of texture encoding/decoding methods smaller than the GOF size can be selectively used in GOF units.
  • whether or not to apply the texture image compression method according to this embodiment can be determined on a GOF basis.
  • LC_FLAG a flag related to using a texture encoding/decoding method with a number smaller than the GOF size, may be defined.
  • a flag indicating whether GOF unit texture image compression is used may be defined, and in the present disclosure, the flag may be referred to as LC_FLAG.
  • LC_FLAG can be transmitted to the decoder through entropy encoding.
  • LC_FLAG value 1
  • GOF unit texture image compression may be used, and if the LC_FLAG value is 0, GOF unit texture image compression may not be used.
  • meshes included in a GOF with an LC_FLAG value of 1 can be restored using a texture image with a predetermined POC value within the texture video.
  • the corresponding texture image may be included in the texture video and restored using this. That is, the decoder can check the corresponding flag in GOF units and restore the mesh by partially referring to the texture image from the received texture video.
  • FIG. 16 is a diagram illustrating the encoding/decoding process of a texture video according to an embodiment of the present disclosure.
  • each frame (i.e., mesh, mesh frame) of a specific GOF may be defined with a flag indicating whether the texture image for the current frame has been coded.
  • the corresponding flag may be referred to as a texture coding flag or texture_coded flag. That is, in FIG. 16, texture_coded indicates a texture coding flag.
  • the texture image of the current mesh may be included in the texture video and encoded. Conversely, if the texture coding flag is 0, encoding of the texture image of the current mesh may be omitted. If the texture coding flag is 0, encoding of the texture image of the current mesh is omitted, and the texture image of the previous mesh can be referenced. That is, if the texture coding flag is 0, encoding of the texture image of the current mesh is omitted and the current mesh can be encoded/decoded using the reference texture image.
  • Texture coding information may be included in high-level information on a mesh frame basis and signaled to the decoder through entropy encoding.
  • the decoder can restore the texture image by checking the information in mesh frame units.
  • the texture image of the previously restored mesh frame with a texture coding flag value of 1 and the POC value closest to the POC of the current mesh frame can be used as the current texture image.
  • the texture coding flag value is 0, the texture image of the mesh frame with the closest POC value among previously restored mesh frames can be referenced.
  • the texture coding flag may be used (or signaled) only when LC_FLAG of the current GOF is 1.
  • encoding/decoding for the texture coding flag may be omitted and its value may be derived (or inferred) to be 1.
  • FIG. 17 is a diagram illustrating the encoding/decoding process of a texture video according to an embodiment of the present disclosure.
  • a reference texture image may be determined on a mesh frame basis.
  • a group of pictures which is a group of predetermined texture images, may be defined.
  • Texture video may contain GOP. That is, the texture image (i.e., reference texture image) of the current mesh can be specified within the GOP of the texture video for each mesh frame.
  • a reference texture image within a GOP of texture video may be specified by frame index.
  • a frame index that specifies a reference texture image within a GOP of a texture video may be referred to as a frame index, texture index, or texture image index.
  • the texture index may have values of 0 and 1. If it is 0, it may mean that the first frame in the GOP in the texture video is used as the texture image of the current MESH POC. Conversely, if it is 1, it may mean that the second frame within the GOP in the texture video is used as the texture image of the current MESH POC.
  • one texture video frame can be generated by collecting original texture images with the same texture index.
  • the image with the smallest MESH POC value among the same original texture images can be used as the texture video frame.
  • the texture index can be included in the high-level information for each mesh frame and transmitted to the decoder through entropy encoding. Additionally, in one embodiment, the texture index may be used (or signaled) only when LC_FLAG of the current GOF is 1.
  • Figure 18 is a flowchart illustrating a mesh compression process according to an embodiment of the present disclosure.
  • the method performed by the mesh decoder is mainly described, but the method is not limited thereto, and the method described in this embodiment can be performed by the mesh encoder in substantially the same way. there is. In this embodiment, the method previously described in FIGS. 1 to 17 may be applied.
  • the mesh decoder can restore the base mesh based on geometric information obtained from the base mesh bitstream (S1800).
  • the mesh decoder may perform surface division on the restored basic mesh (S1810).
  • the mesh decoder may obtain a displacement vector for at least one of the vertices of the restored basic mesh and the sub-vertex generated by surface division (S1820).
  • the mesh decoder can restore an enhancement mesh based on the restored base mesh and the obtained difference vector (S1830).
  • the mesh decoder may acquire a texture image associated with the surface of the restored enhanced mesh (S1840).
  • the mesh decoder may restore the current frame based on the restored enhanced mesh and the texture image.
  • the geometric information may be coded based on a first prediction mode
  • the difference vector may be coded based on a second prediction mode
  • the texture image may be coded based on a third prediction mode.
  • the first prediction mode, the second prediction mode, and the third prediction mode may be one of an inter prediction mode or an intra prediction method.
  • the first prediction mode, the second prediction mode, or the third prediction mode may be determined as a predetermined coding unit.
  • the coding unit may be at least one of a frame, a patch, a surface, or a vertex.
  • the mesh decoder may obtain a first flag indicating whether texture image compression is used for the current frame.
  • the first flag may be signaled in units of frame groups including one or more frames.
  • the texture image obtained in step S1840 may be obtained by referring to the texture image of the frame coded before the current frame. In relation to this, the content previously described in FIG. 15 can be applied, and overlapping descriptions will be omitted here.
  • the mesh decoder may obtain a second flag indicating whether to code the texture image for the current frame.
  • the second flag may be signaled on a frame basis. If coding of the texture image for the current frame is omitted, the texture image may be obtained by referring to the texture image of the frame whose POC (picture order count) value is closest to the current frame among the frames coded before the current frame. You can. In relation to this, the content previously described in FIG. 16 can be applied, and overlapping descriptions will be omitted here.
  • the mesh decoder may acquire a texture index indicating a texture image in a texture video including a plurality of texture images.
  • the content previously described in FIG. 17 can be applied, and overlapping descriptions will be omitted here.
  • Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention includes one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and FPGAs. It can be implemented by (field programmable gate arrays), processor, controller, microcontroller, microprocessor, etc.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processor controller, microcontroller, microprocessor, etc.
  • an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is a recording medium that can be read through various computer means.
  • the recording medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the recording medium may be those specifically designed and constructed for the present invention, or may be known and available to those skilled in the art of computer software.
  • recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROM (Compact Disk Read Only Memory) and DVD (Digital Video Disk), and floptical media.
  • magneto-optical media such as floptical disks
  • hardware devices specially configured to store and execute program instructions
  • program instructions may include machine language code such as that created by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • These hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
  • a device or terminal according to the present invention can be driven by instructions that cause one or more processors to perform the functions and processes described above.
  • such instructions may include interpreted instructions, such as script instructions such as JavaScript or ECMAScript instructions, executable code, or other instructions stored on a computer-readable medium.
  • the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.
  • a computer program (also known as a program, software, software application, script or code) mounted on the device according to the present invention and executing the method according to the present invention includes a compiled or interpreted language or an a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including as a stand-alone program, module, component, subroutine, or other unit suitable for use in a computer environment.
  • Computer programs do not necessarily correspond to files in a file system.
  • a program may be stored within a single file that serves the requested program, or within multiple interacting files (e.g., files storing one or more modules, subprograms, or portions of code), or as part of a file that holds other programs or data. (e.g., one or more scripts stored within a markup language document).
  • the computer program may be deployed to run on a single computer or multiple computers located at one site or distributed across multiple sites and interconnected by a communications network.
  • the present invention may be used in mesh compression methods and devices.

Landscapes

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

Abstract

본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 기본 메시 비트스트림(base mesh bitstream)으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하고, 상기 복원된 기본 메시에 대하여 표면 분할(surface division)을 수행하고, 상기 복원된 기본 메시의 정점(vertex) 및 상기 표면 분할에 의해 생성된 서브 정점(sub-vertex) 중 적어도 하나에 대한 차이 벡터(displacement vector)를 획득하고, 상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시(enhancement mesh)를 복원하고, 상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득할 수 있다.

Description

다이나믹 메시 압축 방법 및 장치
본 발명은 비디오 압축 부호화 및 복호화의 방법 및 장치에 관한 것으로, 보다 상세하게는, 다이나믹 메시 압축을 이용한 비디오 압축 부호화 및 복호화의 방법 및 장치에 관한 것이다.
비디오 영상은 시공간적 중복성 및 시점 간 중복성을 제거하여 압축 부호화되며, 이는 통신 회선을 통해 전송되거나 저장 매체에 적합한 형태로 저장될 수 있다.
본 발명은 다이나믹 메시 코딩을 위하여 차이 벡터 예측 방법 및 장치를 제안한다.
이때, 본 발명에서 제안하는 차이 벡터 예측 방법은 화면간 참조에 사용된 움직임 벡터를 이용하여 차이 벡터를 예측함으로써 높은 부호화 효율을 제공하고자 한다.
또한, 본 발명은 다이나믹 메시 코딩을 위하여 프레임 그룹 단위 다이나믹 메시 코딩 방법 및 장치를 제안한다.
이때, 본 발명에서 제안하는 프레임그룹 단위 다이나믹 메시 코딩 방법은 현재 프레임에 대한 속성맵에 대한 부/복호화를 생략하고 동일한 GOF 내의 복원된 속성맵을 사용함으로서 높은 부호화 효율을 제공하고자 한다.
상기 과제를 해결하기 위하여 차이 벡터 예측을 이용한 다이나믹 메시 압축 방법 및 장치를 제안한다. 또한, 상기 과제를 해결하기 위하여 프레임그룹 단위 다이나믹 메시 압축 방법 및 장치를 제안한다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 기본 메시 비트스트림(base mesh bitstream)으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하고, 상기 복원된 기본 메시에 대하여 표면 분할(surface division)을 수행하고, 상기 복원된 기본 메시의 정점(vertex) 및 상기 표면 분할에 의해 생성된 서브 정점(sub-vertex) 중 적어도 하나에 대한 차이 벡터(displacement vector)를 획득하고, 상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시(enhancement mesh)를 복원하고, 상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 기하 정보는 제1 예측 모드에 기초하여 코딩되고, 상기 차이 벡터는 제2 예측 모드에 기초하여 코딩되고, 상기 텍스처 이미지는 제3 예측 모드에 기초하여 코딩될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제1 예측 모드, 상기 제2 예측 모드 및 상기 제3 예측 모드는 인터 예측 모드 또는 인트라 예측 방법 중 하나일 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제1 예측 모드, 상기 제2 예측 모드 또는 상기 제3 예측 모드 중 적어도 하나는 미리 결정된 코딩 단위로 결정될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 코딩 단위는, 프레임, 패치, 표면 또는 정점 중 적어도 하나일 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 상기 복원된 향상 메시 및 상기 텍스처 이미지에 기초하여 현재 프레임을 복원할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 상기 현재 프레임에 대하여 텍스처 이미지 압축이 이용되는지 여부를 지시하는 제1 플래그를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제1 플래그는 하나 이상의 프레임을 포함하는 프레임 그룹 단위로 시그날링될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 현재 프레임에 대하여 상기 텍스처 이미지 압축이 이용되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임의 텍스처 이미지를 참조하여 획득될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 상기 현재 프레임에 대한 텍스처 이미지의 코딩 여부를 지시하는 제2 플래그를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제2 플래그는 프레임 단위로 시그날링될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 현재 프레임에 대한 텍스처 이미지의 코딩이 생략되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임 중에서 POC(picture ordere count) 값이 상기 현재 프레임에 가장 인접한 프레임의 텍스처 이미지를 참조하여 획득될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 복수의 텍스처 이미지를 포함하는 텍스처 비디오 내 텍스처 이미지를 지시하는 텍스처 인덱스를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 장치는, 상기 메시 압축 장치를 제어하는 프로세서, 및 상기 프로세서와 결합되고, 데이터를 저장하는 메모리를 포함할 수 있고, 상기 프로세서는, 기본 메시 비트스트림으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하고, 상기 복원된 기본 메시에 대하여 표면 분할을 수행하고, 상기 복원된 기본 메시의 정점 및 상기 표면 분할에 의해 생성된 서브 정점 중 적어도 하나에 대한 차이 벡터를 획득하고, 상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시를 복원하고, 상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득할 수 있다.
본 발명에서 제안하는 차이 벡터 예측 방법에 따르면, 화면간 참조에 사용된 움직임 벡터를 사용해 차이 벡터를 예측함으로써 높은 부호화 효율을 제공할 수 있다.
본 발명에서 제안하는 프레임 그룹 단위 다이나믹 메시 코딩 방법에 따르면, 현재 프레임에 대한 속성맵에 대한 부/복호화를 생략하고 동일한 GOF(group of frame) 내의 복원된 속성맵을 사용함으로써 높은 부호화 효율을 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 메시 부호화기 및 복호화기의 일 예를 도시한다.
도 2은 본 개시의 일 실시예에 따른 기본 메시 기하 정보 부호화부의 일 예를 도시한다.
도 3은 본 개시의 일 실시예에 따른 향상 메시 기하 정보 부호화부의 일 예를 도시한다.
도 4는 본 개시의 일 실시예에 따른 메시 속성 정보 부호화부의 일 예를 도시한다.
도 5는 본 개시의 일 실시예에 따른 기본 메시 기하 정보 복호화부의 일 예를 도시한다.
도 6은 본 개시의 일 실시예에 따른 향상 메시 기하 정보 복호화부의 일 예를 도시한다.
도 7은 본 개시의 일 실시예에 따른 메시 속성 정보 복호화부의 일 예를 도시한다.
도 8은 본 개시의 일 실시예에 따른 미드 포인트(mid-point) 기반 표면 분할 방법을 예시하는 도면이다.
도 9는 본 개시의 일 실시예에 따른 차이 벡터를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 이미지 패킹부의 계수 스캔 방법을 예시하는 도면이다.
도 11은 본 개시의 일 실시예에 따른 향상 메시 기하 정보 부호화부를 예시하는 도면이다.
도 12는 본 개시의 일 실시예에 따른 향상 메시 기하 정보 복호화부를 예시하는 도면이다.
도 13은 본 개시의 일 실시예에 따른 차이 벡터 예측 방법을 예시하는 도면이다.
도 14는 본 개시의 일 실시예에 따른 기본 메시 기하 정보, 차이 벡터 이미지, 텍스처 이미지의 부/복호화 순서 및 참조 구조를 예시하는 도면이다.
도 15는 본 개시의 일 실시예에 따른 텍스처 비디오의 부/복호화 과정을 예시하는 도면이다.
도 16은 본 개시의 일 실시예에 따른 텍스처 비디오의 부/복호화 과정을 예시하는 도면이다.
도 17은 본 개시의 일 실시예에 따른 텍스처 비디오의 부/복호화 과정을 예시하는 도면이다.
도 18은 본 개시의 일 실시예에 따른 메시 압축 과정을 예시하는 흐름도이다.
상기 과제를 해결하기 위하여 차이 벡터 예측을 이용한 다이나믹 메시 압축 방법 및 장치를 제안한다. 또한, 상기 과제를 해결하기 위하여 프레임그룹 단위 다이나믹 메시 압축 방법 및 장치를 제안한다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 기본 메시 비트스트림(base mesh bitstream)으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하고, 상기 복원된 기본 메시에 대하여 표면 분할(surface division)을 수행하고, 상기 복원된 기본 메시의 정점(vertex) 및 상기 표면 분할에 의해 생성된 서브 정점(sub-vertex) 중 적어도 하나에 대한 차이 벡터(displacement vector)를 획득하고, 상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시(enhancement mesh)를 복원하고, 상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 기하 정보는 제1 예측 모드에 기초하여 코딩되고, 상기 차이 벡터는 제2 예측 모드에 기초하여 코딩되고, 상기 텍스처 이미지는 제3 예측 모드에 기초하여 코딩될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제1 예측 모드, 상기 제2 예측 모드 및 상기 제3 예측 모드는 인터 예측 모드 또는 인트라 예측 방법 중 하나일 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제1 예측 모드, 상기 제2 예측 모드 또는 상기 제3 예측 모드 중 적어도 하나는 미리 결정된 코딩 단위로 결정될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 코딩 단위는, 프레임, 패치, 표면 또는 정점 중 적어도 하나일 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 상기 복원된 향상 메시 및 상기 텍스처 이미지에 기초하여 현재 프레임을 복원할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 상기 현재 프레임에 대하여 텍스처 이미지 압축이 이용되는지 여부를 지시하는 제1 플래그를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제1 플래그는 하나 이상의 프레임을 포함하는 프레임 그룹 단위로 시그날링될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 현재 프레임에 대하여 상기 텍스처 이미지 압축이 이용되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임의 텍스처 이미지를 참조하여 획득될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 상기 현재 프레임에 대한 텍스처 이미지의 코딩 여부를 지시하는 제2 플래그를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 제2 플래그는 프레임 단위로 시그날링될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치에 있어서, 상기 현재 프레임에 대한 텍스처 이미지의 코딩이 생략되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임 중에서 POC(picture ordere count) 값이 상기 현재 프레임에 가장 인접한 프레임의 텍스처 이미지를 참조하여 획득될 수 있다.
본 발명의 실시예에 따른 메시 압축 방법 및 장치는, 복수의 텍스처 이미지를 포함하는 텍스처 비디오 내 텍스처 이미지를 지시하는 텍스처 인덱스를 획득할 수 있다.
본 발명의 실시예에 따른 메시 압축 장치는, 상기 메시 압축 장치를 제어하는 프로세서, 및 상기 프로세서와 결합되고, 데이터를 저장하는 메모리를 포함할 수 있고, 상기 프로세서는, 기본 메시 비트스트림으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하고, 상기 복원된 기본 메시에 대하여 표면 분할을 수행하고, 상기 복원된 기본 메시의 정점 및 상기 표면 분할에 의해 생성된 서브 정점 중 적어도 하나에 대한 차이 벡터를 획득하고, 상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시를 복원하고, 상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득할 수 있다.
본 명세서에 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다.
또한, 본 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 이용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이용된다.
또한, 본 명세서에서 설명되는 장치 및 방법에 관한 실시예에 있어서, 장치의 구성 일부 또는, 방법의 단계 일부는 생략될 수 있다. 또한 장치의 구성 일부 또는, 방법의 단계 일부의 순서가 변경될 수 있다. 또한 장치의 구성 일부 또는, 방법의 단계 일부에 다른 구성 또는, 다른 단계가 삽입될 수 있다.
또한, 본 발명의 제1 실시예의 일부 구성 또는, 일부 단계는 본 발명의 제2 실시예에 부가되거나, 제2 실시예의 일부 구성 또는, 일부 단계를 대체할 수 있다.
덧붙여, 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 기술되고, 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
먼저, 본 출원에서 이용되는 용어를 간략히 설명하면 다음과 같다.
이하에서 후술할 복호화 장치(Video Decoding Apparatus)는 민간 보안 카메라, 민간 보안 시스템, 군용 보안 카메라, 군용 보안 시스템, 개인용 컴퓨터(PC, Personal Computer), 노트북 컴퓨터, 휴대형 멀티미디어 플레이어(PMP, Portable MultimediaPlayer), 무선 통신 단말기(Wireless Communication Terminal), 스마트 폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기에 포함된 장치일 수 있으며, 각종 기기 등과 같은 이용이자 단말기, 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하거나 복호화를 위해 화면 간 또는, 화면 내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 부호화기에 의해 비트스트림(bitstream)으로 부호화된 영상은 실시간 또는, 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB, Universal Serial Bus)등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 복호화되어 영상으로 복원되고 재생될 수 있다. 또는, 부호화기에 의해 생성된 비트스트림은 메모리에 저장될 수 있다. 상기 메모리는 휘발성 메모리와 비휘발성 메모리를 모두 포함할 수 있다. 본 명세서에서 메모리는 비트스트림을 저장한 기록 매체로 표현될 수 있다.
통상적으로 동영상은 일련의 픽쳐(Picture)들로 구성될 수 있으며, 각 픽쳐들은 블록(Block)과 같은 코딩 유닛(coding unit)으로 분할될 수 있다. 또한, 이하에 기재된 픽쳐라는 용어는 영상(Image), 프레임(Frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 이용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다. 그리고 코딩 유닛이라는 용어는 단위 블록, 블록 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 이용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
도 1은 본 개시의 일 실시예에 따른 메시 부호화기 및 복호화기의 일 예를 도시한다.
도 1을 참조하면, 메시 부호화기는 원본 메시 기하 정보와 원본 메시 속성 정보를 입력 받아 비트스트림을 생성할 수 있다. 메시 복호화기는 비트스트림을 입력 받아 메시 기하 정보와 속성 정보를 복원할 수 있다.
여기서, 메시 기하 정보는 메시 정점의 3차원 좌표 정보, 메시 텍스처 정점의 2차원 좌표, 정점들의 연결 정보를 포함할 수 있다. 또한, 메시 속성 정보는 텍스처맵일 수 있다. 텍스처맵은 복수의 채널을 포함할 수 있다. 일 예로서, 텍스처맵은 2차원의 3개 이상의 채널을 갖는 이미지일 수 있다. 이때, 채널은 RGB, YUV, YCbCr, YCoCg, YCgCo 중 하나의 색공간을 의미할 수 있다. 또는, 채널은 RGBA의 색공간을 의미할 수 있다. 즉, 메시 속성 정보는 3차원 객체의 외부 표면의 색 정보를 포함할 수 있다.
메시 부호화기는 기본 메시 기하 정보 부호화부, 향상 메시 기하 정보 부호화부, 메시 속성 정보 부호화부, MUX(multiplexer)를 포함할 수 있다.
기본 메시 기하 정보 부호화부는 원본 메시 기하 정보를 입력받아 기본 메시 기하 정보 비트스트림과 복원된 기본 메시 기하 정보 또는 기본 메시 기하 정보 비트스트림과 복원된 기본 메시 기하 정보, 움직임 벡터를 생성할 수 있다. 생성된 기본 메시 기하 정보 비트스트림은 MUX로 전달될 수 있다. 또한, 생성된 복원된 기본 메시 기하 정보는 향상 메시 기하 정보 부호화부로 전달될 수 있다. 또한, 생성된 복원된 움직임 벡터를 향상 메시 기하 정보 부호화부로 전달할 수 있다.
향상 메시 기하 정보 부호화부는 복원된 기본 메시 기하 정보, 원본 메시 기하 정보를 입력받아 부호화를 수행하여 비트스트림과 복원된 메시 기하 정보를 생성할 수 있다. 생성된 향상 메시 비트스트림은 MUX로 전달될 수 있다. 또한, 복원된 메시 기하 정보는 메시 속성 정보 부호화부로 전달될 수 있다.
메시 속성 정보 부호화부는 원본 메시 기하 정보, 원본 메시 속성 정보, 복원된 메시 기하 정보를 입력받아 부호화하여 메시 속성 정보 비트스트림을 생성할 수 있다. 생성된 메시 속성 정보 비트스트림은 MUX로 전달될 수 있다.
MUX는 입력받은 모든 비트스트림을 연결하여 하나의 비트스트림의 형태로 출력할 수 있다.
메시 복호화기는 DEMUX(demultiplexer), 기본 메시 기하 정보 복호화부, 향상 메시 기하 정보 복호화부, 메시 속성 정보 복호화부를 포함할 수 있다.
DEMUX는 입력받은 비트스트림을 기본 메시 기하 정보 비트스트림, 향상 메시 기하 정보 비트스트림, 메시 속성 정보 비트스트림으로 분리하여 각각 기본 메시 기하 정보 복호화부, 향상 메시 기하 정보 복호화부, 메시 속성 정보 복호화부로 전달할 수 있다.
기본 메시 기하 정보 복호화부는 입력받은 기본 메시 기하 정보 복호화부를 복호화하여 기본 메시 기하 정보를 복원할 수 있다. 복원된 기본 메시 기하 정보는 향상 메시 기하 정보 복호화부로 전달될 수 있다.
향상 메시 기하 정보 복호화부는 향상 메시 기하 정보 비트스트림 및 복원된 기본 메시 기하 정보를 입력받아 복호화하여 메시 기하 정보를 복원하여 메시 복호화기에서 출력할 수 있다.
메시 속성 정보 복호화부는 메시 속성 정보 비트스트림을 입력받아 복호화하여 메시 속성 정보를 복원하고 이를 메시 복호화기로부터 출력할 수 있다.
도 2은 본 개시의 일 실시예에 따른 기본 메시 기하 정보 부호화부의 일 예를 도시한다.
도 2를 참조하면, 기본 메시 기하 정보 부호화부는 원본 메시 기하 정보를 입력받아 부호화를 수행하여 기본 메시 비트스트림, 복원된 기본 메시 기하 정보, 복원된 움직임 벡터를 출력할 수 있다.
기본 메시 기하 정보 부호화부는 메시 다운샘플링부, 기하 정보 부호화부, 기본 메시 기하 정보 저장부, 움직임 예측 및 보상부, 움직임 벡터 부호화부를 포함할 수 있다.
메시 다운샘플링부는 원본 메시 기하 정보를 입력받아 기하 정보를 다운샘플링을 수행하여 다운샘플링된 메시 기하 정보를 생성할 수 있다. 여기서, 다운 샘플링된 메시는 기본 메시(base mesh)로 지칭될 수 있다. 또한, 입력 받은 원본 메시 기하 정보는 메시 다운 샘플링을 수행하고 이후 메시 표면 분할을 수행했을 때 같은 개수의 정점 및 연결성을 가지도록 전처리되어 있을 수 있다. 생성된 기본 메시 기하 정보는 기하 정보 부호화부 및 움직임 예측 및 보상부로 전달될 수 있다. 또는, 예측 모드를 기반으로 기하 정보 부호화부 또는 움직임 예측 및 보상부로 전달될 수 있다. 여기서, 예측 모드는 화면내(인트라) 예측 또는 화면간(인터) 예측을 의미할 수 있으며 해당 정보는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다.
기하 정보 부호화부는 기본 메시 기하 정보를 입력받아 부호화를 수행하여 기본 메시 비트스트림을 생성할 수 있다. 또한, 복원된 기본 메시 기하 정보를 생성할 수 있다. 이때, 기하 정보 부호화부에서는 메시의 3차원 정점 좌표, 2차원 텍스처 정점 좌표, 정점들 사이 연결성에 대한 부호화를 수행할 수 있다. 또한 기하 정보 부호화부는 MPEG-AFX/TFAN, Google Draco와 같은 국제 표준 메시 기하 정보 압축 방법이 사용될 수 있다. 따라서, 기하 정보 부호화부에서 사용된 메시 압축 방법에 대한 정보는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 생성된 기본 메시 비트스트림은 기본 메시 기하 정보 부호화부에서 출력될 수 있다. 복원된 기본 메시 기하 정보는 기본 메시 기하 정보 저장부로 전달될 수 있다.
움직임 예측 및 보상부는 기본 메시 기하 정보 및 복원된 기본 메시 기하 정보를 입력받아 움직임 예측를 수행하여 움직임 벡터를 생성할 수 있다. 또한, 움직임 벡터를 이용해 이전 프레임의 복원된 기본 메시 기하 정보를 움직임 보상하여 현재 프레임의 복원된 기본 메시 기하 정보를 생성할 수 있다. 생성된 움직임 벡터는 움직임 벡터 부호화부로 전달될 수 있다. 또한, 복원된 현재 프레임의 기본 메시 기하 정보는 기본 메시 기하 정보 저장부 및 움직임 벡터 부호화부로 전달될 수 있다.
움직임 벡터 부호화부는 입력받은 움직임 벡터를 복원된 기본 메시 기하 정보를 이용하여 기본 메시 비트스트림을 생성할 수 있다. 여기서, 하나의 정점은 하나 이상의 움직임 벡터를 가질 수 있으며, 각 움직임 벡터는 하나 이상의 차원을 가지는 벡터일 수 있다. 이때, 움직임 벡터의 각 차원에 대한 크기 값을 순차적으로 부호화할 수 있다. 예를 들어, 기본 메시의 모든 정점들의 움직임 벡터의 제1 차원의 크기 값을 순서대로 엔트로피 부호할 수 있다. 이때, 순서란, 기본 메시의 정점 및 연결성을 기반으로 결정된 정점의 순회 순서일 수 있다. 모든 정점의 움직임 벡터의 제1 차원 부호화 이후에 움직임 벡터의 제2 차원의 크기 값이 부호화될 수 있다. 이와 같이, 차원 인덱스를 증가시키며 순차적으로 모든 차원의 움직임 벡터를 부호화할 수 있다. 또 다른 예시로서, 움직임 벡터 부호화부는 복원된 기본 메시의 정점 단위로 움직임 벡터를 부호화할 수 있다. 정점 순회 순서에 따라서 각 정점의 움직임 벡터의 제1 차원 크기, 제2 차원 크기, 제3 차원 크기 순으로 부호화를 수행하고 그 다음 정점의 움직임 벡터에 대하여 부호화를 수행할 수 있다. 여기서, 움직임 벡터의 부호화 방법으로서 현재 정점에 대응하는 움직임 벡터를 부화할 때, 복원된 이웃 정점에 대응하는 복원된 움직임 벡터를 이용하여 움직임 벡터를 예측하고 그 차분 벡터의 각 차원의 크기 값이 부호화될 수 있다. 생성된 기본 메시 비트스트림은 기본 메시 기하 정보 부호화부로부터 출력될 수 있다. 또한, 복원된 기본 메시 기하 정보는 기본 메시 기하 정보 부호화부로부터 출력될 수 있다.
도 3은 본 개시의 일 실시예에 따른 향상 메시 기하 정보 부호화부의 일 예를 도시한다.
도 3을 참조하면, 향상 메시 기하 정보 부호화부는 원본 메시 기하 정보와 복원된 기본 메시 기하 정보를 입력받아 부호화를 수행하여 향상 메시 비트스트림과 복원된 메시 기하 정보를 생성할 수 있다.
향상 메시 기하 정보 부호화부는 메시 표면 분할부, 차이 벡터 변환부, 차이 벡터 양자화부, 차이 벡터 이미지 패킹부, 기하 비디오 부호화부, 차이 벡터 이미지 언패킹부, 차이 벡터 역양자화부, 차이 벡터 역변환부를 가질 수 있다.
메시 표면 분할부는 복원된 기본 메시 기하 정보를 입력받아 메시 표면을 분할하여 분할된 메시 기하 정보를 생성할 수 있다. 여기서, 표면 분할 방법의 하나로 미드 포인트(mid-point) 분할 방법이 사용될 수 있다. 표면 분할 방법은 복수 회 수행될 수 있으며, 분할 횟수는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 관련한 실시예는 도 8에서 상세히 후술한다.
분할된 메시 기하 정보는 입력받은 원본 메시 기하 정보와 차분하여 차이 벡터의 형태로 차이 벡터 변환부로 입력될 수 있다. 또한, 분할된 메시 기하 정보는 차이 벡터 역변환부로부터 생성된 복원된 차이 벡터와 합산되어 복원된 메시 기하 정보의 형태로 향상 메시 기하 정보 부호화부로부터 출력될 수 있다.
차이 벡터 변환부는 입력받은 차이 벡터를 변환하여 차이 벡터 변환 계수를 생성할 수 있다. 이때, 변환은 복수 회 반복되어 수행될 수 있다. 또는 계층적으로 변환이 수행될 수 있다. 계층적 변환의 예시로서 웨이블릿 변환이 사용될 수 있다. 또는 웨이블릿 변환의 일종으로서 그래프 기반의 웨이블릿 변환이 사용될 수 있다. 그래프 기반의 웨이블릿 변환은 리프팅 변환이라고도 불리며, 현재 정점에 대하여 변환을 수행할 때 현재 정점과 연결된 정점들을 이용하여 예측 및 갱신을 수행하는 방법일 수 있다. 또한, 변환은 차이 벡터의 차원별로 수행될 수 있다. 또는, 3차원의 차이 벡터를 1차원으로 차원변환후 변환이 수행될 수 있다. 생성된 차이 벡터 변환 계수는 차이 벡터 양자화부로 전달될 수 있다.
차이 벡터 양자화부는 변환 계수를 입력받아 양자화를 수행하여 양자화된 변환 계수를 생성할 수 있다. 이때, 차이 벡터 변환부에서 계층적 변환 방법이 사용되었다면, 각 계층별로 서로다른 양자화 파라미터가 사용될 수 있다. 양자화에 사용된 양자화 파라미터는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 생성된 양자화된 변환 계수는 차이 벡터 이미지 패킹부로 전달될 수 있다.
차이 벡터 이미지 패킹부는 전달받은 양자화된 차이 벡터 변환 계수를 이미지의 형태로 패킹하여 차이 벡터 이미지를 생성할 수 있다. 변환 계수들을 이미지로 패킹하는 방법은 정점들을 순회하면서 해당 정점에 해당하는 차이 벡터 변환 계수를 이미지에 순차적으로 패킹할 수 있다. 이때, 정점을 순회하는 방법은 기본 메시 부호화부의 기하 정보 부호화부에서 사용하는 방법과 동일한 순회 순서를 사용할 수 있다. 또는 사용된 순회 방법에 대한 정보를 엔트로피 부호화를 통해 복호화기로 전달할 수 있다.
일 실시예로서, 순회 방법으로는 깊이 우선 순회와 예측 정도 순회 방법이 사용될 수 있다. 깊이 우선 순회 방법은 특정 메시의 엣지(edge)를 기준으로 오른쪽 면에 대한 정점들을 순회하고, 이후 왼쪽 면에 대한 정점들을 순회하는 방법일 수 있다. 예측 정도 순회 방법은 특정 정점과 연결된 복원된 이웃 정점들의 수를 기준으로 순회 순서를 정하는 방법이다. 예를 들어 초기 정점들은 모두 복원된 이웃 정점이 없기 때문에 특정 하나의 정점을 부/복호화할 수 있다. 이후, 복원된 정점과 이웃한 정점들은 복원된 이웃 정점의 수가 1이기 때문에 다음 순회 순번이 된다. 이후 반복적으로 정점의 수를 확인하여 1부터 증가시키며 각 모든 정점들을 순회할 수 있다. 그리고, 이미지에 패킹하는 순서는 래스터 스캔(raster scan) 순서로 패킹될 수 있다. 이때, 패킹할 이미지의 크기 정보는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 이때, 이미지의 크기 정보는 이미지의 가로, 세로, 채널 수 중 하나 이상의 정보를 가질 수 있다. 또는 블록 단위 Z-스캔 순서로 패킹될 수 있다. 이때, 블록의 크기 정보는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 여기서 블록의 크기 정보는 가로, 세로 중 하나 이상을 가질 수 있다. 생성된 차이 벡터 이미지는 기하 비디오 부호화부로 전달될 수 있다.
기하 비디오 부호화부는 입력받은 차이 벡터 이미지를 모아 비디오의 형태로 입력받아 부호화를 수행하여 향상 메시 비트스트림을 생성할 수 있다. 또한, 복원된 차이 벡터 이미지를 생성할 수 있다. 여기서, 기하 비디오 부호화부는 H.264/AVC, H.265/HEVC, H.266/VVC, VP8, VP9, AV1 등과 같은 국제 표준 비디오 압축 기술이 사용될 수 있으며, 사용된 비디오 압축 기술에 대한 정보를 엔트로피 부호화를 통해 복호화기로 전달할 수 있다. 생성된 향상 메시 비트스트림은 향상 메시 기하 정보 부호화부로부터 출력될 수 있다. 또한, 생성된 복원된 차이 벡터 이미지는 차이 벡터 이미지 언패킹부로 전달될 수 있다.
차이 벡터 이미지 언패킹부는 입력받은 차이 벡터 이미지를 언패킹하여 양자화된 차이 벡터 변환 계수를 복원할 수 있다. 이때, 차이 벡터 이미지 언패킹부는 차이 벡터 이미지 패킹부에서 사용한 정점 순회 정보 및 이미지 스캔 방법과 동일한 방법이 사용될 수 있다. 생성된 양자화된 차이 벡터 변환 계수는 차이 벡터 역양자화부로 전달될 수 있다.
차이 벡터 역양자화부는 입력받은 양자화된 차이 벡터 변환 계수를 입력받아 역양자화를 수행하여 차이 벡터 변환 계수를 복원할 수 있다. 이때, 역양자화는 차이 벡터 양자화부에서 사용된 양자화 파라미터와 동일한 양자화 파라미터가 사용될 수 있다. 또는, 차이 벡터 양자화부에서 사용된 양자화 파라미터에 대응되는 역양자화 파라미터로 변환하여 사용할 수 있다. 일반적으로 양자화 파라미터와 역양자화 파라미터는 역수 관계일 수 있다. 또는, 양자화 파라미터를 기반으로 스케일링된 값을 이용하여 역양자화를 수행할 수 있다. 복원된 차이 벡터 변환 계수는 차이 벡터 역변환부로 전달될 수 있다.
차이 벡터 역변환부는 입력받은 복원된 차이 벡터 변환 계수를 역변환하여 차이 벡터를 복원할 수 있다. 이때, 차이 벡터 역변환에 사용된 변환 방법은 차이 벡터 변환부에서 사용된 변환 방법의 대응되는 역변환일 수 있다. 복원된 차이 벡터는 메시 표면 분할부로부터 생성된 분할된 메시 기하 정보와 합산되어 메시 기하 정보를 복원할 수 있으며, 향상 메시 기하 정보 부호화부로부터 출력될 수 있다.
도 4는 본 개시의 일 실시예에 따른 메시 속성 정보 부호화부의 일 예를 도시한다.
도 4를 참조하면, 메시 속성 정보 부호화부는 복원된 메시 기하 정보, 원본 메시 기하 정보, 원본 메시 속성 정보를 입력받아 원본 메시 속성 정보를 부호화하여 속성 비트스트림을 생성할 수 있다.
메시 속성 정보 부호화부는 속성 정보 매핑부, 패딩부, 색공간 변환부, 속성 비디오 부호화부를 포함할 수 있다.
속성 정보 매핑부는 복원된 메시 기하 정보, 원본 메시 기하 정보, 원본 메시 속성 정보를 입력받아 원본 메시의 속정 정보를 대응되는 원본 메시의 기하 정보를 기반으로 복원된 메시 기하 정보에 대응되도록 매핑하여 텍스처맵을 생성할 수 있다. 즉, 복원된 메시의 기하 정보와 원본 메시의 기하 정보는 동일한 3차원 객체를 표현하고 있지만 기하 정보 부/복호화로 인하여 차이가 발생할 수 있다. 따라서, 속성 정보 매핑부는 복원된 메시 기하 정보에 맞도록 텍스쳐맵을 매핑하는 과정일 수 있다. 예를 들어, 복원된 메시 기하 정보의 정점과 가장 가까운 원본 메시의 삼각형 면의 3차원 좌표와 대응되는 2차원 텍스쳐 정점을 얻고 해당 텍스쳐 정점의 속성 정보를 복원된 메시의 텍스쳐맵에 매핑할 수 있다. 또는, 복원된 메시 기하 정보의 정점과 가장 가까운 원본 메시의 삼각형 면의 3개의 텍스쳐 정점을 이용하여 그에 대응되는 텍스쳐맵의 삼각형 속성 정보를 복원된 메시의 텍스쳐맵에 매핑할 수 있다. 생성된 텍스처맵은 패딩부로 전달될 수 있다.
패딩부는 입력받은 텍스처맵에 대하여 복원된 기하 정보의 텍스처 정점 및 삼각형에 포함되지 않는 텍스처맵 영역에 대하여 패딩을 수행할 수 있다. 이때, 패딩 방법으로는 특정 값으로 모두 채우는 고정 패딩 방법이 사용될 수 있다. 예를 들어 텍스쳐맵의 비트 깊이의 중간값이 사용될 수 있다. 또 다른 방법으로는 푸시-풀(push-pull) 패딩 방법이 사용될 수 있다. 푸시-풀 패딩 방법은 텍스쳐맵을 다운 샘플링하고 다시 업샘플링하여 원래 이미지와 합성하여 빈공간을 채우는 방법일 수 있다. 이때, 다운 샘플링 및 업샘플링 횟수는 1 이상일 수 있다. 또 다른 방법으로는 최근점 픽셀 패딩 방법이 사용될 수 있다. 빈공간의 각 픽셀 위치와 가장 가까운 텍스쳐 정점의 값으로 패딩하는 방법일 수 있다. 패딩된 텍스처맵은 색공간 변환부로 전달될 수 있다.
색공간 변환부는 입력받은 패딩된 텍스처맵에 대하여 색공간 변환를 수행할 수 있다. 이때, 색공간 변환은 RGB-YUV, RGB-YCbCr, RGB-YCoCg, RGB-YCgCo 변환일 수 있다. 이때, 텍스처맵이 만약 4채널인 경우 상기 색공간 변환을 수행할 수 없기 때문에 투명도를 의미하는 채널을 제외하고 나머지 채널들에 대하여 색공간 변환이 수행될 수 있다. 또한, 색공간 변환에 사용된 변환 방법은 엔트로피부 부호화를 통해 복호화기로 전달될 수 있다. 색공간 변환된 텍스처맵은 속성 비디오 부호화부로 전달될 수 있다.
속성 비디오 부호화부는 입력받은 색공간 변환된 텍스처맵을 모아 비디오의 형태로 부호화하여 속성 비트스트림을 생성할 수 있다. 여기서 속성 비디오 부호화부는 H.264/AVC, H.265/HEVC, H.266/VVC, VP8, VP9, AV1 등과 같은 국제 표준 비디오 압축 기술이 사용될 수 있으며, 사용된 비디오 압축 기술에 대한 정보를 엔트로피 부호화를 통해 복호화기로 전달할 수 있다. 생성된 속성 비트스트림은 메시 속성 부호화부로부터 출력될 수 있다.
도 5는 본 개시의 일 실시예에 따른 기본 메시 기하 정보 복호화부의 일 예를 도시한다.
도 5를 참조하면, 기본 메시 기하 정보 복호화부는 기본 메시 비트스트림을 입력 받아 복호화하여 복원된 기본 메시 기하 정보, 복원된 움직임 벡터를 생성할 수 있다.
기본 메시 기하 정보 복호화부는 기하 정보 복호화부, 기본 메시 기하 정보 저장부, 움직임 벡터 복호화부, 움직임 보상부를 포함할 수 있다.
기본 메시 기하 정보 복호화부의 입력인 기본 메시 비트스트림은 기본 메시 기하 정보 부호화부로부터 상위 레벨 정보로서 전달받은 예측 모드에 따라서 기하 정보 복호화부 또는 움직임 벡터 복호화부로 전달될 수 있다. 예를 들어, 예측 모드가 화면내 예측이라면, 기본 메시 비트스트림은 기하 정보 복호화부로 전달될 수 있다. 그 반대의 경우는 움직임 벡터 복호화부로 전달될 수 있다.
기하 정보 복호화부는 입력받은 기본 메시 비트스림를 복원하여 기본 메시 기하 정보를 복원할 수 있다. 복원된 기본 메시 기하 정보는 기본 메시 기하 정보 저장부로 전달될 수 있다. 이때, 기하 정보 복호화부는 기본 메시 기하 정보 부호화부의 기하 정보 부호화부에서 사용된 방법에 대응되는 복호화 방법이 사용될 수 있다.
기본 메시 기하 정보 저장부는 입력받은 현재 프레임의 복원된 기본 메시 기하 정보를 출력 및 이후 프레임의 복호화에 사용하기 위하여 저장할 수 있다. 저장된 기본 메시 기하 정보는 기본 메시 기하 정보 복호화부로부터 출력될 수 있다. 또한, 움직임 벡터 복호화부로 전달될 수 있다.
움직임 벡터 복호화부는 입력받은 기본 메시 비트스트림, 복원된 기본 메시 기하 정보를 이용하여 움직임 벡터를 복원할 수 있다. 복원된 기본 메시 기하 정보를 부/복호화할 때 사용된 순회 순서를 기반으로 움직임 벡터를 복원할 수 있다. 또는, 기본 메시 비트스트림을 복호화하여 잔차 움직임 벡터를 복원하고, 복원된 이웃 정점들의 움직임 벡터를 이용해 예측된 움직임 벡터와 합산하여 움직임 벡터를 복원할 수 있다. 복원된 움직임 벡터와 복원된 기본 메시 기하 정보는 움직임 보상부로 전달될 수 있다.
움직임 보상부는 입력받은 기본 메시 기하 정보를 입력 받은 움직임 벡터를 이용해 움직임 보상하여 기본 메시 기하 정보를 복원할 수 있다. 이때, 움직임 보상은 복원된 메시 기하 정보의 정점의 3차원 좌표에 대하여 움직임 보상이 수행될 수 있다. 복원된 기본 메시 기하 정보는 기본메시 기하 정보 저장부로 전달될 수 있다. 또한, 복원된 움직임 벡터는 기본 메시 기하 정보 복호화부로부터 출력될 수 있다.
도 6은 본 개시의 일 실시예에 따른 향상 메시 기하 정보 복호화부의 일 예를 도시한다.
도 6을 참조하면, 향상 메시 기하 정보 복호화부는 복원된 기본 메시 기하 정보, 향상 메시 비트스트림을 입력받아 메시 기하 정보를 복원할 수 있다.
향상 메시 기하 정보 복호화부는 메시 표면 분할부, 기하 비디오 복호화부, 이미지 언패킹부, 차이 벡터 역양자화부, 차이 벡터 역변환부를 포함할 수 있다.
메시 표면 분할부는 복원된 기본 메시 기하 정보를 입력받아 메시 표면을 분할하여 분할된 메시 기하 정보를 생성할 수 있다. 기본 메시 분할 방법은 향상 메시 기하 정보 부호화부로부터 전달받은 방법이 사용될 수 있다. 이때, 분할 방법이 계층적으로 수행되는 경우, 반복 횟수를 추가로 부호화기로부터 전달 받아 해당 횟수만큼 분할을 수행할 수 있다. 분할된 메시 기하 정보는 차이 벡터 역변환부로부터 생성된 복원된 차이 벡터와 합산되어 복원된 메시 기하 정보의 형태로 향상 메시 기하 정보 복호화부로부터 출력될 수 있다.
기하 비디오 복호화부는 향상 메시 비트스트림을 입력받아 차이 벡터 비디오를 복원하고 한 프레임씩 출력하여 차이 벡터 이미지의 형태로 출력할 수 있다. 이때, 향상 메시 기하 정보 복호화부로부터 전달받은 기하 비디오 압축 방법에 대한 정보를 기반으로 비디오 복호화를 수행할 수 있다. 기하 비디오 복호화부는 H.264/AVC, H.265/HEVC, H.266/VVC, VP8, VP9, AV1 등과 같은 국제 표준 비디오 압축 기술이 사용될 수 있다. 복원된 차이 벡터 이미지는 차이 벡터 이미지 언패킹부로 전달될 수 있다.
차이 벡터 이미지 언패킹부는 입력받은 차이 벡터 이미지를 언패킹하여 양자화된 차이 벡터 변환 계수를 복원할 수 있다. 이때, 차이 벡터 이미지 언패킹부는 향상 메시 기하 정보 부호화부의 차이 벡터 이미지 패킹부에서 사용한 정점 순회 정보 및 이미지 스캔 방법과 동일한 방법이 사용될 수 있다. 또는 향상 메시 기하 정보 부호화부로부터 전달받은 정점 순회 정보 및 이미지 스캔 방법이 사용될 수 있다. 생성된 양자화된 차이 벡터 변환 계수는 차이 벡터 역양자화부로 전달될 수 있다.
차이 벡터 역양자화부는 입력받은 양자화된 차이 벡터 변환 계수를 입력받아 역양자화를 수행하여 차이 벡터 변환 계수를 복원할 수 있다. 이때, 역양자화는 향상 메시 기하 정보 부호화부의 차이 벡터 양자화부에서 사용된 양자화 파라미터와 동일한 양자화 파라미터가 사용될 수 있다. 또는, 향상 메시 기하 정보 부호화부로부터 전달받은 양자화 파라미터가 사용될 수 있다. 이때, 양자화 파라미터를 그대로 사용하는 것이 아니라 입력 받은 양자화 파라미터에 대응되는 역양자화 파라미터로 변환하여 사용할 수 있다. 또는, 양자화 파라미터를 기반으로 스케일링된 값을 이용하여 역양자화를 수행할 수 있다. 복원된 차이 벡터 변환 계수는 차이 벡터 역변환부로 전달될 수 있다.
차이 벡터 역변환부는 입력받은 복원된 차이 벡터 변환 계수를 역변환하여 차이 벡터를 복원할 수 있다. 이때, 차이 벡터 역변환에 사용된 변환 방법은 향상 메시 기하 정보 부호화부의 차이 벡터 변환부에서 사용된 변환 방법의 대응되는 역변환일 수 있다. 또는, 향상 메시 부호화부로부터 전달받은 역변환 방법이 사용될 수 있다. 또는, 전달받은 변환 방법에 대응되는 역변환 방법이 사용될 수 있다. 복원된 차이 벡터는 메시 표면 분할부로부터 생성된 분할된 메시 기하 정보와 합산되어 메시 기하 정보를 복원할 수 있으며, 향상 메시 기하 정보 복호화부로부터 출력될 수 있다.
도 7은 본 개시의 일 실시예에 따른 메시 속성 정보 복호화부의 일 예를 도시한다.
도 7을 참조하면, 메시 속성 정보 복호화부는 속성 비트스트림을 입력받아 복호화하여 메시 속성 정보를 복원할 수 있다.
메시 속성 정보 복호화부는 속성 정보 복호화부, 색공간 역변환부를 포함할 수 있다.
속성 비디오 복호화부는 속성 비트스트림을 복원하여 텍스처 비디오를 생성하고 한 프레임씩 출력하여 복원된 텍스처 이미지를 색공간 역변환부로 전달할 수 있다. 이때, 속성 비디오 복호화부에서는 속성 비디오 부호화부로부터 전달받은 비디오 압축 방법으로 비디오 복호화를 수행할 수 있다.
색공간 역변환부는 입력받은 복원된 텍스처 이미지에 대하여 색공간 역변환을 수행하여 메시 속성 정보를 복원할 수 있다. 이때, 색공간 역변환 방법은 메시 속성 정보 부호화부의 색공간 변환부에서 사용된 색공간 변환 방법에 대응되는 역변환 방법이 사용될 수 있다. 또는, 메시 속성 정보 부호화부로부터 전달받은 역변환 방법이 사용될 수 있다. 또는, 메시 속성 정보 부호화부로부터 전달받은 변환 방법에 대응되는 역변환 방법이 사용될 수 있다.
도 8은 본 개시의 일 실시예에 따른 미드 포인트(mid-point) 기반 표면 분할 방법을 예시하는 도면이다.
본 개시의 일 실시예에 따르면, 정점과 정점을 연결하는 에지의 중앙에 서브 정점을 생성하고, 생성된 서브 정점을 연결하여 표면 분할이 수행될 수 있다.
도 8을 참조하면, 복원된 기본 메시 기하 정보는 도 8의 좌측에 도시된 바와 같이 삼각형 메시로 표현될 수 있다. 이때, 미드 포인트 분할이 수행되는 경우, 삼각형의 각 에지의 중앙에 서브 정점이 생성될 수 있다. 생성된 정점들을 서로 연결하여 하나의 삼각형은 4개의 작은 삼각형(또는 서브 삼각형)으로 분할될 수 있다.
일 실시예에서, 미드 포인트 기반 표면 분할 방법은 계층적(또는 재귀적)으로 수행될 수 있으며, 분할 또는 반복의 횟수는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다.
도 9는 본 개시의 일 실시예에 따른 차이 벡터를 설명하기 위한 도면이다.
도 9를 참조하면, 메시 표면 분할부를 통해 생성된 서브 정점은 두 복원된 기본 정점을 연결하는 에지 위에 존재할 수 있다. 관련하여, 앞서 도 8에서 설명한 미드 포인트 기반 표면 분할 방법이 적용될 수 있으나, 이에 한정되지 않음은 물론이다.
서브 정점를 포함한 복원된 기본 정점은 원본 정점과 일대일 매핑될 수 있다. 일 예로서, 부/복호화 이전에 전처리 과정에서 원본 정점과 복원된 정점간 일대일 매핑이 되도록 처리될 수 있다.
실시예로서, 차이 벡터는 원본 정점과 복원된 기본 정점 및/또는 서브 정점간 차이를 표현하는 3차원 벡터일 수 있다. 차이 벡터를 부호화 및 복호화하여 복원된 기본 정점 및/또는 서브 정점에 합산함으로써 메시의 기하 정보가 복원될 수 있다.
도 10은 본 개시의 일 실시예에 따른 이미지 패킹부의 계수 스캔 방법을 예시하는 도면이다.
도 10을 참조하면, 도 10의 좌측에 도시된 바와 같이, 복원된 기본 정점과 표면 분할된 서브 정점은 양자화된 차이 벡터 변환 계수를 각 정점 별로 가질 수 있다.
실시예로서, 각각의 정점에 대한 양자화된 차이 벡터 변환 계수는 미리 정의된 스캔 순서에 따라 패킹되어 차이 벡터 이미지가 생성될 수 있다. 예를 들어, 도 10의 중앙의 차이 벡터 이미지 및 우측의 패킹 순서 예시와 같이, 각각의 정점에 대한 양자화된 차이 벡터 변환 계수를 2x2 크기의 서브 영역 단위로 Z-스캔 순서대로 패킹하여 차이 벡터 이미지를 생성할 수 있다. 또는, 차이 벡터 변환 계수를 Z-스캔 순서의 역순으로 패킹하여 차이 벡터 이미지를 생성할 수 있다.
여기서, 차이 벡터 이미지의 빈 픽셀은 패딩부에서 패딩 과정을 통해 특정 값으로 채워질 수 있다. 특정 값은 0으로 설정될 수 있다.
도 11은 본 개시의 일 실시예에 따른 향상 메시 기하 정보 부호화부를 예시하는 도면이다.
도 11을 참조하면, 향상 메시 기하 정보 부호화부는 메시 표면 분할부, 차이 벡터 저장부, 차이 벡터 예측부, 차이 벡터 변환부, 차이 벡터 양자화부, 차이 벡터 이미지 패킹부, 기하 비디오 부호화부, 차이 벡터 이미지 언패킹부, 차이 벡터 역양자화부, 차이 벡터 역변환부를 가질 수 있다.
본 개시의 실시예에 따르면, 향상 메시 기하 정보 부호화부는 원본 메시 기하 정보, 복원된 기본 메시 기하 정보, 복원된 움직임 벡터를 입력받아 부호화를 수행하여 향상 메시 비트스트림과 복원된 메시 기하 정보를 생성할 수 있다.
메시 표면 분할부는 복원된 기본 메시 기하 정보를 입력받아 메시 표면을 분할하여 분할된 메시 기하 정보를 생성할 수 있다. 관련하여, 앞서 도 8에서 설명한 미드 포인트 기반 표면 분할 방법이 적용될 수 있으나, 이에 한정되지 않는다.
분할된 메시 기하 정보는 입력받은 원본 메시 기하 정보와 차분하여 차이 벡터를 생성하고, 차이 벡터 예측부로부터 생성된 예측 차이 벡터와 차분하여 차분 차이 벡터의 형태로 차이 벡터 변환부로 입력될 수 있다. 실시예로서, 분할된 메시의 정점과 원본 메시의 정점간 차이에 기초하여 차이 벡터가 생성될 수 있다. 그리고, 차이 벡터에 대한 예측이 수행될 수 있다. 생성된 차이 벡터와 예측된 차이 벡터간 차이를 나타내는 차분 차이 벡터에 대한 부호화가 수행될 수 있다. 부호화부와 복호화부는 동일한 방법으로 예측 차이 벡터를 유도(또는 생성)할 수 있다. 복호화부는 예측 차이 벡터와 차분 차이 벡터를 합산하여 정점에 대한 차이 벡터를 유도할 수 있다.
또한, 분할된 메시 기하 정보는 차이 벡터 역변환부로부터 생성된 복원된 차분 차이 벡터 및 차이 벡터 예측부로부터 생성된 예측 차이 벡터와 합산되어 복원된 메시 기하 정보의 형태로 향상 메시 기하 정보 부호화부로부터 출력될 수 있다. 본 개시에서, 분할된 메시 기하 정보와 원본 메시 기하 정보간 차분은 원본 차이 벡터로 지칭될 수 있고, 원본 차이 벡터와 예측 차이 벡터간 차분은 차분 차이 벡터로 지칭될 수 있다. 본 개시에서 차분 차이 벡터는 잔차(residual) 차이 벡터로 지칭될 수도 있다.
차이 벡터 변환부는 입력받은 차이 벡터를 변환하여 차이 벡터 변환 계수를 생성할 수 있다. 생성된 차이 벡터 변환 계수는 차이 벡터 양자화부로 전달될 수 있다.
차이 벡터 양자화부는 변환 계수를 입력받아 양자화를 수행하여 양자화된 변환 계수를 생성할 수 있다. 생성된 양자화된 변환 계수는 차이 벡터 이미지 패킹부로 전달될 수 있다.
차이 벡터 이미지 패킹부는 전달받은 양자화된 차이 벡터 변환 계수를 이미지의 형태로 패킹하여 차이 벡터 이미지를 생성할 수 있다. 생성된 차이 벡터 이미지는 기하 비디오 부호화부로 전달될 수 있다.
기하 비디오 부호화부는 입력받은 차이 벡터 이미지의 결합을 비디오의 형태로 입력받아 부호화를 수행하여 향상 메시 비트스트림을 생성할 수 있다. 생성된 향상 메시 비트스트림은 향상 메시 기하 정보 부호화부로부터 출력될 수 있다. 또한, 생성된 복원된 차이 벡터 이미지는 차이 벡터 이미지 언패킹부로 전달될 수 있다.
차이 벡터 이미지 언패킹부는 입력받은 차이 벡터 이미지를 언패킹하여 양자화된 차이 벡터 변환 계수를 복원할 수 있다. 생성된 양자화된 차이 벡터 변환 계수는 차이 벡터 역양자화부로 전달될 수 있다.
차이 벡터 역양자화부는 입력받은 양자화된 차이 벡터 변환 계수를 입력받아 역양자화를 수행하여 차이 벡터 변환 계수를 복원할 수 있다. 복원된 차이 벡터 변환 계수는 차이 벡터 역변환부로 전달될 수 있다.
차이 벡터 역변환부는 입력받은 복원된 차이 벡터 변환 계수를 역변환하여 차이 벡터를 복원할 수 있다. 복원된 차이 벡터는 메시 표면 분할부로부터 생성된 분할된 메시 기하 정보와 합산되어 메시 기하 정보를 복원할 수 있으며, 향상 메시 기하 정보 부호화부로부터 출력될 수 있다. 또한, 복원된 차이 벡터는 차이 벡터 저장부로 저장될 수 있다.
차이 벡터 저장부는 현재 프레임의 차이 벡터를 저장하고, 이후 프레임에서 차이 벡터 예측을 위해 차이 벡터 예측부로 저장된 차이 벡터를 전달할 수 있다.
차이 벡터 예측부는 복원된 움직임 벡터, 복원된 차이 벡터를 입력받아 현재 프레임의 예측 차이 벡터를 생성할 수 있다. 생성된 예측 차이 벡터는 원본 차이 벡터와 차분되어 차분 차이 벡터의 형태로 차이 벡터 변환부로 전달될 수 있다. 또한, 차이 벡터 역변환부로부터 생성된 복원된 차분 차이 벡터와 합산되어 차이 벡터를 복원할 수 있다.
도 12는 본 개시의 일 실시예에 따른 향상 메시 기하 정보 복호화부를 예시하는 도면이다.
도 12를 참조하면, 향상 메시 기하 정보 복호화부는 메시 표면 분할부, 차이 벡터 예측부, 차이 벡터 저장부, 기하 비디오 복호화부, 이미지 언패킹부, 차이 벡터 역양자화부, 차이 벡터 역변환부를 포함할 수 있다.
향상 메시 기하 정보 복호화부는 복원된 기본 메시 기하 정보, 복원된 움직임 벡터, 향상 메시 비트스트림을 입력받아 메시 기하 정보를 복원할 수 있다.
메시 표면 분할부는 복원된 기본 메시 기하 정보를 입력받아 메시 표면을 분할하여 분할된 메시 기하 정보를 생성할 수 있다. 분할된 메시 기하 정보는 입력받은 원본 메시 기하 정보와 차분하여 차이 벡터를 생성하고, 차이 벡터 예측부로부터 생성된 예측 차이 벡터와 차분하여 차분 차이 벡터의 형태로 차이 벡터 변환부로 입력될 수 있다. 또한, 분할된 메시 기하 정보는 차이 벡터 역변환부로부터 생성된 복원된 차분 차이 벡터, 차이 벡터 예측부로부터 생성된 예측 차이 벡터와 합산되어 복원된 메시 기하 정보의 형태로 향상 메시 기하 정보 부호화부로부터 출력될 수 있다.
기하 비디오 복호화부는 향상 메시 비트스트림을 입력받아 차이 벡터 비디오를 복원하고 한 프레임씩 출력하여 차이 벡터 이미지의 형태로 출력할 수 있다. 복원된 차이 벡터 이미지는 차이 벡터 이미지 언패킹부로 전달될 수 있다.
차이 벡터 이미지 언패킹부는 입력받은 차이 벡터 이미지를 언패킹하여 양자화된 차이 벡터 변환 계수를 복원할 수 있다. 생성된 양자화된 차이 벡터 변환 계수는 차이 벡터 역양자화부로 전달될 수 있다.
차이 벡터 역양자화부는 입력받은 양자화된 차이 벡터 변환 계수를 입력받아 역양자화를 수행하여 차이 벡터 변환 계수를 복원할 수 있다. 복원된 차이 벡터 변환 계수는 차이 벡터 역변환부로 전달될 수 있다.
차이 벡터 역변환부는 입력받은 복원된 차이 벡터 변환 계수를 역변환하여 차이 벡터를 복원할 수 있다. 복원된 차이 벡터는 메시 표면 분할부로부터 생성된 분할된 메시 기하 정보와 합산되어 메시 기하 정보를 복원할 수 있으며, 향상 메시 기하 정보 부호화부로부터 출력될 수 있다. 또한, 복원된 차이 벡터는 차이 벡터 저장부로 저장될 수 있다.
차이 벡터 저장부는 현재 프레임의 차이 벡터를 저장하고, 이후 프레임에서 차이 벡터 예측을 위해 차이 벡터 예측부로 저장된 차이 벡터를 전달할 수 있다.
차이 벡터 예측부는 복원된 움직임 벡터, 복원된 차이 벡터를 입력받아 현재 프레임의 예측 차이 벡터를 생성할 수 있다. 또한, 생성된 예측 차이 벡터는 차이 벡터 역변환부로부터 생성된 복원된 차분 차이 벡터와 합산되어 차이 벡터를 복원할 수 있다.
도 13은 본 개시의 일 실시예에 따른 차이 벡터 예측 방법을 예시하는 도면이다.
도 13(A)는 움직임 벡터 기반 차이 벡터 회전 방법을 예시하며, 도 13(B)는 노말 벡터 기반 차이 벡터 회전 방법을 예시한다.
도 13을 참조하면, 복원된 움직임 벡터와 이전 프레임의 차이 벡터를 입력받아 예측 차이 벡터를 생성할 수 있다. 다시 말해, 차이 벡터 예측부는 움직임 벡터 및/또는 이전 프레임의 차이 벡터를 이용하여 예측 차이 벡터를 생성할 수 있다.
본 개시의 일 실시예에 따르면, 예측 차이 벡터는 이전 프레임의 차이 벡터가 회전 변환된 벡터일 수 있다. 다시 말해, 현재 정점에 대한 예측 차이 벡터는 이전 프레임 내 현재 정점에 대응되는 정점의 차이 벡터가 움직임 벡터를 기반으로 회전 변환된 벡터일 수 있다. 본 개시에서, 움직임 벡터는 화면간 예측(또는 프레임간 예측)을 기반으로 기본 메시의 기하 정보(즉, 정점의 위치)를 획득(또는 유도)하기 위해 이용될 수 있다. 다시 말해, 이전 프레임의 대응 정점(즉, 현재 정점에 대응되는 정점)의 위치 및 움직임 벡터를 이용하여 현재 프레임 내 현재 정점의 위치를 결정할 수 있다.
일 실시예로서, 차이 벡터의 회전 변환 방법으로 오일러 각을 이용한 회전 변환, 쿼터니언 기반의 회전 변환 등이 사용될 수 있다. 이때, 회전 변환에 필요한 변환 파라미터는 도 13(A)와 같이 움직임 벡터 기반으로 계산될 수 있다. 또한, 다른 일 실시예로서, 노말 벡터를 기반으로 회전 변환 파라미터가 계산(또는 획득)될 수 있다.
일 실시예로서, 현재 정점이 기본 정점인지 여부에 따라 회전 변환 파라미터를 얻는 방법을 선택적으로 사용할 수 있다. 본 개시에서, 기본 정점은 기본 메시의 정점을 지칭할 수 있다. 만약, 현재 정점이 기본 메시의 정점이라면, 이웃한 정점들과 동일한 3차원 평면상에 없기 때문에 노말 벡터(또는 법선 벡터) 기반의 회전을 사용할 수 있다. 만약, 현재 정점이 기본 메시를 표면 분할하여 생성된 서브 정점이라면, 이웃한 기본 정점들과 동일한 3차원 평면상에 있기 때문에 이웃한 기본 정점의 움직임 벡터를 기반으로 회전 변환 파라미터를 얻을 수 있다. 이때, 이웃한 기본 정점은 현재 서브 정점 생성을 위해 사용된 3개의 기본 정점을 의미할 수 있다. 이웃한 기본 정점의 움직임 벡터를 기반으로 현재 서브 정점의 차이 벡터 예측을 위한 회전 변환 파라미터를 얻을 수 있다. 또는, 기본 정점의 움직임 벡터를 기반으로 계산된 이웃 서브 정점들의 움직임 벡터를 이용해 회전 변환 파라미터를 얻을 수 있다.
다른 일 실시예로서, 움직임 벡터의 크기 값을 기준으로 회전 변환 수행을 선택적으로 사용할 수 있다. 예를 들어, 움직임 벡터의 크기 값이 특정 값 미만 또는 이하인 경우에는 회전 변환을 수행하지 않을 수 있다. 반대로, 움직임 벡터의 크기 값이 특정 값을 초과하거나 이상인 경우에는 회전 변환이 수행될 수 있다. 또는, 인접 정점의 움직임 벡터간 차이에 기초하여 회전 변환이 선택적으로 수행될 수 있다. 즉, 인접 정점의 움직임 벡터간 차이가 미리 정의된 값보다 큰 경우 또는 크거나 같은 경우에 한하여 회전 변환이 수행될 수 있다.
도 14는 본 개시의 일 실시예에 따른 기본 메시 기하 정보, 차이 벡터 이미지, 텍스처 이미지의 부/복호화 순서 및 참조 구조를 예시하는 도면이다.
도 14의 예시와 같이 메시 기하 정보, 차이 벡터 비디오(또는 이미지), 텍스처 비디오(또는 이미지)는 순차적으로 부/복호화될 수 있다. 이때, 화면간 예측인 경우에는 각각 이전에 복원된 기하 정보, 차이 벡터, 속성 정보를 사용하여 부/복호화를 수행할 수 있다.
본 개시의 일 실시예에 따르면, 기하 정보, 차이 벡터 비디오, 텍스처 비디오는 각각의 코딩 단위별로 서로 다른 예측이 사용될 수 있다. 예를 들어, 차이 벡터 비디오 및 텍스처 비디오는 비디오 압축 방법의 코딩 단위 및 모드에 따라 특정 처리 단위로 화면내(인트라) 예측 및/또는 화면간(인터) 예측이 수행될 수 있다. 본 개시에서, 코딩 단위는 예측 방법(또는 예측 모드)이 결정되는 처리 단위일 수 있다. 일 예로서, 기하 정보의 코딩 단위는 프레임, 패치, 삼각형(또는 표면), 정점 중 적어도 하나일 수 있다.
예를 들어, 코딩 단위가 프레임이면, 참조 프레임 정보가 부호화기에서 복호화기로 전송될 수 있다. 또는, 코딩 단위가 패치이면, 참조 프레임 정보, 참조 패치 정보가 부호화기에서 복호화기로 전송될 수 있다. 또는 코딩 단위가 삼각형이면, 참조 프레임 정보, 참조 패치 정보, 참조 삼각형 정보 등이 부호화기에서 복호화기로 전송될 수 있다. 또는 코딩 단위가 정점이면, 참조 프레임 정보, 참조 패치 정보, 참조 삼각형, 참조 정점 정보가 부호화기에서 복호화기로 전송될 수 있다.
일 실시예로서, 차이 벡터 비디오와 텍스처 비디오의 경우는 기존의 비디오 압축 표준 기술을 사용하여 부/복호화를 수행하기 때문에 서로 다른 참조 구조를 가질 수 있다. 도 14의 예시는 두 비디오가 모두 저지연 부/복호화를 위하여 바로 이전에 복원된 하나의 프레임을 참조하는 구조에 대한 예시이다.
일 예로서, 기본 메시 기하 정보는 차이 벡터 비디오 및/또는 텍스처 비디오와 서로 다른 참조 구조를 가질 수 있다. 예를 들어, 화면간 예측 모드인 경우에 기본 메시 기하 정보는 프레임 전체 기하 정보에 대하여 화면간 예측이 수행될 수 있다. 반면에, 차이 벡터 및 텍스처 비디오는 비디오 부/복호화 장치 내부에서 코딩 블록 단위로 화면내 또는 화면간 예측이 수행될 수 있다.
도 15는 본 개시의 일 실시예에 따른 텍스처 비디오의 부/복호화 과정을 예시하는 도면이다.
도 15를 참조하면, 메시의 텍스처 이미지는 모든 메시 POC(Picture Order Count)에 존재할 수 있다. 다시 말해, 각각의 메시에는 POC 값이 할당될 수 있고, 각각의 메시는 텍스처 이미지를 가질 수 있다.
이때, 3차원 객체가 움직이더라도 객체 외부 표면의 속성 정보는 유사할 수 있다. 따라서, 본 발명의 실시예에 따르면, 이를 고려하여 프레임 단위로 또는 프레임 그룹 단위로 텍스처 이미지에 대한 압축 부호화가 수행될 수 있다.
일 실시예로서, 소정의 프레임 그룹인 GOF(Group Of Frame)이 정의될 수 있다. GOF 단위로 GOF의 크기보다 작은 수의 텍스처 이미지를 텍스처 비디오가 생성될 수 있고, 이를 기반으로 부/복호화가 수행될 수 있다. 일 예로, GOF 크기에 대한 정보는 상위 레벨 정보로서 엔트로피 부호화를 통해 복호화기로 전송될 수 있다.
일 실시예로서, GOF 단위로 첫 텍스처 이미지들만 이용하여 텍스처 비디오를 생성할 수 있다. 복호화기에서는 상위 레벨 정보로부터 GOF 크기를 획득하고, 전송받은 하나의 텍스처 이미지를 해당 GOF의 모든 프레임에서 사용할 수 있다.
일 예로서, GOF 단위로 GOF 크기보다 적은 수의 텍스처 부/복호화 방법을 선택적으로 사용할 수 있다. 다시 말해, GOF 단위로 본 실시예에 따른 텍스처 이미지 압축 방법의 적용 여부가 결정될 수 있다. 예를 들어, GOF 크기보다 적은 수의 텍스처 부/복호화 방법 사용에 관련된 플래그인 LC_FLAG가 정의될 수 있다. 다시 말해, GOF 단위 텍스처 이미지 압축이 이용되는지 여부를 지시하는 플래그가 정의될 수 있고, 본 개시에서, 해당 플래그는 LC_FLAG로 지칭될 수 있다. LC_FLAG는 엔트로피 부호화를 통해 복호화기로 전달될 수 있다.
예를 들어, LC_FLAG 값이 1인 경우, GOF 단위 텍스처 이미지 압축이 이용될 수 있고, LC_FLAG 값이 0인 경우, GOF 단위 텍스처 이미지 압축이 이용되지 않을 수 있다. 도 15에 도시된 바와 같이, LC_FLAG 값이 1인 GOF에 포함된 메시들은 텍스처 비디오 내에서 소정의 POC 값을 가지는 텍스처 이미지를 이용하여 복원될 수 있다. LC_FLAG 값이 0인 GOF에 포함된 메시들의 경우, 각각 대응되는 텍스처 이미지가 텍스처 비디오 내에 포함될 수 있고, 이를 이용하여 복원될 수 있다. 즉, 복호화기에서는 GOF 단위로 해당 플래그를 확인하여 수신된 텍스처 비디오로부터 부분적으로 텍스처 이미지를 참조하여 메시를 복원할 수 있다.
도 16은 본 개시의 일 실시예에 따른 텍스처 비디오의 부/복호화 과정을 예시하는 도면이다.
도 16을 참조하면, 특정 GOF의 각 프레임(즉, 메시, 메시 프레임)들은 현재 프레임에 대한 텍스처 이미지가 코딩되었는지 여부를 의미하는 플래그가 정의될 수 있다. 본 개시에서 해당 플래그는 텍스처 코딩 플래그, texture_coded 플래그로 지칭될 수 있다. 즉, 도 16에서, texture_coded는 텍스처 코딩 플래그를 나타낸다.
일 실시예로서, 텍스처 코딩 플래그가 1이면, 현재 메시의 텍스처 이미지는 텍스처 비디오에 포함되어 부호화될 수 있다. 반대로, 텍스처 코딩 플래그가 0이면, 현재 메시의 텍스처 이미지에 대한 부호화가 생략될 수 있다. 텍스처 코딩 플래그가 0이면, 현재 메시의 텍스처 이미지에 대한 부호화가 생략되고, 이전 메시의 텍스처 이미지를 참조할 수 있다. 즉, 텍스처 코딩 플래그가 0이면, 현재 메시의 텍스처 이미지에 대한 부호화가 생략되고 참조 텍스처 이미지를 이용하여 현재 메시가 부/복호화될 수 있다.
텍스처 코딩 정보는 메시 프레임 단위로 상위 레벨 정보에 포함되어 엔트로피 부호화를 통해 복호화기로 시그날링될 수 있다. 복호화기에서는 해당 정보를 메시 프레임 단위로 확인하여 텍스처 이미지를 복원할 수 있다.
일 예로, 텍스처 코딩 플래그 값이 0인 경우, 이전에 복원된 메시 프레임 중 텍스처 코딩 플래그 값이 1이면서 현재 메시 프레임의 POC와 가장 가까운 POC 값을 가지는 메시 프레임의 텍스처 이미지를 현재 텍스처 이미지로 사용할 수 있다. 다시 말해, 텍스처 코딩 플래그 값이 0인 경우, 이전에 복원된 메시 프레임 중에서 POC 값이 가장 가까운 메시 프레임의 텍스처 이미지를 참조할 수 있다.
또한, 일 실시예에서, 텍스처 코딩 플래그는 현재 GOF의 LC_FLAG가 1인 경우에만 사용(또는 시그날링)될 수 있다. 다른 일 예로서, 현재 메시 프레임의 예측 모드가 화면내 예측 모드인 경우에 텍스처 코딩 플래그에 대한 부/복호화는 생략되고 그 값이 1로 유도(또는 추론)될 수 있다.
도 17은 본 개시의 일 실시예에 따른 텍스처 비디오의 부/복호화 과정을 예시하는 도면이다.
도 17을 참조하면, 메시 프레임 단위로 참조 텍스처 이미지가 결정될 수 있다. 본 개시의 일 실시예에서, 소정의 텍스처 이미지 그룹인 GOP(Group Of Picture)가 정의될 수 있다. 텍스처 비디오는 GOP를 포함할 수 있다. 즉, 각 메시 프레임 단위로 현재 메시의 텍스처 이미지(즉, 참조 텍스처 이미지)를 텍스처 비디오의 GOP 내에서 특정할 수 있다. 실시예로서, 텍스처 비디오의 GOP 내 참조 텍스처 이미지는 프레임 인덱스로 특정될 수 있다. 본 개시에서, 텍스처 비디오의 GOP 내 참조 텍스처 이미지를 특정하는 프레임 인덱스는 프레임 인덱스, 텍스처 인덱스, 텍스처 이미지 인덱스로 지칭될 수 있다.
예를 들어, 텍스처 비디오의 GOP 크기가 2이면, 텍스처 인덱스(도 17에서 texture_index)는 0과 1의 값을 가질 수 있다. 0인 경우에는 텍스처 비디오에서 GOP 내 첫 번째 프레임을 현재 MESH POC의 텍스처 이미지로 사용한다는 의미일 수 있다. 반대로 1인 경우에는 텍스처 비디오에서 GOP 내부의 두 번째 프레임을 현재 MESH POC의 텍스처 이미지로 사용한다는 의미일 수 있다.
일 실시예에서, 텍스처 인덱스가 동일한 원본 텍스처 이미지를 모아서 하나의 텍스처 비디오 프레임을 생성할 수 있다. 또는, 동일한 원본 텍스처 이미지들 중 가장 작은 MESH POC 값을 갖는 이미지를 텍스처 비디오 프레임으로 사용할 수 있다. 텍스처 인덱스는 각 메시 프레임 단위로 상위 레벨 정보에 포함되어 엔트로피 부호화를 통해 복호화기로 전달될 수 있다. 또한, 일 실시예에서, 텍스처 인덱스는 현재 GOF의 LC_FLAG가 1인 경우에만 사용(또는 시그날링)될 수 있다.
도 18은 본 개시의 일 실시예에 따른 메시 압축 과정을 예시하는 흐름도이다.
도 18을 참조하여, 메시 압축 방법을 설명함에 있어서 메시 복호화기에 수행되는 방법을 위주로 설명하나, 이에 제한되는 것은 아니며, 본 실시예에서 설명하는 방법은 실질적으로 동일한 방법으로 메시 부호화기에 의해 수행될 수 있다. 본 실시예는 앞서 도 1 내지 도 17에서 설명한 방법이 적용될 수 있다.
메시 복호화기는 기본 메시 비트스트림(base mesh bitstream)으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원할 수 있다(S1800).
메시 복호화기는 복원된 기본 메시에 대하여 표면 분할(surface division)을 수행할 수 있다(S1810).
메시 복호화기는 상기 복원된 기본 메시의 정점(vertex) 및 표면 분할에 의해 생성된 서브 정점(sub-vertex) 중 적어도 하나에 대한 차이 벡터(displacement vector)를 획득할 수 있다(S1820).
메시 복호화기는 복원된 기본 메시 및 획득된 차이 벡터에 기초하여 향상 메시(enhancement mesh)를 복원할 수 있다(S1830).
메시 복호화기는 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득할 수 있다(S1840). 메시 복호화기는 상기 복원된 향상 메시 및 상기 텍스처 이미지에 기초하여 현재 프레임을 복원할 수 있다.
전술한 바와 같이, 상기 기하 정보는 제1 예측 모드에 기초하여 코딩되고, 상기 차이 벡터는 제2 예측 모드에 기초하여 코딩되고, 상기 텍스처 이미지는 제3 예측 모드에 기초하여 코딩될 수 있다. 상기 제1 예측 모드, 상기 제2 예측 모드 및 상기 제3 예측 모드는 인터 예측 모드 또는 인트라 예측 방법 중 하나일 수 있다.
또한, 전술한 바와 같이, 상기 제1 예측 모드, 상기 제2 예측 모드 또는 상기 제3 예측 모드 중 적어도 하나는 미리 결정된 코딩 단위로 결정될 수 있다. 일 예로서, 상기 코딩 단위는, 프레임, 패치, 표면 또는 정점 중 적어도 하나일 수 있다.
또한, 전술한 바와 같이, 메시 복호화기는 현재 프레임에 대하여 텍스처 이미지 압축이 이용되는지 여부를 지시하는 제1 플래그를 획득할 수 있다. 여기서, 상기 제1 플래그는 하나 이상의 프레임을 포함하는 프레임 그룹 단위로 시그날링될 수 있다. 상기 현재 프레임에 대하여 상기 텍스처 이미지 압축이 이용되는 경우, S1840 단계에서 획득되는 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임의 텍스처 이미지를 참조하여 획득될 수 있다. 관련하여 앞서 도 15에서 설명한 내용이 적용될 수 있고, 여기서 중복되는 설명은 생략한다.
또한, 전술한 바와 같이, 메시 복호화기는 상기 현재 프레임에 대한 텍스처 이미지의 코딩 여부를 지시하는 제2 플래그를 획득할 수 있다. 상기 제2 플래그는 프레임 단위로 시그날링될 수 있다. 상기 현재 프레임에 대한 텍스처 이미지의 코딩이 생략되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임 중에서 POC(picture ordere count) 값이 상기 현재 프레임에 가장 인접한 프레임의 텍스처 이미지를 참조하여 획득될 수 있다. 관련하여 앞서 도 16에서 설명한 내용이 적용될 수 있고, 여기서 중복되는 설명은 생략한다.
또한, 전술한 바와 같이, 메시 복호화기는 상기 텍스처 이미지를 획득하는 단계는, 복수의 텍스처 이미지를 포함하는 텍스처 비디오 내 텍스처 이미지를 지시하는 텍스처 인덱스를 획득할 수 있다. 관련하여 앞서 도 17에서 설명한 내용이 적용될 수 있고, 여기서 중복되는 설명은 생략한다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는, 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는, 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는, 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는, 다른 실시예의 대응하는 구성 또는, 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는, 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는, 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는, 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는, 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 메시 압축 방법 및 장치에 이용될 수 있다.

Claims (14)

  1. 기본 메시 비트스트림(base mesh bitstream)으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하는 단계;
    상기 복원된 기본 메시에 대하여 표면 분할(surface division)을 수행하는 단계;
    상기 복원된 기본 메시의 정점(vertex) 및 상기 표면 분할에 의해 생성된 서브 정점(sub-vertex) 중 적어도 하나에 대한 차이 벡터(displacement vector)를 획득하는 단계;
    상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시(enhancement mesh)를 복원하는 단계; 및
    상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득하는 단계를 포함하는, 메시 압축 방법.
  2. 제1항에 있어서,
    상기 기하 정보는 제1 예측 모드에 기초하여 코딩되고, 상기 차이 벡터는 제2 예측 모드에 기초하여 코딩되고, 상기 텍스처 이미지는 제3 예측 모드에 기초하여 코딩되는, 메시 압축 방법.
  3. 제2항에 있어서,
    상기 제1 예측 모드, 상기 제2 예측 모드 및 상기 제3 예측 모드는 인터 예측 모드 또는 인트라 예측 방법 중 하나인, 메시 압축 방법.
  4. 제2항에 있어서,
    상기 제1 예측 모드, 상기 제2 예측 모드 또는 상기 제3 예측 모드 중 적어도 하나는 미리 결정된 코딩 단위로 결정되는, 메시 압축 방법.
  5. 제4항에 있어서,
    상기 코딩 단위는, 프레임, 패치, 표면 또는 정점 중 적어도 하나인, 메시 압축 방법.
  6. 제1항에 있어서,
    상기 복원된 향상 메시 및 상기 텍스처 이미지에 기초하여 현재 프레임을 복원하는 단계를 더 포함하는, 메시 압축 방법.
  7. 제6항에 있어서,
    상기 현재 프레임에 대하여 텍스처 이미지 압축이 이용되는지 여부를 지시하는 제1 플래그를 획득하는 단계를 더 포함하는, 메시 압축 방법.
  8. 제7항에 있어서,
    상기 제1 플래그는 하나 이상의 프레임을 포함하는 프레임 그룹 단위로 시그날링되는, 메시 압축 방법.
  9. 제7항에 있어서,
    상기 현재 프레임에 대하여 상기 텍스처 이미지 압축이 이용되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임의 텍스처 이미지를 참조하여 획득되는, 메시 압축 방법.
  10. 제6항에 있어서,
    상기 현재 프레임에 대한 텍스처 이미지의 코딩 여부를 지시하는 제2 플래그를 획득하는 단계를 더 포함하는, 메시 압축 방법.
  11. 제10항에 있어서,
    상기 제2 플래그는 프레임 단위로 시그날링되는, 메시 압축 방법.
  12. 제10항에 있어서,
    상기 현재 프레임에 대한 텍스처 이미지의 코딩이 생략되는 경우, 상기 텍스처 이미지는 상기 현재 프레임 이전에 코딩된 프레임 중에서 POC(picture ordere count) 값이 상기 현재 프레임에 가장 인접한 프레임의 텍스처 이미지를 참조하여 획득되는, 메시 압축 방법.
  13. 제1항에 있어서,
    상기 텍스처 이미지를 획득하는 단계는, 복수의 텍스처 이미지를 포함하는 텍스처 비디오 내 텍스처 이미지를 지시하는 텍스처 인덱스를 획득하는 단계를 포함하는, 메시 압축 방법.
  14. 메시 압축 장치에 있어서,
    상기 메시 압축 장치를 제어하는 프로세서; 및
    상기 프로세서와 결합되고, 데이터를 저장하는 메모리를 포함하되,
    상기 프로세서는,
    기본 메시 비트스트림(base mesh bitstream)으로부터 획득된 기하 정보에 기초하여 기본 메시를 복원하고,
    상기 복원된 기본 메시에 대하여 표면 분할(surface division)을 수행하고,
    상기 복원된 기본 메시의 정점(vertex) 및 상기 표면 분할에 의해 생성된 서브 정점(sub-vertex) 중 적어도 하나에 대한 차이 벡터(displacement vector)를 획득하고,
    상기 복원된 기본 메시 및 상기 획득된 차이 벡터에 기초하여 향상 메시(enhancement mesh)를 복원하고,
    상기 복원된 향상 메시의 표면에 연관된 텍스처 이미지를 획득하는, 메시 압축 장치.
PCT/KR2023/013958 2022-09-15 2023-09-15 다이나믹 메시 압축 방법 및 장치 WO2024058614A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220116544 2022-09-15
KR10-2022-0116544 2022-09-15
KR10-2022-0116543 2022-09-15
KR20220116543 2022-09-15

Publications (1)

Publication Number Publication Date
WO2024058614A1 true WO2024058614A1 (ko) 2024-03-21

Family

ID=90275444

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/013958 WO2024058614A1 (ko) 2022-09-15 2023-09-15 다이나믹 메시 압축 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2024058614A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200286261A1 (en) * 2019-03-07 2020-09-10 Samsung Electronics Co., Ltd. Mesh compression
WO2021062044A1 (en) * 2019-09-24 2021-04-01 Apple Inc. Three dimensional mesh compression using a point cloud encoder
US20220078486A1 (en) * 2019-01-02 2022-03-10 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
KR20220084407A (ko) * 2019-12-10 2022-06-21 소니그룹주식회사 포인트 클라우드 표현을 통한 메시 압축

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220078486A1 (en) * 2019-01-02 2022-03-10 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US20200286261A1 (en) * 2019-03-07 2020-09-10 Samsung Electronics Co., Ltd. Mesh compression
WO2021062044A1 (en) * 2019-09-24 2021-04-01 Apple Inc. Three dimensional mesh compression using a point cloud encoder
KR20220084407A (ko) * 2019-12-10 2022-06-21 소니그룹주식회사 포인트 클라우드 표현을 통한 메시 압축

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MAMMOU KHALED; KIM JUNGSUN; TOURAPIS ALEXIS M.; PODBORSKI DIMITRI; FLYNN DAVID: "Video and Subdivision based Mesh Coding", 2022 10TH EUROPEAN WORKSHOP ON VISUAL INFORMATION PROCESSING (EUVIP), IEEE, 11 September 2022 (2022-09-11), pages 1 - 6, XP034212156, DOI: 10.1109/EUVIP53989.2022.9922888 *

Similar Documents

Publication Publication Date Title
WO2020036417A1 (ko) 히스토리 기반 움직임 벡터에 기반한 인터 예측 방법 및 그 장치
WO2020071830A1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
WO2020071829A1 (ko) 히스토리 기반 영상 코딩 방법 및 그 장치
WO2020197236A1 (ko) 서브 픽처 핸들링 구조 기반 영상 또는 비디오 코딩
WO2018212569A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020189960A1 (ko) 크로마 포맷에 대한 정보를 시그널링 하는 방법 및 장치
WO2020076066A1 (ko) 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치
WO2021040400A1 (ko) 팔레트 모드 기반 영상 또는 비디오 코딩
WO2021096057A1 (ko) 비디오 또는 영상 코딩 시스템에서의 엔트리 포인트 관련 정보에 기반한 영상 코딩 방법
WO2020235960A1 (ko) Bdpcm 에 대한 영상 디코딩 방법 및 그 장치
WO2020141885A1 (ko) 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
WO2018174531A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018074813A1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2021040402A1 (ko) 팔레트 코딩 기반 영상 또는 비디오 코딩
WO2024058614A1 (ko) 다이나믹 메시 압축 방법 및 장치
WO2018174542A1 (ko) 비디오 신호 처리 방법 및 장치
WO2021201463A1 (ko) 인루프 필터링 기반 영상 코딩 장치 및 방법
WO2021107634A1 (ko) 픽처 분할 정보를 시그널링 하는 방법 및 장치
WO2020180044A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020067679A1 (ko) 머지 후보 리스트를 구성하는 방법 및 장치
WO2019107997A1 (ko) 비디오 신호의 처리 방법 및 장치
WO2020130629A1 (ko) 다중 참조 라인 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
WO2018222020A1 (ko) 타겟 영역 수정을 통해 비디오 신호를 처리하는 방법 및 장치
WO2023003448A1 (ko) 비디오 압축을 이용한 추론 방법 및 장치
WO2019035658A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

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: 23865909

Country of ref document: EP

Kind code of ref document: A1