WO2018182161A1 - 3차원 이미지에 관한 데이터를 전송하기 위한 방법 - Google Patents

3차원 이미지에 관한 데이터를 전송하기 위한 방법 Download PDF

Info

Publication number
WO2018182161A1
WO2018182161A1 PCT/KR2018/001286 KR2018001286W WO2018182161A1 WO 2018182161 A1 WO2018182161 A1 WO 2018182161A1 KR 2018001286 W KR2018001286 W KR 2018001286W WO 2018182161 A1 WO2018182161 A1 WO 2018182161A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
region
tracks
omnidirectional
server
Prior art date
Application number
PCT/KR2018/001286
Other languages
English (en)
French (fr)
Inventor
입에릭
우지환
최병두
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020170175049A external-priority patent/KR102331041B1/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US16/498,067 priority Critical patent/US10791316B2/en
Priority to EP18776566.4A priority patent/EP3606084A4/en
Priority to CN201880022470.4A priority patent/CN110495181A/zh
Publication of WO2018182161A1 publication Critical patent/WO2018182161A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Definitions

  • the present invention relates to a method and apparatus for transmitting data relating to three-dimensional (3D) images.
  • the 3D image for display on a device capable of providing VR or AR Technologies related to processing and transmission are also improving.
  • the size of the data about the 3D image can be very large.
  • transmitting data about the 3D image may add a load to the transmission system due to the size of the data.
  • the size of data related to the 3D image may be a big limitation in providing the 3D image in real time.
  • the server may generate a plurality of tracks containing different information related to the 3D image, and the terminal (eg For example, a VR device).
  • the terminal eg For example, a VR device.
  • the data regarding all regions of the 3D image may be configured not to be of uniform quality, but to mix different qualities. Accordingly, there is a need for an efficient method for setting and utilizing quality information in data related to 3D images.
  • an object of the present invention is to provide a method and apparatus for configuring a plurality of tracks related to 3D images and selecting at least one track for transmission among the plurality of tracks.
  • Another object of the present invention is to provide a method and apparatus for setting and utilizing quality information in data related to 3D images.
  • a method for transmitting data about an omnidirectional image the process of receiving information about the viewport of the terminal from the terminal, the viewport Selecting at least one track of the plurality of tracks based on the information about the quality of each of the plurality of tracks associated with the omnidirectional image, and transmitting data for the selected at least one track to the terminal.
  • the process of transmitting is a method for transmitting.
  • a server for transmitting data regarding an omnidirectional image includes a communication interface and a processor connected to the communication interface, wherein the processor relates to a viewport of the terminal from a terminal.
  • Receive information select at least one track of the plurality of tracks based on the information about the viewport and the quality of each of the plurality of tracks associated with the omnidirectional image, and select at least one track from the selected track. It is configured to transmit the data for the terminal.
  • a method and apparatus for setting and utilizing quality information in data related to 3D images may be provided.
  • FIG. 1 shows a system of a transmitter for transmitting data relating to a 3D image according to an embodiment of the present invention.
  • FIG. 2 illustrates projecting a 3D image into two images and packing the projected 2D image according to an embodiment of the present invention.
  • FIG 3 shows a system of a receiver for receiving data relating to a 3D image according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating operations of a server and a terminal according to an embodiment of the present invention.
  • FIG. 5 illustrates a plurality of tracks according to an embodiment of the present invention.
  • FIG. 6 illustrates a plurality of tracks according to another embodiment of the present invention.
  • FIG. 7 illustrates a plurality of tracks according to another embodiment of the present invention.
  • FIG. 8 illustrates a 2D image represented by the plurality of tracks of FIG. 7.
  • FIG. 9 shows a 2D image with different quality regions in accordance with one embodiment of the present invention.
  • FIG. 10 is a block diagram of a transmitter according to an embodiment of the present invention.
  • FIG. 1 shows a system of a transmitter for transmitting data relating to a 3D image according to an embodiment of the present invention.
  • the transmitter may be a server for providing data or services related to 3D images.
  • the 3D image may refer to both a dynamic image and a static image.
  • the transmitter may generate or receive a 3D image (110).
  • the transmitter can stitch 3D images from multiple cameras taken from various directions.
  • the transmitter may receive data about the 3D image that has already been made from the outside.
  • the 3D image may be rendered in the form of a sphere, cube, cylinder, or octahedron, but the shape of the 3D image described is merely exemplary, and is used in the art.
  • Various forms of 3D images may be generated or received.
  • the transmitter may project the 3D image into the 2D image (120).
  • any one of required projection methods (ERP), octahedron projection (OHP), cylinder projection, cube projection, and various projection methods available in the art may be used.
  • the transmitter may pack the projected 2D image (130). Packing may mean modifying and / or rearranging at least some of the plurality of regions constituting the projected 2D image to generate a new 2D image (ie, a packed 2D image).
  • the deformation of the region may be resizing, transforming, rotating and / or re-sampling (e.g., upsampling, downsampling, differential sampling based on location within the region). And the like.
  • This packing scheme may be referred to as region-wise packing.
  • FIG. 2 illustrates projecting a 3D image into two images and packing the projected 2D image according to an embodiment of the present invention.
  • the example 3D image 210 in FIG. 2 may have a spherical shape.
  • the projected 2D image 220 can be generated by projecting the 3D image 210 by an exemplary ERP scheme.
  • the projected 2D image 220 may be divided into a plurality of regions 221, 222, 223, and 224.
  • the method of dividing the projected 2D image 220 may be variously changed according to embodiments.
  • a packed 2D image 230 may be generated from the projected 2D image 220.
  • the packed 2D image 230 may be generated by modifying and / or rearranging the plurality of regions 221, 222, 223, 224 of the projected 2D image 220.
  • Each of the plurality of regions 231, 232, 233, and 234 of the packed 2D image 230 may sequentially correspond to the plurality of regions 221, 222, 223, and 224 of the projected 2D image 220.
  • Deformation and relocation of the plurality of regions 231, 232, 233, 234 of the packed 2D image 230 shown in FIG. 2 are merely exemplary, and various modifications and relocations may be performed according to embodiments. Can be.
  • TileRegionGroupEntry may be used to represent a tile region (ie, a plurality of regions of the projected 2D image).
  • the syntax of TileRegionGroupEntry is shown in Table 1.
  • groupID- a unique identifier for the tile region group described by this sample group entry.
  • the value of groupID in a tile region group entry must be greater than zero. A value of zero is reserved for special use. If the same grouping_type_parameter as SampleToGroupBox and 'trif' of type 'nalm' exists, then SampleGroupDescriptionBox of type 'trif' will exist, and the following applies:
  • groupID in a tile region group entry must be the same as the groupID of one of the entries in NALUMapEntry.
  • a network abstraction layer (NAL) unit mapped to groupID 0 by NALUMapEntry means that a NAL unit is required to decode any tile area within the same coded picture as this NAL unit.
  • tile_region_flag-A tile_region_flag with a value of 1 is a tile area covered by NAL units in the picture and associated with the corresponding tile area group entry, and additional information of the tile area is provided by subsequent fields in the tile area group entry. Specifies. A value of 0 specifies that the area covered by the NAL units in the picture and associated with that tile area group entry is not a tile area, and no additional information of the area is provided within that tile area group entry. If a multi-layer bitstream is carried in one or more tracks, the following constraints apply for any two layers layerA and layerB of the bitstream.
  • the NAL unit of layerA is associated with a groupID value gIdA with a corresponding tile_region_flag equal to 1
  • the NAL unit of layerB is associated with a groupID value with gIdB equal to 1
  • gIdA and gIdB must not be identical.
  • Inter-layer dependencies are represented by a list of dependencyTileGroupIDs (if has_dependency_list is equal to 1). This field has the following values.
  • independent_idc is equal to 1, there are no temporary dependencies between tile regions with different groupIDs in any reference pictures of the same layer, but the same gruopID in the reference picture of the same layer as this tile region There may be coding dependencies between tile regions having.
  • independent_idc is equal to 2
  • full_picture-If set indicates that this tile area group entry is a full picture.
  • region_width and region_height must be set to the width and height of the complete picture, respectively, and independent_idc must be set to 1 or 2.
  • filtering_disabled-If set indicates that for each tile region associated with this tile region group entry, an in-loop filtering operation does not require access to the pixels that are adjacent to this tile region. That is, bit-exact reconstruction of the tile region is possible without decoding adjacent tiles.
  • the base region used within the TileRegionGroupEntry is the picture to which the tiles in the tile region associated with this tile region group entry belong.
  • omni_fov-If set indicates each tile region associated with this tile region group entry corresponding to a particular field of view (on the surface of the sphere) for omnidirectional video.
  • center_pitch, center_yaw, hor_range, and ver_range are specified, as defined by the Omnidirectional Media Application Format (OMAF).
  • center_pitch [i] and center_yaw [i] -specifies the center point of the sphere area represented by the i-th area, in units of 0.01 degrees, with respect to the coordinate system specified through the ProjectionOreintationBox (which indicates the orientation of the 3D image).
  • center_yaw is in the range of -18000 to 17999
  • center_pitch is in the range of -9000 to 9000.
  • hor_range and ver_range specify the range through the center point of the i th region.
  • hor_range is in the range of 1 to 36000 and ver_range is in the range of 1 to 18000.
  • center_pitch + ver_range / 2 must not be greater than 9000 center_pitch-ver_range / 2 must not be less than -9000
  • the sphere area represented by the i th rectangular area is the area specified by two yaw circles and two pitch circles.
  • dependencyTileGroupID indicates the groupID of the tile area (as defined by TileRegionGroupEntry) this tile group depends on.
  • the tile areas that this tile group depends on can be from the same layer or reference layers.
  • RectRegionPacking (i) expressed by the syntax of Table 2 below specifies how the source rectangular region of the projected frame is packed into the destination rectangular region of the packed frame. Horizontal mirroring and rotation of 90, 180 or 270 degrees can be indicated, and vertical and horizontal resampling can be inferred from the width and height of the regions.
  • proj_reg_width [i] This is the width of the i-th area of the projected frame in pixels. proj_reg_width [i] is greater than zero.
  • proj_reg_height [i] indicates the height of the i-th region of the projected frame in pixels. proj_reg_height [i] is greater than zero.
  • proj_reg_top [i] and proj_reg_left [i] respectively.
  • the values range from 0 representing the upper left corner of the projected frame to proj_frame_height and proj_frame_width, respectively.
  • proj_reg_width [i] and proj_reg_left [i] are constrained so that proj_reg_width [i] + proj_reg_left [i] is less than proj_frame_width.
  • proj_reg_height [i] and proj_reg_top [i] are limited to proj_reg_height [i] + proj_reg_top [i] less than proj_frame_height.
  • proj_reg_width [i] proj_reg_height [i]
  • proj_reg_top [i] proj_reg_left [i] are the single constituents of the projected frame where the area identified by these values on the projected frame is Must be set to exist in a constituent frame.
  • fov_flag [i]-fov_flag [i] of a value of 1 specifies that field of view related parameters are displayed for the area.
  • center_pitch [i] and center_yaw [i] -specifies the center point of the sphere area represented by the i-th area, in units of 0.01 degrees, with respect to the coordinate system specified through the ProjectionOreintationBox (which indicates the orientation of the 3D image).
  • center_yaw is in the range of -18000 to 17999
  • center_pitch is in the range of -9000 to 9000.
  • hor_range and ver_range specify the range through the center point of the i th region.
  • hor_range is in the range of 1 to 36000 and ver_range is in the range of 1 to 18000.
  • center_pitch + ver_range / 2 must not be greater than 9000 center_pitch-ver_range / 2 must not be less than -9000
  • the projection format is a rectangular projection
  • the sphere area represented by the i th rectangular area is specified by two yaw circles and two pitch circles.
  • transform_type [i] -specifies the rotation or mirroring applied to the i-th region of the projected frame to map to the packed frame. If transform_type [i] specifies both rotation and mirroring, the rotation is applied after mirroring. The following values can be used for transform_type [i]; other values are reserved.
  • packed_reg_width [i], packed_reg_height [i], packed_reg_top [i], and packed_reg_left [i] -specify the width, height top sample row, and leftmost sample column of the i-th region of the packed frame, respectively.
  • the rectangles specified by packed_reg_width [i], packed_reg_height [i], packed_reg_top [i], and packed_reg_left [i] are specified by packed_reg_width [j], packed_reg_height [j], packed_reg_top [j], and packed_reg_left [j]. Do not overlap with the rectangle.
  • j is any integer in the range 0 to i-1 or less.
  • quality_ranking [i] specifies the quality ranking (ie quality level) of that region relative to other regions within the 360 content (ie, the entire projected frame).
  • Quality ranking indicates delivery and rendering priorities. Lower values indicate higher quality content. Has a value from 1 to 100.
  • a quality_ranking of 0 means no ranking is defined.
  • RegionWisePackingBox indicated by the syntax in Table 3 below, indicates that the projected frame is region wise packed and must be unpacked before rendering.
  • num_regions specifies the number of packed regions A value of zero is reserved.
  • a packing_type of value of zero indicates rectangular region-wise packing.
  • a value of 1 indicates sphere surface region-wise packing.
  • quality_ranking [i] specifies the quality ranking (ie quality level) of that region relative to other regions within the 360 content (ie, the entire projected frame).
  • Quality ranking indicates delivery and rendering priorities. Lower values indicate higher quality content. Has a value from 1 to 100.
  • a quality_ranking of 0 means no ranking is defined.
  • SphereRegionPacking-If packing by spherical surface area is used this indicates the relationship between the area of the spherical 3D image and the area of the packed 2D image.
  • SphereRegionPacking can be expressed through the syntax of Table 4 below.
  • center_pitch [i] and center_yaw [i] -specifies the center point of the sphere area represented by the i-th area, in units of 0.01 degrees, with respect to the coordinate system specified through the ProjectionOreintationBox (which indicates the orientation of the 3D image).
  • center_yaw is in the range of -18000 to 17999
  • center_pitch is in the range of -9000 to 9000.
  • hor_range and ver_range specify the range through the center point of the i th region.
  • hor_range is in the range of 1 to 36000 and ver_range is in the range of 1 to 18000.
  • center_pitch + ver_range / 2 must not be greater than 9000 center_pitch-ver_range / 2 must not be less than -9000
  • the projection format is a rectangular projection
  • the sphere area represented by the i th rectangular area is specified by two yaw circles and two pitch circles.
  • the transmitter can generate a 2D image packed directly from the 3D image.
  • the receiver can generate the 3D image directly from the packed 2D image.
  • Width and height of the region in the projected frame expressed as sample units (projRegWidth, projRegHeight)
  • Width and height of the region in the packed frame expressed as sample units (packedRegWidth, packedRegHeight)
  • the following value is output with respect to the conversion of the sample positions for packing per rectangular area.
  • the following syntax may be used to convert sample positions for packing by rectangular area.
  • the corresponding sample of the projected frame For each luma sample position (xPackedFrame, yPackedFrame) belonging to the n-th region where packing_type [n] in the packed frame is zero (i.e., rectangular region packing is applied), the corresponding sample of the projected frame
  • the position (xProjFrame, yProjFrame) can be derived as follows.
  • x is set equal to xPackedFrame-packed_reg_left [n].
  • y is set equal to yPackedFrame-packed_reg_top [n].
  • xProjFrame is set equal to proj_reg_left [n] + i.
  • xProjFrame is equal to or greater than proj_frame_width, then xProjFrame is set equal to xProjFrame-proj_frame_width.
  • yProjFrame is set equal to proj_reg_top [n] + j.
  • the corresponding sample position (xProjFrameC) of the projected frame , yProjFrameC) can be derived as follows.
  • xC is set equal to xPackedFrameC-packed_reg_left [n] / horRatioC.
  • yC is set equal to yPackedFrameC-packed_reg_top [n] / verRatioC.
  • packedRegWidthC is set equal to packed_reg_width [n] / horRatioC
  • packedRegHeightC is set equal to packed_reg_height [n] / verRatioC.
  • projRegWidthC is set equal to proj_reg_width [n] / horRatioC.
  • projRegHeightC is set equal to proj_reg_height [n] / verRatioC.
  • xProjFrameC is set equal to proj_reg_left [n] / horRatioC + i.
  • xProjFrameC is equal to or greater than proj_frame_width / horRatioC, then xProjFrameC is set equal to xProjFrameC-(proj_frame_width / horRatioC).
  • yProjFrameC is set equal to proj_reg_top [n] / verRatioC + j.
  • the transmitter can encode a packed 2D image (240).
  • the packed 2D image may be divided into a plurality of regions. Encoding may be performed separately for the plurality of regions of the packed 2D image. In some embodiments, encoding may be performed only on one or more areas to be transmitted among the plurality of areas of the packed 2D image. In some embodiments, encoding may be performed on the group image for two or more of the plurality of regions of the packed 2D image. In some embodiments, encoding may be performed on the entire packed 2D image. Encoding may be performed using an encoding scheme for a known 2D image.
  • the transmitter can encapsulate the encoded data (150). Encapsulation may mean processing the encoded data to conform to a given transport protocol through processing such as splitting the encoded data, adding a header to the partitions, and the like.
  • the transmitter can send encapsulated data.
  • the transmitter may send additional data associated with the data, together with the encapsulated data, or data necessary to reproduce the data (eg, metadata).
  • Transmission of data at the transmitter may follow MPEG Media Transport (MMT) or Dynamic Adaptive Streaming over HTTP (DASH), but is not necessarily limited thereto.
  • MMT MPEG Media Transport
  • DASH Dynamic Adaptive Streaming over HTTP
  • the transmitter may transmit data regarding audio as well as data related to an image to the receiver.
  • the transmitter may generate a plurality of tracks corresponding to the 3D image and transmit data for some or all of the plurality of tracks to the receiver.
  • the plurality of tracks may have data for different regions or may have different quality levels.
  • FIG. 3 shows a system of a receiver for receiving data relating to a 3D image according to an embodiment of the present invention.
  • the receiver can be a VR device or an AR device.
  • the receiver may refer to any kind of device capable of receiving and reproducing data related to 3D images.
  • the receiver may receive data regarding the 3D image transmitted from the transmitter.
  • the receiver may perform decapsulation on the received data (310). Through decapsulation 310, encoded data generated via encoding 140 in FIG. 1 may be obtained.
  • the receiver may perform decoding on the unencapsulated 310 data (320).
  • the packed 2D image may be reconstructed through decoding 320.
  • the receiver may perform unpacking on the decoded data (ie, packed 2D image) (330). Unpacking may restore the 2D image generated through the projection 120 in FIG. 1. Performing unpacking may be performed by inverse transformation of the deformation and / or relocation for a plurality of regions of the projected 2D image performed in packing 130 in FIG. 1. To this end, the receiver needs to know about the method of packing 130.
  • the method of packing 130 may be predetermined between the receiver and the transmitter.
  • the transmitter may deliver information about the method of the packing 130 to the receiver through a separate message such as metadata.
  • the transmission data generated through encapsulation 150 may include information about the method of packing 130, for example within a header.
  • the receiver may project the unpacked 2D image into a 3D image (340).
  • the receiver may use the inverse projection of the projection used to project 120 the 2D image into the 2D image in FIG. 1 to project the 3D image, but is not necessarily limited thereto.
  • the receiver may project the unpacked 2D image into a 3D image to generate a 3D image.
  • the receiver may display at least a portion of the 3D image through the display device (350). For example, the receiver may extract and render only data corresponding to a current field of view (FOV) among 3D images.
  • FOV current field of view
  • FIG. 4 is a flowchart illustrating operations of a server and a terminal according to an embodiment of the present invention.
  • the server 410 may correspond to the transmitter of FIG. 1
  • the terminal 420 may correspond to the receiver of FIG. 3.
  • the terminal 420 may transmit viewport information of the terminal to the server 410.
  • the viewport information of the terminal may be information specifying an area (ie, a viewport) for displaying on the terminal.
  • the viewport information may be information specifying an area on the 3D image corresponding to the viewport.
  • the viewport information may be information specifying an area corresponding to the viewport on the 2D image projected from the 3D image.
  • the server 410 may transmit data about at least one track selected based on viewport information among the plurality of tracks to the terminal 420.
  • Server 410 may create and maintain a plurality of tracks associated with a single 3D image.
  • the plurality of tracks may include data for different regions of the 3D image.
  • the plurality of tracks may include information about the same area (eg, the entire 3D image) on the 3D image, and each of the plurality of tracks may have different quality.
  • the plurality of tracks may be generated from a single 3D image.
  • each of the plurality of tracks may be generated from an image captured from each of the plurality of cameras for forming a single 3D image.
  • the step 440 will be described in more detail with reference to FIGS. 5 to 8.
  • the plurality of tracks 510, 520, 530, 540 may have different qualities. More specifically, a particular area of each of the plurality of tracks 510, 520, 530, 540 may have a different quality level than the rest of the area. The location of a particular area having a different quality level than the rest of the area may be different for the plurality of tracks 510, 520, 530, 540. In the embodiment of FIG. 5, the first region 515 in the first track 510, the second region 525 in the second track 520, the third region 535 and the third in the third track 530.
  • the fourth area 545 in the fourth track 540 is a specific area with a different quality level than the rest of the track.
  • Each quality level of the first to fourth regions 515, 525, 535, 545 may have a higher quality level than the rest of the track.
  • the quality levels of the first to fourth regions 515, 525, 535, and 545 may be the same, but are not necessarily limited thereto.
  • the server 410 may transmit at least one based on the received viewport information. You can select a track. More specifically, the server 410 may select at least one track that includes an area having a high quality level associated with the area represented by the viewport information received from the terminal 420. For example, when the area indicated by the viewport information is the same as the first area 515 or is included in the first area 515, the server 410 may select the first track 510 and the viewport information. If the area indicated by is included in the second area 525, the server 410 may select the second track 520.
  • the first to fourth regions 515, 525, 535, and 545 may be selected as a track for transmitting a track including a region having the most overlapping region represented by the viewport information.
  • server 410 may select a plurality of tracks for transmission. For example, when the region represented by the viewport information is included in both the first region 515 and the second region 525, the server may select the first track 510 and the second track 520. . For another example, when the area indicated by the viewport information is included in the second area 525, the server 410 is a track to be transmitted, and not only the second track 520 but also the second area 525.
  • the first track 510 and the third track 530 including adjacent first and third regions 515 and 535 as high quality regions can be selected as the tracks for transmitting.
  • the first inner fourth tracks 510, 520, 530, 540 shown in the embodiment of FIG. 5 are projected 2D images, and each of the first to fourth regions 510, 520, 530, 540 is projected. It can be displayed on a 2D image. As such, when there are regions having at least one different quality level on the 2D image, a syntax as shown in Table 7 below may be used to indicate quality levels of regions in the 2D image.
  • num_regions specifies the number of regions for which quality ranking (ie quality level) information is given.
  • quality_ranking -specifies the quality ranking of the region.
  • a quality_ranking value of zero indicates that quality_ranking is not defined. If region A is less than the quality_ranking value of region B and has a non-zero quality_ranking value, region A has a higher quality than region B. If zone A partially or entirely overlaps zone B, then quality A's quality_ranking must be the same as zone B's quality_ranking.
  • view_idc-A view_idc of value 0 indicates that the content is monoscopic.
  • a view_idc of value 1 indicates that the region is located on the left side view of the stereoscopic content.
  • a view_idc of value 2 indicates that the region is located on the right side view of the stereoscopic content.
  • a view_idc of value 2 indicates that the region is located on both the left and right views.
  • remaining_area_flag-A remaining_area_flag of value 0 specifies that the region is defined by left_offset, top_offset, region_width, and region_height.
  • the remaining_area_flag of a value of 1 specifies that the region is not covered by any other regions defined in that box.
  • left_offset, top_offset, region_width and region_height-integer values indicating the size and position of the region.
  • left_offset and top_offset represent horizontal and vertical coordinates in luma samples of the upper left corner of the region in the packed frame, respectively.
  • region_width and region_height represent the width and height of the region in luma samples, respectively, in a packed frame.
  • left_offset + region_width must be less than the width of VisualSampleEntry (that is, the width of the frame).
  • top_offset + region_height must be less than height of VisualSampleEntry (ie the height of the frame).
  • Information about the areas of the image (frame or track) represented by this syntax and the quality level of each of the areas is used by the server 410 to identify the quality level of each of the areas and areas of the image, or meta.
  • the data may be transmitted from the server 410 to the terminal 420 as metadata.
  • regions within each image may each have different quality levels.
  • the 2D image 900 may include a first region 910 and a second region surrounding the first region 910. 920 and a third region 930 except for the first region 910 and the second region 920.
  • Quality levels may be individually set for the first region 910, the second region 920, and the third region 930.
  • the quality information of the regions of the 2D image 900 may be represented by using a syntax for representing the quality levels of the regions in the 2D image.
  • the third region 930 may be a remaining region having an attribute of remaining_area_flag having a value of one.
  • the first to fourth tracks 610, 620, 630, and 640 in FIG. 6 may include a specific area having a different quality level than the rest of the track, as in FIG. 5.
  • Each of the first to fourth regions 615, 625, 635, 645 may correspond to a particular region having a different quality level than the rest of the track.
  • the method for selecting at least one track to transmit in the embodiment of FIG. 6 is substantially the same as the description in FIG. 5.
  • the first to fourth regions 615, 625, 635, 645 may be displayed on the 3D image rather than the projected 2D image.
  • An example syntax for indicating the quality level of the regions of the 3D image is shown in Table 8 below.
  • region_definition_type A value of 0 indicates that the region is specified by four great circles on a spherical 3D image. A value of 1 indicates that the area is specified by two yaw circles and two pitch circles.
  • num_regions specifies the number of regions for which quality ranking (ie quality level) information is given.
  • quality_ranking -specifies the quality ranking of the region.
  • a quality_ranking value of zero indicates that quality_ranking is not defined. If region A is less than the quality_ranking value of region B and has a non-zero quality_ranking value, region A has a higher quality than region B. If zone A partially or entirely overlaps zone B, then quality A's quality_ranking must be the same as zone B's quality_ranking.
  • view_idc-A view_idc of value 0 indicates that the content is monoscopic.
  • a view_idc of value 1 indicates that the region is located on the left side view of the stereoscopic content.
  • a view_idc of value 2 indicates that the region is located on the right side view of the stereoscopic content.
  • a view_idc of value 2 indicates that the region is located on both the left and right views.
  • remaining_area_flag-A value of 0 specifies that the region is defined by the RegionOnSphereSturct (1) structure.
  • a value of 1 indicates that the area is not covered by any other area defined in that box.
  • RegionOnSphereStruct (1) indicates the position and size of the sphere in the sphere relative to the sphere coordinate system.
  • the type of regions is defined by region_definition_type. center_yaw, center_pitch, hor_range and ver_range are used to specify the area of the sphere.
  • RegionOnSphereStruct The syntax of RegionOnSphereStruct is shown in Table 9 below.
  • center_yaw is in the range of -18000 to 17999
  • center_pitch is in the range of -9000 to 9000.
  • hor_range and ver_range in units of 0.01 degrees, representing the vertical and horizontal ranges, respectively, of the region specified by this sample.
  • hor_range and ver_range specify the range through the center point of the i th region.
  • hor_range is in the range of 1 to 36000 and ver_range is in the range of 1 to 18000.
  • center_pitch + ver_range / 2 must not be greater than 9000 center_pitch-ver_range / 2 must not be less than -9000
  • tile_entry_count-If present specifies the number of tile groups corresponding to the region specified by this sample.
  • tile_region_groupID Identity-Identifies a tile region within the region specified by this sample, covering all or part of the region defined by center_yaw, center_pitch, hor_range and ver_range.
  • region_definition_type 0 indicates that the region is specified by four members on the 3D image.
  • circle here is meant the circle with the largest diameter that can be defined on the surface of the sphere.
  • the region may be specified by the center coordinates of the region, the roll value, the horizontal angle range of the region with respect to the center of the sphere, and the vertical angle range of the region.
  • a region_definition_type of value 1 indicates that the region is specified by two yaw circles and two pitch circles.
  • the yaw circle represents a circle passing through the z axis of the sphere in the x, y, z coordinate system with the center of the sphere as the origin
  • the pitch circle represents a circle parallel to the x-y plane of the sphere.
  • the region may be specified by the center coordinates of the region, the horizontal angle range of the region with respect to the center of the sphere, and the vertical angle range of the region.
  • an example syntax for indicating the quality level of the regions of the 3D image may be used.
  • FIG. 7 illustrates a plurality of tracks according to another embodiment of the present invention.
  • FIG. 8 illustrates a 2D image represented by the plurality of tracks of FIG. 7.
  • each of the first to fourth tracks 710, 720, 730, 740 may include data for different regions of the entire image in 2D or 3D.
  • the projected 2D image 800 of FIG. 8 represents the entire image represented by the first to fourth tracks 710, 720, 730, 740.
  • the first to fourth tracks 710, 720, 730, 740 may have different quality levels.
  • the server 410 may include a track including an area corresponding to the viewport among the first to fourth tracks 710, 720, 730, and 740 in order to select a track to transmit based on the viewport information received from the terminal 420. Can be selected.
  • the first to fourth tracks 710, 720, 730, and 740 may overlap each other. For example, if an area corresponding to the viewport exists in multiple tracks simultaneously, the server 410 may select the track having the highest quality among the multiple tracks as the track to be transmitted.
  • a CoverageInformationBox can be used to use information about the area of the sphere surface represented by the projected frame associated with the container.
  • the absence of CoverageInformationBox indicates that the projected frame is a representation of the full sphere.
  • the fields in this box apply after the ProjectionOrientationBox has been applied, if one exists.
  • the syntax of CoverageInformationBox is shown in Table 10.
  • coverage_quality specifies the quality of the coverage area associated with the ProjectedOmnidirectionalVideoBox container, for other coverage areas in different tracks that may be combined to form 360 content (ie, the entire projected frame).
  • coverage_quality indicates delivery and rendering priority, and high quality has high priority. Lower values indicate higher quality content. Has a range from 1 to 100.
  • a coverage_quality of 0 indicates that no ranking (ie quality level) is defined.
  • FIG. 10 is a block diagram of a transmitter according to an embodiment of the present invention.
  • the transmitter 1000 may include a memory 1030, a communication interface 1020, and a processor 1010.
  • the transmitter 1000 may be configured to perform the operations of the transmitter (ie, the server) described through the embodiments.
  • the processor 1010 may be communicatively and electrically connected to the memory 1030 and the communication interface 1020. Via the communication interface 1020, the transmitter 1000 may transmit and receive data including image data and metadata.
  • Information for the operation of the transmitter 1000 may be stored in the memory 1030.
  • Instructions or codes for controlling the processor 1010 may be stored in the memory 1030.
  • temporary or persistent data necessary for the operation of the processor 1010 may be stored in the memory 1030.
  • the processor 1010 may be one processor and, according to some embodiments, may mean a set of a plurality of processors divided according to functions.
  • the processor 1010 may be configured to control the operation of the transmitter 1000. Operations of the transmitter 1000 described above may be substantially processed and executed by the processor 1010. Although transmitting and receiving data is via the communication interface 1020, and storing data and instructions is performed by the memory 1030, the operations of the communication interface 1020 and the memory 1030 are performed by the processor 1010. And sending data and storing instructions may also be considered to be performed by the processor 1010.
  • the receiver may also include a memory, a communication interface, and a processor similar to the transmitter 1000.
  • a description of the memory, the communication interface, and the processor of the receiver may correspond to the transmitter 1000. Similar to the description of the elements.
  • the receiver may further include a display device for displaying the received omnidirectional image.
  • syntaxes described herein are merely illustrative. Not all parameters included in a particular syntax are necessary to compose data (ie, metadata) formed with the syntax. Those skilled in the art will readily appreciate that data may be constructed using only some of the described parameters.
  • the data constructed through the illustrated syntaxes may be used within the server and may also be sent to the terminal and used by the terminal to process data relating to the omnidirectional image.

