WO2017175910A1 - 이미지 처리 방법 및 장치 - Google Patents

이미지 처리 방법 및 장치 Download PDF

Info

Publication number
WO2017175910A1
WO2017175910A1 PCT/KR2016/005289 KR2016005289W WO2017175910A1 WO 2017175910 A1 WO2017175910 A1 WO 2017175910A1 KR 2016005289 W KR2016005289 W KR 2016005289W WO 2017175910 A1 WO2017175910 A1 WO 2017175910A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
pixels
projection image
pixel
polyhedron
Prior art date
Application number
PCT/KR2016/005289
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 US16/089,224 priority Critical patent/US10825133B2/en
Priority to CN201680084366.9A priority patent/CN109074677B/zh
Priority to KR1020187025485A priority patent/KR102493124B1/ko
Priority to EP16898014.2A priority patent/EP3416138B1/en
Publication of WO2017175910A1 publication Critical patent/WO2017175910A1/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/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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
  • 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, a 360 degree image. Therefore, interest in processing such 360 degree images is increasing along with interest in virtual reality devices.
  • the 360-degree image processing method according to the prior art has a problem in 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. Therefore, there is a need for an image processing method and apparatus that can provide more efficient and higher quality images.
  • One embodiment provides an image processing method and apparatus. More specifically, the present invention provides an image processing method and apparatus capable of providing more efficient and high quality images.
  • a high quality 360 degree image can be efficiently provided.
  • 1 is a diagram illustrating a 360 degree image.
  • FIG. 2 is a flowchart illustrating an image processing method, according to an exemplary embodiment.
  • FIG. 3 is a diagram illustrating a process of projecting an acquired image onto a polyhedron according to an exemplary embodiment.
  • FIG. 4 is a diagram illustrating a projection image, according to an exemplary embodiment.
  • FIG. 5 is a flowchart illustrating a rectangular image reconstruction method according to an embodiment.
  • FIG. 6 is a diagram illustrating a rectangular image reconstruction method, according to an exemplary embodiment.
  • FIG. 7 is a diagram illustrating horizontal movement of a pixel, according to an exemplary embodiment.
  • FIG. 8 is a diagram illustrating a horizontal shift result of a pixel, according to an exemplary embodiment.
  • FIG. 9 is a diagram illustrating vertical movement of pixels according to an exemplary embodiment.
  • FIG. 10 is a diagram illustrating a result of vertical movement of pixels according to an exemplary embodiment.
  • FIG. 11 is a diagram illustrating an actual rectangular image reconstructed according to an embodiment.
  • FIG. 12 is a flowchart illustrating a rectangular image reconstruction method according to another embodiment.
  • FIG. 13 is a diagram illustrating a rectangular image reconstruction method according to another embodiment.
  • FIG. 14 is a flowchart illustrating movement of pixels according to another exemplary embodiment.
  • 15 is a diagram illustrating vertical movement of pixels according to another exemplary embodiment.
  • 16 is a view illustrating a rectangular image reconstruction method according to another embodiment.
  • 17 is a diagram illustrating a reference line setting process according to another embodiment.
  • FIG. 18 is a flowchart of an image processing apparatus, according to an exemplary embodiment.
  • 19 is a flowchart illustrating an image processing method, according to another exemplary embodiment.
  • 20 is a flowchart illustrating a process of selecting a projection image reconstruction method, according to an exemplary embodiment.
  • 21 is a flowchart illustrating a method of recovering a projected image, according to an exemplary embodiment.
  • 22 is a flowchart illustrating a method of recovering a projected image, according to another exemplary embodiment.
  • FIG. 23 is a flowchart of an image processing apparatus, according to another exemplary embodiment.
  • 24 is a diagram illustrating projection images according to an exemplary embodiment.
  • 25 and 26 illustrate generating a projection image according to one embodiment.
  • FIG. 27 is a diagram illustrating a rectangular image reconstruction method, according to an embodiment.
  • FIG. 28 is a flowchart illustrating a rectangular image reconstruction method, according to another embodiment.
  • 29 is a diagram illustrating a rectangular image reconstruction method, according to another embodiment.
  • 30 and 31 are diagrams illustrating movement of pixels according to another exemplary embodiment.
  • FIG. 32 is a diagram illustrating a rectangular image reconstruction method according to another embodiment.
  • 33 and 34 are diagrams illustrating movement of pixels according to another exemplary embodiment.
  • 35 is a view illustrating a rectangular image reconstruction method according to another embodiment.
  • 36 is a diagram illustrating movement of pixels according to another embodiment.
  • FIG. 37 is a diagram illustrating a rectangular image reconstruction method, according to another embodiment.
  • 38 is a diagram illustrating movement of pixels according to another embodiment.
  • an image processing method includes: obtaining images for at least two directions, generating the projection image by projecting the images onto a polyhedron, and positioning a position of at least one pixel among the pixels of the projection image. Moving to reshaping into a rectangular image and processing the rectangular image.
  • an image processing method includes: obtaining a rectangular image, reconstructing a projection image by shifting a position of at least one pixel among pixels of the rectangular image, and assembling the projection image into a polyhedron, Back-projecting the polyhedron to generate a backprojected image.
  • an image processing apparatus obtains images for at least two directions, generates projection images by projecting the images onto a polyhedron, and moves positions of at least one pixel among pixels of the projection image.
  • a memory configured to reconstruct a rectangular image and to control processing of the rectangular image, and to store data for the operation of the controller.
  • part when a part is “connected” to another part, this includes not only “directly connected” but also “electrically connected” with another element in between. .
  • any part of the specification is to "include” any component, which means that it may further include other components, except to exclude other components unless otherwise stated.
  • the term “part” as used herein refers to a hardware component, such as software, FPGA or ASIC, and “part” plays certain roles. 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”.
  • 1 is a diagram illustrating a 360 degree image.
  • the 360 degree image is an image 120 representing an environment surrounding a specific position 360 degrees around the specific position 110.
  • an image representing the surrounding environment surrounding the user 360 degrees in the virtual reality may be a 360 degree image.
  • the virtual reality device may provide a 360 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.
  • FIG. 2 is a flowchart illustrating an image processing method, according to an exemplary embodiment.
  • 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 obtain images for 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 the image to the image processing device, and the image processing device may acquire images for at least two directions by receiving the image.
  • the image processing apparatus generates the projection image by projecting the images onto the polyhedron.
  • the image processing apparatus may project the images to the area of the developed view corresponding to the area of the polyhedron.
  • the image processing apparatus may project the images projected on the polyhedron to at least one plane outside the polyhedron when generating the projection image. 3, 4, 25, and 26 illustrate a process of generating a projection image.
  • FIG. 3 is a diagram illustrating a process of projecting an acquired image onto a polyhedron according to an exemplary embodiment.
  • 3A is an image 310 of at least two directions obtained in step 210.
  • the present invention is not limited thereto, and various types of images, such as images of front, rear, left, right, up, and down, may be obtained.
  • 3B is a diagram in which the acquired image 310 is projected onto the polyhedron 320.
  • Figure 3 (b) is a diagram showing a tetrahedron on which the acquired image 310 is projected using a tetrahedron as the polyhedron 320.
  • the polyhedron 320 may be a polyhedron 320 composed of at least one or more triangles having the same shape and area.
  • one surface of the polyhedron 320 may be formed of another polygon made of two or more triangles.
  • a square formed by combining two or more of the same triangles may form one surface of the polyhedron 320.
  • FIG. 4 is a diagram illustrating a projection image, according to an exemplary embodiment.
  • a projection image 410 generated by projecting an image 310 acquired on a developed view of the icosahedron shown in FIG. 3B.
  • the projection image 410 may be the same as the developed view in which the icosahedron on which the acquired image 310 is projected.
  • the projection image may be an icosahedral projection image generated using an icosahydral projection technique.
  • 3 and 4 illustrate an image processing process using an example of projecting the acquired image 310 onto a tetrahedron.
  • the polyhedron is not limited to the tetrahedron, and it is also possible to perform image processing by projecting the obtained image onto various polyhedrons such as octahedron and tetrahedron.
  • it is not limited to using the developed view of a polyhedron, and it is possible to generate a projection image using various methods, such as using the projection of a polyhedron.
  • 25 and 26 illustrate generating a projection image according to an embodiment.
  • FIG. 25 (a) shows an octahedron 2510 on which an acquired image is projected using an octahedron instead of a tetrahedron
  • FIG. 25 (c) is a tetrahedron.
  • FIG. 25 (b) shows a projected image 2520 generated by projecting an image obtained on an expanded view of the octahedron shown in FIG. 25 (a), and FIG. 25 (d) is shown in FIG. 25 (c).
  • the projection image 2540 generated by projecting the acquired image onto the developed view of the illustrated tetrahedron is shown.
  • the projection image 2540 of FIG. 25D may be the same as the developed view in which the octahedron on which the acquired image is projected is unfolded.
  • the projection image may be generated by projecting an image projected on the polyhedron onto at least one plane outside the polyhedron.
  • the acquired image is projected on the octahedron 2610, and the image on the upper four sides of the image projected on the octahedron 2610 is mirrored.
  • the projection 2630 of the octahedron 2610 may be obtained by projecting it again on at least one plane 2620 on the upper surface.
  • the image on the lower four sides of the image projected on the octahedron 2610 is projected again to at least one plane below the octahedron so that the octahedron ( Other projections of 2610 may be obtained.
  • a projection image 2640 including two projections of the octahedron 2610 may be generated.
  • the generated projection image may be processed as it is without reconstruction into a rectangular image.
  • the image processing apparatus repositions at least one of the pixels of the projection image 410 to a rectangular image. Since the projection image 410 is a two-dimensional image in which the polyhedron 320 is unfolded, as shown in FIG. 4, there is a margin that is not related to the 360-degree image 310. 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 has to process, resulting in lower processing efficiency.
  • the process of reconstructing the projection image 410 into a rectangular image is a process of reducing unnecessary space to be processed by the image processing apparatus by reducing such a margin.
  • 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 rectangular image when reconstructing the projection image 410 into a rectangular image, the rectangular image may be generated by moving only the position of the pixel without deleting the pixel or adding a new pixel. That is, the rectangular image may be generated by simply moving the position of the pixel without changing the total number of pixels and the pixel data of the projection image 410. Thus, the area of the reconstructed rectangular image and the projection image 410 is the same. According to one embodiment, in reconstructing the projected image 410 into a rectangular image, only the position of the pixel is moved, and the total number of pixels and the pixel data are the same, so that if the positional movement history of the pixel or only the original position of the pixel is known, The image can be easily restored to the projection image 410.
  • a rectangular image when reconstructing a projection image into a rectangular image, a rectangular image may be generated by moving a pixel of the projection image and adding a margin. For example, as shown in Figs. 27 (a) to 27 (c), the pixels of the projection image generated using the exploded view of the icosahedron or octahedron are moved around the projected image after the pixels are moved. At least one margin 2710, 2720, and 2730 may be added to the rectangle to generate a rectangular image.
  • a rectangular image when reconstructing a projection image into a rectangular image, a rectangular image may be generated by adding a margin without shifting pixels of the projected image. For example, as shown in Fig.
  • a rectangular image is added by adding at least one margin 2740 around the projection image without shifting the pixels of the projection image generated using the exploded view of the tetrahedron. Can be generated. If the reconstructed rectangular image includes a margin, the area of the reconstructed rectangular image and the projected image may be different.
  • a direction of parallel movement of pixels included in each row is determined for each row, and the left end of each row is determined according to the determined parallel movement direction.
  • the pixels included in each row may be horizontally shifted left or right so that the pixels are sequentially filled from the left edge or the right edge.
  • the vertical movement direction of the pixels included in each column is determined for each column, and the upper end of each column is determined according to the determined vertical movement direction.
  • the pixels included in each column may be vertically moved up or down in each column so that the pixels are sequentially filled from the top edge or the bottom edge.
  • 5-11 illustrate an embodiment showing a method of reconstructing the projected image 410 into a rectangular image through the vertical and horizontal movement of pixels and the result thereof.
  • FIG. 5 is a flowchart illustrating a rectangular image reconstruction method according to an embodiment
  • FIG. 6 is a diagram illustrating a rectangular image reconstruction method according to an embodiment.
  • the image processing apparatus selects one row on a plane on which the projection image 410 is shown.
  • the row where the pixel located at the top of the projection image 410 may be the x-axis.
  • the image processing apparatus determines whether the number of the selected row is less than or equal to the set value.
  • a projection image is shown in FIG. 6A.
  • the projection image shown in FIG. 6 (a) has a shape in which triangles are stacked in three layers.
  • the set value may be set to 2/3 of the total row length.
  • this is only an example, and various standards may be set according to the example.
  • the image processing apparatus may move pixels included in the selected row to be sequentially filled with pixels from the left end of the selected row in step 530. If it is determined that the number of the selected row is greater than or equal to the set value in step 520, the image processing apparatus may move pixels included in the selected row to fill the pixels sequentially from the right end of the selected row in step 540. .
  • step 550 the image processing apparatus determines whether there is a row that is not selected, and when there is a row that is not selected, the process returns to step 510 and repeats the above process.
  • Steps 510 to 550 are processes for reconstructing the projection image shown in FIG. 6A into the image shown in FIG. 6B, and will be described in more detail with reference to FIGS. 7 and 8.
  • FIG. 7 is a diagram illustrating a horizontal shift of a pixel, according to an exemplary embodiment.
  • FIG. 8 is a diagram illustrating a horizontal shift of a pixel, according to an exemplary embodiment.
  • each triangle constituting the projection image includes 9 pixels, and each pixel represented by the rectangle has respective pixel data.
  • the row including the pixel located at the top is called the x-axis, and the row number increases as the row goes downward.
  • the setting is set to the full row length, i.e., 2/3 of the height of the projected image, pixels from the left end 710 of each row sequentially for rows with row numbers less than or equal to 2/3 of the total row length You can shift the pixels in each row to the left so that it fills.
  • pixels included in each row may be shifted to the left so that the pixels having row numbers greater than 2/3 of the total row length are sequentially filled from the right end (not shown) of each row.
  • the rows above the row including the pixels having pixel data of a, f, g, h, i, j, s, x, y, z, 1, 2 are leftward, 3, 4, 5 Rows above a row containing pixels with pixel data of, 6, 7, #, $,%, ⁇ , & can be moved to the right.
  • FIG. 8 shows the result of the shifting of the pixels.
  • the shift result shown in FIG. 8 is for explaining a horizontal shift of a pixel according to an exemplary embodiment. It is assumed that only pixels displayed to have pixel data in FIG. 7 are shifted, and the shift result is shown. Since the projection image shown in FIG. 6A is composed of a larger number of triangles than shown in FIG. 7, the result of the horizontal shift of the actual pixel may be different from that shown in FIG. 8. For example, the top row may have an additional pixel on the right side besides two pixels with pixel data of A and J. Also, pixels included in the lower three rows in which the pixels move to the right may be further moved to the right end not shown in FIG. 8.
  • the projection image shown in FIG. 6 (a) may be reconstructed into the image shown in FIG. 6 (b).
  • the image processing apparatus determines whether there are no rows selected, and when there are no rows selected, the image processing apparatus proceeds to step 560 and selects one column on the plane on which the projection image is shown.
  • the y-axis may be a row where the leftmost pixel of the projection image is located.
  • the image processing apparatus may move the pixels included in the selected column upward so that the pixels are sequentially filled from the upper end of the selected column.
  • 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 560 and repeats the above process. If it is determined in step 580 that there are no columns selected, the reconstruction of the rectangular image is completed.
  • Steps 560 to 580 are processes for reconstructing the reconstructed projection image shown in FIG. 6 (b) into the rectangular image shown in FIG. 6 (c), and will be described in more detail with reference to FIGS. 9 and 10.
  • FIG. 9 is a diagram illustrating a vertical movement of pixels according to an embodiment
  • FIG. 10 is a diagram illustrating a vertical movement result of pixels according to an embodiment.
  • the image processing apparatus may move pixels included in each column upward so that pixels are sequentially filled from the upper end 910 of each column. Therefore, the columns on the right side of the column including the pixels having pixel data of D, G, U, Z, g, and 3 may be moved upward.
  • a column containing pixels with pixel data of A, B, E, S, X, a and a column containing pixels with pixel data of J, C, F, T, Y, f are already sequentially from the top Pixels are filled and do not move.
  • a column containing pixels that do not move will be described again below.
  • the result of the shift of the pixels is shown in FIG.
  • the shift result shown in FIG. 10 is for explaining a vertical shift of a pixel according to an exemplary embodiment, and illustrates a result of vertical shift based on the horizontal shift result shown in FIG. 8. Therefore, the result of the horizontal shift of the actual pixel may be different from that shown in FIG.
  • the vertical shifting process of pixels illustrated in steps 560 to 580 and FIGS. 9 and 10 describes a process of shifting the pixels included in the selected column so that the pixels are sequentially filled from the upper end of the selected column. have.
  • this is only an example, and it is also possible to move the pixels included in the selected column downward so that the pixels are sequentially filled from the lower end of the selected column.
  • adjacent pixels in the reconstructed rectangular image may have continuous pixel data.
  • the pixel with pixel data of A and the pixel with pixel data of J in FIG. 7 are pixels that were located adjacent in the polyhedron before generating the projection image 410. That is, the projection image 410 is a polyhedron 320, so that in the projection image 410, a pixel having pixel data of A and a pixel having pixel data of J are physically separated, but the original two pixels are polyhedral. At 320, the pixels were located adjacent to one vertex.
  • pixel data A and J are likely to have continuous data.
  • continuous data refers to data that gradually change without a sudden change in data value.
  • image processing continuous data can be processed faster and more efficiently than discrete data. Adjacent pixels of the reconstructed rectangular image are likely to have continuous pixel data, allowing for fast and efficient processing.
  • the projection image shown in FIG. 6 (b) may be reconstructed into the image shown in FIG. 6 (c).
  • FIG. 11 is a diagram illustrating an actual rectangular image reconstructed according to an embodiment.
  • FIG. 11 is an actual rectangular image reconstructed through the method described with reference to FIGS. 5 to 10. Referring to FIG. 11, it can be seen that the rectangular image may be reconfigured to have a shape in which pixels are concentrated at the upper left and the lower right similarly to FIG. 6 (c).
  • a plurality of pixels including pixels constituting a first boundary of the projection image may include pixels constituting the first boundary. It may be moved to be connected to the second boundary line which is the opposite boundary line connected to the boundary line.
  • 12 to 15 and 28 to 38 illustrate a plurality of pixels including pixels constituting the first boundary of the projection image, and a second boundary line that is an opposite boundary where pixels constituting the first boundary are connected to the first boundary.
  • a specific embodiment is shown for reconstructing a rectangular image by moving to connect.
  • the projection image may be generated by using a development view of an octahedron or an octahedron, and the first boundary line and the second boundary line may both be composed of a plurality of lines, and the reference point may be set by Moving the plurality of pixels away from the reference point may be repeated.
  • FIG. 12 is a flowchart illustrating a rectangular image reconstruction method according to another embodiment
  • FIG. 13 is a diagram illustrating a rectangular image reconstruction method according to another embodiment.
  • the image processing apparatus sets a reference point.
  • a reference point is a standard for distinguishing pixels to be moved and pixels not to be moved.
  • one-tenth of the horizontal length may be set as the reference point based on the entire row length, ie, the left end of the projection image.
  • the image processing apparatus selects one column on the plane in which the projection image is shown.
  • the image processing apparatus determines that the column number of the selected column is smaller than the column number of the reference point by comparing the selected column with the reference point, the image processing apparatus moves the pixels included in the selected column to the opposite side of the reference point.
  • the plurality of pixels including pixels constituting the first boundary of the projection image may be moved to be connected to a second boundary, which is an opposite boundary connecting the first boundary with the pixels constituting the first boundary. have.
  • step 1230 If it is determined in step 1230 that the column number of the selected column is greater than or equal to the column number of the reference point, the image processing apparatus proceeds directly to step 1250.
  • the image processing apparatus determines whether there is an unselected column, and when there is an unselected column, the image processing apparatus returns to step 1220 and repeats the above process.
  • Steps 1210 to 1250 are processes for reconstructing the projection image shown in FIG. 13A into the image shown in FIG. 13B, and will be described in more detail with reference to FIG. 14.
  • FIG. 14 is a flowchart illustrating movement of pixels according to another exemplary embodiment.
  • a 1/10 point of the horizontal length may be set as the reference point 1410 based on the left end of the projection image.
  • the pixels 1420 having column numbers smaller than the column numbers of the reference point are moved to the opposite sides of the reference point.
  • the pixels constituting the first boundary line 1430 may be moved to be connected to the second boundary line 1440 which is the opposite boundary line connected to the first boundary line.
  • the first boundary line 1430 and the second boundary line 1440 are lines forming one corner in the polyhedron 320 before generating the projection image 410. That is, since the projection image 410 is a polyhedron 320, the first boundary line 1430 and the second boundary line 1440 are physically separated from the projection image 410, but in the original polyhedron 320, one The line that forms the edge of the. Therefore, even if the plurality of pixels including the pixels constituting the first boundary line are moved to be connected to the second boundary line, which is the opposite boundary line connecting the first boundary line, the pixels in the projection image 410 are changed. There is only a difference in which point the projection image 410 is represented based on the point.
  • the image processing apparatus determines whether there are no rows selected, and when there are no rows selected, the image processing apparatus proceeds to step 1260 and selects one column on the plane on which the projection image is shown.
  • Steps 1260 to 1280 perform the same process as those of step 560 to 580 of FIG. 5. Therefore, overlapping content will be briefly described.
  • the image processing apparatus may move the pixels included in the selected column upward so that the pixels are sequentially filled from the upper end of the selected column.
  • 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 1280 and repeats the above process.
  • Steps 1260 to 1280 are processes for reconstructing the reconstructed projection image shown in FIG. 13B into the rectangular image shown in FIG. 13C, and will be described in more detail with reference to FIG. 15.
  • 15 is a diagram illustrating vertical movement of pixels according to another exemplary embodiment.
  • the image processing apparatus may move pixels included in each column upward so that pixels are sequentially filled from the upper end 1510 of each column. There may be a column containing pixels which are already filled with pixels from the top and are not moved. A column containing pixels that do not move will be described again below.
  • the projection image shown in FIG. 13B may be reconstructed into the image shown in FIG. 13C.
  • FIG. 28 is a flowchart illustrating a rectangular image reconstruction method, according to another embodiment.
  • the image processing apparatus sets a reference point.
  • a predetermined point may be set as a reference point.
  • the image processing apparatus selects one row on the plane on which the projection image is shown.
  • the image processing apparatus compares the selected row with the reference point and determines that the selected row is in the moving direction with respect to the reference point, the image processing apparatus moves to step 2840 to move the pixels included in the selected row to the opposite side of the reference point.
  • the plurality of pixels including pixels constituting the first boundary of the projection image may be moved to be connected to a second boundary, which is an opposite boundary connecting the first boundary with the pixels constituting the first boundary. have.
  • step 2830 determines in step 2830 that the selected row is not in the moving direction with respect to the reference point. If the image processing apparatus determines in step 2830 that the selected row is not in the moving direction with respect to the reference point, the image processing apparatus proceeds directly to step 2850. In operation 2850, the image processing apparatus determines whether there is an unselected row, and when there is an unselected row, the process returns to step 2820 and repeats the above process.
  • Steps 2810 to 2850 reconstruct the projection image shown in Fig. 29 (a) into the image shown in Fig. 29 (b) or 29 (d) or the projection image shown in Fig. 32 (a) as shown in Fig. 32 (a). b) or as a process for reconstructing the image shown in FIG. 32 (d), will be described in more detail with reference to FIGS. 30 to 31 and 33 to 34.
  • the projection image may be generated using an exploded view of an octahedron or an octahedron.
  • a third point of the vertical length may be set as the reference point 3010 based on the lower end of the projection image.
  • the pixels in the moving direction with respect to the reference point 3010 that is, the pixels below the reference point 3010, move to the opposite side of the reference point.
  • the pixels constituting the first boundary line 3020 may be moved to be connected to the second boundary line 3030 which is an opposite boundary line connected to the first boundary line.
  • both the first boundary line 3020 and the second boundary line 3030 may be composed of a plurality of lines.
  • a third point of the vertical length may be set as the reference point 3110 based on the upper end of the projection image.
  • the pixels in the moving direction with respect to the reference point 3110 that is, the pixels above the reference point 3110, are moved to the opposite sides of the reference point.
  • the pixels constituting the first boundary line 3120 may be moved to be connected to the second boundary line 3130, which is the opposite boundary line connected to the first boundary line.
  • both the first boundary line 3120 and the second boundary line 3130 may be formed of a plurality of lines.
  • one-half point of the vertical length of the projection image may be set as reference points 3310 and 3410.
  • the pixels in the moving direction with respect to the reference point are moved to the opposite side of the reference point.
  • the pixels constituting the first boundary lines 3320 and 3420 may be moved to be connected to the second boundary lines 3330 and 3430, which are opposite boundary lines connected to the first boundary lines.
  • both the first boundary lines 3320 and 3420 and the second boundary lines 3330 and 3430 may be formed of a plurality of lines.
  • the image processing apparatus After the pixels of the projection image are moved in steps 2810 to 2850, the image processing apparatus generates a rectangular image by adding a margin in step 2860.
  • the image shown in FIGS. 29 (b) and 29 (d) may be reconstructed into the image shown in FIGS. 29 (c) and 29 (e), respectively, or FIGS. 32 (b) and 32 (d).
  • This is a process for reconstructing the image shown in FIGS. 32 (c) and 32 (e), respectively.
  • a rectangular image may be generated by adding a margin after pixels of the projection image are moved.
  • 35 and 37 are diagrams illustrating a rectangular image reconstruction method, according to another embodiment.
  • it may be repeated to set a reference point and move the plurality of pixels opposite the reference point.
  • the process of reconstructing the image shown in FIG. 35 (a) into the image shown in FIG. 35 (b) is the same as the process of reconstructing the image shown in FIG. 13 (a) into the image shown in FIG.
  • the process of reconstructing the image shown in FIG. 37 (a) into the image shown in FIG. 37 (b) is the same as the process of reconstructing the image shown in FIG. 32 (a) into the image shown in FIG. 32 (b).
  • the description of the process is omitted.
  • a process of generating the rectangular image shown in FIGS. 35 (c) and 37 (c) will be described in more detail with reference to FIGS. 36 and 38.
  • 36 and 38 are diagrams illustrating movement of pixels according to another exemplary embodiment.
  • a third point of the vertical length may be set as the reference point 3610 based on the lower end of the projection image.
  • pixels having a row number smaller than the row number of the reference point are moved to the opposite side of the reference point.
  • the pixels constituting the first boundary line 3620 may be moved to be connected to the second boundary line 3630, which is an opposite boundary line connected to the first boundary line.
  • both the first boundary line 3620 and the second boundary line 3630 may include a plurality of lines.
  • a point 1/10 of a horizontal length may be set as the reference point 3810 based on the left end of the projection image.
  • pixels having a column number smaller than the column number of the reference point are moved to the opposite side of the reference point.
  • the pixels constituting the first boundary line 3820 may be moved to be connected to the second boundary line 3830, which is an opposite boundary line connected to the first boundary line.
  • a plurality of reference lines may be set in the projection image, and pixels may be moved based on the plurality of reference lines.
  • 5 to 15 illustrate the contents of moving pixels so that pixels are sequentially filled with any one of the left end, the right end, the upper end, and the lower end when the pixel moves. have.
  • a plurality of reference lines may be set to move the pixels so that the pixels are sequentially filled based on each reference point. It demonstrates with reference to FIG. 16 and FIG.
  • FIG. 16 is a diagram illustrating a rectangular image reconstruction method according to another embodiment
  • FIG. 17 is a diagram illustrating a process of setting a baseline according to another embodiment.
  • FIG. 16 (b) is a diagram in which one reference line is moved
  • FIG. 16 (b) is a diagram in which each reference line is moved.
  • a plurality of reference lines 1710, 1720, 1730, 1740, 1750, and 1760 are set.
  • the upper two layers in FIG. 17 move pixels leftward relative to the left baseline of each triangle, and the lower one layer is moved by one tenth of the horizontal length as a whole, and then the right reference line. You can move the pixel to the right based on the.
  • the projection image shown in FIG. 16 (a) may be reconstructed into the image shown in FIG. 16 (b).
  • the process of reconstructing the image shown in FIG. 16 (b) into the rectangular image shown in FIG. 16 (c) is a vertical movement process of the pixels, and thus description thereof will not be repeated.
  • the image processing apparatus may determine whether to move at least one pixel when reconstructing a rectangular image, and determine a movement direction of at least one pixel when determining that the at least one pixel is moved. It is not always necessary to move all the pixels, so if you decide to move a pixel first, and decide to move the pixel, you decide the direction of movement of the pixel. For example, in FIG.
  • a column including pixels having pixel data of A, B, E, S, X and a and a column including pixels having pixel data of J, C, F, T, Y and f are already included. Pixels are filled sequentially from the top and do not need to be moved.
  • the pixel movement method according to an embodiment may be applied in various ways. For example, it is possible to apply vertical movement after horizontal movement, and to move pixels opposite the reference point after vertical 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 positioning the pixels.
  • the image processing apparatus processes the rectangular image.
  • the data to be processed may be reduced by reconstructing the projection image into a rectangular image in operation 230, and the adjacent pixels of the reconstructed rectangular image may have continuous pixel data, thereby enabling more efficient processing.
  • the process of processing the rectangular image may include compression, rendering, and the like.
  • the image processing method may further include generating reconstruction information required to reconstruct the processed rectangular image into the projection image.
  • the reconstruction information may include the position movement history of the pixel and / or information related to the original position of the pixel. As described above, the rectangular image can be easily restored to the projection image 410 as long as only the positional movement history of the pixel and / or the original position of the pixel can be obtained.
  • the image processing method may further include transmitting the processed rectangular image and the reconstruction information. By transmitting the processed rectangular image and the reconstruction information together, the processed rectangular image on the receiving side can be easily reconstructed into the projection image 410.
  • the data to be processed is reduced by reconstructing the projection image into a rectangular image, and adjacent pixels of the reconstructed rectangular image are more likely to have continuous pixel data, thereby enabling more efficient processing.
  • FIG. 18 is a flowchart of an image processing apparatus, according to an exemplary embodiment.
  • the image processing apparatus 1800 may include a controller 1810 and a memory 1820. According to an embodiment, the image processing apparatus 1800 may be a virtual reality device.
  • the controller 1810 may control an operation of the entire image processing apparatus 1800 and may process an image by controlling the memory 1820.
  • the controller 1810 stores a signal or data input from the outside of the image processing apparatus 1800, 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 1810 acquires images in at least two directions, generates the projection image by projecting the images onto a polyhedron, and moves the rectangle by moving the position of at least one pixel among the pixels of the projection image. You can reconstruct the image and process the rectangular image.
  • the controller 1810 may perform the image processing method described with reference to FIGS. 2 to 17. Duplicate content will be briefly explained here.
  • the controller 1810 may project the images to the area of the developed view corresponding to the area of the polyhedron when the images are projected onto the polyhedron. According to another exemplary embodiment, the controller 1810 may project the images projected on the polyhedron to at least one plane outside the polyhedron when the projection image is generated.
  • the controller 1810 may generate the rectangular image by moving only the position of the pixel without deleting the pixel or adding a new pixel.
  • the controller 1810 may generate a rectangular image by moving at least one pixel of the projection image and adding at least one margin.
  • the controller 1810 determines the parallel movement direction of the pixels included in each row for each row, and the left side of each row according to the determined parallel movement direction. Pixels included in each row can be horizontally shifted left or right so that pixels are sequentially filled from the end or the right end.
  • the controller 1810 may determine a vertical movement direction of pixels included in each column for each column when the projection image 410 is reconstructed into a rectangular image, and the upper portion of each column according to the determined vertical movement direction. The pixels included in each column may be vertically moved upward or downward for each column so that the pixels are sequentially filled from the end or the bottom end.
  • the controller 1810 may include a plurality of pixels including pixels constituting the first boundary of the projection image when the rectangular image is reconstructed, and an opposite boundary line where the pixels constituting the first boundary are connected to the first boundary. It may be moved to be connected to the second boundary line.
  • the controller 1810 may set a plurality of reference lines in the projection image and move pixels based on the plurality of reference lines when reconstructing a rectangular image.
  • the controller 1810 may determine whether to move at least one pixel when reconstructing a rectangular image, and determine a movement direction of at least one pixel when determining that at least one pixel is moved.
  • the controller 1810 may generate reconstruction information required to reconstruct a rectangular image into the projection image.
  • the controller 1810 may control to transmit the processed rectangular image and the reconstruction information.
  • the controller 1810 may reduce unnecessary data to be processed by the image processing apparatus by reconstructing the projection image into a rectangular image.
  • the memory 1820 stores a program and data necessary for the operation of the image processing apparatus 1800.
  • the memory 1820 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 1820 may store data for the operation of the controller 1810.
  • the image processing apparatus 1800 may further include a camera unit, a receiver, a transmitter, and the like.
  • the camera unit may photograph an 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 processed rectangular image and the reconstruction information.
  • the receiver and the transmitter may include a communication unit.
  • the image processing apparatus 1800 may reduce data to be processed, process an image such that adjacent pixels have continuous pixel data, reduce power required for data processing, and increase processing efficiency.
  • 19 is a flowchart illustrating an image processing method, according to another exemplary embodiment.
  • An image processing method is a method of restoring a processed rectangular image to a 360 degree image 310.
  • the image processing apparatus acquires a rectangular image.
  • the rectangular image obtains images 310 for at least two directions, projects the images 310 onto a development view of the polyhedron 320, and generates a projection image 410, and the projection image 410 It may be an image generated by reconstructing a rectangular image by moving the position of at least one pixel among the pixels of the. That is, the rectangular image acquired in step 1910 may be an image generated by the image processing method illustrated in FIGS. 2 to 17.
  • the image processing apparatus reconstructs the projection image 410 by shifting positions of at least one pixel among the pixels of the rectangular image.
  • the process of restoring the rectangular image to the projection image 410 may be performed in the reverse order of the process of reconstructing the projection image 410 illustrated in FIGS. 2 to 17 into a rectangular image.
  • an image processing method may include receiving reconstruction information required to reconstruct a rectangular image into the projection image 410.
  • the projection image 410 may be restored based on the restoration information. That is, the restoration method may be determined based on the received restoration information.
  • a process of determining a restoration method based on the restoration information received in FIG. 20 is illustrated.
  • 20 is a flowchart illustrating a process of selecting a projection image reconstruction method, according to an exemplary embodiment.
  • the image processing apparatus determines a restoration method based on restoration information.
  • the image processing apparatus may determine one reconstruction method from at least one reconstruction method. If the image processing apparatus determines the restoration method as the method A in step 2010, the method proceeds to step 2020 to restore the projection image using the method A, and when the restoration method is determined as the method B, proceeds to step 2030 and the method B To restore the projection image using the method, and if the restoration method is determined by another method, the process proceeds to step 2040 to restore the projection image using the 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 restoration method will be described through specific embodiments.
  • 21 is a flowchart illustrating a method of recovering a projected image, according to an exemplary embodiment.
  • FIG. 21 illustrates a method of reconstructing a rectangular image reconstructed by the method shown in FIG. 5 into a projection image 410.
  • the process of restoring the rectangular image into the projection image 410 is performed in the reverse order of the process of reconstructing the projection image 410 into the rectangular image.
  • the image processing apparatus selects one column on a plane on which a rectangular image is shown.
  • the image processing apparatus may move the pixels of the selected column downward. At this time, the pixels included in the selected column are not moved to the bottom end but to the original position. This is a restoration process of the projection image 410, which is a natural process for restoring the original image.
  • step 2130 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 2110 and repeats the above process. If it is determined in step 2130 that no heat is selected, the flow proceeds to step 2140.
  • the image processing apparatus selects one row on the plane on which the projection image 410 is shown.
  • the image processing apparatus determines whether the number of the selected row is less than or equal to the set value. If it is determined in step 2150 that the number of the selected row is less than or equal to the set value, the image processing apparatus may proceed to step 2160 to move the pixels included in the selected row to the right. If it is determined that the number of the row selected in step 2150 is greater than or equal to the set value, the image processing apparatus may move the pixels included in the selected row to the left in step 2170.
  • the image processing apparatus determines whether there is an unselected row, and when there is an unselected row, the process returns to step 2140 and repeats the above process. If it is determined in step 2180 that there are no rows selected, the restoration of the projection image 410 is completed.
  • 22 is a flowchart illustrating a method of recovering a projected image, according to another exemplary embodiment.
  • FIG. 22 illustrates a method for reconstructing a rectangular image reconstructed by the method shown in FIG. 12 into a projection image.
  • steps 2210 to 2230 are the same as steps 2110 to 2230 of FIG. 21.
  • the image processing apparatus selects one column on a plane on which a rectangular image is shown.
  • the image processing apparatus may move the pixels of the selected column downward.
  • the image processing apparatus selects a pixel.
  • the image processing apparatus determines whether the selected pixel is a pixel moved beyond the reference point. If it is determined that the pixel selected in step 2250 is the pixel moved beyond the reference point, the image processing apparatus moves to the opposite side of the reference point in step 2260. That is, the pixel is restored to its original position.
  • step 2250 If the image processing apparatus determines that the selected pixel is not the pixel moved beyond the reference point in step 2250, the image processing apparatus proceeds directly to step 2270.
  • the image processing apparatus determines whether there is a non-selected pixel, and when there is a non-selected pixel, the process returns to step 2270 and repeats the above process.
  • the restoration of the projection image is completed.
  • the method of restoring the reconstructed rectangular image into the projection image according to the exemplary embodiment described with reference to FIGS. 21 and 22 is just one embodiment, and various reconstruction methods may be used according to the method of reconstructing the rectangular image.
  • the image processing apparatus restores the projection image to the polyhedron and back-projections the polyhedron to generate the back-projection image.
  • the reverse projection image may be an image representing a surrounding environment surrounding a specific location.
  • the projected image when the projected image is generated by projecting the images onto an area of a development view corresponding to an area of the polyhedron when the images are projected onto the polyhedron, the projected image may be restored to the polyhedron by assembling the projected image.
  • the projection image when the projection image is generated by projecting images projected on the polyhedron to at least one plane outside the polyhedron, the projection image may be restored to a polyhedron by three-dimensionalizing the projection image.
  • the image processing apparatus may generate an image representing all or part of the surrounding environment surrounding a specific location.
  • a reverse projection image of the 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 eyes of the user.
  • the reverse projection image may be an image representing the entire environment around the user. That is, the reverse projection image may be a 360 degree image.
  • the image processing apparatus may efficiently process the image by reconstructing the projection image by using a rectangular image having less data in operation 1920.
  • the image processing method when generating the reverse projection image based on the processed rectangular image, it is possible to efficiently process with less power by restoring less data.
  • FIG. 23 is a flowchart of an image processing apparatus, according to another exemplary embodiment.
  • the image processing apparatus 2300 may include a receiver 2310, a memory 2320, and a controller 2330.
  • the image processing apparatus 2300 may be a virtual reality device. In addition, it may be the same device as the image processing apparatus 1800 illustrated in FIG. 18.
  • the receiver 2310 serves to receive a rectangular image.
  • the received rectangular image may be an image processed rectangular image.
  • the receiver 2310 may include various components such as a USB interface unit and a DVD interface unit.
  • the image processing apparatus 2300 may receive an image file from the USB.
  • 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 2320 stores a program and data necessary for the operation of the image processing apparatus 2300.
  • the memory 2320 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 2320 may store data for the operation of the controller 2330.
  • the controller 2330 may control an operation of the entire image processing apparatus 2300 and may process an image by controlling the memory 2320.
  • the controller 2330 stores a signal or data input from the outside of the image processing apparatus 2300, a RAM used as a storage area corresponding to various operations performed by the 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 2330 acquires a rectangular image, restores the projection image by shifting the position of at least one pixel among the pixels of the rectangular image, restores the projection image to a polyhedron, and reverse-projects the polyhedron to reverse the polyhedron.
  • the rectangular image obtains images 310 for at least two directions, and projects the images 310 onto a development view of the polyhedron 320 to produce a projection image 410 and pixels of the projection image.
  • the image may be an image generated by moving a position of at least one of the pixels to reconstruct the rectangular image. That is, the rectangular image acquired in step 1910 may be an image generated by the image processing method illustrated in FIGS. 2 to 17.
  • the projected image when the projected image is generated by projecting the images onto an area of a development view corresponding to an area of the polyhedron when the images are projected onto the polyhedron, the projected image may be restored to the polyhedron by assembling the projected image.
  • the projection image when the projection image is generated by projecting images projected on the polyhedron to at least one plane outside the polyhedron, the projection image may be restored to a polyhedron by three-dimensionalizing the projection image.
  • the controller 2330 may perform the image processing method described with reference to FIGS. 19 to 22. Duplicate content will be briefly explained here.
  • the controller 2330 may receive the restoration information necessary to restore the rectangular image to the projection image by controlling the receiver 2310 and restore the projection image based on the received restoration information when the projection image is restored. can do.
  • the image processing apparatus 2300 may efficiently process with little power when restoring less data when generating the reverse projection image based on the rectangular image.
  • the polyhedron 320 is not limited to the tetrahedron, and it is also possible to perform image processing by projecting the obtained image 310 onto the polyhedron 320 having various shapes.
  • 24 illustrates a projection image generated by using various types of polyhedrons 320.
  • 24 is a diagram illustrating projection images according to an exemplary embodiment.
  • FIG. 24 (a) shows an octahedron
  • FIGS. 24 (b) and (c) show a cube
  • (d) shows a projection image that can be generated by projecting the acquired image 310 onto an octahedron.
  • such polyhedrons 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.
  • FIG. 24 (c) is a cube in which each surface is formed of a quadrangle formed by combining two triangles.
  • the projection image may be generated using various types of polyhedrons without being limited to the polyhedrons shown in FIG. 24.
  • 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

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

