WO2018190446A1 - 영상 처리 방법 및 장치 - Google Patents

영상 처리 방법 및 장치 Download PDF

Info

Publication number
WO2018190446A1
WO2018190446A1 PCT/KR2017/003997 KR2017003997W WO2018190446A1 WO 2018190446 A1 WO2018190446 A1 WO 2018190446A1 KR 2017003997 W KR2017003997 W KR 2017003997W WO 2018190446 A1 WO2018190446 A1 WO 2018190446A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
director
view
information
projection image
Prior art date
Application number
PCT/KR2017/003997
Other languages
English (en)
French (fr)
Inventor
자하르첸코블라디슬라프
최광표
김현중
이창현
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN201780089536.7A priority Critical patent/CN110520895A/zh
Priority to US16/603,651 priority patent/US10891711B2/en
Priority to PCT/KR2017/003997 priority patent/WO2018190446A1/ko
Priority to KR1020197019238A priority patent/KR102366258B1/ko
Publication of WO2018190446A1 publication Critical patent/WO2018190446A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/067Reshaping or unfolding 3D tree structures onto 2D planes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/416Exact reconstruction

Definitions

  • the present invention relates to a virtual image processing method and apparatus.
  • VR virtual reality
  • HMDs head mounted displays
  • the virtual reality device has a main function of providing a viewable content that can be transformed according to a user's point of view, thereby allowing the user to feel as if they are in a virtual space. Accordingly, many applications that can support a more immersive panorama image playback or provide a video game service using a virtual reality device has emerged.
  • the virtual reality image displayed on the virtual reality device moves according to the line of sight of the user wearing the virtual reality display device, the virtual reality image should include all the images around the user. That is, the virtual reality image provided by the virtual reality device is an image corresponding to all directions around the user, that is, the 360 degree x 180 degree image. Therefore, with the interest in the virtual reality device, the interest in the processing of such 360-degree x 180-degree image is increasing.
  • the 360-degree x 180-degree image processing method according to the prior art has a problem that the image size is large, the processing efficiency is low, the power consumption is high, and part of the image is lost, so that the quality may be degraded. Accordingly, there is a need for an image processing method and apparatus capable of providing more efficient and higher quality images.
  • One embodiment provides an image processing method and apparatus. More specifically, it provides an image processing method and apparatus that can provide more efficient and high quality images.
  • an image processing method includes generating an omnidirectional spherical image; Determining information on a director's view representing a partial area of the omnidirectional spherical image; Generating a projection image by projecting the omnidirectional spherical image onto a development view of a polyhedron; Dividing a director view projection image corresponding to the director view from the projection image based on the information on the director view; Reshaping a rectangular image of the director view by moving a position of at least one pixel among the pixels of the director view projection image; And generating a bitstream encoding the rectangular image of the director view.
  • the information about the director view may include a direction vector indicating the center of the director view from the center of the omnidirectional spherical image, information about a horizontal length of the director view, and the director view. It may include information about the vertical length of.
  • the information about the director view may be included in a supplemental enhancement information (SEI) parameter of a network abstraction layer (NAL) unit in the bitstream.
  • SEI supplemental enhancement information
  • NAL network abstraction layer
  • the polyhedron may be a polyhedron composed of at least one triangle having the same shape and area.
  • the projection image In addition, in the image processing method according to an embodiment, the projection image,
  • It may be an icosahedral projection image or an octahedral projection image.
  • the reconstructing may include a parallel movement direction of pixels included in each row for each row. Determining; And vertically moving the pixels included in each row in an up or down direction according to the determined parallel movement direction.
  • the reconstructing may include adjusting a first moving direction of the pixels included in each row for each row. Determining; Parallelly moving pixels included in each row in a diagonal direction according to the determined first moving direction; Determining a second movement direction of the pixels included in each column for each column; And horizontally moving the pixels included in each column in a left or right direction according to the determined second moving direction.
  • the method comprises: reconstructing a rectangular image of the omni-directional spherical image by moving a position of at least one pixel among the pixels of the projection image; And generating a bitstream encoding the rectangular image of the omni-directional spherical image.
  • the generating the omni-directional spherical image may include: obtaining a 360-degree x 180-degree panoramic image; And replacing a predetermined region of the panoramic image with an artificial image.
  • An image processing method includes: receiving an encoded bitstream; Obtaining information about a director's view representing a partial region of reconstruction information, polyhedron information, and an omnidirectional spherical image from the bitstream; Decoding the bitstream to generate a rectangular image of a director view; Restoring a director view projection image by moving a position of at least one pixel among pixels of the rectangular image of the director view based on the reconstruction information and the information on the director view; And assembling the director view projection image into a polyhedron and back-projecting the polyhedron based on the polyhedron information to generate a backprojection image.
  • the information about the director view may include a direction vector indicating the center of the director view from the center of the omnidirectional spherical image, information about a horizontal length of the director view, and the director view. It may include information about the vertical length of.
  • the director view projection image may represent a form in which a part of an icosahedral projection image or an octahedral projection image is divided. have.
  • the method includes: receiving information on an image mode indicating whether to reproduce an image in a full mode or a director view mode; When the information about the image mode indicates the full mode, the bitstream is decoded to generate a rectangular image of the omni-directional spherical image, and the position of at least one pixel among the pixels of the rectangular image of the omnidirectional spherical image is moved. Restoring a projection image of the omni-directional spherical image and reproducing the projection image of the omni-directional spherical image to reproduce the omni-directional spherical image; And when the information on the image mode indicates the director view mode, reproducing the director view projection image to reproduce an image according to the director view.
  • an area corresponding to a field of view of a user device among the rectangular images of the director view is restored to a high quality, and an area outside the field of view of the user device is low quality. Can be restored.
  • An image processing apparatus may include a receiver configured to receive an encoded bitstream; Obtains information about a director's view representing a partial region of reconstruction information, polyhedron information, and omnidirectional spherical images from the bitstream, and decodes the bitstream to obtain a rectangular image of the director view. Generate and restore a director view projection image by moving a position of at least one pixel among pixels of a rectangular image of the director view based on the reconstruction information and the information on the director view, and based on the polyhedral information And a controller configured to assemble the director view projection image into a polyhedron and to back-project the polyhedron to generate a reverse projection image. And a memory for storing data for the operation of the controller.
  • more efficient and high quality images can be provided.
  • FIG. 1 is a diagram illustrating an omnidirectional spherical image (360 degree x 180 degree image).
  • FIG. 2 is a diagram illustrating a concept of a director's view according to an embodiment.
  • FIG. 3 is a diagram illustrating a process of projecting a omnidirectional spherical image by a polyhedron by an image processing apparatus according to an exemplary embodiment.
  • FIG. 4 is a diagram illustrating an aicosahydral projection image, according to an exemplary embodiment.
  • FIG. 5 is a diagram illustrating an octahydral projection image, according to an exemplary embodiment.
  • FIG. 6 is a diagram illustrating components of a polyhedron according to an embodiment.
  • FIG. 7 is a flowchart illustrating a method of reconstructing an icosahydral projection image into a rectangular image according to the first embodiment.
  • FIG. 8 is a diagram illustrating a process of moving pixels of an icosahydral projection image according to the first embodiment.
  • FIG. 9 is a flowchart illustrating a method of reconstructing an icosahydral projection image into a rectangular image according to the second embodiment.
  • FIG. 10 is a diagram illustrating a process of moving pixels of an icosahydral projection image according to a second embodiment.
  • FIG. 11 is a flowchart illustrating a method of reconstructing an octahydral projection image into a rectangular image according to the third embodiment.
  • FIG. 12 is a diagram illustrating a process of shifting pixels of an octahydral projection image according to a third embodiment.
  • FIG. 13 is a flowchart illustrating a method of reconstructing an octahydral projection image into a rectangular image according to the fourth embodiment.
  • FIG. 14 is a diagram illustrating a process of moving pixels of an octahydral projection image according to a fourth embodiment.
  • 15 is a diagram illustrating a process of moving pixels of an octahydral projection image, according to various embodiments.
  • 16 is a flowchart illustrating an image processing method, according to an exemplary embodiment.
  • 17 is a block diagram illustrating an image processing apparatus according to an exemplary embodiment.
  • FIG. 18 is a flowchart illustrating a method of generating a reverse projection image by decoding an image from a bitstream, according to an exemplary embodiment.
  • 19 is a flowchart illustrating an image processing method, according to another exemplary embodiment.
  • FIG. 20 is a block diagram illustrating an image processing apparatus according to another exemplary embodiment.
  • 21 is a diagram illustrating an actual rectangular image reconstructed according to an embodiment.
  • 22 illustrates parameters representing information about a director view, according to an embodiment.
  • FIG. 23 is a diagram illustrating projection images, according to an exemplary embodiment.
  • FIG. 24 illustrates a method of determining a restoration quality of an image based on a viewing range of a user, according to an exemplary embodiment.
  • FIG. 25 illustrates a method of synthesizing an artificial image with an original image, according to an exemplary embodiment.
  • part refers to a hardware component such as software, FPGA, or ASIC, and "part” plays a role. But wealth is not limited to software or hardware.
  • the 'unit' may be configured to be in an addressable storage medium or may be configured to play one or more processors.
  • a “part” refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.
  • the functionality provided within the components and "parts” may be combined into a smaller number of components and “parts” or further separated into additional components and “parts”.
  • FIG. 1 is a diagram illustrating an omnidirectional spherical image (360 degree x 180 degree image).
  • the omnidirectional spherical image is an image 120 representing a surrounding environment surrounding a specific position 360 degrees by 180 degrees with respect to the specific position 110.
  • the image representing the surrounding environment surrounding the user by 360 degrees x 180 degrees in the virtual reality may be an omnidirectional spherical image.
  • the virtual reality device may provide a 360-degree x 180-degree image to the user, so that even when a user wearing the virtual reality device moves or looks around in the virtual reality, an appropriate image may be provided accordingly.
  • the process of obtaining the omnidirectional spherical image is as follows.
  • the image processing apparatus acquires images for at least two directions.
  • the image processing apparatus may acquire images in at least two directions by photographing a surrounding environment surrounding the image processing apparatus through a camera.
  • the image processing apparatus may photograph the surrounding environment surrounding the image processing apparatus through at least one camera.
  • the camera may be a component included in the image processing apparatus or may be configured as a separate device from the image processing apparatus.
  • the image processing apparatus may photograph the surrounding environment in a panoramic manner by using a camera, or may photograph each direction such as before, after, left, right, up, and down.
  • the image processing apparatus may acquire images in at least two directions by receiving an image from an external device. That is, the external device may photograph the surrounding environment or generate a virtual image to transmit an image to the image processing apparatus, and the image processing apparatus may obtain images in at least two directions by receiving the image.
  • FIG. 2 is a diagram illustrating a concept of a director's view according to an embodiment.
  • the director view represents an area subdivided from the image content. That is, if the field of view of the omni-directional spherical image is 360 degrees x 180 degrees, the field of view of the director view may be smaller than 360 degrees x 180 degrees since the field of view of the director view is narrower. For example, the viewing range of the director view may be hemispherical (180 degrees x 180 degrees).
  • the direction and size of the area corresponding to the director view may be determined by the content provider.
  • the director view according to an embodiment may be obtained from at least one camera sensor.
  • the direction of the basic director view may be determined according to the moving direction of the camera sensor, and the width and height of the basic director view may be determined according to the viewing angle of the camera sensor.
  • the director view according to an embodiment may be determined manually by the selection of the content provider during image capturing or in a post-capturing processing step. That is, the content provider may determine, as the director view, an area corresponding to a scene considered to be important or a scene for drawing the user's gaze among the captured omnidirectional spherical images.
  • the direction and size of the area corresponding to the director view may be automatically determined through image analysis.
  • an image analysis may determine a region having a lot of motion or a region having a relatively high resolution of a pixel as the director view.
  • the director view may be determined at the request of the user. For example, when a user selects a partial region from the omnidirectional spherical images through the virtual reality device, a request for providing an image of the selected region may be transmitted to the server.
  • the director view 210 is a hemisphere image.
  • various methods of processing the director view 210 image will be described on the assumption that the director view 210 is a hemispherical image.
  • the director view 210 does not necessarily need to be hemispherical, and the image processing method disclosed herein may be equally applied even when the director view 210 is larger or smaller than the hemispherical image. Therefore, the director view 210 is not limited to being interpreted as being a hemispherical image, and it is sufficient to understand that it represents a part of the omnidirectional spherical image.
  • the director view 210 may be expressed as a direction vector 220 indicating a center of the director view, a horizontal field of view information, and a vertical field of view information from the center of the omnidirectional spherical image.
  • the direction vector 220 may be represented by three-dimensional space coordinates (x, y, z).
  • the direction vector 220 is a normal vector of the curved surface 250 indicated by the direction vector. If the direction vector 220 is determined on two-dimensional plane coordinates and represented as Cartesian coordinates or Polar coordinates, a transformation to a three-dimensional space coordinate system may be required.
  • the horizontal field of view information of the hemispherical director view 210 represents 180 degrees, and the vertical field of view information represents 180 degrees.
  • an area within an angle range of 90 degrees left and right and 90 degrees up and down about the direction indicated by the direction vector 220 is set as the region 230 of the director view. In this case, contents are not transmitted or received to the region 240 except for the region 230 of the director view among the omnidirectional spherical images.
  • the information on the director view may be encoded together with the image content in the image processing apparatus and included in the bitstream.
  • the information about the director view may be included in a Supplemental Enhancement Information (SEI) parameter of a Network Abstraction Layer (NAL) unit in the bitstream.
  • SEI Supplemental Enhancement Information
  • NAL Network Abstraction Layer
  • the bitstream encoded by the image processing apparatus may be stored in the content server, and the virtual reality device (for example, the HMD) may receive the bitstream from the content server and perform decoding.
  • the virtual reality device may select the omnidirectional spherical image mode or the director view mode according to the selection.
  • the virtual reality device may decode and render the director view image based on the information on the director view obtained from the SEI parameter of the NAL unit in the bitstream.
  • FIG. 3 is a diagram illustrating a process of projecting a omnidirectional spherical image by a polyhedron by an image processing apparatus according to an exemplary embodiment.
  • the image processing apparatus converts an image in a 3D space into a 2D planar image before performing encoding for efficient image compression.
  • 3D space image There are many ways to convert 3D space image into 2D planar image.
  • ERP Equirectangular projection
  • the ERP method has a non-linear characteristic in which the conversion area decreases as it approaches the pole of the omnidirectional spherical image. Accordingly, in the present specification, a polyhedral projection method in which linearity is maintained in converting an image of a 3D space into a 2D planar image is used.
  • the polyhedron may be a polyhedron composed of at least one triangle having the same shape and area.
  • one side of the polyhedron may be composed of another polygon made of two or more triangles.
  • a rectangle made by combining two or more of the same triangles may form one side of a polyhedron.
  • an image processing apparatus may project the obtained omnidirectional spherical image 310 onto a polyhedron 320 or an octahedron 330. That is, the image processing apparatus may generate a projection image by projecting the image onto the developed view of the octahedron 320 or the octahedron 330.
  • the image projected on the octahedron 320 is an icosahedral projection image
  • the image projected on the octahedron 330 is an octahedral projection image.
  • the polyhedron is not limited to the icosahedron 320 or the octahedron 330, and the image processing may be performed by projecting the obtained omnidirectional spherical image 310 onto various polyhedrons. .
  • FIG. 4 is a diagram illustrating an aicosahydral projection image, according to an exemplary embodiment.
  • the projection image 410 generated by projecting the omnidirectional spherical image 310 onto the developed view of the icosahedron 320 illustrated in FIG. 3 is illustrated.
  • the projection image 410 is an icosahydral projection image generated using an icosahydral projection technique.
  • the projection image 410 is the same as the developed view in which the icosahedron 320 on which the omnidirectional spherical image 310 is projected is unfolded. That is, the projection image 410 has an area corresponding to 360 degrees x 180 degrees of all-round spherical image.
  • the image processing apparatus divides an area corresponding to the director view image from the projection image 410 to process the hemispherical director view image.
  • the image processing apparatus determines the boundary surface 412 of the director view image. Thereafter, the image processing apparatus acquires only an area included in the boundary surface 412, or an area corresponding to the director view image from the projection image 410 by cropping an area corresponding to the outside of the boundary surface 412. Split The portion corresponding to the divided region is referred to as the director view projection image 420.
  • the director view projection image 420 according to an embodiment has an area corresponding to a hemispherical image of 180 degrees ⁇ 180 degrees.
  • the director view projection image 420 divided from the projection image 410 has a form consisting of a set of equilateral triangles or right triangles.
  • the image processing apparatus performs the operation of reshaping the director view projection image 420 composed of a set of equilateral triangles or right triangles into a rectangular image.
  • the director view projection image 420 is a two-dimensional image developed from the icosahedron 320. As shown in FIG. 4, there is a margin that is not related to the image to be actually reproduced. Such a margin is only a margin in the drawing, but corresponds to data to be processed in an image processing process. Therefore, the more margins, the more data the image processing apparatus needs to process, resulting in lower processing efficiency.
  • the process of reconstructing the director view projection image 420 into a rectangular image is a process of reducing unnecessary data to be processed by the image processing apparatus by reducing such a margin.
  • FIG. 5 is a diagram illustrating an octahydral projection image, according to an exemplary embodiment.
  • the projection image 510 generated by projecting the omnidirectional spherical image 310 on the developed view of the octahedron 330 illustrated in FIG. 3 is illustrated.
  • the projection image 510 is an octahydral projection image generated using an octahydral projection technique.
  • the projection image 510 is the same as the developed view in which the octahedron 330 on which the omnidirectional spherical image 310 is projected is unfolded. That is, the projection image 510 has an area corresponding to 360 degrees x 180 degrees of all-round spherical image.
  • the image processing apparatus divides an area corresponding to the director view image from the projection image 510 to process the hemispherical director view image.
  • the image processing apparatus determines the boundary surface 512 of the director view image. Thereafter, the image processing apparatus divides only an area corresponding to the director view image from the projection image 510 by obtaining only an area included in the boundary surface 512 or removing an area corresponding to the outside of the boundary surface 512. .
  • the portion corresponding to the divided region is referred to as the director view projection image 520.
  • the director view projection image 520 according to an exemplary embodiment has an area corresponding to a hemispherical image of 180 degrees x 180 degrees.
  • the director view projection image 520 divided from the projection image 510 has a form consisting of an equilateral triangle or a set of right triangles.
  • the image processing apparatus performs the reconstruction of the director view projection image 520 of FIG. 5 into a rectangular image.
  • FIG. 6 is a diagram illustrating components of a polyhedron according to an embodiment.
  • the image processing apparatus reconstructs the director view projection images 420 and 520 into rectangular images.
  • the image processing apparatus may acquire a rectangular image by shifting positions of pixels in the director view projection images 420 and 520.
  • moving the position of the pixel means moving the pixel data.
  • the pixel data of a specific pixel is stored as pixel data of another pixel, not a physical pixel movement.
  • the image processing apparatus may generate a rectangular image by moving only the positions of pixels without deleting pixels or adding new pixels. That is, a rectangular image may be generated by simply moving a position of a pixel without changing the total number of pixels and pixel data of the director view projection images 420 and 520. Therefore, the areas of the reconstructed rectangular image and the director view projection image 420 and 520 are the same.
  • the director view projection images 420 and 520 in reconstructing the director view projection images 420 and 520 into a rectangular image, only the positions of pixels are moved, and the total number of pixels and the pixel data are the same, so that only the position movement details of pixels or the original positions of pixels are If known, the rectangular image can be easily restored to the director view projection images 420 and 520.
  • the image processing apparatus may use a method of setting a minimum unit including each pixel and moving a position of the set minimum unit.
  • a polyhedron such as an icosahedron or an octahedron
  • an equilateral triangle is a component.
  • an equilateral triangle 600 is divided in half by the boundary surfaces 412 and 512 of the director view image as illustrated in FIGS. 4 and 5. That is, the director view projection images 420 and 520 may be understood to be formed of a combination of the right triangles 610 and 620 in which the equilateral triangle 600 is divided.
  • the image processing apparatus may perform a reconstruction operation on the right triangles 610 and 620 as a basic unit as shown in FIG. 6.
  • the image processing apparatus may generate the rectangular image by appropriately disposing the right triangles 610 and 620 constituting the director view projection images 420 and 520.
  • FIG. 7 is a flowchart illustrating a method of reconstructing an icosahydral projection image into a rectangular image according to the first embodiment.
  • step S702 the image processing apparatus projects an omnidirectional spherical image onto a tetrahedron.
  • the projection image projected on the icosahedron has the same developed view form as the projection image 410 of FIG. 4.
  • the image processing apparatus divides an area corresponding to the director view among the projected images in operation S704.
  • the image processing apparatus divides only an area corresponding to the director view image from the projection image by determining a boundary surface of the director view image, obtaining only an area included in the determined boundary surface, or removing an area corresponding to the outside of the boundary surface. do.
  • the portion corresponding to the divided region is referred to as the director view projection image 420.
  • the director view projection image 420 according to an embodiment has an area corresponding to a hemispherical image of 180 degrees ⁇ 180 degrees.
  • the image processing apparatus selects one row on the plane on which the director view projection image 420 is shown.
  • the row where the pixel located at the top of the director view projection image 420 may be the x-axis.
  • the image processing apparatus determines whether the number of the selected row is greater than a set value.
  • the director view projection image 810 corresponding to the director view projection image 420 of FIG. 4 is illustrated, and the director view projection image 810 has a shape in which triangles are stacked in three layers.
  • the image processing apparatus may set the set value to 2/3 of the total number of rows in order to move the triangles positioned at the lowermost in the upward direction. In this case, the total number of rows corresponds to the vertical length of the director view projection image 810.
  • this is only an example, and various standards may be set according to the example.
  • step S708 If it is determined in step S708 that the number of the selected row is greater than the set value, the image processing apparatus may proceed to step S710 to vertically move the pixels included in the selected row upwards. If it is determined in operation S708 that the number of the selected row is less than or equal to the set value, the image processing apparatus may proceed to operation S712 to maintain the positions of the pixels included in the selected row.
  • the image processing apparatus adjusts the number (index) of the pixels.
  • the image processing apparatus determines whether there is an unselected row, and when there is an unselected row, the image processing apparatus returns to step S706 and repeats the above process.
  • Steps S706 to S716 are processes for reconstructing the director view projection image 810 illustrated in FIG. 8 into the director view rectangular image 820, which will be described in more detail with reference to FIG. 8.
  • FIG. 8 is a diagram illustrating a process of moving pixels of an icosahydral projection image according to the first embodiment.
  • the director view projection image 810 includes an equilateral triangle or right triangles, and each triangle includes at least one pixel.
  • each pixel included in each triangle in the director view projection image 810 has respective pixel data.
  • the row including the pixel located at the top may be referred to as an x-axis, and the row number may increase as the row goes downward.
  • the setting value is set to 2/3 of the total row length, that is, the height of the director view projection image 810, the pixels included in the rows having a row number larger than 2/3 of the total row length are moved vertically upward. You can.
  • the image processing apparatus includes the equilateral triangles 812 and 814 and the right triangle 816 including pixels having row numbers greater than 2/3 of the total row length as shown in FIG. 8.
  • FIG. 8 a director view rectangular image 820 generated as a result of moving pixels is illustrated.
  • the director view rectangular image 820 illustrated in FIG. 8 is for explaining the vertical movement of the pixel according to the first embodiment. It is assumed that only pixels having pixel data in the director view projection image 810 are moved. The vertical shift results are shown.
  • the image processing apparatus By reconstructing the director view projection image 810 into the director view rectangular image 820, the amount of data to be processed by the image processing apparatus is reduced, but image data within the viewing range (eg, 180 degrees x 180 degrees) of the director view. Since is preserved as it is, the image processing efficiency can be increased.
  • FIG. 9 is a flowchart illustrating a method of reconstructing an icosahydral projection image into a rectangular image according to the second embodiment.
  • the image processing apparatus projects an omnidirectional spherical image onto a tetrahedron.
  • the projection image projected on the icosahedron has the same developed view form as the projection image 410 of FIG. 4.
  • the image processing apparatus divides an area corresponding to the director view among the projected images in operation S904.
  • the image processing apparatus divides only an area corresponding to the director view image from the projection image by determining a boundary surface of the director view image, obtaining only an area included in the determined boundary surface, or removing an area corresponding to the outside of the boundary surface. do.
  • the portion corresponding to the divided area is referred to as the director view projection image 420, and the director view projection image 420 has an area corresponding to a hemispherical image of 180 degrees x 180 degrees.
  • the image processing apparatus selects one row on the plane on which the director view projection image 420 is shown. At this time, the row where the pixel located at the top of the director view projection image 420 may be the x-axis.
  • the image processing apparatus determines whether the number of the selected row is smaller than the set value.
  • the director view projection image 1010 corresponding to the director view projection image 420 of FIG. 4 is illustrated, and the director view projection image 1010 has a triangle stacked in three layers.
  • the image processing apparatus may set the set value to 1/3 of the total number of rows in order to move the triangles positioned at the top thereof in the downward direction. In this case, the total number of rows corresponds to the vertical length of the director view projection image 1010.
  • this is only an example, and various standards may be set according to the example.
  • step S908 If it is determined in step S908 that the number of the row selected is smaller than the set value, the image processing apparatus may proceed to step S910 to vertically move the pixels included in the selected row to the bottom. If it is determined in step S908 that the number of the selected row is equal to or greater than the set value, the image processing apparatus may proceed to step S912 to maintain the positions of the pixels included in the selected row.
  • the image processing apparatus adjusts the number (index) of the pixels.
  • the image processing apparatus determines whether there is an unselected row, and when there is an unselected row, the process returns to step S906 and repeats the above process.
  • Steps S906 to S916 are processes for reconstructing the director view projection image 1010 illustrated in FIG. 10 into the director view rectangular image 1020, and will be described in more detail with reference to FIG. 10.
  • FIG. 10 is a diagram illustrating a process of moving pixels of an icosahydral projection image according to a second embodiment.
  • the director view projection image 1010 includes an equilateral triangle or right triangles, and each triangle includes at least one pixel.
  • each pixel included in each triangle in the director view projection image 1010 has respective pixel data.
  • the row including the pixel located at the top may be referred to as an x-axis, and the row number may increase as the row goes downward.
  • the setting value is set to the full row length, that is, 1/3 of the height of the director view projection image 1010, the pixels included in the rows having a row number smaller than 1/3 of the total row length are moved vertically downward. You can.
  • the image processing apparatus includes a right triangle 1012 and an equilateral triangle 1014 and 1016 including pixels having a row number smaller than 1/3 of the total row length as shown in FIG. 10.
  • FIG. 10 a director view rectangular image 1020 generated as a result of moving pixels is illustrated.
  • the director view rectangular image 1020 illustrated in FIG. 10 is for explaining the vertical movement of pixels according to the first embodiment, and assumes that only pixels having pixel data in the director view projection image 1010 are moved. The vertical shift results are shown.
  • the image processing apparatus By reconstructing the director view projection image 1010 into the director view rectangular image 1020, the amount of data to be processed by the image processing apparatus is reduced, but image data within the viewing range (eg, 180 degrees x 180 degrees) of the director view. Since is preserved as it is, the image processing efficiency can be increased.
  • FIG. 11 is a flowchart illustrating a method of reconstructing an octahydral projection image into a rectangular image according to the third embodiment.
  • the image processing apparatus projects an omnidirectional spherical image onto an octahedron.
  • the projected image projected on the octahedron has the same developed view form as the projected image 510 of FIG. 5.
  • the image processing apparatus divides an area corresponding to the director view among the projected images in operation S1104.
  • the image processing apparatus divides only an area corresponding to the director view image from the projection image by determining a boundary surface of the director view image, obtaining only an area included in the determined boundary surface, or removing an area corresponding to the outside of the boundary surface. do.
  • the portion corresponding to the divided region is referred to as the director view projection image 520, and the director view projection image 520 has an area corresponding to a hemispherical image of 180 degrees x 180 degrees.
  • the image processing apparatus selects one row on the plane on which the director view projection image 520 is shown. At this time, the row where the pixel located at the top of the director view projection image 520 may be the x-axis.
  • the image processing apparatus determines whether the number of the selected row is greater than a set value.
  • the director view projection image 1210 corresponding to the director view projection image 520 of FIG. 5 is illustrated, and the director view projection image 1210 has a triangle stacked in two layers.
  • the image processing apparatus may set the setting value to 1/2 of the total number of rows in order to move the triangles positioned at the lower end in the upper left direction. In this case, the total number of rows corresponds to the vertical length of the director view projection image 1210.
  • this is only an example, and various standards may be set according to the example.
  • step S1108 If it is determined that the number of the row selected in step S1108 is greater than the set value, the image processing apparatus may proceed to step S1110 to diagonally move the pixels included in the selected row to the upper left corner. If it is determined in step S1108 that the number of the selected row is less than or equal to the set value, the image processing apparatus may proceed to step S1112 to maintain the positions of the pixels included in the selected row.
  • step S1114 the image processing apparatus adjusts the number (index) of the pixels.
  • the image processing apparatus determines whether there is an unselected row, and when there is an unselected row, the process returns to step S1106 and repeats the above process.
  • Steps S1106 to S1116 are processes for reconstructing the director view projection image 1210 illustrated in FIG. 12 into a trapezoidal image 1220, which will be described in more detail with reference to FIG. 12.
  • FIG. 12 is a diagram illustrating a process of shifting pixels of an octahydral projection image according to a third embodiment.
  • the director view projection image 1210 includes an equilateral triangle or right triangles, and each triangle includes at least one pixel.
  • each pixel included in each triangle in the director view projection image 1210 has respective pixel data.
  • the row including the pixel located at the top may be referred to as an x-axis, and the row number may increase as the row goes downward.
  • the setting value is set to the full row length, that is, 1/2 of the height of the director view projection image 1210, the pixels included in the rows having a row number larger than 1/2 of the total row length are diagonally aligned to the upper left. You can move it.
  • the image processing apparatus moves the right triangle 1212 including pixels having a row number larger than 1/2 of the total row length to the upper left by diagonally moving the director.
  • the top margin of the view projection image 1210 may be filled out.
  • w represents the total column length
  • h represents the total row length.
  • the image processing apparatus determines whether there is no row selected, and when there is no row selected, the process proceeds to step S1118 where a trapezoidal image 1220 is illustrated. Select one column on the plane. In this case, the row where the leftmost pixel of the projection image is located may be the y-axis.
  • the image processing apparatus determines whether the number of the selected column is smaller than the set value. Referring to FIG. 12, in order to horizontally move the right triangle 1222 positioned on the left side of the right triangles constituting the trapezoidal image 1220 in the right direction, the image processing apparatus moves to a quarter of the total number of columns. Can be set. In this case, the total number of columns corresponds to the horizontal length of the director view projection image 1210. However, this is only an example, and various standards may be set according to the example.
  • step S1120 If it is determined in step S1120 that the number of the selected column is smaller than the set value, the image processing apparatus may proceed to step S1122 to horizontally move the pixels included in the selected column to the right. If it is determined that the number of the row selected in step S1120 is greater than or equal to the set value, the image processing apparatus may proceed to step S1124 to maintain the positions of the pixels included in the selected column.
  • step S1126 the image processing apparatus adjusts the number (index) of the pixels.
  • the image processing apparatus determines whether there is a column that is not selected, and when there is a column that is not selected, the process returns to step S1118 and repeats the above process.
  • Steps S1118 to S1128 are processes for reconstructing the trapezoidal image 1220 illustrated in FIG. 12 into the director view rectangular image 1230, which will be described in detail later with reference to FIG. 12.
  • a column including the leftmost pixel in the trapezoidal image 1210 generated as a result of the diagonal shift of the pixels may be referred to as a y-axis, and the column number may increase as it goes to the right. If the setting is set to the full column length, that is, 1/4 of the width of the director view projection image 1210, the pixels included in the columns having column numbers smaller than 1/4 of the total column length are shifted horizontally to the right. You can.
  • the image processing apparatus horizontally shifts the right triangles 1222 including pixels having column numbers smaller than 1/4 of the total column length to the right to trapezoidal images.
  • the right margin of 1220 may be filled in.
  • P (x, y) P (x + w, y) for shifting the pixel to the right may be used.
  • w represents the total column length.
  • a director view rectangular image 1230 generated as a result of moving pixels is illustrated.
  • the director view rectangular image 1230 illustrated in FIG. 12 is for explaining the diagonal movement and the horizontal movement of the pixel according to the third embodiment. It is assumed that only the pixels having pixel data in the director view projection image 1210 are moved. The result of the movement is shown.
  • the image processing apparatus By reconstructing the director view projection image 1210 into the director view rectangular image 1230, the amount of data to be processed by the image processing apparatus is reduced, but image data within the field of view range (eg, 180 degrees x 180 degrees) of the director view. Since is preserved as it is, the image processing efficiency can be increased.
  • FIG. 13 is a flowchart illustrating a method of reconstructing an octahydral projection image into a rectangular image according to the fourth embodiment.
  • step S1302 the image processing apparatus projects an omnidirectional spherical image onto an octahedron.
  • the projected image projected on the octahedron has the same developed view form as the projected image 510 of FIG. 5.
  • the image processing apparatus divides an area corresponding to the director view among the projected images in operation S1304.
  • the image processing apparatus divides only an area corresponding to the director view image from the projection image by determining a boundary surface of the director view image, obtaining only an area included in the determined boundary surface, or removing an area corresponding to the outside of the boundary surface. do.
  • the portion corresponding to the divided region is referred to as the director view projection image 520, and the director view projection image 520 has an area corresponding to a hemispherical image of 180 degrees x 180 degrees.
  • the image processing apparatus selects one row on the plane on which the director view projection image 520 is shown. At this time, the row where the pixel located at the top of the director view projection image 520 may be the x-axis.
  • the image processing apparatus determines whether the number of the selected row is smaller than the set value.
  • the director view projection image 1410 corresponding to the director view projection image 520 of FIG. 5 is illustrated, and the director view projection image 1410 has a triangle stacked in two layers.
  • the image processing apparatus may set the setting value to 1/2 of the total number of rows in order to move the triangles located at the upper end in the lower left direction. In this case, the total number of rows corresponds to the vertical length of the director view projection image 1410.
  • this is only an example, and various standards may be set according to the example.
  • step S1308 If it is determined that the number of the row selected in step S1308 is smaller than the set value, the image processing apparatus may proceed to step S1310 to diagonally move the pixels included in the selected row to the lower left corner. If it is determined that the number of the row selected in step S1308 is equal to or greater than the set value, the image processing apparatus may proceed to step S1312 to maintain the positions of the pixels included in the selected row.
  • step S1314 the image processing apparatus adjusts the number (index) of the pixels.
  • the image processing apparatus determines whether there is an unselected row, and when there is an unselected row, the process returns to step S1306 and repeats the above process.
  • Steps S1306 to S1316 are processes for reconstructing the director view projection image 1410 illustrated in FIG. 14 into a trapezoidal image 1420, which will be described in more detail with reference to FIG. 14.
  • FIG. 14 is a diagram illustrating a process of moving pixels of an octahydral projection image according to a fourth embodiment.
  • the director view projection image 1410 includes an equilateral triangle or right triangles, and each triangle includes at least one pixel.
  • each pixel included in each triangle in the director view projection image 1410 has respective pixel data.
  • the row including the pixel located at the top may be referred to as an x-axis, and the row number may increase as the row goes downward.
  • the setting value is set to the full row length, that is, 1/2 of the height of the director view projection image 1410, the pixels included in the rows having a row number smaller than 1/2 of the entire row length are diagonally lower left. You can move it.
  • the image processing apparatus moves the right triangle 1412 including pixels having a row number smaller than 1/2 of the total row length to the lower left diagonally to the director.
  • the bottom margin of the view projection image 1410 may be filled out.
  • the equation P (x, y) P (x-1/4 * w, y + 1 / 2 * h) can be used.
  • w represents the total column length
  • h represents the total row length.
  • the image processing apparatus determines whether there are no rows selected, and when there are no rows selected, the process proceeds to step S1318 where the trapezoidal image 1420 is shown. Select one column on the plane. In this case, the row where the leftmost pixel of the projection image is located may be the y-axis.
  • the image processing apparatus determines whether the number of the selected column is smaller than the set value. Referring to FIG. 14, the image processing apparatus moves the set value to 1/4 of the total number of columns in order to horizontally move the right triangle 1422 located on the left side among the right triangles constituting the trapezoidal image 1420. Can be set. In this case, the total number of columns corresponds to the horizontal length of the director view projection image 1410. However, this is only an example, and various standards may be set according to the example.
  • step S1320 If it is determined in step S1320 that the number of the selected column is smaller than the set value, the image processing apparatus may proceed to step S1322 to horizontally move the pixels included in the selected column to the right. If it is determined that the number of the row selected in step S1320 is greater than or equal to the set value, the image processing apparatus may proceed to step S1324 to maintain the positions of the pixels included in the selected column.
  • step S1326 the image processing apparatus adjusts the number (index) of the pixels.
  • the image processing apparatus determines whether there is a column that is not selected, and when there is a column that is not selected, the process returns to step S1318 and repeats the above process.
  • Steps S1318 to S1328 are processes for reconstructing the trapezoidal image 1420 illustrated in FIG. 14 into the director view rectangular image 1430, and will be described in detail with reference to FIG. 14 again.
  • a column including the leftmost pixel in the trapezoidal image 1410 generated as a result of the diagonal movement of the pixels may be referred to as a y-axis, and the column number may increase as it goes to the right.
  • the setting is set to the entire column length, that is, 1/4 of the width of the director view projection image 1410, horizontally shift pixels included in columns having a column number smaller than 1/4 of the entire column length to the right. You can.
  • the image processing apparatus moves right-angled triangles 1422 including pixels having column numbers smaller than 1/4 of the total column length to the right to move the trapezoidal image to the right.
  • the right margin of 1420 may be filled in.
  • P (x, y) P (x + w, y) for shifting the pixel to the right may be used.
  • w represents the total column length.
  • FIG. 14 a director view rectangular image 1430 generated as a result of moving pixels is illustrated.
  • the director view rectangular image 1430 illustrated in FIG. 14 is for explaining the diagonal movement and the horizontal movement of the pixel according to the fourth embodiment. It is assumed that only the pixels having pixel data in the director view projection image 1410 are moved. And the horizontal shift result.
  • the image processing apparatus By reconstructing the director view projection image 1410 into the director view rectangular image 1430, the amount of data to be processed by the image processing apparatus is reduced, but image data within the field of view (e.g., 180 degrees x 180 degrees) of the director view. Since is preserved as it is, the image processing efficiency can be increased.
  • the image processing apparatus may reconstruct the icosahydral projection image or the octahydral projection image into a rectangular image according to various embodiments.
  • the above-described embodiments may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.
  • the reconstruction may be performed in the form as shown in FIG. 15.
  • 15 is a diagram illustrating a process of moving pixels of an octahydral projection image, according to various embodiments.
  • the director view projection image 1510 may be reconstructed into the director view rectangular image 1520 only by diagonal movement of pixels.
  • the image processing apparatus may diagonally move the pixels corresponding to the right triangle 1512 area among the pixels included in the rows having a row number smaller than 1/2 of the height of the director view projection image 1510 to the bottom right.
  • the pixels corresponding to the area of the right triangle 1514 may be diagonally shifted to the bottom left corner.
  • the image processing apparatus may diagonally move the pixels corresponding to the right triangle 1516 area among the pixels included in the rows having a row number greater than 1/2 of the height of the director view projection image 1510.
  • the pixels corresponding to the area of the right triangle 1518 may be diagonally shifted to the upper left corner.
  • the pixel movement method according to an embodiment may be applied in various ways. For example, it is possible to apply a combination of the sequence of horizontal movement, vertical movement and diagonal movement.
  • the rectangular image may be reconstructed using various methods.
  • the rectangular image may be reconstructed using a combination of the above-described method of shifting the pixels.
  • 16 is a flowchart illustrating an image processing method, according to an exemplary embodiment.
  • the image processing apparatus generates an omnidirectional spherical image.
  • the image processing apparatus may acquire images in at least two directions by photographing a surrounding environment surrounding the image processing apparatus through a camera.
  • the image processing apparatus determines information about the director view representing a partial region of the omnidirectional spherical image.
  • the director view represents a subdivided area from the image content. That is, if the field of view of the omni-directional spherical image is 360 degrees x 180 degrees, the field of view of the director view may be smaller than 360 degrees x 180 degrees since the field of view of the director view is narrower. For example, the viewing range of the director view may be hemispherical (180 degrees x 180 degrees).
  • information about the director view may be determined from a content provider or a user, and may be automatically determined through image analysis during image processing.
  • the image processing apparatus In operation S1630, the image processing apparatus generates a projection image by projecting the omnidirectional spherical image on the development of the polyhedron. A detailed process of generating the projection image is as described above with reference to FIG. 3.
  • the image processing apparatus divides the director view projection image corresponding to the director view from the projection image based on the information about the director view.
  • a detailed process of dividing the director view projection image is as described above with reference to FIGS. 4 through 5.
  • the image processing apparatus reconfigures the at least one pixel of the pixels of the director view projection image into a rectangular image of the director view. Since the margins generated in the process of developing a 3D polyhedron into a 2D projected image are unnecessary data requiring image processing, the process of reconstructing the projected image into a rectangular image reduces such margins and removes unnecessary data to be processed by the image processing apparatus. It is a process to reduce. A detailed process of reconstructing the director view projection image into the rectangular image of the director view is as described above with reference to FIGS. 7 through 15.
  • the image processing apparatus generates a bitstream encoding a rectangular image of the director view.
  • the image processing method may further include generating reconstruction information required to reconstruct the reconstructed rectangular image into the projection image.
  • the reconstruction information may include information about a director view, information about a 3D model used when projecting an image, a history of position movement of pixels, and / or information related to an original position of pixels.
  • the reconstruction information according to an embodiment may be included in an SEI parameter of a NAL unit in a bitstream.
  • the rectangular image can be easily restored to the projection image if only the positional movement history of the pixel and / or the original position of the pixel can be provided.
  • the image processing method may further include transmitting the reconstructed rectangular image and the reconstruction information. By transmitting the reconstructed rectangular image and the reconstruction information together, the reconstructed rectangular image on the receiving side can be easily reconstructed into the projection image.
  • the image processing method may further include processing not only an image corresponding to the director view but also an omnidirectional spherical image.
  • the image processing method may reconstruct a rectangular image of the omni-directional spherical image without dividing an area corresponding to the director view from the projection image.
  • the reconstruction method described with reference to FIGS. 7 to 15 may be applied in the same manner.
  • the image processing method according to an embodiment may generate a bitstream by encoding a rectangular image of the reconstructed omnidirectional spherical image.
  • the image processing method may simultaneously project, reconstruct, and encode an omnidirectional spherical image and a director view image (eg, store them on a server), thereby receiving the side (eg, a virtual reality device). It is possible to select whether to play the image in the full mode or the director view mode.
  • a director view image eg, store them on a server
  • 17 is a block diagram illustrating an image processing apparatus according to an exemplary embodiment.
  • the image processing apparatus 1700 includes a controller 1710 and a memory 1720.
  • the controller 1710 may control an operation of the entire image processing apparatus 1700 and may process an image by controlling the memory 1720.
  • the controller 1710 stores a signal or data input from the outside of the image processing apparatus 1700, a RAM used as a storage area corresponding to various operations performed by an electronic device, and a ROM in which a control program for controlling a peripheral device is stored. (ROM) and a processor.
  • the processor may be implemented as a system on chip (SoC) that integrates a core and a GPU.
  • SoC system on chip
  • the processor may include a plurality of processors.
  • the controller 1710 obtains images in at least two directions, generates the projection image by projecting the images onto a development view of a polyhedron, and divides an area corresponding to the director view among the pixels of the projection image. The position of the at least one pixel may be shifted to reconstruct the rectangular image.
  • the controller 1710 may perform the image processing method described with reference to FIGS. 1 to 16. Duplicate content will be briefly explained here.
  • the controller 1710 may project the images on an area of a developed view corresponding to the area of the polyhedron on which the images are projected.
  • the controller 1710 may generate the rectangular image by moving only the position of the pixel without deleting the pixel or adding a new pixel.
  • the controller 1710 may generate reconstruction information required to reconstruct the rectangular image into the projection image.
  • the controller 1710 may control to transmit the reconstructed rectangular image and the reconstruction information.
  • the controller 1710 may reduce unnecessary data to be processed by the image processing apparatus by reconstructing the projection image into a rectangular image.
  • the memory 1720 stores a program and data necessary for the operation of the image processing apparatus 1700.
  • the memory 1720 may be configured as a volatile storage medium or a nonvolatile storage medium, or may be a combination of both storage media.
  • the volatile storage medium may include a semiconductor memory such as RAM, DRAM, SRAM, and the like, and the nonvolatile storage medium may include a hard disk and a flash NAND memory.
  • the memory 1720 may store data for the operation of the controller 1710.
  • the image processing apparatus 1700 may further include a camera unit, a receiver, a transmitter, and the like.
  • the camera unit may photograph a surrounding environment surrounding the image processing apparatus 360 degrees through the camera.
  • the receiver may receive a 360 degree image from an external device.
  • the transmitter may transmit the reconstructed rectangular image and the reconstruction information.
  • the receiver and the transmitter may include a communication unit.
  • the image processing apparatus 1700 may reduce data to be processed, process an image so that adjacent pixels have continuous pixel data, reduce power required for data processing, and increase processing efficiency.
  • FIG. 18 is a flowchart illustrating a method of generating a reverse projection image by decoding an image from a bitstream, according to an exemplary embodiment.
  • the image processing apparatus receives an encoded bitstream and performs decoding.
  • the image processing apparatus performs decoding according to an international standard related to video compression (eg, ISO / IEC MPEG (MPEG), ITU-T H.26x, etc.) and then decodes the image. Can be obtained.
  • the obtained decoded image is a rectangular image generated by reconstructing the projection image (or the projection image of the director view).
  • the image processing apparatus obtains reconstruction information from the bitstream.
  • the reconstruction information may include information about a director view, information about a 3D model (polyhedron information) used when projecting an image, a history of position movement of pixels, and / or information related to an original position of pixels (reconstruction information) Can be.
  • the image processing apparatus may obtain reconstruction information from the SEI parameter of the NAL unit in the bitstream.
  • the image processing apparatus determines a method of reconstructing the reconstructed rectangular image into the projection image by using the reconstruction information. That is, the image processing apparatus may determine one reconstruction method from at least one reconstruction method. As described above with reference to FIGS. 7 to 15, the projection image (or the director view projection image) may be reconstructed into a rectangular image according to various embodiments. According to an embodiment, since the reconstruction information includes the position movement history of the pixel and / or information related to the original position of the pixel at the time of reconstruction, the rectangular image may be reconstructed into the projection image through this.
  • the reconstruction method may also vary depending on what kind of polyhedron the projection image uses. Therefore, in operation S1806, the image processing apparatus may determine the reconstruction method by using information about the 3D model (polyhedron) used in projecting the image. In addition, the image processing apparatus according to an embodiment may initialize the 3D module before performing restoration in each method.
  • the method proceeds to operation S1810 to restore the projection image using the method A, and when the restoration method is determined as the method B, proceeds to operation S1830 and the method B
  • the process proceeds to step S1850 to restore the projection image using the corresponding method.
  • the restoration methods A, B, and other restoration methods are classified for convenience in order to distinguish each restoration method, and do not refer to a specific restoration method.
  • the process of restoring the rectangular image into the projection image is performed in the reverse order of the process of reconstructing the projection image into the rectangular image.
  • the image processing apparatus selects a partitioned right triangle as a basic unit for moving pixels of the rectangular image.
  • Each right triangle is indexed, and an index (triangle_idx) of the right triangle may be included in the reconstruction information.
  • the image processing apparatus adjusts the position of the selected right triangle.
  • the image processing apparatus may move pixels to an image (ie, a projection image) before being reconstructed into a rectangular image, based on the position movement history of the pixel and / or information related to the original position of the pixel.
  • the image processing apparatus according to the exemplary embodiment may move the pixels of the right triangle in an order opposite to the reconstruction order described with reference to FIGS. 7 to 15. For example, if the reconstruction order by method A is in the form of horizontal movement after the diagonal movement of the pixel, the reconstruction order by method A may be in the form of diagonal movement after the horizontal movement of the pixel.
  • step S1814 If the position of the right triangle is adjusted in step S1814, the next right triangle is selected in step S1816.
  • the image processing apparatus determines whether there is a non-selected right triangle, and when there is a non-selected right triangle, the process returns to step S1812 and repeats the above process.
  • step S1818 If it is determined in step S1818 that the image processing apparatus has finished adjusting the positions of all the right triangles, the restoration of the projection image is completed, and the flow proceeds to step S1820.
  • the image processing apparatus renders the projection image generated through the processes of the previous steps.
  • the image processing apparatus assembles the projection image into a polyhedron, and generates a backprojection image by back-projection of the polyhedron.
  • the reverse projection image may be an image representing a surrounding environment surrounding a specific location.
  • the image processing apparatus may generate an image representing all or part of the surrounding environment surrounding a specific location.
  • the director view image eg, a hemispherical 180 degree x 180 degree image
  • a reverse projection image of an environment around the user may be generated according to the user's gaze.
  • the generated reverse projection image may not be an image representing the entire environment around the user, but may be an image representing a part of the environment around the user viewed according to the user's eyes.
  • steps S1832, S1834, S1836, S1838, and S1840 correspond to the above-described steps S1812, S1814, S1816, S1818, and S1820, respectively.
  • the method of generating the reverse projection image according to the embodiment described with reference to FIG. 18 is just one embodiment, and various reconstruction methods may be used according to the rectangular image reconstruction method.
  • 19 is a flowchart illustrating an image processing method, according to another exemplary embodiment.
  • the image processing apparatus receives an encoded bitstream.
  • the image processing apparatus obtains information on the director view representing the partial region of the reconstruction information, the polyhedron information, and the omnidirectional spherical image from the bitstream.
  • the reconstruction information, the polyhedron information, and the information about the director view indicating a partial region of the omnidirectional spherical image may be obtained from SEI parameters of the NAL unit in the bitstream, which may correspond to the above-described reconstruction information. .
  • the image processing apparatus generates a rectangular image of the director view by decoding the bitstream.
  • the image processing apparatus reconstructs the director view projection image by moving the position of at least one pixel among the pixels of the rectangular image of the director view based on the reconstruction information and the information about the director view.
  • a detailed process of reconstructing the director view projection image by the image processing apparatus in operation S1940 is as described above with reference to operations S1812 to S1818 of FIG. 18.
  • the image processing apparatus assembles the director view projection image into a polyhedron based on the polyhedron information, and generates a reverse projection image by backprojecting the polyhedron.
  • a detailed process of generating the reverse projection image by the image processing apparatus in operation S1950 is as described above with reference to operation S1820 of FIG. 18.
  • the image processing method may further include receiving information on an image mode indicating whether to play the image in the full mode or the director view mode.
  • the image processing method may include generating a rectangular image of the omni-directional spherical image by decoding the bitstream and generating at least one of pixels of the rectangular image of the omni-directional spherical image when the information on the image mode indicates the entire mode.
  • the projection image of the omnidirectional spherical image may be restored by moving the position of the pixel, and the projection image of the omnidirectional spherical image may be reversely projected to generate the omnidirectional spherical image.
  • the image according to the director view may be generated by back-projecting the director view projection image.
  • FIG. 20 is a block diagram illustrating an image processing apparatus according to another exemplary embodiment.
  • the image processing apparatus 2000 includes a receiver 2010, a controller 2020, and a memory 2030. According to another embodiment, the image processing apparatus 2000 may be a virtual reality device.
  • the receiver 2010 performs a role of receiving an encoded bitstream.
  • the encoded bitstream may include data about a rectangular image.
  • the SEI parameter of the NAL unit of the encoded bitstream may include reconstruction information.
  • the receiver 2010 may include various components such as a USB interface unit and a DVD interface unit.
  • the image processing apparatus 2000 may receive an image file from the USB.
  • the communication unit it is also possible for the communication unit to perform the role of the receiving unit 2010.
  • the communication unit may be connected to a network by wire or wirelessly to perform communication with an external device, and may include a short range communication module, a mobile communication module, a wireless internet module, a wired internet module, and the like.
  • the communication unit may include one or more components.
  • the memory 2030 stores a program and data necessary for the operation of the image processing apparatus 2000.
  • the memory 2030 may be configured as a volatile storage medium or a nonvolatile storage medium, or may be a combination of both storage media.
  • Volatile storage media may include semiconductor memories such as RAM, DRAM, and SRAM, and non-volatile storage media may include hard disks and flash NAND memories.
  • the memory 2030 may store data for the operation of the controller 2020.
  • the controller 2020 may control an operation of the entire image processing apparatus 2000 and may process an image by controlling the memory 2030.
  • the controller 2020 stores a signal or data input from the outside of the image processing apparatus 2000, a RAM used as a storage area corresponding to various operations performed by an electronic device, and a ROM in which a control program for controlling a peripheral device is stored.
  • a processor can be implemented as an SoC that integrates the core and the GPU.
  • the processor may include a plurality of processors.
  • the controller 2020 may acquire a rectangular image, restore a projection image by moving at least one pixel of the pixels of the rectangular image, assemble the projection image into a polyhedron, and back project the polyhedron. Reverse projection images can be generated.
  • the controller 2020 may perform the image processing method described with reference to FIG. 19. Therefore, description of duplicate contents will be omitted.
  • the image processing apparatus 2000 may efficiently process with little power by restoring less data when generating a reverse projection image based on a rectangular image.
  • 21 is a diagram illustrating an actual rectangular image reconstructed according to an embodiment.
  • both the ERP projection images 2110 and 2120 and the polyhedral projection images 2130 and 2140 are shown for comparison of sizes and shapes.
  • an image 2110 illustrates an ERP projection image in which an omnidirectional spherical image is projected in an isotonic direction. Also, the image 2120 indicates that an area 2125 not included in the director view of the ERP projection image is removed.
  • the image 2130 illustrated in FIG. 21 represents an icosahydral projection image in which an omnidirectional spherical image is projected onto a tetrahedron.
  • the image 2140 indicates that the area 2135 of the image 2130 that is not included in the director view is removed and the remaining area is reconstructed into a rectangle.
  • the ERP projection images 2110 and 2120 have a larger area to be processed than the polyhedral projection images 2130 and 2140, and more due to the nonlinear characteristics in which the areas to be processed are different according to positions in the image. The amount of calculation is required.
  • the polyhedral projection images 2130 and 2140 use a polyhedron having the same shape and area, the 3D spatial image can be easily converted into a 2D planar image.
  • the projected image 2130 has a rectangular shape in which a triangle 2 is stacked in three layers, similar to the projection image 310 shown in FIG. 4. have.
  • 22 illustrates parameters representing information about a director view, according to an embodiment.
  • vps_offset_rotation "vps_yaw_clip_flag” and "vps_pitch_clip_flag” are flags indicating whether to process only a part of the omnidirectional spherical image. If “vps_offset_rotation” represents '1', then “yaw_center”, “pitch_center” and “roll_center” are obtained, indicating information about the center, width, and height of the director view area, respectively. If “vps_offset_rotation” represents '0', the director view Indicates that mode is not used.
  • FIG. 23 is a diagram illustrating projection images, according to an exemplary embodiment.
  • the image processing process has been described taking an example of using a tetrahedron or an octahedron as a polyhedron for projecting an image.
  • the polyhedron is not limited to a tetrahedron or an octahedron, and image processing may be performed by projecting an image onto various polyhedrons.
  • 23 shows a projection image using various types of polyhedrons.
  • a projection image 2310 using an octahedron, a projection image 2320 using a tetrahedron, and a projection image 2330 using an octahedron are illustrated.
  • such polyhedra may be polyhedrons composed of at least one triangle having the same shape and area. At this time, one side of the polyhedron may be composed of another polygon made of two or more triangles.
  • the projection image may be generated using various polyhedrons, without being limited to the polyhedron shown in FIG. 23.
  • FIG. 24 illustrates a method of determining a restoration quality of an image based on a viewing range of a user, according to an exemplary embodiment.
  • a method of processing a director view image representing an area smaller than the omnidirectional spherical image is disclosed.
  • a field of view (FOV) of a user may be narrower than a director view (eg, 180 degrees x 180 degrees) image. Therefore, if the compression and reconstruction quality is determined by distinguishing an area within the user's field of view from an area outside the user's field of view, more efficient image processing is possible.
  • the user's field of view 2410 is narrower than the image 2400 of the entire area processed by the image processing apparatus.
  • the image processing apparatus may analyze the field of view 2410 of the user in the image 2400 and perform compression and restoration operations with high quality on the area corresponding to the field of view 2410 of the user.
  • the image processing apparatus may perform compression and reconstruction with low quality on an area outside the user's field of view 2410 in the image 2400.
  • FIG. 25 illustrates a method of synthesizing an artificial image with an original image, according to an exemplary embodiment.
  • a user wearing a virtual reality device may look at the surrounding environment.
  • a user wearing a virtual reality device should be provided with an appropriate image even when he / she turns his / her eyes in the virtual reality. Therefore, the image processing apparatus should acquire a panoramic image of 360 degrees x 180 degrees through the camera.
  • the image processing apparatus may process a 360-degree x 180-degree panoramic image in order to generate an omni-directional spherical image, it may be a burden on the calculation amount.
  • the gaze of the user wearing the virtual reality device is usually in the horizontal direction. This is because, in the process of acquiring a 360-degree x 180-degree panoramic image, important content or an object that attracts the user's gaze is generally disposed in the center portion (ie, the horizontal direction) of the image. In other words, it is relatively unlikely that the user's gaze points upward (sky) or downward (bottom) of the 360-degree x 180-degree panoramic image. In addition, the complexity of the content of the sky or the bottom area is relatively low.
  • an image processing apparatus may replace a predetermined region of a 360 degree x 180 degree panoramic image with an artificial image.
  • the image processing apparatus may process an image while removing content of the sky or the floor area.
  • data to be processed by the image processing apparatus may be reduced.
  • the image processing apparatus may simply restore the image by replacing the removed region with an artificial image.
  • an artificial image is synthesized with an original image in a predetermined area 2520 and 2530 except for an area 2510 in which a content cannot be replaced among the 360 degree 180 degree panoramic image 2500. Accordingly, the image processing apparatus may obtain an effect of saving image data processing corresponding to the predetermined areas 2520 and 2530.
  • the above-described embodiments can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer which operates a program using a computer-readable recording medium.
  • the computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).
  • a magnetic storage medium for example, a ROM, a floppy disk, a hard disk, etc.
  • an optical reading medium for example, a CD-ROM, a DVD, etc.
  • carrier wave for example, the Internet.

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)
  • Library & Information Science (AREA)
  • Image Processing (AREA)