Abstract

서버에 의해, 전방향(omnidirectional) 이미지에 관한 데이터를 전송하기 위한 방법이 제공된다. 상기 방법은, 단말로부터 상기 단말의 뷰포트에 관한 정보를 수신하는 과정, 상기 뷰포트에 관한 정보 및 상기 전방향 이미지와 관련된 복수의 트랙들 각각의 품질에 기초하여, 상기 복수의 트랙들 중 적어도 하나의 트랙을 선택하는 과정, 및 상기 선택된 적어도 하나의 트랙에 대한 데이터를 상기 단말로 전송하는 과정을 포함한다.

Description

3차원 이미지에 관한 데이터를 전송하기 위한 방법
본 발명은 3-차원(3-dimensional, 3D) 이미지에 관한 데이터를 전송하기 위한 방법 및 장치에 관한 것이다.
가상 현실(virtual reality: VR) 또는 증강 현실(augmented reality: AR)과 관련된 기술의 발달에 따라, VR 또는 AR을 제공할 수 있는 디바이스에서 디스플레이하기 위한 3D 이미지(또는 전방향(omnidirectional) 이미지)의 프로세싱 및 전송과 관련된 기술들 또한 향상되고 있다.
VR 디바이스 착용자에게 모든 방향들의 이미지를 제공하기 위해, 모든 방향들의 이미지에 관한 데이터를 포함하는 3D 이미지에 관한 데이터의 크기는 매우 클 수 있다. 따라서, 3D 이미지에 관한 데이터를 전송하는 것은 데이터의 크기로 인하여 전송 시스템에 대한 부하(load)를 가중시킬 수 있다. 특히, 3D 이미지에 관한 데이터의 크기는 실시간으로 3D 이미지를 제공하고자 하는 데 있어 큰 제약이 될 수 있다.
3D 이미지와 관련된 데이터의 전송량을 감소시키기 위해, 서버는 3D 이미지와 관련된 상이한 정보를 포함하는 다수의 트랙들을 생성할 수 있으며, 다수의 트랙들 중 선택된 적어도 하나의 트랙에 관한 데이터만을 단말(예를 들어, VR 디바이스)로 전송할 수 있다. 이러한 경우, 3D 이미지에 관한 데이터의 전송 및 프로세싱의 효율을 향상시키기 위한, 다수의 트랙들을 구성하는 방법 및 다수의 트랙들 중 전송하기 위한 적어도 하나의 트랙을 선택하기 위한 방법이 요구된다.
또한, 3D 이미지와 관련된 데이터의 전송량을 감소시키기 위해, 3D 이미지의 모든 영역에 관한 데이터가 균일한 품질로 구성되는 것이 아니라, 상이한 품질들이 혼합되도록 구성될 수 있다. 따라서, 3D 이미지와 관련된 데이터에서 품질 정보를 설정하고 활용하기 위한 효율적인 방법이 요구된다.
이에 본 발명이 해결하고자 하는 과제는, 3D 이미지에 관한 다수의 트랙들을 구성하고, 그리고 다수의 트랙들 중 전송하기 위한 적어도 하나의 트랙을 선택하기 위한 방법 및 장치를 제공하고자 하는 것이다.
본 발명이 해결하고자 하는 다른 과제는, 3D 이미지와 관련된 데이터에서 품질 정보를 설정하고 활용하기 위한 방법 및 장치를 제공하고자 하는 것이다.
본 발명의 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 서버에 의해, 전방향(omnidirectional) 이미지에 관한 데이터를 전송하기 위한 방법은, 단말로부터 상기 단말의 뷰포트에 관한 정보를 수신하는 과정, 상기 뷰포트에 관한 정보 및 상기 전방향 이미지와 관련된 복수의 트랙들 각각의 품질에 기초하여, 상기 복수의 트랙들 중 적어도 하나의 트랙을 선택하는 과정, 및 상기 선택된 적어도 하나의 트랙에 대한 데이터를 상기 단말로 전송하는 과정을 포함한다.
본 발명의 다른 실시예에 따른 전방향(omnidirectional) 이미지에 관한 데이터를 전송하기 위한 서버는, 통신 인터페이스, 및 상기 통신 인터페이스에 연결된 프로세서를 포함하고, 상기 프로세서는, 단말로부터 상기 단말의 뷰포트에 관한 정보를 수신하고, 상기 뷰포트에 관한 정보 및 상기 전방향 이미지와 관련된 복수의 트랙들 각각의 품질에 기초하여, 상기 복수의 트랙들 중 적어도 하나의 트랙을 선택하고, 그리고 상기 선택된 적어도 하나의 트랙에 대한 데이터를 상기 단말로 전송하도록 구성된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예들에 의하면 적어도 다음과 같은 효과가 있다.
즉, 3D 이미지에 관한 다수의 트랙들을 구성하고, 그리고 다수의 트랙들 중 전송하기 위한 적어도 하나의 트랙을 선택하기 위한 방법 및 장치를 제공할 수 있다.
또한, 3D 이미지와 관련된 데이터에서 품질 정보를 설정하고 활용하기 위한 방법 및 장치를 제공할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 3D 이미지에 관한 데이터를 전송하기 위한 송신기의 시스템을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 3D 이미지를 2이미지로 프로젝션하고, 프로젝션된 2D 이미지를 패킹하는 것을 나타낸다.
도 3은 본 발명의 일 실시예에 따른 3D 이미지에 관한 데이터를 수신하기 위한 수신기의 시스템을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 서버와 단말의 동작을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 복수의 트랙들을 나타낸다.
도 6은 본 발명의 다른 실시예에 따른 복수의 트랙들을 나타낸다.
도 7은 본 발명의 또 다른 실시예에 따른 복수의 트랙들을 나타낸다.
도 8은 도 7의 복수의 복수의 트랙들에 의해 표현되는 2D 이미지를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 상이한 품질 영역들을 갖는 2D 이미지를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 송신기의 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제 1, 제 2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제 2 구성요소일 수도 있음은 물론이다.
도 1은 본 발명의 일 실시예에 따른 3D 이미지에 관한 데이터를 전송하기 위한 송신기의 시스템을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 송신기의 시스템을 도시한다. 송신기는 3D 이미지와 관련된 데이터 또는 서비스를 제공하기 위한 서버일 수 있다. 여기서 3D 이미지는 동적 이미지 및 정적 이미지 모두를 지칭할 수 있다. 송신기는 3D 이미지를 생성하거나 또는 수신할 수 있다 (110). 송신기는 여러 방향에서 촬영된 다수의 카메라들로부터의 이미지들을 이어붙여(stitching) 3D 이미지를 생성할 수 있다. 송신기는 이미 만들어진 3D 이미지에 관한 데이터를 외부로부터 수신할 수도 있다. 3D 이미지는 구(sphere), 육면체(cube), 원통, 또는 8면체(octahedron) 중 어느 하나의 형태로 렌더링될 수 있으나, 서술된 3D 이미지의 형태는 예시적인 것이 불과하며, 해당 기술분야에서 이용가능한 다양한 형태의 3D 이미지가 생성 또는 수신될 수 있다.
송신기는 3D 이미지를 2D 이미지로 프로젝션 할 수 있다 (120). 3D 이미지를 2D 이미지로 프로젝션하기 위해, ERP(equirectangular projection), OHP(octahedron projection), 실린더 프로젝션, 큐브 프로젝션 및 해당 기술분야에서 이용가능한 다양한 프로젝션 방법들 중 어느 하나가 이용될 수 있다.
송신기는 프로젝션된 2D 이미지를 패킹(packing)할 수 있다(130). 패킹은 프로젝션된 2D 이미지를 구성하는 복수의 영역들 중 적어도 일부를, 변형 및/또는 재배치하여, 새로운 2D 이미지(즉, 패킹된 2D 이미지)를 생성하는 것을 의미할 수 있다. 여기서, 영역의 변형은 영역의 리사이징(resize), 형태 변환(transforming), 회전 및/또는 재-샘플링(re-sampling)(예를 들어, 업샘플링, 다운샘플링, 영역 내의 위치에 따른 차등 샘플링)등을 의미할 수 있다. 이러한 패킹 방식은 영역별(region-wise) 패킹으로 지칭될 수 있다.
이하 도 2를 참고하여, 프로젝션(120) 및 패킹(130)에 대하여 보다 상세히 설명하도록 한다. 도 2는 본 발명의 일 실시예에 따른 3D 이미지를 2이미지로 프로젝션하고, 프로젝션된 2D 이미지를 패킹하는 것을 나타낸다. 도 2 에서 예시적인 3D 이미지(210)는 구 형상을 가질 수 있다. 3D 이미지(210)를 예시적인 ERP 방식에 의해 프로젝션하여, 프로젝션된 2D 이미지(220)가 생성될 수 있다. 프로젝션된 2D 이미지(220)는 복수의 영역들(221, 222, 223, 224)로 분할될 수 있다. 프로젝션된 2D 이미지(220)를 분할하는 방법은 실시예들에 따라 다양하게 변경될 수 있다.
프로젝션된 2D 이미지(220)로부터 패킹된 2D 이미지(230)가 생성될 수 있다. 프로젝션된 2D 이미지(220)의 복수의 영역들(221, 222, 223, 224)을 변형 및 또는 재배치하는 것에 의해 패킹된 2D 이미지(230)가 생성될 수 있다. 패킹된 2D 이미지(230)의 복수의 영역들(231, 232, 233, 234) 각각은 프로젝션된 2D 이미지(220)의 복수의 영역들(221, 222, 223, 224)에 순차적으로 대응될 수 있다. 도 2에 도시된 패킹된 2D 이미지(230)의 복수의 영역들(231, 232, 233, 234)에 대한 변형 및 재배치는 예시적인 것에 불과하며, 실시예들에 따라 다양한 변형 및 재배치가 수행될 수 있다.
타일 영역(즉, 프로젝션된 2D 이미지의 복수의 영역들)을 표현하기 위해, TileRegionGroupEntry 가 사용될 수 있다. TileRegionGroupEntry의 신택스는 표 1과 같다.
Figure PCTKR2018001286-appb-I000001
Figure PCTKR2018001286-appb-I000002
위 신택스의 파라미터들에 대한 시맨틱스(semantics)는 다음과 같다.
groupID - 이 샘플 그룹 엔트리에 의해 기술되는 타일 영역 그룹에 대한 고유의 식별자임. 타일 영역 그룹 엔트리 내의 groupID의 값은 0보다 커야 함. 0의 값은 특별한 사용을 위해 예비됨. 타입 'nalm'의 SampleToGroupBox 및 'trif'와 동일한 grouping_type_parameter가 존재하는 경우, 타입 'trif'의 SampleGroupDescriptionBox가 존재할 것이며, 다음이 적용됨.
- 타일 영역 그룹 엔트리 내의 groupID의 값은 NALUMapEntry의 엔트리들 중 하나의 groupID와 동일해야 함.
- NALUMapEntry에 의해 groupID 0에 맵핑되는 NAL(network abstraction layer) 유닛은 NAL 유닛이 이 NAL 유닛으로서 동일한 코딩된 픽처 내의 임의의 타일 영역을 디코딩하기 위해 요구된다는 것을 의미함.
(동일한 horizontal_offset, vertical_offset, region_width 및 region_height의 값들을 갖는 다수의 타일 영역 그룹 엔트리들이 존재할 수 있으나, 다양한 의존성들(dependencies)을 기술하기 위해, 상기 다수의 타일 영역 그룹 엔트리들은 상이한 그룹 ID 값들을 가질 수 있음)
tile_region_flag - 1의 값의 tile_region_flag는 픽처 내의 NAL 유닛들에 의해 커버되고 해당 타일 영역 그룹 엔트리와 연관되는 영역이 타일 영역이며, 타일 영역의 추가적인 정보가 해당 타일 영역 그룹 엔트리 내의 후속하는 필드를에 의해 제공됨을 특정함. 0의 값은 픽처 내의 NAL 유닛들에 의해 커버되고 해당 타일 영역 그룹 엔트리와 연관되는 영역이 타일 영역이 아니며, 영역의 추가적인 정보가 해당 타일 영역 그룹 엔트리 내에서 제공되지 않음을 특정함. 멀티-계층(multi-layer) 비트스트림이 하나 이상의 트랙들에서 반송되는 경우, 비트스트림의 임의의 두 계층들 layerA 및 layerB에 대하여 다음의 제약이 적용됨. layerA의 NAL 유닛이 대응하는 tile_region_flag가 1과 동일한 groupID 값 gIdA와 연관되고, 그리고 layerB의 NAL 유닛이 대응하는 tile_region_flag가 1과 동일한 groupID 값 gIdB와 연관되는 경우, gIdA와 gIdB는 동일해서는 안됨.
independent_idc - 해당 타일 영역 그룹 엔트리와 연관되는 각각의 타일 영역과 동일한 픽처 또는 동일한 계층의 기준(reference) 픽처들 내의 다른 타일 영역들 사이의 코딩 의존성들을 특정함. 계층간(inter-layer) 의존성들은 (has_dependency_list가 1과 동일한 경우) dependencyTileGroupID의 리스트에 의해 나타내어짐. 이 필드는 다음과 값들을 가짐.
- independent_idc가 0과 동일한 경우, 이 타일 영역과 동일한 픽처 또는 동일한 계층의 기준 픽처들 내의 다른 타일 영역들 사이의 코딩 의존성들이 (has_dependency_list가 1과 동일한 경우) dependencyTileGroupID의 리스트 또는 (has_dependency_list가 0과 동일한 경우) 미지의 것(unknown) 중 어느 하나에 의해 기술됨.
- independent_idc가 1과 동일한 경우, 이 타일 영역과 동일한 계층의 임의의 기준 픽처들 내의 상이한 groupID를 갖는 타일 영역들 사이에 일시적인 의존성들이 존재하지 않으나, 이 타일 영역과 동일한 계층의 참조 픽처 내의 동일한 gruopID를 갖는 타일 영역 사이에 코딩 의존성들이 존재할 수 있음.
- independent_idc가 2와 동일한 경우, 이 타일 영역과 동일한 계층의 기준 픽처 내의 임의의 타일 영역 사이에 코딩 의존성들이 존재하지 않음.
- 3의 값은 예비됨.
full_picture - 설정되는 경우, 이 타일 영역 그룹 엔트리가 완전한 픽처임을 나타냄. , region_width 및 region_height가 완전한 픽처의 폭 및 높이로 각각 설정되어야 하며, independent_idc는 1 또는 2로 설정되어야 함.
filtering_disabled - 설정되는 경우, 이 타일 영역 그룹 엔트리와 연관되는 각각의 타일 영역에 대해, 루프 내(in-loop) 필터링 동작이 이 타일 영역에 인접한 필셀들로의 액세스를 요구하지 않음을 나타냄. 즉, 타일 영역의 비트-정확한(bit-exact) 재구성(reconstruction)이 인접 타일들을 디코딩하지 않고 가능함.
has_dependency_list - 1로 설정되는 경우, dependency_tile_count가 0을 초과하는 경우, dependency_tile_count 및 dependencyTileGroupID의 리스트가 존재한다는 것을 나타냄. 0으로 설정되는 경우, dependency_tile_count는 존재하지 않으며, 어떠한 dependencyTileGroupID도 존재하지 않음.
horizontal_offset 및 vertical_offset - 루마(luma) 샘플들에서, 기본 영역의 좌상측(top-left) 픽셀에 대한, 이 타일 영역 그룹 엔트리와 연관되는 각각의 타일 영역 내의 타일들에 의해 커버되는 사각형 영역의 좌상측 픽셀의 각각 수평 및 수직 오프셋들을 나타냄. HEVC(High Efficiency Video Coding) 및 L-HEVC 타일 트랙들에 대하여, TileRegionGroupEntry 내에서 사용되는 기본 영역은 이 타일 영역 그룹 엔트리와 연관되는 타일 영역 내의 타일들이 속하는 픽처임.
omni_fov - 설정되는 경우, 전방향 비디오에 대한 (구의 표면 상의) 특정한 FOV(field of view)에 대응하는 이 타일 영역 그룹 엔트리와 연관되는 각각의 타일 영역을 나타냄. 이 경우 OMAF(Omnidirectional Media Application Format) 에서 정의된 대로, center_pitch, center_yaw, hor_range 및 ver_range 가 특정됨.
center_pitch[i] 및 center_yaw[i] - ProjectionOreintationBox(3D 이미지의 배향을 나타냄)를 통해 특정되는 좌표계에 대하여, 0.01도의 단위로, i 번째 영역에 의해 표현되는 구 영역의 중심 점을 특정함. center_yaw는 -18000 내지 17999의 범위 내에 있고, center_pitch는 -9000 내지 9000의 범위 내에 있음.
hor_range 및 ver_range - 0.01 도의 단위로, 각각 i 번째 영역의 수직 및 수평 범위를 나타냄. hor_range 및 ver_range는 i 번째 영역의 중심 점을 통하는 범위를 특정함. hor_range는 1 내지 36000의 범위 내에 있고, ver_range는 1 내지 18000의 범위 내에 있음. center_pitch + ver_range / 2 는 9000 보다 커서는 안됨. center_pitch - ver_range / 2 는 -9000보다 작아서는 안됨.
OMAF에서의 프로젝션 포맷이 직사각형 프로젝션인 경우, i 번째 사각형 영역에 의해 표현되는 구 영역은 두 개의 요우 원들 및 두 개의 피치 원들에 의해 특정되는 영역임.
region_width 및 region_height - 이 타일 영역 그룹 엔트리와 연관되는 각각의 타일 영역 내의 타일들에 의해 커버되는 직사각형 영역의 각각 폭 및 높이를 나타냄.
dependency_tile_count - 이 타일 영역 그룹 엔트리와 연관되는 각각의 타일 영역이 의존하는 타일 영역들의 수를 나타냄.
dependencyTileGroupID - 이 타일 그룹이 의존하는 (TileRegionGroupEntry에 의해 정의되는 것과 같은) 타일 영역의 groupID를 나타냄. 이 타일 그룹이 의존하는 타일 영역들은 동일한 계층 또는 기준 계층들로부터의 것들일 수 있음.
아래의 표 2의 신택스(syntax)에 의해 표현되는 RectRegionPacking(i)는 프로젝션된 프레임의 소스 사각형 영역이 패킹된 프레임의 목적지 사각형 영역으로 패킹되는 방식을를 특정한다. 수평적 미러링 및 90, 180 또는 270 도의 회전이 표시될 수 있으며, 수직적 및 수평적 재샘플링(resampling)이 영역들의 폭 및 높이로부터 추론될 수 있다.
Figure PCTKR2018001286-appb-I000003
Figure PCTKR2018001286-appb-I000004
위의 신택스에서 사용된 파라미터들에 대한 시맨틱스(semantics)는 다음과 같다.
proj_reg_width[i] - 픽셀 단위로 프로젝션된 프레임의 i-번째 영역의 폭을 나타냄. proj_reg_width[i]는 0보다 큼.
proj_reg_height[i] - 픽셀 단위로 프로젝션된 프레임의 i-번째 영역의 높이을 나타냄. proj_reg_height[i]는 0보다 큼.
proj_reg_top[i] 및 proj_reg_left[i] - 각각 프로젝션된 2D 프레임의 i 번째 최상측 샘플 행 및 최좌측(left-most) 샘플 열을 나타냄. 상기 값들은 프로젝션된 프레임의 좌상측 모서리를 나타내는 0으로부터, 각각 proj_frame_height 및 proj_frame_width 까지의 범위를 가짐.
proj_reg_width[i] 및 proj_reg_left[i]는 proj_reg_width[i] + proj_reg_left[i]가 proj_frame_width 미만이도록 제한됨.
proj_reg_height[i] 및 proj_reg_top[i]는 proj_reg_height[i] + proj_reg_top[i]가 proj_frame_height 미만이도록 제한됨.
프로젝션된 프레임이 입체적(stereoscopic)인 경우, proj_reg_width[i], proj_reg_height[i], proj_reg_top[i] 및 proj_reg_left[i]는 프로젝션된 프레임 상의 이러한 값들에 의해 식별되는 영역이 프로젝션된 프레임의 단일의 구성요소(constituent) 프레임 내에 존재하도록 설정되어야 함.
fov_flag [i] - 1의 값의 fov_flag [i]는 FOV(field of view) 관련 파라미터들이 영역에 대하여 표시되는 것을 특정함.
center_pitch[i] 및 center_yaw[i] - ProjectionOreintationBox(3D 이미지의 배향을 나타냄)를 통해 특정되는 좌표계에 대하여, 0.01도의 단위로, i 번째 영역에 의해 표현되는 구 영역의 중심 점을 특정함. center_yaw는 -18000 내지 17999의 범위 내에 있고, center_pitch는 -9000 내지 9000의 범위 내에 있음.
hor_range 및 ver_range - 0.01 도의 단위로, 각각 i 번째 영역의 수직 및 수평 범위를 나타냄. hor_range 및 ver_range는 i 번째 영역의 중심 점을 통하는 범위를 특정함. hor_range는 1 내지 36000의 범위 내에 있고, ver_range는 1 내지 18000의 범위 내에 있음. center_pitch + ver_range / 2 는 9000 보다 커서는 안됨. center_pitch - ver_range / 2 는 -9000보다 작아서는 안됨.
프로젝션 포맷이 직사각형(equirectangular) 프로젝션인 경우, i 번째 직사각형 영역에 의해 나타내어지는 구 영역은 두 개의 요우 원들과 두 개의 피치 원들에 의해 특정됨.
transform_type[i] - 패킹된 프레임으로 맵핑하기 위해 프로젝션된 프레임의 i-번째 영역에 적용된 회전 또는 미러링을 특정함. transform_type[i]가 회전 및 미러링을 모두 특정하는 경우, 미러링 이후에 회전이 적용됨. 다음과 같은 값들이 transform_type[i]에 사용될 수 있으며, 다른 값들은 예비됨(reserved).
0: 변환 없음
1: 수평적으로 미러링
2: 180 도 만큼 회전 (반시계 방향)
3: 수평적으로 미러링한 이후 180 도 만큼 회전(반시계 방향)
4: 수평적으로 미러링한 이후 900 도 만큼 회전(반시계 방향)
5: 90 도 만큼 회전 (반시계 방향)
6: 수평적으로 미러링한 이후 270 도 만큼 회전(반시계 방향)
7: 270 도 만큼 회전 (반시계 방향)
packed_reg_width[i], packed_reg_height[i], packed_reg_top[i], 및 packed_reg_left[i] - 각각 패킹된 프레임의 i-번째 영역의 폭, 높이 최상측 샘플 행, 최좌측 샘플 열을 특정함. packed_reg_width[i], packed_reg_height[i], packed_reg_top[i], 및 packed_reg_left[i]에 의해 특정되는 사각형은 packed_reg_width[j], packed_reg_height[j], packed_reg_top[j], 및 packed_reg_left[j]에 의해 특정되는 사각형과 중첩하지 않음. j는 0 부터 i-1 이하의 범위를 갖는 임의의 정수임.
quality_ranking[i] - 360 컨텐트(즉, 전체의 프로젝션된 프레임) 내의 다른 영역들에 대한 해당 영역의 품질 랭킹(즉, 품질 레벨)을 특정함. 품질 랭킹은 전달 및 렌더링 우선순위를 나타냄. 더 낮은 값들은 더 높은 품질 컨텐트를 나타냄. 1 내지 100의 값을 가짐. 0의 값의 quality_ranking은 랭킹이 정의되지 않음을 의미함.
아래의 표 3의 신택스에 의해 표시되는 RegionWisePackingBox는 프로젝션된 프레임이 영역별로(region wise) 패킹되며, 렌더링하기 이전에 패킹해제(unpacking)되어야함을 나타낸다.
Figure PCTKR2018001286-appb-I000005
Figure PCTKR2018001286-appb-I000006
Figure PCTKR2018001286-appb-I000007
Figure PCTKR2018001286-appb-I000008
상기 신택스의 파라미터들에 대한 시맨틱스는 다음과 같다.
num_regions - 패킹된 영역들의 수를 특정한다. 0의 값은 예비됨.
proj_frame_width 및 proj_frame_height - 각각 프로젝션된 프레임의 폭 및 높이를 특정함.
packing_type - 영역별 패킹의 타입을 특정한다. 0의 값의 packing_type은 사각형 영역별(rectangular region-wise) 패킹을 나타냄. 1의 값은 구 표면 영역별(sphere surface region-wise) 패킹을 나타냄.
quality_ranking[i] - 360 컨텐트(즉, 전체의 프로젝션된 프레임) 내의 다른 영역들에 대한 해당 영역의 품질 랭킹(즉, 품질 레벨)을 특정함. 품질 랭킹은 전달 및 렌더링 우선순위를 나타냄. 더 낮은 값들은 더 높은 품질 컨텐트를 나타냄. 1 내지 100의 값을 가짐. 0의 값의 quality_ranking은 랭킹이 정의되지 않음을 의미함.
fov_flag, center_pitch[i], center_yaw[i], hor_range[i], ver_range[i] - 앞서 RectRegionPacking에서의 설명과 동일함.
SphereRegionPacking - 구 표면 영역별 패킹이 사용되는 경우, 구 형상의 3D 이미지의 영역과 패킹된 2D 이미지의 영역과의 관계를 나타냄. SphereRegionPacking은 다음과 같은 표4의 신택스를 통해 표현될 수 있음.
Figure PCTKR2018001286-appb-I000009
SphereRegionPacking의 파라미터들에 대한 시맨틱스는 다음과 같다.
center_pitch[i] 및 center_yaw[i] - ProjectionOreintationBox(3D 이미지의 배향을 나타냄)를 통해 특정되는 좌표계에 대하여, 0.01도의 단위로, i 번째 영역에 의해 표현되는 구 영역의 중심 점을 특정함. center_yaw는 -18000 내지 17999의 범위 내에 있고, center_pitch는 -9000 내지 9000의 범위 내에 있음.
hor_range 및 ver_range - 0.01 도의 단위로, 각각 i 번째 영역의 수직 및 수평 범위를 나타냄. hor_range 및 ver_range는 i 번째 영역의 중심 점을 통하는 범위를 특정함. hor_range는 1 내지 36000의 범위 내에 있고, ver_range는 1 내지 18000의 범위 내에 있음. center_pitch + ver_range / 2 는 9000 보다 커서는 안됨. center_pitch - ver_range / 2 는 -9000보다 작아서는 안됨.
transform_type[i], packed_reg_width[i], packed_reg_height[i], packed_reg_top[i], 및 packed_reg_left[i] - 앞서 RectRegionPacking에서 설명한 것과 동일함
프로젝션 포맷이 직사각형(equirectangular) 프로젝션인 경우, i 번째 직사각형 영역에 의해 나타내어지는 구 영역은 두 개의 요우 원들과 두 개의 피치 원들에 의해 특정됨.
몇몇 실시예들에서, RectRegionPacking이 아니라 SphereRegionPacking이 이용되는 경우, 송신기는 3D 이미지로부터 직접적으로 패킹된 2D 이미지를 생성할 수 있다. 수신기는 패킹된 2D 이미지로부터 3D 이미지를 직접 생성할 수 있다.
사각형 영역별 패킹을 위한 샘플 위치들의 변환과 관련하여 다음의 값들이 입력된다.
- 샘플 단위들로서 표시되는 패킹된 영역 내의 샘플 위치(x, y)
- 샘플 단위들로서 표시되는 프로젝션된 프레임 내의 영역의 폭 및 높이 (projRegWidth, projRegHeight)
- 샘플 단위들로서 표시되는 패킹된 프레임 내의 영역의 폭 및 높이 (packedRegWidth, packedRegHeight)
- 변환 타입 (transformType)
사각형 영역별 패킹을 위한 샘플 위치들의 변환과 관련하여 다음의 값이 출력된다.
- 샘플 단위들로서 표시되는 프로젝션된 영역 내의 샘플 위치 (i, j)
사각형 영역별 패킹을 위한 샘플 위치들의 변환을 위해 다음과 같은 신택스가 이용될 수 있다.
Figure PCTKR2018001286-appb-I000010
Figure PCTKR2018001286-appb-I000011
Figure PCTKR2018001286-appb-I000012
Figure PCTKR2018001286-appb-I000013
패킹된 프레임 내의 packing_type[n]이 0인(즉, 직사각형 영역별 패킹이 적용된) n-번째 영역에 속하는 각각의 루마(luma) 샘플 위치(xPackedFrame, yPackedFrame)에 대하여, 프로젝션된 프레임의 대응하는 샘플 위치(xProjFrame, yProjFrame)는 다음과 같이 유도될 수 있다.
- x는 xPackedFrame - packed_reg_left[n] 와 동일하게 설정된다.
- y는 yPackedFrame - packed_reg_top[n] 와 동일하게 설정된다.
- x, y, packed_reg_width[n], packed_reg_height[n], proj_reg_width[n], proj_reg_height[n], 및 transform_type[n]를 입력들로 하여, 위의 사각형 영역별 패킹을 위한 샘플 위치들의 변환을 위한 신택스가 적용된다. 출력은 샘플 위치 (i, j)에 할당된다.
- xProjFrame 은 proj_reg_left[n]+ i 와 동일하게 설정된다.
- xProjFrame 이 proj_frame_width 과 동일하거나 또는 더 큰 경우, xProjFrame은 xProjFrame - proj_frame_width 와 동일하게 설정된다.
- yProjFrame 은 proj_reg_top[n] + j 와 동일하게 설정된다.
크로마(chroma) 포맷 및 크로마 위치 타입 LocType 이 사용되는 경우, CenterLeftOffsetC, CenterTopOffsetC, horRatioC, 및 verRatioC의 값들은 아래의 표 6에서 특정될 수 있다.
Chroma format LocType CenterLeftOffsetC CenterTopOffsetC horRatioC verRatioC
4:2:0 0 0.125 0.25 2 2
4:2:0 1 0.25 0.25 2 2
4:2:0 2 0.125 0.125 2 2
4:2:0 3 0.25 0.125 2 2
4:2:0 4 0.125 0.375 2 2
4:2:0 5 0.25 0.375 2 2
4:2:2 - 0.125 0.5 2 1
4:4:4 - 0.5 0.5 1 1
패킹된 프레임 내의 packing_type[n]이 0인(즉, 직사각형 영역별 패킹이 적용된) n-번째 영역에 속하는 각각의 크로마 샘플 위치(xPackedFrameC, yPackedFrameC)에 대하여, 프로젝션된 프레임의 대응하는 샘플 위치(xProjFrameC, yProjFrameC)는 다음과 같이 유도될 수 있다.
- xC 는 xPackedFrameC - packed_reg_left[n]/horRatioC 와 동일하게 설정된다.
- yC 는 yPackedFrameC - packed_reg_top[n]/verRatioC 와 동일하게 설정된다.
- packedRegWidthC 는 packed_reg_width[n]/horRatioC 와 동일하게 설정된다.
- packedRegHeightC 는 packed_reg_height[n]/verRatioC 와 동일하게 설정된다.
- projRegWidthC 는 proj_reg_width[n]/horRatioC 와 동일하게 설정된다.
- projRegHeightC 는 proj_reg_height[n]/verRatioC 와 동일하게 설정된다.
- xC, yC, packedRegWidthC, packedRegHeightC, projRegWidthC, projRegHeightC, 및 transform_type[n] 를 입력들로 하여, 위의 사각형 영역별 패킹을 위한 샘플 위치들의 변환을 위한 신택스가 적용된다. 출력은 샘플 위치 (i, j)에 할당된다.
- xProjFrameC은 proj_reg_left[n]/horRatioC+i 와 동일하게 설정된다.
- xProjFrameC 이 proj_frame_width/horRatioC 과 동일하거나 또는 더 큰 경우, xProjFrameC 는 xProjFrameC - (proj_frame_width/horRatioC) 와 동일하게 설정된다.
- yProjFrameC 은 proj_reg_top[n]/verRatioC+j 와 동일하게 설정된다.
다시 도 1을 참고하면, 송신기는 패킹된 2D 이미지를 인코딩할 수 있다 (240). 패킹된 2D 이미지는 복수의 영역들로 분할될 수 있다. 패킹된 2D 이미지의 복수의 영역들에 대하여 개별적으로 인코딩이 수행될 수 있다. 몇몇 실시예들에서, 패킹된 2D 이미지의 복수의 영역들 중 전송될 하나 이상의 영역에 대하여만 인코딩이 수행될 수도 있다. 몇몇 실시예들에서, 패킹된 2D 이미지의 복수의 영역들 중 둘 이상의 영역들에 대한 그룹 이미지에 대하여 인코딩이 수행될 수 있다. 몇몇 실시예들에서, 패킹된 2D 이미지 전체에 대하여 인코딩이 수행될 수 있다. 인코딩은 기존에 알려진 2D 이미지에 대한 인코딩 방식을 이용하여 수행될 수 있다.
송신기는 인코딩된 데이터를 캡슐화(encapsulation)할 수 있다 (150). 캡슐화는 인코딩된 데이터를 분할하고, 분할물들에 헤더를 부가하는 등의 프로세싱을 통해 정해진 전송 프로토콜에 따르도록 인코딩된 데이터를 가공하는 것을 의미할 수 있다. 송신기는 캡슐화된 데이터를 전송할 수 있다. 송신기는 캡슐화된 데이터와 함께, 또는 데이터와 개별적으로 데이터와 관련된 추가적인 데이터, 데이터를 재생하기 위해 필요한 데이터(예를 들어, 메타데이터)를 전송할 수 있다.
송신기에서의 데이터의 전송은 MMT(MPEG Media Transport) 또는 DASH (Dynamic Adaptive Streaming over HTTP)를 따를 수 있으나, 반드시 이에 한정되는 것은 아니다.
도시되지는 않았으나, 송신기는 이미지에 관련된 데이터 이외에도 오디오에 관한 데이터 또한 수신기로 송신할 수 있다.
몇몇 실시예들에 의하면, 송신기는 3D 이미지에 대응하는 복수의 트랙들을 생성하고, 복수의 트랙들 중 일부 또는 전부에 대한 데이터를 수신기로 송신할 수 있다. 복수의 트랙들은 서로 상이한 영역들에 대한 데이터를 갖거나, 또는 서로 상이한 품질 등급(quality level)들을 가질 수 있다.
이하, 도 3을 참고하여 수신기에 대하여 설명하도록 한다. 도 3은 본 발명의 일 실시예에 따른 3D 이미지에 관한 데이터를 수신하기 위한 수신기의 시스템을 나타낸다. 수신기는 VR 디바이스 또는 AR 디바이스일 수 있다. 수신기는 이외에도 3D 이미지에 관한 데이터를 수신하여 이를 재생할 수 있는 모든 종류의 디바이스를 지칭할 수 있다.
수신기는 송신기로부터 전송된 3D 이미지에 관한 데이터를 수신할 수 있다. 수신기는 수신된 데이터에 대하여 캡슐화 해제(decapsulation)를 수행할 수 있다 (310). 캡슐화 해제(310)를 통하여, 도 1에서의 인코딩(140)을 통해 생성된 인코딩된 데이터가 획득될 수 있다.
수신기는 캡슐화 해제(310)된 데이터에 대하여 디코딩을 수행할 수 있다 (320). 디코딩(320)을 통해 패킹된 2D 이미지가 복원될 수 있다.
수신기는 디코딩된 데이터(즉, 패킹된 2D 이미지)에 대하여 패킹해제(unpacking)를 수행할 수 있다 (330). 패킹해제를 통해 도 1에서의 프로젝션(120)을 통해 생성된 2D 이미지가 복원될 수 있다. 패킹해제를 수행하는 것은 도 1에서의 패킹(130)에서 수행된 프로젝션된 2D 이미지의 복수의 영역에 대한 변형 및/또는 재배치의 역변환이 수행될 수 있다. 이를 위해 패킹(130)의 방법에 대하여 수신기는 알고 있을 필요가 있다. 패킹(130)의 방법은 수신기와 송신기 사이에 미리 정해져 있을 수 있다. 몇몇 실시예들에 의하면 송신기는 패킹(130)의 방법에 관한 정보를 메타데이터와 같은 별도의 메시지를 통해 수신기에 전달할 수 있다. 몇몇 실시예들에 의하면, 캡슐화(150)를 통해 생성된 전송 데이터는, 예를 들어 헤더 내부에, 패킹(130)의 방법에 관한 정보를 포함할 수도 있다.
수신기는 패킹해제된 2D 이미지를 3D 이미지로 프로젝션할 수 있다 (340). 수신기는 2D 이미지를 3D 이미지로 프로젝션하기 위해 도 1에서 2D 이미지로 프로젝션(120)하기 위해 사용된 프로젝션의 역의 프로젝션을 사용할 수 있으나, 반드시 이에 한정되는 것은 아니다. 수신기는 패킹해제된 2D 이미지를 3D 이미지로 프로젝션하여 3D 이미지를 생성할 수 있다.
수신기는 3D 이미지의 적어도 일부를 디스플레이 장치를 통해 디스플레이할 수 있다(350). 예를 들어, 수신기는 3D 이미지 중, 현재의 FOV(field of view)에 대응하는 데이터만을 추출하여 렌더링할 수 있다.
도 4는 본 발명의 일 실시예에 따른 서버와 단말의 동작을 나타내는 흐름도이다. 도 4에서 서버(410)는 도 1의 송신기에 대응될 수 있으며, 단말(420)는 도 3의 수신기에 대응될 수 있다.
단계 430에서 단말(420)은 단말의 뷰포트 정보를 서버(410)로 전송할 수 있다. 단말의 뷰포트 정보는 단말에서 디스플레이하기 위한 영역(즉, 뷰포트)를 특정하는 정보일 수 있다. 몇몇 실시예들에서, 뷰포트 정보는 뷰포트에 대응하는 3D 이미지 상의 영역을 특정하는 정보일 수 있다. 몇몇 실시예들에서, 뷰포트 정보는 3D 이미지로부터 프로젝션된 2D 이미지 상의 뷰포트에 대응하는 영역을 특정하는 정보일 수 있다.
단계(440)에서 서버(410)는 복수의 트랙들 중 뷰포트 정보에 기초하여 선택된 적어도 하나의 트랙에 대한 데이터를 단말(420)로 전송할 수 있다. 서버(410)는 단일의 3D 이미지와 관련된 복수의 트랙들을 생성 및 보유할 수 있다. 몇몇 실시예들에서, 복수의 트랙들은 3D 이미지의 상이한 영역들에 대한 데이터를 포함할 수 있다. 몇몇 실시예들에서, 복수의 트랙들은 3D 이미지 상의 동일한 영역(예를 들어, 3D 이미지 전체)에 대한 정보를 포함할 수 있으며, 복수의 트랙들 각각은 상이한 품질(quality)을 가질 수 있다. 몇몇 실시예들에서, 복수의 트랙들은 단일의 3D 이미지로부터 생성될 수 있다. 몇몇 실시예들에서, 복수의 트랙들 각각은 단일의 3D 이미지를 형성하기 위한 복수의 카메라들 각각으로부터 캡처된 이미지로부터 생성될 수 있다. 이하 도 5 내지 도 8을 참고하여, 단계(440)에 대하여 보다 상세히 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 복수의 트랙들을 나타낸다. 복수의 트랙들(510, 520, 530, 540)은 상이한 품질을 가질 수 있다. 보다 구체적으로, 복수의 트랙들(510, 520, 530, 540) 각각의 특정 영역은 나머지 영역과는 상이한 품질 레벨을 가질 수 있다. 나머지 영역과 상이한 품질 레벨을 갖는 특정 영역의 위치는 복수의 트랙들(510, 520, 530, 540)마다 상이할 수 있다. 도 5의 실시예에서, 제 1 트랙(510) 내의 제 1 영역(515), 제 2 트랙(520) 내의 제 2 영역(525), 제 3 트랙(530) 내의 제 3 영역(535) 및 제 4 트랙(540) 내의 제 4 영역(545)은 해당 트랙 내의 나머지 부분과 상이한 품질 레벨을 갖는 특정 영역이다. 제 1 내지 제 4 영역들(515, 525, 535, 545)의 각각의 품질 레벨은 해당 트랙의 나머지 부분들보다 높은 품질 레벨을 가질 수 있다. 제 1 내지 제 4 영역들(515, 525, 535, 545)의 품질 레벨은 동일할 수 있으나 반드시 이에 한정되는 것은 아니다.
도 5의 실시예와 같이, 서버(410)가 제 1 내지 제 4 트랙들(510, 520, 530, 540)을 보유하는 경우, 서버(410)는 수신된 뷰포트 정보에 기초하여 전송할 적어도 하나의 트랙을 선택할 수 있다. 보다 구체적으로, 서버(410)는 단말(420)로부터 수신된 뷰포트 정보에 의해 나타내어지는 영역과 관련되는 높은 품질 레벨을 갖는 영역을 포함하는 적어도 하나의 트랙을 선택할 수 있다. 예를 들어, 뷰포트 정보에 의해 나타내어지는 영역이 제 1 영역(515)와 동일하거나, 제 1 영역(515)에 포함되는 경우 서버(410)는 제 1 트랙(510)을 선택할 수 있으며, 뷰포트 정보에 의해 나타내어지는 영역이 제 2 영역(525)에 포함되는 경우, 서버(410)는 제 2 트랙(520)을 선택할 수 있다. 또 다른 예를 들면, 제 1 내지 제 4 영역들(515, 525, 535, 545) 중 뷰포트 정보에 의해 나타내어지는 영역과 가장 중첩하는 영역이 많은 영역을 포함하는 트랙을 전송하기 위한 트랙으로서 선택할 수 있다. 몇몇 실시예들에서, 서버(410)는 전송하기 위한 복수의 트랙들을 선택할 수도 있다. 예를 들어, 뷰포트 정보에 의해 나타내어지는 영역이 제 1 영역(515)과 제 2 영역(525) 모두에 포함되는 경우, 서버는 제 1 트랙(510) 및 제 2 트랙(520)을 선택할 수 있다. 또 다른 예를 들면, 뷰포트 정보에 의해 나타내어지는 영역이 제 2 영역(525)에 포함되는 경우, 서버(410)는 전송할 트랙으로서, 제 2 트랙(520) 뿐만 아니라, 제 2 영역(525)과 인접한 제 1 영역(515) 및 제 3 영역(535)을 고품질 영역으로서 포함하는 제 1 트랙(510) 및 제 3 트랙(530)을 전송하기 위한 트랙들로서 선택할 수 있다.
도 5의 실시에에서 표시된 제 1 내제 제 4 트랙들(510, 520, 530, 540)은 프로젝션된 2D 이미지들이며, 제 1 내지 제 4 영역들(510, 520, 530, 540) 각각은 프로젝션된 2D 이미지 상에서 표시될 수 있다. 이와 같이 2D 이미지 상에 적어도 하나의 상이한 품질 레벨을 갖는 영역이 존재하는 경우, 2D 이미지 내의 영역들의 품질 레벨들을 나타내기 위해 다음의 표 7과 같은 신택스가 이용될 수 있다.
Figure PCTKR2018001286-appb-I000014
Figure PCTKR2018001286-appb-I000015
위 신택스의 파라미터들에 대한 시맨틱스는 다음과 같다.
num_regions - 품질 랭킹(즉, 품질 레벨) 정보가 주어지는 영역들의 수를 특정함.
quality_ranking - 영역의 품질 랭킹을 특정함. 0의 값의 quality_ranking은 quality_ranking이 정의되지 않음을 나타냄. 영역 A가 영역 B의 quality_ranking 값보다 작으며 0 이 아닌 quality_ranking 값을 갖는 경우, 영역 A는 영역 B보다 높은 품질을 가짐. 영역 A가 부분적 또는 전체적으로 영역 B와 중첩하는 경우, 영역 A의 quality_ranking은 영역 B의 quality_ranking과 동일해야 함.
view_idc - 0 의 값의 view_idc는 컨텐트가 모노스코픽(monoscopic)인 것을 나타냄. 1의 값의 view_idc는 영역이 스테레오스코픽(stereoscopic) 컨텐트의 좌측 뷰 상에 위치함을 나타냄. 2의 값의 view_idc는 영역이 스테레오스코픽 컨텐트의 우측 뷰 상에 위치함을 나타냄. 2의 값의 view_idc는 영역이 좌측 뷰 및 우측 뷰 모두의 상에 위치함을 나타냄.
remaining_area_flag - 0의 값의 remaining_area_flag 은 영역이 left_offset, top_offset, region_width 및 region_height에 의해 정의됨을 특정함. 1의 값의 remaining_area_flag 은 영역이 해당 박스에서 정의된 어떠한 다른 영역들에 의해서도 커버되지 않는 영역임을 특정함.
left_offset, top_offset, region_width 및 region_height - 영역의 크기 및 위치를 나타내는 정수 값들. left_offset 및 top_offset은 각각 패킹된 프레임 내의 영역의 좌상측 모서리의 루마 샘플들 내에서의 수평 및 수직 좌표들을 나타냄. region_width 및 region_height 는 각각 패킹된 프레임 내의 루마 샘플들 내에서의 영역의 폭 및 높이를 나타냄. left_offset + region_width 는 width of VisualSampleEntry (즉, 프레임의 폭)보다 적어야 함. top_offset + region_height 는 height of VisualSampleEntry (즉, 프레임의 높이) 보다 적어야 함.
이러한 신택스에 의해 표현되는 이미지(프레임 또는 트랙)의 영역들과 영역들의 각각의 품질 레벨에 관한 정보는 서버(410)에서 이미지의 영역들 및 영역들 각각의 품질 레벨을 식별하기 위해 이용되거나, 메타데이터(metadata)로서 서버(410)로부터 단말(420)로 전송될 수 있다.
몇몇 실시예들에서, 하나의 이미지(트랙, 또는 프레임) 내에 각각이 상이한 품질 레벨을 갖는 영역들이 포함될 수 있다. 예를 들어, 개별적으로 품질 레벨이 설정된 영역들을 갖는 2D 이미지를 예시하는 도 9를 참고하면, 2D 이미지(900)는 제 1 영역(910), 제 1 영역(910)을 둘러싸는 제 2 영역(920), 및 제 1 영역(910)과 제 2 영역(920)을 제외한 제 3 영역(930)을 포함할 수 있다. 제 1 영역(910), 제 2 영역(920) 및 제 3 영역(930)에 대하여 개별적으로 품질 레벨이 설정될 수 있다. 이러한 경우에도 위의 2D 이미지 내의 영역들의 품질 레벨들을 나타내기 위한 신택스를 이용하여 2D 이지미(900)의 영역들에 대한 품질 정보를 나타낼 수 있다. 제 3 영역(930)은 1의 값의 remaining_area_flag의 속성을 갖는 나머지(remaining) 영역일 수 있다.
도 6은 본 발명의 다른 실시예에 따른 복수의 트랙들을 나타낸다. 도 6에서의 제 1 내지 제 4 트랙들(610, 620, 630, 640)은 도 5에서와 마찬가지로, 해당 트랙의 나머지 부분과 상이한 품질 레벨을 갖는 특정한 영역을 포함할 수 있다. 제 1 내지 제 4 영역들(615, 625, 635, 645) 각각이 해당 트랙의 나머지 부분과 상이한 품질 레벨을 갖는 특정한 영역에 해당할 수 있다. 도 6의 실시예에서 전송할 적어도 하나의 트랙을 선택하기 위한 방법은 도 5에서의 설명과 실질적으로 동일하다.
도 6의 실시예에서, 제 1 내지 제 4 영역들(615, 625, 635, 645)은 프로젝션된 2D 이미지가 아니라 3D 이미지 상에서 표시될 수 있다. 3D 이미지의 영역들의 품질 레벨을 나타내기 위한 예시적인 신택스는 다음의 표 8과 같다.
Figure PCTKR2018001286-appb-I000016
Figure PCTKR2018001286-appb-I000017
위 신택스의 파라미터들에 대한 시맨틱스는 다음과 같다.
region_definition_type: 0 의 값을 갖는 경우 영역이 구 형상의 3D 이미지 상의 4 개의 대원(great circle)들에 의해 특정됨을 나타냄. 1 의 값을 갖는 경우 영역이 두 개의 요우 원들과 두 개의 피치 원들에 의해 특정됨을 나타냄.
num_regions - 품질 랭킹(즉, 품질 레벨) 정보가 주어지는 영역들의 수를 특정함.
quality_ranking - 영역의 품질 랭킹을 특정함. 0의 값의 quality_ranking은 quality_ranking이 정의되지 않음을 나타냄. 영역 A가 영역 B의 quality_ranking 값보다 작으며 0 이 아닌 quality_ranking 값을 갖는 경우, 영역 A는 영역 B보다 높은 품질을 가짐. 영역 A가 부분적 또는 전체적으로 영역 B와 중첩하는 경우, 영역 A의 quality_ranking은 영역 B의 quality_ranking과 동일해야 함.
view_idc - 0 의 값의 view_idc는 컨텐트가 모노스코픽(monoscopic)인 것을 나타냄. 1의 값의 view_idc는 영역이 스테레오스코픽(stereoscopic) 컨텐트의 좌측 뷰 상에 위치함을 나타냄. 2의 값의 view_idc는 영역이 스테레오스코픽 컨텐트의 우측 뷰 상에 위치함을 나타냄. 2의 값의 view_idc는 영역이 좌측 뷰 및 우측 뷰 모두의 상에 위치함을 나타냄.
remaining_area_flag - 0의 값은 영역이 RegionOnSphereSturct (1) 구조에 의해 정의됨을 특정함. 1의 값은 영역이 해당 박스에서 정의되는 다른 어떠한 영역들에 의해서도 커버되지 않는 영역임을 나타냄.
RegionOnSphereStruct (1) - 구 좌표 시스템과 관련된 영역의 구 상의 위치 및 크기를 나타냄. 영역들의 형태는 region_definition_type에 의해 정의됨. center_yaw, center_pitch, hor_range and ver_range가 구 상의 영역을 특정하기 위해 이용됨.
RegionOnSphereStruct의 신택스는 다음의 표 9과 같다.
Figure PCTKR2018001286-appb-I000018
Figure PCTKR2018001286-appb-I000019
RegionOnSphereStruct의 파라미터들에 대한 시맨틱스는 다음과 같다.
center_yaw 및 center_pitch - 글로벌 좌표계에 대하에 대하여, 0.01도의 단위로, 이 샘플에 의해 특정되는 영역의 중심 점을 특정함. center_yaw는 -18000 내지 17999의 범위 내에 있고, center_pitch는 -9000 내지 9000의 범위 내에 있음.
hor_range 및 ver_range - 0.01 도의 단위로, 이 샘플에 의해 특정되는 영역의, 각각, 수직 및 수평 범위를 나타냄. hor_range 및 ver_range는 i 번째 영역의 중심 점을 통하는 범위를 특정함. hor_range는 1 내지 36000의 범위 내에 있고, ver_range는 1 내지 18000의 범위 내에 있음. center_pitch + ver_range / 2 는 9000 보다 커서는 안됨. center_pitch - ver_range / 2 는 -9000보다 작아서는 안됨.
tile_entry_count - 존재하는 경우, 이 샘플에 의해 특정되는 영역에 대응하는 타일 그룹들의 수를 특정함.
tile_region_groupID - center_yaw, center_pitch, hor_range 및 ver_range에 의해 정의되는 영역의 전체 또는 부분을 커버하는, 이 샘플에 의해 특정되는 영역 내의 타일 영역을 식별함.
region_definition_type과 관련하여 보다 상세히 설명하면, 0의 값의 region_definition_type은 영역이 3D 이미지 상의 4 개의 대원들에 의해 특정됨을 나타낸다. 여기서 대원은 구의 표면 상에서 정의될 수 있는 가장 큰 지름을 갖는 원을 의미한다. 이러한 경우, 영역은 영역의 중심 좌표, 롤(roll) 값, 구의 중심을 기준으로 하는 영역의 수평 각 범위 및 영역의 수직 각 범위에 의해 특정될 수 있다.
1의 값의 region_definition_type은 영역이 두 개의 요우 원들과 두개의 피치 원들에 의해 특정됨을 나타낸다. 요우 원은 구의 중심을 원점으로 하는 x, y, z 좌표계에서, 구 상의 z 축을 통과하는 원을 나타내며, 피치 원은 구 상의 x-y 평면에 평행한 원을 나타낸다. 이러한 경우, 영역은 영역의 중심 좌표, 구의 중심을 기준으로 하는 영역의 수평 각 범위 및 영역의 수직 각 범위에 의해 특정될 수 있다.
도 9에서와 유사하게 3D 이미지가 품질 정보가 각각 설정된 복수의 영역들을 포함하는 경우에도, 위의 3D 이미지의 영역들의 품질 레벨을 나타내기 위한 예시적인 신택스가 이용될 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 복수의 트랙들을 나타낸다. 도 8은 도 7의 복수의 복수의 트랙들에 의해 표현되는 2D 이미지를 나타낸다. 도 7의 실시예에서, 제 1 내지 제 4 트랙들(710, 720, 730, 740)들 각각은 2D 또는 3D의 전체 이미지의 상이한 영역에 대한 데이터를 포함할 수 있다. 도 8의 프로젝션된 2D 이미지(800)는 제 1 내지 제 4 트랙들(710, 720, 730, 740)에 의해 표현되는 전체 이미지를 나타낸다. 제 1 내지 제 4 트랙들(710, 720, 730, 740)은 상이한 품질 레벨들을 가질 수 있다. 서버(410)는 단말(420)로부터 수신된 뷰포트 정보에 기초하여 전송할 트랙을 선택하기 위해, 제 1 내지 제 4 트랙들(710, 720, 730, 740) 중 뷰포트에 대응하는 영역을 포함하는 트랙을 선택할 수 있다. 몇몇 실시예들에 의하면, 제 1 내지 제 4 트랙들(710, 720, 730, 740)은 서로 중첩할 수 있다. 예를 들어, 뷰포트에 대응하는 영역이 다수의 트랙들에 동시에 존재하는 경우, 서버(410)는 다수의 트랙들 중 가장 높은 품질을 갖는 트랙을 전송할 트랙으로서 선택할 수 있다.
ProjectedOmnidirectionalVideoBox(트랙 내에 포함된 샘플들이 프로젝션된 프레임인지 아니면 패킹된 프레임인지를 나타냄) 컨테이너와 연관되는 프로젝션된 프레임에 의해 표현되는 구 표면의 영역에 대한 정보를 이용하기 위해 CoverageInformationBox가 이용될 수 있다. CoverageInformationBox의 부재(absence)는 프로젝션된 프레임이 전체 구(full sphere)의 표현(representation)임을 나타낸다. 예를 들어, 도 7 및 8의 실시예의 경우, CoverageInformationBox가 존재할 수 있다. 이 박스 내의 필드들은 ProjectionOrientationBox가 존재하는 경우, ProjectionOrientationBox의 적용 이후에 적용한다. CoverageInformationBox의 신택스는 표 10과 같다.
Figure PCTKR2018001286-appb-I000020
CoverageInformationBox의 파라미터들의 시맨틱스는 다음과 같다.
RegionOnSphereStruct(1) - 앞서 SphereRegionQualityRankingBox에서 설명한 바와 동일함.
coverage_quality - 360 컨텐트 (즉, 전체의 프로젝션된 프레임)을 형성하기 위해 합해질 수 있는 상이한 트랙들 내의 다른 커버리지 영역들에 대한, ProjectedOmnidirectionalVideoBox 컨테이너와 연관되는 커버리지 영역의 품질을 특정함. coverage_quality은 전달(delivery) 및 렌더링 우선순위를 나타내며, 높은 품질은 높은 우선순위를 가짐. 더 낮은 값들은 더 높은 품질 컨텐트를 나타냄. 1 내지 100의 범위를 가짐. 0의 값의 coverage_quality는 어떠한 랭킹(즉, 품질 레벨)도 정의되지 않음을 나타냄.
이하 도 10을 참고하여, 송신기의 구조에 대하여 설명하도록 한다. 도 10은 본 발명의 일 실시예에 따른 송신기의 블록도이다.
송신기(1000)는 메모리(1030), 통신 인터페이스(1020) 및 프로세서(1010)를 포함할 수 있다. 송신기(1000)는 앞서 실시예들을 통해 설명된 송신기(즉, 서버)의 동작들을 수행하도록 구성될 수 있다. 프로세서(1010)는 메모리(1030) 및 통신 인터페이스(1020)에 통신 가능하게, 그리고 전기적으로 연결될 수 있다. 통신 인터페이스(1020)를 통해 송신기(1000)는 이미지 데이터 및 메타데이터를 포함하는 데이터를 송신하고 그리고 수신할 수 있다. 메모리(1030)에는 송신기(1000)의 동작을 위한 정보들이 저장될 수 있다. 프로세서(1010)를 제어하기 위한 명령들 또는 코드들이 메모리(1030)에 저장될 수 있다. 추가적으로, 프로세서(1010)의 연산을 위해 필요한 일시적 또는 지속적 데이터들이 메모리(1030)에 저장될 수 있다. 프로세서(1010)는 하나의 프로세서일 수 있으며, 몇몇 실시예들에 따르면, 기능들에 따라 구분된 복수의 프로세서들의 집합을 의미할 수도 있다. 프로세서(1010)는 송신기(1000)의 동작을 제어하도록 구성될 수 있다. 앞서 설명된 송신기(1000)의 동작들은 실질적으로 프로세서(1010)에 의해 처리되고 실행될 수 있다. 비록 데이터를 송신하고 수신하는 것이 통신 인터페이스(1020)를 통해 이루어지고, 데이터 및 명령들을 저장하는 것이 메모리(1030)에 의해 수행되더라도, 통신 인터페이스(1020) 및 메모리(1030)의 동작들은 프로세서(1010)에 의해 제어될 수 있으므로, 데이터를 송신 및 수신하는 것 및 명령들을 저장하는 것 또한 프로세서(1010)에 의해 수행되는 것으로 간주될 수 있다.
수신기(예를 들어, 단말, VR 디바이스 등) 또한, 송신기(1000)와 유사하게 메모리, 통신 인터페이스 및 프로세서를 포함할 수 있다 수신기의 메모리, 통신 인터페이스 및 프로세서에 대한 설명은 송신기(1000)의 대응하는 엘리먼트들에 대한 설명과 유사하다. 수신기는 수신된 전방향 이미지를 디스플레이하기 위한 디스플레이 장치를 더 포함할 수 있다.
본 명세서에서 설명된 신택스들은 예시적인 것에 불과하다. 특정한 신택스 내에 포함된 모든 파라미터들이 해당 신택스로 형성되는 데이터(즉, 메타데이터)를 구성하기 위해 반드시 필요한 것은 아니다. 해당 기술 분야의 통상의 기술자는 기술된 파라미터들 중 일부의 파라미터들만을 이용하여 데이터가 구성될 수 있다는 것을 자명하게 이해할 수 있을 것이다. 예시된 신택스들을 통해 구성되는 데이터는 서버 내에서 사용될 수 있으며, 또한 단말로 전송되어 단말에 의해 전방향 이미지에 관한 데이터를 프로세싱하기 위해 이용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (12)

  1. 서버에 의해, 전방향(omnidirectional) 이미지에 관한 데이터를 전송하기 위한 방법으로서,
    단말로부터 상기 단말의 뷰포트에 관한 정보를 수신하는 과정;
    상기 뷰포트에 관한 정보 및 상기 전방향 이미지와 관련된 복수의 트랙들 각각의 품질에 기초하여, 상기 복수의 트랙들 중 적어도 하나의 트랙을 선택하는 과정; 및
    상기 선택된 적어도 하나의 트랙에 대한 데이터를 상기 단말로 전송하는 과정을 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 복수의 트랙들 각각은 나머지 영역보다 높은 품질을 갖는 제 1 영역을 포함하고,
    상기 제 1 영역의 위치는 상기 복수의 트랙들마다 상이하고,
    상기 선택된 적어도 하나의 트랙은 상기 뷰포트와 중첩하는 상기 제 1 영역을 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 제 1 영역의 품질 랭킹은 상기 복수의 트랙들에서 동일하고,
    상기 나머지 영역의 품질 랭킹은 상기 복수의 트랙들에서 동일한,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 복수의 트랙들 각각은 상기 전방향 이미지의 상이한 영역에 관련되고,
    상기 복수의 트랙들 중 제 1 의 트랙들 각각에 의해 표현되는 영역은 중첩되고,
    상기 뷰포트가 상기 제 1 트랙들의 중첩되는 영역 상에 존재하는 경우, 상기 선택하는 과정은 상기 제 1 트랙들 중 가장 높은 품질 랭킹을 갖는 트랙을 선택하는 과정을 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 단말로, 상기 전방향 이미지에 관한 메타데이터를 전송하는 과정을 더 포함하고,
    상기 메타데이터는 프레임의 적어도 하나의 영역에 각각에 대한 품질 랭킹 및 상기 프레임의 상기 적어도 하나의 영역을 제외한 나머지 영역에 대한 품질 랭킹에 관한 정보를 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 적어도 하나의 영역은 구 형상의 상기 전방향 이미지 상에서 또는 상기 전방향 이미지로부터 프로젝션된 2D 이미지 상에서 식별되는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 전방향 이미지로부터 프로젝션된 2D 이미지를 생성하는 과정; 및
    상기 프로젝션된 2D 이미지의 복수의 영역들을 중 적어도 일부 영역을 변형하여, 패킹된 2D 이미지를 생성하는 과정을 더 포함하고,
    상기 패킹된 2D 이미지의 제 1 샘플 위치에 대응하는 상기 프로젝션된 2D 이미지의 제 2 샘플 위치는:
    상기 복수의 영역들 중 상기 제 1 샘플 위치가 포함된 제 1 영역의 변형의 타입에 따라, 상기 제 1 영역으로부터 변형된 상기 패킹된 2D 이미지와 상기 제 1 이미지 사이의 수직 비율(vertical ratio) 및 수평 비율(horizontal ratio)을 식별하고, 그리고
    상기 제 1 샘플 위치, 상기 수직 비율, 상기 수평 비율을 이용하는 상기 변형의 타입에 따른 상이한 수식을 이용하는 것에 의해 식별되는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 전방향 이미지로부터 프로젝션된 2D 이미지를 생성하는 과정;
    상기 프로젝션된 2D 이미지의 복수의 영역들을 영역별 패킹(region-wise packing)하여, 패킹된 2D 이미지를 생성하는 과정; 및
    상기 전방향 이미지에 관한 메타데이터를 단말로 전송하는 과정을 더 포함하고,
    상기 메타데이터는 상기 패킹된 2D 이미지의 복수의 영역들 각각에 대응하는 전방향 이미지의 영역의 중심의 좌표, 수직 범위 및 수평 범위를 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 메타데이터는 상기 패킹된 2D 이미지의 복수의 영역들 각각에 대한 품질 랭킹을 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  10. 제 8 항에 있어서,
    상기 메타데이터는 상기 전방향 이미지의 특정한 영역의 품질 랭킹을 나타내는 정보를 더 포함하는,
    서버에 의해 전방향 이미지에 관한 데이터를 전송하기 위한 방법.
  11. 전방향(omnidirectional) 이미지에 관한 데이터를 전송하기 위한 서버로서,
    통신 인터페이스; 및
    상기 통신 인터페이스에 연결된 프로세서를 포함하고,
    상기 프로세서는:
    단말로부터 상기 단말의 뷰포트에 관한 정보를 수신하고;
    상기 뷰포트에 관한 정보 및 상기 전방향 이미지와 관련된 복수의 트랙들 각각의 품질에 기초하여, 상기 복수의 트랙들 중 적어도 하나의 트랙을 선택하고; 그리고
    상기 선택된 적어도 하나의 트랙에 대한 데이터를 상기 단말로 전송하도록 구성되는,
    전방향 이미지에 관한 데이터를 전송하기 위한 서버.
  12. 제 11 항에 있어서,
    상기 프로세서는, 제 2 항 내지 제 10 항 중 어느 한 항의 방법에 따라 동작하도록 추가적으로 구성되는,
    전방향 이미지에 관한 데이터를 전송하기 위한 서버.