적어도 둘 이상의 방향에 대한 이미지들을 획득하는 단계, 다면체의 전개도에 상기 이미지들을 투영하여 투영 이미지를 생성하는 단계, 상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지(rectangular image)로 재구성(reshaping)하는 단계 및 상기 직사각형 이미지를 처리하는 단계를 포함하는 이미지 처리 방법이 개시된다.

Description

이미지 처리 방법 및 장치
본 발명은 가상 이미지 처리 방법 및 장치에 관한 것이다.
최근 가상 현실 관련 기술과 장치가 발전함에 따라, 이를 활용한 가상 현실 장치들이 각광받고 있다. 이러한 가상 현실(Virtual Reality, VR) 장치는 엔터테인먼트, 교육, 사무, 의료 등 다양한 분야에 폭넓게 적용되고 있다.
가상 현실 장치에 디스플레이 되는 가상 현실 이미지는 가상 현실 디스플레이 장치를 착용한 사용자의 시선에 따라 움직이게 되므로, 가상 현실 이미지는 사용자를 둘러싼 주변의 모든 이미지를 포함하여야 한다. 즉, 가상 현실 장치에서 제공하는 가상 현실 이미지는 사용자를 기준으로 주변 모든 방향에 해당하는 이미지, 즉, 360도 이미지이다. 따라서, 가상 현실 장치에 대한 관심과 함께 이러한 360도 이미지의 처리에 대한 관심이 높아지고 있다.
종래 기술에 따른 360도 이미지 처리 방법은 이미지 크기가 커 처리 효율이 떨어지고 전력 소모가 많으며, 이미지의 일부가 유실되어 품질이 떨어질 수 있다는 문제가 있다. 따라서, 보다 효율적이고 고품질의 이미지를 제공할 수 있는 이미지 처리 방법 및 장치가 필요하다.
일 실시예는 이미지 처리 방법 및 장치를 제공한다. 보다 구체적으로, 보다 효율적이고 고품질의 이미지를 제공할 수 있는 이미지 처리 방법 및 장치를 제공한다.
일 실시예에 따르면, 효율적으로 고품질의 360도 이미지를 제공할 수 있다.
도 1은 360도 이미지를 나타내는 도면이다.
도 2는 일 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 3은 일 실시예에 따라 획득한 이미지를 다면체에 투영하는 과정을 나타내는 도면이다.
도 4는 일 실시예에 따른 투영 이미지를 나타내는 도면이다.
도 5는 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 순서도이다.
도 6은 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 7은 일 실시예에 따른 픽셀의 수평 이동을 나타내는 도면이다.
도 8은 일 실시예에 따른 픽셀의 수평 이동 결과를 나타내는 도면이다.
도 9은 일 실시예에 따른 픽셀의 수직 이동을 나타내는 도면이다.
도 10은 일 실시예에 따른 픽셀의 수직 이동 결과를 나타내는 도면이다.
도 11은 일 실시예에 따라 재구성된 실제 직사각형 이미지를 나타내는 도면이다.
도 12는 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 순서도이다.
도 13은 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 14는 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 순서도이다.
도 15는 다른 일 실시예에 따른 픽셀의 수직 이동을 나타내는 도면이다.
도 16은 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 17은 또 다른 일 실시예에 따른 기준선 설정 과정을 나타내는 도면이다.
도 18은 일 실시예에 따른 이미지 처리 장치를 나타내는 순서도이다.
도 19는 다른 일 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 20은 일 실시예에 따른 투영 이미지 복원 방법 선택하는 과정을 나타내는 순서도이다.
도 21은 일 실시예에 따른 투영 이미지 복원 방법을 나타내는 순서도이다.
도 22는 다른 일 실시예에 따른 투영 이미지 복원 방법을 나타내는 순서도이다.
도 23은 다른 실시예에 따른 이미지 처리 장치를 나타내는 순서도이다.
도 24는 일 실시예에 따른 투영 이미지들을 나타내는 도면이다.
도 25 및 26은 일 실시예에 따라 투영 이미지의 생성하는 것을 나타내는 도면이다.
도 27은 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 28은 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 순서도이다.
도 29는 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 30 및 도 31은 또 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 도면이다.
도 32는 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 33 및 도 34는 또 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 도면이다.
도 35는 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 36은 또 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 도면이다.
도 37은 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 38은 또 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 도면이다.
일 실시예에 따른 이미지 처리 방법은, 적어도 둘 이상의 방향에 대한 이미지들을 획득하는 단계, 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하는 단계, 상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지(rectangular image)로 재구성(reshaping)하는 단계 및 상기 직사각형 이미지를 처리하는 단계를 포함한다.
다른 일 실시예에 따른 이미지 처리 방법은, 직사각형 이미지를 획득하는 단계, 상기 직사각형 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 투영 이미지를 복원하는 단계 및 상기 투영 이미지를 다면체로 조립하고, 상기 다면체를 역투영(back-projection)하여 역투영 이미지를 생성하는 단계를 포함한다.
일 실시예에 따른 이미지 처리 장치는, 적어도 둘 이상의 방향에 대한 이미지들을 획득하고, 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하며, 상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하고, 상기 직사각형 이미지를 처리하도록 제어하는 제어부 및 상기 제어부의 동작을 위한 데이터를 저장하는 메모리를 포함한다.
일 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 일 실시예는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 일 실시예의 개시가 완전하도록 하고, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 일 실시예는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 일 실시예의 실시예에 대하여 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 일 실시예는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 일 실시예를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
일 실시예에서 사용되는 용어는 일 실시예에서의 기능을 고려하면서 가능한 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 일 실시예에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 일 실시예의 전반에 걸친 내용을 토대로 정의되어야 한다.
도 1은 360도 이미지를 나타내는 도면이다.
도 1에 도시한 바와 같이 360도 이미지는 특정 위치(110)를 중심으로 하여 특정 위치를 360도로 둘러싼 주위 환경을 나타내는 이미지(120)이다. 사용자가 가상 현실 장치를 착용하는 경우, 가상 현실 내에서 사용자를 360도로 둘러싼 주위 환경을 나타내는 이미지가 360도 이미지가 될 수 있다. 가상 현실 장치는 360도 이미지를 사용자에게 제공하여, 가상 현실 장치를 착용한 사용자가 가상 현실 내에서 이동하거나 시선을 돌리는 경우에도 그에 따른 적절한 이미지를 제공할 수 있다.
도 2는 일 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 2를 참조하면, 먼저, 210 단계에서 이미지 처리 장치는 적어도 둘 이상의 방향에 대한 이미지들을 획득한다. 일 실시예에 따르면, 이미지 처리 장치는 카메라를 통해 이미지 처리 장치를 둘러싼 주위 환경을 촬영함으로써 적어도 둘 이상의 방향에 대한 이미지들을 획득할 수 있다. 이때, 이미지 처리 장치는 적어도 하나 이상의 카메라를 통해 이미지 처리 장치를 둘러싼 주위 환경을 촬영할 수 있다. 일 실시예에 따르면, 카메라는 이미지 처리 장치에 포함된 구성 요소일 수도 있고, 이미지 처리 장치와 별개의 장치로 구성될 수도 있다. 또한, 이미지 처리 장치는 카메라를 이용하여 파노라마 방식으로 주위 환경을 촬영할 수도 있고, 전, 후, 좌, 우, 상, 하 등 각 방향을 각각 촬영할 수도 있다.
또한, 일 실시예에 따르면, 이미지 처리 장치는 외부 장치로부터 이미지를 수신함으로써 적어도 둘 이상의 방향에 대한 이미지들을 획득할 수도 있다. 즉, 외부 장치가 주위 환경을 촬영하거나 가상의 이미지를 생성하여, 이미지 처리 장치로 이미지를 전송하고, 이미지 처리 장치는 이를 수신함으로써 적어도 둘 이상의 방향에 대한 이미지들을 획득할 수도 있다.
그 후, 220 단계에서 이미지 처리 장치는 다면체에 상기 이미지들을 투영하여 투영 이미지(projection image)를 생성한다. 일 실시예에 따르면, 이미지 처리 장치는 투영 이미지 생성 시, 이미지들을 다면체에 투영하는 경우 다면체의 영역에 대응되는 전개도의 영역에 이미지들을 투영할 수 있다. 다른 실시예에 따르면, 이미지 처리 장치는 투영 이미지 생성 시, 상기 다면체 외부의 적어도 하나의 평면에, 상기 다면체에 투영된 상기 이미지들을 투영할 수 있다. 도 3, 도 4, 도 25, 및 도 26에 투영 이미지를 생성하는 과정이 도시되어 있다.
도 3은 일 실시예에 따라 획득한 이미지를 다면체에 투영하는 과정을 나타내는 도면이다.
도 3(a)는 210 단계에서 획득한 적어도 둘 이상의 방향에 대한 이미지(310)이다. 도 3(a)에서는 구 형태의 이미지를 획득한 것으로 도시하였으나, 이에 한정되지 않고, 전, 후, 좌, 우, 상, 하 방향의 이미지 등 다양한 형태의 이미지가 획득될 수 있다. 도 3(b)는 획득한 이미지(310)를 다면체(320)에 투영한 도면이다. 특히, 도 3(b)는 다면체(320)로 정20면체를 사용하여, 획득한 이미지(310)가 투영된 정20면체를 나타내는 도면이다. 일 실시예에 따르면, 다면체(320)는 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체(320)일 수 있다. 이때, 다면체(320)의 일 면은, 삼각형이 둘 이상 모여 만들어진 다른 다각형으로 구성될 수 있다. 예를 들어, 동일한 삼각형이 둘 이상 합쳐져 만들어지는 사각형이 다면체(320)의 일 면을 구성할 수도 있다.
도 4는 일 실시예에 따른 투영 이미지를 나타내는 도면이다.
도 4를 참조하면, 도 3(b)에 도시된 정20면체를 전개한 전개도에 획득한 이미지(310)를 투영하여 생성된 투영 이미지(410)를 나타내고 있다. 투영 이미지(410)는 획득한 이미지(310)가 투영된 정20면체를 펼쳐놓은 전개도와 동일할 수 있다. 일 실시예에 따르면, 투영 이미지는 아이코사히드랄 투영 기법을 이용하여 생성된 아이코사히드랄 투영 이미지(icosahedral projection image)일 수 있다.
도 3 및 도 4에서는 획득한 이미지(310)를 정20면체에 투영하는 것을 예로 들어 이미지 처리 과정을 설명하였다. 하지만, 위에서 설명한 것과 같이 다면체는 정20면체에 한정되지 않고, 획득한 이미지를 정8면체 및 정4면체와 같은 다양한 형태의 다면체에 투영하여 이미지 처리를 수행하는 것도 가능하다. 또한, 다면체의 전개도를 사용하는 것에 한정되지 않고, 다면체의 투상도를 사용하는 것과 같은 다양한 방법을 사용하여 투영 이미지를 생성하는 것이 가능하다.
도 25 및 26은 일 실시예에 따라 투영 이미지를 생성하는 것을 나타내는 도면이다.
도 25(a)는 다면체로 정20면체를 사용하는 대신 정8면체를 사용하여, 획득한 이미지가 투영된 정8면체(2510)를 나타내는 도면이고, 도 25(c)는 다면체로 정4면체를 사용하여, 획득한 이미지가 투영된 정4면체(2530)를 나타내는 도면이다. 도 25(b)는 도 25(a)에 도시된 정8면체를 전개한 전개도에 획득한 이미지를 투영하여 생성된 투영 이미지(2520)를 나타내고, 도 25(d)는 도 25(c)에 도시된 정4면체를 전개한 전개도에 획득한 이미지를 투영하여 생성된 투영 이미지(2540)를 나타낸다. 도 25(b)의 투영 이미지(2520)는 획득한 이미지가 투영된 정8면체를 펼쳐놓은 전개도와 동일할 수 있다. 도 25(d)의 투영 이미지(2540)는 획득한 이미지가 투영된 정8면체를 펼쳐놓은 전개도와 동일할 수 있다.
일 실시예에 따르면, 다면체 외부의 적어도 하나의 평면에, 다면체에 투영된 이미지를 투영함으로써 투영 이미지가 생성될 수 있다. 예를 들어, 도 26(a)에 도시된 바와 같이, 획득한 이미지가 정8면체(2610)에 투영되고, 정8면체(2610)에 투영된 이미지 중 상측의 4개의 면 상의 이미지가 정8면체 상부에 있는 적어도 하나의 평면(2620)에 재차 투영됨으로써 정8면체(2610)의 투상도(2630)가 획득될 수 있다. 또한, 도 26(a)에 도시되지는 않았으나, 정8면체(2610)에 투영된 이미지 중 하측의 4개의 면 상의 이미지가 정8면체 하부에 있는 적어도 하나의 평면에 재차 투영됨으로써 정8면체(2610)의 다른 투상도가 획득될 수 있다. 그 결과, 도 26(b)에 도시된 바와 같이, 정8면체(2610)의 2개의 투상도를 포함하는 투영 이미지(2640)가 생성될 수 있다. 일 실시예에 따르면, 생성된 투영 이미지가 도 26(b)에 도시된 투영 이미지(2640)와 같이 직사각형 형상인 경우, 직사각형 이미지로 재구성할 필요 없이, 생성된 투영 이미지를 그대로 처리할 수 있다.
다시, 도 2의 설명으로 돌아오면, 230 단계에서 이미지 처리 장치는 투영 이미지(410)의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지(rectangular image)로 재구성(reshaping)한다. 투영 이미지(410)는 다면체(320)를 전개한 2차원 이미지인 바, 도 4에서 볼 수 있듯이, 360도 이미지(310)와 관련 없는 여백이 존재한다. 이러한 여백은 도면 상에서는 여백에 불과하지만, 이미지 처리 과정에 있어서는 처리해야 할 데이터에 해당한다. 따라서, 여백이 많을수록 이미지 처리 장치가 처리해야 할 데이터가 많아져 처리 효율이 떨어지게 된다. 투영 이미지(410)를 직사각형 이미지로 재구성하는 과정은 이러한 여백을 줄여 이미지 처리 장치가 처리해야 할 불필요한 데이터를 줄여주는 과정이다.
일 실시예에 따르면, 픽셀의 위치를 이동시킨다는 의미는 픽셀 데이터의 이동을 의미한다. 즉, 물리적인 픽셀의 이동이 아니라, 특정 픽셀의 픽셀 데이터를 다른 픽셀의 픽셀 데이터로 저장하는 것이다.
일 실시예에 따르면, 투영 이미지(410)를 직사각형 이미지로 재구성 시, 픽셀의 삭제 또는 새로운 픽셀의 추가 없이, 픽셀의 위치만을 이동시켜 직사각형 이미지를 생성할 수 있다. 즉, 투영 이미지(410)의 전체 픽셀 개수 및 픽셀 데이터의 변경 없이, 단순히 픽셀의 위치만 이동시켜 직사각형 이미지를 생성할 수 있다. 따라서, 재구성된 직사각형 이미지와 투영 이미지(410)의 면적은 동일하다. 일 실시예에 따르면, 투영 이미지(410)를 직사각형 이미지로 재구성하는데 있어서 픽셀의 위치만 이동되고, 전체 픽셀 개수와 픽셀 데이터는 동일한 바, 픽셀의 위치 이동 내역 또는 픽셀의 원래 위치만을 알 수 있으면 직사각형 이미지를 쉽게 투영 이미지(410)로 복원할 수 있다.
일 실시예에 따르면, 투영 이미지를 직사각형 이미지로 재구성 시, 투영 이미지의 픽셀을 이동시킨 후 여백을 추가하여 직사각형 이미지를 생성할 수 있다. 예를 들어, 도 27(a) 내지 도 27(c)에 도시된 바와 같이, 정20면체 또는 정8면체의 전개도를 사용하여 생성된 투영 이미지의 픽셀을 이동시킨 후 픽셀이 이동된 투영 이미지 주위에 적어도 하나의 여백(2710,2720,2730)을 추가하여 직사각형 이미지를 생성할 수 있다. 다른 일 실시예에 따르면, 투영 이미지를 직사각형 이미지로 재구성 시, 투영 이미지의 픽셀 이동없이 여백을 추가하여 직사각형 이미지를 생성할 수 있다. 예를 들어, 도 27(d)에 도시된 바와 같이, 정4면체의 전개도를 사용하여 생성된 투영 이미지의 픽셀을 이동시키지 않고 투영 이미지 주위에 적어도 하나의 여백(2740)을 추가하여 직사각형 이미지를 생성할 수 있다. 재구성된 직사각형 이미지가 여백을 포함하는 경우, 재구성된 직사각형 이미지와 투영 이미지의 면적은 상이할 수 있다.
일 실시예에 따르면, 투영 이미지(410)를 직사각형 이미지로 재구성 시, 각 행(row) 별로 상기 각 행에 포함된 픽셀들의 평행 이동 방향을 결정하고, 결정된 평행 이동 방향에 따라 각 행의 왼쪽 끝(left edge) 또는 오른쪽 끝(right edge)으로부터 순차적으로 픽셀이 채워지도록 각 행 별로 각 행에 포함된 픽셀들을 왼쪽(left) 또는 오른쪽(right)으로 수평 이동 시킬 수 있다. 또한, 일 실시예에 따르면, 투영 이미지(410)를 직사각형 이미지로 재구성 시, 각 열(column) 별로 상기 각 열에 포함된 픽셀들의 수직 이동 방향을 결정하고, 결정된 수직 이동 방향에 따라 각 열의 위쪽 끝(top edge) 또는 아래쪽 끝(bottom edge)으로부터 순차적으로 픽셀이 채워지도록 각 열 별로 상기 각 열에 포함된 픽셀들을 위쪽(up) 또는 아래쪽(down)으로 수직 이동 시킬 수 있다.
구체적인 실시예를 통해 픽셀의 수직 이동 및 수평 이동을 설명하도록 한다. 도 5 내지 도 11은 픽셀의 수직 이동 및 수평 이동을 통해 투영 이미지(410)를 직사각형 이미지로 재구성하는 방법 및 그 결과를 나타내는 실시예가 도시되어 있다.
도 5는 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 순서도이고, 도 6은 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 5를 참조하면, 먼저, 510 단계에서 이미지 처리 장치는 투영 이미지(410)가 도시된 평면 상에서 하나의 행을 선택한다. 이때, 투영 이미지(410)의 가장 위쪽에 있는 픽셀이 위치한 행이 x축이 될 수 있다.
그 후, 520 단계에서 이미지 처리 장치는 선택한 행의 번호가 설정값 이하인지 여부를 판단한다. 도 6을 참조하면, 도 6(a)에 투영 이미지를 도시하고 있다. 도 6(a)에 도시된 투영 이미지는 삼각형이 3개 층으로 쌓여있는 형태이다. 일 실시예에 따르면, 위에 2개층을 한쪽 방향으로 이동 시키고 아래 1개 층을 반대 방향으로 이동 시키기 위하여, 설정값을 전체 행 길이의 2/3로 설정할 수 있다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준을 설정할 수 있다.
520 단계에서 선택한 행의 번호가 설정값 이하라고 판단하는 경우, 이미지 처리 장치는 530 단계로 진행하여 선택한 행의 왼쪽 끝으로부터 순차적으로 픽셀이 채워지도록 선택한 행에 포함된 픽셀들을 왼쪽으로 이동 시킬 수 있다. 520 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 이미지 처리 장치는 540 단계로 진행하여 선택한 행의 오른쪽 끝으로부터 순차적으로 픽셀이 채워지도록 선택한 행에 포함된 픽셀들을 오른쪽으로 이동 시킬 수 있다.
그 후, 550 단계에서 이미지 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, 510 단계로 되돌아가 위 과정을 반복한다.
510 단계 내지 550 단계는 도 6(a)에 도시된 투영 이미지를 도 6(b)에 도시된 이미지로 재구성하기 위한 과정으로, 도 7 및 도 8을 참조하여 보다 상세히 설명하도록 한다.
도 7은 일 실시예에 따른 픽셀의 수평 이동을 나타내는 도면이고, 도 8은 일 실시예에 따른 픽셀의 수평 이동 결과를 나타내는 도면이다.
도 7을 참조하면, 일 실시예에 따른 투영 이미지를 구성하는 각 삼각형은 9개의 픽셀을 포함하고, 사각형으로 표시된 각 픽셀은 각각의 픽셀 데이터를 갖는다. 가장 위쪽에 위치한 픽셀을 포함하는 행을 x축이라하고, 아래쪽으로 갈수록 행 번호가 증가한다고 설정할 수 있다. 설정값을 전체 행 길이, 즉, 투영 이미지의 높이의 2/3로 설정하는 경우, 전체 행 길이의 2/3 이하의 행 번호를 갖는 행들에 대하여 각 행의 왼쪽 끝(710)으로부터 순차적으로 픽셀이 채워지도록 각 행에 포함된 픽셀들을 왼쪽으로 이동 시킬 수 있다. 또한, 전체 행 길이의 2/3 를 초과하는 행 번호를 갖는 행들에 대하여 각 행의 오른쪽 끝(미도시)으로부터 순차적으로 픽셀이 채워지도록 각 행에 포함된 픽셀들을 왼쪽으로 이동시킬 수 있다.
따라서, 도 7에서 a, f, g, h, i, j, s, x, y, z, 1, 2 의 픽셀 데이터를 갖는 픽셀들이 포함된 행 위쪽의 행들은 좌측으로, 3, 4, 5, 6, 7, #, $, %, ^, & 의 픽셀 데이터를 갖는 픽셀들이 포함된 행 위쪽의 행들은 우측으로 이동 시킬 수 있다.
도 8에 픽셀들의 이동 결과가 도시되어 있다. 도 8에서 도시하는 이동 결과는 일 실시예에 따른 픽셀의 수평 이동을 설명하기 위한 것으로, 도 7에서 픽셀 데이터를 갖도록 표시된 픽셀들만 이동한 것을 가정하고, 그 수평 이동 결과를 도시한 것이다. 도 6(a)에 도시된 투영 이미지는 도 7에 도시된 것보다 많은 수의 삼각형으로 구성되는 바, 실제 픽셀의 수평 이동 결과는 도 8에 도시한 것과 달리질 수 있다. 예를 들어, 가장 위에 위치한 행은 A, J 의 픽셀 데이터를 갖는 2개의 픽셀 외에 오른쪽에 추가로 픽셀이 위치할 수 있다. 또한, 픽셀들이 오른쪽으로 이동한 아래 3개 행에 포함된 픽셀들은 도 8에 도시되지 않은 오른쪽 끝으로 더 이동될 수 있다.
일 실시예에 따르면, 위에서 설명한 것과 같은 과정을 통해 도 6(a)에 도시된 투영 이미지는 도 6(b)에 도시된 이미지로 재구성될 수 있다.
550 단계에서 이미지 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하지 않는 경우, 560 단계로 진행하여 투영 이미지가 도시된 평면 상에서 하나의 열을 선택한다. 이때, 투영 이미지의 가장 왼쪽에 있는 픽셀이 위치한 행이 y축이 될 수 있다.
570 단계에서 이미지 처리 장치는 선택한 열의 위쪽 끝으로부터 순차적으로 픽셀이 채워지도록 선택한 열에 포함된 픽셀들을 위쪽으로 이동 시킬 수 있다.
580 단계에서 이미지 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, 560 단계로 되돌아가 위 과정을 반복한다. 580 단계에서 선택하지 않은 열이 존재하지 않는다고 판단하는 경우, 직사각형 이미지의 재구성이 완료된 것이다.
560 단계 내지 580 단계는 도 6(b)에 도시된 재구성된 투영 이미지를 도 6(c)에 도시된 직사각형 이미지로 재구성하기 위한 과정으로, 도 9 및 도 10을 참조하여 보다 상세히 설명하도록 한다.
도 9은 일 실시예에 따른 픽셀의 수직 이동을 나타내는 도면이고, 도 10은 일 실시예에 따른 픽셀의 수직 이동 결과를 나타내는 도면이다.
도 9을 참조하면, 이미지 처리 장치는 각 열의 위쪽 끝(910)으로부터 순차적으로 픽셀이 채워지도록 각 열에 포함된 픽셀들을 위쪽으로 이동 시킬 수 있다. 따라서, D, G, U, Z, g, 3 의 픽셀 데이터를 갖는 픽셀들이 포함된 열의 오른쪽에 있는 열들은 모두 위쪽으로 이동 시킬 수 있다. A, B, E, S, X, a의 픽셀 데이터를 갖는 픽셀들이 포함된 열 및 J, C, F, T, Y, f의 픽셀 데이터를 갖는 픽셀들이 포함된 열은 이미 가장 위쪽부터 순차적으로 픽셀이 채워져 있어 이동하지 않는다. 이동하지 않는 픽셀들을 포함하는 열에 대해서는 아래에서 다시 설명하도록 한다.
도 10에 픽셀들의 이동 결과가 도시되어 있다. 도 10에서 도시하는 이동 결과는 일 실시예에 따른 픽셀의 수직 이동을 설명하기 위한 것으로, 도 8에서 도시한 수평 이동 결과를 바탕으로 수직 이동한 결과를 도시한 것이다. 따라서, 실제 픽셀의 수평 이동 결과는 도 10에 도시한 것과 달리질 수 있다.
일 실시예에 따라 560 단계 내지 580 단계, 도 9 및 도 10에서 도시하는 픽셀의 수직 이동 과정은 선택한 열의 위쪽 끝으로부터 순차적으로 픽셀이 채워지도록 선택한 열에 포함된 픽셀들을 위쪽으로 이동 시키는 과정을 설명하고 있다. 하지만 이는 일 실시예에 불과하며, 선택한 열의 아래쪽 끝으로부터 순차적으로 픽셀이 채워지도록 선택한 열에 포함된 픽셀들을 아래쪽으로 이동 시키는 것도 가능하다.
일 실시예에 따라, 각 행, 열에 포함된 픽셀들을 수평 이동 또는 수직 이동 시키더라도 재구성된 직사각형 이미지 내의 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 수 있다. 일 실시예에서, 도 7에서 A의 픽셀 데이터를 갖는 픽셀과 J의 픽셀 데이터를 갖는 픽셀은 투영 이미지(410)를 생성하기 전, 다면체에서 인접하게 위치했던 픽셀들이다. 즉, 투영 이미지(410)는 다면체(320)를 전개한 것이어서, 투영 이미지(410)에서 A의 픽셀 데이터를 갖는 픽셀과 J의 픽셀 데이터를 갖는 픽셀이 물리적으로 분리되어 있으나, 원래 두 픽셀들은 다면체(320)에서 하나의 꼭지점에서 인접하게 위치했던 픽셀들이다.
일반적으로 이미지에서 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 확률이 높다. 따라서, 픽셀 데이터 A 와 J는 연속적인 데이터를 가질 확률이 높다. 여기서, 연속적인 데이터는 데이터 값의 급격한 변화 없이 점진적으로 변하는 데이터를 의미한다. 이미지 처리에 있어서, 연속적인 데이터는 불연속적인 데이터보다 빠르고 효율적으로 처리 가능하다. 재구성된 직사각형 이미지의 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 확률이 높아 빠르고 효율적인 처리가 가능하다.
일 실시예에 따르면, 위에서 설명한 것과 같은 과정을 통해 도 6(b)에 도시된 투영 이미지는 도 6(c)에 도시된 이미지로 재구성될 수 있다.
도 11은 일 실시예에 따라 재구성된 실제 직사각형 이미지를 나타내는 도면이다.
도 11은 도 5 내지 도 10에서 설명하는 방법을 통해 재구성된 실제 직사각형 이미지이다. 도 11을 참조하면, 직사각형 이미지는 도 6(c)와 유사하게 좌측 상단과 우측 하단으로 픽셀이 몰려있는 듯 모양으로 재구성될 수 있음을 알 수 있다.
다시 도 2의 설명으로 돌아오면, 일 실시예에서, 직사각형 이미지 재구성 시, 투영 이미지의 제1 경계선(boundary)을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을, 제1 경계선을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동 시킬 수 있다.
구체적인 실시예를 통해 설명하도록 한다. 도 12 내지 도 15 및 도 28 내지 38에는 투영 이미지의 제1 경계선을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을, 제1 경계선을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동 시켜 직사각형 이미지를 재구성하는 구체적인 실시예가 도시되어 있다. 일 실시예에 따르면, 투영 이미지는 정20면체 또는 정8면체의 전개도를 사용하여 생성된 것일 수 있고, 상기 제1 경계선 및 제2 경계선이 모두 복수의 선으로 구성될 수 있고, 기준점을 설정하여 복수의 픽셀들을 기준점 반대편으로 이동시키는 것이 반복될 수 있다.
도 12는 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 순서도이고, 도 13은 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
도 12를 참조하면, 먼저, 1210 단계에서 이미지 처리 장치는 기준점을 설정한다. 기준점은 이동 시킬 픽셀과 이동 시키지 않을 픽셀을 구분하는 기준이 된다. 일 실시예에서, 전체 행 길이, 즉, 투영 이미지의 좌측 끝을 기준으로 가로 길이의 1/10 지점을 기준점으로 설정할 수 있다. 다만, 이는 일 실시예에 불과하며, 실시예에 따라 다양하게 기준점을 설정할 수 있다.
1220 단계에서 이미지 처리 장치는 투영 이미지가 도시된 평면 상에서 하나의 열을 선택한다.
1230 단계에서 이미지 처리 장치는 선택한 열과 기준점을 비교하여 선택한 열의 열 번호가 기준점의 열 번호보다 작다고 판단하는 경우, 1240 단계로 진행하여 선택한 열에 포함된 픽셀들을 기준점 반대편으로 이동 시킨다. 일 실시예에 따르면, 투영 이미지의 제1 경계선을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을, 제1 경계선을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동 시킬 수 있다.
1230 단계에서 이미지 처리 장치는 선택한 열의 열 번호가 기준점의 열 번호보다 크거나 같다고 판단하는 경우, 바로 1250 단계로 진행한다.
1250 단계에서 이미지 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, 1220 단계로 되돌아가 위 과정을 반복한다.
1210 단계 내지 1250 단계는 도 13(a)에 도시된 투영 이미지를 도 13(b)에 도시된 이미지로 재구성하기 위한 과정으로, 도 14를 참조하여 보다 상세히 설명하도록 한다.
도 14는 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 순서도이다.
도 14를 참조하면, 투영 이미지의 좌측 끝을 기준으로 가로 길이의 1/10 지점을 기준점(1410)으로 설정할 수 있다. 일 실시예에 따르면, 기준점의 열 번호보다 작은 열 번호를 갖는 픽셀들(1420)은 기준 점 반대편으로 이동 시킨다. 이때, 제1 경계선(1430)을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선(1440)에 연결되도록 이동 시킬 수 있다.
일 실시예에서, 제1 경계선(1430)과 제2 경계선(1440)은 투영 이미지(410)를 생성하기 전, 다면체(320)에서 하나의 모서리를 구성하는 선이다. 즉, 투영 이미지(410)는 다면체(320)를 전개한 것이어서, 투영 이미지(410)에서 제1 경계선(1430)과 제2 경계선(1440)이 물리적으로 분리되어 있으나, 원래 다면체(320)에서는 하나의 모서리를 구성하는 선이다. 따라서, 제1 경계선을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을, 제1 경계선을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동시키더라도 투영 이미지(410)에 변화가 있는 것은 아니며, 단지 어느 지점을 기준점으로 하여 투영 이미지(410)를 나타내느냐의 차이만 있을 뿐이다.
1250 단계에서 이미지 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하지 않는 경우, 1260 단계로 진행하여 투영 이미지가 도시된 평면 상에서 하나의 열을 선택한다.
1260 단계 내지 1280 단계는 도 5의 560 단계 내지 도 580 단계와 동일한 과정을 수행한다. 따라서, 중복되는 내용은 간단히 설명하도록 한다.
1270 단계에서 이미지 처리 장치는 선택한 열의 위쪽 끝으로부터 순차적으로 픽셀이 채워지도록 선택한 열에 포함된 픽셀들을 위쪽으로 이동 시킬 수 있다.
1280 단계에서 이미지 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, 1280 단계로 되돌아가 위 과정을 반복한다.
1260 단계 내지 1280 단계는 도 13(b)에 도시된 재구성된 투영 이미지를 도 13(c)에 도시된 직사각형 이미지로 재구성하기 위한 과정으로, 도 15를 참조하여 보다 상세히 설명하도록 한다.
도 15는 다른 일 실시예에 따른 픽셀의 수직 이동을 나타내는 도면이다.
도 15를 참조하면, 이미지 처리 장치는 각 열의 위쪽 끝(1510)으로부터 순차적으로 픽셀이 채워지도록 각 열에 포함된 픽셀들을 위쪽으로 이동 시킬 수 있다. 이미 가장 위쪽부터 순차적으로 픽셀이 채워져 있어 이동하지 않는 픽셀을 포함하는 열이 존재할 수 있다. 이동하지 않는 픽셀들을 포함하는 열에 대해서는 아래에서 다시 설명하도록 한다.
일 실시예에 따르면, 위에서 설명한 것과 같은 과정을 통해 도 13(b)에 도시된 투영 이미지는 도 13(c)에 도시된 이미지로 재구성될 수 있다.
도 28은 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 순서도이다.
도 28을 참조하면, 먼저, 2810 단계에서 이미지 처리 장치는 기준점을 설정한다. 일 실시예에서, 소정의 지점을 기준점으로 설정할 수 있다. 2820 단계에서 이미지 처리 장치는 투영 이미지가 도시된 평면 상에서 하나의 행을 선택한다. 2830 단계에서 이미지 처리 장치는 선택한 행과 기준점을 비교하여 선택한 행이 기준점에 대해 이동 방향에 있다고 판단하는 경우, 2840 단계로 진행하여 선택한 행에 포함된 픽셀들을 기준점 반대편으로 이동 시킨다. 일 실시예에 따르면, 투영 이미지의 제1 경계선을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을, 제1 경계선을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동 시킬 수 있다. 2830 단계에서 이미지 처리 장치는 선택한 행이 기준점에 대해 이동 방향에 있지 않다고 판단하는 경우, 바로 2850 단계로 진행한다. 2850 단계에서 이미지 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, 2820 단계로 되돌아가 위 과정을 반복한다.
2810 단계 내지 2850 단계는 도 29(a)에 도시된 투영 이미지를 도 29(b) 또는 도 29(d)에 도시된 이미지로 재구성하거나 또는 도 32(a)에 도시된 투영 이미지를 도 32(b) 또는 도 32(d)에 도시된 이미지로 재구성하기 위한 과정으로, 도 30 내지 도 31 및 도 33 내지 34를 참조하여 보다 상세히 설명하도록 한다.
도 30 내지 도 31 및 도 33 내지 도 34는 또 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 도면이다. 일 실시예에 따르면, 투영 이미지는 정20면체 또는 정8면체의 전개도를 사용하여 생성된 것일 수 있다.
도 30을 참조하면, 투영 이미지의 하단 끝을 기준으로 세로 길이의 1/3 지점을 기준점(3010)으로 설정할 수 있다. 일 실시예에 따르면, 기준점(3010)에 대해 이동 방향에 있는 픽셀들, 즉, 기준점(3010)을 기준으로 아래쪽에 있는 픽셀들은 기준 점 반대편으로 이동 시킨다. 이때, 제1 경계선(3020)을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선(3030)에 연결되도록 이동 시킬 수 있다. 일 실시예에 따르면, 제1 경계선(3020) 및 제2 경계선(3030)은 모두 복수의 선으로 구성될 수 있다.
도 31을 참조하면, 투영 이미지의 상단 끝을 기준으로 세로 길이의 1/3 지점을 기준점(3110)으로 설정할 수 있다. 일 실시예에 따르면, 기준점(3110)에 대해 이동 방향에 있는 픽셀들, 즉, 기준점(3110)을 기준으로 위쪽에 있는 픽셀들은 기준 점 반대편으로 이동 시킨다. 이때, 제1 경계선(3120)을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선(3130)에 연결되도록 이동 시킬 수 있다. 일 실시예에 따르면, 제1 경계선(3120) 및 제2 경계선(3130)은 모두 복수의 선으로 구성될 수 있다.
도 33 및 도 34을 참조하면, 투영 이미지의 세로 길이의 1/2 지점을 기준점(3310,3410)으로 설정할 수 있다. 일 실시예에 따르면, 픽셀의 이동 방향을 고려하여, 기준점에 대해 이동 방향에 있는 픽셀들은 기준 점 반대편으로 이동 시킨다. 이때, 제1 경계선(3320,3420)을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선(3330,3430)에 연결되도록 이동 시킬 수 있다. 일 실시예에 따르면, 제1 경계선(3320,3420) 및 제2 경계선(3330,3430)은 모두 복수의 선으로 구성될 수 있다.
2810 단계 내지 2850 단계에서 투영 이미지의 픽셀들이 이동된 후 2860 단계에서 이미지 처리 장치는 여백을 추가하여 직사각형 이미지를 생성한다. 2860 단계는 도 29(b) 및 도 29(d)에 도시된 이미지를 각각 도 29(c) 및 도 29(e)에 도시된 이미지로 재구성하거나 또는 도 32(b) 및 도 32(d)에 도시된 이미지를 각각 도 32(c) 및 도 32(e)에 도시된 이미지로 재구성하기 위한 과정이다. 일 실시예에 따르면, 투영 이미지의 픽셀들이 이동된 후 여백이 추가됨으로써 직사각형 이미지가 생성될 수 있다.
도 35 및 도 37은 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이다.
일 실시예에 따르면, 기준점을 설정하여 복수의 픽셀들을 기준점 반대편으로 이동시키는 것이 반복될 수 있다. 도 35(a)에 도시된 이미지를 도 35(b)에 도시된 이미지로 재구성하는 과정은 도 13(a)에 도시된 이미지를 도 13(b)에 도시된 이미지로 재구성하는 과정과 동일하고, 도 37(a)에 도시된 이미지를 도 37(b)에 도시된 이미지로 재구성하는 과정은 도 32(a)에 도시된 이미지를 도 32(b)에 도시된 이미지로 재구성하는 과정과 동일한 바, 그 과정에 대한 설명은 생략한다. 도 35(c) 및 도 37(c)에 도시된 직사각형 이미지가 생성되는 과정을 도 36 및 도 38을 참조하여 보다 상세히 설명하도록 한다.
도 36 및 도 38은 또 다른 일 실시예에 따른 픽셀들의 이동을 나타내는 도면이다.
도 36을 참조하면, 투영 이미지의 하단 끝을 기준으로 세로 길이의 1/3 지점을 기준점(3610)으로 설정할 수 있다. 일 실시예에 따르면, 기준점의 행 번호보다 작은 행 번호를 갖는 픽셀들은 기준 점 반대편으로 이동 시킨다. 이때, 제1 경계선(3620)을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선(3630)에 연결되도록 이동 시킬 수 있다. 일 실시예에 따르면, 제1 경계선(3620) 및 제2 경계선(3630)은 모두 복수의 선으로 구성될 수 있다.
도 38을 참조하면, 투영 이미지의 좌측 끝을 기준으로 가로 길이의 1/10 지점을 기준점(3810)으로 설정할 수 있다. 일 실시예에 따르면, 기준점의 열 번호보다 작은 열 번호를 갖는 픽셀들은 기준 점 반대편으로 이동 시킨다. 이때, 제1 경계선(3820)을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선(3830)에 연결되도록 이동 시킬 수 있다.
다시 도 2의 설명으로 돌아오면, 일 실시예에서, 직사각형 이미지 재구성 시, 투영 이미지 내에 복수 개의 기준선을 설정하고, 복수 개의 기준선을 기준으로 픽셀들을 이동 시킬 수 있다. 도 5 내지 도 15에서 도시하고 있는 실시예에서는 픽셀 이동 시, 왼쪽 끝, 오른쪽 끝, 위쪽 끝, 아래 쪽 끝 중 어느 하나를 기준선으로 하여, 순차적으로 픽셀이 채워지도록 픽셀을 이동시키는 내용을 설명하고 있다. 일 실시예에서는 이와 달리 복수 개의 기준선을 설정하여 각각의 기준점을 기준으로 순차적으로 픽셀이 채워지도록 픽셀을 이동시킬 수 있다. 도 16 및 도 17을 참조하여 설명한다.
도 16은 또 다른 일 실시예에 따른 직사각형 이미지 재구성 방법을 나타내는 도면이고, 도 17은 또 다른 일 실시예에 따른 기준선 설정 과정을 나타내는 도면이다.
먼저, 도 16(b)를 도 6(b)를 비교하면, 동일하게 픽셀의 수평 이동을 통해 투영 이미지(320)를 재구성하게 되나 그 결과가 달라진다. 이는 픽셀을 한쪽 방향으로 수평 이동 시키는 경우, 도 6(b)는 하나의 기준선을 기준으로 이동 시킨 도면이나, 도 16(b)는 복수 개의 기준선 각각을 기준으로 이동 시킨 도면이기 때문이다. 도 17을 참조하면 복수 개의 기준선(1710, 1720, 1730, 1740, 1750, 1760)이 설정되어 있다. 일 실시예에 따르면, 도 17에서 위에 2개 층은 각 삼각형의 왼쪽 기준선을 기준으로 픽셀들을 왼쪽 방향으로 이동 시키고 아래 1개 층은 전체적으로 가로 길이의 가로 길이의 1/10만큼 이동시킨 뒤 오른쪽 기준선을 기준으로 픽셀을 오른쪽 방향으로 이동 시킬 수 있다.
일 실시예에 따르면, 위에서 설명한 것과 같은 과정을 통해 도 16(a)에 도시된 투영 이미지는 도 16(b)에 도시된 이미지로 재구성될 수 있다. 도 16(b)에 도시된 이미지를 도 16(c)에 도시된 직사각형 이미지로 재구성하는 과정은 픽셀의 수직 이동 과정인 바, 중복하여 설명하지 않도록 한다.
일 실시예에 따르면, 이미지 처리 장치는 직사각형 이미지 재구성 시, 적어도 하나 이상의 픽셀의 이동 여부를 결정하고, 적어도 하나 이상의 픽셀을 이동 시킨다고 결정하는 경우, 적어도 하나 이상의 픽셀의 이동 방향을 결정할 수 있다. 항상 모든 픽셀을 이동 시킬 필요가 있는 것은 아니므로, 먼저 픽셀의 이동 여부를 결정하고 픽셀을 이동 시킨다고 결정하는 경우, 그 픽셀의 이동 방향을 결정하는 것이다. 예를 들어, 도 7 에서 E, F, G, H, I, N, O, P, Q, R 의 픽셀 데이터를 갖는 픽셀들이 포함된 행과 S, T, U, V, W, b, k, l, m ,n, o, t 의 픽셀 데이터를 갖는 픽셀들이 포함된 행들은 이미 좌측 끝부터 순차적으로 픽셀이 채워져 있으므로 픽셀들을 이동시킬 필요는 없다. 또한, 도 9에서 A, B, E, S, X, a의 픽셀 데이터를 갖는 픽셀들이 포함된 열 및 J, C, F, T, Y, f의 픽셀 데이터를 갖는 픽셀들이 포함된 열은 이미 가장 위쪽부터 순차적으로 픽셀이 채워져 있어 이동시킬 필요가 없다.
일 실시예에 따른 픽셀의 이동 방법은 다양한 방법으로 적용 가능하다. 예를 들어, 수평 이동 후 수직 이동을 적용하는 것도 가능하고, 수직 이동 후, 픽셀들을 기준점 반대편으로 이동시키는 것도 가능하다.
일 실시예에 따르면, 투영 이미지를 직사각형 이미지로 재구성함으로써, 이미지 처리 장치가 처리해야 할 불필요한 데이터를 줄일 수 있다. 또한, 재구성된 직사각형 이미지의 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 확률이 높아져 효율적인 처리가 가능하다.
위에서 설명한 구체적인 직사각형 이미지 재구성 방법들은 일 실시예에 불과하며, 다양한 방법을 이용하여 직사각형 이미지를 재구성할 수 있다. 예를 들어, 위에서 설명한 픽셀의 위치 이동 방법들을 복합적으로 사용하여 직사각형 이미지를 재구성할 수도 있다. 또한, 또 다른 픽셀의 위치 이동 방법을 통해 직사각형 이미지를 재구성하는 것도 가능하다.
다시, 도 2의 설명으로 돌아오면, 240 단계에서 이미지 처리 장치는 직사각형 이미지를 처리한다. 240 단계에서는, 230 단계에서 투영 이미지를 직사각형 이미지로 재구성함으로써 처리해야 할 데이터가 줄어들고, 재구성된 직사각형 이미지의 인접한 픽셀들이 연속적인 픽셀 데이터를 가질 확률이 높아 보다 효율적인 처리가 가능하다. 일 실시예에 따르면, 직사각형 이미지를 처리하는 과정은, 압축, 렌더링 등을 포함할 수 있다.
도 2에서는 도시되지 않았지만, 일 실시예에 따르면, 이미지 처리 방법은 처리된 직사각형 이미지를 상기 투영 이미지로 복원하는데 필요한 복원 정보를 생성하는 단계를 더 포함할 수 있다. 일 실시예에 따르면, 복원 정보에는 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치와 관련된 정보가 포함될 수 있다. 위에서 설명한 것과 같이, 픽셀의 위치 이동 내역 및/또는 픽셀의 원래 위치만을 수 있으면 직사각형 이미지를 쉽게 투영 이미지(410)로 복원할 수 있다. 또한, 일 실시예에 따르면, 이미지 처리 방법은 처리된 직사각형 이미지와 복원 정보를 전송하는 단계를 더 포함할 수도 있다. 처리된 직사각형 이미지와 복원 정보를 함께 전송함으로써, 이를 수신하는 측에서 처리된 직사각형 이미지를 쉽게 투영 이미지(410)로 복원할 수 있다.
일 실시예에 따르면, 투영 이미지를 직사각형 이미지로 재구성함으로써 처리해야 할 데이터가 줄어들고, 재구성된 직사각형 이미지의 인접한 픽셀들은 연속적인 픽셀 데이터를 가질 확률이 높아 보다 효율적인 처리가 가능하다.
지금까지 일 실시예에 따른 이미지 처리 방법에 대해서 설명하였다. 아래에서는 도 18을 참조하여 일 실시예에 따른 이미지 처리 방법을 수행하는 이미지 처리 장치에 대해서 설명하도록 한다.
도 18은 일 실시예에 따른 이미지 처리 장치를 나타내는 순서도이다.
도 18을 참조하면, 이미지 처리 장치(1800)는 제어부(1810) 및 메모리(1820)를 포함할 수 있다. 일 실시예에 따르면, 이미지 처리 장치(1800)는 가상 현실 장치일 수 있다.
제어부(1810)는 이미지 처리 장치(1800) 전체의 동작을 제어하며, 메모리(1820)를 제어함으로써 이미지를 처리할 수 있다. 제어부(1810)는 이미지 처리 장치(1800)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬(ROM) 및 프로세서(Processor)를 포함할 수 있다. 프로세서는 코어(core)와 GPU를 통합한 SoC(System On Chip)로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 제어부(1810)는 적어도 둘 이상의 방향에 대한 이미지들을 획득하고, 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하며, 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하고, 직사각형 이미지를 처리할 수 있다.
일 실시예에 따른 제어부(1810)는 도 2 내지 도 17을 참조하여 설명한 이미지 처리 방법을 수행할 수 있다. 여기에서 중복되는 내용은 간단히 설명하도록 한다.
일 실시예에 따른 제어부(1810)는 투영 이미지 생성 시, 이미지들을 다면체에 투영하는 경우 다면체의 영역에 대응되는 전개도의 영역에 이미지들을 투영할 수 있다. 다른 실시예에 따른 제어부(1810)는 투영 이미지 생성 시, 다면체 외부의 적어도 하나의 평면에, 상기 다면체에 투영된 이미지들을 투영할 수 있다.
일 실시예에 따른 제어부(1810)는 투영 이미지(410)를 직사각형 이미지로 재구성 시, 픽셀의 삭제 또는 새로운 픽셀의 추가 없이, 픽셀의 위치만을 이동시켜 직사각형 이미지를 생성할 수 있다. 다른 실시예에 따른 제어부(1810)는 상기 투영 이미지의 픽셀을 이동시킨 후 적어도 하나의 여백을 추가하여 직사각형 이미지를 생성할 수 있다.
일 실시예에 따른 제어부(1810)는 투영 이미지(410)를 직사각형 이미지로 재구성 시, 각 행 별로 상기 각 행에 포함된 픽셀들의 평행 이동 방향을 결정하고, 결정된 평행 이동 방향에 따라 각 행의 왼쪽 끝 또는 오른쪽 끝으로부터 순차적으로 픽셀이 채워지도록 각 행 별로 각 행에 포함된 픽셀들을 왼쪽 또는 오른쪽으로 수평 이동 시킬 수 있다. 또한, 일 실시예에 따른 제어부(1810)는, 투영 이미지(410)를 직사각형 이미지로 재구성 시 각 열 별로 상기 각 열에 포함된 픽셀들의 수직 이동 방향을 결정하고, 결정된 수직 이동 방향에 따라 각 열의 위쪽 끝 또는 아래쪽 끝으로부터 순차적으로 픽셀이 채워지도록 각 열 별로 상기 각 열에 포함된 픽셀들을 위쪽 또는 아래쪽으로 수직 이동 시킬 수 있다.
일 실시예에 따른 제어부(1810)는 직사각형 이미지 재구성 시, 투영 이미지의 제1 경계선을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을, 제1 경계선을 구성하는 픽셀들이 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동시킬 수 있다.
일 실시예에 따른 제어부(1810)는 직사각형 이미지 재구성 시, 투영 이미지 내에 복수 개의 기준선을 설정하고, 복수 개의 기준선을 기준으로 픽셀들을 이동 시킬 수 있다.
일 실시예에 따른 제어부(1810)는 직사각형 이미지 재구성 시, 적어도 하나 이상의 픽셀의 이동 여부를 결정하고, 적어도 하나 이상의 픽셀을 이동 시킨다고 결정하는 경우, 적어도 하나 이상의 픽셀의 이동 방향을 결정할 수 있다.
일 실시예에 따른 제어부(1810)는 직사각형 이미지를 상기 투영 이미지로 복원하는데 필요한 복원 정보를 생성할 수 있다.
일 실시예에 따른 제어부(1810)는 처리된 직사각형 이미지와 복원 정보를 전송하도록 제어할 수 있다.
일 실시예에 따르면, 제어부(1810)는 투영 이미지를 직사각형 이미지로 재구성함으로써, 이미지 처리 장치가 처리해야 할 불필요한 데이터를 줄일 수 있다.
메모리(1820)는 이미지 처리 장치(1800)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 메모리(1820)는 휘발성(volatile) 저장 매체 또는 비휘발성(nonvolatile) 저장 매체로 구성될 수 있으며, 양 저장 매체의 조합(combination)으로 구성될 수도 있다. 휘발성 저장 매체로는 RAM, DRAM, SRAM과 같은 반도체 메모리(semiconductor memory)가 포함될 수 있으며, 비휘발성 저장 매체로는 하드 디스크(hard disk), 플래시 낸드 메모리(Flash NAND Memory)가 포함될 수 있다.
일 실시예에 따른 메모리(1820)는 제어부(1810)의 동작을 위한 데이터를 저장할 수 있다.
나아가, 도 18에는 도시하지 않았지만, 이미지 처리 장치(1800)는 카메라부, 수신부, 전송부 등을 더 포함할 수 있다. 일 실시예에 따르면, 카메라부는 이미지 처리 장치는 카메라를 통해 이미지 처리 장치를 360도로 둘러싼 주위 환경을 촬영할 수 있다. 또한, 수신부는 외부 장치로부터 360도 이미지를 수신할 수 있다. 일 실시예에 따르면, 전송부는 처리된 직사각형 이미지와 복원 정보를 전송할 수 있다. 수신부 및 전송부는 통신부를 포함할 수 있다.
일 실시예에 따른 이미지 처리 장치(1800)는 처리해야 할 데이터를 줄이고, 인접한 픽셀들이 연속적인 픽셀 데이터를 가지도록 이미지를 처리하여 데이터 처리에 소요되는 전력을 줄이고, 처리 효율을 증가시킬 수 있다.
도 19는 다른 일 실시예에 따른 이미지 처리 방법을 나타내는 순서도이다.
도 19에서 도시하고 있는 다른 일 실시예에 따른 이미지 처리 방법은 처리된 직사각형 이미지를 360도 이미지(310)로 복원하는 방법이다. 도 19를 참조하면, 먼저, 1910 단계에서 이미지 처리 장치는 직사각형 이미지를 획득한다. 일 실시예에 따르면, 직사각형 이미지는 적어도 둘 이상의 방향에 대한 이미지(310)들을 획득하고, 다면체(320)의 전개도에 이미지(310)들을 투영하여 투영 이미지(410)를 생성하며, 투영 이미지(410)의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하여 생성된 이미지일 수 있다. 즉, 1910 단계에서 획득하는 직사각형 이미지는 도 2 내지 도 17에서 도시하고 있는 이미지 처리 방법에 의해 생성된 이미지일 수 있다.
그 후, 1920 단계에서 이미지 처리 장치는 직사각형 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 투영 이미지(410)를 복원한다. 일 실시예에서, 직사각형 이미지를 투영 이미지(410)로 복원하는 과정은 도 2 내지 도 17에서 도시하고 있는 투영 이미지(410)를 직사각형 이미지로 재구성하는 과정의 역순으로 수행될 수 있다.
도 19에는 도시되지 않았지만, 다른 일 실시예에 따른 이미지 처리 방법은 직사각형 이미지를 투영 이미지(410)로 복원하는데 필요한 복원 정보를 수신하는 단계를 포함할 수 있고, 투영 이미지(410) 복원 시, 수신한 복원 정보를 바탕으로 투영 이미지(410)를 복원할 수 있다. 즉, 수신한 복원 정보를 바탕으로 복원 방법을 결정할 수 있다. 도 20에 수신한 복원 정보를 바탕으로 복원 방법을 결정하는 과정이 도시되어 있다.
도 20은 일 실시예에 따른 투영 이미지 복원 방법 선택하는 과정을 나타내는 순서도이다.
도 20을 참조하면, 먼저, 2010 단계에서 이미지 처리 장치는 복원 정보를 바탕으로 복원 방법을 결정한다. 일 실시예에 따르면, 2010 단계에서 이미지 처리 장치는 적어도 하나 이상의 복원 방법 중에서 하나의 복원 방법을 결정할 수 있다. 2010 단계에서 이미지 처리 장치가 복원 방법을 방법 A로 결정하는 경우, 2020 단계로 진행하여 방법 A를 이용하여 투영 이미지를 복원하고, 복원 방법을 방법 B로 결정하는 경우, 2030 단계로 진행하여 방법 B를 이용하여 투영 이미지를 복원하며, 복원 방법을 그 외 다른 방법으로 결정하는 경우, 2040 단계로 진행하여 해당 방법을 이용하여 투영 이미지를 복원한다. 여기서, 복원 방법 A, B 및 다른 복원 방법은 각 복원 방법을 구분하기 위하여 편의상 구분한 것이고, 특정 복원 방법을 지칭하는 것은 아니다.
구체적인 실시예를 통해 복원 방법을 설명하도록 한다.
도 21은 일 실시예에 따른 투영 이미지 복원 방법을 나타내는 순서도이다.
도 21은 도 5에 도시된 방법으로 재구성된 직사각형 이미지를 투영 이미지(410)로 복원시키는 방법을 도시하고 있다. 직사각형 이미지를 투영 이미지(410)로 복원시키는 과정은 투영 이미지(410)를 직사각형 이미지로 재구성하는 과정의 역순으로 이루어지는 바, 간략히 설명하도록 한다.
먼저, 2110 단계에서 이미지 처리 장치는 직사각형 이미지가 도시된 평면 상에서 하나의 열을 선택한다.
그 후, 2120 단계에서 이미지 처리 장치는 선택한 열의 픽셀을 아래쪽으로 이동 시킬 수 있다. 이때, 선택한 열에 포함된 픽셀들을 아래쪽 끝으로 이동시키는 것이 아니라, 원래 있던 위치로 이동 시키는 것이다. 이는 투영 이미지(410)의 복원 과정인 바, 원래 이미지를 복원하기 위한 당연한 과정이다.
2130 단계에서 이미지 처리 장치는 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, 2110 단계로 되돌아가 위 과정을 반복한다. 2130 단계에서 선택하지 않은 열이 존재하지 않는다고 판단하는 경우, 2140 단계로 진행한다.
2140 단계에서 이미지 처리 장치는 투영 이미지(410)가 도시된 평면 상에서 하나의 행을 선택한다.
그 후, 2150 단계에서 이미지 처리 장치는 선택한 행의 번호가 설정값 이하인지 여부를 판단한다. 2150 단계에서 선택한 행의 번호가 설정값 이하라고 판단하는 경우, 이미지 처리 장치는 2160 단계로 진행하여 선택한 행에 포함된 픽셀들을 오른쪽으로 이동 시킬 수 있다. 2150 단계에서 선택한 행의 번호가 설정값 이상이라고 판단하는 경우, 이미지 처리 장치는 2170 단계로 진행하여 선택한 행에 포함된 픽셀들을 왼쪽으로 이동 시킬 수 있다.
2180 단계에서 이미지 처리 장치는 선택하지 않은 행이 존재하는지 여부를 판단하여, 선택하지 않은 행이 존재하는 경우, 2140 단계로 되돌아가 위 과정을 반복한다. 2180 단계에서 선택하지 않은 행이 존재하지 않는다고 판단하는 경우, 투영 이미지(410)의 복원이 완료된 것이다.
도 22는 다른 일 실시예에 따른 투영 이미지 복원 방법을 나타내는 순서도이다.
도 22는 도 12에 도시된 방법으로 재구성된 직사각형 이미지를 투영 이미지로 복원시키는 방법을 도시하고 있다. 도 22에서 2210 단계 내지 2230 단계는 도 21의 2110 단계 내지 2230 단계와 동일한 바 간략히 설명하도록 한다.
먼저, 2210 단계에서 이미지 처리 장치는 직사각형 이미지가 도시된 평면 상에서 하나의 열을 선택한다. 그 후, 2220 단계에서 이미지 처리 장치는 선택한 열의 픽셀을 아래쪽으로 이동 시킬 수 있다. 2230 단계에서 선택하지 않은 열이 존재하는지 여부를 판단하여, 선택하지 않은 열이 존재하는 경우, 2210 단계로 되돌아가 위 과정을 반복한다. 2230 단계에서 이미지 처리 장치가 선택하지 않은 열이 존재하지 않는다고 판단하는 경우, 2240 단계로 진행한다.
2240 단계에서 이미지 처리 장치는 픽셀을 선택한다.
2250 단계에서 이미지 처리 장치는 선택된 픽셀이 기준점을 넘어 이동된 픽셀인지 여부를 판단한다. 2250 단계에서 선택된 픽셀이 기준점을 넘어 이동된 픽셀이라고 판단하는 경우, 이미지 처리 장치는 2260 단계로 진행하여 기준점 반대편으로 픽셀을 이동시킨다. 즉, 픽셀을 원래 위치로 복원시키는 것이다.
2250 단계에서 이미지 처리 장치는 선택된 픽셀이 기준점을 넘어 이동된 픽셀이 아니라고 판단하는 경우, 2270 단계로 바로 진행한다.
2270 단계에서 이미지 처리 장치는 선택하지 않은 픽셀이 존재하는지 여부를 판단하여, 선택하지 않은 픽셀이 존재하는 경우, 2270 단계로 되돌아가 위 과정을 반복한다. 2270 단계에서 이미지 처리 장치가 선택하지 않은 행이 존재하지 않는다고 판단하는 경우, 투영 이미지의 복원이 완료된 것이다.
도 21 및 도 22를 참조하여 설명한 일 실시예에 따른 재구성된 직사각형 이미지를 투영 이미지로 복원시키는 방법은 하나의 실시예에 불과하며, 직사각형 이미지 재구성 방법에 따라 다양한 복원 방법을 사용할 수 있다.
다시 도 19의 설명으로 돌아가면, 1930 단계에서 이미지 처리 장치는 투영 이미지를 다면체로 복원하고, 다면체를 역투영(back-projection)하여 역투영 이미지를 생성한다. 이때, 역투영 이미지는 특정 위치를 둘러싼 주위 환경을 나타내는 이미지 일 수 있다. 일 실시예에 따르면, 투영 이미지가 이미지들을 다면체에 투영하는 경우 다면체의 영역에 대응되는 전개도의 영역에 상기 이미지들을 투영함으로써 생성되는 경우 투영 이미지를 조립함으로써 다면체로 복원할 수 있다. 다른 실시예에 따르면, 투영 이미지가 다면체 외부의 적어도 하나의 평면에, 상기 다면체에 투영된 이미지들을 투영함으로써 생성되는 경우 투영 이미지를 입체화함으로써 다면체로 복원할 수 있다. 일 실시예에 따르면, 이미지 처리 장치는 특정 위치를 둘러싼 주위 환경 전체 또는 일부를 나타내는 이미지를 생성할 수 있다. 예를 들어, 이미지 처리 장치가 가상 현실 장치이고, 사용자가 가상 현실 장치를 사용하는 경우, 사용자 시선에 따라 사용자 주위 환경에 대한 역투영 이미지를 생성할 수 있다. 이때, 생성되는 역투영 이미지는 사용자 주위 환경 전체를 나타내는 이미지가 아니라 사용자의 시선에 따라 보여지는 사용자 주위 환경 중 일부를 나타내는 이미지일 수 있다. 일 실시예에 따르면, 역투영 이미지는 사용자 주위 환경 전체를 나타내는 이미지일 수도 있다. 즉, 역투영 이미지는 360도 이미지일 수도 있다. 이미지 처리 장치는 1920 단계에서 적은 데이터를 갖는 직사각형 이미지를 이용하여 투영 이미지를 복원함으로써 효율적인 처리가 가능하다.
다른 일 실시예에 따른 이미지 처리 방법에 따르면, 처리된 직사각형 이미지를 바탕으로 역투영 이미지 생성 시, 적은 데이터를 복원함에 따라 적은 전력으로 효율적인 처리가 가능하다.
도 23은 다른 실시예에 따른 이미지 처리 장치를 나타내는 순서도이다.
도 23을 참조하면, 이미지 처리 장치(2300)는 수신부(2310), 메모리(2320) 및 제어부(2330) 를 포함할 수 있다. 일 실시예에 따르면, 이미지 처리 장치(2300)는 가상 현실 장치일 수 있다. 또한, 도 18에 도시된 이미지 처리 장치(1800)와 동일한 장치일 수 있다.
수신부(2310)는 직사각형 이미지를 수신하는 역할을 수행한다. 이때, 수신하는 직사각형 이미지는 이미지 처리된 직사각형 이미지일 수 있다. 수신부(2310)는 USB 인터페이스부, DVD 인터페이스부 등 다양한 구성 요소를 포함할 수 있다. 예를 들어, 수신부(230)가 USB 인터페이스부를 포함하는 경우, 이미지 처리 장치(2300)는 이미지 파일을 USB로부터 수신할 수도 있다. 나아가, 통신부(미도시)를 통해 외부 장치로부터 이미지를 수신하는 경우, 통신부가 수신부(2310)의 역할을 수행하는 것도 가능하다. 이때, 통신부는 유선 또는 무선으로 네트워크와 연결되어 외부 장치와의 통신을 수행할 수 있고, 근거리 통신 모듈, 이동 통신 모듈, 무선 인터넷 모듈, 유선 인터넷 모듈 등을 포함할 수 있다. 또한, 통신부는 하나 이상의 구성 요소를 포함할 수도 있다.
메모리(2320)는 이미지 처리 장치(2300)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 메모리(2320)는 휘발성 저장 매체 또는 비휘발성 저장 매체로 구성될 수 있으며, 양 저장 매체의 조합으로 구성될 수도 있다. 휘발성 저장 매체로는 RAM, DRAM, SRAM과 같은 반도체 메모리가 포함될 수 있으며, 비휘발성 저장 매체로는 하드 디스크, 플래시 낸드 메모리가 포함될 수 있다.
일 실시예에 따른 메모리(2320)는 제어부(2330)의 동작을 위한 데이터를 저장할 수 있다.
제어부(2330)는 이미지 처리 장치(2300) 전체의 동작을 제어하며, 메모리(2320)를 제어함으로써 이미지를 처리할 수 있다. 제어부(2330)는 이미지 처리 장치(2300)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 주변기기의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다. 프로세서는 코어와 GPU를 통합한 SoC로 구현될 수 있다. 또한, 프로세서는 복수의 프로세서를 포함할 수 있다.
일 실시예에 따른 제어부(2330)는 직사각형 이미지 획득하고, 직사각형 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 투영 이미지를 복원하며, 투영 이미지를 다면체로 복원하고, 다면체를 역투영하여 역투영 이미지를 생성할 수 있다. 일 실시예에 따르면, 직사각형 이미지는 적어도 둘 이상의 방향에 대한 이미지(310)들을 획득하고, 다면체(320)의 전개도에 이미지(310)들을 투영하여 투영 이미지(410)를 생성하며 상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하여 생성된 이미지일 수 있다. 즉, 1910 단계에서 획득하는 직사각형 이미지는 도 2 내지 도 17에서 도시하고 있는 이미지 처리 방법에 의해 생성된 이미지일 수 있다. 일 실시예에 따르면, 투영 이미지가 이미지들을 다면체에 투영하는 경우 다면체의 영역에 대응되는 전개도의 영역에 상기 이미지들을 투영함으로써 생성되는 경우 투영 이미지를 조립함으로써 다면체로 복원할 수 있다. 다른 실시예에 따르면, 투영 이미지가 다면체 외부의 적어도 하나의 평면에, 상기 다면체에 투영된 이미지들을 투영함으로써 생성되는 경우 투영 이미지를 입체화함으로써 다면체로 복원할 수 있다.
일 실시예에 따른 제어부(2330)는 도 19 내지 도 22를 참조하여 설명한 이미지 처리 방법을 수행할 수 있다. 여기에서 중복되는 내용은 간단히 설명하도록 한다.
일 실시예에 따른 제어부(2330)는 수신부(2310)를 제어하여 직사각형 이미지를 투영 이미지로 복원하는데 필요한 복원 정보를 수신할 수 있고, 투영 이미지 복원 시, 수신한 복원 정보를 바탕으로 투영 이미지를 복원할 수 있다.
다른 일 실시예에 따른 이미지 처리 장치(2300)는 직사각형 이미지를 바탕으로 역투영 이미지 생성 시, 적은 데이터를 복원함에 따라 적은 전력으로 효율적인 처리가 가능하다.
지금까지는 획득한 이미지(310)를 정20면체에 투영하는 것을 예로 들어 이미지 처리 과정을 설명하였다. 하지만 위에서 설명한 것과 같이 다면체(320)는 정20면체에 한정되지 않고, 획득한 이미지(310)를 다양한 형태의 다면체(320)에 투영하여 이미지 처리를 수행하는 것도 가능하다. 도 24에 다양한 형태의 다면체(320)를 이용하여 생성한 투영 이미지를 도시하고 있다.
도 24는 일 실시예에 따른 투영 이미지들을 나타내는 도면이다.
도 24(a)는 정팔면체, 도 24(b), (c)는 정육면체, (d)는 18면체에 각각 획득한 이미지(310)를 투영하여 생성할 수 있는 투영 이미지이다. 도 24를 참조하면, 이러한 다면체들을 동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체일 수 있다. 이때, 다면체의 일 면은, 삼각형이 둘 이상 모여 만들어진 다른 다각형으로 구성될 수 있다. 예를 들어, 도 24(c)는 각 면이 2개의 삼각형이 합쳐져 만들어진 사각형으로 구성되는 정육면체이다.
일 실시예에 따르면, 도 24에 도시된 다면체에 한정되지 않고 다양한 형태의 다면체를 이용하여 투영 이미지를 생성할 수 있다.
한편, 상술한 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상과 첨부된 도면을 참조하여 실시예를 설명하였지만, 일 실시예가 속하는 기술분야에서 통상의 지식을 가진 자는 일 실시예가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (15)

  1. 적어도 둘 이상의 방향에 대한 이미지들을 획득하는 단계;
    다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하는 단계;
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지(rectangular image)로 재구성(reshaping)하는 단계; 및
    상기 직사각형 이미지를 처리하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하는 단계는,
    상기 이미지들을 상기 다면체에 투영하는 경우 상기 다면체의 영역에 대응되는 전개도의 영역에 상기 이미지들을 투영하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  3. 제1항에 있어서,
    상기 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하는 단계는,
    상기 다면체 외부의 적어도 하나의 평면에, 상기 다면체에 투영된 상기 이미지들을 투영하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  4. 제1항에 있어서,
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하는 단계는,
    상기 투영 이미지의 픽셀을 이동시킨 후 적어도 하나의 여백을 추가하여 직사각형 이미지를 생성하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  5. 제1항에 있어서,
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하는 단계는,
    각 행(row) 별로 상기 각 행에 포함된 픽셀들의 평행 이동 방향을 결정하는 단계; 및
    상기 결정된 평행 이동 방향에 따라 상기 각 행의 왼쪽 끝(left edge) 또는 오른쪽 끝(right edge)으로부터 순차적으로 픽셀이 채워지도록 상기 각 행 별로 상기 각 행에 포함된 픽셀들을 왼쪽(left) 또는 오른쪽(right)으로 수평 이동시키는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  6. 제1항에 있어서,
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하는 단계는,
    각 열(column) 별로 상기 각 열에 포함된 픽셀들의 수직 이동 방향을 결정하는 단계; 및
    상기 결정된 수직 이동 방향에 따라 상기 각 열의 위쪽 끝(top edge) 또는 아래쪽 끝(bottom edge)으로부터 순차적으로 픽셀이 채워지도록 상기 각 열 별로 상기 각 열에 포함된 픽셀들을 위쪽(up) 또는 아래쪽(down)으로 수직 이동시키는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  7. 제1항에 있어서,
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하는 단계는,
    적어도 하나 이상의 픽셀의 이동 여부를 결정하는 단계; 및
    상기 적어도 하나 이상의 픽셀을 이동 시킨다고 결정하는 경우, 상기 적어도 하나 이상의 픽셀의 이동 방향을 결정하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  8. 제1항에 있어서,
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하는 단계는,
    상기 투영 이미지의 제1 경계선(boundary)을 구성하는 픽셀들을 포함하는 복수 개의 픽셀들을 상기 제1 경계선을 구성하는 픽셀들이 상기 제1 경계선과 연결되는 반대편 경계선인 제2 경계선에 연결되도록 이동시키는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  9. 제1항에 있어서,
    상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하는 단계는,
    상기 투영 이미지 내에 복수 개의 기준선을 설정하는 단계; 및
    상기 복수 개의 기준선을 기준으로, 상기 픽셀들을 이동시키는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  10. 제1항에 있어서,
    상기 직사각형 이미지를 상기 투영 이미지로 복원하는데 필요한 복원 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는 이미지 처리 방법.
  11. 제1항에 있어서,
    상기 다면체는,
    동일한 모양과 면적을 갖는 적어도 하나 이상의 삼각형으로 구성되는 다면체인 것을 특징으로 하는 이미지 처리 방법.
  12. 직사각형 이미지를 획득하는 단계;
    상기 직사각형 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 투영 이미지를 복원하는 단계; 및
    상기 투영 이미지를 다면체로 복원하고, 상기 다면체를 역투영(back-projection)하여 역투영 이미지를 생성하는 단계를 포함하는 것을 특징으로 하는 이미지 처리 방법.
  13. 제12항에 있어서,
    상기 직사각형 이미지를 상기 투영 이미지로 복원하는데 필요한 복원 정보를 수신하는 단계를 더 포함하고,
    상기 투영 이미지를 복원하는 단계는,
    상기 수신한 복원 정보를 바탕으로 상기 투영 이미지를 복원하는 것을 특징으로 하는 이미지 처리 방법.
  14. 제12항에 있어서,
    상기 직사각형 이미지는,
    적어도 둘 이상의 방향에 대한 이미지들을 획득하고, 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하며, 상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하여 생성된 것을 특징으로 하는 이미지 처리 방법.
  15. 적어도 둘 이상의 방향에 대한 이미지들을 획득하고, 다면체에 상기 이미지들을 투영하여 투영 이미지를 생성하며, 상기 투영 이미지의 픽셀들 중 적어도 하나 이상의 픽셀의 위치를 이동시켜 직사각형 이미지로 재구성하고, 상기 직사각형 이미지를 처리하는 제어부 및
    상기 제어부의 동작을 위한 데이터를 저장하는 메모리를 포함하는 것을 특징으로 하는 이미지 처리 장치.