Abstract

전방위 구형 영상을 생성하는 단계, 상기 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보를 결정하는 단계, 다면체의 전개도에 상기 전방위 구형 영상을 투영하여 투영 영상을 생성하는 단계, 상기 디렉터 뷰에 대한 정보에 기초하여 상기 투영 영상으로부터 상기 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할하는 단계, 상기 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 상기 디렉터 뷰의 직사각형 영상으로 재구성하는 단계 및 상기 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 포함하는 영상 처리 방법이 개시된다.

Description

영상 처리 방법 및 장치
본 발명은 가상 영상 처리 방법 및 장치에 관한 것이다.
최근 가상 현실 관련 기술과 장치가 발전함에 따라, 이를 활용한 가상 현실 장치들이 각광받고 있다. 이러한 가상 현실(Virtual Reality, VR) 장치는 엔터테인먼트, 교육, 사무, 의료 등 다양한 분야에 폭넓게 적용되고 있다. 또한, HMD(Head Mounted Display, Head Mount Display) 등과 같은 가상 현실 장치가 보급됨에 따라 사람들이 영상 컨텐츠를 즐기는 양상이 변화하고 있다. 이러한 가상 현실 장치는 사용자 시점에 따라 시점 변환 가능한 컨텐츠를 제공하는 것을 주요 기능으로 하며, 이에 따라 사용자는 마치 본인이 가상 공간상에 있는 듯한 느낌을 받을 수 있도록 한다. 이에 가상 현실 장치를 이용하여 보다 몰입감있는 파노라마 영상 재생을 지원하거나 비디오 게임 서비스를 제공할 수 있는 어플리케이션 또한 많이 등장하고 있다.
가상 현실 장치에 디스플레이 되는 가상 현실 영상은 가상 현실 디스플레이 장치를 착용한 사용자의 시선에 따라 움직이게 되므로, 가상 현실 영상은 사용자를 둘러싼 주변의 모든 영상을 포함하여야 한다. 즉, 가상 현실 장치에서 제공하는 가상 현실 영상은 사용자를 기준으로 주변 모든 방향에 해당하는 영상, 즉, 360도x180도 영상이다. 따라서, 가상 현실 장치에 대한 관심과 함께 이러한 360도x180도 영상의 처리에 대한 관심이 높아지고 있다.
종래 기술에 따른 360도x180도 영상 처리 방법은 영상 크기가 커 처리 효율이 떨어지고 전력 소모가 많으며, 영상의 일부가 유실되어 품질이 떨어질 수 있다는 문제가 있다. 따라서, 보다 효율적이고 고품질의 영상을 제공할 수 있는 영상 처리 방법 및 장치가 필요하다.
일 실시예는 영상 처리 방법 및 장치를 제공한다. 보다 구체적으로, 보다 효율적이고 고품질의 영상을 제공할 수 있는 영상 처리 방법 및 장치를 제공한다.
상기 기술적 과제를 해결하기 위한 일 실시예에 따른 영상 처리 방법은, 전방위(omnidirectional) 구형 영상을 생성하는 단계; 상기 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 결정하는 단계; 다면체의 전개도에 상기 전방위 구형 영상을 투영하여 투영 영상을 생성하는 단계; 상기 디렉터 뷰에 대한 정보에 기초하여 상기 투영 영상으로부터 상기 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할(dividing)하는 단계; 상기 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 상기 디렉터 뷰의 직사각형 영상(rectangular image)으로 재구성(reshaping)하는 단계; 및 상기 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 포함한다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰에 대한 정보는 상기 비트스트림 내의 NAL(Network Abstraction Layer) 유닛의 SEI(Supplemental Enhancement Information) 파라미터에 포함될 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 다면체는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 투영 영상은,
아이코사히드랄 투영 영상(icosahedral projection image) 또는 옥타히드랄 투영 영상(octahedral projection image)일 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 투영 영상이 상기 아이코사히드랄 투영 영상인 경우, 상기 재구성하는 단계는, 각 행(row) 별로 상기 각 행에 포함된 픽셀들의 평행 이동 방향을 결정하는 단계; 및 상기 결정된 평행 이동 방향에 따라 상기 각 행에 포함된 픽셀들을 위쪽(up) 또는 아래쪽(down) 방향으로 수직 이동시키는 단계를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 투영 영상이 상기 옥타히드랄 투영 영상인 경우, 상기 재구성하는 단계는, 각 행(row) 별로 상기 각 행에 포함된 픽셀들의 제 1 이동 방향을 결정하는 단계; 상기 결정된 제 1 이동 방향에 따라 상기 각 행에 포함된 픽셀들을 대각(diagonal) 방향으로 평행 이동시키는 단계; 각 열(column) 별로 상기 각 열에 포함된 픽셀들의 제 2 이동 방향을 결정하는 단계; 및 상기 결정된 제 2 이동 방향에 따라 상기 각 열에 포함된 픽셀들을 왼쪽(left) 또는 오른쪽(right) 방향으로 수평 이동시키는 단계를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 방법은, 상기 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 직사각형 영상으로 재구성하는 단계; 및 상기 전방위 구형 영상의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 더 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 전방위 구형 영상을 생성하는 단계는, 360도x180도 파노라마 영상을 획득하는 단계; 및 상기 파노라마 영상 중 소정 영역을 인공적인(artificial) 영상으로 대체하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법은, 부호화된 비트스트림을 수신하는 단계; 상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하는 단계; 상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하는 단계; 상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원하는 단계; 및 상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 단계를 포함한다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰 투영 영상은, 아이코사히드랄 투영 영상(icosahedral projection image) 또는 옥타히드랄 투영 영상(octahedral projection image) 중 일부가 분할된 형태를 나타낼 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 방법은, 영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 나타내는 영상 모드에 대한 정보를 수신하는 단계; 상기 영상 모드에 대한 정보가 상기 전체 모드를 나타내는 경우, 상기 비트스트림을 복호화하여 전방위 구형 영상의 직사각형 영상을 생성하고, 상기 전방위 구형 영상의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 투영 영상을 복원하고, 상기 전방위 구형 영상의 투영 영상을 역투영하여 상기 전방위 구형 영상을 재생하는 단계; 및 상기 영상 모드에 대한 정보가 상기 디렉터 뷰 모드를 나타내는 경우, 상기 디렉터 뷰 투영 영상을 역투영하여 상기 디렉터 뷰에 따른 영상을 재생하는 단계를 더 포함할 수 있다.
또한, 일 실시예에 따른 영상 처리 방법에서, 상기 디렉터 뷰의 직사각형 영상 중에서 사용자 디바이스의 시야 범위(Field of View)에 대응하는 영역은 고품질로 복원되고, 상기 사용자 디바이스의 시야 범위를 벗어나는 영역은 저품질로 복원될 수 있다.
일 실시예에 따른 영상 처리 장치는, 부호화된 비트스트림을 수신하는 수신부; 상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하고, 상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하고, 상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원하며, 상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 제어부; 및 상기 제어부의 동작을 위한 데이터를 저장하는 메모리를 포함한다.
일 실시예에 따르면, 보다 효율적이고 고품질의 영상을 제공할 수 있다.
도 1은 전방위 구형 영상(360도x180도 영상)을 나타내는 도면이다.
도 2는 일 실시예에 따른 디렉터 뷰(director’s view)의 개념을 나타내는 도면이다.
도 3은 일 실시예에 따른 영상 처리 장치가 전방위 구형 영상을 다면체로 투영하는 과정을 나타내는 도면이다.
도 4는 일 실시예에 따른 아이코사히드랄 투영 영상을 나타내는 도면이다.
도 5는 일 실시예에 따른 옥타히드랄 투영 영상을 나타내는 도면이다.
도 6은 일 실시예에 따른 다면체의 구성 성분을 나타내는 도면이다.
도 7은 제 1 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 8은 제 1 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 9는 제 2 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 10은 제 2 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 11은 제 3 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 12는 제 3 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 13은 제 4 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 14는 제 4 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 15은 다양한 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 16은 일 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 17은 일 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 18은 일 실시예에 따른 비트스트림으로부터 영상을 복호화하여 역투영 영상을 생성하는 방법을 나타내는 순서도이다.
도 19는 다른 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 20은 다른 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 21은 일 실시예에 따라 재구성된 실제 직사각형 영상을 나타내는 도면이다.
도 22는 일 실시예에 따른 디렉터 뷰에 대한 정보를 나타내는 파라미터를 도시한다.
도 23은 일 실시예에 따른 투영 영상들을 나타내는 도면이다.
도 24는 일 실시예에 따라 사용자의 시야 범위에 기초하여 영상의 복원 품질을 결정하는 방법을 나타내는 도면이다.
도 25는 일 실시예에 따라 원(original) 영상에 인공적인(artificial) 영상을 합성하는 방법을 나타내는 도면이다.
명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 일 실시예의 실시예에 대하여 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 일 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 일 실시예를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
일 실시예에서 사용되는 용어는 일 실시예에서의 기능을 고려하면서 가능한 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 일 실시예에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 일 실시예의 전반에 걸친 내용을 토대로 정의되어야 한다.
도 1은 전방위 구형 영상(360도x180도 영상)을 나타내는 도면이다.
도 1에 도시된 바와 같이 전방위 구형 영상은 특정 위치(110)를 중심으로 하여 특정 위치를 360도x180도로 둘러싼 주위 환경을 나타내는 영상(120)이다. 사용자가 가상 현실 장치를 착용하는 경우, 가상 현실 내에서 사용자를 360도x180도로 둘러싼 주위 환경을 나타내는 영상이 전방위 구형 영상일 수 있다. 가상 현실 장치는 360도x180도 영상을 사용자에게 제공하여, 가상 현실 장치를 착용한 사용자가 가상 현실 내에서 이동하거나 시선을 돌리는 경우에도 그에 따른 적절한 영상을 제공할 수 있다. 전방위 구형 영상이 획득되는 과정을 설명하면 다음과 같다.
영상 처리 장치는 적어도 둘 이상의 방향에 대한 영상들을 획득한다. 일 실시예에 따르면, 영상 처리 장치는 카메라를 통해 영상 처리 장치를 둘러싼 주위 환경을 촬영함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수 있다. 이때, 영상 처리 장치는 적어도 하나 이상의 카메라를 통해 영상 처리 장치를 둘러싼 주위 환경을 촬영할 수 있다. 일 실시예에 따르면, 카메라는 영상 처리 장치에 포함된 구성 요소일 수도 있고, 영상 처리 장치와 별개의 장치로 구성될 수도 있다. 또한, 영상 처리 장치는 카메라를 이용하여 파노라마 방식으로 주위 환경을 촬영할 수도 있고, 전, 후, 좌, 우, 상, 하 등 각 방향을 각각 촬영할 수도 있다.
또한, 일 실시예에 따르면, 영상 처리 장치는 외부 장치로부터 영상을 수신함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수도 있다. 즉, 외부 장치가 주위 환경을 촬영하거나 가상의 영상을 생성하여, 영상 처리 장치로 영상을 전송하고, 영상 처리 장치는 이를 수신함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수도 있다.
도 2는 일 실시예에 따른 디렉터 뷰(director’s view)의 개념을 나타내는 도면이다.
전방위 구형 영상은 사용자를 둘러싼 모든 주위 환경을 처리해야 하므로, 이에 따라 처리해야 하는 연산량이 증가할 수 있다. 제한된 CPU 또는 RAM 자원을 가지는 디바이스의 경우, 이러한 연산량의 증가는 실시간 처리 속도를 지연시키며, 영상 품질을 열화시킨다는 문제가 있다. 상기와 같은 문제점을 해결하기 위해, 전체 360도x180도 영상을 처리하는 대신, 일부 영역만을 나타내는 디렉터 뷰 영상을 처리하는 방식이 제안된다.
디렉터 뷰는 영상 컨텐츠로부터 서브분할(subdivision)된 영역을 나타낸다. 즉, 전방위 구형 영상의 시야 범위가 360도x180도라면, 디렉터 뷰의 시야 범위는 전방위 구형 영상보다 좁아지므로 360도x180도보다 작을 수 있다. 예를 들어, 디렉터 뷰의 시야 범위는 반구형(180도x180도)일 수 있다.
디렉터 뷰에 해당하는 영역의 방향 및 크기는 컨텐츠 제공자에 의해 결정될 수 있다. 일 실시예에 따른 디렉터 뷰는, 적어도 하나의 카메라 센서로부터 획득될 수 있다. 일 실시예에 따라, 카메라 센서의 움직임 방향에 따라 기본 디렉터 뷰의 방향이 결정될 수 있고, 카메라 센서의 시야각에 따라 기본 디렉터 뷰의 너비 및 높이가 결정될 수 있다. 또한, 일 실시예에 따른 디렉터 뷰는 영상 촬영 시 또는 촬영 후 처리 단계에서 컨텐츠 제공자의 선택에 의해 수동적으로(manually) 결정될 수도 있다. 즉, 컨텐츠 제공자는 촬영된 전방위 구형 영상 중에서 중요하다고 여겨지는 장면 또는 사용자의 시선을 이끌기 위한 장면에 대응하는 영역을 디렉터 뷰로 결정할 수 있다.
다른 실시예에 따라, 디렉터 뷰에 해당하는 영역의 방향 및 크기는 영상 분석을 통해 자동적으로 결정될 수도 있다. 예를 들어, 영상 분석을 통해 움직임이 상대적으로 많은 영역 또는 픽셀의 해상도가 상대적으로 높은 영역이 디렉터 뷰로서 결정될 수 있다.
또 다른 실시예에 따라, 디렉터 뷰는 사용자의 요청에 의해 결정될 수도 있다. 예를 들어, 사용자가 가상 현실 장치를 통해 전방위 구형 영상 중에서 일부 영역을 선택하면, 선택된 영역의 영상을 제공하는 요청이 서버로 전송될 수 있다.
도 2를 참조하면, 디렉터 뷰(210)가 반구형(hemisphere) 영상인 경우를 예시하고 있다. 이하에서는 디렉터 뷰(210)가 반구형 영상인 것으로 전제하여 디렉터 뷰(210) 영상을 처리하는 다양한 방법을 설명하기로 한다. 그러나, 디렉터 뷰(210)는 반드시 반구형일 필요는 없으며, 본 명세서에 개시된 영상 처리 방법은 디렉터 뷰(210)가 반구형 영상보다 크거나 작은 경우에도 동일하게 적용될 수 있음에 유의하여야 한다. 따라서, 디렉터 뷰(210)가 반구형 영상인 것으로 한정 해석하여서는 아니되며, 전방위 구형 영상 중에서 일부 영역을 나타내는 것으로 이해하면 족하다.
도 2를 참조하면, 일 실시예에 따른 디렉터 뷰(210)는 전방위 구형 영상의 중심으로부터 디렉터 뷰의 중심을 나타내는 방향 벡터(220), 디렉터 뷰의 수평 시야 정보 및 수직 시야 정보로서 표현될 수 있다. 이 때, 방향 벡터(220)는 3차원 공간 좌표(x,y,z)로 표현될 수 있다. 방향 벡터(220)는 방향 벡터가 가리키는 곡면(250)의 법선 벡터(normal vector)이다. 만일, 방향 벡터(220)가 2차원 평면 좌표 상에서 결정되어 직교 좌표(Cartesian coordinate) 또는 극 좌표(Polar coordinate)로서 표현된 경우, 3차원 공간 좌표계로의 변환이 요구될 수 있다.
반구형 디렉터 뷰(210)의 수평 시야 정보는 180도를 나타내며, 수직 시야 정보는 180도를 나타낸다. 디렉터 뷰(210)가 반구형인 경우, 방향 벡터(220)가 가리키는 방향을 중심으로 좌우 90도 및 상하 90도의 각도 범위 내의 영역이 디렉터 뷰의 영역(230)으로 설정된다. 이 경우, 전방위 구형 영상 중에서 디렉터 뷰의 영역(230)을 제외한 영역(240)에 대해서는 컨텐츠의 송수신이 이루어지지 않는다.
일 실시예에 따른 디렉터 뷰에 대한 정보는 영상 처리 장치에서 영상 컨텐츠와 함께 부호화되어 비트스트림에 포함될 수 있다. 이 때, 디렉터 뷰에 대한 정보는 비트스트림 내의 NAL(Network Abstraction Layer) 유닛의 SEI(Supplemental Enhancement Information) 파라미터에 포함될 수 있다.
한편, 영상 처리 장치에서 부호화된 비트스트림은 컨텐츠 서버에 저장되고, 가상 현실 장치(예를 들어, HMD)는 컨텐츠 서버로부터 비트스트림을 수신받아 복호화를 수행할 수 있다. 이 때, 가상 현실 장치는 선택에 따라 전방위 구형 영상 모드 또는 디렉터 뷰 모드를 선택할 수 있다. 가상 현실 장치에서 디렉터 뷰 모드가 선택된 경우, 가상 현실 장치는 비트스트림 내의 NAL 유닛의 SEI 파라미터로부터 획득한 디렉터 뷰에 대한 정보에 기초하여 디렉터 뷰 영상을 복호화 및 렌더링할 수 있다.
디렉터 뷰에 대한 정보를 표현하는 파라미터에 대해서는 도 22를 통해 구체적으로 후술하기로 한다.
도 3은 일 실시예에 따른 영상 처리 장치가 전방위 구형 영상을 다면체로 투영하는 과정을 나타내는 도면이다.
일 실시예에 따른 영상 처리 장치는 효율적인 영상 압축을 위해 부호화를 수행하기 이전에 3차원 공간의 영상을 2차원 평면 영상으로 변환하는 작업을 수행한다. 3차원 공간의 영상을 2차원 평면 영상으로 변환하는 방식에는 여러 가지가 있는데, 전방위 구형 영상을 등장방형으로 투영시키는 ERP(Equirectangular projection) 방식은 지나치게 많은 연산량을 필요로 하여 처리 속도가 지연되는 문제가 있다. ERP 방식의 경우, 전방위 구형 영상의 극점으로 다가갈수록 변환 면적이 작아지는 비선형(non-linear) 특성이 존재하기 때문이다. 이에 따라, 본 명세서에서는 3차원 공간의 영상을 2차원 평면 영상으로 변환함에 있어 선형성이 유지되는 다면체 투영 방식을 사용하기로 한다. 다면체는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다. 이 때, 다면체의 일 면은, 삼각형이 둘 이상 모여 만들어진 다른 다각형으로 구성될 수 있다. 예를 들어, 동일한 삼각형이 둘 이상 합쳐져 만들어지는 사각형이 다면체의 일 면을 구성할 수도 있다.
도 3을 참조하면, 일 실시예에 따른 영상 처리 장치는 획득한 전방위 구형 영상(310)을 다면체인 정20면체(320) 또는 정8면체(330)에 투영할 수 있다. 즉, 영상 처리 장치는 정20면체(320) 또는 정8면체(330)의 전개도에 영상을 투영하여 투영 영상을 생성할 수 있다. 정20면체(320)에 투영된 영상은 아이코사히드랄 투영 영상(icosahedral projection image)이며, 정8면체(330)에 투영된 영상은 옥타히드랄 투영 영상(octahedral projection image)이다.
이하에서는 도 3에 도시한 것과 같이 전방위 구형 영상(310)를 정20면체(320) 또는 정8면체(330)에 투영하는 것을 예로 들어 영상 처리 과정을 설명하도록 한다. 하지만, 위에서 설명한 것과 같이 다면체는 정20면체(320) 또는 정8면체(330)에 한정되지 않고, 획득한 전방위 구형 영상(310)을 다양한 형태의 다면체에 투영하여 영상 처리를 수행하는 것도 가능하다.
도 4는 일 실시예에 따른 아이코사히드랄 투영 영상을 나타내는 도면이다.
도 4를 참조하면, 도 3에 도시된 정20면체(320)를 전개한 전개도에 전방위 구형 영상(310)를 투영하여 생성된 투영 영상(410)을 나타낸다. 투영 영상(410)은 아이코사히드랄 투영 기법을 이용하여 생성된 아이코사히드랄 투영 영상이다. 일 실시예에 따른, 투영 영상(410)은 전방위 구형 영상(310)이 투영된 정20면체(320)를 펼쳐놓은 전개도와 동일하다. 즉, 투영 영상(410)은 360도x180도의 전방위 구형 영상에 대응하는 면적을 갖는다.
일 실시예에 따른 투영 영상(410)이 획득되면, 영상 처리 장치는 반구형 디렉터 뷰 영상의 처리를 위하여 투영 영상(410)으로부터 디렉터 뷰 영상에 대응하는 면적을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면(412)을 결정한다. 그 후, 영상 처리 장치는 경계면(412) 내부에 포함되는 영역만을 획득하거나, 경계면(412) 외부에 해당하는 영역을 제거(crop)하는 방식으로 투영 영상(410)으로부터 디렉터 뷰 영상에 대응하는 영역을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(420)으로 지칭된다. 일 실시예에 따른 디렉터 뷰 투영 영상(420)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
일 실시예에 따라, 투영 영상(410)으로부터 분할된 디렉터 뷰 투영 영상(420)은 정삼각형 또는 직각삼각형들의 집합으로 구성된 형태를 갖는다. 일 실시예에 따른 영상 처리 장치는, 이처럼 정삼각형 또는 직각삼각형들의 집합으로 구성된 디렉터 뷰 투영 영상(420)을 직사각형 영상(rectangular image)으로 재구성(reshaping)하는 작업을 수행한다. 디렉터 뷰 투영 영상(420)은 정20면체(320)로부터 전개된 2차원 영상인 바, 도 4에서 볼 수 있듯이, 실제로 재생될 영상과는 관련 없는 여백이 존재한다. 이러한 여백은 도면 상에서는 여백에 불과하지만, 영상 처리 과정에 있어서는 처리해야 할 데이터에 해당한다. 따라서, 여백이 많을수록 영상 처리 장치가 처리해야 할 데이터가 많아져 처리 효율이 떨어지게 된다. 디렉터 뷰 투영 영상(420)을 직사각형 영상으로 재구성하는 과정은 이러한 여백을 줄여 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄여주는 과정이다.
일 실시예에 따른 아이코사히드랄 투영 영상의 재구성 과정은 도 7 내지 도 10을 통해 상세히 후술하기로 한다.
도 5는 일 실시예에 따른 옥타히드랄 투영 영상을 나타내는 도면이다.
도 5를 참조하면, 도 3에 도시된 정8면체(330)를 전개한 전개도에 전방위 구형 영상(310)를 투영하여 생성된 투영 영상(510)을 나타낸다. 투영 영상(510)은 옥타히드랄 투영 기법을 이용하여 생성된 옥타히드랄 투영 영상이다. 일 실시예에 따른, 투영 영상(510)은 전방위 구형 영상(310)이 투영된 정8면체(330)를 펼쳐놓은 전개도와 동일하다. 즉, 투영 영상(510)은 360도x180도의 전방위 구형 영상에 대응하는 면적을 갖는다.
일 실시예에 따른 투영 영상(510)이 획득되면, 영상 처리 장치는 반구형 디렉터 뷰 영상의 처리를 위하여 투영 영상(510)으로부터 디렉터 뷰 영상에 대응하는 면적을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면(512)을 결정한다. 그 후, 영상 처리 장치는 경계면(512) 내부에 포함되는 영역만을 획득하거나, 경계면(512) 외부에 해당하는 영역을 제거하는 방식으로 투영 영상(510)으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(520)으로 지칭된다. 일 실시예에 따른 디렉터 뷰 투영 영상(520)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
도 4의 디렉터 뷰 투영 영상(420)과 마찬가지로, 투영 영상(510)으로부터 분할된 디렉터 뷰 투영 영상(520)은 정삼각형 또는 직각삼각형들의 집합으로 구성된 형태를 갖는다. 도 4에서 전술한 바와 마찬가지로, 일 실시예에 따른 영상 처리 장치는, 도 5의 디렉터 뷰 투영 영상(520)을 직사각형 영상으로 재구성하는 작업을 수행한다.
일 실시예에 따른 옥타히드랄 투영 영상의 재구성 과정은 도 11 내지 도 16을 통해 상세히 후술하기로 한다.
도 6은 일 실시예에 따른 다면체의 구성 성분을 나타내는 도면이다.
도 4 및 도 5를 통해 전술한 바와 같이, 일 실시예에 따른 영상 처리 장치는 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성하는 작업을 수행한다. 일 실시예에 따른 영상 처리 장치는 디렉터 뷰 투영 영상(420, 520) 내의 픽셀들의 위치를 이동시킴으로써 직사각형 영상을 획득할 수 있다.
일 실시예에 따르면, 픽셀의 위치를 이동시킨다는 의미는 픽셀 데이터의 이동을 의미한다. 즉, 물리적인 픽셀의 이동이 아니라, 특정 픽셀의 픽셀 데이터를 다른 픽셀의 픽셀 데이터로 저장하는 것이다.
일 실시예에 따르면, 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성 시, 영상 처리 장치는 픽셀의 삭제 또는 새로운 픽셀의 추가 없이, 픽셀의 위치만을 이동시켜 직사각형 영상을 생성할 수 있다. 즉, 디렉터 뷰 투영 영상(420, 520)의 전체 픽셀 개수 및 픽셀 데이터의 변경 없이, 단순히 픽셀의 위치만 이동시킴으로써 직사각형 영상이 생성될 수 있다. 따라서, 재구성된 직사각형 영상과 디렉터 뷰 투영 영상(420, 520)의 면적은 동일하다. 일 실시예에 따르면, 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성하는데 있어서 픽셀의 위치만 이동되고, 전체 픽셀 개수와 픽셀 데이터는 동일한 바, 픽셀의 위치 이동 내역 또는 픽셀의 원래 위치만을 알 수 있으면 직사각형 영상을 쉽게 디렉터 뷰 투영 영상(420, 520)으로 복원할 수 있다.
일 실시예에 따라 디렉터 뷰 투영 영상(420, 520)을 직사각형 영상으로 재구성함에 있어서, 영상 처리 장치는 각각의 픽셀들을 포함하는 최소 단위를 설정하고 설정된 최소 단위의 위치를 이동시키는 방식을 이용할 수 있다. 정20면체 또는 정8면체와 같은 다면체의 경우 정삼각형을 구성 성분으로 한다. 그런데, 반구형 디렉터 뷰 영상의 처리 시에는 도 4 및 도 5에 도시된 바와 같이 디렉터 뷰 영상의 경계면(412, 512)에 의해 반으로 분할되는 정삼각형(600)이 존재한다. 즉, 디렉터 뷰 투영 영상(420, 520)은 정삼각형(600)이 분할된 직각삼각형(610, 620)들의 조합으로 이루어진 형태로 이해할 수 있다.
이에 따라, 영상 처리 장치는 도 6에 도시된 바와 같은 직각삼각형(610, 620)을 기본 단위로 재구성 작업을 수행할 수 있다. 다시 말해, 영상 처리 장치는 디렉터 뷰 투영 영상(420, 520)을 구성하는 각각의 직각삼각형(610, 620)들을 적절하게 배치시킴으로써 직사각형 영상을 생성할 수 있다.
이하에서는, 구체적인 실시예를 통해 픽셀의 이동을 통한 재구성 과정을 설명하도록 한다.
도 7은 제 1 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 7을 참조하면, 먼저, S702 단계에서 영상 처리 장치는 전방위 구형 영상을 정20면체에 투영한다. 정20면체에 투영된 투영 영상은 도 4의 투영 영상(410)과 같은 전개도 형태를 갖는다.
S702 단계에서 투영 영상이 획득되면, S704 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(420)으로 지칭된다. 일 실시예에 따른 디렉터 뷰 투영 영상(420)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S706 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(420)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(420)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S708 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 큰지 여부를 판단한다. 도 8을 참조하면, 도 4의 디렉터 뷰 투영 영상(420)과 대응하는 디렉터 뷰 투영 영상(810)이 도시되며, 디렉터 뷰 투영 영상(810)은 삼각형이 3개 층으로 쌓여있는 형태이다. 제 1 실시예에 따르면, 영상 처리 장치는 최하단에 위치한 삼각형들을 상측 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 2/3로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(810)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S708 단계에서 선택한 행의 번호가 설정값보다 크다고 판단하는 경우, 영상 처리 장치는 S710 단계로 진행하여 선택한 행에 포함된 픽셀들을 상단으로 수직 이동시킬 수 있다. S708 단계에서 선택한 행의 번호가 설정값 이하라고 판단하는 경우, 영상 처리 장치는 S712 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S714 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정(adjust)한다.
S716 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S706 단계로 되돌아가 위 과정을 반복한다.
S706 단계 내지 S716 단계는 도 8에 도시된 디렉터 뷰 투영 영상(810)을 디렉터 뷰 직사각형 영상(820)으로 재구성하기 위한 과정으로, 도 8을 참조하여 보다 상세히 설명하도록 한다.
도 8은 제 1 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 8을 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(810)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(810)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(810)의 높이의 2/3로 설정하는 경우, 전체 행 길이의 2/3 보다 큰 행 번호를 갖는 행들에 포함된 픽셀들을 상단으로 수직 이동시킬 수 있다.
따라서, 제 1 실시예에 따른 영상 처리 장치는, 도 8에 도시된 바와 같이 전체 행 길이의 2/3 보다 큰 행 번호를 갖는 픽셀들을 포함하는 정삼각형(812, 814) 및 직각삼각형(816)을 상단으로 수직 이동시켜 디렉터 뷰 투영 영상(810)의 상단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 상단으로 쉬프트하기 위한 수식 P(x',y')=P(x,y - 2/3 * h)을 이용할 수 있다. 이 때, h는 전체 행 길이를 나타낸다.
도 8을 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(820)이 도시된다. 도 8에 도시된 디렉터 뷰 직사각형 영상(820)은 제 1 실시예에 따른 픽셀의 수직 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(810) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 수직 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(810)이 디렉터 뷰 직사각형 영상(820)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
도 9는 제 2 실시예에 따른 아이코사히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 9를 참조하면, 먼저, S902 단계에서 영상 처리 장치는 전방위 구형 영상을 정20면체에 투영한다. 정20면체에 투영된 투영 영상은 도 4의 투영 영상(410)과 같은 전개도 형태를 갖는다.
S902 단계에서 투영 영상이 획득되면, S904 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(420)으로 지칭되며, 디렉터 뷰 투영 영상(420)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S906 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(420)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(420)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S908 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 작은지 여부를 판단한다. 도 10을 참조하면, 도 4의 디렉터 뷰 투영 영상(420)과 대응하는 디렉터 뷰 투영 영상(1010)이 도시되며, 디렉터 뷰 투영 영상(1010)은 삼각형이 3개 층으로 쌓여있는 형태이다. 제 2 실시예에 따르면, 영상 처리 장치는 최상단에 위치한 삼각형들을 하측 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 1/3로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(1010)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S908 단계에서 선택한 행의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S910 단계로 진행하여 선택한 행에 포함된 픽셀들을 하단으로 수직 이동시킬 수 있다. S908 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S912 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S914 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S916 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S906 단계로 되돌아가 위 과정을 반복한다.
S906 단계 내지 S916 단계는 도 10에 도시된 디렉터 뷰 투영 영상(1010)을 디렉터 뷰 직사각형 영상(1020)으로 재구성하기 위한 과정으로, 도 10을 참조하여 보다 상세히 설명하도록 한다.
도 10은 제 2 실시예에 따른 아이코사히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 10을 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1010)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(1010)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(1010)의 높이의 1/3로 설정하는 경우, 전체 행 길이의 1/3 보다 작은 행 번호를 갖는 행들에 포함된 픽셀들을 하단으로 수직 이동시킬 수 있다.
따라서, 제 2 실시예에 따른 영상 처리 장치는, 도 10에 도시된 바와 같이 전체 행 길이의 1/3 보다 작은 행 번호를 갖는 픽셀들을 포함하는 직각삼각형(1012) 및 정삼각형(1014, 1016)을 하단으로 수직 이동시켜 디렉터 뷰 투영 영상(1010)의 하단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 하단으로 쉬프트하기 위한 수식 P(x',y')=P(x,y + 2/3 * h)을 이용할 수 있다. 이 때, h는 전체 행 길이를 나타낸다.
도 10을 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(1020)이 도시된다. 도 10에 도시된 디렉터 뷰 직사각형 영상(1020)은 제 1 실시예에 따른 픽셀의 수직 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(1010) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 수직 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(1010)이 디렉터 뷰 직사각형 영상(1020)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
도 11은 제 3 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 11을 참조하면, 먼저, S1102 단계에서 영상 처리 장치는 전방위 구형 영상을 정8면체에 투영한다. 정8면체에 투영된 투영 영상은 도 5의 투영 영상(510)과 같은 전개도 형태를 갖는다.
S1102 단계에서 투영 영상이 획득되면, S1104 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(520)으로 지칭되며, 디렉터 뷰 투영 영상(520)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S1106 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(520)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(520)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S1108 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 큰지 여부를 판단한다. 도 12를 참조하면, 도 5의 디렉터 뷰 투영 영상(520)과 대응하는 디렉터 뷰 투영 영상(1210)이 도시되며, 디렉터 뷰 투영 영상(1210)은 삼각형이 2개 층으로 쌓여있는 형태이다. 제 3 실시예에 따르면, 영상 처리 장치는 하단에 위치한 삼각형들을 좌측 상단 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 1/2로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(1210)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1108 단계에서 선택한 행의 번호가 설정값보다 크다고 판단하는 경우, 영상 처리 장치는 S1110 단계로 진행하여 선택한 행에 포함된 픽셀들을 좌측 상단으로 대각(diagonal) 이동시킬 수 있다. S1108 단계에서 선택한 행의 번호가 설정값 이하라고 판단하는 경우, 영상 처리 장치는 S1112 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1114 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1116 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S1106 단계로 되돌아가 위 과정을 반복한다.
S1106 단계 내지 S1116 단계는 도 12에 도시된 디렉터 뷰 투영 영상(1210)을 사다리꼴 영상(1220)으로 재구성하기 위한 과정으로, 도 12를 참조하여 보다 상세히 설명하도록 한다.
도 12는 제 3 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 12를 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1210)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(1210)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(1210)의 높이의 1/2로 설정하는 경우, 전체 행 길이의 1/2 보다 큰 행 번호를 갖는 행들에 포함된 픽셀들을 좌측 상단으로 대각 이동시킬 수 있다.
따라서, 제 3 실시예에 따른 영상 처리 장치는, 도 12에 도시된 바와 같이 전체 행 길이의 1/2 보다 큰 행 번호를 갖는 픽셀들을 포함하는 직각삼각형(1212)들을 좌측 상단으로 대각 이동시켜 디렉터 뷰 투영 영상(1210)의 상단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 좌측 상단으로 쉬프트하기 위한 수식 P(x',y')=P(x - 1/4 * w,y - 1/2 * h)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타내며 h는 전체 행 길이를 나타낸다.
다시, 도 11로 돌아오면, S1116 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하지 않는 경우, S1118 단계로 진행하여 사다리꼴 영상(1220)이 도시된 평면 상에서 하나의 열을 선택한다. 이때, 투영 영상의 가장 왼쪽에 있는 픽셀이 위치한 행이 y축이 될 수 있다.
S1120 단계에서 영상 처리 장치는 선택한 열의 번호가 설정값보다 작은지 여부를 판단한다. 도 12를 참조하면, 영상 처리 장치는 사다리꼴 영상(1220)을 구성하는 직각삼각형들 중 좌측에 위치한 직각삼각형(1222)을 우측 방향으로 수평 이동시키기 위해, 설정값을 전체 열의 개수의 1/4로 설정할 수 있다. 이 때, 전체 열의 개수는 디렉터 뷰 투영 영상(1210)의 가로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1120 단계에서 선택한 열의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S1122 단계로 진행하여 선택한 열에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다. S1120 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S1124 단계로 진행하여 선택한 열에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1126 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1128 단계에서 영상 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, S1118 단계로 되돌아가 위 과정을 반복한다.
S1118 단계 내지 S1128 단계는 도 12에 도시된 사다리꼴 영상(1220)을 디렉터 뷰 직사각형 영상(1230)으로 재구성하기 위한 과정으로, 다시 도 12를 참조하여 상세히 설명하도록 한다.
도 12를 참조하면, 픽셀들의 대각 이동 결과 생성된 사다리꼴 영상(1210)에서 가장 왼쪽에 위치한 픽셀을 포함하는 열을 y축이라하고, 오른쪽으로 갈수록 열 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 열 길이, 즉, 디렉터 뷰 투영 영상(1210)의 너비의 1/4로 설정하는 경우, 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 열들에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다.
따라서, 제 3 실시예에 따른 영상 처리 장치는, 도 12에 도시된 바와 같이 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 픽셀들을 포함하는 직각삼각형(1222)들을 우측으로 수평 이동시켜 사다리꼴 영상(1220)의 우측 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 우측으로 쉬프트하기 위한 수식 P(x',y)=P(x+w,y)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타낸다.
도 12를 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(1230)이 도시된다. 도 12에 도시된 디렉터 뷰 직사각형 영상(1230)은 제 3 실시예에 따른 픽셀의 대각 이동 및 수평 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(1210) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(1210)이 디렉터 뷰 직사각형 영상(1230)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
도 13은 제 4 실시예에 따른 옥타히드랄 투영 영상을 직사각형 영상으로 재구성하는 방법을 나타내는 순서도이다.
도 13을 참조하면, 먼저, S1302 단계에서 영상 처리 장치는 전방위 구형 영상을 정8면체에 투영한다. 정8면체에 투영된 투영 영상은 도 5의 투영 영상(510)과 같은 전개도 형태를 갖는다.
S1302 단계에서 투영 영상이 획득되면, S1304 단계에서 영상 처리 장치는 투영된 영상 중 디렉터 뷰에 대응하는 영역을 분할한다. 구체적으로, 영상 처리 장치는 디렉터 뷰 영상의 경계면을 결정하고, 결정된 경계면 내부에 포함되는 영역만을 획득하거나, 경계면 외부에 해당하는 영역을 제거하는 방식으로 투영 영상으로부터 디렉터 뷰 영상에 대응하는 영역만을 분할한다. 분할된 영역에 해당하는 부분은 디렉터 뷰 투영 영상(520)으로 지칭되며, 디렉터 뷰 투영 영상(520)은 180도x180도의 반구형 영상에 대응하는 면적을 갖는다.
그 후, S1306 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상(520)이 도시된 평면 상에서 하나의 행을 선택한다. 이 때, 디렉터 뷰 투영 영상(520)의 최상단에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
S1308 단계에서 영상 처리 장치는 선택한 행의 번호가 설정값보다 작은지 여부를 판단한다. 도 14를 참조하면, 도 5의 디렉터 뷰 투영 영상(520)과 대응하는 디렉터 뷰 투영 영상(1410)이 도시되며, 디렉터 뷰 투영 영상(1410)은 삼각형이 2개 층으로 쌓여있는 형태이다. 제 4 실시예에 따르면, 영상 처리 장치는 상단에 위치한 삼각형들을 좌측 하단 방향으로 이동시키기 위해, 설정값을 전체 행의 개수의 1/2로 설정할 수 있다. 이 때, 전체 행의 개수는 디렉터 뷰 투영 영상(1410)의 세로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1308 단계에서 선택한 행의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S1310 단계로 진행하여 선택한 행에 포함된 픽셀들을 좌측 하단으로 대각 이동시킬 수 있다. S1308 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S1312 단계로 진행하여 선택한 행에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1314 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1316 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, S1306 단계로 되돌아가 위 과정을 반복한다.
S1306 단계 내지 S1316 단계는 도 14에 도시된 디렉터 뷰 투영 영상(1410)을 사다리꼴 영상(1420)으로 재구성하기 위한 과정으로, 도 14를 참조하여 보다 상세히 설명하도록 한다.
도 14는 제 4 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 14를 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1410)은 정삼각형 또는 직각삼각형들로 구성되며, 각각의 삼각형은 적어도 하나의 픽셀을 포함한다. 또한, 디렉터 뷰 투영 영상(1410)에서 각각의 삼각형에 포함된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 행 길이, 즉, 디렉터 뷰 투영 영상(1410)의 높이의 1/2로 설정하는 경우, 전체 행 길이의 1/2 보다 작은 행 번호를 갖는 행들에 포함된 픽셀들을 좌측 하단으로 대각 이동시킬 수 있다.
따라서, 제 4 실시예에 따른 영상 처리 장치는, 도 14에 도시된 바와 같이 전체 행 길이의 1/2 보다 작은 행 번호를 갖는 픽셀들을 포함하는 직각삼각형(1412)들을 좌측 하단으로 대각 이동시켜 디렉터 뷰 투영 영상(1410)의 하단 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x',y')로서 표현한다면 픽셀을 좌측 하단으로 쉬프트하기 위한 수식 P(x,y)=P(x - 1/4 * w,y + 1/2 * h)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타내며 h는 전체 행 길이를 나타낸다.
다시, 도 13으로 돌아오면, S1316 단계에서 영상 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하지 않는 경우, S1318 단계로 진행하여 사다리꼴 영상(1420)이 도시된 평면 상에서 하나의 열을 선택한다. 이때, 투영 영상의 가장 왼쪽에 있는 픽셀이 위치한 행이 y축이 될 수 있다.
S1320 단계에서 영상 처리 장치는 선택한 열의 번호가 설정값보다 작은지 여부를 판단한다. 도 14를 참조하면, 영상 처리 장치는 사다리꼴 영상(1420)을 구성하는 직각삼각형들 중 좌측에 위치한 직각삼각형(1422)을 우측 방향으로 수평 이동시키기 위해, 설정값을 전체 열의 개수의 1/4로 설정할 수 있다. 이 때, 전체 열의 개수는 디렉터 뷰 투영 영상(1410)의 가로 길이와 대응한다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
S1320 단계에서 선택한 열의 번호가 설정값보다 작다고 판단하는 경우, 영상 처리 장치는 S1322 단계로 진행하여 선택한 열에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다. S1320 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 영상 처리 장치는 S1324 단계로 진행하여 선택한 열에 포함된 픽셀들의 위치를 유지시킬 수 있다.
그 후, S1326 단계에서 영상 처리 장치는 픽셀들의 번호(인덱스)를 조정한다.
S1328 단계에서 영상 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, S1318 단계로 되돌아가 위 과정을 반복한다.
S1318 단계 내지 S1328 단계는 도 14에 도시된 사다리꼴 영상(1420)을 디렉터 뷰 직사각형 영상(1430)으로 재구성하기 위한 과정으로, 다시 도 14를 참조하여 상세히 설명하도록 한다.
도 14를 참조하면, 픽셀들의 대각 이동 결과 생성된 사다리꼴 영상(1410)에서 가장 왼쪽에 위치한 픽셀을 포함하는 열을 y축이라하고, 오른쪽으로 갈수록 열 번호가 증가하는 것으로 설정될 수 있다. 설정값을 전체 열 길이, 즉, 디렉터 뷰 투영 영상(1410)의 너비의 1/4로 설정하는 경우, 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 열들에 포함된 픽셀들을 우측으로 수평 이동시킬 수 있다.
따라서, 제 4 실시예에 따른 영상 처리 장치는, 도 14에 도시된 바와 같이 전체 열 길이의 1/4 보다 작은 열 번호를 갖는 픽셀들을 포함하는 직각삼각형(1422)들을 우측으로 수평 이동시켜 사다리꼴 영상(1420)의 우측 여백을 채워나갈 수 있다. 예를 들어, 픽셀의 위치를 좌표 P(x,y)로서 표현한다면 픽셀을 우측으로 쉬프트하기 위한 수식 P(x',y')=P(x+w,y)을 이용할 수 있다. 이 때, w는 전체 열 길이를 나타낸다.
도 14를 참조하면, 픽셀들의 이동 결과 생성된 디렉터 뷰 직사각형 영상(1430)이 도시된다. 도 14에 도시된 디렉터 뷰 직사각형 영상(1430)은 제 4 실시예에 따른 픽셀의 대각 이동 및 수평 이동을 설명하기 위한 것으로, 디렉터 뷰 투영 영상(1410) 중에서 픽셀 데이터를 갖는 픽셀들만 이동한 것을 가정하고, 그 수평 이동 결과를 도시한 것이다.
디렉터 뷰 투영 영상(1410)이 디렉터 뷰 직사각형 영상(1430)으로 재구성됨으로써, 영상 처리 장치가 처리해야 할 데이터의 양은 줄어들되, 디렉터 뷰의 시야 범위(예를 들어, 180도x180도) 내의 영상 데이터는 그대로 보존되므로, 영상 처리 효율이 높아질 수 있다.
전술한 바와 같이, 영상 처리 장치는 아이코사히드랄 투영 영상 또는 옥타히드랄 투영 영상을 다양한 실시예에 의해 직사각형 영상으로 재구성할 수 있다. 그러나, 전술한 실시예들은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 예를 들어 도 15에 도시된 바와 같은 형태로 재구성이 수행될 수도 있다.
도 15은 다양한 실시예에 따른 옥타히드랄 투영 영상의 픽셀을 이동시키는 과정을 나타내는 도면이다.
도 15를 참조하면, 일 실시예에 따른 디렉터 뷰 투영 영상(1510)은 픽셀들의 대각 이동만으로 디렉터 뷰 직사각형 영상(1520)으로 재구성될 수 있다.
예를 들어, 영상 처리 장치는 디렉터 뷰 투영 영상(1510)의 높이의 1/2 보다 작은 행 번호를 갖는 행들에 포함된 픽셀들 중 직각삼각형(1512) 영역에 대응하는 픽셀들은 우측 하단으로 대각 이동시키고, 직각삼각형(1514) 영역에 대응하는 픽셀들은 좌측 하단으로 대각 이동시킬 수 있다.
또 다른 예로, 영상 처리 장치는 디렉터 뷰 투영 영상(1510)의 높이의 1/2 보다 큰 행 번호를 갖는 행들에 포함된 픽셀들 중 직각삼각형(1516) 영역에 대응하는 픽셀들은 우측 상단으로 대각 이동시키고, 직각삼각형(1518) 영역에 대응하는 픽셀들은 좌측 상단으로 대각 이동시킬 수 있다.
일 실시예에 따른 픽셀의 이동 방법은 다양한 방법으로 적용 가능하다. 예를 들어, 수평 이동, 수직 이동 및 대각 이동의 순서를 복합적으로 적용하는 것이 가능하다.
일 실시예에 따르면, 투영 영상을 직사각형 영상으로 재구성함으로써, 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄일 수 있다. 또한, 재구성된 직사각형 영상의 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 확률이 높아져 효율적인 처리가 가능하다.
위에서 설명한 구체적인 직사각형 영상 재구성 방법들은 일 실시예에 불과하며, 다양한 방법을 이용하여 직사각형 영상을 재구성할 수 있다. 예를 들어, 위에서 설명한 픽셀의 위치 이동 방법들을 복합적으로 사용하여 직사각형 영상을 재구성할 수도 있다. 또한, 또 다른 픽셀의 위치 이동 방법을 통해 직사각형 영상을 재구성하는 것도 가능하다.
도 16은 일 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 16을 참조하면, 먼저, S1610 단계에서 영상 처리 장치는 전방위 구형 영상을 생성한다. 일 실시예에 따른 영상 처리 장치는 카메라를 통해 영상 처리 장치를 둘러싼 주위 환경을 촬영함으로써 적어도 둘 이상의 방향에 대한 영상들을 획득할 수 있다.
S1620 단계에서 영상 처리 장치는 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보를 결정한다. 디렉터 뷰는 영상 컨텐츠로부터 서브분할된 영역을 나타낸다. 즉, 전방위 구형 영상의 시야 범위가 360도x180도라면, 디렉터 뷰의 시야 범위는 전방위 구형 영상보다 좁아지므로 360도x180도보다 작을 수 있다. 예를 들어, 디렉터 뷰의 시야 범위는 반구형(180도x180도)일 수 있다. 도 2를 통해 전술한 바와 같이, 디렉터 뷰에 대한 정보는 컨텐츠 제공자 또는 사용자로부터 결정될 수 있으며, 영상 처리 시 영상 분석을 통해 자동으로 결정될 수도 있다.
S1630 단계에서 영상 처리 장치는 다면체의 전개도에 전방위 구형 영상을 투영하여 투영 영상을 생성한다. 투영 영상을 생성하는 구체적인 과정은 도 3을 통해 전술한 바와 같다.
S1640 단계에서 영상 처리 장치는 디렉터 뷰에 대한 정보에 기초하여 투영 영상으로부터 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할한다. 디렉터 뷰 투영 영상을 분할하는 구체적인 과정은 도 4 내지 도 5를 통해 전술한 바와 같다.
S1650 단계에서 영상 처리 장치는 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰의 직사각형 영상으로 재구성한다. 3차원 다면체를 2차원 투영 영상으로 전개하는 과정에서 발생하는 여백은 영상 처리를 요하는 불필요한 데이터이므로, 투영 영상을 직사각형 영상으로 재구성하는 과정은 이러한 여백을 줄여 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄여주는 과정이다. 디렉터 뷰 투영 영상을 디렉터 뷰의 직사각형 영상으로 재구성하는 구체적인 과정은 도 7 내지 도 15를 통해 전술한 바와 같다.
S1660 단계에서 영상 처리 장치는 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성한다. 도 16에는 도시되지 않았지만, 일 실시예에 따르면, 영상 처리 방법은 재구성된 직사각형 영상을 투영 영상으로 복원하는데 필요한 복원 정보를 생성하는 단계를 더 포함할 수 있다. 일 실시예에 따르면, 복원 정보에는 디렉터 뷰에 대한 정보, 영상 투영 시 사용한 3차원 모델에 대한 정보, 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보가 포함될 수 있다. 일 실시예에 따른 복원 정보는 비트스트림 내의 NAL 유닛의 SEI 파라미터에 포함될 수 있다. 위에서 설명한 것과 같이, 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치만을 수 있으면 직사각형 영상을 쉽게 투영 이미지로 복원할 수 있다. 또한, 일 실시예에 따르면, 영상 처리 방법은 재구성된 직사각형 영상과 복원 정보를 전송하는 단계를 더 포함할 수도 있다. 재구성된 직사각형 영상과 복원 정보를 함께 전송함으로써, 이를 수신하는 측에서 재구성된 직사각형 영상을 쉽게 투영 이미지로 복원할 수 있다.
한편, 도 16에는 도시되지 않았지만, 일 실시예에 따른 영상 처리 방법은 디렉터 뷰에 해당하는 영상 뿐만 아니라 전방위 구형 영상을 처리하는 단계를 더 포함할 수도 있다. 일 실시예에 따르면, 영상 처리 방법은 투영 영상으로부터 디렉터 뷰에 해당하는 영역을 분할하지 않고, 전방위 구형 영상의 직사각형 영상으로 재구성할 수도 있다. 일 실시예에 따른 투영 영상을 전방위 구형 영상의 직사각형 영상으로 재구성하기 위하여, 도 7 내지 도 15를 참조하여 설명한 재구성 방식이 동일하게 적용될 수 있다. 일 실시예에 따른 영상 처리 방법은 재구성된 전방위 구형 영상의 직사각형 영상을 부호화하여 비트스트림을 생성할 수 있다. 이처럼, 일 실시예에 따른 영상 처리 방법은 전방위 구형 영상 및 디렉터 뷰 영상을 동시에 투영, 재구성 및 부호화하여 저장(예를 들어, 서버에 저장)함으로써, 이를 수신하는 측(예를 들어, 가상 현실 장치)에서 영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 선택하는 것을 가능하게 할 수 있다.
지금까지 일 실시예에 따른 영상 처리 방법에 대해서 설명하였다. 아래에서는 도 17을 참조하여 일 실시예에 따른 영상 처리 방법을 수행하는 영상 처리 장치에 대해서 설명하도록 한다.
도 17은 일 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 17을 참조하면, 영상 처리 장치(1700)는 제어부(1710) 및 메모리(1720)를 포함한다.
제어부(1710)는 영상 처리 장치(1700) 전체의 동작을 제어하며, 메모리(1720)를 제어함으로써 영상을 처리할 수 있다. 제어부(1710)는 영상 처리 장치(1700)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬(ROM) 및 프로세서(Processor)를 포함할 수 있다. 프로세서는 코어(core)와 GPU를 통합한 SoC(System On Chip)로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 제어부(1710)는 적어도 둘 이상의 방향에 대한 영상들을 획득하고, 다면체의 전개도에 상기 영상들을 투영하여 투영 영상을 생성하며, 투영 영상의 픽셀들 중 디렉터 뷰에 해당하는 영역을 분할하고, 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 영상으로 재구성할 수 있다.
일 실시예에 따른 제어부(1710)는 도 1 내지 도 16을 참조하여 설명한 영상 처리 방법을 수행할 수 있다. 여기에서 중복되는 내용은 간단히 설명하도록 한다.
일 실시예에 따른 제어부(1710)는 투영 영상 생성 시, 영상들을 다면체에 투영하는 경우 영상들이 투영되는 다면체의 영역에 대응되는 전개도의 영역에 영상들을 투영할 수 있다.
일 실시예에 따른 제어부(1710)는 투영 영상을 직사각형 영상으로 재구성 시, 픽셀의 삭제 또는 새로운 픽셀의 추가 없이, 픽셀의 위치만을 이동시켜 직사각형 영상을 생성할 수 있다.
일 실시예에 따른 제어부(1710)는 직사각형 영상을 투영 영상으로 복원하는데 필요한 복원 정보를 생성할 수 있다.
일 실시예에 따른 제어부(1710)는 재구성된 직사각형 영상과 복원 정보를 전송하도록 제어할 수 있다.
일 실시예에 따르면, 제어부(1710)는 투영 영상을 직사각형 영상으로 재구성함으로써, 영상 처리 장치가 처리해야 할 불필요한 데이터를 줄일 수 있다.
메모리(1720)는 영상 처리 장치(1700)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 메모리(1720)는 휘발성(volatile) 저장 매체 또는 비휘발성(nonvolatile) 저장 매체로 구성될 수 있으며, 양 저장 매체의 조합(combination)으로 구성될 수도 있다. 휘발성 저장 매체로는 RAM, DRAM, SRAM과 같은 반도체 메모리(semiconductor memory)가 포함될 수 있으며, 비휘발성 저장 매체로는 하드 디스크(hard disk), 플래시 낸드 메모리(Flash NAND Memory)가 포함될 수 있다.
일 실시예에 따른 메모리(1720)는 제어부(1710)의 동작을 위한 데이터를 저장할 수 있다.
나아가, 도 17에는 도시하지 않았지만, 영상 처리 장치(1700)는 카메라부, 수신부, 전송부 등을 더 포함할 수 있다. 일 실시예에 따르면, 카메라부는 영상 처리 장치는 카메라를 통해 영상 처리 장치를 360도로 둘러싼 주위 환경을 촬영할 수 있다. 또한, 수신부는 외부 장치로부터 360도 영상을 수신할 수 있다. 일 실시예에 따르면, 전송부는 재구성된 직사각형 영상과 복원 정보를 전송할 수 있다. 수신부 및 전송부는 통신부를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치(1700)는 처리해야 할 데이터를 줄이고, 인접한 픽셀들이 연속적인 픽셀 데이터를 가지도록 영상을 처리하여 데이터 처리에 소요되는 전력을 줄이고, 처리 효율을 증가시킬 수 있다.
도 18은 일 실시예에 따른 비트스트림으로부터 영상을 복호화하여 역투영 영상을 생성하는 방법을 나타내는 순서도이다.
도 18을 참조하면, S1802 단계에서 영상 처리 장치는 부호화된 비트스트림을 수신하여 복호화를 수행한다. 일 실시예에 따르면 S1802 단계에서 영상 처리 장치는 동영상 압축과 관련된 국제 표준(예를 들어, ISO/IEC의 엠펙(MPEG), ITU-T의 H.26x 등)에 따라 복호화를 수행하여 복호화된 영상을 획득할 수 있다. 이 때, 획득된 복호화된 영상은 투영 영상(또는 디렉터 뷰의 투영 영상)이 재구성되어 생성된 직사각형 영상이다.
S1804 단계에서 영상 처리 장치는 비트스트림으로부터 복원 정보를 획득한다. 일 실시예에 따른 복원 정보에는 디렉터 뷰에 대한 정보, 영상 투영 시 사용한 3차원 모델에 대한 정보(다면체 정보), 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보(재구성 정보)가 포함될 수 있다. 일 실시예에 따라 영상 처리 장치는 비트스트림 내의 NAL 유닛의 SEI 파라미터로부터 복원 정보를 획득할 수 있다.
S1806 단계에서 영상 처리 장치는 복원 정보를 이용하여, 재구성된 직사각형 영상을 투영 영상으로 복원하는 방법을 결정한다. 즉, 영상 처리 장치는 적어도 하나 이상의 복원 방법 중에서 하나의 복원 방법을 결정할 수 있다. 앞서 도 7 내지 도 15를 참조하여 설명한 바와 같이, 투영 영상(또는 디렉터 뷰 투영 영상)은 다양한 실시예에 따라 직사각형 영상으로 재구성될 수 있다. 일 실시예에 따르면, 복원 정보에는 재구성 당시 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보가 포함되어 있으므로, 이를 통해 직사각형 영상이 투영 이미지로 복원될 수 있다.
한편, 투영 영상이 어떤 종류의 다면체를 이용하였는지 여부에 따라서도 복원 방법이 달라질 수 있다. 따라서, S1806 단계에서 영상 처리 장치는 영상 투영 시 사용된 3차원 모델(다면체)에 대한 정보를 이용하여 복원 방법을 결정할 수 있다. 또한, 일 실시예에 따른 영상 처리 장치는 각각의 방식으로 복원을 수행하기 이전에 3D 모듈을 초기화할 수 있다.
S1806 단계에서 영상 처리 장치가 복원 방법을 방법 A로 결정하는 경우, S1810 단계로 진행하여 방법 A를 이용하여 투영 영상을 복원하고, 복원 방법을 방법 B로 결정하는 경우, S1830 단계로 진행하여 방법 B를 이용하여 투영 영상을 복원하며, 복원 방법을 그 외 다른 방법으로 결정하는 경우, S1850 단계로 진행하여 해당 방법을 이용하여 투영 영상을 복원한다. 여기서, 복원 방법 A, B 및 다른 복원 방법은 각 복원 방법을 구분하기 위하여 편의상 구분한 것이고, 특정 복원 방법을 지칭하는 것은 아니다.
방법 A을 통해 복원하기로 결정한 경우 구체적인 복원 방법을 설명하도록 한다. 직사각형 영상을 투영 영상으로 복원시키는 과정은 투영 영상을 직사각형 영상으로 재구성하는 과정의 역순으로 이루어지는 바, 간략히 설명하도록 한다.
S1812 단계에서 영상 처리 장치는 직사각형 영상의 픽셀을 이동시키기 위한 기본 단위로서, 구획화된 직각삼각형을 선택한다. 각각의 직각삼각형은 인덱싱되어 있으며, 직각삼각형의 인덱스(triangle_idx)는 복원 정보에 포함될 수 있다.
S1814 단계에서 영상 처리 장치는 선택된 직각삼각형의 위치를 조정한다. 일 실시에에 따른 영상 처리 장치는 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보에 기초하여, 직사각형 영상으로 재구성되기 이전의 영상(즉, 투영 영상)으로 픽셀들을 이동시킬 수 있다. 일 실시예에 따른 영상 처리 장치는 앞서 도 7 내지 도 15를 참조하여 설명한 재구성 순서와 반대되는 순서로 직각삼각형의 픽셀을 이동시킬 수 있다. 예를 들어, 방법 A에 의한 재구성 순서가 픽셀의 대각 이동 이후 수평 이동의 형태라면, 방법 A에 의한 복원 순서는 픽셀의 수평 이동 이후 대각 이동의 형태일 수 있다.
S1814 단계에서 직각삼각형의 위치가 조정되면, S1816 단계에서 다음 직각삼각형이 선택된다.
S1818 단계에서 영상 처리 장치는 선택하지 않은 직각삼각형이 존재하는지 여부를 판단하여, 선택하지 않은 직각삼각형이 존재하는 경우, S1812 단계로 되돌아가 위 과정을 반복한다.
S1818 단계에서 영상 처리 장치가 모든 직각삼각형에 대한 위치 조정이 끝났다고 판단하는 경우, 투영 영상의 복원이 완료된 것이며, S1820 단계로 진행한다.
S1820 단계에서 영상 처리 장치는 이전 단계들의 과정을 통해 생성한 투영 영상을 렌더링한다. S1820 단계에서 영상 처리 장치는 투영 영상을 다면체로 조립하고, 다면체를 역투영(back-projection)하여 역투영 영상을 생성한다. 이때, 역투영 영상은 특정 위치를 둘러싼 주위 환경을 나타내는 영상일 수 있다. 일 실시예에 따르면, 영상 처리 장치는 특정 위치를 둘러싼 주위 환경 전체 또는 일부를 나타내는 영상을 생성할 수 있다. 이 때, 영상 모드가 전체 모드인 경우 전방위 구형 영상이 생성되고, 영상 모드가 디렉터 뷰 모드인 경우 디렉터 뷰 영상(예를 들어, 반구형 180도x180도 영상)이 생성될 수 있다. 또한, 영상 처리 장치가 가상 현실 장치이고, 사용자가 가상 현실 장치를 사용하는 경우, 사용자 시선에 따라 사용자 주위 환경에 대한 역투영 영상을 생성할 수 있다. 이 때, 생성되는 역투영 영상은 사용자 주위 환경 전체를 나타내는 영상이 아니라 사용자의 시선에 따라 보여지는 사용자 주위 환경 중 일부를 나타내는 영상일 수 있다.
도 18을 참조하면, 일 실시예에 따른 영상 처리 장치가 방법 B를 통해 복원하기로 결정한 경우에도, 방법 A를 통한 복원과 동일한 과정이 적용된다. 즉, S1832 단계, S1834 단계, S1836 단계, S1838 단계 및 S1840 단계는 전술한 S1812 단계, S1814 단계, S1816 단계, S1818 단계 및 S1820 단계에 각각 대응한다.
도 18을 참조하여 설명한 일 실시예에 따른 역투영 영상을 생성하는 방법은 하나의 실시예에 불과하며, 직사각형 영상 재구성 방법에 따라 다양한 복원 방법이 사용될 수 있다.
도 19는 다른 실시예에 따른 영상 처리 방법을 나타내는 순서도이다.
도 19를 참조하면, 먼저, S1910 단계에서 영상 처리 장치는 부호화된 비트스트림을 수신한다.
S1920 단계에서 영상 처리 장치는 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보를 획득한다. 일 실시예에 따른 재구성 정보, 다면체 정보 및 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰에 대한 정보는 비트스트림 내의 NAL 유닛의 SEI 파라미터로부터 획득될 수 있으며, 이는 전술한 복원 정보에 대응하는 것일 수 있다.
S1930 단계에서 영상 처리 장치는 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상을 생성한다.
S1940 단계에서 영상 처리 장치는 재구성 정보 및 디렉터 뷰에 대한 정보에 기초하여, 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원한다. S1940 단계에서 영상 처리 장치가 디렉터 뷰 투영 영상을 복원하는 구체적인 과정은 도 18의 S1812 단계 내지 S1818 단계를 통해 전술한 바와 같다.
S1950 단계에서 영상 처리 장치는 다면체 정보에 기초하여, 디렉터 뷰 투영 영상을 다면체로 조립하고 다면체를 역투영하여 역투영 영상을 생성한다. S1950 단계에서 영상 처리 장치가 역투영 영상을 생성하는 구체적인 과정은 도 18의 S1820 단계를 통해 전술한 바와 같다.
도 19에는 도시되지 않았지만, 다른 실시예에 따른 영상 처리 방법은 영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 나타내는 영상 모드에 대한 정보를 수신하는 단계를 더 포함할 수 있다. 다른 실시예에 따른 영상 처리 방법은, 영상 모드에 대한 정보가 전체 모드를 나타내는 경우, 비트스트림을 복호화하여 전방위 구형 영상의 직사각형 영상을 생성하고, 전방위 구형 영상의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 투영 영상을 복원하고, 전방위 구형 영상의 투영 영상을 역투영하여 전방위 구형 영상을 생성할 수 있다. 또한, 다른 실시예에 따른 영상 처리 방법은, 영상 모드에 대한 정보가 디렉터 뷰 모드를 나타내는 경우, 디렉터 뷰 투영 영상을 역투영하여 디렉터 뷰에 따른 영상을 생성할 수 있다.
도 20은 다른 실시예에 따른 영상 처리 장치를 나타내는 블록도이다.
도 20을 참조하면, 영상 처리 장치(2000)는 수신부(2010), 제어부(2020) 및 메모리(2030)를 포함한다. 다른 실시예에 따르면, 영상 처리 장치(2000)는 가상 현실 장치일 수 있다.
수신부(2010)는 부호화된 비트스트림을 수신하는 역할을 수행한다. 이 때, 부호화된 비트스트림에는 직사각형 영상에 대한 데이터가 포함될 수 있다. 또한, 부호화된 비트스트림의 NAL 유닛의 SEI 파라미터에는 복원 정보가 포함될 수 있다. 수신부(2010)는 USB 인터페이스부, DVD 인터페이스부 등 다양한 구성 요소를 포함할 수 있다. 예를 들어, 수신부(2010)가 USB 인터페이스부를 포함하는 경우, 영상 처리 장치(2000)는 영상 파일을 USB로부터 수신할 수도 있다. 나아가, 통신부(미도시)를 통해 외부 장치로부터 영상을 수신하는 경우, 통신부가 수신부(2010)의 역할을 수행하는 것도 가능하다. 이때, 통신부는 유선 또는 무선으로 네트워크와 연결되어 외부 장치와의 통신을 수행할 수 있고, 근거리 통신 모듈, 이동 통신 모듈, 무선 인터넷 모듈, 유선 인터넷 모듈 등을 포함할 수 있다. 또한, 통신부는 하나 이상의 구성 요소를 포함할 수도 있다.
메모리(2030)는 영상 처리 장치(2000)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 메모리(2030)는 휘발성 저장 매체 또는 비휘발성 저장 매체로 구성될 수 있으며, 양 저장 매체의 조합으로 구성될 수도 있다. 휘발성 저장 매체로는 RAM, DRAM, SRAM과 같은 반도체 메모리가 포함될 수 있으며, 비휘발성 저장 매체로는 하드 디스크, 플래시 낸드 메모리가 포함될 수 있다.
다른 실시예에 따른 메모리(2030)는 제어부(2020)의 동작을 위한 데이터를 저장할 수 있다.
제어부(2020)는 영상 처리 장치(2000) 전체의 동작을 제어하며, 메모리(2030)를 제어함으로써 영상을 처리할 수 있다. 제어부(2020)는 영상 처리 장치(2000)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다. 프로세서는 코어와 GPU를 통합한 SoC로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다.
다른 실시예에 따른 제어부(2020)는 직사각형 영상을 획득하고, 직사각형 영상의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 투영 영상을 복원하며, 투영 영상을 다면체로 조립하고, 다면체를 역투영하여 역투영 영상을 생성할 수 있다.
다른 실시예에 따른 제어부(2020)는 도 19를 참조하여 설명한 영상 처리 방법을 수행할 수 있다. 따라서, 중복되는 내용에 대해서는 설명을 생략하기로 한다.
다른 시예에 따른 영상 처리 장치(2000)는 직사각형 영상을 바탕으로 역투영 영상 생성 시, 적은 데이터를 복원함에 따라 적은 전력으로 효율적인 처리가 가능하다.
도 21은 일 실시예에 따라 재구성된 실제 직사각형 영상을 나타내는 도면이다.
도 21에는 크기 및 형태의 비교를 위해 ERP 투영 영상(2110, 2120)과 다면체 투영 영상(2130, 2140)이 모두 도시되어 있다.
도 21을 참조하면 영상(2110)은 전방위 구형 영상을 등장방향으로 투영시킨 ERP 투영 영상을 나타낸다. 또한, 영상(2120)은 ERP 투영 영상 중에서 디렉터 뷰에 포함되지 않는 영역(2125)이 제거된 것을 나타낸다.
한편, 도 21에 도시된 영상(2130)은 전방위 구형 영상을 정20면체에 투영시킨 아이코사히드랄 투영 영상을 나타낸다. 또한, 영상(2140)은 영상(2130) 중에서 디렉터 뷰에 포함되지 않는 영역(2135)을 제거하고 남은 나머지 영역을 다시 직사각형으로 재구성한 것을 나타낸다.
도 21를 참조하면, ERP 투영 영상(2110, 2120)은 다면체 투영 영상(2130, 2140)에 비해 처리해야 하는 면적이 넓으며, 영상 내의 위치에 따라 처리되는 면적이 상이해지는 비선형 특성으로 인해 더 많은 연산량이 요구된다. 그에 반해, 다면체 투영 영상(2130, 2140)은 동일한 모양과 면적을 갖는 다면체를 이용하기 때문에 3차원 공간 영상을 2차원 평면 영상으로 쉽게 변환할 수 있다.
또한, 도 21을 참조하면, 투영된 영상(2130)은 직사각형의 형태를 갖는 영상(2140)은 도 4에 도시된 투영 영상(310)과 동일하게 삼각형이 3개 층으로 쌓여있는 형태임을 알 수 있다.
또한, 도 21을 참조하면, 도 8의 픽셀 이동 과정을 통해 설명한 바와 같이, 직사각형으로 재구성된 영상(2140)에는 픽셀의 이동으로 인해 발생한 불연속적인 경계면이 존재함을 확인할 수 있다.
도 22는 일 실시예에 따른 디렉터 뷰에 대한 정보를 나타내는 파라미터를 도시한다.
도 22를 참조하면, 다양한 파라미터들이 도시되어 있다. 이들은 NAL 유닛의 SEI 파라미터로서, 상기 파라미터들을 통해 디렉터 뷰의 방향 및 크기가 특정될 수 있다. 예를 들어, "vps_offset_rotation", "vps_yaw_clip_flag" 및 "vps_pitch_clip_flag"는 전방위 구형 영상의 일부 영역만을 처리할지 여부를 나타내는 플래그이다. "vps_offset_rotation"가 '1'을 나타내면 디렉터 뷰 영역의 중심, 너비 및 높이에 대한 정보를 각각 나타내는 "yaw_center ", "pitch_center" 및 "roll_center" 가 획득되고, "vps_offset_rotation"가 '0'을 나타내면 디렉터 뷰 모드를 사용하지 않음을 나타낸다. 또한, "vps_yaw_clip_flag"가 '1'을 나타내면 처리되는 영상의 수직 길이를 제한하는 범위를 나타내는 정보인 "yaw_range"가 획득되고, "vps_yaw_clip_flag"가 '0'을 나타내면 영상의 수직 길이가 제한되지 않음을 나타낸다. 또한, "vps_pitch_clip_flag"가 '1'을 나타내면 처리되는 영상의 수평 길이를 제한하는 범위를 나타내는 정보인 "pitch_range"가 획득되고, "vps_pitch_clip_flag"가 '0'을 나타내면 영상의 수평 길이가 제한되지 않음을 나타낸다.
도 23은 일 실시예에 따른 투영 영상들을 나타내는 도면이다.
지금까지는 영상을 투영하기 위한 다면체로 정20면체 또는 정8면체를 사용하는 것을 예로 들어 영상 처리 과정을 설명하였다. 하지만 위에서 설명한 것과 같이 다면체는 정20면체 또는 정8면체에 한정되지 않고, 다양한 형태의 다면체에 영상을 투영하여 영상 처리를 수행하는 것도 가능하다. 도 23에는 다양한 형태의 다면체를 이용한 투영 영상이 도시되어 있다.
도 23을 참조하면, 정8면체를 이용한 투영 영상(2310), 정6면체를 이용한 투영 영상(2320) 및 정18면체를 이용한 투영 영상(2330)이 도시되어 있다. 도 23을 참조하면, 이러한 다면체들은 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다. 이 때, 다면체의 일 면은, 삼각형이 둘 이상 모여 만들어진 다른 다각형으로 구성될 수 있다. 일 실시예에 따르면, 도 23에 도시된 다면체에 한정되지 않고 다양한 형태의 다면체를 이용하여 투영 영상이 생성될 수 있다.
지금까지는 전방위 구형 영상을 효율적으로 부호화, 복호화 및 렌더링하기 위해 디렉터 뷰 영역을 처리하는 과정을 설명하였다. 또한, 이와 함께 다면체 투영 기법을 포함한 투영 영상의 다양한 재구성 방식을 설명하였다. 하지만 위에서 설명한 것과 별개로, 영상 처리의 효율을 높이는 여러 가지 실시예도 이용가능하다. 영상 처리의 효율을 높이는 부수적인 실시예를 이하에서 설명한다. 이하에서 설명하는 실시예는 도 2 내지 도 23에서 설명한 실시예와 함께 복합되어 사용될 수 있다.
도 24는 일 실시예에 따라 사용자의 시야 범위에 기초하여 영상의 복원 품질을 결정하는 방법을 나타내는 도면이다.
본 명세서에서는 효율적인 영상 처리를 위해 전방위 구형 영상 전체를 처리하는 대신, 전방위 구형 영상보다 작은 영역을 나타내는 디렉터 뷰 영상을 처리하는 방법이 개시되어 있다. 그러나, HMD와 같은 가상 현실 장치에서 사용자의 시야 범위(FOV; Field of View)는 디렉터 뷰(예를 들어, 180도x180도) 영상보다 그 범위가 좁을 수 있다. 따라서, 사용자의 시야 범위 내의 영역과 사용자의 시야 범위 외부의 영역을 구별하여 압축 및 복원 품질을 결정한다면 보다 효율적인 영상 처리가 가능하다.
도 24를 참조하면, 사용자의 시야 범위(2410)는 영상 처리 장치가 처리하는 전체 영역의 영상(2400)보다 좁다. 일 실시예에 따라, 영상 처리 장치는 영상(2400) 내의 사용자의 시야 범위(2410)를 분석하여 사용자의 시야 범위(2410)에 해당하는 영역에 대해서는 고품질로 압축 및 복원 동작을 수행할 수 있다. 그리고, 일 실시예에 따른 영상 처리 장치는 영상(2400) 내에서 사용자의 시야 범위(2410)를 벗어나는 영역에 대해서는 저품질로 압축 및 복원 동작을 수행할 수 있다.
도 25는 일 실시예에 따라 원(original) 영상에 인공적인(artificial) 영상을 합성하는 방법을 나타내는 도면이다.
전방위 구형 영상에 있어서, 가상 현실 장치를 착용한 사용자는 자신을 둘러싼 주위 환경을 바라볼 수 있다. 가상 현실 장치를 착용한 사용자는 가상 현실 내에서 시선을 돌리는 경우에도 그에 따른 적절한 영상을 제공받아야 한다. 따라서, 영상 처리 장치는 카메라를 통해 360도x180도의 파노라마 영상을 획득하여야 한다. 그러나, 영상 처리 장치가 전방위 구형 영상을 생성하기 위해 360도x180도의 파노라마 영상을 처리해야 하는 것은 연산량의 부담으로 작용할 수 있다.
한편, 가상 현실 장치를 착용한 사용자의 시선은 수평 방향을 향하는 것이 보통이다. 360도x180도의 파노라마 영상이 획득되는 과정에서 중요한 컨텐츠 또는 사용자의 시선을 이끄는 대상은 영상의 중앙 부분(즉, 수평 방향)에 배치되는 것이 일반적이기 때문이다. 바꿔 말하면, 360도x180도의 파노라마 영상 중에서 사용자의 시선이 위(하늘)로 향하거나 아래(바닥)을 향할 가능성은 상대적으로 낮다. 또한, 하늘 또는 바닥 영역은 컨텐츠의 복잡도가 상대적으로 낮다.
상기와 같은 점을 고려하여, 일 실시예에 따른 영상 처리 장치는 360도x180도 파노라마 영상 중 소정 영역을 인공적인 영상으로 대체할 수 있다. 예를 들어, 영상 처리 장치는 하늘 또는 바닥 영역의 컨텐츠를 제거한 채로 영상을 처리할 수 있다. 이로써, 영상 처리 장치가 처리할 데이터는 줄어들 수 있다. 또한, 영상 복원 시에도 영상 처리 장치는 제거된 영역을 인공적인 영상으로 대체함으로써 간단하게 영상을 복원할 수 있다.
도 25를 참조하면, 360도x180도 파노라마 영상(2500) 중에서 컨텐츠의 대체가 불가능한 영역(2510)을 제외한 나머지 소정 영역(2520, 2530)에 대해서는 원 영상에 인공적인 영상이 합성된다. 이에 따라, 영상 처리 장치는 소정 영역(2520, 2530)에 해당하는 만큼의 영상 데이터 처리를 절약하는 효과를 얻을 수 있게 된다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상과 첨부된 도면을 참조하여 실시예를 설명하였지만, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 일 실시예가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (15)

  1. 전방위(omnidirectional) 구형 영상을 생성하는 단계;
    상기 전방위 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 결정하는 단계;
    다면체의 전개도에 상기 전방위 구형 영상을 투영하여 투영 영상을 생성하는 단계;
    상기 디렉터 뷰에 대한 정보에 기초하여 상기 투영 영상으로부터 상기 디렉터 뷰에 대응하는 디렉터 뷰 투영 영상을 분할(dividing)하는 단계;
    상기 디렉터 뷰 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 상기 디렉터 뷰의 직사각형 영상(rectangular image)으로 재구성(reshaping)하는 단계; 및
    상기 디렉터 뷰의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 포함하는, 영상 처리 방법.
  2. 제 1 항에 있어서,
    상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함하는, 영상 처리 방법.
  3. 제 1 항에 있어서,
    상기 디렉터 뷰에 대한 정보는 상기 비트스트림 내의 NAL(Network Abstraction Layer) 유닛의 SEI(Supplemental Enhancement Information) 파라미터에 포함되는, 영상 처리 방법.
  4. 제 1 항에 있어서,
    상기 다면체는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체인, 영상 처리 방법.
  5. 제 1 항에 있어서,
    상기 투영 영상은,
    아이코사히드랄 투영 영상(icosahedral projection image) 또는 옥타히드랄 투영 영상(octahedral projection image)인, 영상 처리 방법.
  6. 제 5 항에 있어서,
    상기 투영 영상이 상기 아이코사히드랄 투영 영상인 경우,
    상기 재구성하는 단계는,
    각 행(row) 별로 상기 각 행에 포함된 픽셀들의 평행 이동 방향을 결정하는 단계; 및
    상기 결정된 평행 이동 방향에 따라 상기 각 행에 포함된 픽셀들을 위쪽(up) 또는 아래쪽(down) 방향으로 수직 이동시키는 단계를 포함하는, 영상 처리 방법.
  7. 제 5 항에 있어서,
    상기 투영 영상이 상기 옥타히드랄 투영 영상인 경우,
    상기 재구성하는 단계는,
    각 행(row) 별로 상기 각 행에 포함된 픽셀들의 제 1 이동 방향을 결정하는 단계;
    상기 결정된 제 1 이동 방향에 따라 상기 각 행에 포함된 픽셀들을 대각(diagonal) 방향으로 평행 이동시키는 단계;
    각 열(column) 별로 상기 각 열에 포함된 픽셀들의 제 2 이동 방향을 결정하는 단계; 및
    상기 결정된 제 2 이동 방향에 따라 상기 각 열에 포함된 픽셀들을 왼쪽(left) 또는 오른쪽(right) 방향으로 수평 이동시키는 단계를 포함하는, 영상 처리 방법.
  8. 제 1 항에 있어서,
    상기 방법은,
    상기 투영 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 직사각형 영상으로 재구성하는 단계; 및
    상기 전방위 구형 영상의 직사각형 영상을 부호화한 비트스트림을 생성하는 단계를 더 포함하는, 영상 처리 방법.
  9. 제 1 항에 있어서,
    상기 전방위 구형 영상을 생성하는 단계는,
    360도x180도 파노라마 영상을 획득하는 단계; 및
    상기 파노라마 영상 중 소정 영역을 인공적인(artificial) 영상으로 대체하는 단계를 포함하는, 영상 처리 방법.
  10. 부호화된 비트스트림을 수신하는 단계;
    상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하는 단계;
    상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하는 단계;
    상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원하는 단계; 및
    상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 단계를 포함하는, 영상 처리 방법.
  11. 제 10 항에 있어서,
    상기 디렉터 뷰에 대한 정보는, 상기 전방위 구형 영상의 중심으로부터 상기 디렉터 뷰의 중심을 나타내는 방향 벡터, 상기 디렉터 뷰의 수평 길이에 대한 정보 및 상기 디렉터 뷰의 수직 길이에 대한 정보를 포함하는, 영상 처리 방법.
  12. 제 10 항에 있어서,
    상기 디렉터 뷰 투영 영상은,
    아이코사히드랄 투영 영상(icosahedral projection image) 또는 옥타히드랄 투영 영상(octahedral projection image) 중 일부가 분할된 형태를 나타내는, 영상 처리 방법.
  13. 제 10 항에 있어서,
    상기 방법은,
    영상을 전체 모드 또는 디렉터 뷰 모드로 재생할지 여부를 나타내는 영상 모드에 대한 정보를 수신하는 단계;
    상기 영상 모드에 대한 정보가 상기 전체 모드를 나타내는 경우, 상기 비트스트림을 복호화하여 전방위 구형 영상의 직사각형 영상을 생성하고, 상기 전방위 구형 영상의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 전방위 구형 영상의 투영 영상을 복원하고, 상기 전방위 구형 영상의 투영 영상을 역투영하여 상기 전방위 구형 영상을 재생하는 단계; 및
    상기 영상 모드에 대한 정보가 상기 디렉터 뷰 모드를 나타내는 경우, 상기 디렉터 뷰 투영 영상을 역투영하여 상기 디렉터 뷰에 따른 영상을 재생하는 단계를 더 포함하는, 영상 처리 방법.
  14. 제 10 항에 있어서,
    상기 디렉터 뷰의 직사각형 영상 중에서 사용자 디바이스의 시야 범위(Field of View)에 대응하는 영역은 고품질로 복원되고, 상기 사용자 디바이스의 시야 범위를 벗어나는 영역은 저품질로 복원되는, 영상 처리 방법.
  15. 부호화된 비트스트림을 수신하는 수신부;
    상기 비트스트림으로부터 재구성 정보, 다면체 정보 및 전방위(omnidirectional) 구형 영상 중 일부 영역을 나타내는 디렉터 뷰(director’s view)에 대한 정보를 획득하고, 상기 비트스트림을 복호화하여 디렉터 뷰의 직사각형 영상(rectangular image)을 생성하고, 상기 재구성 정보 및 상기 디렉터 뷰에 대한 정보에 기초하여, 상기 디렉터 뷰의 직사각형 영상의 픽셀들 중 적어도 하나의 픽셀의 위치를 이동시켜 디렉터 뷰 투영 영상을 복원하며, 상기 다면체 정보에 기초하여, 상기 디렉터 뷰 투영 영상을 다면체로 조립하고 상기 다면체를 역투영(back-projection)하여 역투영 영상을 생성하는 제어부; 및
    상기 제어부의 동작을 위한 데이터를 저장하는 메모리를 포함하는, 영상 처리 장치.