PCT/KR2018/001286 2017-03-28 2018-01-30 3차원 이미지에 관한 데이터를 전송하기 위한 방법 WO2018182161A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/498,067 US10791316B2 (en) 2017-03-28 2018-01-30 Method for transmitting data about three-dimensional image
EP18776566.4A EP3606084A4 (en) 2017-03-28 2018-01-30 METHOD FOR TRANSMITTING DATA RELATING TO A THREE-DIMENSIONAL IMAGE
CN201880022470.4A CN110495181A (zh) 2017-03-28 2018-01-30 用于发送关于三维图像的数据的方法

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
KR10-2017-0039641 2017-03-28
KR20170039641 2017-03-28
US201762481274P 2017-04-04 2017-04-04
US62/481,274 2017-04-04
US201762529867P 2017-07-07 2017-07-07
US62/529,867 2017-07-07
KR1020170175049A KR102331041B1 (ko) 2017-03-28 2017-12-19 3차원 이미지에 관한 데이터를 전송하기 위한 방법
KR10-2017-0175049 2017-12-19

Publications (1)

Publication Number Publication Date
WO2018182161A1 true WO2018182161A1 (ko) 2018-10-04

Family

ID=63676703

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/001286 WO2018182161A1 (ko) 2017-03-28 2018-01-30 3차원 이미지에 관한 데이터를 전송하기 위한 방법