PCT/KR2016/005289 2016-04-05 2016-05-18 이미지 처리 방법 및 장치 WO2017175910A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/089,224 US10825133B2 (en) 2016-04-05 2016-05-18 Method and apparatus for processing image
CN201680084366.9A CN109074677B (zh) 2016-04-05 2016-05-18 用于处理图像的方法和设备
KR1020187025485A KR102493124B1 (ko) 2016-04-05 2016-05-18 이미지 처리 방법 및 장치
EP16898014.2A EP3416138B1 (en) 2016-04-05 2016-05-18 Method and apparatus for processing image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/KR2016/003537 WO2017175888A1 (ko) 2016-04-05 2016-04-05 이미지 처리 방법 및 장치
KRPCT/KR2016/003537 2016-04-05

Publications (1)

Publication Number Publication Date
WO2017175910A1 true WO2017175910A1 (ko) 2017-10-12

Family

ID=60000414

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/KR2016/003537 WO2017175888A1 (ko) 2016-04-05 2016-04-05 이미지 처리 방법 및 장치
PCT/KR2016/005289 WO2017175910A1 (ko) 2016-04-05 2016-05-18 이미지 처리 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/003537 WO2017175888A1 (ko) 2016-04-05 2016-04-05 이미지 처리 방법 및 장치