PCT/KR2017/003997 2017-04-13 2017-04-13 영상 처리 방법 및 장치 WO2018190446A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201780089536.7A CN110520895A (zh) 2017-04-13 2017-04-13 图像处理方法和装置
US16/603,651 US10891711B2 (en) 2017-04-13 2017-04-13 Image processing method and apparatus
PCT/KR2017/003997 WO2018190446A1 (ko) 2017-04-13 2017-04-13 영상 처리 방법 및 장치
KR1020197019238A KR102366258B1 (ko) 2017-04-13 2017-04-13 영상 처리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/003997 WO2018190446A1 (ko) 2017-04-13 2017-04-13 영상 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2018190446A1 true WO2018190446A1 (ko) 2018-10-18

Family

ID=63793350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/003997 WO2018190446A1 (ko) 2017-04-13 2017-04-13 영상 처리 방법 및 장치

Country Status (4)

Country Link
US (1) US10891711B2 (ko)
KR (1) KR102366258B1 (ko)
CN (1) CN110520895A (ko)
WO (1) WO2018190446A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021194483A1 (en) * 2020-03-25 2021-09-30 Alcacruz Inc. Generating a representation of a spherical image
US11303931B2 (en) 2020-06-10 2022-04-12 Mediatek Inc. Method and apparatus for processing projection-based frame having projection faces packed in hemisphere cubemap projection layout with face packing constraints
CN112543345B (zh) * 2020-12-02 2023-01-06 深圳创维新世界科技有限公司 图像处理方法、发送端、接收端以及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060257049A1 (en) * 2002-12-03 2006-11-16 Dan Lelescu Representation and coding of panoramic and omnidirectional images
US20140132598A1 (en) * 2007-01-04 2014-05-15 Hajime Narukawa Method of mapping image information from one face onto another continous face of different geometry
KR20150129548A (ko) * 2014-05-12 2015-11-20 (주)헥스하이브 전 방위 평면 이미지를 생성하는 방법 및 장치
KR20160125708A (ko) * 2015-04-22 2016-11-01 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치
KR20170017700A (ko) * 2015-08-07 2017-02-15 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2424601A (en) 1944-01-25 1947-07-29 Joel E Crouch Icosahedral map
US7656403B2 (en) 2005-05-13 2010-02-02 Micoy Corporation Image processing and display
US10397585B2 (en) * 2015-06-08 2019-08-27 Qualcomm Incorporated Processing high dynamic range and wide color gamut video data for video coding
JP6667231B2 (ja) * 2015-08-31 2020-03-18 キヤノン株式会社 情報処理装置、画像処理装置、情報処理システム、情報処理方法、及びプログラム。
US10096130B2 (en) * 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
WO2017175888A1 (ko) 2016-04-05 2017-10-12 삼성전자 주식회사 이미지 처리 방법 및 장치
US11551602B2 (en) * 2016-09-01 2023-01-10 Innovega Inc. Non-uniform resolution, large field-of-view headworn display

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060257049A1 (en) * 2002-12-03 2006-11-16 Dan Lelescu Representation and coding of panoramic and omnidirectional images
US20140132598A1 (en) * 2007-01-04 2014-05-15 Hajime Narukawa Method of mapping image information from one face onto another continous face of different geometry
KR20150129548A (ko) * 2014-05-12 2015-11-20 (주)헥스하이브 전 방위 평면 이미지를 생성하는 방법 및 장치
KR20160125708A (ko) * 2015-04-22 2016-11-01 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치
KR20170017700A (ko) * 2015-08-07 2017-02-15 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법