Country Status (1)

Country Link
WO (1) WO2018182161A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110097596A (ko) * 2010-02-23 2011-08-31 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
KR20120080646A (ko) * 2005-07-19 2012-07-17 애플 인크. 미디어 데이터 전송을 위한 방법 및 장치
US20140341280A1 (en) * 2012-12-18 2014-11-20 Liu Yang Multiple region video conference encoding
JP2016105593A (ja) * 2014-11-26 2016-06-09 ソニー株式会社 ライブ選択的適応帯域幅
KR20160125708A (ko) * 2015-04-22 2016-11-01 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120080646A (ko) * 2005-07-19 2012-07-17 애플 인크. 미디어 데이터 전송을 위한 방법 및 장치
KR20110097596A (ko) * 2010-02-23 2011-08-31 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
US20140341280A1 (en) * 2012-12-18 2014-11-20 Liu Yang Multiple region video conference encoding
JP2016105593A (ja) * 2014-11-26 2016-06-09 ソニー株式会社 ライブ選択的適応帯域幅
KR20160125708A (ko) * 2015-04-22 2016-11-01 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3606084A4 *

Similar Documents

Publication Publication Date Title
WO2020145689A1 (en) Method and apparatus for improving image padding in video-based point-cloud compression codec
WO2022114786A1 (en) Method and apparatus for mesh coding by using overlapped patches for video based point cloud compression
WO2019013430A1 (en) COMPRESSION OF MAILLAGES AND POINT CLOUDS USING IMAGE / VIDEO CODECS
WO2020071807A1 (en) Point cloud compression using continuous surface codes
WO2020013592A1 (en) Improved point cloud compression via color smoothing of point cloud prior to texture video generation
WO2017142355A1 (ko) 전방향성 영상의 메타데이터를 송수신하는 기법
WO2020122675A1 (ko) 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
WO2020145649A1 (en) Apparatus and method for patch splitting in video/image-based point cloud compression system
WO2018128247A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2011129602A2 (ko) 3차원 영상 데이터를 부호화하는 방법 및 장치와 복호화 방법 및 장치
WO2020141928A1 (ko) 영상 코딩 시스템에서 mmvd 에 따른 예측에 기반한 영상 디코딩 방법 및 장치
WO2022060182A1 (en) Partial decoding and reconstruction of a video-based point cloud compression bitstream
WO2017026705A1 (ko) 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
WO2018048223A1 (ko) 3차원 이미지를 프로세싱하기 위한 방법 및 장치
WO2020189983A1 (en) Method and apparatus for accessing and transferring point cloud content in 360-degree video environment
WO2019009600A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
WO2019203523A1 (ko) 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치
WO2021261938A1 (en) Tiling for video based point cloud compression
WO2019103240A1 (ko) Ip를 통한 멀티카메라 비디오 분배 및 결합 시스템 및 그 방법
WO2016006913A1 (ko) 3d 방송 서비스를 위한 방송 신호 송수신 방법 및 장치
WO2018182161A1 (ko) 3차원 이미지에 관한 데이터를 전송하기 위한 방법
WO2015199376A1 (ko) 다시점 비디오 신호 처리 방법 및 장치
KR102331041B1 (ko) 3차원 이미지에 관한 데이터를 전송하기 위한 방법
WO2019083119A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 회전 파라미터를 사용한 영상 디코딩 방법 및 장치
WO2018110839A1 (ko) 3차원 이미지에 관한 데이터를 전송하기 위한 방법

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018776566

Country of ref document: EP

Effective date: 20191028