Country Status (5)

Country Link
US (1) US10825133B2 (ko)
EP (1) EP3416138B1 (ko)
KR (1) KR102493124B1 (ko)
CN (1) CN109074677B (ko)
WO (2) WO2017175888A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108307166A (zh) * 2018-03-09 2018-07-20 嘀拍信息科技南通有限公司 一种新的全景视频传输投影模型
US10891711B2 (en) 2017-04-13 2021-01-12 Samsung Electronics Co., Ltd. Image processing method and apparatus
US10931971B2 (en) 2016-12-27 2021-02-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding 360-degree image

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109155858B (zh) 2016-05-16 2022-09-13 三星电子株式会社 视频编码方法和设备、视频解码方法和设备
KR102176322B1 (ko) * 2018-12-19 2020-11-09 주식회사 팀제파 멀티 프로젝터 제어 시스템 및 방법
CN111489411B (zh) * 2019-01-29 2023-06-20 北京百度网讯科技有限公司 线条绘制方法、装置、图像处理器、显卡及车辆
GB2585645B (en) * 2019-07-08 2024-04-17 Toshiba Kk Computer vision method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732958B1 (ko) * 2004-08-13 2007-06-27 경희대학교 산학협력단 20면체 파노라마 영상의 부호화 및 복호화를 위한 방법 및장치
KR101120131B1 (ko) * 2009-05-29 2012-03-22 주식회사 영국전자 지능형 광역 감시 카메라, 그 제어회로 및 제어방법, 이를 이용한 영상 감시 시스템
KR101201107B1 (ko) * 2004-12-30 2012-11-13 마이크로소프트 코포레이션 파노라마식 이미지에서의 데드 존의 최소화
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
KR20150091517A (ko) * 2012-12-06 2015-08-11 퀄컴 인코포레이티드 파노라마 이미지를 위한 환형 뷰