Also Published As

Publication number Publication date
CN110520895A (zh) 2019-11-29
US10891711B2 (en) 2021-01-12
KR20190130556A (ko) 2019-11-22
US20200118241A1 (en) 2020-04-16
KR102366258B1 (ko) 2022-02-22

Similar Documents

Publication Publication Date Title
WO2020145668A1 (ko) 3차원 컨텐츠의 처리 및 전송 방법
WO2018048286A1 (en) Method and apparatus for transmitting and reproducing content in virtual reality system
WO2018048288A1 (en) Method and apparatus for transmitting and receiving virtual reality content
WO2018217057A1 (ko) 360 비디오 처리 방법 및 그 장치
WO2016048017A1 (en) Transmission of three-dimensional video
WO2020189982A1 (ko) 포인트 클라우드 데이터 처리 장치 및 방법
WO2018070810A1 (ko) 가상 현실 영상을 처리하는 방법 및 장치
WO2017175910A1 (ko) 이미지 처리 방법 및 장치
WO2019245302A1 (en) Method for transmitting 360-degree video, method for providing a user interface for 360-degree video, apparatus for transmitting 360-degree video, and apparatus for providing a user interface for 360-degree video
WO2018190446A1 (ko) 영상 처리 방법 및 장치
WO2019098728A1 (ko) 3차원 영상을 처리하는 방법 및 장치
WO2018128247A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2021141400A1 (en) Attribute transfer in v-pcc
WO2020050577A1 (ko) 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
EP3724858A1 (en) Method and apparatus for managing immersive data
WO2018043905A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2021066575A1 (en) Decision-making rules for attribute smoothing
WO2019198943A1 (en) Wearable display apparatus and method of displaying three-dimensional images thereon
WO2017026705A1 (ko) 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
WO2021194307A1 (ko) 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018070793A1 (en) Method, apparatus, and recording medium for processing image
WO2019194571A1 (en) Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video
WO2019013384A1 (ko) 영역 기반 360도 비디오를 전송하는 방법, 영역 기반 360도 비디오를 수신하는 방법, 영역 기반 360도 비디오 전송 장치, 영역 기반 360도 비디오 수신 장치
WO2018174531A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019083119A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 회전 파라미터를 사용한 영상 디코딩 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20197019238

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17905233

Country of ref document: EP

Kind code of ref document: A1