WO2023101510A1 - 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 - Google Patents
포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 Download PDFInfo
- Publication number
- WO2023101510A1 WO2023101510A1 PCT/KR2022/019503 KR2022019503W WO2023101510A1 WO 2023101510 A1 WO2023101510 A1 WO 2023101510A1 KR 2022019503 W KR2022019503 W KR 2022019503W WO 2023101510 A1 WO2023101510 A1 WO 2023101510A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point cloud
- information
- data
- cloud data
- video
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Definitions
- Embodiments relate to a method and apparatus for processing point cloud content.
- the point cloud content is content expressed as a point cloud, which is a set of points belonging to a coordinate system representing a 3D space.
- Point cloud content can express three-dimensional media, and provides various services such as VR (Virtual Reality), AR (Augmented Reality), MR (Mixed Reality), and autonomous driving service.
- VR Virtual Reality
- AR Augmented Reality
- MR Magnetic Reality
- autonomous driving service used to provide VR technology provides only CG (Computer Graphic) images of objects or backgrounds in the real world
- AR technology provides CG images created virtually on top of images of real objects
- MR technology mixes and combines virtual objects in the real world It is a computer graphics technology provided by ordering. All of the aforementioned VR, AR, MR, and the like are simply referred to as XR (extended reality) technology.
- XR extended reality
- Embodiments provide an apparatus and method for efficiently processing point cloud data.
- Embodiments provide a point cloud data processing method and apparatus for solving latency and encoding/decoding complexity.
- Embodiments provide an apparatus and method for achieving ultra-low latency in implementing a realistic interactive system based on point cloud technology.
- Embodiments provide an apparatus and method that can effectively reduce a high amount of information while minimizing a decrease in quality of experience felt by a user by adjusting the density of a corresponding object according to the importance of the object.
- a point cloud data transmission method includes preprocessing point cloud data including points, encoding the preprocessed point cloud data, and transmitting the encoded point cloud data and signaling data. can do.
- the preprocessing step may include classifying the point cloud data into a plurality of objects, mapping an importance level to each of the classified objects, and mapping the object based on the location information and importance level of each classified object. It may include controlling the density of at least one of the objects.
- the density of the at least one object may be controlled by adjusting the number of points included in the at least one object.
- the density of the at least one object may be controlled by applying a filter to a frame including the objects based on the position information and importance level of each classified object.
- the density of the at least one object may be controlled by applying a filter to a bounding box including the objects based on location information and an importance level of each classified object.
- the preprocessing step may include generating one or more patches based on points of a bounding box including at least one object whose density is controlled, packing the one or more patches on a 2D plane, and packing the one or more patches on the 2D plane. It may include generating an accupancy map, geometry information, and attribute information based on one or more patches and the signaling data.
- the signaling data may include at least location information or importance level information of each of the classified objects.
- the importance level of each of the classified objects may be previously stored in the form of a table.
- the pre-processing step may further include recognizing a plurality of objects from the point cloud data.
- An apparatus for transmitting point cloud data includes a preprocessor for preprocessing point cloud data including points, an encoding unit for encoding the preprocessed point cloud data, and a transmission for transmitting the encoded point cloud data and signaling data. wealth may be included.
- the pre-processing unit classifies the point cloud data into a plurality of objects, maps an importance level to each of the classified objects, and selects at least one of the objects based on the position information and importance level of each of the classified objects. You can control the density of objects.
- the pre-processing unit may control the density of the at least one object by adjusting the number of points included in the at least one object.
- the pre-processing unit may control the density of the at least one object by applying a filter to a frame including the objects based on location information and an importance level of each classified object.
- the pre-processing unit may control the density of the at least one object by applying a filter to a bounding box including the objects based on location information and an importance level of each classified object.
- the pre-processing unit includes a patch generating unit generating one or more patches based on points of a bounding box including at least one object whose density is controlled, a patch packing unit packing the one or more patches on a 2D plane, and the 2D plane. and a generator for generating an accupancy map, geometry information, and attribute information based on one or more patches packed in and the signaling data.
- the signaling data may include at least location information or importance level information of each of the classified objects.
- the importance level of each of the classified objects may be previously stored in the form of a table.
- Apparatus and method according to embodiments may process point cloud data with high efficiency.
- Devices and methods according to embodiments may provide a point cloud service of high quality.
- Devices and methods according to embodiments may provide point cloud content for providing general-purpose services such as XR services and autonomous driving services.
- Apparatus and method according to the embodiments can reduce the cost required for service to a minimum while maintaining the quality experienced by users as much as possible in a realistic conversation and multi-person conference system capable of real-time conversation based on 3D acquired images. there is.
- the apparatus and method according to the embodiments can process a very high amount of information for actual implementation of a immersive interactive system, and can respond to a user's movement or a change in viewpoint occurring in the form of an interaction at a speed close to real time.
- Apparatus and method according to embodiments achieve ultra-low latency by controlling the density of point cloud data based on the user's level of interest in implementing a realistic interactive system based on point cloud technology,
- the degradation of quality can be minimized, and at the same time, the high amount of information can be effectively reduced.
- An apparatus and method recognize objects in real-time realistic interactive services, classify areas of interest suitable for interactive services, and adjust point data densities of different levels for each area, so that the user receiving the service can finally feel It is possible to construct an optimal point cloud set while minimizing the degradation in quality.
- FIG. 1 is a block diagram illustrating an example of a communication system 1 according to embodiments.
- FIG. 2 is a diagram illustrating a block configuration of a wireless communication system to which methods according to embodiments may be applied.
- 3 is a diagram illustrating an example of a 3GPP signal transmission/reception method.
- FIG. 4 is a diagram illustrating an example in which a physical channel is mapped into a self-contained slot according to embodiments.
- FIG. 5 is a diagram illustrating an example of an ACK/NACK transmission process and a PUSCH transmission process.
- FIG. 6 is a diagram illustrating a downlink structure for media transmission of a 5GMS service according to embodiments.
- FIG. 7 is a diagram showing an example of a FLUS structure for uplink service.
- FIG. 8 is a diagram showing an example of a point cloud data processing system according to embodiments.
- FIG. 9 is a diagram illustrating an example of a point cloud, geometry, and texture image according to embodiments.
- FIG. 10 is a diagram illustrating an example of a point cloud video encoder according to embodiments.
- FIG. 11 is a diagram illustrating an example of a bounding box of a point cloud according to embodiments.
- FIG. 12 is a diagram illustrating an example of a point cloud video decoder according to embodiments.
- FIG. 13 is a diagram illustrating an example of an operation flowchart of a transmission device for compressing and transmitting V-PCC-based point cloud data according to embodiments.
- FIG. 14 is a diagram illustrating an example of an operational flowchart of a receiving device for receiving and restoring V-PCC-based point cloud data according to embodiments.
- 15 is a diagram illustrating an example of a point cloud processing system for processing and streaming V-PCC-based point cloud data according to embodiments.
- 16 is a diagram illustrating a transmission structure for a UE on a visited network according to embodiments.
- 17 is a diagram illustrating call connection between UEs according to embodiments.
- FIG. 18 is a diagram illustrating an apparatus for transmitting and receiving point cloud data according to embodiments.
- 19 shows a structure for XR communication on a 5G network according to embodiments.
- FIG. 21 illustrates Point to Point XR Teleconference according to embodiments.
- 22 shows XR videoconferencing extensions according to embodiments.
- 24 is a diagram showing an example of controlling the density of point cloud data according to embodiments.
- 25 is a diagram illustrating a process of extracting coordinate information of each object and mapping an importance level after recognizing and classifying objects according to embodiments.
- 26 is a diagram showing an example of syntax and semantics of signaling information showing a relationship between a bounding box and objects according to embodiments.
- FIG. 27 shows an example of a point configuration for each LOD according to embodiments.
- 28(a) and 28(b) are diagrams showing examples of differences in sharpness due to differences in density for each object area according to embodiments.
- 29 is a diagram showing an example of applying a filter map in units of pixels in a specific region (eg, object) of a bounding box according to embodiments.
- 30(a) to 30(d) are diagrams showing examples of function filters capable of adjusting the entropy of a specific region according to embodiments.
- FIG. 1 is a block diagram illustrating an example of a communication system 1 according to embodiments.
- a communication system 1 includes wireless devices 100a to 100f, a base station (BS) 200 and a network 300 .
- a base station (BS) 200 includes a fixed station, a Node B, an evolved-NodeB (eNB), a Next Generation NodeB (gNB), a base transceiver system (BTS), an access point (AP) ), a network or a 5G (5th generation) network node, an Artificial Intelligence (AI) system, a road side unit (RSU), a robot, an Augmented Reality/Virtual Reality (AR/VR) system, a server, and the like.
- AI Artificial Intelligence
- RSU road side unit
- AR/VR Augmented Reality/Virtual Reality
- a wireless device refers to a device that communicates with a base station and / or other wireless devices using a radio access technology (eg, 5G New RAT (NR), Long Term Evolution (LTE)), It may be called a communication/wireless/5G device or a user equipment (UE).
- a radio access technology eg, 5G New RAT (NR), Long Term Evolution (LTE)
- NR 5G New RAT
- LTE Long Term Evolution
- UE user equipment
- the wireless device is not limited to the above embodiments, and includes a robot 100a, a vehicle 100b-1 and 100b-2, an XR (eXtended Reality) device 100c, and a hand-held device 100d.
- home appliances 100e Internet of Thing (IoT) devices 100f
- AI devices/servers 400 e.g., Internet of Thing (IoT) devices 100f, and AI devices/servers 400.
- the XR device 100c represents a device that provides XR content (eg, Augmented Reality (AR)/Virtual Reality (VR)/Mixed Reality (MR) content).
- an XR device may be referred to as an AR/VR/MR device.
- the XR device 100c is a Head-Mounted Device (HMD), a Head-Up Display (HUD) installed in a vehicle, a television, a smartphone, a computer, a wearable device, a home appliance, and a digital signage. , can be implemented in the form of vehicles, robots, etc.
- HMD Head-Mounted Device
- HUD Head-Up Display
- the vehicles 100b-1 and 100b-2 are vehicles equipped with a wireless communication function, self-driving vehicles, vehicles capable of performing inter-vehicle communication, UAVs (Unmanned Aerial Vehicles) (eg, drones), and the like.
- the mobile device 100d may include a smart phone, a smart pad, a wearable device (eg, a smart watch, a smart glass), a computer (eg, a laptop computer), and the like.
- the home appliance 100e may include a TV, a refrigerator, a washing machine, and the like.
- the IoT device 100f may include a sensor, a smart meter, and the like.
- the wireless devices 100a to 100f may be connected to the network 300 through the base station 200 .
- the wireless devices 100a to 100f may be connected to the AI server 400 through the network 300 .
- the network 300 may be configured using a 3G network, a 4G (eg, LTE) network, a 5G (eg, NR) network, or a 6G network.
- the wireless devices 100a to 100f may communicate with each other through the base station 200/network 300, but may also communicate directly (eg, sidelink communication) without going through the base station/network.
- Wireless communication/connection includes uplink/downlink communication (150a), which is communication between wireless devices and base stations, sidelink communication (150b) (or D2D communication), which is communication between wireless devices, and communication between base stations (150c). ) (e.g. relay, integrated access backhaul (IAB) and various radio access technologies (eg, 5G, NR, etc.).
- IAB integrated access backhaul
- the wireless devices 100a to 100f and the base station 200 can be transmitted/received through various physical channels of the wireless communication/connection 150a, 150b, and 150c Various configuration information for transmitting/receiving wireless signals for the wireless communication/connection 150a, 150b, and 150c
- Various configuration information for transmitting/receiving wireless signals for the wireless communication/connection 150a, 150b, and 150c At least one process of a setting process, various signal processing processes (eg, channel encoding/decoding, modulation/demodulation, resource mapping/demapping, etc.), resource allocation process, etc. may be performed.
- a user terminal (eg, an XR device (eg, the XR device 100c of FIG. 1 )) according to embodiments provides XR content such as audio/video data, voice data, and surrounding information data. Specific information including XR data (or AR/VR data) required for this may be transmitted to a base station or other user terminal through a network.
- a user terminal may perform an initial access operation to a network. During the initial access process, the user terminal may acquire cell search and system information for acquiring downlink (DL) synchronization.
- Downlink represents communication from a base station (eg, BS) or a transmitter that is part of the base station to a user equipment (UE) or a receiver included in the user equipment.
- a user terminal may perform a random access operation for accessing a network.
- the user terminal may transmit a preamble for uplink (UL) synchronization acquisition or UL data transmission, and may perform a random access response reception operation.
- Uplink represents communication from a UE or a transmitting unit that is part of a UE to a BS or a receiving unit that is part of a BS.
- the UE may perform an UL Grant reception operation to transmit specific information to the BS.
- the uplink grant is for receiving time/frequency resource scheduling information for uplink data transmission.
- a user terminal may transmit specific information to a base station through a 5G network based on a UL grant.
- a base station may perform XR content processing.
- the user terminal may perform a downlink grant (DL Grant) reception operation to receive a response to specific information through the 5G network.
- DL Grant downlink grant
- a downlink grant represents receiving time/frequency resource scheduling information to receive downlink data.
- the user terminal may receive a response to specific information through the network based on the downlink grant.
- FIG. 2 illustrates a block configuration diagram of a wireless communication system to which methods according to embodiments may be applied.
- the wireless communication system includes a first communication device 910 and/or a second communication device 920 .
- 'A and/or B' may be interpreted as having the same meaning as 'including at least one of A or B'.
- the first communication device may represent a BS and the second communication device may represent a UE (or the first communication device may represent a UE and the second communication device may represent a BS).
- the first communication device and the second communication device include processors 911 and 921, memories 914 and 924, one or more Tx/Rx RF modules (radio frequency modules 915 and 925), Tx processors 912 and 922, and Rx processors 913 and 923. , antennas 916 and 926. Tx/Rx modules are also called transceivers.
- the processor 911 may perform a signal processing function of a layer higher than the physical layer (eg, layer 2 (L2)). For example, in the Downlink, or DL (communication from a first communication device to a second communication device), higher layer packets from the core network are provided to the processor 911 .
- L2 layer 2
- the processor 911 provides multiplexing between logical channels and transport channels and radio resource allocation to the second communication device 920, and is responsible for signaling to the second communication device do.
- the first communication device 910 and the second communication device 920 are processors (eg, audio/video encoder, audio/video decoder, etc. ) may further include.
- the processor according to the embodiments processes video data corresponding to various video standards (eg, video standards such as MPEG2, AVC, HEVC, and VVC) and various audio standards (eg, MPEG 1 Layer 2 Audio, AC3, and HE).
- video standards eg, video standards such as MPEG2, AVC, HEVC, and VVC
- various audio standards eg, MPEG 1 Layer 2 Audio, AC3, and HE
- -Audio data processed by audio standards such as AAC, E-AC-3, HE-AAC, NGA, etc.
- the processor may process XR data or XR media data processed using Video-based Point Cloud Compression (V-PCC) or Geometry-based Point Cloud Compression (G-PCC).
- V-PCC Video-based Point Cloud Compression
- G-PCC Geometry-based Point Cloud Compression
- XR data or XR media data may be referred to as point cloud data.
- a processor processing higher layer data may be implemented as a single processor or a single chip by being combined with the processors 911 and 921 .
- a processor processing upper layer data may be implemented as a separate chip or a separate processor from the processors 911 and 921 .
- the transmit (TX) processor 912 implements various signal processing functions for the L1 layer (ie, physical layer).
- the signal processing function of the physical layer can facilitate forward error correction (FEC) in the second communication device.
- FEC forward error correction
- the signal processing function of the physical layer includes coding and interleaving.
- a signal that has undergone encoding and interleaving is modulated into complex valued modulation symbols through scrambling and modulation.
- BPSK, QPSK, 16QAM, 64QAM, 246QAM, etc. may be used for modulation depending on the channel.
- Complex-valued modulation symbols (hereafter referred to as modulation symbols) are divided into parallel streams, each stream mapped to an orthogonal frequency division multiplexing (OFDM) subcarrier and multiplexed with a reference signal in the time and/or frequency domain. , are combined together using IFFT to create a physical channel carrying a stream of time domain OFDM symbols.
- OFDM symbol streams are spatially precoded to create multiple spatial streams.
- Each spatial stream may be provided to a different antenna 916 via a separate Tx/Rx module (or transceiver 915).
- Each Tx/Rx module can frequency upconvert each spatial stream to an RF carrier for transmission.
- each Tx/Rx module (or transceiver) 925 receives a signal of an RF carrier through each antenna 926 of each Tx/Rx module.
- Each Tx/Rx module restores the signal of the RF carrier to a baseband signal and provides it to the receive (RX) processor 923.
- the RX processor implements various signal processing functions of L1 (ie, physical layer).
- the RX processor may perform spatial processing on the information to recover any spatial stream destined for the second communication device.
- multiple spatial streams are destined for the second communication device, they may be combined into a single OFDMA symbol stream by multiple RX processors.
- the RX processor converts the OFDM symbol stream, which is a time domain signal, into a frequency domain signal using a Fast Fourier Transform (FFT).
- FFT Fast Fourier Transform
- the frequency domain signal includes a separate OFDM symbol stream for each subcarrier of the OFDM signal.
- the modulation symbols and reference signal on each subcarrier are recovered and demodulated by determining the most probable signal constellation points transmitted by the first communication device. These soft decisions may be based on channel estimate values.
- the soft decisions are decoded and deinterleaved to recover the data and control signals originally transmitted by the first communication device on the physical channel. Corresponding data and control signals are provided to processor 921 .
- the UL (communication from the second communication device to the first communication device) is handled in the first communication device 910 in a manner similar to that described with respect to the receiver function in the second communication device 920 .
- Each Tx/Rx module 925 receives a signal through a respective antenna 926.
- Each Tx/Rx module provides an RF carrier and information to the RX processor 923.
- Processor 921 may be associated with memory 924 that stores program codes and data. Memory may be referred to as a computer readable medium.
- FIGS. 3 to 5 show examples of one or more signal processing methods and/or operations for a physical L1 layer (ie, physical layer). Examples disclosed in FIGS. 3 to 5 may be the same as or similar to examples of signal processing methods and/or operations performed by the transmit (TX) processor 912 and/or the transmit (TX) processor 922 described in FIG. 2 . there is.
- 3 shows an example of a 3GPP signal transmission/reception method.
- the UE when the UE is powered on or enters a new cell, it may perform an initial cell search task such as synchronizing with a BS (S201).
- the UE may synchronize with the BS by receiving a primary synchronization channel (P-SCH) and a secondary synchronization channel (S-SCH) from the BS and obtain information such as a cell ID. .
- the P-SCH and the S-SCH may be referred to as a primary synchronization signal (PSS) and a secondary synchronization signal (SSS), respectively.
- the UE may obtain intra-cell broadcast information by receiving a physical broadcast channel (PBCH) from the BS. Meanwhile, the UE may check the downlink channel state by receiving a downlink reference signal (DL RS) in the initial cell search step.
- PBCH physical broadcast channel
- DL RS downlink reference signal
- the UE may acquire more detailed system information by receiving a Physical Downlink Control Channel (PDCCH) and a Physical Downlink Shared Channel (PDSCH) according to information carried on the PDCCH (S202).
- PDCCH Physical Downlink Control Channel
- PDSCH Physical Downlink Shared Channel
- the UE may perform a random access procedure for the BS (steps S203 to S206).
- the UE transmits a specific sequence as a preamble through a physical random access channel (PRACH) (S203 and S205), and receives a random access response (RAR) message for the preamble through a PDCCH and a corresponding PDSCH. It can (S204 and S206).
- PRACH physical random access channel
- RAR random access response
- a contention resolution procedure may be additionally performed.
- the UE may perform PDCCH/PDSCH reception (S207) and PUSCH (Physical Uplink Shared Channel)/PUCCH (Physical Uplink Control Channel) transmission (S208) as a general uplink/downlink signal transmission process.
- the UE receives DCI through the PDCCH.
- the UE monitors a set of PDCCH candidates at monitoring occasions configured in one or more control element sets (CORESETs) on the serving cell according to corresponding search space configurations.
- the set of PDCCH candidates to be monitored by the UE may be defined in terms of search space sets.
- a search space set according to embodiments may be a common search space set or a UE-specific search space set.
- a CORESET consists of a set of (physical) resource blocks having a time duration of 1 to 3 OFDM symbols.
- the network may configure the UE to have multiple CORESETs.
- the UE monitors PDCCH candidates in one or more search space sets. Here, monitoring means attempting to decode PDCCH candidate(s) within the search space. If the UE succeeds in decoding one of the PDCCH candidates in the search space, the UE determines that it has detected a PDCCH in the corresponding PDCCH candidate, and can perform PDSCH reception or PUSCH transmission based on the DCI in the detected PDCCH.
- PDCCH according to embodiments may be used to schedule DL transmissions on PDSCH and UL transmissions on PUSCH.
- the DCI on the PDCCH is a downlink assignment (i.e., DL grant) that includes at least modulation and coding format and resource allocation information related to the downlink shared channel, or related to the uplink shared channel. , may include a UL grant including modulation and coding formats and resource allocation information.
- the UE can acquire DL synchronization by detecting the SSB.
- the UE can identify the structure of the SSB burst set based on the detected SSB (time) index (SSB index, SSBI), and can detect the symbol/slot/half-frame boundary accordingly.
- the frame/half-frame number to which the detected SSB belongs may be identified using system frame number (SFN) information and half-frame indication information.
- SFN system frame number
- the UE may obtain a 10-bit SFN for a frame to which the PBCH belongs from the PBCH.
- the UE may acquire 1-bit half-frame indication information to determine whether the corresponding PBCH belongs to the first half-frame or the second half-frame among frames.
- the half-frame indication bit value when the half-frame indication bit value is 0, it indicates that the SSB to which the PBCH belongs belongs to the first half-frame within the frame. If the half-frame indication bit value is 1, it indicates that the SSB to which the PBCH belongs belongs to the second half-frame within the frame.
- the UE may acquire the SSBI of the SSB to which the PBCH belongs based on the DMRS sequence and the PBCH payload carried by the PBCH.
- Table 1 below shows a random access procedure of a UE.
- Step 1 PRACH preamble in UL * initial beam acquisition
- Step 4 Contention resolution on DL * Temporary C-RNTI on PDCCH for initial access
- the random access process is used for a variety of purposes.
- the random access procedure may be used for network initial access, handover, and UE-triggered UL data transmission.
- the UE may acquire UL synchronization and UL transmission resources through a random access procedure.
- the random access process is divided into a contention-based random access process and a contention-free random access process.
- FIG. 4 shows an example in which a physical channel is mapped into a self-contained slot according to embodiments.
- PDCCH may be transmitted in the DL control region, and PDSCH may be transmitted in the DL data region.
- PUCCH may be transmitted in the UL control region, and PUSCH may be transmitted in the UL data region.
- the GP provides a time gap between the base station and the UE in a process of switching from a transmission mode to a reception mode or a process of switching from a reception mode to a transmission mode. Some symbols at the time of transition from DL to UL within a subframe may be set as GPs.
- a PDCCH carries Downlink Control Information (DCI).
- DCI Downlink Control Information
- PCCCH includes transmission format and resource allocation of downlink shared channel (DL-SCH), resource allocation information for uplink shared channel (UL-SCH), paging information for paging channel (PCH), It carries system information on DL-SCH, resource allocation information for higher layer control messages such as random access response transmitted on PDSCH, transmission power control command, and activation/cancellation of Configured Scheduling (CS).
- the DCI includes a cyclic redundancy check (CRC), and the CRC is masked/scrambled with various identifiers (eg, Radio Network Temporary Identifier, RNTI) according to the owner or usage of the PDCCH.
- CRC cyclic redundancy check
- the CRC is masked with a terminal identifier (eg, Cell-RNTI, C-RNTI). If the PDCCH is for paging, the CRC is masked with Paging-RNTI (P-RNTI). If the PDCCH is related to system information (eg, System Information Block, SIB), the CRC is masked with System Information RNTI (SI-RNTI). If the PDCCH is for a random access response, the CRC is masked with RA-RNTI (Random Access-RNTI).
- a terminal identifier eg, Cell-RNTI, C-RNTI
- P-RNTI Paging-RNTI
- SIB System Information Block
- SI-RNTI System Information RNTI
- RA-RNTI Random Access-RNTI
- the PDCCH is composed of 1, 2, 4, 8, and 16 Control Channel Elements (CCEs) according to Aggregation Levels (ALs).
- CCE is a logical allocation unit used to provide a PDCCH of a predetermined code rate according to a radio channel state.
- CCE consists of six REGs (Resource Element Groups).
- REG is defined as one OFDM symbol and one (P)RB.
- the PDCCH is transmitted through a CORESET (Control Resource Set).
- CORESET is defined as a set of REGs with a given numonology (eg SCS, CP length, etc.).
- a plurality of CORESETs for one UE may overlap in the time/frequency domain.
- CORESET may be set through system information (eg, Master Information Block, MIB) or UE-specific upper layer (eg, Radio Resource Control, RRC, layer) signaling. Specifically, the number of RBs and the number of OFDM symbols constituting the CORESET (up to 3) may be set by higher layer signaling.
- MIB Master Information Block
- RRC Radio Resource Control
- the UE monitors PDCCH candidates.
- the PDCCH candidate indicates CCE(s) that the UE should monitor for PDCCH detection.
- Each PDCCH candidate is defined as 1, 2, 4, 8, or 16 CCEs according to AL.
- Monitoring includes (blind) decoding of PDCCH candidates.
- a set of PDCCH candidates monitored by the UE is defined as a PDCCH search space (Search Space, SS).
- the search space includes a Common Search Space (CSS) or a UE-specific search space (USS).
- the UE may obtain DCI by monitoring PDCCH candidates in one or more search spaces configured by MIB or higher layer signaling.
- Each CORESET is associated with one or more search spaces, and each search space is associated with one COREST.
- a search space can be defined based on the following parameters.
- controlResourceSetId Indicates a CORESET related to the search space
- An opportunity (eg, time / frequency resource) to monitor PDCCH candidates is defined as a PDCCH (monitoring) opportunity.
- PDCCH (monitoring) opportunity One or more PDCCH (monitoring) opportunities may be configured within a slot.
- UCI Uplink Control Information
- -HARQ (Hybrid Automatic Repeat request)-ACK (Acknowledgement): This is a response to a downlink data packet (eg, codeword) on the PDSCH. Indicates whether a downlink data packet has been successfully received. In response to a single codeword, 1 bit of HARQ-ACK may be transmitted, and 2 bits of HARQ-ACK may be transmitted in response to two codewords.
- HARQ-ACK responses include positive ACK (simply, ACK), negative ACK (NACK), DTX or NACK/DTX.
- HARQ-ACK is mixed with HARQ ACK/NACK and ACK/NACK.
- MIMO-related feedback information includes a Rank Indicator (RI) and a Precoding Matrix Indicator (PMI).
- PUSCH carries uplink data (eg, UL-SCH transport block, UL-SCH TB) and / or uplink control information (UCI), and CP-OFDM (Cyclic Prefix - Orthogonal Frequency Division Multiplexing) waveform or It is transmitted based on a DFT-s-OFDM (Discrete Fourier Transform - spread - Orthogonal Frequency Division Multiplexing) waveform.
- DFT-s-OFDM Discrete Fourier Transform - spread - Orthogonal Frequency Division Multiplexing
- the terminal when transform precoding is impossible (eg, transform precoding is disabled), the terminal transmits a PUSCH based on a CP-OFDM waveform, and when transform precoding is possible (eg, transform precoding is enabled), the terminal transmits a CP-OFDM waveform.
- the PUSCH may be transmitted based on an OFDM waveform or a DFT-s-OFDM waveform.
- PUSCH transmission is dynamically scheduled by the UL grant in DCI or semi-static based on higher layer (eg, RRC) signaling (and/or Layer 1 (L1) signaling (eg, PDCCH)) It can be scheduled (configured grant).
- PUSCH transmission may be performed on a codebook basis or a non-codebook basis.
- 5(a) and 5(b) show examples of an ACK/NACK transmission process and a PUSCH transmission process.
- 5(a) shows an example of an ACK/NACK transmission process.
- the UE may detect the PDCCH in slot #n.
- the PDCCH includes downlink scheduling information (eg, DCI formats 1_0 and 1_1), and the PDCCH indicates a DL assignment-to-PDSCH offset (K0) and a PDSCH-HARQ-ACK reporting offset (K1).
- DCI formats 1_0 and 1_1 may include the following information.
- -Frequency domain resource assignment Represents a set of RBs allocated to PDSCH
- K0 indicating the start position (eg, OFDM symbol index) and length (eg, number of OFDM symbols) of the PDSCH in the slot
- HARQ process ID (Identity) for data (eg, PDSCH, TB)
- the UE may receive PDSCH in slot #(n+K0) according to the scheduling information of slot #n, and then transmit UCI through PUCCH in slot #(n+K1).
- UCI includes a HARQ-ACK response for PDSCH. If the PDSCH is configured to transmit up to 1 TB, the HARQ-ACK response may consist of 1-bit. When the PDSCH is configured to transmit up to two TBs, the HARQ-ACK response may consist of 2-bits if spatial bundling is not configured and 1-bit if spatial bundling is configured.
- the UCI transmitted in slot #(n+K1) includes HARQ-ACK responses for the plurality of PDSCHs.
- MAC medium access control
- Each DL HARQ process manages state variables related to the number of transmissions of MAC PDUs (Physical Data Blocks) in the buffer, HARQ feedback for the MAC PDUs in the buffer, and the current redundancy version.
- MAC PDUs Physical Data Blocks
- Each HARQ process is distinguished by a HARQ process ID.
- 5(b) shows an example of a PUSCH transmission process.
- the UE may detect the PDCCH in slot #n.
- the PDCCH includes uplink scheduling information (eg, DCI format 0_0, 0_1).
- DCI formats 0_0 and 0_1 may include the following information.
- -Frequency domain resource assignment Represents a set of RBs allocated to the PUSCH
- Time domain resource assignment Indicates the slot offset K2, the start position (eg, symbol index) and length (eg, number of OFDM symbols) of the PUSCH in the slot.
- the start symbol and length may be indicated through SLIV (Start and Length Indicator Value) or may be indicated separately.
- the UE may transmit PUSCH in slot #(n+K2) according to the scheduling information of slot #n.
- PUSCH includes UL-SCH TB.
- Embodiments may be applied to a 5G-based media streaming (hereinafter referred to as 5GMS) system.
- the 5GMS structure is a system that supports MNO (Mobile Network Operator) and third party's media downlink streaming service.
- MNO Mobile Network Operator
- the 5GMS structure supports related network or UE functions and APIs, and provides backward compatibles regardless of whether MBMS is supported or not and/or 5G standard or EUTRAN installation.
- the definition of Streaming used in media using 5G is defined as the generation and delivery of time-continuous media, and the definition of Streaming Point indicates that the transmitter and receiver directly transmit and consume.
- the 5GMS structure basically operates in downlink and uplink environments and has bidirectionality.
- the 5GMS service may use 3G, 4G, and 6G networks as well as 5G networks, and is not limited to the above-described embodiments.
- Embodiments may also provide a network slicing function according to service types.
- FIG. 6 shows a downlink structure for media transmission of a 5GMS service according to embodiments.
- FIG. 6 shows a media transmission structure for at least one of 4G, 5G, and 6G networks and is a device method capable of operating in a unidirectional downlink media streaming environment. Since it is a downlink system, media is produced in the network and Trusted Media Function, and the media is delivered to the UE.
- Each block diagram is conceptually composed of a set of functions necessary for media transmission and reception.
- Inter-Connection Interface refers to a link for sharing or controlling a specific part of each media block, and is used when not all necessary element technologies are utilized. For example, 3rd party external application and operator application can be connected to enable communication through Inter-Connection Interface when functions such as information sharing (user data, media track, etc.) are required even though independent application operation is performed.
- Media includes all information and media such as time continuous, time discontinuous, image, picture, video, audio, text, etc., and additionally includes all the format and size of the format in which the corresponding media is to be transmitted. .
- Sink in FIG. 6 represents a UE, a processor included in the UE (for example, the processor 911 for signal processing of a higher layer described in FIG. 2 ), or hardware constituting the UE.
- the sink according to the embodiments may perform a receiving operation in which a streaming service is received in the form of unicast from a source providing media to the sink.
- a sink according to embodiments may receive control information from a source and perform a signal processing operation based on the control information.
- Sink according to embodiments may receive media/metadata (eg, XR data or extended media data) from a source.
- Sink according to embodiments may include a 3rd Party External Application block, an Operator Application block, and/or a 5G Media Reception Function block.
- the 3rd Party External Application block and the Operator Application block represent UE Applications operating in the Sink stage.
- the 3rd Party External Application block according to the embodiments is an application operated by a third party that exists other than 4G, 5G, and 6G networks, and can drive API access of Sink.
- the 3rd Party External Application block according to embodiments may receive information using 4G, 5G, or 6G networks or through direct Point-to-Point Communication. Therefore, Sink's UE can receive additional services through Native or Download Installed Applications.
- the operator application block may manage applications (5G Media Player) associated with a media streaming driving environment including media applications. When the application is installed, Sink's UE can start accessing media services through API using Application Socket and send and receive related data information.
- the API enables data to be transmitted to a specific end-system through a session configuration using a socket.
- Socket connection method can be transmitted through general TCP-based internet connection.
- the sink can receive control/data information from the Cloud Edge and perform offloading to transmit the control/data information to the Cloud Edge.
- a sink may include an offloading management block. Offloading management according to embodiments may control operations of an operator application block and/or a 3rd party application block in order to control sink offloading.
- the 5G Media Reception Function block may receive operations related to offloading from the offloading management block, obtain media that can be received through 4G, 5G, and 6G networks, and process the media.
- a 5G Media Reception Function block may include a general Media Access Client block, a DRM Client block, a Media Decoder, a Media Rendering Presentation block, an XR Rendering block, an XR Media Processing block, and the like.
- the corresponding block is only an example, and the name and/or operation are not limited to the embodiments.
- the Media Access Client block may receive data, eg, a media segment, received through at least one or more of 4G, 5G, and 6G networks.
- the Media Access Client block may de-format (or decapsulate) various media transmission formats such as DASH, CMAF, and HLS.
- Data output from the Media Access Client block can be processed and displayed according to each decoding characteristic.
- the DRM Client block may determine whether to use the received data. For example, the DRM client block can perform a control operation so that authorized users can use media information within the access range.
- the Media Decoding block is a general audio/video decoder, and among deformatted data, various standards (video standards such as MPEG2, AVC, HEVC, VVC, and MPEG 1 Layer 2 Audio, AC3, HE-AAC, E- Audio/video data processed according to audio standards such as AC-3, HE-AAC, NGA, etc.) can be decoded.
- a Media Rendering Presentation block may render media suitable for a receiving device.
- a Media Rendering Presentation block according to embodiments may be included in a Media decoding block.
- An XR Media Processing block and an XR Rendering block according to embodiments are blocks for processing XR data among deformatted data (or decapsulated data).
- the XR Media Processing block (for example, the processor 911 described in FIG. 2 or a processor that processes higher layer data) is the XR data received from the source or the information received from the offloading management block (for example, Object information, Position information). etc.) can be used to perform processing on XR media.
- An XR rendering block according to embodiments may render and display XR media data among received media data.
- the XR Media Processing block and the XR rendering block according to embodiments may process and render point cloud data processed according to Video-based Point Cloud Compression (V-PCC) or Geometry-based Point Cloud Compression (G-PCC).
- V-PCC Video-based Point Cloud Compression
- G-PCC Geometry-based Point Cloud Compression
- a video-based Point Cloud Compression (V-PCC) method will be described in detail with reference to Figures 8 to 13.
- An XR Media Processing block and an XR Rendering block according to embodiments may be composed of one XR decoder. .
- Source indicates a media server using at least one of 4G, 5G, and 6G networks or a UE capable of providing media and can perform Control Function and Server Function functions.
- the Server Function starts and hosts 4G, 5G, and 6G media services.
- 3rd Party Media Server refers to various media servers operated by third parties that exist outside of 4G, 5G, and 6G networks, and can be a Network External Media Application Server. In External Server, which is generally operated by a third party service, media production, encoding, formatting, etc. can be equally performed in a non-4G, 5G, or 6G network.
- the control function represents a network-based application function, and may include a control-oriented information delivery function when performing authentication of Sink and other media servers and media.
- the source can start a connection through the API connection of the internal application through the control function, form a media session, or perform other additional information requests.
- the source exchanges PCF information with other network functions through the control function.
- the source can check the external network capability using NEF through the control function and perform general monitoring and provisioning through the exposure process. Therefore, NEF can receive other network information and store the received information as structured data using a specific standardized interface. The stored information can be exposed/re-exposure to other networks and applications by NEF, and the information exposed in various network environments can be collected and used for analysis.
- an API control plane is formed, and when a session connection is made, an environment in which media can be transmitted is formed including tasks such as security (authentication, authorization, etc.).
- multiple APIs can be created or a Control Plane can be created through one API.
- APIs can be created from third party media servers, and Media Control Functions and APIs of UEs can form Media User Plane APIs.
- Source can generate and deliver media in various ways to perform Downlink media service functions, and includes all functions that can deliver media to the UE corresponding to the sink, the final destination, starting from simply storing media and serving as a media relaying. can do.
- Modules or blocks inside Sink and Source may transmit and share information through an Inter-Connection Link and Inter-Connection Interface having bi-directionality.
- Embodiments describe a UL structure and method for transmitting media produced content in real time in a 5GMS system to social media, users, and servers.
- Uplink basically defines that media is not delivered to users in the form of distribution, but media is produced from the user terminal UE's point of view and delivered to the media server.
- the uplink system is configured in a form in which individual users directly provide content, so the use case and system structure to utilize the system configuration method handled by the terminal can be configured in a form different from that of the downlink.
- the FLUS system consists of a source entity that produces media and a sink entity that consumes media, and services such as voice, video, and text are delivered through 1:1 communication.
- the FLUS Source can be a single UE or multiple scattered UEs or Capture Devices. Since it is based on the 5G network, it can support 3GPP IMS/MTSI service, support IMS service through IMS Control Plane, and support service by complying with MTSI Service Policy regulations. If IMS/MTSI service is not supported, various user plane instantiation services can be supported through Network Assistance function for Uplink service.
- FIG. 7 shows an example of a FLUS structure for Uplink service.
- the FLUS structure may include the Source and Sink described in FIG. 6 .
- a Source according to embodiments may correspond to a UE.
- Sink according to embodiments may correspond to a UE or a network.
- Uplink is composed of Source and Sink according to media creation and delivery goals, and Source can be a terminal device, UE, and Sink can be another UE or network.
- a Source can receive media content from one or more Capture Devices.
- a Capture Device may or may not be connected as part of a UE. If the sink receiving the media exists in the UE rather than the network, the decoding and rendering functions are included in the UE, and the received media must be delivered to the corresponding function. Conversely, if the sink corresponds to the network, the received media can be delivered to the Processing or Distribution Sub-Function.
- F Link is more specifically Media Source and Sink (F-U end-points), Control Source and Sink (F-C end-points), Remote Controller and Remote Control Target (F-RC end-points) and Assistance Sender and Receiver (F-A end-points). All of these source sinks are classified as logical functions. Therefore, the corresponding functions may exist on the same physical device or may not exist on the same device due to separation of functions.
- Each function can also be separated into multiple physical devices and connected by different interfaces.
- Multiple F-A and F-RC points can exist in a single FLUS Source. Each point is independent of FLUS Sink and can be created according to Offered Service. As described above, the F Link Point assumes the security function of all sub-functions and links that exist in the F Point, and the corresponding authentication process can be included.
- the processor of the transmitting device may process point cloud data such as XR data or XR media data using a Video-based Point Cloud Compression (V-PCC) method.
- V-PCC Video-based Point Cloud Compression
- the XR Media Processing block and the XR rendering block of the receiving device may process and render the point cloud data processed according to the V-PCC method.
- FIG. 8 shows an example of a point cloud data processing system according to embodiments.
- Point Cloud contents are provided.
- Point cloud content represents data expressing an object as points, and may be referred to as a point cloud, point cloud data, point cloud video data, point cloud image data, and the like.
- a point cloud data transmission device 10000 includes a point cloud video acquisition unit 10001, a point cloud video encoder 10002, and a file/segment encapsulation unit. It includes a ration unit 10003 and/or a transmitter (or communication module) 10004.
- a transmission device may secure, process, and transmit point cloud video (or point cloud content).
- the transmission device may be a fixed station, BS, UE, base transceiver system (BTS), network, artificial intelligence (AI) device and/or system, robot, AR/ It may include a VR/XR device and/or server.
- the transmission device 10000 is a device that communicates with a base station and/or other wireless devices using a radio access technology (eg, 5G New RAT (NR), Long Term Evolution (LTE)), It may include robots, vehicles, AR/VR/XR devices, mobile devices, home appliances, Internet of Thing (IoT) devices, AI devices/servers, and the like.
- a radio access technology eg, 5G New RAT (NR), Long Term Evolution (LTE)
- NR 5G New RAT
- LTE Long Term Evolution
- It may include robots, vehicles, AR/VR/XR devices, mobile devices, home appliances, Internet of Thing (IoT) devices, AI devices/servers, and the like.
- IoT Internet of Thing
- a point cloud video acquisition unit 10001 acquires a point cloud video through a process of capturing, synthesizing, or generating a point cloud video.
- a point cloud video encoder 10002 encodes point cloud video data acquired by the point cloud video acquisition unit 10001 .
- point cloud video encoder 10002 may be referred to as a point cloud encoder, a point cloud data encoder, an encoder, or the like.
- point cloud compression coding (encoding) according to embodiments is not limited to the above-described embodiments.
- the point cloud video encoder 10002 can output a bitstream containing encoded point cloud video data.
- the bitstream may include not only encoded point cloud video data, but also signaling information related to encoding of the point cloud video data.
- the point cloud video encoder 10002 may support a V-PCC encoding scheme. Additionally, the point cloud video encoder 10002 can encode a point cloud (referring to both point cloud data or points) and/or signaling data relating to the point cloud.
- the point cloud video encoder 10002 may perform a series of procedures such as prediction, transformation, quantization, and entropy coding for compression and coding efficiency.
- Encoded data (encoded video/video information) may be output in the form of a bitstream.
- the point cloud video encoder 10002 divides the point cloud video into geometry video, attribute video, occupancy map video, and auxiliary information as described below. can be encoded.
- the geometry video may include a geometry image
- the attribute video may include an attribute image
- the occupancy map video may include an occupancy map image.
- the additional information (or referred to as additional data) may include auxiliary patch information.
- the attribute video/image may include a texture video/image.
- the encapsulation unit (file/segment encapsulation module 10003) according to the embodiments encapsulates the encoded point cloud video data and/or point cloud video related metadata (also referred to as signaling data) in the form of a file or the like can do.
- metadata related to point cloud video may be received from a metadata processor or the like.
- the metadata processing unit may be included in the point cloud video encoder 10002 or configured as a separate component/module.
- the encapsulation unit 10003 may encapsulate corresponding data in a file format such as ISOBMFF or may process the data in the form of other DASH segments.
- the encapsulation unit 10003 may include point cloud video-related metadata in a file format according to an embodiment.
- Point cloud video-related metadata may be included in, for example, boxes of various levels on the ISOBMFF file format or may be included as data in a separate track in a file.
- the encapsulation unit 10003 may encapsulate point cloud video-related metadata itself into a file.
- the transmission processing unit may receive not only point cloud video data but also metadata related to point cloud video from the metadata processing unit, and may apply processing for transmission thereto.
- a transmitter (or communication module) 10004 may transmit encoded point cloud video data and/or point cloud video related metadata in the form of a bitstream.
- a file or segment may be transmitted to a receiving device through a network or stored in a digital storage medium (eg, USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.).
- the transmitter according to the embodiments is capable of wired/wireless communication with a receiving device (or receiver) through a network such as 4G, 5G, 6G, etc.
- the transmitter 10004 is a network system (eg, 4G, 5G, 6G A necessary data processing operation may be performed according to a communication network system, etc.)
- the transmission device may transmit encapsulated data according to an on-demand method.
- a point cloud data receiving device includes a receiver (Receiver, 10006), a file/segment decapsulation unit (10007), a point cloud video decoder (Point Cloud video decoder, 10008), and/or Or includes a renderer (Renderer, 10009).
- the receiving device uses the radio access technology described in FIGS. 1 to 7 (eg, 5G New RAT (NR), Long Term Evolution (LTE)) to perform communication with a base station and / or other wireless devices It may include devices, robots, vehicles, AR/VR/XR devices, portable devices, home appliances, Internet of Thing (IoT) devices, AI devices/servers, and the like.
- NR 5G New RAT
- LTE Long Term Evolution
- a receiver 10006 receives a bitstream including point cloud video data.
- the receiver 10006 may receive point cloud video data through a broadcasting network or receive point cloud video data through a broadband according to a transmitted channel.
- point cloud video data may be received through a digital storage medium.
- the receiver 10006 may transmit feedback information to the point cloud data transmission device 10000.
- the receiver 10006 may transfer received point cloud video data to the file/segment decapsulation unit 10007, and may transfer metadata related to the point cloud video to a metadata processing unit (not shown).
- the metadata related to the point cloud video may be in the form of a signaling table.
- a file/segment decapsulation module 10007 decapsulates a file and/or segment including point cloud data.
- the file/segment decapsulation processing unit 10007 may obtain a point cloud video bitstream or point cloud video related metadata (metadata bitstream) by decapsulating files according to ISOBMFF.
- the obtained point cloud video bitstream may be delivered to the point cloud video decoder 10008, and the acquired point cloud video related metadata (metadata bitstream) may be delivered to a metadata processing unit (not shown).
- a point cloud video bitstream may contain metadata (metadata bitstream).
- the metadata processing unit may be included in the point cloud video decoder 10008 or configured as a separate component/module.
- the point cloud video-related metadata acquired by the file/segment decapsulation processing unit 10007 may be in the form of a box or track in a file format.
- the file/segment decapsulation processing unit 10007 may receive metadata necessary for decapsulation from the metadata processing unit, if necessary. Metadata related to the point cloud video may be transmitted to the point cloud video decoder 10008 and used in a point cloud video decoding procedure, or may be transmitted to the renderer 10009 and used in a point cloud video rendering procedure.
- the Point Cloud video decoder 10008 may receive a bitstream and decode video/video by performing an operation corresponding to the operation of the Point Cloud video encoder.
- the Point Cloud video decoder 10008 can decode the Point Cloud video by dividing it into geometry video, attribute video, occupancy map video, and auxiliary information as described later.
- the geometry video may include a geometry image
- the attribute video may include an attribute image
- the occupancy map video may include an occupancy map image.
- the additional information may include auxiliary patch information.
- the attribute video/image may include a texture video/image.
- the 3D geometry is restored using the decoded geometry image, the accupancy map, and the additional patch information, and then a smoothing process may be performed.
- a color point cloud image/picture may be restored by assigning a color value to the smoothed 3D geometry using a texture image.
- the renderer 10009 may render the restored geometry and color point cloud image/picture.
- the rendered video/image may be displayed through a display unit (not shown).
- the user can view all or part of the rendered result through a VR/AR display or a general display.
- the renderer 10009 may transmit feedback information acquired at the receiving end to the point cloud video decoder 10008.
- Point cloud video data may transmit feedback information to the receiver 10006 .
- Feedback information received by the point cloud transmission device may be provided to the point cloud video encoder 10002 according to embodiments.
- the feedback information is information for reflecting the interactivity with the user consuming the point cloud content, and includes user information (eg, head orientation information), viewport information, etc.).
- user information eg, head orientation information
- viewport information etc.
- the feedback information is provided to the content transmitter (eg, the transmission device 10000) and/or the service provider. can be passed on to Depending on embodiments, the feedback information may be used not only in the transmitting device 10000 but also in the receiving device 10005, and may not be provided.
- Head orientation information is information about a user's head position, direction, angle, movement, and the like.
- the receiving device 10005 may calculate viewport information based on head orientation information.
- Viewport information is information about an area of a point cloud video that a user is looking at.
- a viewpoint or orientation is a point at which a user views a point cloud video, and may mean a central point of a viewport area. That is, the viewport is an area centered on the viewpoint, and the size and shape of the area may be determined by FOV (Field Of View).
- FOV Field Of View
- the viewport is determined according to the position and viewpoint (viewpoint or orientation) of the virtual camera or the user, and point cloud data is rendered in the viewport based on the viewport information.
- Viewport information may be extracted based on vertical or horizontal FOV supported by the device, etc.
- the receiving device 10005 performs gaze analysis to determine the user's point cloud consumption method. , Check the point cloud video area that the user is gazing at, gazing time, etc.
- the receiving device 10005 may transmit feedback information including the gaze analysis result to the transmitting device 10000.
- Feedback information according to s may be obtained in a rendering and/or display process.
- Feedback information according to embodiments may be obtained by one or more sensors included in the receiving device 10005.
- an embodiment Feedback information can be secured by the renderer 10009 or a separate external element (or device, component, etc.) according to the .
- Point The cloud content providing system can process (encode/decode) point cloud data based on the feedback information, so the point cloud video data decoder 10008 can perform a decoding operation based on the feedback information.
- 10005 may transmit feedback information to the transmission device.
- the transmission device (or the point cloud video encoder 10002) may perform an encoding operation based on the feedback information. Therefore, the point cloud content providing system provides all point clouds Without data processing (encoding/decoding), necessary data (eg, point cloud data corresponding to the user's head position) can be efficiently processed based on feedback information, and point cloud content can be provided to the user.
- the transmitting device 10000 may be referred to as an encoder, a transmitting device, a transmitter, and the like, and a receiving device 10005 may be referred to as a decoder, a receiving device, and a receiver.
- Point cloud data processed in the point cloud processing system of FIG. 8 may be referred to as point cloud content data or point cloud video data.
- point cloud content data may be used as a concept including metadata or signaling information related to point cloud data.
- Elements of the point cloud processing system shown in FIG. 8 may be implemented as hardware, software, processors, and/or combinations thereof.
- Embodiments point cloud content to provide users with various services such as VR (Virtual Reality), AR (Augmented Reality), MR (Mixed Reality), and autonomous driving services can provide.
- VR Virtual Reality
- AR Augmented Reality
- MR Mated Reality
- autonomous driving services can provide.
- a method/device represents a point cloud data transmission device and/or a point cloud data reception device.
- FIG. 9 illustrates an example of a point cloud, geometry, and texture image according to embodiments.
- a point cloud according to embodiments may be input to a V-PCC encoding process of FIG. 10 to be described later to generate a geometry image and a texture image.
- point cloud may be used as the same meaning as point cloud data.
- the figure on the left in FIG. 9 is a point cloud, in which a point cloud object is located in a 3D space and represents a point cloud that can be represented by a bounding box or the like.
- the middle figure of FIG. 9 represents a geometry image
- the right figure represents a texture image (non-padding).
- a geometry image is also referred to as a geometry patch frame/picture or a geometry frame/picture.
- a texture image is also called an attribute patch frame/picture or an attribute frame/picture.
- V-PCC Video-based point cloud compression
- 2D video codecs such as HEVC (Efficiency Video Coding) and VVC (Versatile Video Coding).
- HEVC Efficiency Video Coding
- VVC Very Video Coding
- Occupancy map A binary map that indicates whether data exists at the corresponding location on the 2D plane with a value of 0 or 1 ( binary map).
- An occupancy map represents a 2D array corresponding to the atlas, and a value of the occupancy map may represent whether each sample position in the atlas corresponds to a 3D point.
- An atlas means an object including information about 2D patches for each point cloud frame.
- the atlas may include 2D arrangement and size of patches, positions of corresponding 3D regions in 3D points, projection planes, level of detail (LoD) parameters, and the like.
- Patch A set of points constituting a point cloud. Points belonging to the same patch are adjacent to each other in 3D space and indicate that they are mapped in the same direction among the 6 planes of the bounding box in the process of mapping to a 2D image.
- Geometry image Represents an image in the form of a depth map that expresses the location information (geometry) of each point constituting the point cloud in units of patches.
- a geometry image can be composed of pixel values of one channel.
- Geometry represents a set of coordinates associated with a point cloud frame.
- Texture image represents an image that expresses the color information of each point constituting the point cloud in units of patches.
- a texture image may be composed of multiple channel pixel values (e.g. 3 channels R, G, B). Textures are included in attributes. According to embodiments, textures and/or attributes may be interpreted as the same object and/or inclusive relationship.
- Additional patch information Indicates metadata necessary to reconstruct a point cloud from individual patches.
- the additional patch information may include information about the position and size of the patch in 2D/3D space.
- Point cloud data may include an atlas, an accupancy map, geometry, attributes, and the like.
- An atlas represents a set of 2D bounding boxes. It may be a group of patches, for example patches projected onto a rectangular frame. In addition, it can correspond to a 3D bounding box in 3D space and can represent a subset of a point cloud (atlas represents a collection of 2D bounding boxes, i.e. patches, projected into a rectangular frame that correspond to a 3-dimensional bounding box in 3D space, which may represent a subset of a point cloud). In this case, the patch may represent a rectangular region in an atlas corresponding to a rectangular region in a planar projection. Also, the patch data may indicate data that needs to be transformed from 2D to 3D patches included in the atlas. In addition to this, a patch data group is also referred to as an atlas.
- Attribute represents a scalar or vector associated with each point in the point cloud, for example, color, reflectance, surface normal, time stamps, material There may be ID (material ID) and the like.
- FIG. 10 shows an example of a point cloud video encoder according to embodiments.
- FIG. 10 illustrates a V-PCC encoding process for generating and compressing an occupancy map, a geometry image, a texture image, and auxiliary patch information.
- the V-PCC encoding process of FIG. 10 can be processed by the point cloud video encoder 10002 of FIG.
- Each component of FIG. 10 may be implemented by software, hardware, processor, and/or a combination thereof.
- a patch generation (or patch generation unit, 14000) generates one or more patches from input point cloud data. Also, patch information including information on patch generation is generated.
- the patch generator 14000 may use a bounding box in a process of generating a patch from point cloud data.
- FIG. 11 shows an example of a bounding box of a point cloud according to embodiments.
- a bounding box refers to a unit box that divides point cloud data based on a hexahedron in a 3D space.
- the bounding box may be used in a process of projecting a point cloud object, which is a target of point cloud data, onto a plane of each hexahedron based on hexahedrons in a 3D space.
- the bounding box may be generated and processed by the point cloud video acquisition unit 10001 and the point cloud video encoder 10002 of FIG. 1 .
- patch generation 14000, patch packing 14001, geometry image generation 14002, and texture image generation 14003 of the V-PCC encoding process of FIG. 10 may be performed.
- a patch generation process means a process of dividing a point cloud (ie, point cloud data) into patches, which are mapping units, in order to map the point cloud to a 2D image.
- the patch generation process can be divided into three steps: normal vector value calculation, segmentation, and patch division.
- each point (for example, point) constituting the point cloud has its own direction, which is expressed as a 3D vector called normal.
- the tangent plane and normal vector of each point constituting the surface of the point cloud can be obtained using the neighbors of each point obtained using a K-D tree or the like.
- segmentation consists of two processes: initial segmentation and refine segmentation.
- each point constituting the point cloud is projected onto one of the six bounding box faces surrounding the point cloud, as shown in FIG. am.
- Refine segmentation is a process of improving the projection plane of each point constituting the point cloud determined in the initial segmentation process by considering the projection planes of adjacent points.
- patch segmentation is a process of dividing the entire point cloud into patches, which are sets of adjacent points, based on the projection plane information of each point constituting the point cloud obtained in the initial/refine segmentation process.
- Patch partitioning can consist of the following steps:
- the size of each patch and the occupancy map, geometry image, and texture image for each patch are determined.
- a patch packing (or patch packing unit) 14001 packs one or more patches generated by the patch generation unit 14000 on a 2D plane (or 2D frame). Also, an accupancy map including information about patch packing is generated.
- the patch packing is a process of determining the positions of individual patches in a 2D image in order to map the divided patches in the patch generation unit 14000 to a single 2D image.
- Occupancy map is one of the 2D images, and is a binary map that indicates whether data exists at the corresponding location with a value of 0 or 1.
- the occupancy map is made up of blocks, and its resolution can be determined according to the size of the block. For example, if the size of the block is 1*1, it has a resolution in units of pixels.
- the block size (occupancy packing block size) can be determined by the user.
- the geometry image generation (or geometry image generation unit, 14002) generates a geometry image based on point cloud data, patch information (or additional patch information), and/or accupancy map information.
- the geometry image refers to data including geometry related to point cloud data (ie, 3D coordinate values of points), and is also referred to as a geometry frame.
- a texture image generation (or texture image generation unit, 14003) generates a texture image based on point cloud data, patches, packed patches, patch information (or additional patch information), and/or smoothed geometry.
- a texture image is also called an attribute frame.
- a texture image may be generated further based on a smoothed geometry generated by performing a smoothing (number) smoothing process on a reconstructed (reconstructed) geometry image based on patch information.
- the smoothing (or smoothing unit) 14004 may mitigate or remove errors included in image data.
- smoothed geometry may be generated by performing smoothing on reconstructed geometry images based on patch information, that is, by gently filtering a part that may cause an error between data.
- the smoothed geometry is output to the texture image generator 14003.
- An auxiliary patch info compression or auxiliary patch information compression unit 14005 compresses auxiliary patch information related to patch information generated in a patch generation process.
- the additional patch information compressed by the additional patch information compression unit 14005 is transmitted to the multiplexer 14013.
- the geometry image generator 14002 may use additional patch information when generating a geometry image.
- Additional patch information compression unit 14005 compresses additional patch information generated in the above-described processes of patch generation, patch packing, and geometry generation.
- Additional patch information may include the following parameters:
- the 2D space position and size of the patch horizontal size (patch 2d size u), vertical size (patch 2d size v), horizontal minimum value (patch 2d shift u), vertical minimum value (patch 2d shift u)
- Mapping information of each block and patch includes candidate index (When patches are placed in order based on the 2D spatial location and size information of the above patches, multiple patches can be mapped to one block in duplicate. At this time, the patches to be mapped are It composes the candidate list, and the index indicating which number of patch data exists in the corresponding block), local patch index (an index indicating one of all patches existing in the frame).
- Table 1 is a pseudo code showing the block and patch matching process using the candidate list and local patch index.
- Image padding or image padding units 14006 and 14007 may pad a geometry image and a texture image, respectively. That is, padding data may be padded to a geometry image and a texture image.
- the group dilation may add data to the texture image. Additional patch information may be inserted into the texture image.
- the video compression (or video compression unit, 14009, 14010, 14011) compresses a padded geometry image, a padded texture image, and/or an accupancy map image using a 2D video codec such as HEVC or VVC, respectively.
- a 2D video codec such as HEVC or VVC
- the video compression units 14009, 14010, and 14011 compress the input geometry frame, attribute frame, and/or accupancy map frame, respectively, to obtain a video bitstream of the geometry, a video bitstream of the texture image, and a video of the accupancy map. It can be output as a bitstream.
- Video compression may encode geometry information, texture information, accupancy information, and the like.
- the entropy compression or entropy compression unit 14012 may compress the accupancy map based on an entropy method.
- entropy compression 14012 and/or video compression 14011 are performed on an accupancy map frame depending on when point cloud data is lossless and/or lossy. It can be.
- the multiplexer (14013) is a video bitstream of the geometry compressed by each compression unit, a video bitstream of the compressed texture image, a video bitstream of the compressed accupancy map, and a bitstream of the compressed additional patch information. is multiplexed into one bitstream.
- each block shown in FIG. 10 may operate as at least one of a processor, software, and hardware.
- FIG. 12 shows an example of a point cloud video decoder according to embodiments.
- V-PCC decoding process of FIG. 12 illustrates a decoding process of V-PCC for reconstructing a point cloud by decompressing (or decoding) a compressed occupancy map, geometry image, texture image, and auxiliary path information.
- the V-PCC decoding process of FIG. 12 can be processed by the point cloud video decoder 10008 of FIG.
- the V-PCC decoding process of FIG. 12 or the V-PCC decoder may follow the reverse of the V-PCC encoding process (or encoder) of FIG. 10 .
- Each component of FIG. 12 may be implemented by software, hardware, processor, and/or a combination thereof.
- a demultiplexer (16000) demultiplexes the compressed bitstream and outputs a compressed texture image, a compressed geometry image, a compressed accupancy map image, and compressed additional patch information, respectively.
- Video decompression or video decompression units 16001 and 16002 decompress the compressed texture image and the compressed geometry image, respectively. That is, video decompression uses a 2D video codec such as HEVC or VVC, and uses a bitstream of a geometry image generated by the process described above, a bitstream of a compressed texture image, and/or a bitstream of a compressed occupancy map image. It is a process of decoding by performing the reverse process of video compression.
- 2D video codec such as HEVC or VVC
- An occupancy map decompression (or an occupancy map decompression unit, 16003) decompresses the compressed accupancy map image. That is, the decompression of the occupancy map is the reverse process of the occupancy map compression of the transmitter, and is a process for restoring the occupancy map by decoding the compressed occupancy map bitstream.
- An auxiliary patch information decompression or auxiliary patch information decompression unit 16004 decompresses the compressed additional patch information. That is, the decompression of the additional patch information is a reverse process of the auxiliary patch information compression of the transmitter, and is a process for restoring auxiliary patch information by decoding the compressed auxiliary patch information bitstream.
- the geometry reconstruction (or geometry reconstruction unit) 16005 restores (reconstructs) geometry information based on the decompressed geometry image, the decompressed accupancy map, and/or the decompressed additional patch information. For example, geometry changed in the encoding process may be reconstructed. That is, geometry reconstruction is the reverse process of geometry image generation on the transmitter side.
- a patch is extracted from a geometry image using the 2D position/size information of the patch included in the restored occupancy map and auxiliary patch information and the mapping information between the block and the patch.
- the point cloud is restored in 3D space using the geometry image of the extracted patch and the 3D location information of the patch included in the auxiliary patch information.
- Smoothing may apply smoothing to the reconstructed geometry.
- smoothing filtering may be applied. That is, smoothing is the same as smoothing in the encoding process of the sender, and is a process for removing discontinuity that may occur at the patch boundary due to deterioration in image quality occurring in the compression process.
- a texture reconstruction (or texture reconstruction unit) 16007 reconstructs a texture from a decompressed texture image and/or smoothed geometry. This is the process of restoring a color point cloud by assigning a color value to each point constituting the smoothed point cloud. That is, texture reconstruction uses the mapping information of the geometry image and point cloud reconstructed in the geometry reconstruction process described above to obtain color values corresponding to texture image pixels at the same location as in the geometry image in 2D space and at the same location in 3D space. It can be performed by assigning to the point of the point cloud corresponding to
- Color smoothing (or color smoothing unit, 16008) smooths color values from the reconstructed texture. For example, smoothing filtering may be applied. According to the embodiments, color smoothing is similar to the process of geometry smoothing described above, and is an operation to remove discontinuity of color values that may occur at the boundary of a patch due to deterioration of image quality occurring in the compression process.
- reconstructed point cloud data may be generated.
- FIG. 13 shows an example of an operation flowchart of a transmission device for compressing and transmitting V-PCC-based point cloud data according to embodiments.
- the transmission device corresponds to the transmission device of FIG. 8 and the encoding process of FIG. 10 or may perform some/all operations thereof.
- Each component of the transmitting device may correspond to software, hardware, processor, and/or a combination thereof.
- the transmitting device is the UE described in FIGS. 1 to 7 (for example, the processor 911 or processor 921 described in FIG. 2, or the sink described in FIG. 6 or an XR Media Processing block included in the sink) Alternatively, it may be included in the BS or may correspond to the UE.
- An operation process of a transmitter for compressing and transmitting point cloud data using V-PCC may be as shown in the drawing.
- a point cloud data transmission device may be referred to as a transmission device, a transmission system, and the like.
- the patch generation unit 18000 receives point cloud data and generates one or more patches for mapping a 2D image of a point cloud. Additional patch information is generated as a result of patch generation, and the generated additional patch information can be used in a geometry image generation, texture image generation, smoothing, or geometry restoration process for smoothing. That is, the patch generator 18000 generates one or more patches by projecting (ie, projecting) an input point cloud into a 2D space.
- the additional patch information may include additional patch information such as projection plane information and patch size of each patch necessary for encoding.
- the patch packing unit 18001 performs a patch packing process of mapping the patches generated by the patch generator 18000 into a 2D image. For example, one or more patches may be packed in a 2D plane (or 2D frame). As a result of patch packing, an occupancy map is generated, and the occupancy map can be used for geometry image generation, geometry image padding, texture image padding, and/or geometry restoration for smoothing. That is, while packing one or more patches on a 2D plane, the geometry image generation unit 18002 and the texture image generation unit 18004 store geometry information of the point cloud for pixels where points exist and color (texture) information You can create texture images that store .
- the accupancy map represents the presence or absence of a point as 0 or 1 for each pixel.
- the geometry image generator 18002 generates a geometry image using point cloud data, patch information (or additional patch information), and/or an accupancy map.
- the generated geometry image is pre-processed in the pre-encoding unit 18003 and then encoded into a single bitstream in the video encoding unit 18006.
- the encoding pre-processing unit 18003 may include an image padding procedure. That is, a partial space of the generated geometry image and the generated texture image may be padded with meaningless data.
- the pre-encoding processor 18003 may further include a group dilation process on the generated texture image or the texture image on which image padding has been performed.
- the geometry reconstruction unit 18010 reconstructs a 3D geometry image using the geometry bitstream encoded in the video encoding unit 18006, additional patch information, and/or an accupancy map.
- the smoothing unit 18009 smoothes the 3D geometry image reconstructed and output from the geometry restoration unit 18010 based on the additional patch information, and outputs the result to the texture image generation unit 18004.
- the texture image generation unit 18004 may generate a texture image using smoothed 3D geometry, point cloud data, patches (or packed patches), patch information (or additional patch information), and/or an accupancy map.
- the generated texture image may be pre-processed by the encoding pre-processor 18003 and then encoded into a single video bitstream by the video encoder 18006.
- the metadata encoding unit 18005 may encode additional patch information into one metadata bitstream.
- the video encoding unit 18006 may encode the geometry image and the texture image output from the pre-encoding unit 18003 into respective video bitstreams, and encode the accupancy map into one video bitstream. In one embodiment, the video encoding unit 18006 performs encoding by applying a 2D video/image encoder to each input image.
- the geometry image and the texture image may be encoded using a 2D video codec, and the additional patch information and the accupancy map may be encoded using entropy coding.
- the multiplexer 18007 outputs the video bitstream of the geometry output from the video encoding unit 18006, the video bitstream of the texture image, the video bitstream of the accupancy map, and the metadata output from the metadata encoding unit 18005 (additional patch information) are multiplexed into one bitstream.
- the transmitter 18008 transmits the bitstream output from the multiplexer 18007 to the receiver.
- a file/segment encapsulation unit may be further provided between the multiplexing unit 18007 and the transmission unit 18008 to encapsulate the bitstream output from the multiplexing unit 18007 in the form of a file and/or segment, and the transmission unit 18008 can also be output as
- the patch generation unit 14000, the patch packing unit 14001, the geometry image generation unit 14002, the texture image generation unit 14003, the additional patch information compression unit 14005, and the smoothing unit 14004 may respectively correspond.
- the encoding pre-processing unit 18003 of FIG. 13 may include the image padding units 14006 and 14007 and the group dilation unit 14008 of FIG. 10 , and the video encoding unit 18006 of FIG. Units 14009, 14010, and 14011 and/or an entropy compression unit 14012 may be included. Therefore, the description of FIG.
- each block shown in FIG. 18 may operate as at least one of a processor, software, and hardware.
- a video bitstream of the generated geometry, texture image, and accupancy map and additional patch information metadata bitstream may be generated as a file with one or more track data or encapsulated into segments and transmitted to a receiver through a transmitter.
- FIG. 14 shows an example of an operation flowchart of a receiving device for receiving and restoring V-PCC-based point cloud data according to embodiments.
- a receiving device may correspond to or perform some/all operations of the receiving device of FIG. 8 and/or the decoding process of FIG. 12 .
- Each component of the receiving device may correspond to software, hardware, processor, and/or a combination thereof.
- the receiving device may correspond to or be included in the UE described in FIGS. 1 to 7 (eg, the processor 911 or processor 921 described in FIG. 2 , a processor that processes higher layer data, or an XR Media Processing block included in the sink or sink described in FIG. 6, etc.).
- An operation process of a receiving end for receiving and restoring point cloud data using V-PCC may be as shown in the drawing.
- the operation of the V-PCC receiver may follow the reverse process of the operation of the V-PCC transmitter of FIG. 13 .
- a device for receiving point cloud data may be referred to as a receiving device, a receiving system, and the like.
- the receiving unit receives a bitstream (ie, compressed bitstream) of the point cloud, and the demultiplexer 19000 generates a bitstream of a texture image, a bitstream of a geometry image, and a bitstream of an accupancy map image from the received point cloud bitstream.
- bitstreams of metadata i.e., additional patch information
- the bitstream of the demultiplexed texture image, the bitstream of the geometry image, and the bitstream of the accupancy map image are output to the video decoding unit 19001, and the bitstream of metadata is output to the metadata decoding unit 19002.
- the transmission device of FIG. 13 is provided with a file/segment encapsulation unit
- the file/segment decapsulation unit is provided between the reception unit and the demultiplexer 19000 of the reception device of FIG. 14 .
- the transmitting device encapsulates the point cloud bitstream in the form of a file and/or segment and transmits it
- the receiving device receives and decapsulates the file and/or segment including the point cloud bitstream.
- the video decoding unit 19001 decodes a bitstream of a geometry image, a bitstream of a texture image, and a bitstream of an accupancy map image into a geometry image, a texture image, and an accupancy map image, respectively.
- the video decoding unit 19001 performs decoding by applying a 2D video/image decoder to each input bitstream, respectively.
- the metadata decoding unit 19002 decodes the metadata bitstream into additional patch information and outputs it to the geometry restoration unit 19003.
- the geometry restoration unit 19003 restores (reconstructs) 3D geometry based on the geometry image, the accupancy map, and/or additional patch information output from the video decoding unit 19001 and the metadata decoding unit 19002.
- the smoothing unit 19004 applies smoothing to the 3D geometry reconstructed by the geometry restoration unit 19003.
- the texture restoration unit 19005 restores the texture using the texture image output from the video decoding unit 19001 and/or the smoothed 3D geometry. That is, the texture restoration unit 19005 restores a color point cloud image/picture by applying color values to the smoothed 3D geometry using the texture image. Then, in order to improve objective/subjective visual quality, the color smoothing unit 19006 may additionally perform a color smoothing process on the color point cloud image/picture. The modified point cloud image/picture derived through this is displayed to the user after going through a rendering process of the point cloud renderer 19007. Meanwhile, the color smoothing process may be omitted in some cases.
- each block shown in FIG. 14 may operate as at least one of a processor, software, and hardware.
- FIG. 15 shows an example of an architecture for storing and streaming V-PCC-based point cloud data according to embodiments.
- Some/all of the system of FIG. 15 may include some/all of the transmitting/receiving device of FIG. 8, the encoding process of FIG. 10, the decoding process of FIG. 12, the transmitting device of FIG. 13, and/or the receiving device of FIG. 14. .
- Each component in the drawing may correspond to software, hardware, processor, and a combination thereof.
- V-PCC video-based point cloud compression
- Embodiments propose a method of effectively providing point cloud media/content/data.
- the point cloud acquisition unit 20000 first acquires a point cloud video in order to effectively provide point cloud media/contents/data.
- point cloud data may be acquired through a process of capturing, synthesizing, or generating a point cloud through one or more cameras.
- point cloud video including the 3D position of each point (which can be expressed as x, y, z position values, etc., hereinafter referred to as geometry) and the attributes of each point (color, reflectance, transparency, etc.) can be obtained
- the obtained point cloud video may be generated as, for example, a PLY (Polygon File format or the Stanford Triangle format) file including this.
- PLY Polygon File format or the Stanford Triangle format
- point cloud-related metadata for example, metadata related to capture, etc.
- the captured Point Cloud video may require post-processing to improve the quality of the content.
- Point Clouds extracted from cameras that share a spatial coordinate system can be integrated into one content through a conversion process to a global coordinate system for each point based on the positional coordinates of each camera obtained through the calibration process. Through this, a point cloud video having a high density of points may be obtained.
- a point cloud pre-processing unit (20001) may generate a point cloud video as one or more pictures/frames.
- a picture/frame may generally mean a unit representing one image in a specific time period.
- the point cloud pre-processing unit 20001 divides the points constituting the point cloud video into one or more patches, and when mapping them to a 2D plane, a binary value indicating whether data exists at the corresponding location on the 2D plane as a value of 0 or 1.
- An occupancy map picture/frame which is a binary map, can be created.
- a patch is a set of points constituting a point cloud, and points belonging to the same patch are adjacent to each other in 3D space and are a set of points that are mapped in the same direction among the 6 planes of the bounding box in the process of mapping to a 2D image.
- the point cloud pre-processing unit 20001 may generate a geometry picture/frame, which is a picture/frame in the form of a depth map expressing positional information (geometry) of each point constituting the point cloud video in units of patches.
- the point cloud pre-processing unit 20001 may generate a texture picture/frame, which is a picture/frame expressing color information of each point constituting the point cloud video in units of patches.
- Metadata necessary to reconstruct a point cloud can be generated from individual patches, and this metadata is information about the patch, such as the location and size of each patch in 2D/3D space (this can be used as additional information or additional patch information). referred to as) may be included.
- These pictures/frames may be successively generated in chronological order to constitute a video stream or a metadata stream.
- Point Cloud video encoder 20002 can encode into one or more video streams associated with Point Cloud video.
- One video may include a plurality of frames, and one frame may correspond to a still image/picture.
- Point Cloud video may include Point Cloud video/frame/picture, and Point Cloud video may be used interchangeably with Point Cloud video/frame/picture.
- the Point Cloud video encoder 20002 may perform a Video-based Point Cloud Compression (V-PCC) procedure.
- the Point Cloud video encoder 20002 may perform a series of procedures such as prediction, transformation, quantization, and entropy coding for compression and coding efficiency.
- Encoded data encoded video/video information
- the Point Cloud video encoder 20002 converts Point Cloud video into geometry video, attribute video, occupancy map video, and metadata, e.g., in patches, as described below. It can be divided into information about and encoded.
- the geometry video may include a geometry image
- the attribute video may include an attribute image
- the occupancy map video may include an occupancy map image.
- Patch data which is additional information, may include patch-related information.
- the attribute video/image may include a texture video/image.
- Point Cloud image encoder 20003 can encode into one or more images associated with Point Cloud video.
- the Point Cloud image encoder 20003 may perform a Video-based Point Cloud Compression (V-PCC) procedure.
- the point cloud image encoder 20003 may perform a series of procedures such as prediction, transformation, quantization, and entropy coding for compression and coding efficiency.
- the encoded image may be output in the form of a bitstream.
- the Point Cloud Image Encoder 20003 Based on the V-PCC procedure, converts the Point Cloud image into a geometry image, an attribute image, an occupancy map image, and metadata, e.g., in a patch, as described below. It can be divided into information about and encoded.
- the point cloud video encoder 20002, the point cloud image encoder 20003, the point cloud video decoder 20006, and the point cloud image decoder 20008 are performed by one encoder/decoder as described above. It can be, and it can be performed in a separate path as shown in the drawing.
- the encapsulation unit may encapsulate the encoded point cloud data and/or metadata related to the point cloud in the form of a file or a segment for streaming.
- metadata related to point cloud may be received from a metadata processing unit (not shown) or the like.
- the metadata processing unit may be included in the point cloud video/image encoders 20002 and 20003, or may be configured as a separate component/module.
- the encapsulation unit 20004 may encapsulate one bitstream or individual bitstreams including corresponding video/image/metadata in a file format such as ISOBMFF or may process them in the form of a DASH segment.
- the encapsulation unit 20004 may include point cloud related metadata in a file format according to an embodiment.
- Point cloud metadata may be included in, for example, boxes of various levels on the ISOBMFF file format or may be included as data in separate tracks in a file.
- the encapsulation unit 20004 may encapsulate point cloud related metadata itself into a file.
- the encapsulation unit 20004 may divide and store one bitstream or individual bitstreams into one or a plurality of tracks in a file, and may also encapsulate signaling information for this.
- a patch (or atlas) stream included in a bitstream may be stored as a track in a file, and related signaling information may be stored.
- an SEI message existing on a bitstream may be stored in a track in a file and related signaling information may be stored.
- a transmission processing unit may apply processing for transmission to encapsulated point cloud data according to a file format.
- the transmission processing unit may be included in the transmission unit (not shown) or may be configured as a separate component/module.
- the transmission processing unit may process point cloud data according to an arbitrary transmission protocol. Processing for transmission may include processing for delivery through a broadcasting network and processing for delivery through a broadband.
- the transmission processing unit may receive point cloud-related metadata from the metadata processing unit as well as point cloud data, and may apply processing for transmission thereto.
- the transmission unit may transmit the point cloud bitstream or a file/segment including the corresponding bitstream to a reception unit (not shown) of the reception device through a digital storage medium or network.
- processing according to any transmission protocol may be performed.
- Data that has been processed for transmission can be delivered through a broadcasting network and/or broadband. These data may be delivered to the receiving side in an on-demand manner.
- Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
- the transmission unit may include an element for generating a media file through a predetermined file format and may include an element for transmission through a broadcasting/communication network.
- the receiver may extract the bitstream and deliver it to the decoding device.
- the receiving unit may receive point cloud data transmitted by the point cloud data transmission device according to the present specification. Depending on the transmitted channel, the receiving unit may receive point cloud data through a broadcasting network or point cloud data through a broadband. Alternatively, point cloud video data may be received through a digital storage medium. The receiving unit may include decoding the received data and rendering it according to the user's viewport.
- the receiving processor may perform processing according to a transport protocol on the received point cloud video data.
- the receiving processing unit may be included in the receiving unit or may be configured as a separate component/module.
- the receiving processing unit may perform the reverse process of the above-described transmission processing unit so as to correspond to processing for transmission performed on the transmission side.
- the receiving processor may transmit the acquired point cloud video to the decapsulation unit 20005, and may transmit acquired point cloud related metadata to a metadata processor (not shown).
- the decapsulation unit may decapsulate point cloud data in the form of a file received from the reception processing unit.
- the decapsulation unit 20005 may decapsulate files according to ISOBMFF and the like to obtain a point cloud bitstream or point cloud related metadata (or a separate metadata bitstream).
- the acquired point cloud bitstream can be transmitted to the point cloud video decoder 20006 and the point cloud image decoder 2008, and the acquired point cloud related metadata (or metadata bitstream) to a metadata processing unit (not shown). there is.
- the point cloud bitstream may include metadata (metadata bitstream).
- the metadata processing unit may be included in the point cloud video decoder 20006 or configured as a separate component/module.
- Point cloud-related metadata obtained by the decapsulation unit 20005 may be in the form of a box or track in a file format.
- the decapsulation unit 20005 may receive metadata required for decapsulation from the metadata processing unit, if necessary.
- Point cloud-related metadata may be passed to the point cloud video decoder 20006 and/or point cloud image decoder 20008 and used in the point cloud decoding procedure, or may be passed to the renderer 20009 and used in the point cloud rendering procedure. there is.
- the Point Cloud video decoder 20006 may receive a bitstream and decode video/video by performing a reverse process corresponding to the operation of the Point Cloud video encoder 20002.
- the Point Cloud video decoder 20006 can decode the Point Cloud video by dividing it into geometry video, attribute video, occupancy map video, and auxiliary patch information as will be described later.
- the geometry video may include a geometry image
- the attribute video may include an attribute image
- the occupancy map video may include an occupancy map image.
- the additional information may include auxiliary patch information.
- the attribute video/image may include a texture video/image.
- the point cloud image decoder 20008 may receive a bitstream and perform a reverse process corresponding to the operation of the point cloud image encoder 20003.
- the Point Cloud image decoder 20008 divides the Point Cloud image into a geometry image, an attribute image, an occupancy map image, and metadata, such as auxiliary patch information, to decode.
- the 3D geometry is restored using the decoded geometry video/image, the accupancy map, and the additional patch information, and then a smoothing process may be performed.
- a color point cloud image/picture may be reconstructed by assigning a color value to the smoothed 3D geometry using a texture video/image.
- the renderer 20009 may render the restored geometry and color point cloud image/picture.
- the rendered video/image may be displayed through the display unit. The user can view all or part of the rendered result through a VR/AR display or a general display.
- a sensing/tracking unit obtains orientation information and/or user viewport information from a user or receiver and transmits the obtained orientation information and/or user viewport information to the receiver and/or transmitter.
- Orientation information may indicate information about the position, angle, motion, etc. of the user's head or information about the position, angle, motion, etc. of the device the user is viewing. Based on this information, information about an area the user is currently looking at in the 3D space, that is, viewport information may be calculated.
- the viewport information may be information about an area currently being viewed by a user through a device or an HMD in a 3D space.
- a device such as a display may extract a viewport area based on orientation information, a vertical or horizontal FOV supported by the device, and the like.
- Orientation or viewport information may be extracted or calculated at the receiving side.
- Orientation or viewport information analyzed by the receiving side may be transmitted to the transmitting side through a feedback channel.
- the receiving unit uses the orientation information acquired by the sensing/tracking unit 20007 and/or the viewport information indicating the area the user is currently viewing to efficiently only media data in a specific area, that is, the area indicated by the orientation information and/or the viewport information. can be extracted or decoded from a file with
- the transmitter efficiently encodes only media data of a specific area, that is, the area indicated by the orientation information and/or viewport information, or generates and can transmit
- the renderer (20009) may render the decoded Point Cloud data on 3D space.
- the rendered video/image may be displayed through the display unit.
- the user can view all or part of the rendered result through a VR/AR display or a general display.
- the feedback process may include a process of delivering various feedback information that can be obtained in the rendering/display process to the transmitting side or to the decoder of the receiving side. Interactivity can be provided in point cloud data consumption through a feedback process.
- head orientation information, viewport information representing an area currently viewed by the user, and the like may be transmitted.
- the user may interact with things implemented in the VR/AR/MR/autonomous driving environment. In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. there is.
- the feedback process may not be performed.
- the above-described feedback information may be consumed at the receiving side as well as being delivered to the transmitting side. That is, decapsulation processing, decoding, and rendering processes of the receiving side may be performed using the above-described feedback information.
- decapsulation processing, decoding, and rendering processes of the receiving side may be performed using the above-described feedback information.
- point cloud data for an area currently viewed by a user may be decapsulated, decoded, and rendered first by using orientation information and/or viewport information.
- 16 shows a transmission structure for a UE on a visited network according to embodiments.
- 3GPP The 3rd Generation Partnership Project
- the Multimedia Division establishes and distributes standards for transmitting and receiving media by defining protocols related to media codecs.
- the definition of media and transmission scenarios covers a wide range. This includes cases in which mobile/fixed reception is performed by a personal computer or portable receiver along with Radio Access and Internet-based technology.
- This wide-ranging standard enactment in 3GPP enabled ubiquitous multimedia services to cover various users and use cases, and enable users to quickly experience high-quality media anytime, anywhere.
- media services are classified according to their unique characteristics and are divided into Conversational, Streaming, and other services according to the target application. Conversational Service is extended from Session Initiation Protocol (SIP) based telephone service network.
- SIP Session Initiation Protocol
- the Multimedia Telephony Service for the IP Multimedia Subsystem aims at a low-latency real-time conversation service.
- Streaming service delivers real-time or re-acquired content in Unicast based on Packet Switched Service (PSS).
- PSS Packet Switched Service
- broadcasting services within the PSS system can use mobile TV through Multimedia Broadcast/Multicast Service (MBMS).
- MBMS Multimedia Broadcast/Multicast Service
- 3GPP provides Messaging or reality services.
- the three basic services described above are continuously being revised or updated in order to satisfy the highest possible user experience, and provide scalability so that they can be mutually compatible with available network resources or existing standards.
- Media includes video codec, voice, audio, image, graphic, and text corresponding to each service.
- IMS IP Multimedia Subsystem
- IETF Internet Engineering Task Force
- IMS is used as the basic protocol of SIP protocol, and it manages multimedia sessions efficiently through this.
- MTSI Multimedia Telephony Service for IMS
- MTSI includes not only Signaling, Transport, Jitter Buffer, Management, Packet-Loss Handling, and Adaptation, but also Adding/Dropping Media During Call, etc., so that predictable media can be created, transmitted, and received.
- MTSI uses the 3GPP network
- NR, LTE, and HSPA are connected to IMS
- Wi-Fi and Bluetooth are also extended and connected.
- MTSI transmits and receives data negotiation messages to the existing IMS network, and has a structure in which data is transmitted between users when transmission and reception are completed. Therefore, the IMS network can be equally used, and MTSI additionally defines only Audio Encoder/Decoder, Video Encoder/Decoder, Text, Session Setup and Control, and Data Channel.
- Data Channel Capable MTSI represents an enabling channel to support media transmission and uses Stream Control Transmission Protocol (SCTP) over Datagram Transport Layer Security (DTLS) and Web Real-Time Communication (WebRTC).
- SCTP Stream Control Transmission Protocol
- DTLS Datagram Transport Layer Security
- WebRTC Web Real-Time Communication
- SCTP is used to provide security services between Network Layer and Transport Layer of TCP. Since it is extended from the existing platform, it defines Media Control Data as well as Media Control and Media Codec for media management, and general control is handled through Media Streaming Setup through SIP/SDP. Since Setup/Control is passed between clients, Adding/Dropping of media is also included. MTSI also includes IMS Messaging, a non-conversational service. Media is carried over 3GPP Layer 2 using the Packet Data Convergence Protocol (PDCP). PDCP delivers IP packets from the client to the base station and generally performs user plane data, control plane data, header compression, and ciphering/protection.
- PDCP Packet Data Convergence Protocol
- UE 16 is a transmission structure in which a call session can be transferred between two UEs existing in an arbitrary visited network when User Equipment (UE) A/B exists.
- UE A/B may exist in operator A or B or the same network, and it is assumed that four other networks exist to describe the entire system of MTSI.
- UE A and B perform session establishment to transmit media within the IMS system. After the session is established, UE A and B transmit media through the IP network.
- the main function of IMS is the Call State Control Function (CSCF), which manages multimedia sessions using SIP.
- CSCF Call State Control Function
- Each CSCF plays the role of server or proxy and performs different types of functions according to each purpose.
- Proxy CSCF acts as a SIP proxy server.
- the P-CSCF internally analyzes and transmits SIP messages in order to receive all SIP messages and deliver them to the UE to transmit.
- P-CSCF can perform resource management and is closely connected to the gateway of the network.
- the gateway is associated with the IP access bearer General Packet Radio Service (GPRS).
- GPRS General Packet Radio Service
- GPRS is a second-generation wireless system, it is linked with basic functions to support PS services.
- P-CSCF and GPRS must be in the same network.
- UE A exists in any Visited Network, and UE A and P-CSCF exist in the network.
- S-CSCF Serving CSCF
- HSS Home Subscriber Server
- the S-CSCF can receive the message and connect to another CSCF in the vicinity or connect to the Application Server (AS) and forward the SIP message to another AS.
- Interrogating CSCF (I-CSCF) performs the same proxy server function as P-CSCF, but is connected to an external network.
- the process of encrypting SIP messages can be performed by observing network availability and network configuration.
- HSS is a central data server that contains user-related information.
- the Subscriber Location Function (SLF) represents an information map linking a user's address to a corresponding HSS.
- the Multimedia Resource Function (MRF) includes multimedia resources in the home network. MRF consists of Multimedia Resource Function Controller (MRFC) and Multimedia Resource Function Processor (MRFP).
- MRFC is a control plane of MRC and plays a control role of managing stream resources within MRFP.
- the Breakout Gateway Control Function (BGCF) is a SIP server that is connected to Public-Switched Telephone Network (PSTN) or Communication Server (CS) and represents a gateway that transmits SIP messages.
- PSTN Public-Switched Telephone Network
- CS Communication Server
- MGWF Media Gateway Control Function
- MGW Media Gateway
- 17 illustrates call connection between UEs according to embodiments.
- IP connection In an IMS-based network, an environment where IP connection is possible is required, and IP connection is performed in the Home Network or the Visited Network.
- an IP connection When an IP connection is established, an interactive environment composition, which is a detailed element of XR, is formed, and the transmitted data is virtual reality such as 360 Video/G-PCC (Geometry-based Point Cloud Compression)/V-PCC (Video-based Point Cloud Compression). Information in which data is compressed is exchanged or data is transmitted. XR data can be subdivided into two areas and delivered.
- the AS When transmitted based on the MTSI standard, the AS transfers the Call/Hold/Resume method through Route Control Plane signaling using the CSCF mechanism and performs a third party call connection.
- media transmission When a call connection is performed, media transmission is simply transmitted between UEs A and B, and when two UEs exist, MTSI operates as shown in FIG. 17 within the IMS network.
- FIG. 18 illustrates an apparatus for transmitting and receiving point cloud data according to embodiments.
- the video encoder and audio encoder may correspond to the XR device 100c, the point cloud video encoder 10002 of FIG. 8, the point cloud encoder of FIGS. 10, 13, and 15, and the like.
- the video decoder and the audio decoder may correspond to the XR device 100c, the point cloud video decoder 10008 in FIG. 8, the point cloud decoder in FIGS. 12, 14, and 15, and the like.
- MTSI limits the relevant elements and connection points of Client Terminals within the IMS network. Therefore, the scope for the configuration is defined as shown in FIG.
- the determination of the physical interaction of synchronization related to the speaker, display, user interface, microphone, camera, and keyboard is not discussed in MTSI.
- the area within box 1700 determines the scope of how to adjust media or control related media.
- transmitting SIP corresponds to IMS
- MTSI does not include a part that controls specific SIP. Therefore, the range of MTSI and IMS can be determined according to the data structure, delivery method, and service definition. If it is defined like MTSI, it can be defined as a standard within the following range.
- RFC 4566-based SDP and SDP Capability Negotiation must be used and related Streaming Setup must be used.
- the transmission medium that transmits media must comply with not only Coded Media (to which Transport Protocol is applied) but also Packet-based Network Interface.
- the method of transmitting data uses RTP Stream of RFC 3550, and SCTP (RFC 4960) or WebRTC Data Channel can be used for Data Channel.
- Devices for transmitting and receiving point cloud data may include all devices configured as devices such as mobile phones, desktops, and AR glasses. Assuming that it is a mobile phone, there are a speaker, display, user interface, microphone, camera, and keyboard, and the input signal can be transmitted to the encoding/decoding block.
- Methods/operations according to embodiments may be processed by the video encoder of FIG. 16 . It can be linked with software.
- the G-PCC structure call flow may be included in a session setup & control part.
- Each component of FIG. 18 may correspond to hardware, software, processor, and/or a combination thereof.
- An apparatus for transmitting and receiving point cloud data may support IP connection.
- XR range exists in RAN (Radio Access Network) such as UMTS (Universal Mobile Telecommunications System) and Visited Networks such as SGSN (Serving SPRC Support Node) and GGSN (Gateway GPRS Support Note) roaming service and IP connectivity scenarios should be considered. If IP connectivity is to be considered, IP service must be provided even where the IMS network does not exist, and GPRS (General Packet Radio Service) roaming must also be connected to the home network. If an IMS-based network is provided, End-to-End QoS (Quality of Service) must be provided to maintain IP connectivity.
- RAN Radio Access Network
- UMTS Universal Mobile Telecommunications System
- Visited Networks such as SGSN (Serving SPRC Support Node) and GGSN (Gateway GPRS Support Note) roaming service and IP connectivity scenarios should be considered. If IP connectivity is to be considered, IP service must be provided even where the IMS network does not exist, and GPRS (General Packet Radio Service) roaming must also
- QoS Requirement generally uses SIP (Session Initiation Protocol) to define a session, change a session, or terminate a session, and can deliver the following information: type of media, direction of traffic (upward or downward), Bitrate, Packet Size, Packet Transport Frequency, RTP Payload, Bandwidth Adaptation.
- SIP Session Initiation Protocol
- An apparatus for transmitting and receiving point cloud data may perform IP policy control/secure communication.
- the Policy Control Element can activate a bearer suitable for media traffic through a SIP message, and prevents the operator from using bearer resources incorrectly.
- the IP address and bandwidth of transmission and reception can also be adjusted equally at the bearer level.
- a start or stop point of media traffic can be set using a policy control element, and problems related to synchronization can be solved.
- a acknowledgment message can be transmitted through the IP network using the Policy Control Element, and the Bearer service can be modified, stopped, or terminated.
- Privacy can be requested for the security of the UE.
- An apparatus for transmitting and receiving point cloud data may be associated with other networks.
- the IMS network of any type of terminal should be able to connect various users and networks as much as possible. It can include PSTN or ISDN as well as mobile and Internet users.
- the entity visiting the Visited Network provides service and control information for the user and performs Registration/Session Establishment within the Internet network. In this way, if it exists in the Visited Network, service control restrictions occur, and considerations arise according to multiple roaming model scenarios.
- the quality may deteriorate due to the service speed of the Visited Network.
- a role such as security or charging is added, the area of service control and execution method for the Home Network/Visited Network should be considered.
- the 3GPP standard defines the architecture layered in the IMS network. Therefore, Transport/Bearer are defined separately.
- the application plane generally covers the scope of the application server, the control plane can be divided into HSS, CSCF, BGCF, MRFC, MRFP, SGW, SEG, and the user plane can be divided into SGSN, GGSN, IM-MGW, etc.
- 19 shows a structure for XR communication on a 5G network according to embodiments.
- an apparatus for transmitting and receiving point cloud data may efficiently perform XR communication based on a communication network.
- Real-time point cloud two-way conversation using 5G networks can be achieved using three methods. 1) point cloud data exchange using IMS telephone network, 2) point cloud data streaming using 5GMS media network, 3) web-based media transmission method using WebRTC. Therefore, it is necessary to define an XR interactive service scenario to transmit data. Scenarios can be delivered in various forms, and can be divided into the process of acquiring data, the process of all end-to-end services using the 5G network, and the composition of scenarios.
- Application Download In order to proceed with the XR Teleconference, Application Download must be performed in advance.
- a built-in or downloadable application program is required. This program can transmit data by selecting 1) telephone network 2) media network 3) web network as the transmission type of data transmitted through 5G.
- the program When the program is installed, check the access authority of the general device and the account personal information authority to check the basic environment for sending and receiving data.
- Capture equipment of point cloud equipment including a receiving device and a transmitting device for receiving the other party's data, or a converter capable of converting dimensional data into 3D, or any video input capable of transmitting or converting data in 3D at 360 degrees.
- Voice data includes a built-in microphone or speaker, and also includes a check of hardware capabilities to minimally process point cloud data.
- Hardware includes GPU/CPU functions that can perform Pre-Rendering or Post-Rendering, and may include hardware capacity and memory size performed during processing.
- Personal information includes things that can additionally deliver real-time information of users such as account information for accessing applications, IP, and cookies, and use consent is performed to transmit in advance.
- an identifier that can distinguish between user authentication and user is created.
- users are distinguished by using e-mail or ID and password, and the authenticated user's tag is formed by itself.
- a guide mode for an initial user to effectively exchange point cloud data or use a system may be provided.
- it can determine how the field of view can be accessed. If it is a device capable of directly capturing or receiving a point cloud, data can be transmitted and received as it is. If a point cloud is received using an HMD, scaling or transformation suitable for a 360 degree environment must be preceded.
- the received display is a 2D display based on a commonly used mobile phone or monitor rather than a device that receives 3D data, it must be able to faithfully express 3D within a 2D screen. For example, by using a method of rotating or enlarging the screen with a finger, it is possible to implement or check a 3D image in a 2D display. Alternatively, there is a method of checking a 3D space on a 2D screen using a gyroscope. In order for a user to express himself in a 3D space, an avatar must be created. The avatar can be virtual data by graphic, 3D transformation form of a person or object directly acquired as a point cloud, or audio without any data.
- Avatar expressed in 3D can be modified by the user's definition or selection. For example, a person can change the shape of their face or wear clothes, hats, accessories, etc. that can represent their individuality, and can transform into various forms to express their individuality.
- emotions can be expressed through conversations between people, and emotions can be adjusted according to changes in the face shape of text or graphics.
- the created avatar participates in a virtual space. If it is 1:1 interactive, each data is transmitted to the other party, but the space where the other party receives it also needs to be formed simply. When there are multiple participants, spaces that can be shared by multiple participants must be created, and these spaces can be spaces composed of arbitrary graphics or data spaces directly obtained as point clouds. Depending on the size and situation of the data to be shared, the data can be stored in each device and processed quickly, and if the size of the data is large, it can be stored in the cloud or central server and shared. As the user's avatar, an avatar created in advance using a library or the like may be used. A basic common avatar therefore does not need to be newly created from the user's point of view or to capture and transmit data.
- various objects used in the space may be added according to a user request, and the data may be graphics or data acquired as a point cloud.
- objects can be objects that are easily accessible or familiar in the conference room, such as documents, cups, and laser pointers.
- users composed of respective avatars can participate in the space, and the user can participate in the meeting place by moving his or her avatar to the created space.
- the space is determined by the host in charge of the meeting, and the host can change the space by selecting it. Acquisition of a well-known conference hall in advance can give the effect of attending a company meeting room at home, and obtaining an overseas travel or famous historical site can give the effect of meeting at home at the historic site.
- the space created with virtual random graphics rather than point clouds may vary depending on the idea or implementation method of the space organizer who creates the user's space.
- a user participates in a space, he or she can enter by forming a user profile.
- the user's profile is used to classify the list of conference hall or space participants, and if multiple users participate, it is possible to check whether a conversation is possible and whether the user's receiving status is working properly.
- the user's name or nickname should be displayed, and whether the user is currently busy or muted should be displayed.
- Space limitations may vary depending on the application constituting the host or server. In an environment where free movement in space is restricted, the user must be able to move to a desired location.
- Point cloud-based real-time two-way video conversations can be divided into 1:1 conversation transmission and participation in multiple video conferences (or video conferences) like a single phone call.
- both scenarios require a processor that handles media rather than directly delivering data, and must be provided in an environment where virtual meetings can be held.
- FIG. 21 illustrates Point to Point XR Teleconference according to embodiments.
- the basic phone call request of the conversation is processed by the network function, and when using the MTSI network, the transmission and reception media uses MRF (Media Source Function) or MCU (Media Control Unit).
- MRF Media Source Function
- MCU Media Control Unit
- the MRF/MCU receives point cloud compressed data, and when the sender wants to transmit additional information (view screen, camera information, view direction, etc.) in addition to the compressed data, the data is also transmitted to the MRF/MCU.
- a video is created through an internal process, and one video includes a main video and several thumbnails.
- the processed video is delivered to each receiver again, and processing such as transcoding and resize may occur. If MRF requires a process such as transcoding, it may have an effect of increasing the maximum delay time by the processing time.
- a pre-processing process may be performed by transmitting thumbnail data to each sender and receiver in advance.
- MRF performs audio and media analysis, application server, billing server linkage, and resource management functions.
- the AS (Application Server) connected to the MRF includes the HSS linkage function for checking the subscriber's status in the telephone network and provides MRF connection and additional functions. Additional functions include a password call service, lettering service, ringback tone service, incoming and outgoing call blocking service, etc. on a real phone.
- each user must have a 3D point cloud capture camera.
- the camera must include the user's color information, location information, and depth information. If depth cannot be expressed, a converter capable of expressing 2D images in 3D can be used.
- the captured information used includes geometry-based point cloud compression (G-PCC) or video-based point cloud compression (V-PCC) data.
- G-PCC geometry-based point cloud compression
- V-PCC video-based point cloud compression
- the transmitter must have equipment capable of receiving the other party's data.
- Receiving equipment generally refers to any equipment that can represent the acquired point cloud data. Therefore, it can be a 2D-based display and can include all equipment that can visually express point cloud graphics such as HMD and holographic.
- the expressed data must be capable of receiving and processing the data transmitted from the MRF/MCU where the transmission and receiver data are processed.
- the captured point cloud data is transmitted to the MRF/MCU, and the received data generates and transmits data to each user by an internal process. It transmits basic information necessary for a conversation, a virtual space of a conversation where a conversation is required, or view information of a point of view desired by the other party, or transmits compressed data.
- the virtual space is simply used as a space to simplify by projecting a point cloud, and if the projection space is not used, all data captured by the camera is simply transmitted to the other party.
- B and C require an application to operate a video conference.
- the application checks the following basic service operations.
- Transmitter Check AR Glass, 360 Camera, Fisheye Camera, Phone Camera, Mic, Kinnect, LiDAR, etc.
- B and C acquire point data to transmit to the other party using a point cloud capture camera before participating in a conversation.
- the point data is generally data obtained by acquiring faces or shapes of B and C, and data acquired through each unique equipment can be output.
- the above scenario can be implemented based on a simple telephone network in an environment that does not know any media.
- Prior data must be received through MRF/MCU before creating a telephone network, and MRF/MCU receives all data transmitted from B and C.
- the video conversation scenario of two people in a point cloud is divided into two types as follows.
- scenario (a) all data is transmitted in a one-to-one conversation. All point cloud information of B is directly delivered to C, and C can process all of B's data or partially process it based on the additional information delivered from B. Similarly, B needs to receive all the point cloud data transmitted by C and can process some based on the additional information transmitted by C.
- scenario (b) MRF/MCU exists between the telephone networks, and B and C deliver point cloud data to the MRF/MCU existing between the two. The MRF/MCU processes the received data and delivers the corresponding data to B and C according to the specific conditions requested by B and C. Therefore, B and C may not receive all the data from the point cloud they send to each other.
- the multiperson video conference function can also be expanded, and an additional virtual space A can be included and delivered to B or C.
- an additional virtual space A can be included and delivered to B or C.
- B and C rather than directly receiving a point cloud, it is possible to place B and C in a virtual meeting space and transmit the entire virtual space to B and C in the form of a third person or a first person.
- David (D) participating, B, C, and D can freely talk to each other in the space of A.
- 22 shows XR videoconferencing extensions according to embodiments.
- the MRF/MCU can receive each data and process one data, and its schematic diagram is represented as shown in FIG. 22.
- B, C, and D deliver the acquired point cloud data to MRF/MCU.
- Each received data forms one unit frame by transcoding and creates a scene that can compose the data of the aggregated points.
- the composition of the scene is given to the person who requested hosting among B, C, and D, and in general, a point space can be created by forming various scenes.
- MRF/MCU transmits all or part of the point cloud data based on the received data information and the camera Viewpoint and Viewport requested by B, C, and D. can be conveyed
- B who has host authority, can share his data or screen with conference participants.
- Data that can be shared includes media that can be delivered to a third party, such as overlay form, independent screen, data, etc., other than image dialogue.
- B transmits the data to be shared to the MRF/MCU, and C and D can receive the shared data by their own request.
- SDP can be used to determine the number of Overlays or Laying, and capability must be measured whether all data can be received during the Offer/Answer process and whether all data to be delivered can be received. This process can be determined at the beginning of participation in multiple conferences, and data processing capability for each user can be confirmed when a telephone network is created when a data sharing function must be provided by default.
- Sharing data is generally created to share some or all of the screens of applications running in the host during a conversation, such as presentation files, excel files, and desktop screens. The generated data is compressed or the resolution is converted and delivered to the user who wants to receive it.
- This document describes the costs required for the service while maximally maintaining the quality of experience (QoE) experienced by users in a realistic conversation and multi-person conference system that can have real-time conversations based on 3D acquired images (eg, users). (Data size, data processing time, etc.)
- Immersive video expressed in 3D to provide a more realistic experience to users beyond high-definition video is one of the important technological elements in streaming services, interactive services, or virtual reality services.
- the interactive service may correspond to video calls (or video calls), video conferences (or video conferences), and the like.
- interactive services may include one-to-one video calls or many-to-many video conferences.
- the user's face or shape is acquired in 3D by using both a color camera and a camera capable of obtaining depth information.
- Data obtained in this way may be composed of a set of numerous points, and such a set of data is referred to as a point cloud (or point cloud data).
- Each point of the point cloud may be composed of various attribute information such as geometry information (ie, geometric position information) and color information and reflectance.
- These points can be acquired by configuring sensor equipment with 3D scanning technology, such as a LiDAR (Light Detection And Ranging) sensor, and camera equipment capable of acquiring color information.
- LiDAR Light Detection And Ranging
- a point cloud that can provide a deep sense of immersion and a high sense of reality is obtained from tens to millions of points per frame, and the higher the number of points acquired, the higher the quality of the final 3D video image can be. there is.
- the number of points containing various information increases, the amount of data increases rapidly, and the time required for service increases accordingly.
- the first stage of the pipeline for realistic interactive service is as follows. After capturing the user and obtaining 3D point cloud data, it goes through encoding and encapsulation processes. At this time, the resolution, transmission bit rate, compression codec, and encapsulation standard are selected, and the processing speed varies depending on the compression method. can
- ultra-low latency (about 20 ms or less).
- acquiring a point cloud of enormous data size in real time and providing service within ultra-low latency is one of the factors that make realistic interactive service difficult.
- the interactive service in this document may be performed based on 3GPP.
- this document may encode (ie, compress) and decode (ie, restore) 3D images acquired for an interactive service based on the aforementioned V-PCC.
- this document can encode (ie, compress) and decode (ie, restore) 3D video obtained for a 3GPP-based interactive service based on the aforementioned V-PCC.
- V-PCC is characterized in that input 3D point cloud data is projected into a 2D space and compressed using an existing 2D video codec.
- QP quantization parameter
- the V-PCC method can provide a service with differentiated quality according to bandwidth and user terminals by using a quantization parameter (QP).
- QP quantization parameter
- the V-PCC method provides parameters (Level of Detail: LoD) that can construct and express tiles with various levels of information. If this is used, the service can be provided more adaptively according to the network situation and the user's area of interest.
- the server has to prepare tiles or segments of various qualities before service, and it is difficult to obtain benefits for the time consumed in the compression process. For this reason, it may not be suitable for immersive interactive services that must be applied to user point cloud data acquired in real time in the field.
- this document minimizes the degradation of the quality of experience felt by the user by adjusting the density of the point cloud data based on the user's interest in order to achieve ultra-low latency in implementing a realistic interactive system based on the point cloud technology.
- This document proposes an apparatus and method that can effectively reduce a high amount of information while minimizing the degradation of the quality of experience felt by a user by adjusting the density of point cloud data based on recognized objects.
- This document proposes a device and method that can effectively reduce a high amount of information while minimizing the degradation of the user's perceived quality of experience by adjusting the density of point cloud data based on the user's interest in recognized objects.
- This document proposes an apparatus and method that can effectively reduce a high amount of information while minimizing the degradation of the user's perceived quality of experience by adjusting the density of point cloud data based on the priority of recognized objects.
- This document proposes an apparatus and method that can effectively reduce a high amount of information while minimizing the degradation of the quality of experience felt by the user by adjusting the density of point cloud data based on the importance of recognized objects.
- This document includes VR (Virtual Reality) of MTSI of 3GPP TS 26.114 and XR (Extended Reality) of TR26.928, and includes 3GPP TS26.223 standard that discusses IMS-based Telepresence.
- 3GPP TS26.223 standard discusses IMS-based Telepresence.
- a mobile or separate receiver can participate in a immersive conference by attending a virtual conference.
- this document includes 5G Media Architecture 3GPP TS26.501, TS26.512, TS26.511.
- related standards may include TS26.238, TS26.939, TS24.229, TS26.295, TS26.929, and TS26.247 for the specification of services.
- technologies related to data processing include ISO/IEC JTC 1/SC 29/WG3 NBMP.
- 3D point cloud data obtained from a device eg, LiDAR
- a device eg, LiDAR
- Devices capable of acquiring depth information of a subject such as a 3D scanning device, usually acquire information of all objects within a range.
- a user's degree of interest in acquired objects may vary according to the type of service.
- the object with the highest level of interest may be limited to the other party, and as a more detailed area, the level of interest in the other party's face may be higher.
- the quality of a 3D image can be adjusted by dividing objects into regions and adjusting the number of points to be used according to their importance.
- this document uses the V-PCC method to compress dynamic point clouds (i.e., point cloud data).
- compression of the point cloud (i.e., point cloud data) obtained for the interactive service is performed by point cloud video encoder 10002 of FIG. 8, point cloud of FIG. 10, FIG. 13, and/or FIG. 15. Encoders and the like can be used.
- restoration of the compressed received point cloud may utilize the point cloud video decoder 10008 of FIG. 8, the point cloud decoder of FIG. 12, 14, and/or 15, or the like.
- the technique of this document can be applied to other projection-based systems that project and encode 3D data in two dimensions, such as V-PCC.
- encoding using the V-PCC codec reproduces 3D point cloud data as one or more 2D patches (patch generation), and packs the one or more 2D patches on a 2D plane to generate the existing data for each 2D frame. It consists of a process of encoding the accupancy map, geometry information, and attribute information using a 2D video codec.
- a bounding box made up of hexahedrons of point cloud data for each frame is determined, and points are projected onto each surface of the hexahedron of the bounding box in the form of a regular projection.
- the information (atlas) commonly shared by each patch is classified as meta data (i.e., additional patch information), and each projected on the six surfaces
- the patches of each point have 3D geometry information (i.e., geometry map), color and other information (i.e., attribute map), and accupancy area information (i.e., that distinguishes areas corresponding to patches from areas that do not correspond to each side) occupancy map) is created in three forms.
- 3D geometry information i.e., geometry map
- color and other information i.e., attribute map
- accupancy area information i.e., that distinguishes areas corresponding to patches from areas that do not correspond to each side occupancy map
- the 2D patch data generated based on the initially acquired point cloud data acts as the biggest factor in determining the quality of the finally generated 3D image and the size of the data.
- the transmission device may further include a density controller.
- the density controller may be implemented in hardware, software, a processor, and/or a combination thereof.
- the density control unit may be included in the patch generation unit 14000 of FIG. 10 or configured as a separate component/module. In the latter case, the density control unit may be provided at the front end of the patch generation unit 14000 .
- the density control unit may be included in the patch generation unit 18000 of FIG. 13 or configured as a separate component/module. In the latter case, the density control unit may be provided in front of the patch generator 18000.
- the density controller may include a process of object recognition and classification and importance level application.
- the process of recognizing and classifying objects and applying the importance level may include a process of extracting coordinate regions of recognized objects and applying the importance level.
- the density controller may include a process of generating and applying a filter map to be applied to patch data to be generated on each side of the bounding box.
- input data necessary for filter map creation may include patch data, a recognized coordinate area, and/or importance level information.
- the object In order to adjust the density by applying priority to each area (eg, object) in the process of generating a patch of point cloud data according to embodiments, the object must first be recognized and appropriately classified.
- 24 is a diagram showing an example of controlling the density of point cloud data according to embodiments.
- Step 21003 of adjusting the density of each object by applying a filter based on , and an importance level, and generating one or more patches based on the objects whose density is adjusted, and packing the one or more patches on a 2D plane ( 21004) may be included.
- Step 21001 may include recognizing objects to classify objects from point cloud data.
- the object recognition technology used in this document can use a general-purpose 2D image-based recognition technology. If real-time feedback information is received, the object recognition process may be omitted.
- Classification of objects in step 21001 may be performed based on a 3D frame including point cloud data or based on a bounding box within the 3D frame.
- a bounding box means a hexahedron capable of containing points of a point cloud. Therefore, the difference between the minimum and maximum values of points in the point cloud becomes the edge length of the bounding box.
- an object when it is located in a 3D space, it can be represented as a bounding box.
- the bounding box may be applied to the entire point cloud or to a part of the point cloud.
- the bounding box may include all points of the entire point cloud, and in the latter case, a portion of points of the entire point cloud may be included. For example, if two users are located in a frame in an interactive service, there may be two bounding boxes in the corresponding frame.
- a bounding box may include one object or a plurality of objects.
- a single bounding box may be created by combining several objects, or a bounding box may be created in units of each object.
- one object may be further classified into a plurality of objects. For example, if the object is a human face, this object may be further divided into objects (or sub-objects) such as a forehead, nose, eyes, and mouth.
- point cloud data may be projected on a bounding box plane in two dimensions, and an object may be recognized and classified using the projected 2D image data.
- Step 21002 acquires and signals location information (eg, coordinate area) and size information of each of the classified objects, and maps importance levels to the classified objects.
- location information eg, coordinate area
- size information e.g., size information
- this document may store priority levels or priority levels for each object in advance in the form of a table, and then map the priority levels to objects based on the table.
- the density of each object may be differently adjusted by applying a filter based on the location information and importance level of each object.
- the filter may be changed in units of frames or units of bounding boxes.
- the density (ie, the number of points) of an object having the highest importance level may not be adjusted, and the density of the remaining objects may be differently adjusted according to the importance level.
- the classified objects are the face, body, eyes, and mouth, and the mouth has the highest importance level, the number of points included in the mouth does not change, and the rest of the face, body, and eyes are points according to the importance level.
- the number of them can be reduced. That is, adjusting the number of points included in an object changes the density of the object. For example, if the number of points included in an object is reduced, the density of the object is lowered.
- step 21004 normal vector value calculation, segmentation, and patch segmentation are performed based on the points included in the density-adjusted objects to generate one or more patches, and the generated one or more patches are packed on a 2D plane.
- a 2D plane ie, a 2D frame
- three 2D frames based on this, that is, a 2D frame including an accupancy map and a 2D frame including geometry information , it is possible to generate a 2D frame including attribute information.
- Occupancy map A binary map that indicates whether data exists at the corresponding location on the 2D plane with a value of 0 or 1 ( binary map).
- Patch A set of points constituting a point cloud. Points belonging to the same patch are adjacent to each other in 3D space and indicate that they are mapped in the same direction among the 6 planes of the bounding box in the process of mapping to a 2D image.
- Geometry image An image in the form of a depth map that expresses the location information (geometry) of each point constituting the point cloud. Geometry represents a set of coordinates associated with a point cloud frame.
- Texture image An image expressing color information of each point constituting a point cloud.
- a texture image may be composed of multiple channel pixel values (e.g. 3 channels R, G, B). Textures are included in attributes. According to embodiments, textures and/or attributes may be interpreted as the same object and/or inclusive relationship.
- Auxiliary patch info Indicates metadata required to reconstruct a point cloud from individual patches.
- the additional patch information may include information about the position and size of the patch in 2D/3D space.
- 25 is a diagram illustrating a process of extracting coordinate information of each object and mapping an importance level after recognizing and classifying objects according to embodiments.
- 25 may include projecting captured point cloud data onto a bounding box, recognizing and classifying objects, extracting locations of the classified objects, and mapping importance levels to the classified objects.
- step 1 projects point cloud data acquired using a camera or the like onto a bounding box surface in two dimensions to generate a patch.
- Step 2 recognizes and classifies one or more objects using 2D image data projected on the bounding box surface.
- the object recognition technology used in this document can use a general-purpose 2D image-based recognition technology.
- 25 shows an example in which five objects (eg, forehead, eyes, nose, mouth, and body) are recognized and classified from the bounding box in step 1.
- step 3 coordinate regions (ie, location information) of the recognized objects are extracted, and predefined importance levels according to object types are mapped to each classified object.
- a level mapping table (LM Table) defined in advance according to the type of objects may be referred to.
- Table 2 below shows an example of an LM table.
- object classification priority level face 2 body 3 eye One mouth One etc 5 ... ...
- the highest importance level is mapped to the eyes and mouth based on Table 2.
- the LM table may be continuously updated. machine learning technology can be applied to object recognition and classification and LM table generation. If feedback information on a region of interest (ie, an object) of the other user is received in real time, the corresponding region may be classified at a high level, and the LM table may be updated and used. If real-time feedback information is received, the object recognition process may be omitted.
- the importance level may vary according to a user's level of interest, a type of service, the number of points, and the like.
- the type of service is an interactive service
- the importance level of the user's eyes or mouth may be set high.
- the importance level of the object containing the most points may be set high.
- the importance of each object may be set in advance and stored in the LM table, or may be adaptively set during the service according to the user's interest level, the type of service, the number of points, and the like.
- the objects recognized and selected in step 2 are processed into coordinate information (ie, location information) and importance information to be used as input data in the next filtering process.
- coordinate information ie, location information
- importance information to be used as input data in the next filtering process.
- the data format for this is as shown in FIG. 26, and may be used as binary data in implementation.
- FIG. 26 is a diagram showing an example of syntax and semantics of signaling information showing a relationship between a bounding box and objects according to embodiments. According to embodiments, the signaling information of FIG. 26 may be included in additional patch information and transmitted to the receiving device.
- 26 shows an example in which there are two bounding boxes and two objects are recognized and classified for each bounding box.
- BBWidth represents the size of the width of the bounding box.
- BBHeight represents the height size of the bounding box. That is, the size of the bounding box can be known using BBWidth and BBHeight.
- BBWidth and BBHeight may be signaled for each bounding box, or may be signaled only once for all bounding boxes in common.
- BBId represents a bounding box identifier (id) for identifying a bounding box.
- Obj represents an object recognized in the bounding box identified by BBId.
- Cor represents coordinate information (or location information) of each object.
- Coordinate information may include x, y coordinate values of a corresponding object, and width and height values of the object. That is, the coordinate information representing the area of the recognized object can be defined as a reference point (x 0 , y 0 ) and (w, h) that can know the size of the area, and can be used by transforming it according to the coordinate system used.
- each object in the bounding box may be identified by a Cor value.
- each object within the bounding box may be identified by further including an object identifier for each object in the signaling information.
- Level represents a priority level value mapped to each object.
- 26 shows an example in which two objects are recognized and classified in each bounding box, but this is an embodiment to help those skilled in the art understand.
- the number of objects recognized and classified in each bounding box may be the same or different for each bounding box.
- 25 shows an example in which five objects are recognized and classified in one bounding box.
- FIGS. 27(a) to 27(c) are views comparing mesh restructuring sharpness according to the number of points.
- LoD-1 (FIG. 27(a)) represents a case in which the point density is the smallest, and an example in which the point density increases toward LoD-3 (FIG. 27(c)).
- 28(a) and 28(b) are diagrams showing examples of differences in sharpness due to differences in density for each object area according to embodiments.
- FIGS. 28(a) and 28(b) when the partial characteristics of a specific object are analyzed in detail, there may be points that are used to classify the outline, while there may be points that are relatively not.
- the area (R1) has relatively more places to express the outline of an object than the area (R2), so a higher density is needed to provide clearer quality.
- the area R2 has relatively few contours, even if the density is somewhat low, it has a low effect on the user's experience quality.
- this document adjusts the density by generating and applying filters by inputting patch data obtained in two dimensions and location information and importance information for each region of the 2D patches generated through the above process.
- the area of the 2D patches may be an object or a specific area within the object.
- 29 is a diagram showing an example of applying a filter map in units of pixels in a specific region (eg, object) of a bounding box according to embodiments.
- 29 (a) and (b) show an example of a process of applying location information for each recognized area to patch data.
- a recognized coordinate region may be extracted from patch data composed of binary data in pixel units, and survival of pixel data in the corresponding region may be controlled through a specific filter.
- 29(c) is a diagram showing an example of filter mapping according to importance levels. If the service using point cloud data is a 3GPP-based interactive service, the user's interest will be the highest in the face, and in particular, the eyes 22001 or the mouth may be most important among the faces. And, under the face (22002) may be relatively less important. In this case, the highest importance level may be mapped to an area (or object) including the eye 22001, and a lower importance level may be mapped to an area (or object) including the lower face 22002 than the eye 22001. there is.
- 30(a) to 30(d) are diagrams showing examples of function filters capable of adjusting the entropy of a specific region according to embodiments.
- Various function filters may be used in this document, and the function filters used may vary according to the location information and importance level of the corresponding area.
- the corresponding area may be an object or a specific area within an object.
- FIG. 30(a) shows an example of a Gaussian-based function filter, which can be used to maintain the highest density at the center of a corresponding region because the importance of the center of the corresponding region is high.
- FIG. 30(b) shows an example of a sigmoid-based function filter, which can be used to maintain the highest density on the left side of the corresponding region because the importance of the left side of the corresponding region is high. That is, in FIG. 30(b), the entropy of the rightmost region is set to be high in a sigmoid-based manner.
- 30(c) shows an example of an invere sigmoid-based function filter, which can be used to maintain the highest density on the right side of a corresponding region because the importance of the right side of the corresponding region is high.
- 30(c) can be set as the inverse of FIG. 30(b).
- FIG. 30(d) shows an example of a bijection-based function filter, which can be used when the importance of corresponding regions is similar. If the density of all areas is to be the same or all point data is to be maintained, a bijection-based method as shown in FIG. 30(d) may be used.
- the location and number of surviving points in the region may vary depending on the type of function filter applied to the region (bounding box or object).
- the entropy of the central region is set to the highest using a Gaussian-based function filter, and the density of the region can be adjusted by decreasing it toward the side. there is.
- the density of the central region can be set to the highest.
- 23001 may be a frame or bounding box, and 23002 may be an object (or area) having the highest importance level.
- the density of the object (or area) corresponding to 23002 does not change, and the density of areas other than the area 23002 varies according to the Gaussian-based function.
- all of the points included in the object (or area) corresponding to 23002 survive, and only some of the points included in the areas other than the area 23002 survive. In this case, the number of surviving points may vary for each region.
- the applied function filter may be different for each frame or for each bounding box. That is, the function filter used in this document can be selected and applied in units of frames or bounding boxes. For example, two bounding boxes are included in one frame, and the same function filter may be applied to the two bounding boxes according to the location information of the object to which the highest importance level is mapped in each bounding box, or a different function filter may be applied. may be applied.
- the number of points included in patches generated from the bounding box including the objects varies. This is because the number of points projected on the surface of the bounding box changes when the density of the object changes.
- the patch packing unit may be the patch packing unit 14001 of FIG. 10 or the patch packing unit 18001 of FIG. 13 .
- the patch packing unit performs a patch packing process of mapping the patches generated by adjusting the density to a 2D plane.
- an occupancy map is generated, and the occupancy map can be used for geometry image generation, geometry image padding, texture image padding, and/or geometry restoration for smoothing. That is, while packing one or more patches on a 2D plane, a geometry image storing geometry information of a point cloud and a texture image storing color (texture) information may be generated for a pixel having a point.
- the accupancy map represents the presence or absence of a point as 0 or 1 for each pixel.
- the additional patch information may include location information and importance level information of each object included in the bounding box.
- a receiving device may correspond to or perform some/all operations of the receiving device of FIG. 8 , the point cloud video decoder of FIG. 12 or 14 , and/or the receiving device of FIG. 15 .
- Each component of the receiving device may correspond to software, hardware, processor, and/or a combination thereof.
- the bounding box and object related information included in the additional patch information may be used for partial decoding of a receiving device or when 3D data is restored from 2D data.
- each drawing has been divided and described, but it is also possible to design to implement a new embodiment by merging the embodiments described in each drawing. And, according to the needs of those skilled in the art, designing a computer-readable recording medium in which programs for executing the previously described embodiments are recorded falls within the scope of the embodiments.
- the device and method according to the embodiments are not limited to the configuration and method of the embodiments described above, but the embodiments are selectively combined with all or part of each embodiment so that various modifications can be made. may be configured.
- Various components of the device of the embodiments may be implemented by hardware, software, firmware or a combination thereof.
- Various components of the embodiments may be implemented as one chip, for example, as one hardware circuit.
- components according to the embodiments may be implemented as separate chips.
- at least one or more of the components of the device according to the embodiments may be composed of one or more processors capable of executing one or more programs, and the one or more programs may be executed. Any one or more of the operations/methods according to the examples may be performed or may include instructions for performing the operations/methods.
- Executable instructions for performing methods/operations of an apparatus may be stored in a non-transitory CRM or other computer program products configured for execution by one or more processors, or may be stored in one or more may be stored in transitory CRM or other computer program products configured for execution by processors.
- the memory according to the embodiments may be used as a concept including not only volatile memory (eg, RAM) but also non-volatile memory, flash memory, PROM, and the like. Also, those implemented in the form of a carrier wave such as transmission through the Internet may be included.
- the processor-readable recording medium is distributed in computer systems connected through a network, so that the processor-readable code can be stored and executed in a distributed manner.
- first, second, etc. may be used to describe various components of the embodiments. However, interpretation of various components according to embodiments should not be limited by the above terms. These terms are only used to distinguish one component from another. Only thing For example, a first user input signal may be referred to as a second user input signal. Similarly, the second user input signal may be referred to as the first user input signal. Use of these terms should be construed as not departing from the scope of the various embodiments. Although both the first user input signal and the second user input signal are user input signals, they do not mean the same user input signals unless the context clearly indicates otherwise.
- operations according to embodiments described in this document may be performed by a transceiver including a memory and/or a processor according to embodiments.
- the memory may store programs for processing/controlling operations according to embodiments, and the processor may control various operations described in this document.
- a processor may be referred to as a controller or the like.
- Operations in embodiments may be performed by firmware, software, and/or a combination thereof, and the firmware, software, and/or combination thereof may be stored in a processor or stored in a memory.
- the transmitting/receiving device may include a transmitting/receiving unit for transmitting/receiving media data, a memory for storing instructions (program codes, algorithms, flowcharts and/or data) for processes according to embodiments, and a processor for controlling operations of the transmitting/receiving device.
- a transmitting/receiving unit for transmitting/receiving media data
- a memory for storing instructions (program codes, algorithms, flowcharts and/or data) for processes according to embodiments
- a processor for controlling operations of the transmitting/receiving device.
- a processor may be referred to as a controller or the like, and may correspond to, for example, hardware, software, and/or combinations thereof. Operations according to the above-described embodiments may be performed by a processor. Also, the processor may be implemented as an encoder/decoder for the operations of the above-described embodiments.
- the embodiments may be applied in whole or in part to an apparatus and system for transmitting and receiving point cloud data.
- Embodiments may include changes/variations, which do not depart from the scope of the claims and their equivalents.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
실시예들에 따른 포인트 클라우드 데이터 송신 방법 및 장치가 개시된다. 포인트 클라우드 데이터 송신 방법 포인트들을 포함하는 포인트 클라우드 데이터를 전처리하는 단계, 상기 전처리된 포인트 클라우드 데이터를 인코딩하는 단계, 및 상기 인코딩된 포인트 클라우드 데이터와 시그널링 데이터를 전송하는 단계를 포함할 수 있다.
Description
실시예들은 포인트 클라우드 콘텐트(Point Cloud Content)를 처리하는 방법 및 장치에 대한 것이다.
포인트 클라우드 콘텐트는 3차원 공간을 표현하는 좌표계에 속한 점(포인트)들의 집합인 포인트 클라우드로 표현되는 콘텐트이다. 포인트 클라우드 콘텐트는3차원으로 이루어진 미디어를 표현할 수 있으며, VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 서비스 등의 다양한 서비스를 제공하기 위해 사용된다. VR 기술은 현실 세계의 객체나 배경 등을 CG (Computer Graphic) 영상으로만 제공하고, AR 기술은 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 제공하며, MR 기술은 현실 세계에 가상 객체들을 섞고 결합시켜서 제공하는 컴퓨터 그래픽 기술이다. 전술한 VR, AR, MR 등을 모두 간단히 XR (extended reality) 기술로 지칭하기도 한다. 하지만 포인트 클라우드 콘텐트를 표현하기 위해서는 수만개에서 수십만개의 포인트 데이터가 필요하다. 따라서 방대한 양의 포인트 데이터를 효율적으로 처리하기 위한 방법이 요구된다.
실시예들은 포인트 클라우드 데이터를 효율적으로 처리하기 위한 장치 및 방법을 제공한다.
실시예들은 지연시간(latency) 및 인코딩/디코딩 복잡도를 해결하기 위한 포인트 클라우드 데이터 처리 방법 및 장치를 제공한다.
실시예들은 포인트 클라우드 기술을 기반으로 실감 대화형 시스템을 구현함에 있어 초저지연 시간을 달성할 수 있도록 하는 장치 및 방법을 제공한다.
실시예들은 객체의 중요도에 따라 해당 객체의 밀도를 조절함으로써, 사용자가 느끼는 체감 품질의 하락을 최소화 하는 동시에 높은 정보량을 효과적으로 줄일 수 있도록 하는 장치 및 방법을 제공한다.
다만, 전술한 기술적 과제만으로 제한되는 것은 아니고, 기재된 전체 내용에 기초하여 당업자가 유추할 수 있는 다른 기술적 과제로 실시예들의 권리범위가 확장될 수 있다.
실시예들에 따른 포인트 클라우드 데이터 송신 방법은 포인트들을 포함하는 포인트 클라우드 데이터를 전처리하는 단계, 상기 전처리된 포인트 클라우드 데이터를 인코딩하는 단계, 및 상기 인코딩된 포인트 클라우드 데이터와 시그널링 데이터를 전송하는 단계를 포함할 수 있다.
상기 전처리 단계는, 상기 포인트 클라우드 데이터를 복수개의 오브젝트들로 분류하는 단계, 상기 분류된 오브젝트들 각각에 중요도 레벨을 맵핑하는 단계, 및 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들 중 적어도 하나의 오브젝트의 밀도를 제어하는 단계를 포함할 수 있다.
상기 전처리 단계는 상기 적어도 하나의 오브젝트에 포함되는 포인트들의 개수를 조절함으로써, 상기 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리 단계는 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 프레임에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리 단계는 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 바운딩박스에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리 단계는 상기 밀도가 제어된 적어도 하나의 오브젝트를 포함하는 바운딩박스의 포인트들을 기반으로 하나 이상의 패치들을 생성하는 단계, 상기 하나 이상의 패치들을 2D 평면에 패킹하는 단계, 및 상기 2D 평면에 패킹된 하나 이상의 패치들과 상기 시그널링 데이터를 기반으로 어큐판시 맵, 지오메트리 정보, 및 어트리뷰트 정보를 생성하는 단계를 포함할 수 있다.
상기 시그널링 데이터는 적어도 상기 분류된 각 오브젝트의 위치 정보 또는 중요도 레벨 정보를 포함할 수 있다.
상기 분류된 각 오브젝트의 중요도 레벨은 테이블 형태로 미리 저장될 수 있다.
상기 전처리 단계는 상기 포인트 클라우드 데이터로부터 복수개의 오브젝트들을 인식하는 단계를 더 포함할 수 있다.
실시예들에 따른 포인트 클라우드 데이터 송신 장치는 포인트들을 포함하는 포인트 클라우드 데이터를 전처리하는 전처리부, 상기 전처리된 포인트 클라우드 데이터를 인코딩하는 인코딩부, 및 상기 인코딩된 포인트 클라우드 데이터와 시그널링 데이터를 전송하는 전송부를 포함할 수 있다.
상기 전처리부는 상기 포인트 클라우드 데이터를 복수개의 오브젝트들로 분류하고, 상기 분류된 오브젝트들 각각에 중요도 레벨을 맵핑하며, 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들 중 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리부는 상기 적어도 하나의 오브젝트에 포함되는 포인트들의 개수를 조절함으로써, 상기 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리부는 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 프레임에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리부는 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 바운딩박스에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어할 수 있다.
상기 전처리부는 상기 밀도가 제어된 적어도 하나의 오브젝트를 포함하는 바운딩박스의 포인트들을 기반으로 하나 이상의 패치들을 생성하는 패치 생성부, 상기 하나 이상의 패치들을 2D 평면에 패킹하는 패치 패킹부, 및 상기 2D 평면에 패킹된 하나 이상의 패치들과 상기 시그널링 데이터를 기반으로 어큐판시 맵, 지오메트리 정보, 및 어트리뷰트 정보를 생성하는 생성부를 포함할 수 있다.
상기 시그널링 데이터는 적어도 상기 분류된 각 오브젝트의 위치 정보 또는 중요도 레벨 정보를 포함할 수 있다.
상기 분류된 각 오브젝트의 중요도 레벨은 테이블 형태로 미리 저장될 수 있다.
실시예들에 따른 장치 및 방법은 높은 효율로 포인트 클라우드 데이터를 처리할 수 있다.
실시예들에 따른 장치 및 방법은 높은 퀄리티의 포인트 클라우드 서비스를 제공할 수 있다.
실시예들에 따른 장치 및 방법은 XR 서비스, 자율주행 서비스 등 범용적인 서비스를 제공하기 위한 포인트 클라우드 콘텐트를 제공할 수 있다.
실시예들에 따른 장치 및 방법은 3차원으로 획득한 영상을 기반으로 실시간으로 대화할 수 있는 실감형 대화 및 다자간회의 시스템에서 사용자들이 체감하는 품질은 최대한 유지하면서 서비스에 필요한 비용은 최소한으로 줄일 수 있다.
실시예들에 따른 장치 및 방법은 실감 대화형 시스템의 실제 구현을 위해서 아주 높은 정보량에 대한 처리가 가능하며 인터랙션 형태로 발생되는 사용자의 움직임이나 시점의 변화에 대해서도 실시간에 가까운 속도로 대응할 수 있다.
실시예들에 따른 장치 및 방법은 포인트 클라우드 기술을 기반으로 실감 대화형 시스템을 구현함에 있어 사용자의 관심도를 기반으로 포인트 클라우드 데이터의 밀도를 조절함으로써, 초저지연 시간을 달성하면서 또한, 사용자가 느끼는 체감 품질의 하락을 최소화할 수 있고, 동시에 높은 정보량을 효과적으로 줄일 수 있다.
실시예들에 따른 장치 및 방법은 실시간 실감 대화형 서비스에서 오브젝트를 인식하여 대화형 서비스에 적합한 관심영역을 분류하고 그 영역별로 서로 다른 수준의 포인트 데이터 밀도를 조절함으로써, 최종적으로 서비스 받는 사용자가 체감하는 품질 저하는 최소로 하면서 최적의 포인트 클라우드 세트를 구성할 수 있다.
도면은 실시예들을 더욱 이해하기 위해서 포함되며, 도면은 실시예들에 관련된 설명과 함께 실시예들을 나타낸다. 이하에서 설명하는 다양한 실시예들의 보다 나은 이해를 위하여, 하기 도면들에 걸쳐 유사한 참조 번호들이 대응하는 부분들을 포함하는 다음의 도면들과 관련하여 이하의 실시예들의 설명을 반드시 참조해야 한다.
도 1은 실시예들에 따른 통신 시스템(1)의 예시를 나타내는 블록도이다.
도 2는 실시예들에 따른 방법들이 적용될 수 있는 무선 통신 시스템의 블록 구성도를 예시한 도면이다.
도 3은 3GPP 신호 전송/수신 방법의 예시를 나타낸 도면이다.
도 4는 실시예들에 따른 자기-완비 슬롯 내에 물리 채널이 매핑되는 예시를 나타낸 도면이다.
도 5은 ACK/NACK 전송 과정 및 PUSCH 전송 과정의 예시를 나타낸 도면이다.
도 6은 실시예들에 따른 5GMS 서비스의 미디어 전송을 위한 다운링크 구조를 나타낸 도면이다.
도 7은 Uplink서비스를 위한 FLUS 구조의 예시를 나타낸 도면이다.
도 8은 실시예들에 따른 포인트 클라우드 데이터 처리 시스템의 예시를 나타낸 도면이다.
도 9는 실시예들에 따른 포인트 클라우드 및 지오메트리, 텍스쳐 이미지의 예시를 나타낸 도면이다.
도 10은 실시예들에 따른 포인트 클라우드 비디오 인코더의 예시를 나타낸 도면이다.
도 11은 실시예들에 따른 포인트 클라우드의 바운딩 박스(bounding box)의 예시를 나타낸 도면이다.
도 12는 실시예들에 따른 포인트 클라우드 비디오 디코더의 예시를 나타낸 도면이다.
도 13은 실시예들에 따른 V-PCC 기반의 포인트 클라우드 데이터의 압축 및 전송을 위한 송신 장치의 동작 흐름도의 예시를 나타낸 도면이다.
도 14는 실시예들에 따른 V-PCC 기반의 포인트 클라우드 데이터의 수신 및 복원을 위한 수신 장치의 동작 흐름도의 예시를 나타낸 도면이다.
도 15는 실시예들에 따른 V-PCC 기반의 포인트 클라우드 데이터 처리 및 스트리밍을 위한 포인트 클라우드 처리 시스템의 예시를 나타낸 도면이다.
도 16은 실시예들에 따른 임의 방문 네트워크(Visited Network) 상 UE를 위한 전송 구조를 나타낸 도면이다.
도 17은 실시예들에 따른 UE간 콜 연결을 나타낸 도면이다.
도 18은 실시예들에 따른 포인트 클라우드 데이터 송수신 장치를 나타낸 도면이다.
도 19는 실시예들에 따른 5G 네트워크 상 XR 커뮤니케이션을 위한 구조를 나타낸다.
도 20은 실시예들에 따른 XR 커뮤니케이션을 위한 구조를 나타낸다.
도 21은 실시예들에 따른 포인트-투-포인트 XR 화상회의(Point to Point XR Teleconference)를 나타낸다.
도 22는 실시예들에 따른 XR 화상회의 확장을 나타낸다.
도 23은 실시예들에 따른 XR 화상회의 확장을 나타낸다.
도 24는 실시예들에 따른 포인트 클라우드 데이터의 밀도를 제어하는 예시를 보인 도면이다.
도 25는 실시예들에 따라 오브젝트를 인식하여 분류한 후 각 오브젝트들의 좌표 정보 추출과 중요도 레벨을 맵핑하는 과정을 나타낸 도면이다.
도 26은 실시예들에 따른 바운딩박스와 오브젝트들과의 관계를 보인 시그널링 정보의 신택스 및 시멘틱스의 예시를 보인 도면이다.
도 27은 실시예들에 따른 LOD 별 포인트 구성의 예시를 나타낸다.
도 28(a), 도 28(b)는 실시예들에 따른 오브젝트 영역별 밀도 차이에 의한 선명도 차이의 예시를 보인 도면이다.
도 29는 실시예들에 따른 바운딩박스의 특정 영역(예, 오브젝트)에서 픽셀 단위로 필터맵을 적용하는 예시를 보인 도면이다.
도 30(a) 내지 도 30(d)는 실시예들에 따른 특정 영역의 엔트로피를 조절할 수 있는 함수 필터들의 예시를 보인 도면이다.
실시예들의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 실시예들의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 실시예들의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 실시예들에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 실시예들이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
실시예들에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 실시예들은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
도 1은 실시예들에 따른 통신 시스템(1)의 예시를 나타내는 블록도이다.
도 1에 도시된 바와 같이 실시예들에 따른 통신 시스템(1)은 무선 기기(100a-100f), 기지국(BS)(200) 및 네트워크(300)를 포함한다. 실시예들에 따른 기지국(BS)(200)는 고정국(fixed station), Node B, eNB(evolved-NodeB), gNB(Next Generation NodeB), BTS(base transceiver system), 접속 포인트(access point, AP), 네트워크 혹은 5G (5th generation) 네트워크 노드, AI (Artificial Intelligence) 시스템, RSU(road side unit), 로봇, AR/VR(Augmented Reality/Virtual Reality) 시스템, 서버 등으로 호칭될 수 있다. 실시예들에 따라, 무선 기기는 무선 접속 기술(예, 5G NR(New RAT), LTE(Long Term Evolution))을 이용하여, 기지국 및/또는 다른 무선 기기와 통신을 수행하는 기기를 의미하며, 통신/무선/5G 기기, 사용자 단말(User Equipment, UE)라고 호칭될 수 있다. 또한 무선 기기는 위 실시예들에 국한되지 않으며, 로봇(100a), 차량(100b-1, 100b-2), XR(eXtended Reality) 기기(100c), 휴대 기기(Hand-held device)(100d), 가전(100e), IoT(Internet of Thing) 기기(100f), AI기기/서버(400)를 포함할 수 있다. XR 기기(100c)는 XR 컨텐트 (예를 들면 AR(Augmented Reality)/VR(Virtual Reality)/MR(Mixed Reality) 컨텐트 등)를 제공하는 기기를 나타낸다. 실시예들에 따라 XR 기기는 AR/VR/MR 기기로 호칭될 수 있다. XR 기기(100c)는 실시예들에 따라 HMD(Head-Mounted Device), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 스마트폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지(signage), 차량, 로봇 등의 형태로 구현될 수 있다. 예를 들어, 차량(100b-1, 100b-2)은 무선 통신 기능이 구비된 차량, 자율 주행 차량, 차량간 통신을 수행할 수 있는 차량, UAV(Unmanned Aerial Vehicle)(예, 드론)등을 포함할 수 있다. 휴대 기기(100d)는 스마트폰, 스마트패드, 웨어러블 기기(예, 스마트워치, 스마트글래스), 컴퓨터(예, 노트북 등) 등을 포함할 수 있다. 가전(100e)은 TV, 냉장고, 세탁기 등을 포함할 수 있다. IoT 기기(100f)는 센서, 스마트미터 등을 포함할 수 있다. 무선 기기(100a~100f)는 기지국(200)을 통해 네트워크(300)와 연결될 수 있다. 무선 기기(100a~100f)는 네트워크(300)를 통해 AI 서버(400)와 연결될 수 있다. 네트워크(300)는 3G 네트워크, 4G(예, LTE) 네트워크 또는 5G(예, NR) 네트워크, 6G 네트워크 등을 이용하여 구성될 수 있다. 무선 기기(100a~100f)는 기지국(200)/네트워크(300)를 통해 서로 통신할 수도 있지만, 기지국/네트워크를 통하지 않고 직접 통신(e.g. 사이드링크 통신(sidelink communication))할 수도 있다.
무선 기기(100a~100f)/기지국(200), 기지국(200)/기지국(200)은 무선 통신/연결(150a, 150b, 150c)을 통해 무선 신호를 송수신 할 수 있다. 실시예들에 따른 무선 통신/연결은 무선기기와 기지국간 통신인 상향/하향링크 통신(150a), 무선 기기 사이의 통신인 사이드링크 통신(150b)(또는, D2D 통신), 기지국간의 통신(150c)(e.g. relay, IAB(Integrated Access Backhaul)과 같은 다양한 무선 접속 기술들(예, 5G, NR등)을 포함할 수 있다. 실시예들에 따른 무선 기기(100a~100f), 기지국(200)은 무선 통신/연결(150a, 150b, 150c)의 다양한 물리 채널을 통해 신호를 송신/수신할 수 있다. 무선 통신/연결(150a, 150b, 150c)을 위하여 무선 신호의 송신/수신을 위한 다양한 구성정보 설정 과정, 다양한 신호 처리 과정(예, 채널 인코딩/디코딩, 변조/복조, 자원 매핑/디매핑 등), 자원 할당 과정 등 중 적어도 하나 이상의 과정이 수행될 수 있다.
실시예들에 따른 사용자 단말(UE)(예를 들면 XR 디바이스(예를 들면 도 1의 XR 디바이스(100c)등))은 오디오/비디오 데이터, 음성 데이터, 주변 정보 데이터 등의 XR 컨텐트를 제공하기 위해 필요한 XR 데이터(또는 AR/VR 데이터)를 포함하는 특정 정보를 네트워크를 통해 기지국 또는 다른 사용자 단말로 전송할 수 있다. 실시예들에 따른 사용자 단말은 네트워크에 초기 접속 동작(initial access operation)을 수행할 수 있다. 초기 접속 과정에서, 사용자 단말은 하향링크(Downlink, DL) 동기 획득을 위한 셀 서치 및 시스템 정보를 획득할 수 있다. 실시예들에 따른 하향링크는 기지국(예를 들면 BS) 또는 기지국의 일부인 송신부로부터 사용자 단말(UE) 또는 사용자 단말에 포함된 수신부로의 통신을 나타낸다. 실시예들에 따른 사용자 단말은 네트워크에 접속하기 위한 임의 접속 동작(random access operation)을 수행할 수 있다. 임의 접속 동작에서, 사용자 단말은 상향링크(Uplink, UL) 동기 획득 또는 UL 데이터 전송을 위해 프리앰블을 전송하고, 임의 접속 응답 수신 동작을 수행할 수 있다. 실시예들에 따른 상향링크는 UE 또는 UE의 일부인 송신부로부터 BS 또는 BS의 일부인 수신부로의 통신을 나타낸다. 또한 사용자 단말은 BS로 특정 정보를 전송하기 위해 상향링크 그랜트 (UL Grant) 수신 동작을 수행할 수 있다. 실시예들에 상향링크 그랜트는 상향링크 데이터 전송을 위해 시간/주파수 자원 스케쥴링 정보를 수신하기 위한 것이다. 실시예들에 따른 사용자 단말은 UL 그랜트에 기반하여 특정 정보를 5G 네트워크를 통해 기지국으로 전송할 수 있다. 실시예에 따른 기지국은 XR 컨텐트 프로세싱을 수행할 수 있다. 사용자 단말은 5G 네트워크를 통해 특정 정보에 대한 응답을 수신하기 위해 다운링크 그랜트 (DL Grant) 수신 동작을 수행할 수 있다. 실시예들에 따른 다운링크 그랜트는 다운링크 데이터를 수신하기 위하여 시간/주파수 자원 스케쥴링 정보를 수신하는 것을 나타낸다. 사용자 단말은 다운링크 그랜트를 기반으로 네트워크를 통해 특정 정보에 대한 응답을 수신할 수 있다.
도 2는 실시예들에 따른 방법들이 적용될 수 있는 무선 통신 시스템의 블록 구성도를 예시한다.
무선 통신 시스템은 제 1 통신 장치(910) 및/또는 제 2 통신 장치(920)을 포함한다. 본 문서에서 'A 및/또는 B'는 'A 또는 B 중 적어도 하나를 포함한다'와 동일한 의미로 해석될 수 있다. 제 1 통신 장치가 BS를 나타내고, 제 2 통신 장치가 UE를 나타낼 수 있다(또는 제 1 통신 장치가 UE를 나타내고, 제 2 통신 장치가 BS를 나타낼 수 있다).
제 1 통신 장치와 제 2 통신 장치는 프로세서(processor, 911,921), 메모리(memory, 914,924), 하나 이상의 Tx/Rx RF 모듈(radio frequency module, 915,925), Tx 프로세서(912,922), Rx 프로세서(913,923), 안테나(916,926)를 포함한다. Tx/Rx 모듈은 트랜시버라고도 한다. 실시예들에 따른 프로세서(911)는 물리계층 이상의 레이어 (예를 들면 레이어 2(L2)) 계층의 신호처리기능을 수행할 수 있다. 예를 들어, 다운링크(Downlink), 또는 DL(제 1 통신 장치에서 제 2 통신 장치로의 통신)에서, 코어 네트워크로부터의 상위 계층 패킷은 프로세서(911)에 제공된다. 실시예들에 따른 프로세서(911)는 DL에서, 프로세서는 논리 채널과 전송 채널 간의 다중화(multiplexing), 무선 자원 할당을 제 2 통신 장치(920)에 제공하며, 제 2 통신 장치로의 시그널링을 담당한다. 제 1 통신 장치(910) 및 제 2 통신 장치(920)는 프로세서(911,921)에서 처리된 상위 계층 패킷 보다 더 상위 계층의 데이터를 처리하는 프로세서(예를 들면 오디오/비디오 인코더, 오디오/비디오 디코더 등)를 더 포함할 수 있다. 실시예들에 따른 프로세서는 다양한 비디오 표준(예를 들면 MPEG2, AVC, HEVC, VVC등의 비디오 표준)에 대응하여 처리된 비디오 데이터 및 다양한 오디오 표준(예를 들면 MPEG 1 Layer 2 Audio, AC3, HE-AAC, E-AC-3, HE-AAC, NGA등과 같은 오디오 표준 등)에 의해 처리된 오디오 데이터를 처리할 수 있다. 또한 실시예들에 따른 프로세서는 Video-based Point Cloud Compression (V-PCC) 또는 Geometry-based Point Cloud Compression (G-PCC) 방식으로 처리된 XR 데이터 또는 XR 미디어 데이터를 처리할 수 있다. XR 데이터 또는 XR 미디어 데이터를 포인트 클라우드 데이터라 칭할 수 있다. 상위 계층 데이터를 처리하는 프로세서는 프로세서(911,921)와 결합되어 하나의 프로세서 또는 하나의 칩 등으로 구현될 수 있다. 또한 상위 계층 데이터를 처리하는 프로세서는 프로세서(911,921)와 별도의 칩, 별도의 프로세서로 구현될 수 있다. 전송(TX) 프로세서(912)는 L1 계층(즉, 물리 계층)에 대한 다양한 신호 처리 기능을 구현한다. 물리 계층의 신호 처리 기능은 제 2 통신 장치에서 FEC(forward error correction)을 용이하게 할 수 있다. 물리 계층의 신호 처리 기능은 코딩 및 인터리빙(coding and interleaving)을 포함한다. 인코딩 및 인터리빙을 거친 신호는 스크램블링(scrambling) 및 변조(modulation)을 거쳐 복소 값(complex valued) 변조 심볼들로 변조된다. 변조에는 채널에 따라 BPSK, QPSK, 16QAM, 64QAM, 246QAM 등이 사용될 수 있다. 복소 값 변조 심볼들(이하, 변조 심볼들)은 병렬 스트림으로 분할되고, 각각의 스트림은 OFDM(Orthogonal Frequency Division Multiplexing) 부반송파에 매핑되고, 시간 및/또는 주파수 도메인에서 참조 신호와 다중화(multiplexing)되며, IFFT를 사용하여 함께 결합되어 시간 도메인 OFDM 심볼 스트림을 운반하는 물리적 채널을 생성한다. OFDM 심볼 스트림은 다중 공간 스트림을 생성하기 위해 공간적으로 프리코딩된다. 각각의 공간 스트림은 개별 Tx/Rx 모듈(또는 트랜시버, 915)를 통해 상이한 안테나(916)에 제공될 수 있다. 각각의 Tx/Rx 모듈은 전송을 위해 각각의 공간 스트림을 RF 반송파로 주파수 상향변환(upconvert)할 수 있다. 제 2 통신 장치에서, 각각의 Tx/Rx 모듈(또는 트랜시버, 925)는 각 Tx/Rx 모듈의 각 안테나(926)을 통해 RF 반송파의 신호를 수신한다. 각각의 Tx/Rx 모듈은 RF 반송파의 신호를 기저대역(baseband) 신호로 복원하여, 수신(RX) 프로세서(923)에 제공한다. RX 프로세서는 L1(즉, 물리 계층)의 다양한 신호 프로세싱 기능을 구현한다. RX 프로세서는 제 2 통신 장치로 향하는 임의의 공간 스트림을 복구하기 위해 정보에 공간 프로세싱을 수행할 수 있다. 만약 다수의 공간 스트림들이 제 2 통신 장치로 향하는 경우, 다수의 RX 프로세서들에 의해 단일 OFDMA 심볼 스트림으로 결합될 수 있다. RX 프로세서는 고속 푸리에 변환 (FFT)을 사용하여 시간 도메인 신호인 OFDM 심볼 스트림을 주파수 도메인 신호로 변환한다. 주파수 도메인 신호는 OFDM 신호의 각각의 부반송파에 대한 개별적인 OFDM 심볼 스트림을 포함한다. 각각의 부반송파 상의 변조 심볼들 및 참조 신호는 제 1 통신 장치에 의해 전송된 가장 가능성 있는 신호 성상(constellation) 포인트들을 결정함으로써 복원되고 복조된다. 이러한 연 판정(soft decision)들은 채널 추정 값들에 기초할 수 있다. 연판정들은 물리 채널 상에서 제 1 통신 장치에 의해 원래 전송된 데이터 및 제어 신호를 복원하기 위해 디코딩 및 디인터리빙되다. 해당 데이터 및 제어 신호는 프로세서(921)에 제공된다.
UL(제 2 통신 장치에서 제 1 통신 장치로의 통신)은 제 2 통신 장치(920)에서 수신기 기능과 관련하여 기술된 것과 유사한 방식으로 제 1 통신 장치(910)에서 처리된다. 각각의 Tx/Rx 모듈(925)는 각각의 안테나(926)을 통해 신호를 수신한다. 각각의 Tx/Rx 모듈은 RF 반송파 및 정보를 RX 프로세서(923)에 제공한다. 프로세서 (921)는 프로그램 코드 및 데이터를 저장하는 메모리 (924)와 관련될 수 있다. 메모리는 컴퓨터 판독 가능 매체로서 지칭될 수 있다.
도 3 내지 도 5는 물리적인 L1 계층(즉, 물리 계층)에 대한 하나 또는 그 이상의 신호처리 방법 및/또는 동작들의 예시를 나타낸다. 도 3 내지 도 5에 개시된 예시들은 도 2에서 설명한 전송(TX) 프로세서(912) 및/또는 전송(TX) 프로세서(922)에서 수행되는 신호처리 방법 및/또는 동작들의 예시와 동일 또는 유사할 수 있다.
도 3은 3GPP 신호 전송/수신 방법의 예시를 나타낸다.
실시예들에 따르면 UE는 전원이 켜지거나 새로운 셀에 진입한 경우 BS와 동기를 맞추는 등의 초기 셀 탐색(initial cell search) 작업을 수행할 수 있다(S201). UE는 BS로부터 1차 동기 채널(primary synchronization channel, P-SCH) 및 2차 동기 채널(secondary synchronization channel, S-SCH)을 수신하여 BS와 동기를 맞추고, 셀 ID 등의 정보를 획득할 수 있다. LTE 시스템과 NR 시스템에서 P-SCH와 S-SCH는 각각 1차 동기 신호(primary synchronization signal, PSS)와 2차 동기 신호(secondary synchronization signal, SSS)로 호칭될 수 있다. 초기 셀 탐색 후, UE는 BS로부터 물리 브로드캐스트 채널(physical broadcast channel, PBCH)를 수신하여 셀 내 브로드캐스트 정보를 획득할 수 있다. 한편, UE는 초기 셀 탐색 단계에서 하향링크 참조 신호(downlink reference Signal, DL RS)를 수신하여 하향링크 채널 상태를 확인할 수 있다.
초기 셀 탐색을 마친 UE는 PDCCH(Physical Downlink Control Channel) 및 PDCCH에 실린 정보에 따라 PDSCH(Physical Downlink Shared Channel)를 수신함으로써 좀더 구체적인 시스템 정보를 획득할 수 있다(S202).
한편, BS에 최초로 접속하거나 신호 전송을 위한 무선 자원이 없는 경우 UE는 BS에 대해 임의 접속 과정(random access procedure)을 수행할 수 있다(단계 S203 내지 단계 S206). 이를 위해, UE는 PRACH(Physical Random Access Channel)를 통해 특정 시퀀스를 프리앰블로서 전송하고(S203 및 S205), PDCCH 및 대응하는 PDSCH를 통해 프리앰블에 대한 임의 접속 응답(random access response, RAR) 메시지를 수신할 수 있다(S204 및 S206). 경쟁 기반 임의 접속 과정의 경우, 추가적으로 충돌 해결 과정(contention resolution procedure)를 수행할 수 있다.
상술한 과정을 수행한 UE는 이후 일반적인 상향링크/하향링크 신호 전송 과정으로서 PDCCH/PDSCH 수신(S207) 및 PUSCH(Physical Uplink Shared Channel)/PUCCH(Physical Uplink Control Channel) 전송(S208)을 수행할 수 있다. 특히 UE는 PDCCH를 통하여 DCI를 수신한다. UE는 해당 탐색 공간 설정(configuration)들에 따라 서빙 셀 상의 하나 이상의 제어 요소 세트(control element set, CORESET)들에 설정된 모니터링 기회(occasion)들에서 PDCCH 후보(candidate)들의 세트를 모니터링한다. UE가 모니터할 PDCCH 후보들의 세트는 탐색 공간 세트들의 관점에서 정의될 수 있다. 실시예들에 따른 탐색 공간 세트는 공통 탐색 공간 세트 또는 UE-특정 탐색 공간 세트일 수 있다. CORESET은 1~3개 OFDM 심볼들의 시간 지속기간을 갖는 (물리) 자원 블록들의 세트로 구성된다. 네트워크는 UE가 복수의 CORESET들을 갖도록 설정할 수 있다. UE는 하나 이상의 탐색 공간 세트들 내 PDCCH 후보들을 모니터링한다. 여기서 모니터링이라 함은 탐색 공간 내 PDCCH 후보(들)에 대한 디코딩을 시도하는 것을 의미한다. UE가 탐색 공간 내 PDCCH 후보들 중 하나에 대한 디코딩에 성공하면, UE는 해당 PDCCH 후보에서 PDCCH를 검출했다고 판단하고, 검출된 PDCCH 내 DCI를 기반으로 PDSCH 수신 혹은 PUSCH 전송을 수행할 수 있다. 실시예들에 따른 PDCCH는 PDSCH 상의 DL 전송들 및 PUSCH 상의 UL 전송들을 스케줄링하는 데 사용될 수 있다. PDCCH 상의 DCI는 하향링크 공유 채널과 관련된, 변조(modulation) 및 코딩 포맷과 자원 할당(resource allocation) 정보를 적어도 포함하는 하향링크 배정(assignment)(즉, DL 그랜트), 또는 상향링크 공유 채널과 관련된, 변조 및 코딩 포맷과 자원 할당 정보를 포함하는 상향링크 그랜트(UL grant)를 포함할 수 있다.
UE는 SSB를 검출함으로써 DL 동기를 획득할 수 있다. UE는 검출된 SSB (시간) 인덱스(SSB index, SSBI)에 기반하여 SSB 버스트 세트의 구조를 식별할 수 있고, 이에 따라 심볼/슬롯/하프-프레임 경계를 검출할 수 있다. 검출된 SSB가 속하는 프레임/하프-프레임의 번호는 시스템 프레임 번호(system frame number, SFN) 정보와 하프-프레임 지시 정보를 이용하여 식별될 수 있다. UE는 PBCH로부터 PBCH가 속한 프레임에 대한 10 비트의 SFN을 획득할 수 있다. UE는 1 비트의 하프-프레임 지시 정보를 획득하여 해당 PBCH가 프레임 중 첫번째 하프-프레임에 속하는지 두번째 하프-프레임에 속하는지 판단할 수 있다. 예를 들어 하프-프레임 지시 비트 값이 0 인 경우, PBCH가 속한 SSB가 프레임 내 첫 번째 하프-프레임에 속한다는 것을 나타낸다. 하프-프레임 지시 비트 값이 1 인 경우, PBCH가 속한 SSB가 프레임 내 두 번째 하프-프레임에 속한다는 것을 나타낸다. UE는 DMRS 시퀀스와 PBCH가 나르는 PBCH 페이로드에 기반하여 PBCH가 속한 SSB의 SSBI를 획득할 수 있다.
다음의 표 1는 UE의 임의 접속 과정을 나타낸다.
표 1
신호의 타입 획득되는 동작/정보
제 1단계 UL에서의 PRACH 프리앰블(preamble) * 초기 빔 획득
* 임의 접속 프리앰블 ID의 임의 선택
제 2단계 PDSCH 상의 임의 접속 응답 * 타이밍 어드밴스 정보
* 임의 접속 프리앰블 ID
* 초기 UL 그랜트, 임시 C-RNTI
제 3단계 PUSCH 상의 UL 전송 * RRC 연결 요청
* UE 식별자
제 4단계 DL 상의 경쟁 해결(contention resolution) * 초기 접속을 위한 PDCCH 상의 임시 C-RNTI
* RRC_CONNECTED인 UE에 대한 PDCCH 상의 C-RNTI
임의 접속 과정은 다양한 용도로 사용된다. 예를 들어, 임의 접속 과정은 네트워크 초기 접속, 핸드오버, UE-트리거드(triggered) UL 데이터 전송에 사용될 수 있다. UE는 임의 접속 과정을 통해 UL 동기와 UL 전송 자원을 획득할 수 있다. 임의 접속 과정은 경쟁 기반(contention-based) 임의 접속 과정과 경쟁 프리(contention free) 임의 접속 과정으로 구분된다.
도 4는 실시예들에 따른 자기-완비 슬롯 내에 물리 채널이 매핑되는 예시를 나타낸다.
DL 제어 영역에서는 PDCCH가 전송될 수 있고, DL 데이터 영역에서는 PDSCH가 전송될 수 있다. UL 제어 영역에서는 PUCCH가 전송될 수 있고, UL 데이터 영역에서는 PUSCH가 전송될 수 있다. GP는 기지국과 UE가 송신 모드에서 수신 모드로 전환하는 과정 또는 수신 모드에서 송신 모드로 전환하는 과정에서 시간 갭을 제공한다. 서브프레임 내에서 DL에서 UL로 전환되는 시점의 일부 심볼이 GP로 설정될 수 있다.
실시예들에 따른 PDCCH는 DCI(Downlink Control Information)를 운반한다. 예를 들어, PCCCH (즉, DCI)는 DL-SCH(downlink shared channel)의 전송 포맷 및 자원 할당, UL-SCH(uplink shared channel)에 대한 자원 할당 정보, PCH(paging channel)에 대한 페이징 정보, DL-SCH 상의 시스템 정보, PDSCH 상에서 전송되는 랜덤 접속 응답과 같은 상위 계층 제어 메시지에 대한 자원 할당 정보, 전송 전력 제어 명령, CS(Configured Scheduling)의 활성화/해제 등을 나른다. DCI는 CRC(cyclic redundancy check)를 포함하며, CRC는 PDCCH의 소유자 또는 사용 용도에 따라 다양한 식별자(예, Radio Network Temporary Identifier, RNTI)로 마스킹/스크램블 된다. 예를 들어, PDCCH가 특정 단말을 위한 것이면, CRC는 단말 식별자(예, Cell-RNTI, C-RNTI)로 마스킹 된다. PDCCH가 페이징에 관한 것이면, CRC는 P-RNTI(Paging-RNTI)로 마스킹 된다. PDCCH가 시스템 정보(예, System Information Block, SIB)에 관한 것이면, CRC는 SI-RNTI(System Information RNTI)로 마스킹 된다. PDCCH가 랜덤 접속 응답에 관한 것이면, CRC는 RA-RNTI(Random Access-RNTI)로 마스킹 된다.
PDCCH는 AL(Aggregation Level)에 따라 1, 2, 4, 8, 16개의 CCE(Control Channel Element)로 구성된다. CCE는 무선 채널 상태에 따라 소정 부호율의 PDCCH를 제공하기 위해 사용되는 논리적 할당 단위이다. CCE는 6개의 REG(Resource Element Group)로 구성된다. REG는 하나의 OFDM 심볼과 하나의 (P)RB로 정의된다. PDCCH는 CORESET(Control Resource Set)를 통해 전송된다. CORESET는 주어진 뉴모놀로지(예, SCS, CP 길이 등)를 갖는 REG 세트로 정의된다. 하나의 UE를 위한 복수의 CORESET는 시간/주파수 도메인에서 중첩될 수 있다. CORESET는 시스템 정보(예, Master Information Block, MIB) 또는 단말-특정(UE-specific) 상위 계층(예, Radio Resource Control, RRC, layer) 시그널링을 통해 설정될 수 있다. 구체적으로, CORESET을 구성하는 RB 개수 및 OFDM 심볼 개수(최대 3개)가 상위 계층 시그널링에 의해 설정될 수 있다.
PDCCH 수신/검출을 위해, 단말은 PDCCH 후보들을 모니터링 한다. PDCCH 후보는 PDCCH 검출을 위해 UE가 모니터링 해야 하는 CCE(들)을 나타낸다. 각 PDCCH 후보는 AL에 따라 1, 2, 4, 8, 16개의 CCE로 정의된다. 모니터링은 PDCCH 후보들을 (블라인드) 디코딩 하는 것을 포함한다. UE가 모니터링 하는 PDCCH 후보들의 세트를 PDCCH 검색 공간(Search Space, SS)이라고 정의한다. 검색 공간은 공통 검색 공간(Common Search Space, CSS) 또는 단말-특정 검색 공간(UE-specific search space, USS)을 포함한다. 단말은 MIB 또는 상위 계층 시그널링에 의해 설정된 하나 이상의 검색 공간에서 PDCCH 후보를 모니터링 하여 DCI를 획득할 수 있다. 각각의 CORESET는 하나 이상의 검색 공간과 연관되고, 각 검색 공간은 하나의 COREST과 연관된다. 검색 공간은 다음의 파라미터들에 기초하여 정의될 수 있다.
- controlResourceSetId: 검색 공간과 관련된 CORESET를 나타냄
- monitoringSlotPeriodicityAndOffset: PDCCH 모니터링 주기 (슬롯 단위) 및 PDCCH 모니터링 구간 오프셋 (슬롯 단위)을 나타냄
- monitoringSymbolsWithinSlot: 슬롯 내 PDCCH 모니터링 심볼을 나타냄(예, CORESET의 첫 번째 심볼(들)을 나타냄)
- nrofCandidates: AL={1, 2, 4, 8, 16} 별 PDCCH 후보의 수 (0, 1, 2, 3, 4, 5, 6, 8 중 하나의 값)를 나타냄
* PDCCH 후보들을 모니터링을 해야 하는 기회(occasion)(예, 시간/주파수 자원)을 PDCCH (모니터링) 기회라고 정의된다. 슬롯 내에 하나 이상의 PDCCH (모니터링) 기회가 구성될 수 있다.
PUCCH는 UCI(Uplink Control Information)를 나른다. UCI는 다음을 포함한다.
- SR(Scheduling Request): UL-SCH 자원을 요청하는데 사용되는 정보이다.
- HARQ(Hybrid Automatic Repeat reQuest)-ACK(Acknowledgement): PDSCH 상의 하향링크 데이터 패킷(예, 코드워드)에 대한 응답이다. 하향링크 데이터 패킷이 성공적으로 수신되었는지 여부를 나타낸다. 단일 코드워드에 대한 응답으로 HARQ-ACK 1비트가 전송되고, 두 개의 코드워드에 대한 응답으로 HARQ-ACK 2비트가 전송될 수 있다. HARQ-ACK 응답은 포지티브 ACK(간단히, ACK), 네거티브 ACK(NACK), DTX 또는 NACK/DTX를 포함한다. 여기서, HARQ-ACK은 HARQ ACK/NACK, ACK/NACK과 혼용된다.
- CSI(Channel State Information): 하향링크 채널에 대한 피드백 정보이다. MIMO(Multiple Input Multiple Output)-관련 피드백 정보는 RI(Rank Indicator) 및 PMI(Precoding Matrix Indicator)를 포함한다.
PUSCH는 상향링크 데이터(예, UL-SCH transport block, UL-SCH TB) 및/또는 상향링크 제어 정보(UCI)를 운반하고, CP-OFDM(Cyclic Prefix - Orthogonal Frequency Division Multiplexing) 파형(waveform) 또는 DFT-s-OFDM(Discrete Fourier Transform - spread - Orthogonal Frequency Division Multiplexing) 파형에 기초하여 전송된다. PUSCH가 DFT-s-OFDM 파형에 기초하여 전송되는 경우, 단말은 변환 프리코딩(transform precoding)을 적용하여 PUSCH를 전송한다. 일 예로, 변환 프리코딩이 불가능한 경우(예, transform precoding is disabled) 단말은 CP-OFDM 파형에 기초하여 PUSCH를 전송하고, 변환 프리코딩이 가능한 경우(예, transform precoding is enabled), 단말은 CP-OFDM 파형 또는 DFT-s-OFDM 파형에 기초하여 PUSCH를 전송할 수 있다. PUSCH 전송은 DCI 내 UL 그랜트에 의해 동적으로 스케줄링 되거나, 상위 계층(예, RRC) 시그널링 (및/또는 Layer 1(L1) 시그널링(예, PDCCH))에 기초하여 반-정적(semi-static)으로 스케줄링 될 수 있다(configured grant). PUSCH 전송은 코드북 기반 또는 비-코드북 기반으로 수행될 수 있다.
도 5(a), 도 5(b)는 ACK/NACK 전송 과정 및 PUSCH 전송 과정의 예시를 나타낸다.
도 5(a)는 ACK/NACK 전송 과정의 예시를 나타낸다.
UE는 슬롯 #n에서 PDCCH를 검출할 수 있다. 여기서, PDCCH는 다운링크 스케줄링 정보(예, DCI 포맷 1_0, 1_1)를 포함하며, PDCCH는 DL assignment-to-PDSCH offset (K0)과 PDSCH-HARQ-ACK reporting offset (K1)를 나타낸다. 예를 들어, DCI 포맷 1_0, 1_1은 다음의 정보를 포함할 수 있다.
- Frequency domain resource assignment: PDSCH에 할당된 RB 세트를 나타냄
- Time domain resource assignment: K0, 슬롯 내의 PDSCH의 시작 위치(예, OFDM 심볼 인덱스) 및 길이(예 OFDM 심볼 개수)를 나타냄
- PDSCH-to-HARQ_feedback timing indicator: K1를 나타냄
- HARQ process number (4비트): 데이터(예, PDSCH, TB)에 대한 HARQ process ID(Identity)를 나타냄
이후, 단말은 슬롯 #n의 스케줄링 정보에 따라 슬롯 #(n+K0)에서 PDSCH를 수신한 뒤, 슬롯 #(n+K1)에서 PUCCH를 통해 UCI를 전송할 수 있다. 여기서, UCI는 PDSCH에 대한 HARQ-ACK 응답을 포함한다. PDSCH가 최대 1개 TB를 전송하도록 구성된 경우, HARQ-ACK 응답은 1-비트로 구성될 수 있다. PDSCH가 최대 2개의 TB를 전송하도록 구성된 경우, HARQ-ACK 응답은 공간(spatial) 번들링이 구성되지 않은 경우 2-비트로 구성되고, 공간 번들링이 구성된 경우 1-비트로 구성될 수 있다. 복수의 PDSCH에 대한 HARQ-ACK 전송 시점이 슬롯 #(n+K1)로 지정된 경우, 슬롯 #(n+K1)에서 전송되는 UCI는 복수의 PDSCH에 대한 HARQ-ACK 응답을 포함한다. 기지국/UE에는 DL 전송을 위해 복수의 병렬 DL HARQ 프로세스가 존재한다. 복수의 병렬 HARQ 프로세스는 이전 DL 전송에 대한 성공 또는 비성공 수신에 대한 HARQ 피드백을 기다리는 동안 DL 전송이 연속적으로 수행되게 한다. 각각의 HARQ 프로세스는 MAC(Medium Access Control) 계층의 HARQ 버퍼와 연관된다. 각각의 DL HARQ 프로세스는 버퍼 내의 MAC PDU(Physical Data Block)의 전송 횟수, 버퍼 내의 MAC PDU에 대한 HARQ 피드백, 현재 리던던시 버전(redundancy version) 등에 관한 상태 변수를 관리한다. 각각의 HARQ 프로세스는 HARQ 프로세스 ID에 의해 구별된다.
도 5(b)는 PUSCH 전송 과정의 예시를 나타낸다.
UE는 슬롯 #n에서 PDCCH를 검출할 수 있다. 여기서, PDCCH는 업링크스케줄링 정보(예, DCI 포맷 0_0, 0_1)를 포함한다. DCI 포맷 0_0, 0_1은 다음의 정보를 포함할 수 있다.
- Frequency domain resource assignment: PUSCH에 할당된 RB 세트를 나타냄
- Time domain resource assignment: 슬롯 오프셋 K2, 슬롯 내의 PUSCH의 시작 위치(예, 심볼 인덱스) 및 길이(예 OFDM 심볼 개수)를 나타냄. 시작 심볼과 길이는 SLIV(Start and Length Indicator Value)를 통해 지시되거나, 각각 지시될 수 있음. UE는 슬롯 #n의 스케줄링 정보에 따라 슬롯 #(n+K2)에서 PUSCH를 전송할 수 있다. 여기서, PUSCH는 UL-SCH TB를 포함한다.
실시예들은 5G 기반 미디어 스트리밍(이하 5GMS) 시스템에 적용될 수 있다. 5GMS구조는 MNO (Mobile Network Operator) 및 제 3자의 미디어 다운링크 Streaming서비스를 지원하는 시스템이다. 또한 5GMS구조는 관련된 네트워크나 UE 기능 및 API를 지원하며, MBMS지원 여부 및/또는 5G표준, EUTRAN 설치와 상관 없이 상호호환성 (backward compatibles)을 제공한다. 5G를 이용한 미디어에서 사용되는 Streaming의 정의란 시간 연속적인 미디어의 생성, 전달로 정의되며 Streaming Point의 정의란 송신기와 수신기가 직접적으로 송신하며 소비하는 것을 나타낸다. 5GMS구조는 기본적으로 다운링크 (Downlink) 및 업링크 (Uplink)환경에서 동작하며 양방향성을 가지고 있다. 사용하고자 하는 시나리오와 단말과 서버간 디바이스 캐퍼빌리티(Device Capability)에 따라 Streaming을 하는 방식이며 기술적으로 다르게 기능 블록이 구성되어 운용된다. 미디어가 다운링크를 통해 전달되는 경우 네트워크가 미디어의 생산 주체이며 UE가 미디어를 소비하는 소비자 장치로 정의된다. 5GMS 서비스는 5G네트워크 뿐만 아니라 3G, 4G, 6G 등의 네트워크를 이용할 수 있으며 상술한 실시예에 국한되지 않는다. 실시예들은 서비스 형태에 따라 네트워크 슬라이스 (Network Slicing)기능도 제공할 수 있다.
도 6은 실시예들에 따른 5GMS 서비스의 미디어 전송을 위한 다운링크 구조를 나타낸다.
도 6은 4G, 5G, 6G 네트워크 중 적어도 어느 하나 이상의 네트워크를 위한 미디어 전송 구조를 나타내며 단방향 다운링크 미디어 Streaming환경에서 동작할 수 있는 장치 방법이다. Downlink 시스템이기 때문에 네트워크 및 Trusted Media Function에서 미디어를 생산하고 미디어는 UE로 전달되는 형태를 갖게 된다. 각 블록도는 개념적으로 미디어 송수신에 필요한 기능의 집합의 구성 형태로 이루어 진다. Inter-Connection Interface는 미디어 블록별 특정 일부의 기능을 공유하거나 조절하기 위한 Link를 의미하며 필요 요소 기술을 모두 활용하지 않는 경우 사용된다. 예를 들어, 3rd Party External Application과 Operator Application은 독립적인 Application 작동이 이루어 지나 필요에 의해 정보 공유 (사용자 데이터, 미디어 Track 등)과 같은 기능이 필요한 경우 Inter-Connection Interface를 통해 통신 가능하도록 연결될 수 있다. 실시예들에 따른 미디어는 시간 연속적, 시간 비연속적, 이미지, 그림, 동영상, 오디오, 텍스트 등의 정보, 매개체를 모두 포함하며, 추가적으로 해당 미디어를 전송하고자 하는 포멧, 포멧의 크기 등을 모두 포함한다.
도 6의 Sink는 UE, UE에 포함된 프로세서(예를 들면 도 2 에서 설명한 상위 계층의 신호처리를 위한 프로세서(911) 등) 또는 UE를 구성하는 하드웨어를 나타낸다. 실시예들에 따른 Sink는 미디어를 제공하는 Source에서 Sink까지 Streaming 서비스를 Unicast형태로 받는 수신 동작을 수행할 수 있다. 실시예들에 따른 Sink는 Source 로부터 Control 정보를 수신하여 Control 정보를 기반으로 신호처리 동작을 수행할 수 있다. 실시예들에 따른 Sink는 Source로부터 미디어/메타데이터(예를 들면 XR 데이터 또는 확장된 미디어 데이터 등)를 수신할 수 있다. 실시예들에 따른 Sink는 3rd Party External Application 블록, Operator Application 블록 및/또는 5G Media Reception Function 블록 등을 포함할 수 있다. 실시예들에 따른 Sink는 3rd Party External Application 블록 및 Operator Application 블록은 Sink단에서 작동하는 UE Application을 나타낸다. 실시예들에 따른 3rd Party External Application 블록은 4G, 5G, 6G망 이외에 존재하는 제 3자에 의해 운용되는 어플리케이션으로, Sink의 API접속을 구동시킬 수 있다. 실시예들에 따른 3rd Party External Application 블록은 4G, 5G, 6G망을 이용하거나 직접적인 Point-to-Point Communication을 통해 정보를 수신할 수 있다. 따라서 Sink의 UE에서는 Native또는 Download Installed된 Application을 통해 추가 서비스를 제공받을 수 있다. 실시예들에 따른 Operator application블록은 미디어 Application을 포함한 미디어 스트리밍 구동 환경에 연관된 Application (5G Media Player) 들을 관리할 수 있다. Application이 설치되면, Sink의 UE는 Application Socket을 이용하여 API를 통한 미디어 서비스를 접속을 시작하고 관련된 데이터 정보를 주고받을 수 있다. 실시예들에 따른 API는 Socket을 이용한 세션 구성으로 데이터를 특정 end-system까지 전달할 수 있게 한다. Socket연결 방식은 일반적인 TCP기반의 인터넷 연결을 통해 전달될 수 있다. Sink는 Cloud Edge로부터 control/data 정보 등을 수신하고, Cloud Edge에 control/data 정보 등을 전송하는 Offloading을 수행할 수 있다. 도면에 도시되지 않았으나 실시예들에 따른 Sink는 Offloading Management 블록을 포함할 수 있다. 실시예들에 따른 Offloading Management는 Sink의 Offloading을 제어하기 위하여 operator application 블록 및/또는 3rd party application 블록의 동작을 제어할 수 있다.
실시예들에 따른 5G Media Reception Function 블록은 Offloading Management 블록으로부터 offloading 과 관련된 동작을 수신하고 4G, 5G, 6G망을 통해 수신할 수 있는 미디어를 획득 하고 미디어를 처리할 수 있다. 실시예들에 따른 5G Media Reception Function 블록은 일반적인 Media Access Client 블록, DRM Client 블록, Media Decoder, Media Rendering Presentation블록, XR Rendering 블록, XR Media Processing 블록 등을 포함할 수 있다. 해당 블록은 예시에 불과하며 명칭 및/또는 동작 등은 실시예들에 한정되지 않는다.
실시예들에 따른 Media Access Client 블록은 4G, 5G, 6G 네트워크 중 적어도 어느 하나 이상의 네트워크를 통해 수신된 데이터, 예를 들어, 미디어 Segment를 수신할 수 있다. 실시예들에 따른 Media Access Client 블록은 DASH, CMAF, HLS등과 같이 다양한 미디어 전송 Format을 De-formatting(또는 디캡슐레이션)할 수 있다. Media Access Client 블록에서 출력된 데이터는 각 디코딩 특성에 따라 처리되어 디스플레이 될 수 있다. 실시예들에 따른 DRM Client 블록은 수신된 데이터의 이용여부를 판단할 수 있다. 예를 들어 DRM client 블록은 허가된 사용자가 Access 범위 내 미디어 정보를 이용할 수 있도록 제어하는 동작을 수행할 수 있다. 실시예들에 따른 Media Decoding 블록은 일반적인 오디오/비디오 디코더로서, 디포맷된 데이터 중 다양한 표준(MPEG2, AVC, HEVC, VVC등의 비디오 표준 및 MPEG 1 Layer 2 Audio, AC3, HE-AAC, E-AC-3, HE-AAC, NGA등과 같은 오디오 표준 등)에 따라 처리된 오디오/비디오 데이터를 디코딩할 수 있다. 실시예들에 따른 Media Rendering Presentation 블록은 수신 장치에 적합하도록 미디어를 렌더링을 할 수 있다. 실시예들에 따른 Media Rendering Presentation 블록은 Media decoding 블록에 포함될 수 있다. 실시예들에 따른 XR Media Processing 블록 및 XR Rendering 블록은 디포맷된 데이터(또는 디 캡슐레이션된 데이터) 중 XR 데이터를 처리하기 위한 블록들이다. XR Media Processing 블록(예를 들면 도 2에서 설명한 프로세서(911) 또는 상위 계층 데이터를 처리하는 프로세서 등)은 source로부터 수신한 XR 데이터 또는 offloading management블록으로부터 수신한 정보 (예를 들면 Object정보, Position정보 등)를 이용하여 XR 미디어에 대한 Processing을 수행할 수 있다. 실시예들에 따른 XR Rendering 블록은 수신한 미디어 데이터 중 XR 미디어 데이터를 렌더링하여 디스플레이 할 수 있다. 실시예들에 따른 XR Media Processing 블록 및 XR rendering 블록은 Video-based Point Cloud Compression (V-PCC) 또는 Geometry-based Point Cloud Compression (G-PCC 방식에 따라 처리된 포인트 클라우드 데이터를 프로세싱 및 렌더링 할 수 있다. Video-based Point Cloud Compression (V-PCC) 방식에 대해서는 도 8 내지 도 13에서 상세히 설명할 것이다. 실시예들에 따른 XR Media Processing 블록 및 XR Rendering 블록은 하나의 XR decoder로 구성될 수 있다.
Source는 4G, 5G, 6G 네트워크 중 적어도 어느 하나 이상의 네트워크를 이용한 미디어 서버 또는 미디어를 제공할 수 있는 UE를 나타내며 Control Function과 Server Function 기능을 수행할 수 있다. Server Function은 4G, 5G, 6G 미디어 서비스를 시작하고 Hosting한다. 3rd Party Media Server는 4G, 5G, 6G 망 이외에 존재하는 제 3자에 의해 운용되는 다양한 미디어 서버를 의미하며, Network External Media Application Server가 될 수 있다. 일반적으로 제 3자 서비스에 의해 운용되는 External Server에서 4G, 5G, 6G망이 아닌 곳에서 미디어 제작, 인코딩, formatting등을 동일하게 수행할 수 있다. Control Function은 네트워크 기반 어플리케이션 기능 (Application Function)을 나타내며, Sink 및 기타 미디어 서버, 미디어 인증을 수행할 경우 컨트롤 위주의 정보 전달 기능을 포함할 수 있다. 따라서 Source는 Control Function을 통해 내부 Application의 API접속을 통해 접속을 시작하고 미디어 세션을 형성하거나, 기타 부가 정보 Request등을 수행할 수 있다. 또한 Source는 Control Function을 통해 타 네트워크 기능과의 PCF 정보 교환을 수행한다. Source는 Control Function을 통해 NEF를 이용하여 외부 네트워크 Capability를 확인하고 노출 과정을 통해 일반적으로 Monitoring, Provisioning을 수행할 수 있다. 그러므로 NEF는 다른 네트워크 정보를 수신하고 특정 표준화된 인터페이스를 이용하여 구조화된 데이터로서 수신된 정보를 저장할 수 있다. 저장된 정보는 NEF에 의해 다른 네트워크 및 어플리케이션 에게 Exposure/Re-exposure를 수행할 수 있으며 다양한 네트워크 환경에서 Exposure된 정보를 모아 분석의 목적으로 이용될 수 있다. 도 6과 같이 서비스 구성 연결이 이루어 지면 API Control Plane이 형성되며 세션 접속이 이루어 지면 보안 (인증, 권한 부여 등)과 같은 작업을 포함되어 미디어를 전송할 수 있는 환경이 형성된다. Source에서 다수개의 4G, 5G, 6G Media Function이 존재할 경우 다수개의 API를 생성하거나 한 개의 API를 통해서 Control Plane을 생성할 수 있다. 마찬가지로 제 3자의 Media 서버로부터 API가 생성될 수 있으며 Media Control Function과 UE의 API는 Media User Plane API를 형성할 수 있다. Source는 Downlink미디어 서비스 기능을 수행하기 위해 다양한 방법으로 미디어를 생성, 전달 가능하며 단순히 미디어를 저장하는 것부터 시작해서 미디어 Relaying 역할 등 미디어를 최종 목적지인 Sink에 해당하는 UE까지 전달할 수 있는 모든 기능을 포함할 수 있다. 실시예들에 따른 Sink 및 Source 내부의 모듈, 또는 블록들은 양방향성을 지닌 Inter-Connection Link 및 Inter-Connection Interface을 통해 정보를 전달 및 공유할 수 있다.
실시예들은 5GMS시스템에서 실시간으로 미디어를 제작된 Content가 소셜미디어, 사용자, 서버 등에 전송할 수 있는 UL 구조 및 방법에 대하여 설명한다. Uplink는 기본적으로 Distribution의 형태로 사용자에게 미디어가 전달되는 것이 아닌 사용자 단말 UE입장에서 미디어를 제작하고 Media Server쪽으로 전달되는 것으로 정의한다. Downlink 시스템과는 달리 Uplink시스템은 개인 사용자가 직접적인 Content를 제공하는 형태로 구성되어 있기 때문에 단말에서 처리하는 시스템 구성 방법 활용하고자 하는 Use Case, 시스템 구조가 Downlink와는 다른 형태로 구성될 수 있다. FLUS 시스템은 미디어를 제작하는 Source Entity와 미디어를 소비하는 Sink Entity로 구성되며 1:1 커뮤니케이션을 통해 음성, 비디오, 텍스트등과 같은 서비스가 전달된다. 따라서 Signalling, Transport Protocol, Packet-loss Handling, Adaptation등과 같은 기법이 적용될 수 있으며 FLUS시스템을 통해 예상 가능한 미디어의 품질과 Flexibility를 제공할 수 있다. FLUS Source는 단일개의 UE 또는 다수 개로 흩어져 있는 UE, Capture Device등이 될 수 있다. 5G망을 전제로 하고 있기 때문에 3GPP IMS/MTSI서비스를 지원할 수 있으며 IMS Control Plane을 통해 IMS 서비스를 지원하고 MTSI Service Policy규정을 준수하여 서비스를 지원할 수 있다. 만약 IMS/MTSI서비스를 지원하지 않는다면 Uplink서비스를 위해 Network Assistance기능을 통해 다양한 User Plane Instantiation으로 서비스가 지원될 수 있다.
도 7은 Uplink 서비스를 위한 FLUS 구조의 예시를 나타낸다.
FLUS 구조는 도 6에서 설명한 Source 및 Sink를 포함할 수 있다. 실시예들에 따른 Source는 UE에 해당할 수 있다. 실시예들에 따른 Sink는 UE 또는 Network에 해당할 수 있다. Uplink는 미디어의 생성과 전달 목표에 따라 Source와 Sink로 구성되며 Source는 단말 장치인 UE에 그리고 Sink는 또 다른 UE또는 네트워크가 될 수 있다. Source는 미디어 Content를 한 개 또는 그 이상의 Capture Device로부터 전달 받을 수 있다. Capture Device는 UE의 일부로 연결되어 있거나 연결되지 않을 수 있다. 미디어를 수신하는 Sink가 네트워크가 아닌 UE에 존재할 경우 Decoding 및 Rendering Function기능이 UE에 포함되며 수신된 미디어는 해당 기능에 전달해야 한다. 반대로 Sink가 네트워크에 해당하는 경우 수신된 미디어는 Processing 또는 Distribution Sub-Function으로 전달할 수 있다. Sink가 네트워크에 위치한 경우 때로는 역할에 따라서 Media Gateway Function 또는 Application Function의 역할을 포함할 수 있다. 도 7에 도시된 F link는 Source와 Sink를 연결하는 역할을 하며 세부적으로 이 Link를 통해 FLUS 세션의 Control과 Establishment를 가능하게 한다. 또한 F link를 통해 Source와 Sink간 Authentication/Authorization을 포함할 수 있다. F Link는 조금 더 세부적으로 Media Source and Sink (F-U end-points), Control Source and Sink (F-C end-points), Remote Controller and Remote Control Target (F-RC end-points) 그리고 Assistance Sender and Receiver (F-A end-points)로 구분화 할 수 있다. 이러한 Source Sink간은 모두 Logical Function으로 구분된다. 그러므로 해당 기능들은 같은 물리적 장치에 존재해도 되거나 때로는 기능의 분리가 이루어져 같은 장치에 존재하지 않아도 된다. 각각의 기능들은 또한 다수개의 물리적 장치로 분리되어 서로 다른 Interface에 의해 연결될 수 있다. 단일개의 FLUS Source에서 다수개의 F-A, F-RC point가 존재할 수 있다. 각각의 point는 FLUS Sink와 독립적이며 Offered Service에 따라 생성될 수 있다. 앞서 설명한 바와 같이 F Link Point는 F Point 세부적 존재하는 모든 Sub-function 및 Link의 Security 기능을 가정하고 해당 인증 과정이 포함될 수 있다.
한편, 전술한 바와 같이 송신 장치의 프로세서는 XR 데이터 또는 XR 미디어 데이터와 같은 포인트 클라우드 데이터를 Video-based Point Cloud Compression (V-PCC) 방식으로 처리할 수 있다. 그리고, 수신 장치의 XR Media Processing 블록 및 XR rendering 블록은 V-PCC 방식에 따라 처리된 포인트 클라우드 데이터를 프로세싱 및 렌더링 할 수 있다.
도 8은 실시예들에 따른 포인트 클라우드 데이터 처리 시스템의 예시를 나타낸다.
본 문서에서는 사용자에게 VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 서비스 등의 다양한 서비스를 제공하기 위하여 Point Cloud 콘텐츠를 제공하는 방안을 제공한다. 실시예들에 따른 포인트 클라우드 콘텐츠는 오브젝트를 포인트들로 표현한 데이터를 나타내고, 포인트 클라우드, 포인트 클라우드 데이터, 포인트 클라우드 비디오 데이터, 포인트 클라우드 이미지 데이터 등으로 지칭될 수 있다.
실시예들에 따른 포인트 클라우드 데이터 전송 장치(Transmission device, 10000)는 포인트 클라우드 비디오 획득부(Point Cloud Video Acquisition unit, 10001), 포인트 클라우드 비디오 인코더(Point Cloud Video Encoder, 10002), 파일/세그먼트 인캡슐레이션부(10003) 및/또는 트랜스미터(Transmitter (or Communication module), 10004)를 포함한다. 실시예들에 따른 전송 장치는 포인트 클라우드 비디오(또는 포인트 클라우드 콘텐트)를 확보하고 처리하여 전송할 수 있다. 실시예들에 따라, 전송 장치는 도 1 내지 도 7에서 설명한 고정국(fixed station), BS, UE, BTS(base transceiver system), 네트워크, AI(Artificial Intelligence) 기기 및/또는 시스템, 로봇, AR/VR/XR 기기 및/또는 서버 등을 포함할 수 있다. 또한 실시예들에 따라 전송 장치(10000)는 무선 접속 기술(예, 5G NR(New RAT), LTE(Long Term Evolution))을 이용하여, 기지국 및/또는 다른 무선 기기와 통신을 수행하는 기기, 로봇, 차량, AR/VR/XR 기기, 휴대기기, 가전, IoT(Internet of Thing)기기, AI 기기/서버 등을 포함할 수 있다.
실시예들에 따른 포인트 클라우드 비디오 획득부(Point Cloud Video Acquisition unit, 10001)는 Point Cloud 비디오의 캡처, 합성 또는 생성 과정 등을 통해 포인트 클라우드 비디오를 획득한다.
실시예들에 따른 포인트 클라우드 비디오 인코더(Point Cloud Video Encoder, 10002)는 포인트 클라우드 비디오 획득부(10001)에서 획득된 포인트 클라우드 비디오 데이터를 인코딩한다. 실시예들에 따라, 포인트 클라우드 비디오 인코더(10002)는 포인트 클라우드 인코더, 포인트 클라우드 데이터 인코더, 인코더 등으로 지칭될 수 있다. 또한 실시예들에 따른 포인트 클라우드 컴프레션 코딩(인코딩)은 상술한 실시예에 국한되는 것은 아니다. 포인트 클라우드 비디오 인코더(10002)는 인코딩된 포인트 클라우드 비디오 데이터를 포함하는 비트스트림을 출력할 수 있다. 비트스트림은 인코딩된 포인트 클라우드 비디오 데이터뿐만 아니라, 포인트 클라우드 비디오 데이터의 인코딩과 관련된 시그널링 정보를 포함할 수 있다.
실시예들에 따른 포인트 클라우드 비디오 인코더(10002)는 V-PCC 인코딩 방식을 지원할 수 있다. 또한, 포인트 클라우드 비디오 인코더(10002)는 포인트 클라우드 (포인트 클라우드 데이터 또는 포인트들을 모두 지칭함) 및/또는 포인트 클라우드에 관한 시그널링 데이터를 인코딩할 수 있다.
실시예들에 따른 포인트 클라우드 비디오 인코더(10002)는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다. V-PCC 절차에 기반하는 경우 포인트 클라우드 비디오 인코더(10002)는 포인트 클라우드 비디오를 후술하는 바와 같이 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오, 그리고 부가 정보(auxiliary information)로 나누어 인코딩할 수 있다. 지오메트리 비디오는 지오메트리 이미지를 포함할 수 있고, 어트리뷰트(attribute) 비디오는 어트리뷰트 이미지를 포함할 수 있고, 어큐판시(occupancy) 맵 비디오는 어큐판시 맵 이미지를 포함할 수 있다. 부가 정보(또는 부가 데이터라 함)는 부가 패치 정보(auxiliary patch information)를 포함할 수 있다. 어트리뷰트 비디오/이미지는 텍스쳐 비디오/이미지를 포함할 수 있다.
실시예들에 따른 인캡슐레이션부(file/segment encapsulation module, 10003)는 인코딩된 포인트 클라우드 비디오 데이터 및/또는 포인트 클라우드 비디오 관련 메타데이터(또는 시그널링 데이터라 칭함)를 파일 등의 형태로 인캡슐레이션할 수 있다. 여기서 Point cloud 비디오 관련 메타데이터는 메타데이터 처리부 등으로부터 전달받은 것일 수 있다. 메타데이터 처리부는 point cloud 비디오 인코더(10002)에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 인캡슐레이션부(10003)는 해당 데이터들을 ISOBMFF 등의 파일 포맷으로 인캡슐레이션하거나, 기타 DASH 세그먼트 등의 형태로 처리할 수 있다. 인캡슐레이션부(10003)는 실시예에 따라 Point cloud 비디오 관련 메타 데이터를 파일 포맷 상에 포함시킬 수 있다. Point cloud 비디오 관련 메타데이터는 예를 들어 ISOBMFF 파일 포맷 상의 다양한 레벨의 박스(box)에 포함되거나 파일 내에서 별도의 트랙내의 데이터로 포함될 수 있다. 실시예에 따라, 인캡슐레이션부(10003)는 Point cloud 비디오 관련 메타데이터 자체를 파일로 인캡슐레이션할 수 있다.
실시예에 따라 전송 처리부는 Point cloud 비디오 데이터 뿐 아니라, 메타데이터 처리부로부터 Point cloud 비디오관련 메타 데이터를 전달받아, 이것에 전송을 위한 처리를 가할 수도 있다.
실시예들에 따른 트랜스미터(Transmitter (or Communication module), 10004)는 인코딩된 포인트 클라우드 비디오 데이터 및/또는 포인트 클라우드 비디오 관련 메타데이터를 비트스트림의 형태로 전송할 수 있다. 실시예들에 따라 파일 또는 세그먼트는 네트워크를 통해 수신 장치로 전송되거나, 디지털 저장매체(예를 들면 USB, SD, CD, DVD, 블루레이, HDD, SSD 등)에 저장될 수 있다. 실시예들에 따른 트랜스미터는 수신 장치 (또는 리시버(Receiver)와 4G, 5G, 6G 등의 네트워크를 통해 유/무선 통신 가능하다. 또한 트랜스미터(10004)는 네트워크 시스템(예를 들면 4G, 5G, 6G 등의 통신 네트워크 시스템)에 따라 필요한 데이터 처리 동작을 수행할 수 있다. 또한 전송 장치는 온 디맨드(On Demand) 방식에 따라 인캡슐레이션된 데이터를 전송할 수도 있다.
실시예들에 따른 포인트 클라우드 데이터 수신 장치(Reception device, 10005)는 리시버(Receiver, 10006), 파일/세그먼트 디캡슐레이션부(10007), 포인트 클라우드 비디오 디코더(Point Cloud video Decoder, 10008), 및/또는 랜더러(Renderer, 10009)를 포함한다. 실시예들에 따라 수신 장치는 도 1 내지 도 7에서 설명한 무선 접속 기술(예, 5G NR(New RAT), LTE(Long Term Evolution))을 이용하여, 기지국 및/또는 다른 무선 기기와 통신을 수행하는 기기, 로봇, 차량, AR/VR/XR 기기, 휴대기기, 가전, IoT(Internet of Thing)기기, AI 기기/서버 등을 포함할 수 있다.
실시예들에 따른 리시버(Receiver, 10006)는 포인트 클라우드 비디오 데이터를 포함하는 비트스트림을 수신한다. 실시예들에 따른 리시버(10006)는 전송되는 채널에 따라 방송망을 통하여 포인트 클라우드 비디오 데이터를 수신할 수도 있고, 브로드밴드를 통하여 포인트 클라우드 비디오 데이터를 수신할 수도 있다. 혹은 디지털 저장 매체를 통하여 포인트 클라우드 비디오 데이터를 수신할 수도 있다. 실시예들에 따라 리시버(10006)는 피드백 정보(Feedback Information)을 포인트 클라우드 데이터 전송 장치(10000)에 전송할 수 있다.
실시예들에 따라 리시버(10006)는 수신된 포인트 클라우드 비디오 데이터를 파일/세그먼트 디캡슐레이션부(10007)로 전달하고, 포인트 클라우드 비디오 관련 메타데이터는 메타데이터 처리부(도시되지 않음)로 전달할 수 있다. 상기 포인트 클라우드 비디오 관련 메타데이터는 시그널링 테이블의 형태일 수 있다.
실시예들에 따른 파일/세그먼트 디캡슐레이션부(File/Segment Decapsulation module, 10007)은 포인트 클라우드 데이터를 포함하는 파일 및/또는 세그먼트를 디캡슐레이션한다.
실시예들에 따른 파일/세그먼트 디캡슐레이션 처리부(10007)는 ISOBMFF 등에 따른 파일들을 디캡슐레이션하여, 포인트 클라우드 비디오 비트스트림 내지 포인트 클라우드 비디오 관련 메타데이터(메타데이터 비트스트림)를 획득할 수 있다. 획득된 포인트 클라우드 비디오 비트스트림은 point cloud 비디오 디코더(10008)로, 획득된 point cloud 비디오 관련 메타데이터(메타데이터 비트스트림)는 메타데이터 처리부(도시되지 않음)로 전달할 수 있다. 포인트 클라우드 비디오 비트스트림은 메타데이터(메타데이터 비트스트림)를 포함할 수도 있다. 메타데이터 처리부는 point cloud 비디오 디코더(10008)에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 파일/세그먼트 디캡슐레이션 처리부(10007)가 획득하는 point cloud 비디오 관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 파일/세그먼트 디캡슐레이션 처리부(10007)는 필요한 경우 메타데이터 처리부로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다. point cloud 비디오 관련 메타데이터는 point cloud 비디오 디코더(10008)에 전달되어 point cloud 비디오 디코딩 절차에 사용될 수도 있고, 또는 랜더러(10009)에 전달되어 point cloud 비디오 랜더링 절차에 사용될 수도 있다.
Point Cloud 비디오 디코더(10008)는 비트스트림을 입력받아 Point Cloud 비디오 인코더의 동작에 대응하는 동작을 수행하여 비디오/영상을 디코딩할 수 있다. 이 경우 Point Cloud 비디오 디코더(10008)는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오, 그리고 부가 정보(auxiliary information)으로 나누어 디코딩할 수 있다. 지오메트리 비디오는 지오메트리 이미지를 포함할 수 있고, 어트리뷰트(attribute) 비디오는 어트리뷰트 이미지를 포함할 수 있고, 어큐판시(occupancy) 맵 비디오는 어큐판시 맵 이미지를 포함할 수 있다. 부가 정보는 부가 패치 정보(auxiliary patch information)를 포함할 수 있다. 어트리뷰트 비디오/이미지는 텍스쳐 비디오/이미지를 포함할 수 있다.
디코딩된 지오메트리 이미지와 어큐판시 맵 및 부가 패치 정보를 이용하여 3D 지오메트리가 복원되며 이후 스무딩 과정을 거칠 수 있다. 스무딩된 3D 지오메트리에 텍스처 이미지를 이용하여 컬러값을 부여함으로써 컬러 포인트 클라우드 영상/픽처가 복원될 수 있다.
랜더러(10009)는 복원된 지오메트리, 컬러 포인트 클라우드 영상/픽처를 랜더링할 수 있다. 랜더링된 비디오/영상은 디스플레이부(도시되지 않음)를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 랜더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.
실시예들에 따라 랜더러(10009)는 수신단 측에서 획득된 피드백 정보를 포인트 클라우드 비디오 디코더(10008)에 전송할 수 있다. 실시예들에 따른 포인트 클라우드 비디오 데이터는 피드백 정보를 리시버(10006)에 전송할 수 있다. 실시예들에 따라 포인트 클라우드 전송 장치가 수신한 피드백 정보는 포인트 클라우드 비디오 인코더(10002)에 제공될 수 있다.
도면에 점선으로 표시된 화살표는 수신 장치(10005)에서 획득한 피드백 정보(feedback information)의 전송 경로를 나타낸다. 피드백 정보는 포인트 클라우드 콘텐트를 소비하는 사용자와의 인터랙티비를 반영하기 위한 정보로서, 사용자의 정보(예를 들면 헤드 오리엔테이션 정보), 뷰포트(Viewport) 정보 등)을 포함한다. 특히 포인트 클라우드 콘텐트가 사용자와의 상호 작용이 필요한 서비스(예를 들면 자율주행 서비스 등)를 위한 콘텐트인 경우, 피드백 정보는 콘텐트 송신측(예를 들면 전송 장치(10000)) 및/또는 서비스 프로바이더에게 전달될 수 있다. 실시예들에 따라 피드백 정보는 전송 장치(10000) 뿐만 아니라 수신 장치(10005)에서도 사용될 수 있으며, 제공되지 않을 수도 있다.
실시예들에 따른 헤드 오리엔테이션 정보는 사용자의 머리 위치, 방향, 각도, 움직임 등에 대한 정보이다. 실시예들에 따른 수신 장치(10005)는 헤드 오리엔테이션 정보를 기반으로 뷰포트 정보를 계산할 수 있다. 뷰포트 정보는 사용자가 바라보고 있는 포인트 클라우드 비디오의 영역에 대한 정보이다. 시점(viewpoint or orientation)은 사용자가 포인트 클라우드 비디오를 보고 있는 점으로 뷰포트 영역의 정중앙 지점을 의미할 수 있다. 즉, 뷰포트는 시점을 중심으로 한 영역으로서, 영역의 크기, 형태 등은 FOV(Field Of View) 에 의해 결정될 수 있다. 다시 말해, 가상 카메라 또는 사용자의 위치와 시점((viewpoint or orientation)에 따라 뷰포트가 결정되고, 포인트 클라우드 데이터는 뷰포트 정보를 기반으로 상기 뷰포트에서 랜더링된다. 따라서 수신 장치(10005)는 헤드 오리엔테이션 정보 외에 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV 등을 기반으로 뷰포트 정보를 추출할 수 있다. 또한 수신 장치(10005)는 게이즈 분석 (Gaze Analysis) 등을 수행하여 사용자의 포인트 클라우드 소비 방식, 사용자가 응시하는 포인트 클라우드 비디오 영역, 응시 시간 등을 확인한다. 실시예들에 따라 수신 장치(10005)는 게이즈 분석 결과를 포함하는 피드백 정보를 송신 장치(10000)로 전송할 수 있다. 실시예들에 따른 피드백 정보는 랜더링 및/또는 디스플레이 과정에서 획득될 수 있다. 실시예들에 따른 피드백 정보는 수신 장치(10005)에 포함된 하나 또는 그 이상의 센서들에 의해 확보될 수 있다. 또한 실시예들에 따라 피드백 정보는 랜더러(10009) 또는 별도의 외부 엘레멘트(또는 디바이스, 컴포넌트 등)에 의해 확보될 수 있다. 도8의 점선은 랜더러(10009)에서 확보한 피드백 정보의 전달 과정을 나타낸다. 포인트 클라우드 콘텐트 제공 시스템은 피드백 정보를 기반으로 포인트 클라우드 데이터를 처리(인코딩/디코딩)할 수 있다. 따라서 포인트 클라우드 비디오 데이터 디코더(10008)는 피드백 정보를 기반으로 디코딩 동작을 수행할 수 있다. 또한 수신 장치(10005)는 피드백 정보를 전송 장치로 전송할 수 있다. 전송 장치(또는 포인트 클라우드 비디오 인코더(10002))는 피드백 정보를 기반으로 인코딩 동작을 수행할 수 있다. 따라서 포인트 클라우드 콘텐트 제공 시스템은 모든 포인트 클라우드 데이터를 처리(인코딩/디코딩)하지 않고, 피드백 정보를 기반으로 필요한 데이터(예를 들면 사용자의 헤드 위치에 대응하는 포인트 클라우드 데이터)를 효율적으로 처리하고, 사용자에게 포인트 클라우드 콘텐트를 제공할 수 있다.
실시예들에 따라, 송신 장치(10000)는 인코더, 전송 디바이스, 전송기 등으로 호칭될 수 있으며, 수신 장치(10005)는 디코더, 수신 디바이스, 수신기 등으로 호칭될 수 있다.
실시예들에 따른 도 8 의 포인트 클라우드 처리 시스템에서 처리되는 (획득/인코딩/전송/디코딩/랜더링의 일련의 과정으로 처리되는) 포인트 클라우드 데이터는 포인트 클라우드 콘텐트 데이터 또는 포인트 클라우드 비디오 데이터라고 호칭할 수 있다. 실시예들에 따라 포인트 클라우드 콘텐트 데이터는 포인트 클라우드 데이터와 관련된 메타데이터 내지 시그널링 정보를 포함하는 개념으로 사용될 수 있다.
도 8에 도시된 포인트 클라우드 처리 시스템의 엘리먼트들은 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 결합등으로 구현될 수 있다.
실시예들은 사용자에게 VR (Virtual Reality, 가상현실), AR (Augmented Reality, 증강현실), MR (Mixed Reality, 혼합현실), 및 자율 주행 서비스 등 다양한 서비스를 제공하기 위하여 포인트 클라우드(Point Cloud) 콘텐츠를 제공할 수 있다.
실시예들에 따른 방법/장치는 포인트 클라우드 데이터 송신 장치 및/또는 포인트 클라우드 데이터 수신 장치를 나타낸다.
도 9는 실시예들에 따른 포인트 클라우드 및 지오메트리, 텍스쳐 이미지의 예시를 나타낸다.
실시예들에 따른 포인트 클라우드는 후술할 도 10의 V-PCC 인코딩 프로세스에 입력되어 지오메트리 이미지, 텍스쳐 이미지가 생성될 수 있다. 실시예들에 따라, 포인트 클라우드는 포인트 클라우드 데이터와 동일한 의미로 사용될 수 있다.
도 9에서 좌측 그림은 포인트 클라우드로서, 3D 공간 상에 포인트 클라우드 오브젝트가 위치하고, 이를 바운딩 박스 등으로 나타낼 수 있는 포인트 클라우드를 나타낸다. 도 9의 중간 그림은 지오메트리 이미지를 나타내고, 우측 그림은 텍스쳐 이미지(논-패딩)를 나타낸다. 본 명세서는 지오메트리 이미지를 지오메트리 패치 프레임/픽쳐 또는 지오메트리 프레임/픽쳐라 칭하기도 한다. 그리고 텍스쳐 이미지를 어트리뷰트 패치 프레임/픽쳐 또는 어트리뷰트 프레임/픽쳐라 칭하기도 한다.
비디오 베이스 포인트 클라우드 컴프레션 (Video-based Point Cloud Compression, V-PCC)는 HEVC (Efficiency Video Coding), VVC (Versatile Video Coding) 등의 2D video codec을 기반으로 3D point cloud 데이터를 압축하는 방법이다. V-PCC 압축 과정에서 다음과 같은 데이터 및 정보들이 생성될 수 있다.
어큐판시 맵(occupancy map): point cloud를 이루는 점들을 패치(patch)로 나누어 2D 평면에 맵핑할 때 2D 평면의 해당 위치에 데이터가 존재하는지 여부를 0 또는 1의 값으로 알려주는 2진 맵 (binary map) 을 나타낸다. 어큐판시 맵(occupancy map)은 아틀라스에 대응하는 2D어레이를 나타내고, 어큐판시 맵의 값은 아틀라스 내 각 샘플 포지션이 3D포인트에 대응하는지 여부를 나타낼 수 있다. 아틀라스(ATLAS)란, 각 포인트 클라우드 프레임에 대한 2D 패치들에 관한 정보를 포함하는 대상을 의미한다. 예를 들어, 아틀라스는 패치들의 2D 배치 및 사이즈, 3D 포인트 내 대응하는 3D 리젼의 포지션, 프로젝션 플렌, 레벨 오브 디테일(LoD) 파라미터 등이 있을 수 있다.
패치(patch): point cloud를 구성하는 점들의 집합으로, 같은 patch에 속하는 점들은 3D 공간상에서 서로 인접해 있으며 2D 이미지로의 맵핑 과정에서 6면의 bounding box 평면 중 같은 방향으로 맵핑됨을 나타낸다.
지오메트리 이미지(geometry image): point cloud를 이루는 각 점들의 위치 정보 (geometry)를 patch 단위로 표현하는 depth map 형태의 이미지를 나타낸다. 지오메트리 이미지는1 채널의 픽셀 값으로 구성될 수 있다. 지오메트리(geometry)는 포인트 클라우드 프레임에 연관된 좌표들의 세트를 나타낸다.
텍스쳐 이미지(texture image): point cloud를 이루는 각 점들의 색상 정보를 patch 단위로 표현하는 image를 나타낸다. 텍스쳐 이미지는 복수 채널의 픽셀 값 (e.g. 3채널 R, G, B)으로 구성될 수 있다. 텍스쳐는 어트리뷰트에 포함된다. 실시예들에 따라서, 텍스쳐 및/또는 어트리뷰트는 동일한 대상 및/또는 포함관계로 해석될 수 있다.
부가 패치 정보(auxiliary patch info): 개별 patch들로부터 point cloud를 재구성하기 위해 필요한 메타 데이터를 나타낸다. 부가 패치 정보는 patch의 2D/3D 공간에서의 위치, 크기 등에 대한 정보를 포함할 수 있다.
실시예들에 따른 포인트 클라우드 데이터, 예를 들어 V-PCC 컴포넌트들은 아틀라스, 어큐판시 맵, 지오메트리, 어트리뷰트 등을 포함할 수 있다.
아틀라스(atlas)는 2D바운딩 박스들의 집합을 나타낸다. 패치들의 그룹, 예를 들어, rectangular 프레임에 프로젝션된 패치들일 수 있다. 또한, 3D공간에서 3D 바운딩 박스에 대응할 수 있고, 포인트 클라우드의 서브세트를 나타낼 수 있다(atlas represents a collection of 2D bounding boxes, i.e. patches, projected into a rectangular frame that correspond to a 3-dimensional bounding box in 3D space, which may represent a subset of a point cloud). 이 경우, 패치는 평면 프로젝션(planar projection) 내 직사각형 영역(rectangular region)에 해당하는 아틀라스 내 직사각형 영역(rectangular region)을 나타낼 수 있다. 그리고, 패치 데이터는 2D에서 3D까지 아틀라스에 포함되는 패치들의 변환(transformation)을 수행할 필요가 있는 데이터를 나타낼 수 있다. 이에 더하여, 패치 데이터 그룹은 아틀라스라 칭하기도 한다.
어트리뷰트(attribute)는 포인트 클라우드 내 각 포인트와 연관된 scalar 또는 vector를 나타내고, 예를 들어, 컬러(colour), 리플렉턴스(reflectance), 서페이스 노멀(surface normal), 타임 스탬프(time stamps), 머터리얼ID(material ID) 등이 있을 수 있다.
도 10은 실시예들에 따른 포인트 클라우드 비디오 인코더의 예시를 나타낸다.
도 10은 어큐판시 맵(occupancy map), 지오메트리 이미지(geometry image), 텍스쳐 이미지(texture image), 부가 패치 정보(auxiliary patch information)를 생성하고 압축하기 위한 V-PCC encoding process를 도시하고 있다. 도10의 V-PCC 인코딩 프로세스는 도8의 포인트 클라우드 비디오 인코더(10002)에 의해 처리될 수 있다. 도10의 각 구성요소는 소프트웨어, 하드웨어, 프로세서 및/또는 그것들의 조합에 의해 수행될 수 있다.
패치 제너레이션(patch generation, 또는 패치 제너레이션부, 14000)은 입력되는 포인트 클라우드 데이터로부터 하나 이상의 패치를 생성한다. 또한, 패치 생성에 관한 정보를 포함하는 패치 정보를 생성한다.
실시예들에 따른 패치 제너레이션부(14000)는 포인트 클라우드 데이터로부터 패치를 생성하는 과정에서 바운딩 박스를 이용할 수 있다.
도 11은 실시예들에 따른 포인트 클라우드의 바운딩 박스(bounding box)의 예시를 나타낸다.
실시예들에 따른 바운딩 박스란, 포인트 클라우드 데이터를 3D 공간 상에서 육면체에 기반하여 분할하는 단위의 박스를 말한다.
바운딩 박스는 포인트 클라우드 데이터의 대상이 되는 포인트 클라우드 오브젝트를 3D 공간 상의 육면체에 기반하여 각 육면체의 평면에 프로젝션하는 과정에서 이용될 수 있다. 바운딩 박스는 도1의 포인트 클라우드 비디오 획득부(10001), 포인트 클라우드 비디오 인코더(10002)에 의해 생성되고 처리될 수 있다. 또한, 바운딩 박스에 기반하여, 도10의 V-PCC 인코딩 프로세스의 패치 제너레이션(14000), 패치 패킹(14001), 지오메트리 이미지 제너레이션(14002), 텍스쳐 이미지 제너레이션(14003)이 수행될 수 있다.
실시예들에 따른 패치 생성 과정은 point cloud를 2D 이미지에 맵핑 (mapping)하기 위하여, 맵핑을 수행하는 단위인 패치로 포인트 클라우드 (즉, 포인트 클라우드 데이터)를 분할하는 과정을 의미한다. 패치 생성 과정은 normal(법선) 벡터 값 계산, segmentation, patch 분할의 세 단계로 구분될 수 있다.
즉, Point cloud를 이루는 각 점(예를 들어, 포인트)들은 고유의 방향을 가지고 있는데 이것은 normal(법선)이라는 3차원 vector로 표현된다. K-D tree 등을 이용하여 구해지는 각 점들의 인접점들 (neighbors)을 이용하여, point cloud의 surface를 이루는 각 점들의 tangent plane 및 normal vector를 구할 수 있다.
그리고, 패치 제너레이션 관련하여 세그멘테이션(Segmentation)은 initial segmentation과 refine segmentation의 두 과정으로 이루어 진다.
즉, Point cloud를 이루는 각 점들은 도 6과 같이 point cloud를 감싸는 6개의 bounding box의 면들 중 하나의 면에 projection되는데, initial segmentation은 각 점들이 projection될 bounding box의 평면들 중 하나를 결정하는 과정이다. Refine segmentation은 앞서 initial segmentation 과정에서 결정된 point cloud를 이루는 각 점의projection 평면을 인접 점들의 projection 평면을 고려하여 개선하는 과정이다.
또한, 패치 제너레이션 관련하여 Patch 분할 (segment patches)은 상기 initial/refine segmentation 과정에서 얻은 point cloud를 이루는 각 점들의 projection 평면 정보를 바탕으로, 전체 point cloud를 인접한 점들의 집합인 patch로 나누는 과정이다. Patch 분할은 다음과 같은 단계들로 구성될 수 있다.
① K-D tree 등을 이용하여 point cloud를 이루는 각 점들의 인접 점들을 산출한다. 최대 인접점의 개수는 사용자에 의해 정의될 수 있다.
② 인접 점들이 현재의 점과 동일한 평면에 projection 될 경우 (동일한 cluster index 값을 가질 경우) 현재의 점과 해당 인접 점들을 하나의 patch로 추출한다.
③ 추출된 patch의 geometry 값들을 산출한다.
④ 추출되지 않은 점들이 없어질 때까지 ②③과정을 반복한다.
Patch 분할 과정을 통해 각 patch의 크기 및 patch별 occupancy map, geometry image, texture image 등이 결정된다.
패치 패킹(patch packing, 또는 패치 패킹부, 14001)은 상기 패치 제너레이션부(14000)에서 생성된 하나 또는 하나 이상의 패치들을 2D 평면 (또는 2D 프레임)에 패킹한다. 또한, 패치 패킹에 관한 정보를 포함하는 어큐판시 맵을 생성한다.
상기 패치 패킹은 상기 패치 제너레이션부(14000)에서 분할된 patch들을 하나의 2D 이미지에 맵핑하기 위해 개별 patch들의 2D 이미지 내에서의 위치를 결정하는 과정이다. Occupancy map은 2D 이미지의 하나로, 해당 위치에 데이터가 존재하는지 여부를 0 또는 1의 값으로 알려주는 binary map이다. Occupancy map은 block으로 이루어 지며 block의 크기에 따라 그 해상도가 결정될 수 있는데, 일례로 block 크기가 1*1일 경우 픽셀 (pixel) 단위의 해상도를 갖는다. Block의 크기 (occupancy packing block size)는 사용자에 의해 결정될 수 있다.
지오메트리 이미지 제너레이션(geometry image generation 또는 지오메트리 이미지 제너레이션부, 14002)은 포인트 클라우드 데이터, 패치 정보(또는 부가 패치 정보), 및/또는 어큐판시 맵 정보에 기반하여 지오메트리 이미지를 생성한다. 지오메트리 이미지는 포인트 클라우드 데이터에 관한 지오메트리를 포함하는 데이터(즉, 포인트들의 3D 좌표값)를 말하며, 지오메트리 프레임이라 칭하기도 한다.
텍스쳐 이미지 제너레이션(texture image generation 또는 텍스쳐 이미지 제너레이션부, 14003)은 포인트 클라우드 데이터, 패치, 패킹된 패치, 패치 정보(또는 부가 패치 정보), 및/또는 스무드된 지오메트리에 기반하여 텍스쳐 이미지를 생성한다. 텍스처 이미지는 어트리뷰트 프레임이라 칭하기도 한다. 또한, 재구성된(리컨스트럭션된) 지오메트리 이미지를 패치 정보에 기반하여 스무딩(번호)이 스무딩 처리를 하여 생성된 스무딩된 지오메트리에 더 기초하여, 텍스쳐 이미지를 생성할 수 있다.
스무딩(smoothing 또는 스무딩부, 14004)은 이미지 데이터에 포함된 에러를 완화 또는 제거할 수 있다. 예를 들어, 재구성된(reconstructed) 지오메트리 이미지들을 패치 정보에 기반하여 스무딩 처리 즉, 데이터 간 에러를 유발할 수 있는 부분을 부드럽게 필터링하여 스무드된 지오메트리를 생성할 수 있다. 스무드된 지오메트리는 텍스쳐 이미지 제너레이션부(14003)로 출력된다.
부가 패치 정보 컴프레션(auxiliary patch info compression 또는 부가 패치 정보 컴프레션부, 14005)은 패치 생성 과정에서 생성된 패치 정보와 관련된 부가적인(auxiliary) 패치 정보를 컴프레션한다. 또한, 부가 패치 정보 컴프레션부(14005)에서 컴프레스된 부가 패치 정보는 멀티플레서(14013)로 전달된다. 지오메트리 이미지 제너레이션부(14002)는 지오메트리 이미지를 생성할 때 부가 패치 정보를 이용할 수 있다.
즉, 부가 패치 정보 컴프레션부(14005)는 앞서 설명한 patch generation, patch packing, geometry generation 과정 등에서 생성된 부가 patch 정보들을 압축한다. 부가 patch 정보에는 다음과 같은 파라미터들이 포함될 수 있다:
프로젝션 (projection) 평면 (normal)을 식별하는 인덱스 (클러스터 인덱스, cluster index)
패치의 3D 공간 위치: 패치의 탄젠트 방향 최소값 (patch 3d shift tangent axis), 패치의 바이탄젠트(bitangent) 방향 최소값 (patch 3d shift bitangent axis), 패치의 노멀 방향 최소값 (patch 3d shift normal axis)
패치의 2D 공간 위치, 크기: 수평 방향 크기 (patch 2d size u), 수직 방향 크기 (patch 2d size v), 수평 방향 최소값 (patch 2d shift u), 수직 방향 최소값 (patch 2d shift u)
각 블록과 패치의 맵핑 정보: candidate index (위의 patch의 2D 공간 위치, 크기 정보를 기반으로 patch를 순서대로 위치시켰을 때, 한 block에 중복으로 복수 patch가 맵핑될 수 있음. 이때 맵핑되는 patch들이 candidate list를 구성하며, 이 list 중 몇 번째 patch의 data가 해당 block에 존재하는지를 나타내는 index), local patch index (frame에 존재하는 전체 patch들 중 하나를 가리키는 index). Table 1은 candidate list와 local patch index를 이용한 block과 patch match 과정을 나타내는 pseudo code이다.
이미지 패딩(image padding 또는 이미지 패딩부, 14006, 14007)은 지오메트리 이미지 및 텍스쳐 이미지를 각각 패딩할 수 있다. 즉, 패딩 데이터가 지오메트리 이미지 및 텍스쳐 이미지에 패딩될 수 있다.
그룹 딜레이션(group dilation 또는 그룹 딜레이션부, 14008)은 이미지 패딩과 유사하게, 텍스쳐 이미지에 데이터를 부가할 수 있다. 부가 패치 정보가 텍스쳐 이미지에 삽입될 수 있다.
비디오 컴프레션(video compression 또는 비디오 컴프레션부, 14009, 14010, 14011)은 HEVC, VVC 등의 2D video codec 등을 이용하여, 패딩된 지오메트리 이미지, 패딩된 텍스쳐 이미지 및/또는 어큐판시 맵 이미지를 각각 컴프레션할 수 있다. 다시 말해, 비디오 컴프레션부(14009, 14010, 14011)는 입력되는 지오메트리 프레임, 어트리뷰트 프레임 및/또는 어큐판시 맵 프레임을 각각 컴프레션하여 지오메트리의 비디오 비트스트림, 텍스쳐 이미지의 비디오 비트스트림, 어큐판시 맵의 비디오 비트스트림으로 출력할 수 있다. 비디오 컴프레션은 지오메트리 정보, 텍스쳐 정보, 어큐판시 정보 등을 인코딩할 수 있다.
엔트로피 컴프레션(entropy compression 또는 엔트로피 컴프레션부, 14012)는 어큐판시 맵을 엔트로피 방식에 기반하여 컴프레션할 수 있다.
실시예들에 따라, 포인트 클라우드 데이터가 로스리스(lossless)한 경우 및/또는 로시(lossy)한 경우에 따라서, 어큐판시 맵 프레임에 대해 엔트로피 컴프레션(14012) 및/또는 비디오 컴프레션(14011)이 수행될 수 있다.
멀티플렉서(multiplexer, 14013)는 각 컴프레션부에서 컴프레스된 지오메트리의 비디오 비트스트림, 컴프레스된 텍스쳐 이미지의 비디오 비트스트림, 컴프레스된 어큐판시 맵의 비디오 비트스트림, 컴프레스된 부가 패치 정보의 비트스트림을 하나의 비트스트림으로 멀티플렉싱한다.
전술한 블록들은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록들에 의해 대체될 수 있다. 또한 도 10에 도시된 각 블록들은 프로세서, 소프트웨어, 하드웨어 중 적어도 하나로서 동작할 수 있다.
도 12는 실시예들에 따른 포인트 클라우드 비디오 디코더의 예시를 나타낸다.
도 12는 컴프레스된 occupancy map, geometry image, texture image, auxiliary path information를 디컴프레스(또는 decoding)하여 point cloud를 재구성하기 위한 V-PCC의 decoding process를 도시하고 있다. 도12의 V-PCC 디코딩 프로세스는 도 8의 포인트 클라우드 비디오 디코더(10008)에 의해 처리될 수 있다. 도 12의 V-PCC 디코딩 프로세스 또는 V-PCC 디코더는 도10의 V-PCC 인코딩 프로세스(또는 인코더)의 역과정을 따를 수 있다.
도12의 각 구성요소는 소프트웨어, 하드웨어, 프로세서 및/또는 그것들의 조합에 의해 수행될 수 있다.
디멀티플렉서(demultiplexer, 16000)는 컴프레스된 비트스트림을 디멀티플렉싱하여 컴프레스된 텍스쳐 이미지, 컴프레스된 지오메트리 이미지, 컴프레스된 어큐판시 맵 이미지, 컴프레스된 부가 패치 정보를 각각 출력한다.
비디오 디컴프레션(video decompression 또는 비디오 디컴프레션부, 16001, 16002)은 컴프레스된 텍스쳐 이미지 및 컴프레스된 지오메트리 이미지 각각을 디컴프레션한다. 즉, 비디오 디컴프레션은 HEVC, VVC 등의 2D 비디오 코덱을 이용하여, 앞서 설명한 과정으로 생성된 geometry image의 비트스트림, 컴프레스된 texture image의 비트스트림 및/또는 컴프레스된 occupancy map image의 비트스트림을 video compression의 역과정을 수행하여 디코딩하는 과정이다.
어큐판시 맵 디컴프레션(occupancy map decompression 또는 어큐판시 맵 디컴프레션부, 16003)은 컴프레스된 어큐판시 맵 이미지를 디컴프레션한다. 즉, 어큐판시 맵 디컴프레션은 송신측의 occupancy map compression의 역과정으로, 압축된 occupancy map bitstream을 디코딩하여 occupancy map을 복원하기 위한 과정이다.
부가 패치 정보 디컴프레션(auxiliary patch information decompression 또는 부가 패치 정보 디컴프레션부, 16004)은 컴프레스된 부가 패치 정보를 디컴프레션한다. 즉, 부가 패치 정보 디컴프레션은 송신측의 auxiliary patch information compression의 역과정으로, 압축된 auxiliary patch information bitstream 를 디코딩하여 auxiliary patch information를 복원하기 위한 과정이다.
지오메트리 리컨스트럭션(geometry reconstruction 또는 지오메트리 리컨스트럭션부, 16005)은 디컴프레스된 지오메트리 이미지, 디컴프레스된 어큐판시 맵, 및/또는 디컴프레스된 부가 패치 정보에 기반하여 지오메트리 정보를 복원(재구성)한다. 예를 들어, 인코딩 과정에서 변경된 지오메트리를 리컨스트럭션할 수 있다. 즉, 지오메트리 리컨스트럭션은 송신측의 geometry image generation의 역과정이다. 먼저, 복원된 occupancy map 과 auxiliary patch information에 포함되는 patch의 2D 위치/크기 정보 및 block과 patch의 맵핑 정보를 이용하여 geometry image에서 patch를 추출한다. 이후 추출된 patch의 geometry image와 auxiliary patch information에 포함되는 patch의 3D 위치 정보를 이용하여 point cloud를 3D 공간상에 복원한다.
스무딩(smoothing 또는 스무딩부, 16006)은 재구성된 지오메트리에 대해 스무딩을 적용할 수 있다. 예를 들어, 스무딩 필터링이 적용될 수 있다. 즉, 스무딩은 송신측의 encoding process에서의 smoothing과 동일하며, 압축 과정에서 발생하는 화질의 열화로 인해 patch 경계면에서 발생할 수 있는 불연속성을 제거하기 위한 과정이다.
텍스쳐 리컨스트럭션(texture reconstruction 또는 텍스쳐 리컨스트럭션부, 16007)은 디컴프레스된 텍스쳐 이미지 및/또는 스무딩된 지오메트리로부터 텍스쳐를 재구성한다. Smoothing된 point cloud를 구성하는 각 점들에 color값을 부여하여 color point cloud를 복원하는 과정이다. 즉, 텍스처 리컨스트럭션은 전술한 geometry reconstruction 과정에서 재구성된 geometry image와 point cloud의 맵핑 정보를 이용하여 2D 공간에서 geometry image에서와 동일한 위치의 texture image 픽셀에 해당되는 color 값들을, 3D 공간에서 동일한 위치에 대응되는 point cloud의 점에 부여함으로써 수행될 수 있다.
컬러 스무딩(color smoothing 또는 컬러 스무딩부, 16008)는 재구성된 텍스쳐로부터 컬러 값을 스무딩한다. 예들 들어, 스무딩 필처링이 적용될 수 있다. 실시예들에 따르면, 컬러 스무딩은 앞서 설명한 geometry smoothing의 과정과 유사하며, 압축 과정에서 발생하는 화질의 열화로 인해 patch 경계면에서 발생할 수 있는 color 값들의 불연속성을 제거하기 위한 작업이다.
그 결과, 재구성된 포인트 클라우드 데이터가 생성될 수 있다.
도 13은 실시예들에 따른 V-PCC 기반의 포인트 클라우드 데이터의 압축 및 전송을 위한 송신 장치의 동작 흐름도의 예시를 나타낸다.
실시예들의 따른 송신 장치는 도 8의 송신 장치, 도10의 인코딩 프로세스에 대응하거나 그것들의 동작을 일부/전부 수행할 수 있다. 송신 장치의 각 구성 요소는 소프트웨어, 하드웨어, 프로세서 및/또는 그것들의 조합에 대응할 수 있다.
실시예들의 따른 송신 장치는 도 1 내지 도 7에서 설명한 UE (예를 들면 도 2에서 설명한 프로세서(911) 또는 프로세서(921), 또는 도 6에서 설명한 Sink 또는 Sink에 포함된 XR Media Processing 블록 등) 또는 BS에 포함되거나 UE에 해당할 수 있다.
V-PCC를 이용한 포인트 클라우드 데이터의 압축 및 전송을 위한 송신단의 동작 과정은 도면과 같은 수 있다.
실시예들에 따른 포인트 클라우드 데이터 송신 장치는 송신 장치, 송신 시스템 등으로 지칭될 수 있다.
패치 생성부(18000)는 포인트 클라우드 데이터를 입력받아 포인트 클라우드(point cloud)의 2D 이미지 맵핑을 위한 하나 이상의 패치 (patch)들을 생성한다. 패치 생성의 결과물로 부가 패치 정보가 생성되며, 생성된 부가 패치 정보는 지오메트리 이미지 (geometry image) 생성, 텍스처 이미지 (texture image) 생성, 스무딩 (smoothing) 또는 스무딩을 위한 지오메트리 복원 과정에 사용될 수 있다. 즉, 패치 생성부(18000)는 입력되는 포인트 클라우드를 2D 공간으로 프로젝션(즉, 투영)하여 하나 이상의 패치들을 생성한다. 이때, 부가 패치 정보는 인코딩에 필요한 각 패치의 프로젝션 평면 정보, 패치 크기와 같은 부가 패치 정보를 포함할 수 있다.
패치 패킹부(18001)는 패치 생성부(18000)에서 생성된 패치들을 2D 이미지 안에 맵핑하는 패치 패킹 과정을 수행한다. 예를 들어, 하나 또는 하나 이상의 패치들이 2D 평면(또는 2D 프레임)에 패킹될 수 있다. 패치 패킹의 결과물로 어큐판시 맵 (occupancy map)이 생성되며, 어큐판시 맵은 지오메트리 이미지 생성, 지오메트리 이미지 패딩, 텍스처 이미지 패딩, 및/또는 스무딩을 위한 지오메트리 복원과정에 사용될 수 있다. 즉, 하나 이상의 패치들을 2D 평면에 패킹하면서 지오메트리 이미지 생성부(18002)와 텍스쳐 이미지 생성부(18004)에서는 포인트가 존재하는 픽셀에 대하여 포인트 클라우드의 지오메트리 정보를 저장하는 지오메트리 이미지와 색상(texture) 정보를 저장하는 텍스처 이미지를 각각 생성할 수 있다. 여기서, 어큐판시 맵은 각 픽셀에 대하여 포인트의 존재 유무를 0 또는 1로 나타낸다.
지오메트리 이미지 생성부(18002)는 포인트 클라우드 데이터, 패치 정보(또는 부가 패치 정보), 및/또는 어큐판시 맵을 이용하여 지오메트리 이미지를 생성한다. 생성된 지오메트리 이미지는 인코딩 전처리부(18003)에서 전처리된 후 비디오 인코딩부(18006)에서 하나의 비트스트림 (bitstream)으로 인코딩된다.
인코딩 전처리부(18003)는 이미지 패딩 절차를 포함할 수 있다. 즉, 생성된 지오메트리 이미지와 생성된 텍스쳐 이미지의 일부 공간이 의미없는 데이터로 패딩될 수 있다. 인코딩 전처리부(18003)는 생성된 텍스처 이미지 또는 이미지 패딩이 수행된 텍스쳐 이미지에 대한 그룹 딜레이션(group dilation) 과정을 더 포함할 수 있다.
지오메트리 복원부(18010)는 비디오 인코딩부(18006)에서 인코딩된 지오메트리 비트스트림, 부가 패치 정보, 및/또는 어큐판시 맵을 이용하여 3D 지오메트리 이미지를 재구성(reconstruction)한다.
스무딩부(18009)는 부가 패치 정보를 기반으로 지오메트리 복원부(18010)에서 재구성되어 출력되는 3D 지오메트리 이미지를 스무딩하여 텍스쳐 이미지 생성부(18004)로 출력한다.
텍스처 이미지 생성부(18004)는 스무딩된 3D 지오메트리, 포인트 클라우드 데이터, 패치(또는 패킹된 패치), 패치 정보(또는 부가 패치 정보) 및/또는 어큐판시 맵을 이용하여 텍스처 이미지를 생성할 수 있다. 생성된 텍스처 이미지는 인코딩 전처리부(18003)에서 전처리된 후 비디오 인코딩부(18006)에서 하나의 비디오 비트스트림으로 인코딩될 수 있다.
메타데이터 인코딩부(18005)는 부가 패치 정보를 하나의 메타데이터 비트스트림으로 인코딩할 수 있다.
비디오 인코딩부(18006)는 인코딩 전처리부(18003)에서 출력되는 지오메트리 이미지와 텍스쳐 이미지를 각각의 비디오 비트스트림으로 인코딩하고, 어큐판시 맵을 하나의 비디오 비트스트림으로 인코딩할 수 있다. 비디오 인코딩부(18006)는 각각의 입력 이미지에 대해 2D 비디오/이미지 인코더를 각각 적용하여 인코딩하는 것을 일 실시예로 한다.
실시예들에 따르면, 지오메트리 이미지와 텍스처 이미지는 2D 비디오 코덱을 사용하여 인코딩되고, 부가 패치 정보와 어큐판시 맵은 엔트로피 코딩을 사용하여 인코딩될 수 있다.
다중화부(18007)는 비디오 인코딩부(18006)에서 출력되는 지오메트리의 비디오 비트스트림, 텍스처 이미지의 비디오 비트스트림, 어큐판시 맵의 비디오 비트스트림과 메타데이터 인코딩부(18005)에서 출력되는 메타데이터(부가 패치 정보 포함) 비트스트림을 하나의 비트스트림으로 다중화한다.
송신부(18008)는 다중화부(18007)에서 출력되는 비트스트림을 수신단에 전송한다. 또는 다중화부(18007)와 송신부(18008) 사이에 파일/세그먼트 인캡슐레이션부를 더 구비하여, 다중화부(18007)에서 출력되는 비트스트림을 파일 및/또는 세그먼트 형태로 인캡슐레이션하여 송신부(18008)로 출력할 수도 있다.
도 13의 패치 생성부(18000), 패치 패킹부(18001), 지오메트리 이미지 생성부(18002), 텍스처 이미지 생성부(18004), 메타데이터 인코딩부(18005), 스무딩부(18009)는 도 10의 패치 생성부(14000), 패치 패킹부(14001), 지오메트리 이미지 생성부(14002), 텍스처 이미지 생성부(14003), 부가 패치 정보 컴프레션부(14005), 스무딩부(14004)에 각각 대응할 수 있다. 그리고 도 13의 인코딩 전처리부(18003)는 도 10의 이미지 패딩부(14006, 14007) 및 그룹 딜레이션부(14008)를 포함할 수 있고, 도 13의 비디오 인코딩부(18006)는 도 10의 비디오 컴프레션부(14009, 14010, 14011) 및/또는 엔트로피 컴프레션부(14012)를 포함할 수 있다. 그러므로, 도 13에서 설명되지 않는 부분은 도 10의 설명을 참조하기로 한다. 전술한 블록들은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록들에 의해 대체될 수 있다. 또한 도 18에 도시된 각 블록들은 프로세서, 소프트웨어, 하드웨어 중 적어도 하나로서 동작할 수 있다. 또는 생성된 지오메트리, 텍스처 이미지, 어큐판시 맵의 비디오 비트스트림과 부가 패치 정보 메타데이터 비트스트림은 하나 이상의 트랙 데이터로 파일이 생성되거나 세그먼트로 인캡슐레이션 되어 송신부를 통해 수신단에 전송 될 수 있다.
도 14는 실시예들에 따른 V-PCC 기반의 포인트 클라우드 데이터의 수신 및 복원을 위한 수신 장치의 동작 흐름도의 예시를 나타낸다.
실시예들에 따른 수신 장치는 도8의 수신 장치 및/또는 도12의 디코딩 프로세스에 대응하거나 그것들의 동작을 일부/전부 수행할 수 있다. 수신 장치의 각 구성요소는 소프트웨어, 하드웨어, 프로세서 및/또는 그것들의 조합에 대응할 수 있다.
실시예들에 따른 수신 장치는 도 1 내지 도 7에서 설명한 UE에 해당하거나 UE에 포함될 수 있다(예를 들면 도 2에서 설명한 프로세서(911) 또는 프로세서(921), 상위 계층 데이터를 처리하는 프로세서, 또는 도 6에서 설명한 Sink 또는 Sink에 포함된 XR Media Processing 블록 등).
V-PCC를 이용한 포인트 클라우드 데이터의 수신 및 복원을 위한 수신단의 동작 과정은 도면과 같은 수 있다. V-PCC 수신단의 동작은 도13의 V-PCC 송신단의 동작의 역과정을 따를 수 있다.
실시예들에 따른 포인트 클라우드 데이터 수신 장치는 수신 장치, 수신 시스템 등으로 지칭될 수 있다.
수신부는 포인트 클라우드의 비트스트림(즉, compressed bitstream)을 수신하고, 역다중화부(19000)는 수신된 포인트 클라우드 비트스트림으로부터 텍스쳐 이미지의 비트스트림, 지오메트리 이미지의 비트스트림, 어큐판시 맵 이미지의 비트스트림, 및 메타데이터(즉, 부가 패치 정보)의 비트스트림을 역다중화한다. 역다중화된 텍스쳐 이미지의 비트스트림, 지오메트리 이미지의 비트스트림, 및 어큐판시 맵 이미지의 비트스트림은 비디오 디코딩부(19001)로 출력되고, 메타데이터의 비트스트림은 메타데이터 디코딩부(19002)로 출력된다.
만일 도 13의 송신 장치에 파일/세그먼트 인캡슐레이션부가 구비된다면, 도 14의 수신 장치의 수신부와 역다중화부(19000) 사이에 파일/세그먼트 디캡슐레이션부가 구비되는 것을 일 실시예로 한다. 이 경우, 송신 장치에서는 포인트 클라우드 비트스트림이 파일 및/또는 세그먼트 형태로 인캡슐레이션되어 전송되고, 수신 장치에서는 포인트 클라우드 비트스트림을 포함하는 파일 및/또는 세그먼트를 수신하여 디캡슐레이션하는 것을 일 실시예로 한다.
비디오 디코딩부(19001)는 지오메트리 이미지의 비트스트림, 텍스쳐 이미지의 비트스트림, 어큐판시 맵 이미지의 비트스트림을 지오메트리 이미지, 텍스쳐 이미지, 어큐판시 맵 이미지로 각각 디코딩한다. 비디오 디코딩부(19001)는 각각의 입력 비트스트림에 대해 2D 비디오/이미지 디코더를 각각 적용하여 디코딩하는 것을 일 실시예로 한다. 메타데이터 디코딩부(19002)는 메타데이터의 비트스트림을 부가 패치 정보로 디코딩하여 지오메트리 복원부(19003)로 출력한다.
지오메트리 복원부(19003)는 비디오 디코딩부(19001)와 메타데이터 디코딩부(19002)에서 출력되는 지오메트리 이미지, 어큐판시 맵, 및/또는 부가 패치 정보에 기반하여 3D 지오메트리를 복원(재구성)한다.
스무딩부(19004)는 지오메트리 복원부(19003)에서 재구성된 3D 지오메트리에 대해 스무딩을 적용한다.
텍스쳐 복원부(19005)는 비디오 디코딩부(19001)에서 출력되는 텍스쳐 이미지 및/또는 스무딩된 3D 지오메트리를 이용하여 텍스쳐를 복원한다. 즉, 텍스쳐 복원부(19005)는 텍스쳐 이미지를 이용하여 스무드된 3D 지오메트리에 컬러값을 부여하여 컬러 포인트 클라우드 영상/픽쳐를 복원한다. 이후 객관적/주관적 비주얼 퀄리티 향상을 위하여, 컬러 스무딩부(19006)에서 컬러 포인트 클라우드 영상/픽쳐에 대해 컬러 스무딩 (color smoothing) 과정을 추가적으로 수행할 수 있다. 이를 통하여 도출된 수정된(modified) 포인트 클라우드 영상/픽처는 포인트 클라우드 랜더러(19007)의 랜더링 과정을 거친 후 사용자에게 보여진다. 한편, 컬러 스무딩 과정은 경우에 따라 생략될 수 있다.
전술한 블록들은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록들에 의해 대체될 수 있다. 또한 도 14에 도시된 각 블록들은 프로세서, 소프트웨어, 하드웨어 중 적어도 하나로서 동작할 수 있다.
도 15는 실시예들에 따른 V-PCC 기반 포인트 클라우드 데이터 저장 및 스트리밍을 위한 아키텍쳐의 예시를 나타낸다.
도 15의 시스템의 일부/전부는 도 8의 송수신 장치, 도 10의 인코딩 프로세스, 도 12의 디코딩 프로세스, 도 13의 송신 장치 및/또는 도 14의 수신 장치 등의 일부/전부를 포함할 수 있다. 도면의 각 구성요소는 소프트웨어, 하드웨어, 프로세서 및 그것들의 조합에 대응할 수 있다.
도 15는 Video-based Point Cloud Compression(V-PCC) 를 기반으로 압축되는 point cloud 데이터를 저장 혹은 스트리밍하기 위한 전체 아키텍쳐를 도시한 도면이다. Point cloud 데이터의 저장 및 스트리밍의 과정은 획득 과정, 인코딩 과정, 전송 과정, 디코딩 과정, 랜더링 과정 및/또는 피드백 과정을 포함할 수 있다.
실시예들은 point cloud 미디어/콘텐츠/데이터를 효과적으로 제공하는 방안을 제안한다.
포인트 클라우드 획득부(20000)는 Point cloud 미디어/콘텐츠/데이터를 효과적으로 제공하기 위하여 먼저, point cloud 비디오를 획득한다. 예를 들어 하나 이상의 카메라를 통하여 Point Cloud의 캡처, 합성 또는 생성 과정 등을 통한 Point Cloud 데이터를 획득할 수 있다. 이러한 획득 과정에 의해 각 포인트의 3D 위치(x, y, z 위치 값 등으로 나타낼 수 있다. 이하 이를 지오메트리라고 일컫는다), 각 포인트의 어트리뷰트 (color, reflectance, transparency 등)을 포함하는 point cloud 비디오를 획득할 수 있다. 또한 획득된 포인트 클라우드 비디오는 이를 포함하는, 예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등으로 생성 될 수 있다. 여러 개의 프레임을 갖는 point cloud 데이터의 경우 하나 이상의 파일들이 획득될 수 있다. 이러한 과정에서 point cloud 관련 메타데이터 (예를 들어 캡처 등과 관련된 메타데이터 등)가 생성될 수 있다.
캡쳐된 Point Cloud 비디오는 콘텐츠의 질을 향상시키기 위한 후처리가 필요할 수 있다. 영상 캡쳐 과정에서 카메라 장비가 제공하는 범위에서 최대/최소 깊이 값을 조정할 수 있지만 그 이후에도 원하지 않는 영역의 point 데이터들이 포함될 수 있어서 원하지 않는 영역(예, 배경)을 제거 한다거나, 또는 연결된 공간을 인식하고 구멍(spatial hole)을 메우는 후처리를 수행할 수 있다. 또한 공간 좌표계를 공유하는 카메라들로부터 추출된 Point Cloud는 캘리브레이션 과정을 통해 획득된 각 카메라의 위치 좌표를 기준으로 각 point들에 대한 글로벌 좌표계로의 변환 과정을 통해 하나의 콘텐츠로 통합될 수 있다. 이를 통해 point들의 밀도가 높은 Point Cloud 비디오를 획득할 수도 있다.
Point Cloud 전처리부(point cloud pre-processing unit, 20001) 는 point cloud 비디오를 하나 이상의 픽처(picture)/프레임(frame)으로 생성할 수 있다. 여기서 픽처(picture)/프레임(frame)은 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미할 수 있다. 또한 포인트 클라우드 전처리부(20001)는 Point cloud 비디오를 구성하는 점들을 하나 이상의 패치로 나누어2D 평면에 맵핑할 때 2D 평면의 해당 위치에 데이터가 존재하는 여부를 0 또는 1의 값으로 알려주는 2진 맵 (binary map) 인 어큐판시(occupancy) 맵 픽처/프레임을 생성할 수 있다. 여기서 패치는 point cloud를 구성하는 점들의 집합으로, 같은 patch에 속하는 점들은 3D 공간상에서 서로 인접해 있으며 2D 이미지로의 맵핑 과정에서 6면의 bounding box 평면 중 같은 방향으로 맵핑되는 점들의 집합이다. 그리고 포인트 클라우드 전처리부(20001)는 Point Cloud 비디오를 이루는 각 점들의 위치 정보 (geometry)를 패치 단위로 표현하는 depth map 형태의 픽처/프레임인 지오메트리 픽처/프레임을 생성할 수 있다. 또한 포인트 클라우드 전처리부(20001)는 Point cloud 비디오를 이루는 각 점들의 색상 정보를 패치 단위로 표현하는 픽처/프레임인 텍스처 픽처/프레임을 생성할 수 있다. 이러한 과정에서 개별 패치들로부터 point cloud를 재구성하기 위해 필요한 메타데이터가 생성될 수 있으며 이 메타데이터는 각 패치의2D/3D 공간에서의 위치, 크기 등 패치에 대한 정보(이를 부가 정보 또는 부가 패치 정보라 함)를 포함할 수 있다. 이러한 픽처/프레임들이 시간순으로 연속적으로 생성되어 비디오 스트림 혹은 메타데이터 스트림을 구성할 수 있다.
Point Cloud 비디오 인코더(20002)는Point Cloud 비디오와 연관된 하나 이상의 비디오 스트림으로 인코딩할 수 있다. 하나의 비디오는 다수의 프레임을 포함할 수 있으며, 하나의 프레임은 정지 영상/픽처에 대응될 수 있다. 본 명세서에서, Point Cloud 비디오라 함은 Point Cloud 영상/프레임/픽처를 포함할 수 있으며, Point Cloud 비디오는 Point Cloud 영상/프레임/픽처와 혼용되어 사용될 수 있다. Point Cloud 비디오 인코더(20002)는 Video-based Point Cloud Compression (V-PCC) 절차를 수행할 수 있다. Point Cloud 비디오 인코더(20002)는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다. V-PCC 절차에 기반하는 경우 Point Cloud 비디오 인코더(20002)는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오, 그리고 메타데이터, 예를 들어 패치에 대한 정보로 나누어 인코딩할 수 있다. 지오메트리 비디오는 지오메트리 이미지를 포함할 수 있고, 어트리뷰트(attribute) 비디오는 어트리뷰트 이미지를 포함할 수 있고, 어큐판시(occupancy) 맵 비디오는 어큐판시 맵 이미지를 포함할 수 있다. 부가 정보인 패치 데이터는 패치 관련 정보를 포함할 수 있다. 어트리뷰트 비디오/이미지는 텍스쳐 비디오/이미지를 포함할 수 있다.
Point Cloud 이미지 인코더(20003)는 Point Cloud 비디오와 연관된 하나 이상의 이미지로 인코딩할 수 있다. Point Cloud이미지 인코더(20003)는 Video-based Point Cloud Compression (V-PCC) 절차를 수행할 수 있다. Point Cloud 이미지 인코더(20003)는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 이미지는 비트스트림(bitstream) 형태로 출력될 수 있다. V-PCC 절차에 기반하는 경우 Point Cloud 이미지 인코더(20003)는 Point Cloud 이미지를 후술하는 바와 같이 지오메트리 이미지, 어트리뷰트(attribute) 이미지, 어큐판시(occupancy) 맵 이미지, 그리고 메타데이터, 예를 들어 패치에 대한 정보로 나누어 인코딩할 수 있다.
실시예들에 따라, 포인트 클라우드 비디오 인코더(20002), 포인트 클라우드 이미지 인코더(20003), 포인트 클라우드 비디오 디코더(20006), 포인트 클라우드 이미지 디코더(20008)는 상술한 바와 같이 하나의 인코더/디코더에 의해 수행될 수 있고, 도면과 같이 별개의 경로로 수행될 수 있다.
인캡슐레이션부(file/segment encapsulation unit, 20004)는 인코딩된 Point cloud 데이터 및/또는 Point cloud 관련 메타데이터를 파일 또는 스트리밍을 위한 세그먼트 등의 형태로 인캡슐레이션할 수 있다. 여기서 Point cloud 관련 메타데이터는 메타데이터 처리부(도시되지 않음) 등으로부터 전달받은 것일 수 있다. 메타데이터 처리부는 point cloud 비디오/이미지 인코더(20002, 20003)에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 인캡슐레이션부(20004)는 해당 비디오/이미지/메타데이터를 포함하는 하나의 비트스트림 또는 개별 비트스트림들을 ISOBMFF 등의 파일 포맷으로 인캡슐레이션하거나, DASH 세그먼트 등의 형태로 처리할 수 있다. 인캡슐레이션부(20004)는 실시 예에 따라 Point cloud 관련 메타데이터를 파일 포맷 상에 포함시킬 수 있다. Point cloud 메타데이터는 예를 들어 ISOBMFF 파일 포맷 상의 다양한 레벨의 박스(box)에 포함되거나 파일 내에서 별도의 트랙내의 데이터로 포함될 수 있다. 실시 예에 따라, 인캡슐레이션부(20004)는 Point cloud 관련 메타데이터 자체를 파일로 인캡슐레이션할 수 있다.
실시예들에 따른 인캡슐레이션부(20004)는 하나의 비트스트림 또는 개별 비트스트림들을 파일 내 하나 또는 복수 개의 트랙으로 분할 저장하고, 이를 위한 시그널링 정보도 함께 인캡슐레이팅할 수 있다. 또한, 비트스트림 상에 포함되어 있는 패치 (또는 atlas) 스트림을 파일 내 트랙으로 저장하고, 관련 시그널링 정보를 저장할 수 있다. 나아가, 비트스트림 상에 존재하는 SEI 메시지를 파일 내 트랙 내 저장하고, 관련 시그널링 정보를 저장할 수 있다.
전송 처리부(도시되지 않음)는 파일 포맷에 따라 인캡슐레이션된 Point cloud데이터에 전송을 위한 처리를 가할 수 있다. 전송 처리부는 전송부(도시되지 않음)에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송 처리부는 임의의 전송 프로토콜에 따라 Point cloud데이터를 처리할 수 있다. 전송을 위한 처리에는 방송망을 통한 전달을 위한 처리, 브로드밴드를 통한 전달을 위한 처리를 포함할 수 있다. 실시 예에 따라 전송 처리부는 Point cloud 데이터 뿐 아니라, 메타데이터 처리부로부터 Point cloud 관련 메타데이터를 전달받아, 이 것에 전송을 위한 처리를 가할 수도 있다.
전송부는 point cloud 비트스트림 혹은 해당 비트스트림을 포함하는 파일/세그먼트를 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부(도시되지 않음)로 전달할 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다. 디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘레멘트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신부는 비트스트림을 추출하여 디코딩 장치로 전달할 수 있다.
수신부는 본 명세서에 따른 point cloud 데이터 전송 장치가 전송한 point cloud 데이터를 수신할 수 있다. 전송되는 채널에 따라 수신부는 방송망을 통하여 point cloud데이터를 수신할 수도 있고, 브로드밴드를 통하여 point cloud 데이터를 수신할 수도 있다. 혹은 디지털 저장 매체를 통하여 point cloud 비디오 데이터를 수신할 수도 있다. 수신부는 수신한 데이터를 디코딩 하고 이를 사용자의 뷰포트 등에 따라 랜더링하는 과정을 포함할 수 있다.
수신 처리부(도시되지 않음)는 수신된 point cloud 비디오 데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 수신 처리부는 수신부에 포함될 수 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송측에서 전송을 위한 처리가 수행된 것에 대응되도록, 수신 처리부는 전술한 전송 처리부의 역과정을 수행할 수 있다. 수신 처리부는 획득한 point cloud 비디오를 디캡슐레이션부(20005)로 전달하고, 획득한 point cloud 관련 메타데이터는 메타데이터 처리부(도시되지 않음)로 전달할 수 있다.
디캡슐레이션부(file/segment decapsulation unit, 20005)는 수신 처리부로부터 전달받은 파일 형태의 point cloud 데이터를 디캡슐레이션할 수 있다. 디캡슐레이션부(20005)는 ISOBMFF 등에 따른 파일들을 디캡슐레이션하여, point cloud 비트스트림 내지 point cloud 관련 메타데이터(혹은 별도의 메타데이터 비트스트림)를 획득할 수 있다. 획득된 point cloud비트스트림은 point cloud 비디오 디코더(20006) 및 포인트 클라우드 이미지 디코더(2008)로, 획득된 point cloud 관련 메타 데이터(혹은 메타데이터 비트스트림)는 메타데이터 처리부(도시되지 않음)로 전달할 수 있다. point cloud 비트스트림은 메타데이터(메타데이터 비트스트림)를 포함할 수도 있다. 메타데이터 처리부는 point cloud 비디오 디코더(20006)에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 디캡슐레이션부(20005)가 획득하는 point cloud 관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 디캡슐레이션부(20005)는 필요한 경우 메타데이터 처리부로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다. point cloud 관련 메타데이터는 point cloud 비디오 디코더(20006) 및/또는 포인트 클라우드 이미지 디코더(20008)에 전달되어 point cloud 디코딩 절차에 사용될 수도 있고, 또는 랜더러(20009)에 전달되어 point cloud 랜더링 절차에 사용될 수도 있다.
Point Cloud 비디오 디코더(20006)는 비트스트림을 입력받아 Point Cloud 비디오 인코더(20002)의 동작에 대응하는 역과정을 수행하여 비디오/영상을 디코딩할 수 있다. 이 경우 Point Cloud 비디오 디코더(20006)는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오, 그리고 부가 패치 정보(auxiliary patch information )으로 나누어 디코딩할 수 있다. 지오메트리 비디오는 지오메트리 이미지를 포함할 수 있고, 어트리뷰트(attribute) 비디오는 어트리뷰트 이미지를 포함할 수 있고, 어큐판시(occupancy) 맵 비디오는 어큐판시 맵 이미지를 포함할 수 있다. 부가 정보는 부가 패치 정보(auxiliary patch information)를 포함할 수 있다. 어트리뷰트 비디오/이미지는 텍스쳐 비디오/이미지를 포함할 수 있다.
Point Cloud 이미지 디코더(20008)는 비트스트림을 입력받아 포인트 클라우드 이미지 인코더(20003)이 동작에 대응하는 역과정을 수행할 수 있다. 이 경우 Point Cloud 이미지 디코더(20008)는 Point Cloud 이미지를 지오메트리 이미지, 어트리뷰트(attribute) 이미지, 어큐판시(occupancy) 맵 이미지, 그리고 메타데이터 예를 들어, 부가 패치 정보(auxiliary patch information)으로 나누어 디코딩할 수 있다.
디코딩된 지오메트리 비디오/이미지와 어큐판시 맵 및 부가 패치 정보를 이용하여 3D 지오메트리가 복원되며 이후 스무딩 과정을 거칠 수 있다. 스무딩된 3D 지오메트리에 텍스처 비디오/이미지를 이용하여 컬러값을 부여함으로써 컬러 포인트 클라우드 영상/픽처가 복원될 수 있다. 랜더러(20009)는 복원된 지오메트리, 컬러 포인트 클라우드 영상/픽처를 랜더링할 수 있다. 랜더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 랜더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.
센싱/트랙킹부(Sensing/Tracking, 20007)는 사용자 또는 수신측로부터 오리엔테이션 정보 및/또는 사용자 뷰포트 정보를 획득하여 수신부 및/또는 송신부에 전달한다. 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 나타내거나 혹은 사용자가 보고 있는 장치의 위치, 각도, 움직임 등에 대한 정보를 나타낼 수 있다. 이 정보를 기반으로 사용자가 현재 3D 공간 상에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다.
뷰포트 정보는 현재 사용자가 3D 공간 상에서 디바이스 혹은 HMD 등을 통하여 보고 있는 영역에 대한 정보일 수 있다. 디스플레이 등의 장치는 오리엔테이션 정보, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV 등에 근거하여 뷰포트 영역을 추출할 수 있다. 오리엔테이션 혹은 뷰포트 정보는 수신측에서 추출 혹은 계산될 수 있다. 수신측에서 분석된 오리엔테이션 혹은 뷰포트 정보는 송신측으로 피드백 채널을 통해 전달될 수도 있다.
수신부는 센싱/트랙킹부(20007)에 의해 획득된 오리엔테이션 정보 및/또는 사용자가 현재 보고 있는 영역을 나타내는 뷰포트 정보를 사용하여 특정 영역, 즉 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 영역의 미디어 데이터만 효율적으로 파일에서 추출하거나 디코딩할 수 있다. 또한, 송신부는 센싱/트랙킹부(20007)에 의해 획득된 오리엔테이션 정보 및/또는 뷰포트 정보를 사용하여 특정 영역, 즉 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 영역의 미디어 데이터만 효율적으로 인코딩하거나 파일 생성 및 전송할 수 있다.
랜더러(20009)는 3D 공간 상에 디코딩된 Point Cloud 데이터를 랜더링 할 수 있다. 랜더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 랜더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.
피드백 과정은 랜더링/디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하거나 수신측의 디코더에 전달하는 과정을 포함할 수 있다. 피드백 과정을 통해 Point Cloud 데이터 소비에 있어 인터랙티비티(interactivity)가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 전달될 수 있다. 실시 예에 따라, 사용자는 VR/AR/MR/자율주행 환경 상에 구현된 것들과 상호작용 할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시 예에 따라 피드백 과정은 수행되지 않을 수도 있다.
실시예에 따라 전술한 피드백 정보는 송신측으로 전달되는 것 뿐아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디캡슐레이션 처리, 디코딩, 랜더링 과정 등이 수행될 수 있다. 예를 들어, 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 point cloud 데이터가 우선적으로 디캡슐레이션, 디코딩 및 랜더링될 수도 있다.
도 16은 실시예들에 따른 임의 방문 네트워크(Visited Network) 상 UE를 위한 전송 구조를 나타낸다.
3GPP (The 3rd Generation Partnership Project) 에서 Multimedia 분과는 미디어 코덱과 관련된 프로토콜을 정의하여 미디어를 송신 및 수신할 수 있는 표준을 제정하고 배포한다. 미디어라고 하는 정의와 전송 시나리오는 다양한 범위를 포함한다. Radio Access 그리고 Internet기반의 기술과 함께 개인 컴퓨터 또는 휴대 수신기가 이동/고정 수신을 하였을 경우를 포함한다. 3GPP에서 진행된 이러한 광범위한 표준 제정은 유비쿼터스 멀티미디어 서비스를 다양한 사용자와 Use Case를 포괄하며 언제, 어디서든 고품질 미디어를 빠르게 경험할 수 있게 하였다. 특히, 3GPP에서 미디어 서비스는 각각의 고유의 특성에 따라 분류 되며 Target Application에 따라 Conversational, Streaming, 그 외 서비스로 나뉘어 진다. Conversational Service는 Session Initiation Protocol (SIP) 기반의 전화 서비스망에서 확장 된다. 이 중 Multimedia Telephony Service for the IP Multimedia Subsystem (MTSI)는 저 지연 실시간 대화 서비스를 목표로 하고 있다. Streaming서비스는 Packet Switched Service (PSS)기반으로 실시간 또는 재 획득되는 콘텐트를 Unicast방식으로 전달한다. 3GPP는 PSS시스템 내 방송 서비스는 Multimedia Broadcast/Multicast Service (MBMS)를 통해 모바일 TV를 이용할 수 있다. 그 외 3GPP에서는 Messaging 또는 현실감 서비스를 제공한다. 앞서 설명한 3가지 기반 서비스는 가능한 고품질의 유저 경험을 만족하기 위해 표준의 개정 또는 업데이트가 지속적으로 이루어 지고 있으며 Scalability를 제공하여 가용 내 네트워크 자원 또는 기존 표준에 상호 호환이 될 수 있도록 하고 있다. 미디어는 비디오 코덱, 음성, 오디오, 이미지, 그래픽, 그리고 각각의 서비스에 해당하는 텍스트까지 포함한다.
3GPP에서는 이동형 멀티미디어 수신을 위해 규격화된 플랫폼을 구성하여 네트워크 확장 또는 이동 수신에 용이하도록 설계 하였다. IP Multimedia Subsystem (IMS)는 이러한 요구사항에 적합하도록 설계 되어 있으며 다양한 기술을 접근할 수 있거나 로밍 서비스를 가능하게 하였다. IMS는 Internet Engineering Task Force (IETF)표준을 기반으로 구성되어 있으며 IETF 표준은 인터넷 플랫폼에서 작동하기 때문에 기존 인터넷 프로토콜의 Setup, Establishment, Management기능을 단순하게 확장할 수 있다. 따라서 IMS는 SIP프로토콜이 기본 프로토콜로 사용하고 있으며 이를 통해 멀티미디어 세션을 효율적으로 관리한다.
3GPP표준 기술에서는 서비스를 모바일 플랫폼을 기반으로 하기 때문에 유저가 제 3 또는 타 지역의 모바일 네트워크 또는 플랫폼에 연결 되었을 경우 다른 네트워크로 로밍을 해야 하는 문제점이 발생 하였다. 이런 시나리오에서 클라이언트는 다수의 모바일 네트워크 망에서 세션을 유지할 수 있는 방법이 요구되었다. 또한 IP기반의 미디어 서비스 요구사항이 증가하면서 고용량의 IP기반 데이터 전송, 대화, 멀티미디어를 전송 해야 하는 요구사항이 증가하였다. 따라서 일반적인 IP 라우팅 방식이 아닌 3G, 4G, 5G 네트워크 망에서 상호 교환적인 형태로 IP패킷이 전달되어야만 했다. 혼합적인 망 환경에서 QoS를 유지하기 위해 서비스를 교환화는 과정에서 유연한 데이터 정보 교환 및 플랫폼이 필요하게 되었다. 과거 10년 이상 인터넷 망과 무선 모바일 망을 통합하기 위해 3GPP 표준에서는 IP기반의 IP Multimedia Subsystem (IMS) 표준을 제정하였으며 PS 도메인에셔 IP 음성, 비디오, 오디오, 텍스트를 전송할 수 있게 하였다. MTSI (Multimedia Telephony Service for IMS)는 IMS기반에서 Conversational Speech, Video, Text를 RTP/RTCP를 통해 전송하기 위한 표준이며 Flexible Data Channel Handling을 통해 사용자가 기존 Circuit Switched (CS)기반 Conversational Service 대비 동일 또는 고 효율 서비스를 제공하기 위해 제정되었다. MTSI는 Signalling, Transport, Jitter Buffer, Management, Packet-Loss Handling, Adaptation 뿐 아니라 Adding/Dropping Media During Call등의 포함되어 예측 가능한 미디어를 생성하고 전달하고 수신할 수 있도록 형성되어 있다. MTSI는 3GPP 망을 사용하기 때문에, NR, LTE, HSPA 등이 IMS에 연결되어 있으며 Wi-Fi, Bluetooth등과도 확장되어 연결된다. MTSI는 기존 IMS망에 데이터 협상 메시지를 송신 및 수신하게 되며 송수신이 완료되면 데이터는 유저간 전달되는 구조를 가지고 있다. 그러므로 IMS망을 동일하게 이용할 수 있으며 MTSI는 Audio Encoder/Decoder, Video Encoder/Decoder, Text, Session Setup and Control, Data Channel만을 추가적으로 정의 한다. Data Channel Capable MTSI (DCMTSC)는 미디어 전송을 지원하기 위한 가능 채널을 나타내며 Stream Control Transmission Protocol (SCTP) over Datagram Transport Layer Security (DTLS), Web Real-Time Communication (WebRTC)을 사용한다. SCTP를 사용하여 TCP의 Network Layer/Transport Layer간 보안 서비스를 제공한다. 기존 존재하는 플랫폼에서 확장되기 때문에 미디어를 관리하기 위한 Media Control, Media Codec 뿐만 아니라 Media Control Data를 정의하며 일반적인 컨트롤은 SIP/SDP를 통해 Media Streaming Setup을 통해 처리된다. 클라이언트 사이에 Setup/Control이 전달되기 때문에 미디어의 Adding/Dropping도 포함된다. MTSI는 Non-conversational Service인 IMS Messaging도 포함한다. 미디어는 3GPP Layer 2를 통해 전달되는데 사용 되는 것은 Packet Data Convergence Protocol (PDCP)를 사용한다. PDCP는 클라이언트에 있는 IP패킷을 Base Station까지 전달하며 일반적으로 User Plane Data, Control Plane Data, Header Compression, Ciphering/Protection을 수행한다.
도16은 UE (User Equipment) A/B가 존재할 때 콜 세션(Call Session)이 임의의 방문 네트워크 (Visited Network)에 존재하는 두 개의 UE간 전달될 수 있는 전송 구조이다. UE A/B는 오퍼레이터(Operator) A혹은 B 혹은 동일 네트워크 안에 존재할 수 있으며 MTSI의 전체 시스템을 설명하기 위해 4개의 타 네트워크가 존재한다고 가정한다. Call을 수행하기 위해서 UE A와 B는 IMS시스템 내에서 미디어를 전송하기 위한 세션 성립(Session Establishment)를 수행한다. 세션이 형성되고 나면 UE A와 B는 IP망을 통해 미디어를 전송한다. IMS 주요 기능은 Call State Control Function (CSCF)로 SIP를 사용하여 멀티미디어 세션을 관리한다. 각각의 CSCF는 서버 또는 Proxy역할을 수행하며 각각의 목적에 따라 다른 형태의 기능을 수행한다. Proxy CSCF (P-CSCF)는 SIP Proxy 서버 역할을 수행한다. IMS네트워크게 가장 먼저 접근하며 UE A와 B를 연결하는 가장 최초의 블록이다. P-CSCF는 모든 SIP 메시지를 수신하고 송신하고자 하는 UE까지 전달하기 위해서 내부적으로 SIP 메시지를 분석하고 전달하는 역할을 수행한다. P-CSCF는 자원관리를 수행할 수 있으며 네트워크의 Gateway와 밀접하게 연결되어 있다. 게이트웨이는 IP 접속 베어러인 General Packet Radio Service (GPRS)와 연결된다. GPRS는 2세대 무선 시스템이지만 PS 서비스를 지원하기 위한 기본 기능과 연결되어 있다. P-CSCF, GPRS는 같은 네트워크 안에 있어야 한다. 위 그림에서 UE A는 임의의 Visited Network에 존재하며 네트워크 내 UE A, P-CSCF가 존재한다. Serving CSCF (S-CSCF)는 SIP서버로 구독자의 홈 네트워크에 존재하며 구독자를 위한 세션 컨트롤 서비스를 제공한다. Proxy또는 Visited 네트워크가 존재하지 않는 경우 UE A 또는 B는 Operator A, B에 존재할 수 있으며 홈 네트워크 내 UE가 존재할 수 있다. IMS 시스템에서 S-CSCF는 Signalling에서 주요 기능 역할을 하며 SIP register역할을 수행한다. 따라서. 유저의 SIP IP주소를 생성하거나 현재 IP주소를 생성할 수 있다. S-CSCF는 또한 Home Subscriber Server (HSS)를 통해 인증 또는 HSS에 존재하는 다양한 유저의 프로파일을 획득할 수 있다. 수신되는 모든 SIP메시지는 S-CSCF를 거쳐야 한다. S-CSCF는 메시지를 수신하여 근처에 있는 다른 CSCF와 연결하거나 Application Server (AS)와 연결하여 다른 AS에 SIP메시지를 전달할 수 있다. Interrogating CSCF (I-CSCF)는 P-CSCF와 동일하게 Proxy서버 기능을 수행하나 외부 네트워크와 연결되어 있다. 네트워크 가용성, 네트워크 구성 형태 등을 관찰하여 SIP 메시지를 암호화 하는 과정을 수행할 수 있다. HSS는 중앙 데이터 서버로 유저와 관련된 정보를 포함한다. Subscriber Location Function (SLF)는 유저의 주소를 해당하는 HSS에 연결하는 정보 맵을 나타낸다. Multimedia Resource Function (MRF)는 홈 네트워크에서 멀티미디어 자원을 포함한다. MRF는 Multimedia Resource Function Controller (MRFC)와 Multimedia Resource Function Processor (MRFP)로 구성된다. MRFC는 MRC의 컨트롤 플레인으로 MRFP내에서 스트림 리소스를 관리하는 컨트롤 역할을 수행한다. Breakout Gateway Control Function (BGCF)는 SIP서버로 Public-Switched Telephone Network (PSTN) 또는 Communication Server (CS)와 연결되어 SIP메시지를 전달하는 게이트웨이를 나타낸다. Media Gateway Control Function (MGWF)과 Media Gateway (MGW)는 미디어를 CS네트워크로 전달하기 위한 인터페이스와 시그널링을 전달하는 역할을 한다.
도 17은 실시예들에 따른 UE간 콜 연결을 나타낸다.
IMS기반 망에서는 IP연결이 가능한 환경이어야 하며 IP 연결은 Home Network 또는 Visited Network에서 수행된다. IP연결이 이루어지면 XR 세부 요소인 대화형 환경 구성이 이루어 지며 전송되는 데이터는 360 Video/G-PCC (Geometry-based Point Cloud Compression)/V-PCC (Video-based Point Cloud Compression)등의 가상 현실 데이터가 압축된 정보들이 교환되거나 데이터가 전달된다. XR의 데이터는 2가지 영역으로 세분화되어 전달될 수 있다. MTSI 표준을 기반으로 전송되는 경우 CSCF 메커니즘을 이용하여 Route Control Plane 시그널링을 통해 AS는 Call/Hold/Resume방식을 전달하고 제 3자의 Call연결을 수행한다. Call연결이 수행되면 Media전송은 단순히 UE A/B사이에 전달되며 2개의 UE가 존재하는 경우 IMS망 내에서 MTSI는 도 17과 같이 작동한다.
도 18은 실시예들에 따른 포인트 클라우드 데이터 송수신 장치를 나타낸다.
비디오 인코더, 오디오 인코더는 XR디바이스(100c), 도 8의 포인트 클라우드 비디오 인코더(10002), 도10, 도13, 도15의 포인트 클라우드 인코더 등에 대응할 수 있다.
비디오 디코더, 오디오 디코더는 XR디바이스(100c), 도8의 포인트 클라우드 비디오 디코더(10008), 도12, 도14, 도15 포인트 클라우드 디코더 등에 대응할 수 있다.
MTSI는 IMS망 내에서 Client Terminal의 관련 요소들과 연결점을 제한한다. 따라서 그 구성에 대한 Scope은 도18과 같이 정의된다.
도18에서, 스피커(Speaker), 디스플레이(Display), 유저 인터페이스(User Interface), 마이크로폰(Microphone), 카메라(Camera), 키보드(Keyboard)와 관련된 동기화의 물리적 상호 작용에 대한 결정은 MTSI에서 논의되지 않는다. 박스(1700) 안에 있는 부분에서 미디어를 조절하거나 관련된 미디어를 컨트롤하는 방법에 대한 범위를 결정한다. 일반적으로 SIP를 전달하는 것은 IMS에 해당하여 구체적인 SIP를 컨트롤 하는 부분도 MTSI에 포함하지 않는다. 따라서 데이터의 구조와 전달 방식, 서비스의 정의에 따라 MTSI, IMS의 범위로 결정될 수 있다. MTSI와 같이 정의되는 경우 아래와 같은 범위의 표준으로 정의될 수 있다.
Conversational XR서비스를 지원하기 위해서는 RFC 4566 기반의 SDP와 SDP Capability Negotiation을 사용하고 이와 관련된 Streaming Setup을 사용해야 한다
Setup 및 Control을 위해서는 UE A/B의 독립적인 상호작용이 필요하며 미디어 컴포넌트는 Adding 또는 Dropping작업을 수행한다.
미디어를 전송하는 전송매개체는 Coded Media (Transport Protocol을 적용한)것 뿐만 아니라 Packet기반의 Network Interface를 준수해야 한다.
데이터를 전송하는 방법은 RFC 3550의 RTP Stream을 사용하고 Data Channel은 SCTP (RFC 4960) 또는 WebRTC Data Channel등을 사용할 수 있다.
실시예들에 따른 포인트 클라우드 데이터 송수신 장치는 휴대폰, 데스크톱, AR Glass등 장치구성이 되는 모든 기기들을 포함할 수 있다. 휴대폰이라고 가정하면 speaker, display, user interface, microphone, camera, keyboard가 존재하고 입력된 신호는 인코딩/디코딩 블록으로 전달될 수 있다.
실시예들에 따른 방법/동작은 도16의 비디오 인코더(Video Encod)에 의해 처리될 수 있다. 소프트웨어와 연동될 수 있다.
실시예들에 따른 방법/동작은 G-PCC 구조 콜 플로우(Structure call flow)는 세션 셋업 및 컨트롤(session setup & control) 부분에 포함될 수 있다.
도18의 각 구성요소는 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 조합에 대응할 수 있다.
IP 연결성(IP Connectivity)
실시예들에 따른 포인트 클라우드 데이터 송수신 장치는 IP 연결을 지원할 수 있다.
멀티미디어 서브시스템(Multimedia Subsystem)의 범위에서 XR 범위는 UMTS (Universal Mobile Telecommunications System) 등의 RAN (Radio Access Network)그리고 SGSN (Serving SPRC Support Node), GGSN (Gateway GPRS Support Note)등의 Visited Network에 존재한다고 가정하며 Roaming서비스등과 IP Connectivity에 대한 시나리오를 고려해야 한다. IP Connectivity를 고려해야 하는 경우 IMS 네트워크에 존재하지 않는 곳에서도 IP서비스를 제공해야 하며 GPRS (General Packet Radio Service) 로밍 역시 홈 네트워크에 연결되어야 한다. IMS기반의 네트워크를 제공하면 IP Connectivity를 유지하기 위해 End-to-End QoS (Quality of Service)를 제공해야만 한다. QoS Requirement는 일반적으로 SIP (Session Initiation Protocol)을 사용하여 세션을 정의하거나 세션을 변경하거나 세션을 종료하며 다음과 같은 정보를 전달할 수 있다: 미디어의 타입, 트래픽의 방향 (상향 또는 하향), 미디어의 비트레이트(Bitrate), 패킷 사이즈(Packet Size), 패킷 트랜스포트 프리퀀시(Packet Transport Frequency), RTP 페이로드(Payload), 밴드위스 어댑테이션(Bandwidth Adaptation).
IP 정책 컨트롤/보안 통신(IP Policy Control/Secure Communication)
실시예들에 따른 포인트 클라우드 데이터 송수신 장치는 IP 정책 컨트롤/보안 통신을 수행할 수 있다.
네고시에이션(Negotiation) 협상은 어플리케이션 레벨(Application Level)에서 수행된다. 만약 UE간의 QoS가 형성되면은 UE 또는 XR을 서비스하고자 하는 주체는 데이터를 압축하고 패킷화하여 적절한 전송 프로토콜 (RTP등)과 같은 프로토콜을 이용하여 TCP 또는 UDP의 Transport Protocol을 IP망을 통해 전달 한다. 또한 IP망을 이용하는 경우 Bearer 트래픽의 조종하고 관리해야 하며 IMS Session내에서 Access Network와 IMS사이에 다음과 같은 업무를 수행할 수 있다.
정책 제어 엘리먼트(Policy Control Element)는 SIP메시지를 통해서 미디어 트래픽에 적합한 Bearer를 활성화 할 수 있고 Operator입장에서는 Bearer 자원을 잘못 사용하지 않게 방지를 한다. 송신과 수신의 IP주소, 대역폭 또한 Bearer Level을 동일하게 조절할 수 있다.
정책 제어 엘리먼트(Policy Control Element)를 이용하여 미디어 트래픽의 시작 또는 중지 지점을 설정할 수 있으며 동기화에 관련된 문제를 해결할 수 있다.
정책 제어 엘리먼트(Policy Control Element)를 이용하여 수신 확인 메시지를 IP네트워크를 통해 전달할 수 있으며 Bearer의 서비스의 수정, 중지, 종료를 수행할 수 있다.
UE의 보안을 위해 Privacy를 요청할 수 있다.
다른 네트워크와 인터넷워킹(서비스 제어)(Internetworking with Other Networks (Service Control))
실시예들에 따른 포인트 클라우드 데이터 송수신 장치는 다른 네트워크와 연계될 수 있다.
3GPP에서 제공하는 IMS서비스는 같은 시간에 유지 관리가 되지 않기 때문에 터미널간, 네트워크 구독 연결 및 및 해지 빠르게 전달되지 않는다. 따라서 어떤 종류의 터미널이라도 IMS망은 다양한 사용자와 네트워크를 최대한 많이 연결할 수 있어야 한다. PSTN 또는 ISDN 뿐 아니라 모바일, 인터넷 유저까지 포함될 수 있다. 현재는 거의 사용하지 않는 2G망의 경우 만약 로밍을 사용 경우 Visited Network에 방문하는 Entity는 Service 및 Control정보를 유저를 위해 제공하여 인터넷 망 내에서 Registration/Session Establishment를 수행한다. 이와 같이 Visited Network에 존재하게 되는 경우 서비스 컨트롤의 제약이 발생하게 되고 다수개의 로밍 모델 시나리오에 따라 고려해야 할 점이 발생하게 된다. 또한 서비스를 제공하게 될 경우 Visited Network의 서비스 속도 등으로 품질이 저하될 수 있다. 중간에 만약 보안 또는 Charging과 같은 역할이 추가된다면 Home Network/Visited Network에 대한 서비스 컨트롤과 수행 방식의 영역에 대하여 고려해야 한다.
플레인 분리(Plane Separation)
3GPP표준은 IMS 망 내에서 Architecture를 Layer화하여 정의하고 있다. 따라서 Transport/Bearer를 구분하여 정의하고 있다. 특히 Application Plane은 일반적으로 Application Server의 범위, Control Plane은 HSS, CSCF, BGCF, MRFC, MRFP, SGW, SEG등 User Plane은 SGSN, GGSN, IM-MGW등으로 영역을 나눌 수 있다.
도 19는 실시예들에 따른 5G 네트워크 상 XR 커뮤니케이션을 위한 구조를 나타낸다.
실시예들에 따른 포인트 클라우드 데이터 송수신 장치는 도 19와 같이, 통신 네트워크에 기반하여 XR 커뮤니케이션을 효율적으로 수행할 수 있다.
5G네트워크를 이용하여 실시간 포인트 클라우드 양방향 대화는 3가지 방식을 이용하여 달성할 수 있다. 1) IMS 전화망을 이용한 포인트 클라우드의 데이터 교환, 2) 5GMS 미디어 망을 이용한 포인트 클라우드의 데이터 스트리밍, 3) WebRTC를 이용한 웹 기반의 미디어 전송 방식. 따라서 데이터를 전송하기 위해 XR 대화형 서비스 시나리오에 대한 정의가 필요하다. 시나리오는 다양한 형태로 전달될 수 있으며 데이터를 획득하는 과정에서부터 5G망을 이용하는 모든 end-to-end서비스에 대한 과정과 시나리오의 구성으로 나눌 수 있다.
XR Teleconference를 진행하기 위해서는 선행적으로 Application Download가 진행 되어야 한다. 5G망을 이용하여 데이터를 교환하는 경우 내장되어 있거나 또는 다운로드를 받을 수 있는 Application 프로그램이 필요하다. 이 프로그램은 5G로 전송되는 데이터의 전송 타입을 1)전화망 2)미디어 망 3)Web 망을 선택하여 전송할 수 있다. 프로그램이 설치되는 경우 일반적인 디바이스의 접근권한, 그리고 계정 개인정보 권한을 확인하여 데이터를 주고 받을 수 있는 기본 환경을 점검한다. 상대방의 데이터를 수신하기 위한 수신장치 및 송신장치를 포함하는 포인트 클라우드 장비의 캡쳐 장비, 또는 차원 데이터를 3차원으로 변환할 수 있는 변환기 또는 데이터를 3차원으로 360도로 전송 또는 변환이 가능한 모든 비디오 입력 장치를 포함한다. 음성 데이터는 마이크 또는 스피커를 내장하고 있으며 포인트 클라우드 데이터를 최소한으로 처리하기 위한 하드웨어 기능의 점검도 포함한다. 하드웨어는 Pre-Rendering 또는 Post-Rendering을 수행할 수 있는 GPU/CPU의 기능을 포함하며 처리 과정에서 수행되는 하드웨어의 용량, 메모리의 크기까지 포함될 수 있다. 개인 정보는 Application에 접근하기 위한 계정 정보, IP, 쿠키 등의 사용자의 실시간 정보를 부가적으로 전달 할 수 있는 것들을 포함하며 사전에 전송하기 위해 이용 동의를 수행하게 된다.
도 20은 실시예들에 따른 XR 커뮤니케이션을 위한 구조를 나타낸다
초기 데이터를 획득할 수 있는 권한과 장치의 상태를 확인하고 난 후 사용자의 인증과 사용자를 구분할 수 있는 구분자를 생성하게 된다. 일반적으로 이메일 또는 아이디와 비밀번호를 이용하여 사용자를 구분하게 되며 인증되는 사용자의 Tag가 자체적으로 형성된다. 또한 초기 사용자가 포인트 클라우드의 데이터를 효과적으로 교환하거나 시스템을 이용할 수 있는 가이드 모드 등이 제공될 수 있다. 사용자의 장치의 상태에 따라 시야를 접근할 수 있는 방식을 결정할 수 있다. 만약 포인트 클라우드를 직접 캡쳐하거나 수신할 수 있는 장치일 경우 데이터를 그대로 송수신 할 수 있으며 만약 HMD를 이용하여 포인트 클라우드를 수신하는 경우 360 환경에 적합한 Scaling 또는 Transformation이 선행되어야 한다. 수신되는 디스플레이가 3차원 데이터를 수신하는 장비가 아닌 일반적으로 널리 사용되는 휴대폰 또는 모니터 기반의 2D 디스플레이인 경우 2차원 화면 내에서 3차원을 성실하게 표현할 수 있어야 한다. 예를 들어, 손가락으로 화면을 회전하거나 확대하는 방식을 이용하여 2차원 디스플레이 내에서 3차원의 모습을 구현하거나 확인이 가능하다. 또는 자이로스코프를 이용하여 2차원 화면에서 3차원의 공간을 확인할 수 있는 방법이 있다. 사용자가 3차원 공간에서 표현하기 위해서는 아바타가 생성되어야 한다. 아바타는 Graphic에 의한 가상의 데이터가 될 수 있거나 포인트 클라우드로 직접 획득된 사람 또는 사물의 실체의 3차원 변환 형태가 될 수 있거나, 어떤 데이터도 존재하지 않는 오디오가 될 수 있다. 만약 오디오의 데이터가 입력 된다면 사용자는 존재하지 않으며 마치 음성 회의와 동일한 형태로 구성될 수 있다. 3차원으로 표현되는 아바타는 사용자의 정의 또는 선택에 의해 수정이 가능하다. 예를 들어, 사람의 경우 얼굴의 형태를 변화할 수 있거나 자신의 개성을 나타낼 수 있는 옷, 모자, 악세서리 등을 착용할 수 있으며 자신의 개성을 표현하기 위한 다양한 형태의 변환이 가능하다. 또한 사람간의 대화를 통해 감정을 표현할 수 있으며 감정은 텍스트 또는 그래픽의 얼굴 형태의 변화에 따라 조절이 가능하다.
생성된 아바타는 가상의 공간에 참여하게 된다. 만약 1:1 대화형인 경우 각각의 데이터가 상대방에 전송하게 되지만 상대방이 수신되는 공간 역시 간단하게 형성되어야 한다. 참여자가 다수인 경우 다수인 참여자가 공유할 수 있는 공간이 생성되어야 하며 이러한 공간들은 임의 그래픽으로 구성된 공간이 될 수 있거나 포인트 클라우드로 직접 획득된 데이터 공간이 될 수 있다. 만약 공유되는 데이터의 크기와 상황에 따라 데이터는 각각의 장치에 저장되어 빠르게 처리될 수 있으며, 데이터의 크기가 큰 경우 클라우드 또는 중앙 서버에 저장되어 공유될 수 있다. 사용자의 아바타는 라이브러리 등을 이용하여 사전에 생성된 아바타를 이용할 수 있다. 기본 공통 아바타는 따라서 사용자의 입장에서 새롭게 생성되거나 데이터를 캡쳐하여 전송할 필요가 없다. 마찬가지로 공간에 사용되는 다양한 오브젝트 등은 사용자 요청에 의해 추가될 수 있으며 그 데이터는 그래픽이 될 수 있거나 포인트 클라우드로 획득된 데이터 일 수 있다. 오브젝트는 일반적으로 회의장이라고 가정 하였을 경우 문서, 컵, 레이저 포인터 등의 회의실 내부에서 쉽게 접근이 가능하거나 익숙한 물건이 될 수 있다. 공간이 생성되는 경우 공간에 각각의 아바타로 구성된 사용자가 참여할 수 있으며 사용자는 생성된 공간에 나의 아바타를 이동하여 회의 장소에 참여 가능하다. 공간은 회의를 주체하는 호스트에 의해 결정되며 호스트는 공간을 선택에 의해 변경될 수 있다. 널리 익숙한 회의장을 미리 사전에 획득하면 마치 집에서 회사 회의실에 참여하는 듯한 효과를 얻을 수 있고, 해외 여행 또는 해외 유명 유적지를 획득하면 마치 집에서 그 유적지에서 만나는 듯한 효과를 얻을 수 있다. 또한 포인트 클라우드가 아닌 가상의 임의 그래픽으로 생성된 공간은 사용자의 공간을 만들어 내는 공간 구성자의 아이디어나 구현 방식에 따라 달라질 수 있다. 사용자가 공간에 참여하는 경우 사용자의 프로파일을 형성하여 입장할 수 있다. 사용자의 프로파일은 회의장 또는 공간 참여자의 리스트를 구분하기 위함이고 만약 다수의 사용자가 참여하였을 경우 대화가 가능한지, 사용자의 수신 상태가 올바르게 작동하는지 확인할 수 있다. 그리고 아바타가 존재하는 경우 사용자의 이름 또는 닉네임을 표시해야 하며, 사용자가 현재 바쁜 상태인지 Mute상태인지 표시를 할 수 있어야 한다. 공간의 제약은 호스트 또는 서버를 구성하는 Application의 활용에 따라 달라질 수 있다. 만약 자유로운 공간 이동이 제한되는 환경에서는 사용자는 위치하고 싶은 위치를 이동할 수 있어야 한다. 사용자의 프로파일뿐 아니라 공간의 프로파일도 결정 해야 한다. 회의장에서 만약 다수의 파일을 공유하고 싶을 경우 회의장 내 ppt를 표시할 수 있는 공간이 있어야 하며 마치 가상의 공간에서 프레젠테이션을 보는 효과뿐만 아니라 일반적인 오디오 회의에서 사용하는 것처럼 내가 보는 화면이 자료 공유 화면으로 대체되어 표시될 수 있다. 또한 채팅을 수행하기 위한 채팅의 공간이 마련되어야 하며 사용자가 이동한다면 이동 가능한 범위와 장소에 대한 정의도 요구된다.
실시예들에 따른 포인트 클라우드 기반 실시간 양방향 화상 대화는 단일 전화와 같이 1:1 대화 전송, 다수의 화상 회의(또는 영상 회의라 함) 참여 형태로 구분할 수 있다. 하지만 두 개의 시나리오 모두 직접적으로 데이터를 전달하는 것이 아닌 미디어를 처리하는 처리기가 요구되며 가상의 회의를 할 수 있는 환경에 제공되어야 한다.
도 21은 실시예들에 따른 포인트-투-포인트 XR 화상회의(Point to Point XR Teleconference)를 나타낸다.
대화의 기본 전화 요청은 네트워크 기능에 의해 진행되며 MTSI망을 사용하는 경우 송수신 미디어는 MRF (Media Source Function) 또는 MCU (Media Control Unit)을 이용한다. 여기서 MRF/MCU는 포인트 클라우드 압축 데이터를 수신하며 송신자가 압축 데이터 이외에 부가 정보 (시야의 화면, 카메라 정보, 시야의 방향 등)를 전송하고자 하는 경우 역시 그 데이터를 MRF/MCU에 전달한다. MRF 다수의 송신자로부터 다른 포인트 클라우드 데이터를 획득하고 난 후 내부 프로세스를 통해 하나의 비디오를 생성하며 하나의 비디오는 메인 비디오와 여러 개의 썸네일을 포함한다. 처리된 비디오는 다시 각각의 수신자에게 전달되며 Transcoding 및 Resize와 같은 처리가 발생할 수 있다. 만약 MRF가 Transcoding과 같은 프로세스를 필요로 하는 경우 처리 시간만큼의 최대 지연 시간 증가 영향을 끼질 수 있다. 또한 썸네일 데이터를 사전에 각각의 송신기 및 수신자에게 전송하여 사전처리 프로세스를 수행할 수 있다. MRF에서는 미디어의 처리 이외에 오디오 및 미디어 분석, Application Server, 과금 서버 연동, 리소스 관리 기능을 수행한다. MRF와 연결되는 AS (Application Server)는 전화 망에서 가입자의 상태 조회를 위한 HSS 연동 기능을 포함하며 MRF연결 및 부가기능을 제공한다. 부가기능은 실제 전화에서 비밀번호 통화 서비스, 레터링서비스, 통화 연결음 서비스, 착발신 금지 서비스 등을 포함한다.
일대일 포인트 클라우드의 대화 서비스는 각각의 사용자가 3D 포인트 클라우드 캡쳐 카메라를 가지고 있어야 한다. 카메라는 사용자의 색상정보, 위치정보, 깊이정보를 포함하고 있어야 하며 깊이를 표현하지 못하는 경우 2D 이미지를 3차원으로 표현될 수 있는 변환기를 사용할 수 있다. 사용된 캡쳐 정보는 G-PCC (Geometry-based Point Cloud Compression) 또는 V-PCC (Video-based Point Cloud Compression)된 데이터를 포함한다. 송신기는 상대방의 데이터를 수신할 수 있는 장비를 가지고 있어야 한다. 수신 장비는 일반적으로 획득된 포인트 클라우드의 데이터를 표현할 수 있는 모든 장비를 나타난대. 따라서 2D 기반의 디스플레이가 될 수 있으며 HMD, 홀로그래픽과 같이 포인트 클라우드의 그래픽을 시각적으로 표현할 수 있는 모든 장비를 포함할 수 있다. 표현되는 데이터는 송신과 수신기의 데이터가 처리된 MRF/MCU에서 전달되는 데이터를 수신하고 수신된 데이터를 처리할 수 있어야 한다. 캡쳐된 포인트 클라우드 데이터는 MRF/MCU에 전달되고 수신된 데이터는 내부 프로세스에 의해 각각의 유저에게 데이터를 전달할 것을 생성하고 전달한다. 대화에 필요한 대화의 기본 정보, 대화가 요구되는 대화의 가상 공간 또는 상대방이 원하는 관점의 시야 정보를 전달하거나 압축된 데이터를 전달한다.
1. 보니(Bonnie) (B)와 클라이드(Clyde) (C)는 Conference call을 이용하여 접근을 한다. 접근은 평면 또는 단순한 가상의 공간에 상대방의 얼굴을 볼 수 있으며 가상의 공간 A는 B와 C가 도착한 곳에서 서로의 얼굴을 볼 수 있도록 한다.
일대일 대화에서 가상의 공간은 단순히 포인트 클라우드를 투영하여 단순화 하는 공간으로만 활용되며 투영하는 공간을 사용하지 않을 경우 단순히 카메라로 캡쳐 되는 모든 데이터가 상대방에게 전송된다.
2. B와 C는 화상회의를 운용하기 위한 Application을 필요로 한다. 해당 Application은 다음과 같은 기본 서비스 동작을 확인한다.
수신장치 확인: AR Glass, VR HMD, 2D Display, Phone Speaker, etc.
송신장치 확인: AR Glass, 360 Camera, Fisheye Camera, Phone Camera, Mic, Kinnect, LiDAR, etc.
하드웨어 성능 확인: GPU, CPU, Memory, Storage Capability
접근 권한 확인: 카메라, 오디오, 저장공간
계정 및 개인정보 권한 확인: 아이디, 이메일 계정, IP, Cookie, 개인정부 추적 동의
3. B와 C는 대화에 참여하기 이전에 포인트 클라우드 캡쳐 카메라를 이용하여 상대방에게 전송하기 위한 포인트 데이터를 획득한다. 포인트 데이터는 일반적으로 B와 C의 얼굴 또는 형체를 획득한 데이터며 각각의 고유의 장비를 통해 획득된 데이터를 출력할 수 있다.
위 시나리오는 어떤 미디어를 알고 있지 않은 환경에서 단순 전화망을 기반으로 전송 전달 구현이 가능하다. 전화망을 생성하기 전에 사전 데이터는 MRF/MCU를 통해 전달받아야 할 것이며 MRF/MCU는 B와 C로부터 전송 받는 데이터를 모두 수신한다.
두 명의 사람이 포인트 클라우드의 화상 대화 시나리오는 아래와 같이 두 가지로 구분화 된다.
시나리오 (a)의 경우 모든 데이터는 일대일 대화로 전송이 된다. B의 모든 포인트 클라우드 정보가 C에게 직접적으로 전달이 되고 C는 B의 데이터의 전부를 처리하거나 B에서 전달하는 부가 정보를 기반으로 일부 처리할 수 있다. 마찬가지로 B는 C에서 전송하는 모든 포인트 클라우드의 데이터를 수신해야 하며 C에서 전달하는 부가 정보를 기반으로 일부를 처리할 수 있다. 시나리오 (b)의 경우는 MRF/MCU가 전화망 사이에 존재하며 B와 C는 포인트 클라우드 데이터를 두 사이에 존재하는 MRF/MCU에 전달을 한다. MRF/MCU는 수신되는 데이터를 처리하며 B와 C요구하는 특정 조건에 맞추어 각각에 해당하는 데이터를 B와 C에 전달한다. 따라서 B와 C는 서로에게 전송하는 포인트 클라우드의 모든 데이터를 받지 않을 수 있다. 시나리오 (b)의 경우 다자간 화상 회의 기능도 확장될 수 있으며 추가적인 가상의 공간 A가 포함되어 B또는 C에게 전달될 수 있다. 예를 들어, 직접적 포인트 클라우드 수신이 아닌 가상의 회의 공간 내 B와 C를 배치하여 배치된 가상의 공간 전체를 B와 C에게 3인칭 또는 1인칭의 형태로 전송할 수 있다. 또한 David (D)가 참여하여 B, C, D는 A의 공간에서 서로의 대화를 자유롭게 진행할 수도 있다.
도 22는 실시예들에 따른 XR 화상회의 확장을 나타낸다.
3인 이상의 가상 회의 시스템은 두 사람의 대화와는 반대로 직접적인 데이터 전송은 할 수 없게 된다. 대신 MRF/MCU는 각각의 데이터를 수신하여 하나의 데이터를 처리할 수 있으며 그 도식도는 도22와 같이 표현된다.
B와 C, D는 획득된 포인트 클라우드의 데이터를 MRF/MCU로 전달을 한다. 수신된 각각의 데이터는 Transcoding에의해 하나의 Unit Frame을 형성하고 집합화된 포인트의 데이터를 구성할 수 있는 Scene을 생성한다. Scene의 구성은 B, C, D중 호스팅을 요청한 사람에게 주어지며 일반적으로 다양한 Scene을 형성하여 포인트 공간을 생성할 수 있다. 사용자의 위치 또는 관찰하고자 하는 위치에 따라 모든 데이터가 전달될 필요는 없으며 MRF/MCU는 수신되는 데이터 정보와 B, C, D가 요청하는 카메라 Viewpoint, Viewport를 기준으로 전체 또는 일부의 포인트 클라우드 데이터를 전달할 수 있다.
도 23은 실시예들에 따른 XR 화상회의 확장을 나타낸다.
두번째로 Host의 권한을 가진 B는 자신의 데이터 또는 화면을 회의 참여자에게 공유할 수 있다. 공유할 수 있는 데이터는 Overlay형태, 독립적인 화면, 데이터등의 제 3자에게 화상의 대화 이외에 전달 가능한 미디어를 포함한다. 만약 Sharing기능을 사용하게 된다면 B는 공유하고자 하는 데이터를 MRF/MCU에 전달을 하며 C와 D는 자신의 요청에 의해 공유 받는 데이터를 수신할 수 있다. 데이터를 공유하기 위해서는 SDP를 이용하여 Overlay 또는 Laying의 개수를 결정할 수 있으며 Offer/Answer과정에서 모든 데이터를 수신할 수 있는지, 그리고 전달하고자 하는 데이터를 모두 수신받을 수 있는지에 대한 Capability를 측정해야만 한다. 이 과정은 다수의 회의 참여 시작에 결정될 수 있으며 자료 공유 기능이 기본적으로 제공되어야만 할 때 전화망이 생성할 때 각각의 유저에 대한 데이터 처리 능력을 확인할 수 있다. Sharing 데이터는 일반적으로 프레젠테이션 파일, 엑셀 파일, 데스크톱의 화면 등으로 대화 중에서 Host에서 작동 중인 Application의 일부 또는 전체의 스크린을 공유하기 위해 생성된다. 생성된 데이터는 압축 또는 해상도가 전환되어 수신되고자 하는 유저에게 전달된다.
본 문서는 3D으로 획득한 영상(예, 사용자)을 기반으로 실시간으로 대화할 수 있는 실감형 대화 및 다자간 회의 시스템에서 사용자들이 체감하는 품질(Qulity of Experience: QoE)은 최대한 유지하면서 서비스에 필요한 비용 (데이터의 크기, 데이터 처리에 걸리는 시간 등)은 최소한으로 줄여 효율적으로 서비스 할 수 있는 장치 및 방법을 제안한다.
높은 화질의 비디오를 넘어 사용자에게 더욱 실제와 가까운 경험을 제공하기 위해 3D으로 표현되는 실감형 비디오는 스트리밍 서비스, 대화형 서비스 또는 가상현실 서비스 등에서 중요한 기술 요소 중 하나이다.
본 문서에서 대화형 서비스는 영상 통화(또는 화상 통화), 영상 회의(또는 화상 회의) 등이 해당될 수 있다. 예를 들어, 대화형 서비스로는 일대일 영상통화 또는 다대다 영상회의 등이 있을 수 있다.
이러한 대화형 서비스에서는 색상 카메라 및 깊이 정보를 획득할 수 있는 카메라 등을 혼용으로 사용하여 사용자의 얼굴 또는 형태를 3D으로 획득 한다. 이와 같은 형태로 획득된 데이터는 수많은 포인트들의 집합으로 이루어질 수 있으며, 이러한 데이터 집합을 포인트 클라우드(또는 포인트 클라우드 데이터)라 한다. 포인트 클라우드의 각 포인트는 지오메트리 정보(즉, 기하학적인 위치 정보) 및 색상 정보와 반사율 등과 같은 여러가지 어트리뷰트 정보로 구성될 수 있다. 이러한 포인트들은 라이다(Light Detection And Ranging: LiDAR) 센서와 같은 3D 스캐닝 기술이 적용된 센서 장비와 색상 정보를 획득할 수 있는 카메라 장비 등으로 구성하여 획득할 수 있다.
그리고, 깊은 몰입감과 높은 현실감을 제공할 수 있는 포인트 클라우드는 프레임 당 수 십 ~ 수백만 개에서 많게는 수 십억 개 이상의 포인트들로 획득되며, 획득되는 포인트들의 수가 많을수록 최종적인 3D 비디오 영상의 품질은 높아질 수 있다. 하지만 여러 정보들이 포함된 포인트들의 수가 많아 질수록 데이터의 양은 급격하게 늘어나며 그 만큼 서비스에 소요되는 시간도 증가시키게 된다.
즉, 한 포인트가 여러 가지의 정보를 포함하고 있는 만큼 포인트들의 수가 증가할 수록 데이터 증가량은 더 크게 증가하고 이에 따라 압축부터 송신, 수신, 렌더링에 이르는 미디어 서비스 파이프 라인의 각 요소마다 필요한 비용은 더 크게 작용할 수 있다. 실감 대화형 서비스를 위한 파이프라인 중 첫 번째 단계를 살펴보면 다음과 같다. 사용자를 캡쳐하여 3D의 포인트 클라우드 데이터를 획득 후 압축(encoding)과 캡슐화(encapsulation) 과정을 거치는데 이때 해상도, 전송 비트레이트, 압축 코덱, 캡슐화 표준 선택 등이 이루어지며 압축 방법에 따라 처리 속도가 달라질 수 있다.
대화형 서비스는 실감도 측면에서 다른 서비스에 비해 실시간성에 대한 보장이 중요하기 때문에 종단간 지연시간에 대한 요구사항은 초저지연 시간 (약 20ms 이하) 으로 정의되고 있다. 하지만 방대한 데이터 크기의 포인트 클라우드를 실시간으로 획득하여 초저지연 시간내에 서비스를 하는 일은 실감 대화형 서비스를 어렵게 하는 요인 중 하나이다.
따라서 실감 대화형 시스템의 실제 구현을 위해서는 아주 높은 정보량에 대한 처리가 가능해야 하며 단순히 정보량의 증가에 따른 최적화된 기술뿐만 아니라 인터랙션 형태로 발생되는 사용자의 움직임이나 시점의 변화에 대해서도 실시간에 가까운 속도로 대응할 수 있는 기술이 필요하다. 즉, 대용량의 포인트 클라우드 데이터를 기반으로 하는 실감 대화형 서비스에서는 고효율의 압축 기술이 필요하다. 다시 말해, 고효율을 위해서는 네트워크의 상황이나, 사용자의 시청환경 등을 고려하여 압축하고 서비스할 수 있는 기술이 필요할 수 있다.
실시예들에 따르면, 본 문서에서 대화형 서비스는 3GPP 기반으로 수행될 수 있다.
실시예들에 따르면, 본 문서는 대화형 서비스를 위해 획득된 3D 영상을 전술한 V-PCC 기반으로 인코딩(즉, 압축) 및 디코딩(즉, 복원)할 수 있다.
특히, 본 문서는 3GPP 기반의 대화형 서비스를 위해 획득된 3D 영상을 전술한 V-PCC 기반으로 인코딩(즉, 압축) 및 디코딩(즉, 복원)할 수 있다.
전술한 바와 같이, V-PCC는 입력된 3D 포인트 클라우드 데이터를 2D 공간으로 투영하여 기존의 2D 비디오 코덱을 활용하여 압축하는 것이 특징이다. 이처럼 V-PCC 방식은 기존의 2D 비디오 코덱이 기반이기 때문에 양자화 파라미터(Quantization Parameter: QP) 와 같은 것을 이용하여 대역폭 및 사용자의 단말에 따라 차별화된 품질로 서비스를 제공할 수 있다. 하지만 QP를 단순하게 사용하면 영상의 품질이 저하되므로 전략적으로 사용하는 기술이 필요하다. 또한 V-PCC 방식은 다양한 정보량의 수준으로 타일을 구성하고 표현할 수 있는 파라미터(Level of Detail: LoD) 를 제공하고 있다. 이를 이용하면 네트워크 상황과 사용자의 관심 영역에 따라 더 적응적으로 서비스 할 수 있다. 하지만 일반적인 방법과 같이 콘텐츠의 특성을 고려하지 않고 일괄적으로 LoD 를 제어하게 되면 QP조절과 마찬가지로 사용자가 체감하는 품질이 저하 될 수 있다. 이를 피하기 위해 사용자에게 적응적으로 제어하는 적응형 미디어 스트리밍 서비스에서는 미디어 서비스를 받는 사용자가 직접 자신이 원하는 영역에 대해 점진적으로 LoD를 조절하며 요청해야 한다. 그렇기 때문에 서버에서는 서비스 전에 다양한 품질의 타일 또는 세그먼트들을 준비해 두어야 하며 압축하는 과정에서 소비되는 시간에 대한 이득을 얻기 어렵다. 이러한 이유로 현장에서 실시간으로 획득한 사용자의 포인트 클라우드 데이터에 적용해야 하는 실감 대화형 서비스에는 적합하지 않을 수 있다.
이에 본 문서는 포인트 클라우드 기술을 기반으로 실감 대화형 시스템을 구현함에 있어 초저지연 시간을 달성하기 위해 사용자의 관심도를 기반으로 포인트 클라우드 데이터의 밀도를 조절함으로써 사용자가 느끼는 체감 품질의 하락을 최소화 하는 동시에 높은 정보량을 효과적으로 줄일 수 있는 장치 및 방법을 제안한다.
본 문서는 인식된 오브젝트들을 기반으로 포인트 클라우드 데이터의 밀도를 조절함으로써 사용자가 느끼는 체감 품질의 하락을 최소화 하는 동시에 높은 정보량을 효과적으로 줄일 수 있는 장치 및 방법을 제안한다.
본 문서는 인식된 오브젝트들에 대한 사용자 관심도를 기반으로 포인트 클라우드 데이터의 밀도를 조절함으로써 사용자가 느끼는 체감 품질의 하락을 최소화 하는 동시에 높은 정보량을 효과적으로 줄일 수 있는 장치 및 방법을 제안한다.
본 문서는 인식된 오브젝트들의 우선 순위를 기반으로 포인트 클라우드 데이터의 밀도를 조절함으로써 사용자가 느끼는 체감 품질의 하락을 최소화 하는 동시에 높은 정보량을 효과적으로 줄일 수 있는 장치 및 방법을 제안한다.
본 문서는 인식된 오브젝트들의 중요도를 기반으로 포인트 클라우드 데이터의 밀도를 조절함으로써 사용자가 느끼는 체감 품질의 하락을 최소화 하는 동시에 높은 정보량을 효과적으로 줄일 수 있는 장치 및 방법을 제안한다.
본 문서는 3GPP TS 26.114의 MTSI 의 VR (Virtual Reality) 및 TR26.928의 XR (Extended Reality) 포함하며 IMS기반의 Telepresence를 논의하는 3GPP TS26.223 표준을 포함한다. 해당 표준을 통해 이동형 또는 분리형 수신기는 가상 회의에 참석하여 실감형 회의에 참여할 수 있게 된다. 대화형 데이터가 미디어 포멧으로 전달될 수 있는 경우 본 문서는 5G Media Architecture 3GPP TS26.501, TS26.512, TS26.511을 포함한다. 부가적으로 서비스의 구체화를 위해 관련 표준은 TS26.238, TS26.939, TS24.229, TS26.295, TS26.929, TS26.247이 포함될 수 있다. 또한 데이터 처리 관련된 기술은 ISO/IEC JTC 1/SC 29/WG3 NBMP를 포함한다.
다음은 실시간 실감 대화형 서비스에서 오브젝트를 인식하여 대화형 서비스에 적합한 관심 영역을 분류하고, 그 영역별로 서로 다른 수준의 포인트 데이터 밀도를 나누어 최종적으로 서비스 받는 사용자가 체감하는 품질 저하는 최소로 하면서 최적의 포인트 클라우드 세트를 구성할 수 있는 장치 및 방법에 대해 설명한다. 이로 인해, 본 문서는 초저지연을 달성할 수 있고, 효율적으로 대화형 서비스를 제공할 수 있다.
실시예들에 따른 3D 스캐닝 기술이 적용된 디바이스(예: LiDAR)에서 얻은 3D 포인트 클라우드 데이터는 대상 물체의 3D 표면 형상에 대한 정보를 가진다. 3D 스캐닝 디바이스와 같이 피사체의 깊이 정보를 획득할 수 있는 장치들은 보통 범위 안에 있는 모든 오브젝트들의 정보를 획득하게 된다. 하지만 서비스의 종류에 따라 획득되는 오브젝트들에 대한 사용자의 관심도는 다를 수 있다. 예를 들어 실감 대화형 시스템에서 관심도가 가장 높은 오브젝트는 상대방으로 한정할 수 있고, 더 세부적인 영역으로는 상대 얼굴 부위의 관심도가 더 높을 수 있다. 이러한 특성을 고려하여 오브젝트들을 영역별로 나누고 중요도에 따라 사용할 포인트의 개수를 조절하는 방법으로 3D 영상의 품질을 조절할 수 있다.
실감 대화형 시스템에서 오브젝트는 시간에 따라 역동적으로 움직이는 사물이기 때문에 본 문서에서는 역동적인 포인트 클라우드(즉, 포인트 클라우드 데이터)를 압축하기 위해 V-PCC방식을 사용한다.
실시예들에 따르면, 대화형 서비스를 위해 획득된 포인트 클라우드(즉, 포인트 클라우드 데이터)의 압축은 도 8의 포인트 클라우드 비디오 인코더(10002), 도10, 도13, 및/또는 도15의 포인트 클라우드 인코더 등을 이용할 수 있다.
실시예들에 따르면, 압축되어 수신된 포인트 클라우드(즉, 포인트 클라우드 데이터)의 복원은 도8의 포인트 클라우드 비디오 디코더(10008), 도12, 도14, 및/또는 도15 포인트 클라우드 디코더 등을 이용할 수 있다.
실시예들에 따르면, V-PCC와 같이 3D 데이터를 2차원으로 투영하여 인코딩하는 프로젝션 기반의 다른 시스템에서도 본 문서의 기법을 적용할 수 있다.
전술한 바와 같이, V-PCC 코덱을 이용한 인코딩은 3D 포인트 클라우드 데이터를 하나 이상의 2차원의 패치들로 재생산(Patch generation)하고, 하나 이상의 2D 패치들을 2D 평면에 패킹하여 생성된 2D 프레임별로 기존의 2D 비디오 코덱을 사용하여 어큐판시 맵, 지오메트리 정보, 어트리뷰트 정보를 인코딩하는 과정으로 이루어져 있다.
실시예들에 따른 패치 생성 과정은 프레임별 포인트 클라우드 데이터의 6면체로 이루어진 바운딩 박스를 결정하고, 바운딩박스 6면체의 각 표면에 포인트들을 정사영의 형태로 투영(projection)하여 생성한다. 이때 투영된 면의 속성 정보, 패치의 크기와 패치간 상대적 위치 정보 등 각 패치들이 공통으로 공유하는 정보(atlas)는 메타 데이터(즉, 부가 패치 정보)로 구분하고, 6개의 표면에 투영되는 각각의 패치들은 각 포인트들의 3D 지오메트리 정보(즉, geometry map), 색상 및 기타 정보(즉, attribute map) 및 각 면에서 패치에 해당되는 영역과 해당되지 않는 영역을 구분하는 어큐판시 영역정보(즉, occupancy map) 3가지로 형태로 생성된다. 이와 같이 생성된 프레임당 3가지 패치 데이터는 각각 비디오 코덱으로 인코딩 과정을 거치게 된다. 여기서, 설명되지 않거나 생략된 부분은 도 10, 도 13의 포인트 클라우드 인코더의 상세 설명을 참조하기로 한다.
전술한 인코딩 과정을 살펴보면, 최종적으로 생성하는 3D 영상의 품질과 데이터의 크기를 결정하는데 가장 큰 요소로 작용하는 것은 초기에 획득된 포인트 클라우드 데이터를 기반으로 생성되는 2D 패치 데이터라 할 수 있다.
따라서 본 문서에서는 2D 패치 데이터를 생성할 때 특정 영역을 구분하여 투영되는 데이터를 조절하는 방법을 제안하고, 실감 대화형 시스템에 적용하여 품질 조절이 가능하도록 하고자 한다.
이를 위해, 본 문서에서 송신 장치는 밀도 제어부를 더 포함할 수 있다. 상기 밀도 제어부는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 결합 등으로 구현될 수 있다.
실시예들에 따르면, 상기 밀도 제어부는 도 10의 패치 제너레이션부(14000)에 포함될 수도 있고 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 후자의 경우, 밀도 제어부는 패치 제너레이션부(14000)의 전단에 구비될 수 있다.
실시예들에 따르면, 상기 밀도 제어부는 도 13의 패치 생성부(18000)에 포함되거나 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 후자의 경우, 밀도 제어부는 패치 생성부(18000)의 전단에 구비될 수 있다.
실시예들에 따른 밀도 제어부는 오브젝트 인식 및 분류와 중요도 레벨 적용 과정을 포함할 수 있다. 상기 오브젝트 인식 및 분류와 중요도 레벨 적용 과정은 인식된 오브젝트들의 좌표 영역 추출 및 중요도 레벨 적용 과정을 포함할 수 있다.
실시예들에 따른 밀도 제어부는 바운딩 박스 각 면에 생성될 패치 데이터에 적용할 필터맵을 생성 및 적용 과정을 포함할 수 있다.
그리고, 필터 맵 생성에 필요한 입력 데이터는 패치 데이터, 인식된 좌표 영역, 및/또는 중요도 레벨 정보를 포함할 수 있다.
실시예들에 따른 포인트 클라우드 데이터의 패치 생성 과정에서 영역(예, 오브젝트)별로 우선 순위를 적용하여 밀도를 조절하기 위해서는 우선적으로 오브젝트를 인식하고 적절하게 분류되어야 한다.
도 24는 실시예들에 따른 포인트 클라우드 데이터의 밀도를 제어하는 예시를 보인 도면이다.
즉, 캡쳐된 포인트 클라우드 데이터를 하나 이상의 오브젝트들로 분류하고 분류된 각 오브젝트의 위치 정보를 추출하는 단계(21001), 분류된 각 오브젝트에 중요도 레벨을 맵핑하는 단계(21002), 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 필터를 적용하여 오브젝트별로 밀도를 조절하는 단계(21003), 및 밀도가 조절된 오브젝트들을 기반으로 하나 이상의 패치들을 생성하고, 생성된 하나 이상의 패치들을 2D 평면에 패킹시키는 단계(21004)를 포함할 수 있다.
단계 21001에서 포인트 클라우드 데이터로부터 오브젝트들을 분류하기 위하여 오브젝트를 인식하는 단계를 포함할 수 있다. 본 문서에서 사용하는 오브젝트 인식 기술은 범용적인 2D 이미지 기반 인식 기술을 사용할 수 있다. 만일, 실시간 피드백 정보가 수신된다면 오브젝트 인식 과정이 생략될 수 있다.
단계 21001에서 오브젝트의 분류는 포인트 클라우드 데이터를 포함하는 3D 프레임을 기반으로 수행될 수도 있고, 또는 3D 프레임 내 바운딩박스를 기반으로 수행될 수도 있다.
실시예들에 따르면, 바운딩박스는 포인트 클라우드의 포인트들을 담을 수 있는 육면체를 의미한다. 따라서, 포인트 클라우드 내 포인트들의 최소값과 최대값의 차이가 바운딩 박스의 모서리 길이가 된다.
즉, 3D 공간 상에 오브젝트가 위치할 때, 이를 바운딩박스로 나타낼 수 있다. 이때, 하나의 3D 프레임 상에서 바운딩박스는 하나 또는 여러 개가 있을 수 있다. 다시 말해, 바운딩박스는 포인트 클라우드 전체에 대해 적용할 수도 있고 또는 포인트 클라우드 일부분에 대해서 적용할 수도 있다. 전자의 경우 바운딩박스는 전체 포인트 클라우드의 모든 포인트들을 포함하고, 후자의 경우 전체 포인트 클라우드의 일부분의 포인트들을 포함할 수 있다. 예를 들어, 대화형 서비스에서 2명의 사용자가 프레임 내 위치한다면, 해당 프레임에 2개의 바운딩박스가 있을 수 있다.
실시예들에 따르면, 바운딩박스는 하나의 오브젝트를 포함할 수도 있고, 또는 복수개의 오브젝트들을 포함할 수도 있다. 다시 말해, 여러 개의 오브젝트들을 묶어 하나의 바운딩박스를 생성할 수도 있고, 각 오브젝트 단위로 바운딩박스를 생성할 수도 있다. 또한, 하나의 오브젝트는 복수개의 오브젝트들로 다시 분류될 수도 있다. 예를 들어, 오브젝트가 사람의 얼굴이라면, 이 오브젝트는 다시 이마, 코, 눈, 입 등의 오브젝트(또는 서브 오브젝트라함)들로 구분될 수 있다.
실시예들에 따르면, 단계 21001는 포인트 클라우드 데이터를 바운딩박스 면에 2차원으로 투영(projection)하고, 투영된 2D 이미지 데이터를 이용하여 오브젝트를 인식하고 분류할 수 있다.
단계 21002는 분류된 오브젝트들의 각 위치 정보(예, 좌표 영역)와 크기 정보를 획득하여 시그널링하고, 분류된 오브젝트들에 중요도 레벨을 맵핑한다. 실시예들에 따르면, 본 문서는 오브젝트별로 중요도 레벨 또는 우선 레벨(priority level)을 테이블 형태로 미리 저장한 후, 이 테이블을 기반으로 오브젝트들에 중요도 레벨을 맵핑시킬 수 있다.
단계 21003는 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 필터를 적용하여 각 오브젝트의 밀도를 다르게 조절할 수 있다. 여기서, 필터는 프레임 단위 또는 바운딩 박스 단위로 변경될 수 있다. 예를 들어, 가장 중요도 레벨이 높은 오브젝트에 대해서는 밀도(즉, 포인트들의 개수)를 조절하지 않고, 나머지 오브젝트들에 대해서 중요도 레벨에 따라 밀도를 다르게 조절할 수 있다. 만일, 분류된 오브젝트가 얼굴, 몸, 눈, 입이고, 이 중 입의 중요도 레벨이 가장 높다면, 입에 포함되는 포인트들의 개수는 변함이 없고, 나머지 얼굴, 몸, 눈은 중요도 레벨에 따라 포인트들의 개수가 줄일 수 있다. 즉, 오브젝트에 포함되는 포인트들의 개수를 조절하면, 그 오브젝트의 밀도가 달라진다. 예를 들어, 오브젝트에 포함된 포인트들의 개수를 줄이면, 그 오브젝트의 밀도는 낮아지게 된다.
단계 21004에서는 밀도가 조절된 오브젝트들에 포함된 포인트들을 기반으로 법선 벡터 값 계산, 세그멘테이션, 패치 분할 과정을 수행하여 하나 이상의 패치들을 생성하고, 생성된 하나 이상의 패치들을 2D 평면에 패킹시킨다. 실시예들에 따르면, 하나 이상의 패치들을 서로 겹치지 않게 2D 평면(즉, 2D 프레임)에 패킹함으로써, 이를 기반으로 3개의 2D 프레임 즉, 어큐판시 맵을 포함하는 2D 프레임, 지오메트리 정보를 포함하는 2D 프레임, 어트리뷰트 정보를 포함하는 2D 프레임을 생성할 수 있다.
다음은 본 문서에서 사용되는 용어의 정의이다.
어큐판시 맵(occupancy map): point cloud를 이루는 점들을 패치(patch)로 나누어 2D 평면에 맵핑할 때 2D 평면의 해당 위치에 데이터가 존재하는지 여부를 0 또는 1의 값으로 알려주는 2진 맵 (binary map)이다.
패치(patch): point cloud를 구성하는 포인트들의 집합으로, 같은 patch에 속하는 포인트들은 3D 공간상에서 서로 인접해 있으며 2D 이미지로의 맵핑 과정에서 6면의 bounding box 평면 중 같은 방향으로 맵핑됨을 나타낸다.
지오메트리 이미지(geometry image): point cloud를 이루는 각 포인트들의 위치 정보 (geometry)를 표현하는 depth map 형태의 이미지이다. 지오메트리(geometry)는 포인트 클라우드 프레임에 연관된 좌표들의 세트를 나타낸다.
텍스쳐 이미지(texture image): point cloud를 이루는 각 포인트들의 색상 정보를 표현하는 이미지이다. 텍스쳐 이미지는 복수 채널의 픽셀 값 (e.g. 3채널 R, G, B)으로 구성될 수 있다. 텍스쳐는 어트리뷰트에 포함된다. 실시예들에 따라서, 텍스쳐 및/또는 어트리뷰트는 동일한 대상 및/또는 포함관계로 해석될 수 있다.
부가 패치 정보(auxiliary patch info): 개별 패치들로부터 포인트 클라우드를 재구성하기 위해 필요한 메타 데이터를 나타낸다. 부가 패치 정보는 patch의 2D/3D 공간에서의 위치, 크기 등에 대한 정보를 포함할 수 있다.
도 25는 실시예들에 따라 오브젝트를 인식하여 분류한 후 각 오브젝트들의 좌표 정보 추출과 중요도 레벨을 맵핑하는 과정을 나타낸 도면이다.
도 25는 캡쳐된 포인트 클라우드 데이터를 바운딩박스 상에 프로젝션하는 단계, 오브젝트를 인식하고 분류하는 단계, 및 분류된 오브젝트의 위치 추출 및 분류된 오브젝트에 중요도 레벨을 매핑하는 단계를 포함할 수 있다.
도 25에서, 단계 1은 카메라 등을 이용하여 획득된 포인트 클라우드 데이터를 패치 생성을 위해 바운딩박스 면에 2차원으로 투영한다.
단계 2는 바운딩박스 면에 투영된 2D 이미지 데이터를 이용하여 하나 이상의 오브젝트들을 인식하고 분류한다. 본 문서에서 사용하는 오브젝트 인식 기술은 범용적인 2D 이미지 기반의 인식 기술을 사용할 수 있다. 도 25는 단계 1의 바운딩박스로부터 5개의 오브젝트들(예, 이마, 눈, 코, 입, 몸)이 인식되어 분류된 예시를 보이고 있다.
오브젝트들의 인식이 완료되면, 단계 3에서는 인식된 오브젝트들의 좌표 영역(즉, 위치 정보)을 추출하고 오브젝트의 종류에 따라 사전에 정의된 중요도 레벨을 분류된 각 오브젝트에 맵핑한다. 이를 위해서는 오브젝트들의 종류에 따라 사전에 정의된 레벨 맵핑 테이블 (LM Table: Level Mapping Table) 을 참조할 수 있다.
아래 표 2는 LM 테이블의 예시를 보여준다.
오브젝트 분류(object classification) | 중요도 레벨(priority level) |
얼굴(face) | 2 |
몸(body) | 3 |
눈(eye) | 1 |
입(mouse) | 1 |
기타 | 5 |
... | ... |
위에서와 같이 분류된 5개의 오브젝트가 이마, 눈, 코, 입, 몸이라고 가정하면, 표 2를 기반으로 눈과 입에 가장 높은 중요도 레벨이 맵핑됩니다. 실시예들에 따르면, 본 문서에서는 하나의 오브젝트에 하나의 중요도 레벨이 맵핑될 수도 있지만, 복수개의 오브젝트들에 동일한 중요도 레벨이 맵핑될 수 있다.실시예들에 따르면, LM 테이블은 계속적으로 업데이트될 수 있으며, 오브젝트 인식과 분류 및 LM 테이블 생성에 머신러닝 기술이 적용될 수 있다. 만약 실시간으로 상대방 사용자의 관심 영역(즉, 오브젝트)에 대한 피드백 정보를 수신한 경우라면, 해당 영역을 높은 레벨로 구분하여 LM 테이블을 업데이트하고 사용할 수 있다. 만약 실시간 피드백 정보가 수신되었다면 오브젝트 인식 과정이 생략될 수 있다.
실시예들에 따르면, 중요도 레벨은 사용자의 관심도, 서비스 종류, 포인트들의 개수 등에 따라 달라질 수 있다. 예를 들어, 서비스의 종류가 대화형 서비스라면 사용자의 눈이나 입의 중요도 레벨이 높게 설정될 수 있다. 다른 예로, 포인트들을 가장 많이 포함하는 오브젝트의 중요도 레벨이 높게 설정될 수도 있다. 여기서, 각 오브젝트의 중요도는 미리 설정되어 LM 테이블에 저장될 수도 있고, 또는 사용자의 관심도, 서비스의 종류, 포인트들의 개수 등에 따라 서비스 중에 적응적으로 설정될 수도 있다.
단계 2에서 인식되고 선별된 오브젝트들은 좌표 정보(즉, 위치 정보)와 중요도 정보로 가공되어 다음 필터링 과정에서 입력 데이터로 사용되게 된다. 이를 위한 데이터 포맷은 도 26과 같으며, 구현상에서 바이너리 데이터로 사용할 수도 있다.
도 26은 실시예들에 따른 바운딩박스와 오브젝트들과의 관계를 보인 시그널링 정보의 신택스 및 시멘틱스의 예시를 보인 도면이다. 실시예들에 따르면, 도 26의 시그널링 정보는 부가 패치 정보에 포함되어 수신 장치로 전송될 수 있다.
도 26은 2개의 바운딩박스가 있고, 각 바운딩박스별로 2개의 오브젝트들이 인식되어 분류된 예시를 보이고 있다.
도 26에서, BBWidth는 바운딩박스의 폭 크기를 나타낸다.
BBHeight는 바운딩박스의 높이 크기를 나타낸다. 즉, BBWidth와 BBHeight를 이용하여 바운딩박스의 크기를 알 수 있다.
여기서, BBWidth와 BBHeight은 바운딩박스별로 시그널링될 수도 있고, 또는 공통으로 모든 바운딩박스에 대해 한번만 시그널링될 수도 있다.
BBId는 바운딩박스를 식별하기 위한 바운딩박스 식별자(id)를 나타낸다.
Obj는 BBId에 의해 식별된 바운딩박스에서 인식된 오브젝트를 나타낸다.
Cor는 각 오브젝트의 좌표 정보(또는 위치 정보)를 나타낸다. 좌표 정보는 해당 오브젝트의 x, y 좌표 값과 그 오브젝트의 폭 크기 값과 높이 크기 값을 포함할 수 있다. 즉, 인식된 오브젝트의 영역을 나타내는 좌표 정보는 기준이 되는 포인트(x0, y0)와 영역의 크기를 알 수 있는 (w,h)로 정의할 수 있으며, 사용하는 좌표계에 따라 변형하여 사용할 수 있다. 실시예들에 따르면, 바운딩박스 내 각 오브젝트는 Cor 값에 의해 식별될 수 있다. 다른 예로, 시그널링 정보에 오브젝트별로 오브젝트 식별자를 더 포함시켜, 바운딩박스 내 각 오브젝트를 식별할 수도 있다.
Level은 각 오브젝트에 맵핑된 중요도 레벨(priority level) 값을 나타낸다.
도 26은 각 바운딩박스에서 2개의 오브젝트들이 인식되어 분류된 예를 보이고 있지만 이는 당업자의 이해를 돕기 위한 실시예이다. 각 바운딩박스에서 인식되어 분류되는 오브젝트들의 개수는 바운딩박스마다 동일할 수도 있고 또는 다를 수도 있다. 도 25는 하나의 바운딩박스에서 5개의 오브젝트들이 인식되어 분류된 예시를 보인다.
실시예들에 따르면, 포인트 클라우드 데이터를 이용해 3D 영상을 제작할 때는 최종적으로 각 포인트들을 연결하여 메쉬(mesh) 형태의 면을 만들어야 한다. 일반적으로 사용자가 느끼는 영상의 품질에 가장 큰 영향을 주는 요소는 각 면들을 이루는 모서리(edge) 부분의 명확도이며 이를 통해 더 선명함을 느끼게 된다.
도 27은 실시예들에 따른 LOD 별 포인트 구성의 예시를 나타낸다. 즉, 도 27(a) 내지 도 27(c)는 포인트 개수에 따른 메쉬 재구조화 선명도를 비교한 도면이다.
도 27에서와 같이, 포인트들의 개수가 많으면 많을수록 후에 생성될 메쉬 구조의 면들이 더 세밀해지고 선명해질 수 있다. LoD-1(도 27(a))은 포인트의 밀도가 가장 적을 때를 나타내고 LoD-3(도 27(c))으로 갈수록 포인트의 밀도가 높아질 경우의 예시를 나타낸다.
즉, 가장 낮은 LOD의 포인트들은 드문드문(sparse) 분포하며(이는 밀도가 낮음을 의미), 가장 높은 LOD의 포인트들은 촘촘히 분포한다(이는 밀도가 높음을 의미). 즉, 도 27의 하단에 표시된 화살표 방향에 따라 LOD가 증가할수록 포인트들 간의 간격(또는 거리)는 더 짧아진다.
따라서, 특정 오브젝트를 구성하는 포인트들의 개수를 조절하면, 그 오브젝트의 포인트들의 밀도가 달라지므로, 수신기에서 그 오브젝트를 복원했을 때 그 오브젝트의 선명도가 달라지게 된다.
도 28(a), 도 28(b)는 실시예들에 따른 오브젝트 영역별 밀도 차이에 의한 선명도 차이의 예시를 보인 도면이다.
도 28(a), 도 28(b)에서와 같이 특정 오브젝트의 부분적인 특성을 세부적으로 분석해 보면, 윤곽을 구분하는데 사용되는 포인트들이 있는 반면 상대적으로 그렇지 않은 포인트가 있을 수 있다. 도 28(a), 도 28(b)에서 (R1) 영역은 (R2) 영역보다 상대적으로 오브젝트의 윤곽을 표현하는 곳이 많기 때문에 밀도가 높아야 더 선명한 품질로 제공할 수 있다. 하지만 영역 (R2)는 윤곽을 표현하는 곳이 상대적으로 적기 때문에 밀도가 다소 낮더라도 사용자의 체감 품질에는 낮은 영향을 주게 된다.
이러한 특성을 이용하여 본 문서는 2차원으로 획득된 패치데이터와 상기 과정을 통해 생성된 2D 패치들의 영역별 위치정보와 중요도 정보를 입력으로 필터를 생성하고 적용하여 밀도를 조절한다. 여기서, 2D 패치들의 영역은 오브젝트가 될 수도 있고, 오브젝트 내 특정 영역이 될 수도 있다.
도 29는 실시예들에 따른 바운딩박스의 특정 영역(예, 오브젝트)에서 픽셀 단위로 필터맵을 적용하는 예시를 보인 도면이다.
도 29의 (a) 와 (b)는 패치데이터에 인식된 영역별 위치 정보를 적용하는 과정의 예시를 보이고 있다. 도 29의 (b)와 같이 픽셀 단위의 바이너리 데이터로 구성된 패치 데이터에서 인식된 좌표 영역을 추출하고 해당 영역의 픽셀 데이터의 생존 여부를 특정 필터를 통해 조절할 수 있다. 도 29의 (c)는 중요도 레벨에 따른 필터 맵핑의 예시를 보인 도면이다. 만일, 포인트 클라우드 데이타를 이용한 서비스가 3GPP 기반의 대화형 서비스라면, 사용자의 관심도는 얼굴이 가장 높을 것이며, 특히 얼굴 중에서 눈(22001)이나 입이 가장 중요할 수 있다. 그리고, 얼굴 아래(22002)는 상대적으로 덜 중요할 수 있다. 이 경우, 눈(22001)이 포함된 영역(또는 오브젝트)에 가장 높은 중요도 레벨이 맵핑되고, 얼굴 아래(22002)가 포함된 영역(또는 오브젝트)는 눈(22001)보다 낮은 중요도 레벨이 맵핑될 수 있다.
도 30(a) 내지 도 30(d)는 실시예들에 따른 특정 영역의 엔트로피를 조절할 수 있는 함수 필터들의 예시를 보인 도면이다. 본 문서에서는 다양한 함수 필터들이 사용될 수 있으며, 해당 영역의 위치 정보와 중요도 레벨에 따라 사용되는 함수 필터가 달라질 수 있다. 여기서, 해당 영역은 오브젝트가 될 수도 있고, 또는 오브젝트 내 특정 영역이 될 수도 있다.
도 30(a)는 가우시안 기반(Gaussian-based) 함수 필터의 예시를 보인 것으로서, 해당 영역의 중심의 중요도가 높아 해당 영역의 중심의 밀도를 가장 높게 유지하기 위해 사용될 수 있다.
도 30(b)는 시그모이드 기반(Sigmoid-based) 함수 필터의 예시를 보인 것로서, 해당 영역의 좌측의 중요도가 높아 해당 영역의 좌측의 밀도를 가장 높게 유지하기 위해 사용될 수 있다. 즉, 도 30(b)는 Sigmoid-based로 가장 오른쪽 영역의 엔트로피를 높은 것으로 설정하는 것이다.
도 30(c)는 역 시그모이드 기반(Invere sigmoid-based) 함수 필터의 예시를 보인 것으로서, 해당 영역의 우측의 중요도가 높아 해당 영역의 우측의 밀도를 가장 높게 유지하기 위해 사용될 수 있다. 도 30(c)는 도 30(b)의 역(inverse)로 설정이 가능하다.
도 30(d)는 바이젝션 기반(Bijection-based) 기반 함수 필터의 예시를 보인 것으로서, 해당 영역의 중요도가 비슷할 때 사용될 수 있다. 만일, 모든 영역의 밀도를 동일하게 또는 모든 포인트 데이터를 유지하고자 한다면 도 30(d)와 같은 bijection-based를 사용할 수도 있다.
즉, 해당 영역(바운딩박스 또는 오브젝트)에 적용되는 함수 필터의 종류에 따라 그 영역에서 생존되는 포인트들의 위치와 개수가 달라질 수 있다.
도 30(a)는 특정 영역의 중심이 가장 중요도가 높은 경우의 예시이며, 이 경우 Gaussian-based함수 필터로 중심 영역의 엔트로피를 가장 높게 설정하고 사이드로 갈수록 낮아지게 하여 해당 영역의 밀도를 조절할 수 있다. 도 30(a)의 가우시안 기반(Gaussian-based) 함수 필터의 경우, 중심 영역의 밀도를 가장 높게 설정할 수 있다.
실시예들에 따르면, 도 30(a)에서 23001은 프레임 또는 바운딩박스가 될 수 있고, 23002는 가장 높은 중요도 레벨을 갖는 오브젝트(또는 영역)가 될 수 있다.
이때, 가우시안 기반 함수 필터를 적용하게 되면, 23002에 해당하는 오브젝트(또는 영역)의 밀도는 변함이 없고, 23002 영역을 제외한 나머지 영역들의 밀도가 가우시안 기반 함수에 따라 달라지게 된다. 다시 말해, 23002에 해당하는 오브젝트(또는 영역)에 포함된 포인트들은 모두 생존하고, 23002 영역을 제외한 나머지 영역들에 포함된 포인트들은 일부만 생존하게 된다. 이때, 생존된 포인트들의 개수는 영역마다 달라질 수 있다.
즉, 본 문서는 바운딩박스를 기반으로 오브젝트들을 분류하고, 분류된 각 오브젝트에 중요도 레벨을 맵핑한 후, 가장 높은 중요도 레벨을 갖는 오브젝트를 제외한 나머지 오브젝트들의 밀도를 낮춤으로써, 바운딩박스에 포함되는 포인트들의 전체 밀도를 조절하게 된다.
이때, 적용되는 함수 필터는 프레임마다 달라질 수도 있고, 바운딩박스마다 달라질 수도 있다. 즉, 본 문서에서 사용되는 함수 필터는 프레임 단위로 또는 바운딩박스 단위로 선택 및 적용될 수 있다. 예를 들어, 하나의 프레임에 2개의 바운딩박스가 포함되고, 각 바운딩 박스에서 가장 높은 중요도 레벨이 맵핑된 오브젝트의 위치 정보에 따라 2개의 바운딩박스에 동일한 함수 필터가 적용될 수도 있고, 다른 함수 필터가 적용될 수도 있다.
이상에서와 같이 본 문서는 오브젝트의 중요도에 따라 오브젝트별로 밀도를 다르게 조절함으로써, 오브젝트의 중요도와 상관없이 일률적으로 밀도를 조절하는 것이 비해 중요도가 높은 부분에서 더 선명한 화질을 얻을 수 있다.
전술한 바와 같이 오브젝트별로 밀도를 조절하게 되면, 그 오브젝트들을 포함하는 바운딩박스로부터 생성된 패치들에 포함되는 포인트들의 개수가 달라지게 된다. 이는 오브젝트의 밀도가 달라지면, 해당 바운딩박스의 면에 투영되는 포인트들의 개수가 달라지기 때문이다.
그리고, 포인트들의 개수가 달라진 패치들은 패치 패킹부에서 서로 겹치지 않게 2D 평면에 패킹된다. 상기 패치 패킹부는 도 10의 패치 패킹부(14001) 또는 도 13의 패치 패킹부(18001)가 될 수 있다.
패치 패킹부는 밀도가 조절되어 생성된 패치들을 2D 평면에 맵핑하는 패치 패킹 과정을 수행한다. 패치 패킹의 결과물로 어큐판시 맵 (occupancy map)이 생성되며, 어큐판시 맵은 지오메트리 이미지 생성, 지오메트리 이미지 패딩, 텍스처 이미지 패딩, 및/또는 스무딩을 위한 지오메트리 복원과정에 사용될 수 있다. 즉, 하나 이상의 패치들을 2D 평면에 패킹하면서 포인트가 존재하는 픽셀에 대하여 포인트 클라우드의 지오메트리 정보를 저장하는 지오메트리 이미지와 색상(texture) 정보를 저장하는 텍스처 이미지를 각각 생성할 수 있다. 여기서, 어큐판시 맵은 각 픽셀에 대하여 포인트의 존재 유무를 0 또는 1로 나타낸다.
상기 패치 패킹 과정 및 이후의 동작은 도 8 내지 도 11, 도 13, 그리고 도 15에서 상세히 설명하였으므로 여기서는 중복 설명을 피하기 위해 생략하기로 한다.
실시예들에 따르면, 부가 패치 정보는 바운딩박스에 포함되는 오브젝트별로, 각 오브젝트의 위치 정보와 중요도 레벨 정보를 포함할 수 있다.
도 8 내지 도 11, 도 13, 그리고 도 15에서 인코딩 과정을 거쳐 압축된 지오메트리 정보, 어트리뷰트 정보, 어큐판시 맵 정보 및 부가 패치 정보는 수신 장치로 전송된다.
실시예들에 따른 수신 장치는 도 8의 수신 장치, 도 12 또는 도 14의 포인트 클라우드 비디오 디코더 및/또는 도 15의 수신 장치에 대응하거나 그것들의 동작을 일부/전부 수행할 수 있다. 수신 장치의 각 구성요소는 소프트웨어, 하드웨어, 프로세서 및/또는 그것들의 조합에 대응할 수 있다.
포인트 클라우드 데이터의 복원 과정은 도 8, 도 12, 도 14, 그리고 도 15에서 상세히 설명하였으므로 여기서는 중복 설명을 피하기 위해 생략하기로 한다.
상기 부가 패치 정보에 포함된 바운딩박스 및 오브젝트 관련 정보는 수신 장치의 파셜 디코딩, 2D 데이터로부터 3D 데이터를 복원할 때 등에 사용될 수도 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 실시예들의 권리범위에 속한다. 실시예들에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
실시예들의 장치의 다양한 구성요소들은 하드웨어, 소프트웨어, 펌웨어 또는 그것들의 조합에 의해 수행될 수 있다. 실시예들의 다양한 구성요소들은 하나의 칩, 예를 들면 하나의 하드웨어 서킷으로 구현될 수 있다 실시예들에 따라, 실시예들에 따른 구성요소들은 각각 별도의 칩들로 구현될 수 있다. 실시예들에 따라, 실시예들에 따른 장치의 구성요소들 중 적어도 하나 이상은 하나 또는 그 이상의 프로그램들을 실행 할 수 있는 하나 또는 그 이상의 프로세서들로 구성될 수 있으며, 하나 또는 그 이상의 프로그램들은 실시예들에 따른 동작/방법들 중 어느 하나 또는 그 이상의 동작/방법들을 수행시키거나, 수행시키기 위한 인스트럭션들을 포함할 수 있다. 실시예들에 따른 장치의 방법/동작들을 수행하기 위한 실행 가능한 인스트럭션들은 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적이지 않은 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있거나, 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적인 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있다. 또한 실시예들에 따른 메모리는 휘발성 메모리(예를 들면 RAM 등)뿐 만 아니라 비휘발성 메모리, 플래쉬 메모리, PROM등을 전부 포함하는 개념으로 사용될 수 있다. 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함될 수 있다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이 문서에서 “/”와 “,”는 “및/또는”으로 해석된다. 예를 들어, “A/B”는 “A 및/또는 B”로 해석되고, “A, B”는 “A 및/또는 B”로 해석된다. 추가적으로, “A/B/C”는 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 또한, “A, B, C”도 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 추가적으로, 이 문서에서 “또는”는 “및/또는”으로 해석된다. 예를 들어, “A 또는 B”은, 1) “A” 만을 의미하고, 2) “B” 만을 의미하거나, 3) “A 및 B”를 의미할 수 있다. 달리 표현하면, 본 문서의 “또는”은 “추가적으로 또는 대체적으로(additionally or alternatively)”를 의미할 수 있다.
제1, 제2 등과 같은 용어는 실시예들의 다양한 구성요소들을 설명하기 위해 사용될 수 있다. 하지만 실시예들에 따른 다양한 구성요소들은 위 용어들에 의해 해석이 제한되어서는 안된다. 이러한 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위해 사욛외는 것에 불과하다. 것에 불과하다. 예를 들어, 제1 사용자 인풋 시그널은 제2사용자 인풋 시그널로 지칭될 수 있다. 이와 유사하게, 제2사용자 인풋 시그널은 제1사용자 인풋시그널로 지칭될 수 있다. 이러한 용어의 사용은 다양한 실시예들의 범위 내에서 벗어나지 않는 것으로 해석되어야만 한다. 제1사용자 인풋 시그널 및 제2사용자 인풋 시그널은 모두 사용자 인풋 시그널들이지만, 문맥 상 명확하게 나타내지 않는 한 동일한 사용자 인풋 시그널들을 의미하지 않는다.
실시예들을 설명하기 위해 사용된 용어는 특정 실시예들을 설명하기 위한 목적으로 사용되고, 실시예들을 제한하기 위해서 의도되지 않는다. 실시예들의 설명 및 청구항에서 사용된 바와 같이, 문맥 상 명확하게 지칭하지 않는 한 단수는 복수를 포함하는 것으로 의도된다. 및/또는 표현은 용어 간의 모든 가능한 결합을 포함하는 의미로 사용된다. 포함한다 표현은 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들이 존재하는 것을 설명하고, 추가적인 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들을 포함하지 않는 것을 의미하지 않는다. 실시예들을 설명하기 위해 사용되는, ~인 경우, ~때 등의 조건 표현은 선택적인 경우로만 제한 해석되지 않는다. 특정 조건을 만족하는 때, 특정 조건에 대응하여 관련 동작을 수행하거나, 관련 정의가 해석되도록 의도되었다.
또한, 본 문서에서 설명하는 실시예들에 따른 동작은 실시예들에 따라서 메모리 및/또는 프로세서를 포함하는 송수신 장치에 의해 수행될 수 있다. 메모리는 실시예들에 따른 동작을 처리/제어하기 위한 프로그램들을 저장할 수 있고, 프로세서는 본 문서에서 설명한 다양한 동작을 제어할 수 있다. 프로세서는 컨트롤러 등으로 지칭가능하다. 실시예들에 동작들은 펌웨어, 소프트웨어, 및/또는 그것들의 조합에 의해 수행될 수 있고, 펌웨어, 소프트웨어, 및/또는 그것들의 조합은 프로세서에 저장되거나 메모리에 저장될 수 있다.
한편, 상술한 실시예들에 따른 동작은 실시예들 따른 송신 장치 및/또는 수신 장치에 의해서 수행될 수 있다. 송수신 장치는 미디어 데이터를 송수신하는 송수신부, 실시예들에 따른 프로세스에 대한 인스트럭션(프로그램 코드, 알고리즘, flowchart 및/또는 데이터)을 저장하는 메모리, 송/수신 장치의 동작들을 제어하는 프로세서를 포함할 수 있다.
프로세서는 컨트롤러 등으로 지칭될 수 있고, 예를 들어, 하드웨어, 소프트웨어, 및/또는 그것들의 조합에 대응할 수 있다. 상술한 실시예들에 따른 동작은 프로세서에 의해 수행될 수 있다. 또한, 프로세서는 상술한 실시예들의 동작을 위한 인코더/디코더 등으로 구현될 수 있다.
상술한 바와 같이, 실시예들을 실시하기 위한 최선의 형태에서 관련 내용을 설명하였다.
상술한 바와 같이, 실시예들은 포인트 클라우드 데이터 송수신 장치 및 시스템에 전체적 또는 부분적으로 적용될 수 있다.
당업자는 실시예들의 범위 내에서 실시예들을 다양하게 변경 또는 변형할 수 있다.
실시예들은 변경/변형들을 포함할 수 있고, 변경/변형은 청구항들 및 그 와 동일한 것들의 범위를 벗어나지 않는다.
Claims (15)
- 포인트들을 포함하는 포인트 클라우드 데이터를 전처리하는 단계;상기 전처리된 포인트 클라우드 데이터를 인코딩하는 단계; 및상기 인코딩된 포인트 클라우드 데이터와 시그널링 데이터를 전송하는 단계를 포함하며,상기 전처리 단계는,상기 포인트 클라우드 데이터를 복수개의 오브젝트들로 분류하는 단계,상기 분류된 오브젝트들 각각에 중요도 레벨을 맵핑하는 단계, 및상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들 중 적어도 하나의 오브젝트의 밀도를 제어하는 단계를 포함하는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서, 상기 전처리 단계는,상기 적어도 하나의 오브젝트에 포함되는 포인트들의 개수를 조절하여 상기 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서, 상기 전처리 단계는,상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 프레임에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서, 상기 전처리 단계는,상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 바운딩박스에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서, 상기 전처리 단계는,상기 밀도가 제어된 적어도 하나의 오브젝트를 포함하는 바운딩박스의 포인트들을 기반으로 하나 이상의 패치들을 생성하는 단계;상기 하나 이상의 패치들을 2D 평면에 패킹하는 단계; 및상기 2D 평면에 패킹된 하나 이상의 패치들과 상기 시그널링 데이터를 기반으로 어큐판시 맵, 지오메트리 정보, 및 어트리뷰트 정보를 생성하는 단계를 포함하는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서, 상기 시그널링 데이터는적어도 상기 분류된 각 오브젝트의 위치 정보 또는 중요도 레벨 정보를 포함하는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서,상기 분류된 각 오브젝트의 중요도 레벨은 테이블 형태로 미리 저장되어 있는 포인트 클라우드 데이터 송신 방법.
- 제 1 항에 있어서, 상기 전처리 단계는상기 포인트 클라우드 데이터로부터 복수개의 오브젝트들을 인식하는 단계를 더 포함하는 포인트 클라우드 데이터 송신 방법.
- 포인트들을 포함하는 포인트 클라우드 데이터를 전처리하는 전처리부;상기 전처리된 포인트 클라우드 데이터를 인코딩하는 인코딩부; 및상기 인코딩된 포인트 클라우드 데이터와 시그널링 데이터를 전송하는 전송부를 포함하며,상기 전처리부는,상기 포인트 클라우드 데이터를 복수개의 오브젝트들로 분류하고, 상기 분류된 오브젝트들 각각에 중요도 레벨을 맵핑하며, 상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들 중 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 장치.
- 제 9 항에 있어서, 상기 전처리부는,상기 적어도 하나의 오브젝트에 포함되는 포인트들의 개수를 조절하여 상기 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 장치.
- 제 9 항에 있어서, 상기 전처리부는,상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 프레임에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 장치.
- 제 9 항에 있어서, 상기 전처리부는,상기 분류된 각 오브젝트의 위치 정보와 중요도 레벨을 기반으로 상기 오브젝트들을 포함하는 바운딩박스에 필터를 적용하여 상기 적어도 하나의 오브젝트의 밀도를 제어하는 포인트 클라우드 데이터 송신 장치.
- 제 9 항에 있어서, 상기 전처리부는,상기 밀도가 제어된 적어도 하나의 오브젝트를 포함하는 바운딩박스의 포인트들을 기반으로 하나 이상의 패치들을 생성하는 패치 생성부;상기 하나 이상의 패치들을 2D 평면에 패킹하는 패치 패킹부; 및상기 2D 평면에 패킹된 하나 이상의 패치들과 상기 시그널링 데이터를 기반으로 어큐판시 맵, 지오메트리 정보, 및 어트리뷰트 정보를 생성하는 생성부를 포함하는 포인트 클라우드 데이터 송신 장치.
- 제 9 항에 있어서, 상기 시그널링 데이터는적어도 상기 분류된 각 오브젝트의 위치 정보 또는 중요도 레벨 정보를 포함하는 포인트 클라우드 데이터 송신 장치.
- 제 9 항에 있어서,상기 분류된 각 오브젝트의 중요도 레벨은 테이블 형태로 미리 저장되어 있는 포인트 클라우드 데이터 송신 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0171124 | 2021-12-02 | ||
KR20210171124 | 2021-12-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023101510A1 true WO2023101510A1 (ko) | 2023-06-08 |
Family
ID=86612773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/019503 WO2023101510A1 (ko) | 2021-12-02 | 2022-12-02 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023101510A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210042557A1 (en) * | 2019-08-07 | 2021-02-11 | Here Global B.V. | Method, apparatus and computer program product for three dimensional feature extraction from a point cloud |
US20210049828A1 (en) * | 2019-08-14 | 2021-02-18 | Lg Electronics Inc. | Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data |
WO2021067501A1 (en) * | 2019-10-01 | 2021-04-08 | Intel Corporation | Object-based volumetric video coding |
KR20210111052A (ko) * | 2020-03-02 | 2021-09-10 | 건국대학교 산학협력단 | 의미론적 영상을 활용한 포인트 클라우드 분류 장치 및 방법 |
US20210304495A1 (en) * | 2020-03-30 | 2021-09-30 | Tetavi Ltd., | Techniques for improving mesh accuracy using labeled inputs |
-
2022
- 2022-12-02 WO PCT/KR2022/019503 patent/WO2023101510A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210042557A1 (en) * | 2019-08-07 | 2021-02-11 | Here Global B.V. | Method, apparatus and computer program product for three dimensional feature extraction from a point cloud |
US20210049828A1 (en) * | 2019-08-14 | 2021-02-18 | Lg Electronics Inc. | Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data |
WO2021067501A1 (en) * | 2019-10-01 | 2021-04-08 | Intel Corporation | Object-based volumetric video coding |
KR20210111052A (ko) * | 2020-03-02 | 2021-09-10 | 건국대학교 산학협력단 | 의미론적 영상을 활용한 포인트 클라우드 분류 장치 및 방법 |
US20210304495A1 (en) * | 2020-03-30 | 2021-09-30 | Tetavi Ltd., | Techniques for improving mesh accuracy using labeled inputs |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019151798A1 (ko) | 무선 통신 시스템에서 이미지에 대한 메타데이터를 송수신하는 방법 및 장치 | |
WO2021206333A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2022211476A1 (en) | Method and apparatus for supporting teleconferencing and telepresence containing multiple 360 degree videos | |
JP2022513715A (ja) | 無指向性媒体符号化及び復号のためのラップアラウンドパディングの方法 | |
WO2017043863A1 (ko) | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 | |
CN105532008A (zh) | 用户自适应的视频电话 | |
US11039200B2 (en) | System and method for operating a transmission network | |
WO2021261865A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
EP3117604B1 (en) | Elementary video bitstream analysis | |
WO2019199046A1 (ko) | 무선 통신 시스템에서 오디오에 대한 메타데이터를 송수신하는 방법 및 장치 | |
WO2023106721A1 (en) | Method and device for providing split computing based on device capability | |
KR20230048107A (ko) | 오디오 믹싱을 위한 방법 및 장치 | |
US11297329B2 (en) | Image encoding method, transmission method, and image encoder | |
WO2017018775A1 (ko) | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법 | |
US20050289626A1 (en) | IP based interactive multimedia communication system | |
WO2023101510A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2023003354A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2023003349A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2023014085A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2017007258A1 (ko) | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 | |
WO2022005116A1 (ko) | 무선 통신 시스템에서 데이터의 송수신을 제어하기 위한 방법 및 장치 | |
US11699462B2 (en) | Method, apparatus and computer program | |
WO2024096390A1 (ko) | 미디어 콜 서비스를 수행하기 위한 방법 및 장치 | |
KR100548243B1 (ko) | 휴대단말기의 영상신호 레이트 제어 전송 방법 | |
WO2024096562A1 (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: 22901868 Country of ref document: EP Kind code of ref document: A1 |