Family Cites Families (16)

* 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
US6459451B2 (en) * 1996-06-24 2002-10-01 Be Here Corporation Method and apparatus for a panoramic camera to capture a 360 degree image
JP2003141562A (ja) * 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム
US7259784B2 (en) 2002-06-21 2007-08-21 Microsoft Corporation System and method for camera color calibration and image stitching
EP1559060A4 (en) * 2002-11-06 2007-06-13 Geometric Informatics Inc ANALYSIS OF GEOMETRIC SURFACES BY CONFORMITY STRUCTURE
JP4355535B2 (ja) * 2003-08-07 2009-11-04 株式会社岩根研究所 360度画像変換処理装置
KR100755450B1 (ko) * 2006-07-04 2007-09-04 중앙대학교 산학협력단 평면 호모그래피를 이용한 3차원 재구성 장치 및 방법
US20110310219A1 (en) 2009-05-29 2011-12-22 Youngkook Electronics, Co., Ltd. Intelligent monitoring camera apparatus and image monitoring system implementing same
US20130044258A1 (en) 2011-08-15 2013-02-21 Danfung Dennis Method for presenting video content on a hand-held electronic device
KR20130043300A (ko) * 2011-10-20 2013-04-30 삼성전자주식회사 프로젝터를 통해 투사되는 영상을 보정하기 위한 장치 및 방법
JP5870636B2 (ja) * 2011-11-09 2016-03-01 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP6421445B2 (ja) * 2014-01-24 2018-11-14 株式会社リコー 投影システム、画像処理装置、校正方法、システムおよびプログラム
JP6112616B2 (ja) * 2014-04-18 2017-04-12 Necフィールディング株式会社 情報処理装置、情報処理システム、情報処理方法、及びプログラム
GB2527503A (en) 2014-06-17 2015-12-30 Next Logic Pty Ltd Generating a sequence of stereoscopic images for a head-mounted display
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
JP6464599B2 (ja) * 2014-07-31 2019-02-06 株式会社リコー 画像処理装置、画像処理システム、画像処理装置の制御方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732958B1 (ko) * 2004-08-13 2007-06-27 경희대학교 산학협력단 20면체 파노라마 영상의 부호화 및 복호화를 위한 방법 및장치
KR101201107B1 (ko) * 2004-12-30 2012-11-13 마이크로소프트 코포레이션 파노라마식 이미지에서의 데드 존의 최소화
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
KR101120131B1 (ko) * 2009-05-29 2012-03-22 주식회사 영국전자 지능형 광역 감시 카메라, 그 제어회로 및 제어방법, 이를 이용한 영상 감시 시스템
KR20150091517A (ko) * 2012-12-06 2015-08-11 퀄컴 인코포레이티드 파노라마 이미지를 위한 환형 뷰

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931971B2 (en) 2016-12-27 2021-02-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding 360-degree image
US10891711B2 (en) 2017-04-13 2021-01-12 Samsung Electronics Co., Ltd. Image processing method and apparatus
CN108307166A (zh) * 2018-03-09 2018-07-20 嘀拍信息科技南通有限公司 一种新的全景视频传输投影模型

Also Published As

Publication number Publication date
KR102493124B1 (ko) 2023-01-30
WO2017175888A1 (ko) 2017-10-12
CN109074677A (zh) 2018-12-21
EP3416138B1 (en) 2020-09-23
EP3416138A4 (en) 2019-03-20
CN109074677B (zh) 2023-07-07
US20190108612A1 (en) 2019-04-11
EP3416138A1 (en) 2018-12-19
KR20180132049A (ko) 2018-12-11
US10825133B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
WO2017175910A1 (ko) 이미지 처리 방법 및 장치
WO2020145689A1 (en) Method and apparatus for improving image padding in video-based point-cloud compression codec
WO2020013592A1 (en) Improved point cloud compression via color smoothing of point cloud prior to texture video generation
WO2019093834A1 (en) Point cloud compression using non-orthogonal projection
EP3782122A1 (en) Point cloud compression using interpolation
WO2018182192A1 (en) Method and apparatus for displaying image based on user motion information
WO2019078696A1 (en) COMPRESSION OF POINT CLOUD USING HYBRID TRANSFORMS
WO2018070810A1 (ko) 가상 현실 영상을 처리하는 방법 및 장치
WO2016048108A1 (en) Image processing apparatus and image processing method
WO2020231231A1 (en) Single-pass boundary detection in video-based point cloud compression
EP3632119A1 (en) Display apparatus and server, and control methods thereof
WO2018093100A1 (en) Electronic apparatus and method for processing image thereof
WO2017026705A1 (ko) 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
WO2021096233A1 (en) Electronic apparatus and control method thereof
WO2021133053A1 (ko) 전자 장치 및 그의 제어 방법
WO2019022509A1 (en) DEVICE AND METHOD FOR PROVIDING CONTENT
WO2018030567A1 (ko) Hmd 및 그 hmd의 제어 방법
WO2021141400A1 (en) Attribute transfer in v-pcc
WO2016126083A1 (ko) 주변 상황 정보를 통지하기 위한 방법, 전자 장치 및 저장 매체
WO2019035581A1 (ko) 서버, 디스플레이장치 및 그 제어방법
WO2018190446A1 (ko) 영상 처리 방법 및 장치
WO2016080653A1 (en) Method and apparatus for image processing
WO2018124624A1 (en) Method, device, and system for processing multimedia signal
WO2016072538A1 (ko) 유저 인터페이스를 통한 카메라 장치의 동작 방법
WO2023055033A1 (en) Method and apparatus for enhancing texture details of images

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 20187025485

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2016898014

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2016898014

Country of ref document: EP

Effective date: 20180914

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16898014

Country of ref document: EP

Kind code of ref document: A1