WO2019139303A1 - Image synthesizing method and device - Google Patents

Image synthesizing method and device Download PDF

Info

Publication number
WO2019139303A1
WO2019139303A1 PCT/KR2019/000111 KR2019000111W WO2019139303A1 WO 2019139303 A1 WO2019139303 A1 WO 2019139303A1 KR 2019000111 W KR2019000111 W KR 2019000111W WO 2019139303 A1 WO2019139303 A1 WO 2019139303A1
Authority
WO
WIPO (PCT)
Prior art keywords
boundary
value
pixel
minimum error
frames
Prior art date
Application number
PCT/KR2019/000111
Other languages
French (fr)
Korean (ko)
Inventor
유성열
김준식
김규헌
강전호
Original Assignee
삼성전자 주식회사
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 경희대학교 산학협력단 filed Critical 삼성전자 주식회사
Publication of WO2019139303A1 publication Critical patent/WO2019139303A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Definitions

  • Various embodiments of the present disclosure are directed to a method and apparatus for composing images with different viewpoints into a single image.
  • one image acquired through a camera has a limited angle of view. Accordingly, a variety of image synthesis techniques have been studied to generate images having a wider angle of view than a single image, thereby providing a more realistic experience.
  • a scale invariant feature transform SIFT
  • SURF speed up robust feature
  • FAST feature form accelerated segment test
  • the stitching technique enables the generation of panoramic images without visual errors by sequentially using the algorithms according to the image synthesis technique.
  • the stitching technique has evolved with significant improvements in accuracy.
  • the improvement of the accuracy may lead to a decrease in processing speed as the amount of computation for image processing is increased.
  • Such a decrease in the processing speed may limit the use range of the panoramic image generation technique.
  • an image synthesis method and apparatus capable of securing versatility by processing speed and accuracy according to image synthesis.
  • an image synthesizing method and apparatus for synthesizing images at various different viewpoints to generate a single panoramic image it is possible to provide an image synthesizing method and apparatus for synthesizing images at various different viewpoints to generate a single panoramic image.
  • a method includes: A method of synthesizing an image, the method comprising: arranging the plurality of frames based on feature points extracted from a plurality of frames corresponding to each of a plurality of images; Determining a weight for each pixel on the basis of the depth information of the overlap region, and calculating a weight for each pixel based on a difference between pixel values of frames included in the overlap region, Generating a minimum error matrix using the minimum error matrix, and composing the aligned frames based on the generated boundary.
  • an apparatus comprising: An image synthesizer, comprising: an interface for acquiring a plurality of images; a plurality of frames arranged on the basis of feature points extracted from a plurality of frames corresponding to each of the plurality of images, Determining an overlap area including the minutiae corresponding to each other among the aligned frames, determining a weight for each pixel based on the depth information of the overlap area, and calculating a weight value between the pixel values of the frames included in the overlap area Generating a minimum error matrix by assigning a weight for each pixel to the difference, generating a boundary using the minimum error matrix, and compositing the aligned frames based on the generated boundary.
  • FIG. 1 is a block diagram of a video synthesizing apparatus according to an exemplary embodiment.
  • FIG. 2 (a) is a graph showing an example of a quantization function used for quantizing depth map values according to an embodiment
  • FIG. 2 (b) is a graph showing another example of a quantization function used for quantizing the depth map values according to an embodiment
  • FIG. 2 (c) is a graph showing another example of the quantization function used for quantizing the depth map values according to the embodiment
  • FIG. 2 (d) is a graph showing a further example of a quantization function used for quantizing depth map values according to an embodiment
  • Figure 3 (a) illustrates an overlap region for creating a bottom boundary in accordance with one embodiment
  • FIG. 3 (b) illustrates a process of generating a lower boundary according to an exemplary embodiment.
  • Figure 4 (a) illustrates an overlap region for creating an upper boundary in accordance with one embodiment
  • FIG. 4 (b) illustrates a process of creating a top boundary according to an embodiment
  • Figure 5 (a) shows an overlap region for creating a right-hand direction boundary according to one embodiment
  • Figure 7 (a) illustrates a first example of a minimum error boundary according to one embodiment
  • FIG. 7 (b) is a diagram illustrating a second example of a minimum error boundary according to one embodiment
  • FIG. 7C is a diagram illustrating a third example of a minimum error boundary according to one embodiment
  • Figure 7 (d) illustrates a fourth example of a minimum error boundary according to one embodiment
  • FIG. 7 (e) illustrates a fifth example of a minimum error boundary according to an embodiment
  • FIG. 7 (f) illustrates a sixth example of a minimum error boundary according to an embodiment
  • 8A is a view illustrating an example of a panoramic image generated using an existing method
  • FIG. 8 (b) is a diagram illustrating an example of a panoramic image generated using a method according to an embodiment
  • FIG. 9 is a flowchart illustrating an image synthesizing method of the image synthesizing apparatus according to an exemplary embodiment
  • the present disclosure describes an image synthesis method and apparatus. Specifically, the present disclosure describes a method and apparatus for generating panoramic images by combining images having different viewpoints into one image.
  • a depth map may be used to generate a panoramic image. When the depth map is used as described above, it is possible to reduce an error due to image distortion or the like occurring during image synthesis.
  • FIG. 1 is a block diagram illustrating an image synthesizing apparatus according to an exemplary embodiment of the present invention.
  • the image synthesizing apparatus may include an interface unit and at least one processor.
  • the image synthesizing apparatus may include at least one camera.
  • FIG. 1 shows functional blocks configured for image processing in one processor included in the image synthesizing apparatus, for convenience of explanation in accordance with various embodiments of the present disclosure.
  • the functional blocks shown in Fig. 1 may be implemented by a program in one or a plurality of processors. Also, the functional blocks shown in Fig. 1 may be implemented by hardware such as a digital logic circuit.
  • a device for image processing may include a parser 110, a frame extractor 120, and an image processing module 100.
  • the image processing module 100 includes a minimum error matrix generator 130, a minimum error seam generator 140, a minimum error boundary generator 150, and an image synthesizer 160 < / RTI >
  • the parser 110 may receive metadata related to each of the real images and the real images from one or a plurality of cameras.
  • the real images may include images captured by a plurality of cameras at different points in time or images captured by a camera at a plurality of different points in time.
  • the real images may include two or more real images for implementing a 3D image.
  • the parser 110 extracts depth information and position information from each of the input real images, and generates the depth map using the extracted depth information.
  • the parser 110 provides the inputted real images to the frame extracting unit 120, and provides the generated depth map and the extracted position information to the image processing module 100.
  • the parser 110 parses metadata associated with each of the input real images.
  • the metadata may include various information related to each of the real images, for example, information defined by a virtual world map (VWM) received from a separate system.
  • VWM virtual world map
  • the parser 110 may obtain a depth map of each of the real images based on the metadata.
  • the parser 110 may generate a matching position for the real images.
  • the parser 110 may extract a key point and a description from real images, for example.
  • the parser 110 may be used with one or more algorithms to extract feature points and descriptors.
  • the one or more algorithms may include, for example, an algorithm based on FAST (features form accelerated segment test) with an emphasis on speed.
  • the parser 110 may perform a process of matching minutiae and descriptors extracted from each of the real images, and may determine the positional relationship with the matching minutiae.
  • the parser 110 may detect the position of matching between the real images in consideration of the positional relationship.
  • the parser 110 can identify an area (hereinafter referred to as an overlap area) including corresponding minutiae between the real images based on the detected matched position.
  • the overlap area may be an area including the same subject in multiple frames corresponding to a still image captured at different points in time, for example.
  • the overlap area may be a region having a predetermined area connecting the upper and lower sides of the frame, an area having a predetermined area connecting the left and right sides of the frame, or a predetermined area connecting the left (or right) It may be an area having an area.
  • the parser 110 may provide the image processing module 100 with the position information on the overlap area and the depth map on the overlap area.
  • the parser 110 performs an operation for generating a matching position for real images, but the corresponding operation is performed by a separate physical structure such as a matching position generating unit, not the parser 110 .
  • the frame extracting unit 120 may extract frames from each of the real images provided from the parser 110.
  • the frames may be, for example, a unit constituting a still image or a unit constituting an image at a specific time point constituting a moving image.
  • the frame extracting unit 120 may provide the extracted frames to the image processing module 100.
  • the minimum error matrix generator 130, the minimum error boundary generator 140, the minimum error boundary direction selector 150 and the image synthesizer 160 included in the image processing module 100 can perform the following operations.
  • the minimum error matrix generator 130 may be provided with depth maps and position information extracted or generated from each of the frames extracted from each of the real images and the real images.
  • the minimum error matrix generator 130 may generate a minimum error matrix based on the provided frames, the depth map, and the position information.
  • the minimum error matrix may be, for example, a matrix for calculating eigenvalues corresponding to each of the pixels constituting one frame and defining eigenvalues calculated for the pixels constituting the frame.
  • the minimum error matrix generator 130 may obtain a minimum error matrix, for example, by the following equation (1).
  • E (i, j) represents a depth map-based minimum error matrix value at a position (i, j) corresponding to each of the pixels in the overlap region due to the combination of the frame A and the frame B
  • O a (i, j) is a position corresponding to the overlapping area each of the pixels in frame a represents a (the "first pixel location" referred to)
  • O B (i, j ) is the overlapping area of the frame B within the D (i, j) represents a position corresponding to each of the pixels (hereinafter referred to as a second pixel position)
  • D (i, j) represents a depth map value corresponding to each pixel in the overlap region according to the combination of the frame A and the frame B.
  • Quant () represents a quantization function.
  • Equation (1) a scheme for obtaining an eigenvalue defining each of the pixels included in the overlapping region (overlap region) when combining two frames (frame A and frame B) is proposed have.
  • the eigenvalues corresponding to each of the pixels included in the overlap region can be implemented by various schemes.
  • the quantization function in Equation (1) can be used to quantize the depth map values into a plurality of steps (quantization levels).
  • the quantization function may be used such that, for example, the depth map becomes larger as the depth (depth) between the camera and the image is greater.
  • the above quantization function it is possible to minimize an error that may occur when an object at a long distance is covered by a nearby object when creating a boundary.
  • the minimum error matrix generator 130 When the minimum error matrix generator 130 obtains the minimum error matrix, the minimum error matrix generator 130 outputs the minimum error matrix to the minimum error boundary generator 140.
  • the minimum error matrix may define eigenvalues indicating, for example, the characteristics of each of the pixels included in the overlap region.
  • the minimum error boundary generator 140 may generate a boundary for each boundary generation direction in the overlap area using the minimum error matrix provided from the minimum error matrix generator 130.
  • the boundaries define, for example, connections of pixels that are expected to have a low probability of error occurrence within the overlap region for compositing multiple frames based on a minimum error matrix. This will not only reduce the probability of errors occurring when composing multiple frames, but also reduce the amount of computation required to correct errors during compositing. For example, when two frames are synthesized, the boundaries at which the two frames are synthesized in the pixels with low probability of error are set, thereby reducing the amount of error due to composition and the amount of computation for error correction.
  • the starting position of the boundary may be defined by a corner where four pixels (upper edge, lower edge, left edge, right edge) constituting the rectangle defining the overlap region constitute the boundary generating pixel have.
  • the boundary generation direction when the starting pixel position of the boundary is the upper edge, the boundary generation direction may be the lower direction, and when the starting pixel position of the boundary is the lower edge, the boundary generation direction may be the upper direction, The boundary generation direction may be the right edge direction.
  • S ia (i, j) defined as Equation (2) defines a boundary (hereinafter referred to as a lower boundary) generated in the lower direction of the overlap region and S ib , j) defines a boundary (hereinafter referred to as an upper boundary) generated in the upper direction of the overlap region, and S j (i, j) defined as in Equation 4 is generated in the right direction of the overlap region (Hereinafter referred to as " right direction boundary ").
  • E (i, j) commonly used in the equations (2), (3) and (4) represents a minimum error matrix.
  • the minimum error matrix E (i, j) may be provided by the minimum error matrix generator 130.
  • the minimum error boundary generator 140 performs a minimum error search operation to search for positions of pixels having a low probability of generating an error for each boundary generation direction in the overlapping area based on the minimum error matrix.
  • the boundaries can be generated for each boundary generation direction by referring to pixel values (eigenvalues defined for each pixel in the minimum error matrix) around the same row or column as well as the next search row or column in the minimum error search. This makes the boundary generation method more flexible and dramatically increases the range of possible boundaries.
  • three boundaries, starting from the bottom, top, and right edge we can synthesize the frames considering the boundaries of all directions that can be generated. It considers the synthesis of left and right images in the case of panoramic image, but considering the synthesis of up, down, left, and right images for 360 degree image which is emerging recently, omnidirectional synthesis technique is needed and it is to support this.
  • the minimum error boundary generator 140 When the upper boundary, the lower edge generation boundary, and the right edge generation boundary are generated in the overlap area, the minimum error boundary generator 140 generates the minimum error boundary And outputs it to the direction selector 150.
  • the minimum error boundary direction selection unit 150 selects a boundary having the smallest error value among the boundaries generated in each direction of the overlap region. For this, the minimum error boundary direction selection unit 150 may use Equation (5) as follows.
  • Equation (5) S (i) represents the generated boundary, N represents the number of pixels for the generated boundary, and SEAMavr represents the error average of the boundary.
  • SEAMavr When SEAMavr is used, an error that can be caused by the generated boundary can be confirmed numerically.
  • the SEAMavr for each direction boundary can be used as a measure for evaluating the boundary.
  • the minimum error boundary direction selection unit 150 may select a direction corresponding to a boundary having the smallest error among the average of the errors with respect to the boundaries of the respective directions.
  • the minimum error boundary direction selection unit 150 outputs information on the boundary of the selected direction (i.e., the boundary having the minimum error) to the image composition unit 160.
  • the image synthesizer 160 synthesizes the images in the overlap area based on the information about the boundary input from the minimum error boundary direction selector 150.
  • the image synthesizer 160 synthesizes the real images in the left, right, up, and down directions on the basis of the boundary corresponding to the information, and outputs the panorama image.
  • the minimum error matrix generator 130, the minimum error boundary generator 140, the minimum error boundary direction generator 150, and the image synthesizer 160 are shown as separate components. However, it is to be understood that the components 130, 140, 150, and 160 may be implemented as at least one physical component 100, such as a controller or processor, in accordance with various embodiments.
  • FIG. 2 (a) is a graph showing an example of a quantization function used for quantizing depth map values according to an embodiment
  • FIG. 2 (b) is a graph used to quantize depth map values according to an embodiment A graph showing another example of the quantization function
  • FIG. 2 (c) is a graph showing another example of a quantization function used to quantize the depth map values according to an embodiment
  • FIG. 2 (d) is a graph illustrating a quantization function for quantizing depth map values according to an embodiment A graph showing a further example of the quantization function used.
  • the horizontal axis represents depth map values for each pixel expressed by a value between 0 and 255
  • the vertical axis represents a weight value value corresponding to each depth map value
  • the quantization function may define the relationship between the depth map value and the weight value in various forms as shown in Figs. 2 (a) to 2 (d). As shown in Figs. 2 (a) to 2 (d), the quantization function increases the weight value corresponding to the depth map as the depth increases, that is, as the distance between the camera and the object in the image increases .
  • the weight values that can correspond to the depth map values are quantized into 16 levels.
  • the weight values are not limited thereto and may be used in various ways. When the above quantization function is used, it is possible to minimize an error that may occur when an object at a long distance is covered by a nearby object when creating a boundary.
  • FIG. 3 (a) is a view illustrating an overlap area for creating a lower boundary according to an embodiment of the present invention
  • FIG. 3 (b) is a diagram illustrating a process of creating a lower boundary according to an embodiment.
  • the overlap region may be a rectangular region having 9 x 7 pixels, for example, and the minimum error matrix values (i.e., E (i, j)) may be determined for each pixel position have.
  • the minimum error matrix values are values to which weights corresponding to the depth map values of the corresponding pixel positions are applied, respectively. Therefore, the smaller the minimum error matrix value, the closer the distance between the camera and the object in the image is.
  • E (1, j) values (9, 4, 4, 9, 16, 25, 4, 1) included in the first row of the overlapping region , 2) are generated as S 1a (1, j) values 9, 4, 4, 9, 16, 25, 4, 1, 2 as they are.
  • the values E (2, j) (4, 4, 9, 16, 1, 9, 9, 4, 25) located in the second row of the overlap region are represented by S 2a 13, 20, 10, 13, 10, 5, 26).
  • the starting point for generating the lower boundary values may be a row (e.g., two rows) positioned at the lower end of the update of actual values of the two rows when there are two adjacent rows (e.g., 1 row and 2 rows) . ≪ / RTI >
  • the value 4 of E (2, 2) at pixel position (2, 2) is equal to the value of E (1, 2) adjacent to the previous row of pixel position
  • the value of E (2, 2) is added to the smallest value 4 of the values (9, 4, 4) of E (1, 2), E 2a (2, 2).
  • the value 4 of E (3, 3) at the pixel position 3, 3 corresponds to three E (1, 1), E (1, 2) E (1, 3) values (i.e., the updated value of 8, 13, 20) the summed with a value 8, the value of the E (3, 3) of the value of the added result S 2a (3, 3) of the Lt; / RTI >
  • FIG. 3 (b) shows the result as shown in FIG. 3 (b) when all the updates to E (i, j) are completed in the above manner.
  • the arrows shown in FIG. 3 (b) show the direction in which the values of E (i, j) are added to the corresponding pixels.
  • FIG. 3 (b) shows a case where the direction is the bottom direction of the overlap region.
  • S ia (i, j) as shown in FIG. 3 (b) a minimum value is detected for each row.
  • the pixels corresponding to the detected minimum value may be connected and determined as a bottom boundary.
  • pixels having the minimum values (1, 5, 6, 7, 8, 9, 10) in each of the first to seventh rows may be determined as pixels for the lower boundary.
  • FIG. 4A is a view showing an overlap area for creating an upper boundary according to an embodiment
  • FIG. 4B is a diagram illustrating a process of creating an upper boundary according to an embodiment.
  • the overlap region may be a rectangular region having 9 x 7 pixels, and minimum error matrix values (i.e., E (i, j)) are determined for each pixel position .
  • the minimum error matrix values are values to which weights corresponding to the depth map values of the corresponding pixel positions are applied, respectively. Therefore, the smaller the minimum error matrix value, the closer the distance between the camera and the object in the image is.
  • the starting point for generating the upper direction boundary values may be a row (e.g., 6 rows) positioned at the upper position where update of substantial values of the two rows is started when two adjacent rows (e.g., row 6, row 7) . ≪ / RTI >
  • the value 1 of E (6, 7) at pixel positions 6 and 7 is the sum of the three E (7, 7) adjacent to the next row of pixel positions 6, 7 , E (7, 6), E (7, 7) and E (7, 8) are added to the smallest value 1 among the values 25, 6b (6, 7).
  • the value 4 of E (5, 4) at the pixel position 5, 4 corresponds to three E (6, 3), E (6, 4) E (6, 5), the values (i.e., the updated value of 17, 26, 5) the summed with a value 5, the value of the E (5, 4) of the said added result value, S 5b (5, 4) of the To " 9 "
  • S ib (i, j) as shown in FIG. 4 (b) a minimum value is detected for each row.
  • the pixels corresponding to the detected minimum value may be connected and determined as the upper direction boundary.
  • pixels having the minimum values (10, 9, 5, 4, 3, 2, 1) in each of the first to seventh rows may be determined as pixels for the upper direction boundary.
  • FIG. 5A is a diagram illustrating an overlap region for generating a right-direction boundary according to an embodiment
  • FIG. 5B is a diagram illustrating a process of generating a right-direction boundary according to an embodiment.
  • the overlap region may be a rectangular region having 9 x 7 pixels, for example, and the minimum error matrix values (i.e., E (i, j)) may be determined for each pixel position have.
  • the minimum error matrix values are values to which weights corresponding to the depth map values of the corresponding pixel positions are applied, respectively. Therefore, the smaller the minimum error matrix value, the closer the distance between the camera and the object in the image is.
  • E (i, 2) values (4, 4, 16, 4, 25, 25, 4) S 2 (i, 2) value (8, 8, 20, 8, 29 , 29, 8).
  • the starting point for generating the right direction boundary values is a row (e.g., two columns) located at the right end where the updating of substantial values of the two columns is started when two adjacent columns (e.g., columns 1 and 2) . ≪ / RTI >
  • the value 4 of E (2, 2) at pixel position 2, 2 is equal to the value of E (1, 2) adjacent to the previous column of pixel position 2, 1), E (2, 1 ), E (3, 1) values (9, 4, 4) the summed with a value 4, the value of the E (2, 2) of the S 2 value of the added result of the (2, 2).
  • the value 4 of E (3, 3) at the pixel position 3, 3 corresponds to three E (2, 2), E (3, 2), E (4, 2) the values summed and the smallest value of 8 (i.e., the updated value of 8, 20, 8), the E (3, 3) the value of the added result value, S 2 (3, 3) of the The value is updated to 12.
  • FIG. 5 (b) a result as shown in FIG. 5 (b) is calculated.
  • the arrows shown in FIG. 5 (b) show the direction in which the value of E (i, j) is added to the pixel. In FIG. 5 (b), the direction is the rightward direction of the overlapping area.
  • S j (i, j) as shown in FIG. 5 (b) a minimum value is detected for each column.
  • the pixels corresponding to the detected minimum value may be connected and determined as a right-direction boundary.
  • pixels having the minimum values (4, 8, 9, 10, 14, 15, 9, 13, 17) in columns 1 to 9 can be determined as pixels for the right- .
  • the probability of occurrence of an error among the determined boundaries based on Equation (5) This lower boundary can be selected.
  • the real images may be synthesized in the direction corresponding to the selected boundary to be generated as a panoramic image.
  • FIG. 6 is a diagram illustrating an overlap region according to one embodiment.
  • the overlap area 600 may be an area including the same object in the multiple frames 610 and 620 corresponding to the real image shot at different points in time.
  • the overlap area may be a region having a predetermined area connecting the upper and lower sides of the frame, an area having a predetermined area connecting the left and right sides of the frame, or a predetermined area connecting the left (or right) It may be an area having an area.
  • the overlap area 600 has a rectangular shape as an area having a predetermined area connecting left and right sides of the frame.
  • the shape of the overlap area 600 is not limited to this, have.
  • minimum error boundaries as shown in FIGS. 7A to 7F can be generated .
  • FIG. 7A is a diagram illustrating a first example of a minimum error boundary according to an embodiment
  • FIG. 7B is a diagram illustrating a second example of a minimum error boundary according to an embodiment
  • FIG. 7C 7D is a diagram illustrating a fourth example of a minimum error boundary according to an embodiment
  • FIG. 7E is a diagram showing a fourth example of a minimum error boundary according to an embodiment
  • FIG. 7 (f) is a diagram illustrating a sixth example of a minimum error boundary according to an exemplary embodiment of the present invention.
  • a minimum error boundary may be generated when a scheme based on equations (1) to (5) as described above is used, the shape of the minimum error boundary may vary in various forms, as shown in FIGS. 7 (a) .
  • Fig. 7 (a) shows the minimum error boundary of the shape extending from the upper end to the right end of the overlap region
  • Fig. 7 (b) shows the minimum error boundary of the shape extending from the upper end to the lower end of the overlap region
  • Fig. 7 ) Represents a minimum error boundary of the form leading from the top of the overlap region to the left end.
  • FIG. 7 (d) shows the minimum error boundary of the shape extending from the right end to the bottom end of the overlap region
  • FIG. 7 (e) shows the minimum error boundary of the shape extending from the left end to the right end of the overlap region
  • f) represents a minimum error boundary of the shape extending from the left end to the bottom end of the overlap region.
  • the minimum error boundaries of the overlapping region can be generated in various manners, the corresponding real images are synthesized in the left, right, up, and down directions with respect to the minimum error boundary, Images can be generated.
  • FIG. 8A is a view showing an example of a panorama image generated using the conventional method
  • FIG. 8B is an example of a panorama image generated using the method according to the embodiment of the present invention
  • Fig. When the real images are synthesized based on the minimum error boundaries as described above, errors such as image distortion occurring during image synthesis can be solved.
  • FIG. 9 is a flowchart illustrating an image synthesizing method of an image synthesizing apparatus according to an embodiment.
  • the image synthesizer receives a depth map corresponding to each of the real images and the real images (operation 910).
  • the depth map of each real image may have the same or different size than the corresponding real image. If the overall system performance is considered, it is more advantageous to use a depth map having the same size as the corresponding real image. This is because, if the real image and the depth map have different sizes, there is a loss of information in the process of matching the sizes, which may affect the performance of the entire system.
  • the image synthesizer performs an operation to generate a matching position of the real images (operation 920). That is, the image synthesizer performs a process of matching feature points and descriptors extracted from each of the real images, and determines a positional relationship between the matching feature points. In addition, the image synthesizing apparatus generates a position to be matched between the real images in consideration of the positional relationship, and confirms the overlapping region based on the generated position.
  • the image synthesizer generates a minimum error matrix based on the position information and the depth map of the overlap area (operation 930). As shown in Equation 1, the depth map value for each pixel based on the depth map is changed to a weight value and reflected in the minimum error matrix.
  • the image synthesizer generates a minimum error boundary using the minimum error matrix (operation 940). For example, the image synthesizer generates a boundary for each direction of the overlapping area based on Equations 2, 3, and 4, and selects a boundary where errors are least likely to occur among the generated boundaries, A minimum error boundary can be generated.
  • the image synthesizing apparatus determines whether to generate a composite image as a panorama image (operation 950). If it is determined that the composite image should be generated, the image synthesizer synthesizes the images in the overlap region based on the minimum error boundary to generate the panorama image (operation 960). The operations shown in FIG. 9 may be repeatedly performed for generating the panoramic image.

Abstract

An image synthesizing device according to an embodiment of the present disclosure aligns a plurality of frames on the basis of feature points extracted from the plurality of frames respectively corresponding to a plurality of images, confirms an overlapping region comprising the feature points in correspondence between the aligned frames in a region comprising the aligned frames, determines a weight for each pixel on the basis of depth information of the overlapping region, generates a minimum confusion matrix by means of imparting the weight for each pixel to the differential between pixel values of the frames comprised in the overlapping region, generates a boundary by means of the minimum confusion matrix, and synthesizes the aligned frames on the basis of the generated boundary.

Description

영상 합성 방법 및 장치Image synthesis method and apparatus
본 개시의 다양한 실시 예들은 서로 다른 시점을 갖는 영상들을 하나의 영상으로 합성하는 방법 및 장치에 관한 것이다. Various embodiments of the present disclosure are directed to a method and apparatus for composing images with different viewpoints into a single image.
일반적으로, 카메라를 통해 획득된 하나의 영상은 제한된 화각을 갖는다. 이에 따라 단일 영상의 화각에 비해 넓은 화각을 갖는 영상을 생성하여 보다 실감 있는 경험을 제공하기 위한 다양한 영상 합성 기술들이 연구되고 있다.Generally, one image acquired through a camera has a limited angle of view. Accordingly, a variety of image synthesis techniques have been studied to generate images having a wider angle of view than a single image, thereby providing a more realistic experience.
상기 영상 합성 기술들의 대표적인 예로서, 영상 내 특징 정보를 추출하고 상기 특징 정보를 기반으로 영상들을 합성하는 SIFT (scale invariant feature transform), SURF (speed up robust feature) 및 FAST (features form accelerated segment test) 등의 특징 추출 알고리즘과, 합성 후 육안으로 보이는 경계를 없애주는 알파, 피라미드 블렌딩 (pyramid blending) 알고리즘 등이 존재한다.As a representative example of the image synthesis techniques, a scale invariant feature transform (SIFT), a speed up robust feature (SURF) and a feature form accelerated segment test (FAST), which extract feature information in an image and synthesize images based on the feature information, And alpha and pyramid blending algorithms to remove the visible boundary after synthesis.
스티칭(stitching) 기술은 영상 합성 기술에 따른 알고리즘들을 순차적으로 활용하여 시각적 오류가 없는 파노라마 영상을 생성할 수 있도록 한다. 상기 스티칭 기술은 정확도에서 큰 향상을 보이며 발전해 왔다. 하지만 상기 정확도의 향상은 영상 처리를 위한 연산량을 증가시킴에 따라, 처리 속도의 저하를 가져올 수 있다. 이러한 상기 처리 속도의 저하는 파노라마 영상 생성 기술의 사용 범위를 제한할 수 있다. The stitching technique enables the generation of panoramic images without visual errors by sequentially using the algorithms according to the image synthesis technique. The stitching technique has evolved with significant improvements in accuracy. However, the improvement of the accuracy may lead to a decrease in processing speed as the amount of computation for image processing is increased. Such a decrease in the processing speed may limit the use range of the panoramic image generation technique.
본 개시의 다양한 실시 예에 따르면, 영상 합성에 따른 처리 속도와 정확도에 의한 범용성을 확보할 수 있는 영상 합성 방법 및 장치를 제공할 수 있다.According to various embodiments of the present disclosure, it is possible to provide an image synthesis method and apparatus capable of securing versatility by processing speed and accuracy according to image synthesis.
본 개시의 다양한 실시 예에 따르면, 서로 다른 다양한 시점의 영상들을 합성하여 단일 파노라마 영상을 생성하는 영상 합성 방법 및 장치를 제공할 수 있다. According to various embodiments of the present disclosure, it is possible to provide an image synthesizing method and apparatus for synthesizing images at various different viewpoints to generate a single panoramic image.
본 개시의 다양한 실시 예에 따르면, 단일 파노라마 영상을 생성하기 위해 사용된 기존의 알고리즘에 비해 적은 처리량을 갖도록 하며, 영상 합성 시 발생하는 이미지 왜곡이나 시점 왜곡 등의 문제를 줄여 보다 명확한 파노라마 영상을 획득할 수 있도록 하는 영상 합성 방법 및 장치를 제공할 수 있다. According to various embodiments of the present disclosure, it is possible to have a smaller throughput compared to existing algorithms used to generate a single panoramic image, to reduce problems such as image distortion and viewpoint distortion occurring during image synthesis, and to acquire clear panoramic images It is possible to provide a method and an apparatus for synthesizing an image.
본 개시의 일 실시 예에 따른 방법은; 영상 합성 방법에 있어서, 다수의 영상들 각각에 상응하는 다수의 프레임들로부터 추출된 특징점들을 기반으로 상기 다수의 프레임들을 정렬하는 과정과, 상기 정렬된 프레임들로 이루어진 영역에서 상기 정렬된 프레임들 간 대응되는 특징점들을 포함하는 중첩 영역을 확인하는 과정과, 상기 중첩 영역의 깊이 정보를 기반으로 각 픽셀 별 가중치를 결정하고, 상기 중첩 영역에 포함된 프레임들의 픽셀 값들 간 차이에 상기 각 픽셀 별 가중치를 부여하여 최소 오류 행렬을 생성하는 과정과, 상기 최소 오류 행렬을 이용하여 경계를 생성하고, 상기 생성된 경계를 기반으로 상기 정렬된 프레임들을 합성하는 과정을 포함한다. According to an embodiment of the present disclosure, a method includes: A method of synthesizing an image, the method comprising: arranging the plurality of frames based on feature points extracted from a plurality of frames corresponding to each of a plurality of images; Determining a weight for each pixel on the basis of the depth information of the overlap region, and calculating a weight for each pixel based on a difference between pixel values of frames included in the overlap region, Generating a minimum error matrix using the minimum error matrix, and composing the aligned frames based on the generated boundary.
본 개시의 일 실시 예에 따른 장치는; 영상 합성 장치에 있어서, 다수의 영상들을 획득하기 위한 인터페이스부와, 상기 다수의 영상들 각각에 상응하는 다수의 프레임들로부터 추출된 특징점들을 기반으로 상기 다수의 프레임들을 정렬하고, 상기 정렬된 프레임들로 이루어진 영역에서 상기 정렬된 프레임들 간 대응되는 특징점들을 포함하는 중첩 영역을 확인하고, 상기 중첩 영역의 깊이 정보를 기반으로 각 픽셀 별 가중치를 결정하고, 상기 중첩 영역에 포함된 프레임들의 픽셀 값들 간 차이에 상기 각 픽셀 별 가중치를 부여하여 최소 오류 행렬을 생성하고, 상기 최소 오류 행렬을 이용하여 경계를 생성하고, 상기 생성된 경계를 기반으로 상기 정렬된 프레임들을 합성하는 프로세서를 포함한다.According to an embodiment of the present disclosure, there is provided an apparatus comprising: An image synthesizer, comprising: an interface for acquiring a plurality of images; a plurality of frames arranged on the basis of feature points extracted from a plurality of frames corresponding to each of the plurality of images, Determining an overlap area including the minutiae corresponding to each other among the aligned frames, determining a weight for each pixel based on the depth information of the overlap area, and calculating a weight value between the pixel values of the frames included in the overlap area Generating a minimum error matrix by assigning a weight for each pixel to the difference, generating a boundary using the minimum error matrix, and compositing the aligned frames based on the generated boundary.
본 개시의 다양한 실시 예에 따르면, 영상 합성시 발생하는 이미지 왜곡 또는 시점 왜곡 등을 적은 처리량으로 해결함으로써, 원하는 파노라마 영상을 획득할 수 있게 된다.According to various embodiments of the present disclosure, it is possible to obtain a desired panoramic image by solving the image distortion or the view point distortion generated in the image synthesis with a small throughput.
도 1은 일 실시 예에 따른 영상 합성 장치의 블록 구조도,1 is a block diagram of a video synthesizing apparatus according to an exemplary embodiment.
도 2(a)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 일 예를 나타낸 그래프,FIG. 2 (a) is a graph showing an example of a quantization function used for quantizing depth map values according to an embodiment,
도 2(b)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 다른 예를 나타낸 그래프, FIG. 2 (b) is a graph showing another example of a quantization function used for quantizing the depth map values according to an embodiment,
도 2(c)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 또 다른 예를 나타낸 그래프,FIG. 2 (c) is a graph showing another example of the quantization function used for quantizing the depth map values according to the embodiment,
도 2(d)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 추가적인 예를 나타낸 그래프,2 (d) is a graph showing a further example of a quantization function used for quantizing depth map values according to an embodiment,
도 3(a)는 일 실시 예에 따른 하단 방향 경계를 생성하기 위한 중첩 영역을 나타낸 도면, Figure 3 (a) illustrates an overlap region for creating a bottom boundary in accordance with one embodiment,
도 3(b)는 일 실시 예에 따른 하단 방향 경계를 생성하는 과정을 나타낸 도면,FIG. 3 (b) illustrates a process of generating a lower boundary according to an exemplary embodiment. FIG.
도 4(a)는 일 실시 예에 따른 상단 방향 경계를 생성하기 위한 중첩 영역을 나타낸 도면, Figure 4 (a) illustrates an overlap region for creating an upper boundary in accordance with one embodiment,
도 4(b)는 일 실시 예에 따른 상단 방향 경계를 생성하는 과정을 나타낸 도면,FIG. 4 (b) illustrates a process of creating a top boundary according to an embodiment,
도 5(a)는 일 실시 예에 따른 우단 방향 경계를 생성하기 위한 중첩 영역을 나타낸 도면, Figure 5 (a) shows an overlap region for creating a right-hand direction boundary according to one embodiment,
도 5(b)는 일 실시 예에 따른 우단 방향 경계를 생성하는 과정을 나타낸 도면,5 (b) illustrates a process of generating a right-direction boundary according to an embodiment,
도 6은 일 실시 예에 따른 중첩 영역을 나타낸 도면,6 illustrates an overlap region according to one embodiment,
도 7(a)는 일 실시 예에 따른 최소 오류 경계의 제1 예를 나타낸 도면, Figure 7 (a) illustrates a first example of a minimum error boundary according to one embodiment,
도 7(b)는 일 실시 예에 따른 최소 오류 경계의 제2 예를 나타낸 도면, FIG. 7 (b) is a diagram illustrating a second example of a minimum error boundary according to one embodiment;
도 7(c)는 일 실시 예에 따른 최소 오류 경계의 제3 예를 나타낸 도면, 7C is a diagram illustrating a third example of a minimum error boundary according to one embodiment,
도 7(d)는 일 실시 예에 따른 최소 오류 경계의 제4 예를 나타낸 도면, Figure 7 (d) illustrates a fourth example of a minimum error boundary according to one embodiment,
도 7(e)는 일 실시 예에 따른 최소 오류 경계의 제5 예를 나타낸 도면, FIG. 7 (e) illustrates a fifth example of a minimum error boundary according to an embodiment,
도 7(f)는 일 실시 예에 따른 최소 오류 경계의 제6 예를 나타낸 도면, FIG. 7 (f) illustrates a sixth example of a minimum error boundary according to an embodiment,
도 8(a)는 기존의 방식을 사용하여 생성한 파노라마 영상의 일 예를 나타낸 도면, 8A is a view illustrating an example of a panoramic image generated using an existing method,
도 8(b)는 일 실시 예에 따른 방식을 사용하여 생성한 파노라마 영상의 일 예를 나타낸 도면, 8 (b) is a diagram illustrating an example of a panoramic image generated using a method according to an embodiment,
도 9는 일 실시 예에 따른 영상 합성 장치의 영상 합성 방법을 나타낸 순서도.9 is a flowchart illustrating an image synthesizing method of the image synthesizing apparatus according to an exemplary embodiment;
이하 첨부된 도면을 참조하여 본 개시의 동작 원리를 상세히 설명한다. 하기에서 본 개시의 다양한 실시 예들을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 개시의 전반적인 내용을 토대로 내려져야 할 것이다.The operation principle of the present disclosure will be described in detail below with reference to the accompanying drawings. In the following description of the various embodiments of the present disclosure, detailed description of known functions and configurations incorporated herein will be omitted when it may obscure the subject matter of the present disclosure. It is to be understood that the following terms are defined in consideration of the functions of the present disclosure and may vary depending on the user, the intention or custom of the operator, and the like. Therefore, the definition should be based on the overall contents of this disclosure.
본 개시는 영상 합성 방법 및 장치를 설명한다. 구체적으로, 본 개시는 서로 다른 시점을 갖는 영상들을 하나의 영상으로 합성하여 파노라마 영상을 생성하기 위한 방법 및 장치를 설명한다. 본 개시의 다양한 실시 예에서는 파노라마 영상을 생성하기 위해 깊이 맵(depth map)을 사용할 수 있다. 상기와 같이 깊이 맵을 사용할 경우, 영상 합성시 발생하는 이미지 왜곡 등으로 인한 오류를 줄일 수 있다. The present disclosure describes an image synthesis method and apparatus. Specifically, the present disclosure describes a method and apparatus for generating panoramic images by combining images having different viewpoints into one image. In various embodiments of the present disclosure, a depth map may be used to generate a panoramic image. When the depth map is used as described above, it is possible to reduce an error due to image distortion or the like occurring during image synthesis.
도 1은 일 실시 예에 따른 영상 합성 장치의 블록 구조도이다.1 is a block diagram illustrating an image synthesizing apparatus according to an exemplary embodiment of the present invention.
도 1을 참조하면, 영상 합성 장치는 인터페이스부와 적어도 하나의 프로세서를 포함할 수 있다. 상기 영상 합성 장치는 적어도 하나의 카메라를 구비할 수도 있다. 도 1에서는 본 개시의 다양한 실시 예들에 따른 설명의 편의를 위해, 영상 합성 장치에 포함되는 하나의 프로세서에서 영상 처리를 위해 구성된 기능 블록들을 도시하고 있다. 도 1에 도시된 기능 블록은 하나 또는 다수의 프로세서들에서 프로그램에 의해 구현될 수 있다. 또한 도 1에 도시된 기능 블록은 디지털 논리 회로 등의 하드웨어에 의해 구현될 수도 있다.Referring to FIG. 1, the image synthesizing apparatus may include an interface unit and at least one processor. The image synthesizing apparatus may include at least one camera. FIG. 1 shows functional blocks configured for image processing in one processor included in the image synthesizing apparatus, for convenience of explanation in accordance with various embodiments of the present disclosure. The functional blocks shown in Fig. 1 may be implemented by a program in one or a plurality of processors. Also, the functional blocks shown in Fig. 1 may be implemented by hardware such as a digital logic circuit.
하나의 실시 예에 따르면, 영상 처리를 위한 장치 (예컨대, 하나의 프로세서)는 파서(parser)(110), 프레임 추출부(120) 및 영상 처리 모듈(100)을 포함할 수 있다. 상기 영상 처리 모듈(100)은 최소 오류 행렬(minimal error matrix) 생성부(130), 최소 오류 경계(minimal error seam) 생성부(140), 최소 오류 경계 방향 생성부(150) 및 영상 합성부(160)를 포함할 수 있다. According to one embodiment, a device (e.g., one processor) for image processing may include a parser 110, a frame extractor 120, and an image processing module 100. The image processing module 100 includes a minimum error matrix generator 130, a minimum error seam generator 140, a minimum error boundary generator 150, and an image synthesizer 160 < / RTI >
상기 파서(110)는 하나 또는 다수의 카메라들로부터 실사 영상들 및 상기 실사 영상들 각각과 관련된 메타데이터를 입력 받을 수 있다. 상기 실사 영상들은 다수개의 카메라들이 서로 다른 시점에서 촬영한 영상들 또는 하나의 카메라가 복수의 다른 시점들에서 촬영한 영상들을 포함할 수 있다. 또한 상기 실사 영상들은 3D 영상을 구현하기 위한 2개 또는 그 이상의 실사 영상들을 포함할 수 있다. The parser 110 may receive metadata related to each of the real images and the real images from one or a plurality of cameras. The real images may include images captured by a plurality of cameras at different points in time or images captured by a camera at a plurality of different points in time. In addition, the real images may include two or more real images for implementing a 3D image.
상기 파서(110)는 입력된 실사 영상들 각각으로부터 깊이 정보 및 위치 정보를 추출하고, 상기 추출한 깊이 정보를 사용하여 깊이 맵을 생성할 수 있다. 이 경우, 상기 파서(110)는 상기 입력된 실사 영상들을 프레임 추출부(120)로 제공하고, 상기 생성한 깊이 맵과 상기 추출한 위치 정보를 영상 처리 모듈(100)로 제공할 수 있다.The parser 110 extracts depth information and position information from each of the input real images, and generates the depth map using the extracted depth information. In this case, the parser 110 provides the inputted real images to the frame extracting unit 120, and provides the generated depth map and the extracted position information to the image processing module 100.
일 실시 예에 따르면, 파서(110)는 입력된 실사 영상들 각각과 관련된 메타 데이터를 분석한다. 상기 메타 데이터는 실사 영상들 각각과 관련된 다양한 정보, 예를 들어, 별도의 시스템에서 전달받은 가상 세계 맵 (virtual world map: VWM)에 의해 정의된 정보 등을 포함할 수 있다. According to one embodiment, the parser 110 parses metadata associated with each of the input real images. The metadata may include various information related to each of the real images, for example, information defined by a virtual world map (VWM) received from a separate system.
상기 파서(110)는 상기 메타 데이터를 기반으로 실사 영상들 각각의 깊이 맵을 획득할 수 있다. 상기 파서(110)는 실사 영상들에 대한 정합 위치를 생성할 수 있다. 상기 파서(110)는, 예를 들어, 실사 영상들로부터 특징점 (key point) 및 기술자 (description)를 추출할 수 있다. 상기 파서(110)는 특징점 및 기술자를 추출하기 위해 하나 또는 다수의 알고리즘들을 사용될 수 있다. 상기 하나 또는 다수의 알고리즘들에는 예를 들어, 속도에 중점을 두고 있는 FAST (features form accelerated segment test) 기반의 알고리즘이 포함될 수 있다. The parser 110 may obtain a depth map of each of the real images based on the metadata. The parser 110 may generate a matching position for the real images. The parser 110 may extract a key point and a description from real images, for example. The parser 110 may be used with one or more algorithms to extract feature points and descriptors. The one or more algorithms may include, for example, an algorithm based on FAST (features form accelerated segment test) with an emphasis on speed.
상기 파서(110)는 실사 영상들 각각으로부터 추출된 특징점 및 기술자를 매칭하는 과정을 수행하고, 상기 매칭되는 특징점들에 대한 위치 관계를 판단할 수 있다. 상기 파서(110)는 위치 관계를 고려하여 실사 영상들 간에 정합되는 위치를 검출할 수 있다. 상기 파서(110)는 상기 검출한 정합되는 위치를 기반으로 실사 영상들 간 대응되는 특징점들이 포함된 영역 (이하 '중첩 영역'이라 칭함)을 확인할 수 있다. 상기 중첩 영역은, 예를 들어, 서로 다른 시점에서 촬영된 실사 영상에 상응한 다수 프레임들에서 동일한 피사체를 포함하고 있는 영역이 될 수 있다. 상기 중첩 영역은, 예를 들어, 프레임의 상하를 연결하는 소정 면적을 갖는 영역 또는 프레임의 좌우를 연결하는 소정 면적을 갖는 영역 또는 프레임의 좌 (또는 우)와 상 (또는 하)를 연결하는 소정 면적을 갖는 영역이 될 수 있다. The parser 110 may perform a process of matching minutiae and descriptors extracted from each of the real images, and may determine the positional relationship with the matching minutiae. The parser 110 may detect the position of matching between the real images in consideration of the positional relationship. The parser 110 can identify an area (hereinafter referred to as an overlap area) including corresponding minutiae between the real images based on the detected matched position. The overlap area may be an area including the same subject in multiple frames corresponding to a still image captured at different points in time, for example. For example, the overlap area may be a region having a predetermined area connecting the upper and lower sides of the frame, an area having a predetermined area connecting the left and right sides of the frame, or a predetermined area connecting the left (or right) It may be an area having an area.
상기 파서(110)는 중첩 영역에 대한 위치 정보와 중첩 영역에 대한 깊이 맵을 영상 처리 모듈(100)로 제공할 수 있다.The parser 110 may provide the image processing module 100 with the position information on the overlap area and the depth map on the overlap area.
상술한 바에 따르면, 상기 파서(110)가 실사 영상들에 대한 정합 위치를 생성하기 위한 동작을 수행하지만, 해당 동작은 상기 파서(110)가 아닌 정합 위치 생성부 등의 별도 물리적인 구성에 의해 수행될 수도 있다. According to the above description, the parser 110 performs an operation for generating a matching position for real images, but the corresponding operation is performed by a separate physical structure such as a matching position generating unit, not the parser 110 .
상기 프레임 추출부(120)는 상기 파서(110)로부터 제공받은 실사 영상들 각각으로부터 프레임들을 추출할 수 있다. 상기 프레임들은 예를 들어, 한 장의 정지 영상을 구성하는 단위 또는 동영상을 구성하는 특정 시점에서의 영상을 구성하는 단위 등이 될 수 있다. 상기 프레임 추출부(120)는 상기 추출한 프레임들을 영상 처리 모듈(100)로 제공할 수 있다.The frame extracting unit 120 may extract frames from each of the real images provided from the parser 110. [ The frames may be, for example, a unit constituting a still image or a unit constituting an image at a specific time point constituting a moving image. The frame extracting unit 120 may provide the extracted frames to the image processing module 100.
하나의 실시 예에 따르면, 영상 처리 모듈(100)에 포함된 최소 오류 행렬 생성부(130), 최소 오류 경계 생성부(140), 최소 오류 경계 방향 선택부(150) 및 영상 합성부(160) 각각은 하기와 같은 동작을 수행할 수 있다.According to one embodiment, the minimum error matrix generator 130, the minimum error boundary generator 140, the minimum error boundary direction selector 150 and the image synthesizer 160 included in the image processing module 100, Each can perform the following operations.
상기 최소 오류 행렬 생성부(130)는 실사 영상들 각각으로부터 추출한 프레임들과 상기 실사 영상들 각각으로부터 추출하거나 생성한 깊이 맵 및 위치 정보를 제공받을 수 있다. 상기 최소 오류 행렬 생성부(130)는 제공 받은 프레임들과 깊이 맵 및 위치 정보를 기반으로 최소 오류 행렬을 생성할 수 있다. 상기 최소 오류 행렬은, 예를 들어, 하나의 프레임을 구성하는 픽셀들 각각에 상응한 고유 값을 계산하고, 상기 프레임을 구성하는 픽셀 별로 계산한 고유 값들을 정의하는 행렬일 수 있다.The minimum error matrix generator 130 may be provided with depth maps and position information extracted or generated from each of the frames extracted from each of the real images and the real images. The minimum error matrix generator 130 may generate a minimum error matrix based on the provided frames, the depth map, and the position information. The minimum error matrix may be, for example, a matrix for calculating eigenvalues corresponding to each of the pixels constituting one frame and defining eigenvalues calculated for the pixels constituting the frame.
상기 최소 오류 행렬 생성부(130)는, 예를 들어, 하기 수학식 1에 의해 최소 오류 행렬을 획득할 수 있다. The minimum error matrix generator 130 may obtain a minimum error matrix, for example, by the following equation (1).
Figure PCTKR2019000111-appb-M000001
Figure PCTKR2019000111-appb-M000001
상기 수학식 1에서, E(i,j)는 프레임 A와 프레임 B의 합성에 따른 중첩 영역 내의 픽셀들 각각에 대응한 위치 (i,j)에서의 깊이 맵 기반 최소 오류 행렬 값을 나타내고, OA(i,j)는 프레임 A에서의 중첩 영역 내 픽셀들 각각에 대응한 위치 (이하 '제1 픽셀 위치'라 칭함)를 나타내고, OB(i,j)는 프레임 B에서의 중첩 영역 내 픽셀들 각각에 대응한 위치 (이하 '제2 픽셀 위치'라 칭함)를 나타내고, D(i,j)는 프레임 A와 프레임 B의 합성에 따른 중첩 영역 내의 픽셀들 각각에 상응한 깊이 맵 값을 나타내고, Quant()는 양자화 함수를 나타낸다. In Equation (1), E (i, j) represents a depth map-based minimum error matrix value at a position (i, j) corresponding to each of the pixels in the overlap region due to the combination of the frame A and the frame B, and O a (i, j) is a position corresponding to the overlapping area each of the pixels in frame a represents a (the "first pixel location" referred to), O B (i, j ) is the overlapping area of the frame B within the D (i, j) represents a position corresponding to each of the pixels (hereinafter referred to as a second pixel position), and D (i, j) represents a depth map value corresponding to each pixel in the overlap region according to the combination of the frame A and the frame B. And Quant () represents a quantization function.
즉, 상기 수학식 1에서는 두 개의 프레임들 (프레임 A, 프레임 B)을 합성할 시에 중첩될 영역 (중첩 영역)에 포함된 픽셀들 각각을 정의하는 고유 값을 얻기 위한 하나의 방안을 제시하고 있다. 하지만 상기 중첩 영역에 포함된 픽셀들 각각에 상응한 고유 값은 다양한 방안에 의해 구현될 수 있음은 물론이다.That is, in Equation (1), a scheme for obtaining an eigenvalue defining each of the pixels included in the overlapping region (overlap region) when combining two frames (frame A and frame B) is proposed have. However, it is a matter of course that the eigenvalues corresponding to each of the pixels included in the overlap region can be implemented by various schemes.
상기 수학식 1 내에서의 양자화 함수는 깊이 맵 값들을 다수개의 단계 (양자화 레벨)로 양자화하기 위해 사용될 수 있다. 상기 양자화 함수는, 예를 들어, 깊이가 깊을수록 즉, 카메라와 영상 내 객체 사이의 거리(심도)가 멀수록 깊이 맵 값이 큰 값의 가중치 값에 대응되도록 사용될 수 있다. 상기와 같은 양자화 함수가 사용될 경우, 경계 생성시 먼 거리의 객체가 가까이에 있는 객체를 가리면서 발생할 수 있는 오류를 최소화할 수 있다.The quantization function in Equation (1) can be used to quantize the depth map values into a plurality of steps (quantization levels). The quantization function may be used such that, for example, the depth map becomes larger as the depth (depth) between the camera and the image is greater. When the above quantization function is used, it is possible to minimize an error that may occur when an object at a long distance is covered by a nearby object when creating a boundary.
상기 최소 오류 행렬 생성부(130)는 최소 오류 행렬을 획득하면, 상기 획득한 최소 오류 행렬을 최소 오류 경계 생성부(140)로 출력한다. 상기 최소 오류 행렬은, 예를 들어, 중첩 영역에 포함된 픽셀들 각각의 특성을 지시하는 고유 값을 정의할 수 있다.When the minimum error matrix generator 130 obtains the minimum error matrix, the minimum error matrix generator 130 outputs the minimum error matrix to the minimum error boundary generator 140. The minimum error matrix may define eigenvalues indicating, for example, the characteristics of each of the pixels included in the overlap region.
상기 최소 오류 경계 생성부(140)는 상기 최소 오류 행렬 생성부(130)로부터 제공된 최소 오류 행렬을 이용하여 중첩 영역 내에서 경계 생성 방향 별로의 경계를 생성할 수 있다. The minimum error boundary generator 140 may generate a boundary for each boundary generation direction in the overlap area using the minimum error matrix provided from the minimum error matrix generator 130. [
상기 경계는, 예를 들어, 최소 오류 행렬을 기반으로 다수 프레임들을 합성할 중첩 영역 내에서 오류 발생 확률이 낮을 것으로 예상되는 픽셀들의 연결을 정의한다. 이는 다수 프레임들을 합성할 시에 오류가 발생할 확률을 낮출 수 있을 뿐만 아니라, 합성 시의 오류를 보정하기 위한 연산량을 줄일 수 있도록 할 것이다. 일 예로, 두 개의 프레임들을 합성할 시, 오류 발생 가능성이 낮은 픽셀들에서 상기 두 개의 프레임들이 합성될 경계를 설정함으로써, 합성에 따른 오류 정도 및 오류 보정을 위한 연산량을 줄일 수 있도록 한다.The boundaries define, for example, connections of pixels that are expected to have a low probability of error occurrence within the overlap region for compositing multiple frames based on a minimum error matrix. This will not only reduce the probability of errors occurring when composing multiple frames, but also reduce the amount of computation required to correct errors during compositing. For example, when two frames are synthesized, the boundaries at which the two frames are synthesized in the pixels with low probability of error are set, thereby reducing the amount of error due to composition and the amount of computation for error correction.
상기 중첩 영역을 사각형으로 정의할 때, 예를 들어, 상기 중첩 영역 내에서의 경계를 생성하는 방향 (이하 '경계 생성 방향'이라 칭함)은 경계의 시작 위치 (경계의 시작 픽셀 위치)를 기준으로 하단 방향, 상단 방향, 우단 방향으로 구분할 수 있다. 즉, 상기 경계의 시작 위치는 중첩 영역을 정의하는 사각형을 구성하는 네 개 모서리들 (상측 모서리, 하측 모서리, 좌측 모서리, 우측 모서리) 중 경계 생성을 시작하는 픽셀이 위치하는 모서리에 의해 정의될 수 있다.When defining the overlapping area as a rectangle, for example, a direction for generating a boundary in the overlapping area (hereinafter referred to as a " boundary generation direction " Bottom direction, upper direction, and right direction. That is, the starting position of the boundary may be defined by a corner where four pixels (upper edge, lower edge, left edge, right edge) constituting the rectangle defining the overlap region constitute the boundary generating pixel have.
일 예로, 경계의 시작 픽셀 위치가 상측 모서리인 경우에 경계 생성 방향은 하단 방향이 될 수 있고, 상기 경계의 시작 픽셀 위치가 하측 모서리인 경우에 경계 생성 방향은 상단 방향이 될 수 있으며, 상기 경계의 시작 픽셀 위치가 좌측 모서리인 경우에 경계 생성 방향은 우단 방향이 될 수 있다.For example, when the starting pixel position of the boundary is the upper edge, the boundary generation direction may be the lower direction, and when the starting pixel position of the boundary is the lower edge, the boundary generation direction may be the upper direction, The boundary generation direction may be the right edge direction.
하기 수학식 2, 3 및 4는 경계 생성 방향 별로 경계에 상응한 픽셀들을 결정하는 것을 정의하고 있다.The following equations (2), (3) and (4) define the determination of the pixels corresponding to the boundaries for each boundary generation direction.
Figure PCTKR2019000111-appb-M000002
Figure PCTKR2019000111-appb-M000002
Figure PCTKR2019000111-appb-M000003
Figure PCTKR2019000111-appb-M000003
Figure PCTKR2019000111-appb-M000004
Figure PCTKR2019000111-appb-M000004
상기 수학식 2와 같이 정의되는 Sia(i,j)는 중첩 영역의 하단 방향으로 생성되는 경계 (이하 '하단 방향 경계'라 칭함)를 정의하고, 수학식 3과 같이 정의되는 Sib(i,j)는 중첩 영역의 상단 방향으로 생성되는 경계 (이하 '상단 방향 경계'라 칭함)를 정의하며, 수학식 4와 같이 정의되는 Sj(i,j)는 중첩 영역의 우단 방향으로 생성되는 경계 (이하 '우단 방향 경계'라 칭함)를 정의한다. 상기 수학식 2, 3, 4에 공통으로 사용된 E(i, j)는 최소 오류 행렬을 나타낸다. 상기 최소 오류 행렬 E(i, j)는 최소 오류 행렬 생성부(130)에 의해 제공될 수 있다.S ia (i, j) defined as Equation (2) defines a boundary (hereinafter referred to as a lower boundary) generated in the lower direction of the overlap region and S ib , j) defines a boundary (hereinafter referred to as an upper boundary) generated in the upper direction of the overlap region, and S j (i, j) defined as in Equation 4 is generated in the right direction of the overlap region (Hereinafter referred to as " right direction boundary "). E (i, j) commonly used in the equations (2), (3) and (4) represents a minimum error matrix. The minimum error matrix E (i, j) may be provided by the minimum error matrix generator 130.
일 실시 예에 따르면, 최소 오류 경계 생성부(140)는 최소 오류 행렬을 기반으로 중첩 영역 내에서 경계 생성 방향 별로 오류가 발생될 가능성이 낮은 픽셀들의 위치를 탐색하는 최소 오류 탐색 동작을 수행한다. 상기 최소 오류 탐색 시 다음 탐색 행 또는 열 뿐만 아니라 같은 행 또는 열의 주변의 픽셀 값 (최소 오류 행렬에서 픽셀 별로 정의하고 있는 고유 값)을 참고하여 경계 생성 방향 별로 경계를 생성할 수 있다. 이는 경계 생성 방식을 더 유연하게 하며, 가능한 경계의 범위를 비약적으로 상승시킨다. 또한 하단, 상단, 우단 면을 시작점으로 총 세 가지의 경계를 제안함으로써, 생성될 수 있는 모든 방향의 경계를 고려하여 프레임들을 합성할 수 있도록 한다. 이는 파노라마 영상의 경우 좌, 우 영상 합성을 고려하지만 최근 대두되고 있는 360도 영상의 경우 상, 하, 좌, 우 영상 합성을 고려하므로 전 방향 합성 기술이 필요하고, 이를 지원하기 위함이다.According to an exemplary embodiment, the minimum error boundary generator 140 performs a minimum error search operation to search for positions of pixels having a low probability of generating an error for each boundary generation direction in the overlapping area based on the minimum error matrix. The boundaries can be generated for each boundary generation direction by referring to pixel values (eigenvalues defined for each pixel in the minimum error matrix) around the same row or column as well as the next search row or column in the minimum error search. This makes the boundary generation method more flexible and dramatically increases the range of possible boundaries. In addition, by suggesting three boundaries, starting from the bottom, top, and right edge, we can synthesize the frames considering the boundaries of all directions that can be generated. It considers the synthesis of left and right images in the case of panoramic image, but considering the synthesis of up, down, left, and right images for 360 degree image which is emerging recently, omnidirectional synthesis technique is needed and it is to support this.
상기 최소 오류 경계 생성부(140)가 상기 수학식 2, 3, 4를 이용하여 상기 상단 방향 경계, 상기 하단 방향 경계 및 상기 우단 방향 경계를 생성하는 구체적인 방법에 대해서는 이후 도 3(a) 내지 도 5(b)를 참조하여 상세히 설명하기로 한다.A concrete method of generating the upper boundary, the lower boundary, and the right boundary using the equations (2), (3), and (4) 5 (b).
상술한 바에 따르면, 상기 최소 오류 경계 생성부(140)는 중첩 영역에서 상기 상단 방향 경계, 상기 하단 생성 경계 및 상기 우단 생성 경계가 각각 생성되면, 상기 생성된 각 경계에 대한 정보를 상기 최소 오류 경계 방향 선택부(150)로 출력한다.When the upper boundary, the lower edge generation boundary, and the right edge generation boundary are generated in the overlap area, the minimum error boundary generator 140 generates the minimum error boundary And outputs it to the direction selector 150.
그러면 상기 최소 오류 경계 방향 선택부(150)는 상기 중첩 영역의 각 방향에서 생성된 경계 중 가장 작은 오류값을 갖는 경계를 선택한다. 이를 위해, 상기 최소 오류 경계 방향 선택부(150)는 하기와 같은 수학식 5를 사용할 수 있다. Then, the minimum error boundary direction selection unit 150 selects a boundary having the smallest error value among the boundaries generated in each direction of the overlap region. For this, the minimum error boundary direction selection unit 150 may use Equation (5) as follows.
Figure PCTKR2019000111-appb-M000005
Figure PCTKR2019000111-appb-M000005
상기 수학식 5에서 S(i)는 생성된 경계를 나타내며, N은 생성된 경계에 대한 픽셀 수를 나타내며, SEAMavr은 해당 경계의 오류 평균을 나타낸다. SEAMavr를 이용할 경우, 상기 생성된 경계에 의해 발생될 수 있는 오류를 수치로 확인할 수 있다. In Equation (5), S (i) represents the generated boundary, N represents the number of pixels for the generated boundary, and SEAMavr represents the error average of the boundary. When SEAMavr is used, an error that can be caused by the generated boundary can be confirmed numerically.
따라서 각 방향의 경계에 대한 SEAMavr은 해당 경계를 평가하는 척도로서 이용될 수 있다. 예를 들어, 상기 최소 오류 경계 방향 선택부(150)는 각 방향의 경계에 대한 오류의 평균 중 가장 작은 값을 갖는 경계에 대응되는 방향을 선택할 수 있다. 상기 최소 오류 경계 방향 선택부(150)는 상기 선택된 방향의 경계(즉, 최소 오류를 갖는 경계)에 대한 정보를 상기 영상 합성부(160)로 출력한다. Therefore, the SEAMavr for each direction boundary can be used as a measure for evaluating the boundary. For example, the minimum error boundary direction selection unit 150 may select a direction corresponding to a boundary having the smallest error among the average of the errors with respect to the boundaries of the respective directions. The minimum error boundary direction selection unit 150 outputs information on the boundary of the selected direction (i.e., the boundary having the minimum error) to the image composition unit 160. [
상기 영상 합성부(160)는 상기 최소 오류 경계 방향 선택부(150)로부터 입력되는 경계에 대한 정보를 기반으로 상기 중첩 영역 내의 영상들을 합성한다. 상기 영상 합성부(160)는 상기 정보에 대응되는 경계를 기준으로 좌, 우 혹은 상, 하 방향으로 해당 실사 영상들을 합성하여 파노라마 영상을 출력한다. The image synthesizer 160 synthesizes the images in the overlap area based on the information about the boundary input from the minimum error boundary direction selector 150. The image synthesizer 160 synthesizes the real images in the left, right, up, and down directions on the basis of the boundary corresponding to the information, and outputs the panorama image.
한편 도 1에서는 상기 최소 오류 행렬 생성부(130), 상기 최소 오류 경계 생성부(140), 상기 최소 오류 경계 방향 생성부(150) 및 상기 영상 합성부(160)가 개별적인 구성부로서 도시되었으나, 다양한 실시 예에 따라 상기 구성부들(130)(140)(150)(160)은 제어부나 프로세서 등과 같은 적어도 하나의 물리적인 구성부(100)로서 구현될 수 있음은 물론이다. 1, the minimum error matrix generator 130, the minimum error boundary generator 140, the minimum error boundary direction generator 150, and the image synthesizer 160 are shown as separate components. However, It is to be understood that the components 130, 140, 150, and 160 may be implemented as at least one physical component 100, such as a controller or processor, in accordance with various embodiments.
도 2(a)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 일 예를 나타낸 그래프이고, 도 2(b)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 다른 예를 나타낸 그래프이다. 그리고 도 2(c)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 또 다른 예를 나타낸 그래프이고, 도 2(d)는 일 실시 예에 따른 깊이 맵 값들을 양자화하기 위해 사용되는 양자화 함수를 추가적인 예를 나타낸 그래프이다. FIG. 2 (a) is a graph showing an example of a quantization function used for quantizing depth map values according to an embodiment, and FIG. 2 (b) is a graph used to quantize depth map values according to an embodiment A graph showing another example of the quantization function. FIG. 2 (c) is a graph showing another example of a quantization function used to quantize the depth map values according to an embodiment. FIG. 2 (d) is a graph illustrating a quantization function for quantizing depth map values according to an embodiment A graph showing a further example of the quantization function used.
도 2(a) 내지 도 2(d)에 나타난 바와 같은 그래프에서 가로 축은 0~255 사이의 값으로 표현되는 각 픽셀 별 깊이 맵 값을 나타내고, 세로 축은 각 깊이 맵 값에 대응되는 가중치 값을 나타낸다.In the graphs shown in FIGS. 2 (a) to 2 (d), the horizontal axis represents depth map values for each pixel expressed by a value between 0 and 255, and the vertical axis represents a weight value value corresponding to each depth map value .
상기 양자화 함수는 도 2(a) 내지 도 2(d)에 도시된 바와 같은 다양한 형태로 깊이 맵 값과 가중치 값 간의 관계를 정의할 수 있다. 상기 양자화 함수는 도 2(a) 내지 도 2(d)에 나타난 바와 같이, 깊이가 깊을수록 즉, 카메라와 영상 내 객체 사이의 거리가 멀수록, 깊이 맵 값에 대응되는 가중치 값이 커지도록 한다. The quantization function may define the relationship between the depth map value and the weight value in various forms as shown in Figs. 2 (a) to 2 (d). As shown in Figs. 2 (a) to 2 (d), the quantization function increases the weight value corresponding to the depth map as the depth increases, that is, as the distance between the camera and the object in the image increases .
도 2(a) 내지 도 2(d)에서는 상기 깊이 맵 값에 대응될 수 있는 가중치 값들이 16 단계로 양자화된 것을 일 예로 보이고 있다. 하지만, 상기 가중치 값들은 이에 한정되지 않고 다양하게 변경되어 사용될 수 있다. 상기와 같은 양자화 함수가 사용될 경우, 경계 생성시 먼 거리의 객체가 가까이에 있는 객체를 가리면서 발생할 수 있는 오류를 최소화할 수 있다.In FIGS. 2 (a) to 2 (d), the weight values that can correspond to the depth map values are quantized into 16 levels. However, the weight values are not limited thereto and may be used in various ways. When the above quantization function is used, it is possible to minimize an error that may occur when an object at a long distance is covered by a nearby object when creating a boundary.
이하 도 3(a) 내지 도 5(b)를 참조하여 하단 방향 경계, 상단 방향 경계 및 우단 방향 경계를 생성하는 과정을 각각 설명하기로 한다. Hereinafter, the processes of generating the lower boundary, the upper boundary, and the right boundary will be described with reference to FIGS. 3 (a) through 5 (b).
도 3(a)는 일 실시 예에 따른 하단 방향 경계를 생성하기 위한 중첩 영역을 나타낸 도면이고, 도 3(b)는 일 실시 예에 따른 하단 방향 경계를 생성하는 과정을 나타낸 도면이다.FIG. 3 (a) is a view illustrating an overlap area for creating a lower boundary according to an embodiment of the present invention, and FIG. 3 (b) is a diagram illustrating a process of creating a lower boundary according to an embodiment.
먼저 도 3(a)를 참조하면, 중첩 영역은 일 예로 9 x 7의 픽셀들을 갖는 사각형 영역이 될 수 있으며, 각 픽셀 위치 별로 최소 오류 행렬 값들(즉, E(i, j))이 결정될 수 있다. 앞서 수학식 1과 관련하여 설명한 바와 같이, 상기 최소 오류 행렬 값들은 각각 해당 픽셀 위치의 깊이 맵 값에 대응되는 가중치가 적용된 값이다. 따라서 상기 최소 오류 행렬 값이 작을수록 카메라와 영상 내 객체 간의 거리가 가까운 것으로 판단될 수 있다.3 (a), the overlap region may be a rectangular region having 9 x 7 pixels, for example, and the minimum error matrix values (i.e., E (i, j)) may be determined for each pixel position have. As described above with reference to Equation (1), the minimum error matrix values are values to which weights corresponding to the depth map values of the corresponding pixel positions are applied, respectively. Therefore, the smaller the minimum error matrix value, the closer the distance between the camera and the object in the image is.
한편, 도 3(a)에 나타난 바와 같은 최소 오류 행렬 값들은 앞서 설명한 수학식 1을 기반으로 생성된 것으로서, 도 3(b)에 나타난 바와 같은 하단 방향 경계값들(수학식 2의 Sia(i,j)에 대응)을 생성하기 위해 사용될 수 있다. On the other hand, in Figure 3 the minimum error metric value as shown in (a) are described above as being generated based on equation (1), the lower direction as shown in FIG. 3 (b) threshold (in Equation 2 S ia ( i, j).
예를 들어, 수학식 2를 기반으로, 도 3(a)에서 상기 중첩 영역의 첫 번째 행에 포함된 E(1, j) 값들(9, 4, 4, 9, 16, 25, 4, 1, 2)은 그대로 S1a(1, j) 값들(9, 4, 4, 9, 16, 25, 4, 1, 2)로 생성된다. 그리고 상기 중첩 영역의 두 번째 행에 위치한 E(2, j) 값들(4, 4, 9, 16, 1, 9, 9, 4, 25)은 S2a(2, j) 값(8, 8, 13, 20, 10, 13, 10, 5, 26)으로 업데이트 된다. 이처럼 상기 하단 방향 경계값들을 생성하기 위한 시작점은 인접한 두 개의 행들(예: 1행, 2행)이 존재할 때 상기 두 개의 행들 중 실질적인 값들의 업데이트가 시작되는 하단에 위치한 행(예: 2행)의 값들이 될 수 있다. For example, based on Equation (2), E (1, j) values (9, 4, 4, 9, 16, 25, 4, 1) included in the first row of the overlapping region , 2) are generated as S 1a (1, j) values 9, 4, 4, 9, 16, 25, 4, 1, 2 as they are. The values E (2, j) (4, 4, 9, 16, 1, 9, 9, 4, 25) located in the second row of the overlap region are represented by S 2a 13, 20, 10, 13, 10, 5, 26). The starting point for generating the lower boundary values may be a row (e.g., two rows) positioned at the lower end of the update of actual values of the two rows when there are two adjacent rows (e.g., 1 row and 2 rows) . ≪ / RTI >
각 픽셀 위치의 값들이 업데이트되는 것을 상세하게 살펴보면, 픽셀 위치 (2, 2)에서의 E(2, 2)의 값 4는 상기 픽셀 위치 (2, 2)의 이전 행에 인접한 3개의 E(1, 1), E(1, 2), E(1, 3)의 값들(9, 4, 4) 중 가장 작은 값 4와 더해지고, 상기 E(2, 2)의 값은 상기 더해진 결과 값인 S2a(2, 2)의 값 8로 업데이트된다. The value 4 of E (2, 2) at pixel position (2, 2) is equal to the value of E (1, 2) adjacent to the previous row of pixel position The value of E (2, 2) is added to the smallest value 4 of the values (9, 4, 4) of E (1, 2), E 2a (2, 2).
또한, 픽셀 위치 (3, 3)에서의 E(3, 3)의 값 4는 상기 픽셀 위치 (3, 3)의 이전 행에 인접한 3개의 E(1, 1), E(1, 2), E(1, 3)의 값들(즉, 업데이트된 값인 8, 13, 20) 중 가장 작은 값 8과 더해지고, 상기 E(3, 3)의 값은 상기 더해진 결과 값인 S2a(3, 3)의 값 12로 업데이트된다.Further, the value 4 of E (3, 3) at the pixel position 3, 3 corresponds to three E (1, 1), E (1, 2) E (1, 3) values (i.e., the updated value of 8, 13, 20) the summed with a value 8, the value of the E (3, 3) of the value of the added result S 2a (3, 3) of the Lt; / RTI >
상기와 같은 방식으로 E(i, j)에 대한 업데이트가 모두 완료되면, 도 3(b)에 나타난 바와 같은 결과가 산출된다. 도 3(b)에 도시된 화살표는 해당 픽셀에 대한 E(i, j)의 값이 더해지는 방향을 나타내는데, 도 3(b)에서는 상기 방향이 상기 중첩 영역의 하단 방향인 경우를 보이고 있다. When all the updates to E (i, j) are completed in the above manner, the result as shown in FIG. 3 (b) is calculated. The arrows shown in FIG. 3 (b) show the direction in which the values of E (i, j) are added to the corresponding pixels. FIG. 3 (b) shows a case where the direction is the bottom direction of the overlap region.
한편, 도 3(b)에 나타난 바와 같은 Sia(i, j)가 결정되면, 각 행 별로 최소 값이 검출된다. 상기 검출된 최소 값에 대응되는 픽셀들은 연결되어 하단 방향 경계로서 결정될 수 있다. 도 3(b)의 예에서는 1~7행 각각에서 최소값(1, 5, 6, 7, 8, 9, 10)을 갖는 픽셀들이 상기 하단 방향 경계를 위한 픽셀들로 결정될 수 있다. On the other hand, when S ia (i, j) as shown in FIG. 3 (b) is determined, a minimum value is detected for each row. The pixels corresponding to the detected minimum value may be connected and determined as a bottom boundary. In the example of FIG. 3 (b), pixels having the minimum values (1, 5, 6, 7, 8, 9, 10) in each of the first to seventh rows may be determined as pixels for the lower boundary.
도 4(a)는 일 실시 예에 따른 상단 방향 경계를 생성하기 위한 중첩 영역을 나타낸 도면이고, 도 4(b)는 일 실시 예에 따른 상단 방향 경계를 생성하는 과정을 나타낸 도면이다.FIG. 4A is a view showing an overlap area for creating an upper boundary according to an embodiment, and FIG. 4B is a diagram illustrating a process of creating an upper boundary according to an embodiment.
먼저 도 4(a)를 참조하면, 상기 중첩 영역은 일 예로 9 x 7의 픽셀들을 갖는 사각형 영역이 될 수 있으며, 각 픽셀 위치 별로 최소 오류 행렬 값들(즉, E(i, j))이 결정될 수 있다. 앞서 수학식 1과 관련하여 설명한 바와 같이, 상기 최소 오류 행렬 값들은 각각 해당 픽셀 위치의 깊이 맵 값에 대응되는 가중치가 적용된 값이다. 따라서 상기 최소 오류 행렬 값이 작을수록 카메라와 영상 내 객체 간의 거리가 가까운 것으로 판단될 수 있다.Referring to FIG. 4A, the overlap region may be a rectangular region having 9 x 7 pixels, and minimum error matrix values (i.e., E (i, j)) are determined for each pixel position . As described above with reference to Equation (1), the minimum error matrix values are values to which weights corresponding to the depth map values of the corresponding pixel positions are applied, respectively. Therefore, the smaller the minimum error matrix value, the closer the distance between the camera and the object in the image is.
한편, 도 4(a)에 나타난 바와 같은 최소 오류 행렬값들은 앞서 설명한 수학식 1을 기반으로 생성된 것으로서, 도 4(b)에 나타난 바와 같은 상단 방향 경계값들(수학식 3의 Sib(i,j)에 대응)을 생성하기 위해 사용될 수 있다. On the other hand, the 4 minimum error metric value as shown in (a) are described above as being generated based on equation (1), the upper direction as shown in Fig. 4 (b) threshold (in Equation 3 S ib ( i, j).
예를 들어, 수학식 3을 기반으로, 도 4(a)에서 상기 중첩 영역의 마지막 행에 포함된 E(7, j) 값들(4, 4, 1, 1, 4, 25, 1, 4, 4)은 그대로 S7b(7, j) 값들(4, 4, 1, 1, 4, 25, 1, 4, 4)로 생성된다. 그리고 상기 중첩 영역의 가장 하단으로부터 두 번째 행에 위치한 E(6, j) 값들(4, 25)은 S6b(6, j) 값(8, 26, 17, 26, 5, 5, 2, 5, 8)으로 업데이트 된다. 이처럼 상기 상단 방향 경계값들을 생성하기 위한 시작점은 인접한 두 개의 행들(예: 6행, 7행)이 존재할 때 상기 두 개의 행들 중 실질적인 값들의 업데이트가 시작되는 상단에 위치한 행(예: 6행)의 값들이 될 수 있다.(4, 4, 1, 4, 25, 1, 4, 5) included in the last row of the overlap region in FIG. 4 (a) 4) are generated as S 7b (7, j) values (4, 4, 1, 1, 4, 25, 1, 4, 4) as they are. And in the second row from the bottom in the overlap region E (6, j) values (4, 25) S 6b (6, j) values (8, 26, 17, 26, 5, 5, 2 and 5 , 8). The starting point for generating the upper direction boundary values may be a row (e.g., 6 rows) positioned at the upper position where update of substantial values of the two rows is started when two adjacent rows (e.g., row 6, row 7) . ≪ / RTI >
각 픽셀 위치의 값들이 업데이트되는 것을 상세하게 살펴보면, 픽셀 위치 (6, 7)에서의 E(6, 7)의 값 1은 상기 픽셀 위치 (6, 7)의 다음 행에 인접한 3개의 E(7, 6), E(7, 7), E(7, 8)의 값들(25, 1, 4) 중 가장 작은 값 1과 더해지고, 상기 E(7, 6)의 값은 상기 더해진 결과 값인 S6b(6, 7)의 값 2로 업데이트된다. The value 1 of E (6, 7) at pixel positions 6 and 7 is the sum of the three E (7, 7) adjacent to the next row of pixel positions 6, 7 , E (7, 6), E (7, 7) and E (7, 8) are added to the smallest value 1 among the values 25, 6b (6, 7).
또한, 픽셀 위치 (5, 4)에서의 E(5, 4)의 값 4는 상기 픽셀 위치 (5, 4)의 다음 행에 인접한 3개의 E(6, 3), E(6, 4), E(6, 5)의 값들(즉, 업데이트된 값인 17, 26, 5) 중 가장 작은 값 5와 더해지고, 상기 E(5, 4)의 값은 상기 더해진 결과 값인 S5b(5, 4)의 값 9로 업데이트된다.Further, the value 4 of E (5, 4) at the pixel position 5, 4 corresponds to three E (6, 3), E (6, 4) E (6, 5), the values (i.e., the updated value of 17, 26, 5) the summed with a value 5, the value of the E (5, 4) of the said added result value, S 5b (5, 4) of the To " 9 "
상기와 같은 E(i, j)에 대한 업데이트가 모두 완료되면, 도 4(b)에 나타난 바와 같은 결과가 산출된다. 도 4(b)에 도시된 화살표는 해당 픽셀에 대한 E(i, j)의 값이 더해지는 방향을 나타내는데, 도 4(b)에서는 상기 방향이 상기 중첩 영역의 상단 방향인 경우를 보이고 있다. When all the updates to E (i, j) as described above are completed, the result as shown in Fig. 4 (b) is calculated. The arrows shown in FIG. 4 (b) show the direction in which the value of E (i, j) is added to the pixel. In FIG. 4 (b), the direction is the upper direction of the overlapping area.
한편, 도 4(b)에 나타난 바와 같은 Sib(i, j)가 결정되면, 각 행 별로 최소 값이 검출된다. 상기 검출된 최소 값에 대응되는 픽셀들은 연결되어 상단 방향 경계로서 결정될 수 있다. 도 4(b)의 예에서는 1~7행 각각에서 최소값(10, 9, 5, 4, 3, 2, 1)을 갖는 픽셀들이 상기 상단 방향 경계를 위한 픽셀로서 결정될 수 있다. On the other hand, when S ib (i, j) as shown in FIG. 4 (b) is determined, a minimum value is detected for each row. The pixels corresponding to the detected minimum value may be connected and determined as the upper direction boundary. In the example of FIG. 4 (b), pixels having the minimum values (10, 9, 5, 4, 3, 2, 1) in each of the first to seventh rows may be determined as pixels for the upper direction boundary.
도 5(a)는 일 실시 예에 따른 우단 방향 경계를 생성하기 위한 중첩 영역을 나타낸 도면이고, 도 5(b)는 일 실시 예에 따른 우단 방향 경계를 생성하는 과정을 나타낸 도면이다.FIG. 5A is a diagram illustrating an overlap region for generating a right-direction boundary according to an embodiment, and FIG. 5B is a diagram illustrating a process of generating a right-direction boundary according to an embodiment.
먼저 도 5(a)를 참조하면, 중첩 영역은 일 예로 9 x 7의 픽셀들을 갖는 사각형 영역이 될 수 있으며, 각 픽셀 위치 별로 최소 오류 행렬 값들(즉, E(i, j))이 결정될 수 있다. 앞서 수학식 1과 관련하여 설명한 바와 같이, 상기 최소 오류 행렬 값들은 각각 해당 픽셀 위치의 깊이 맵 값에 대응되는 가중치가 적용된 값이다. 따라서 상기 최소 오류 행렬 값이 작을수록 카메라와 영상 내 객체 간의 거리가 가까운 것으로 판단될 수 있다.5 (a), the overlap region may be a rectangular region having 9 x 7 pixels, for example, and the minimum error matrix values (i.e., E (i, j)) may be determined for each pixel position have. As described above with reference to Equation (1), the minimum error matrix values are values to which weights corresponding to the depth map values of the corresponding pixel positions are applied, respectively. Therefore, the smaller the minimum error matrix value, the closer the distance between the camera and the object in the image is.
한편, 도 5(a)에 나타난 바와 같은 최소 오류 행렬 값들은 앞서 설명한 수학식 1을 기반으로 생성된 것으로서, 도 5(b)에 나타난 바와 같은 우단 방향 경계값들(수학식 4의 Sj(i,j)에 대응)을 생성하기 위해 사용될 수 있다. On the other hand, the 5 minimum error metric value as shown in (a) are described above as being generated based on equation (1), the right end in the same direction as shown in Figure 5 (b) threshold (of equation 4 S j ( i, j).
예를 들어, 수학식 4를 기반으로, 도 5(a)에서 상기 중첩 영역의 첫 번째 열에 포함된 E(i, 1) 값들(9, 4, 4, 4, 25, 4, 4)은 그대로 S1(i, 1) 값들(9, 4, 4, 4, 25, 4, 4)로 생성된다. 그리고 상기 중첩 영역의 두 번째 열에 위치한 E(i, 2) 값들(4, 4, 16, 4, 25, 25, 4)은 S2(i, 2) 값(8, 8, 20, 8, 29, 29, 8)으로 업데이트 된다. 이처럼 상기 우단 방향 경계값들을 생성하기 위한 시작점은 인접한 두 개의 열들(예: 1열, 2열)이 존재할 때 상기 두 개의 열들 중 실질적인 값들의 업데이트가 시작되는 우단에 위치한 행(예: 2열)의 값들이 될 수 있다. For example, based on Equation (4), E (i, 1) values (9, 4, 4, 4, 25, 4, 4) included in the first column of the overlap region in FIG. S 1 (i, 1) values (9, 4, 4, 4, 25, 4, 4). And in the second column of the overlap region E (i, 2) values (4, 4, 16, 4, 25, 25, 4) S 2 (i, 2) value (8, 8, 20, 8, 29 , 29, 8). The starting point for generating the right direction boundary values is a row (e.g., two columns) located at the right end where the updating of substantial values of the two columns is started when two adjacent columns (e.g., columns 1 and 2) . ≪ / RTI >
각 픽셀 위치의 값들이 업데이트되는 것을 상세하게 살펴보면, 픽셀 위치 (2, 2)에서의 E(2, 2)의 값 4는 상기 픽셀 위치 (2, 2)의 이전 열에 인접한 3개의 E(1, 1), E(2, 1), E(3, 1)의 값들(9, 4, 4) 중 가장 작은 값 4와 더해지고, 상기 E(2, 2)의 값은 상기 더해진 결과 값인 S2(2, 2)의 값 8로 업데이트된다. The value 4 of E (2, 2) at pixel position 2, 2 is equal to the value of E (1, 2) adjacent to the previous column of pixel position 2, 1), E (2, 1 ), E (3, 1) values (9, 4, 4) the summed with a value 4, the value of the E (2, 2) of the S 2 value of the added result of the (2, 2).
또한, 픽셀 위치 (3, 3)에서의 E(3, 3)의 값 4는 상기 픽셀 위치 (3, 3)의 이전 열에 인접한 3개의 E(2, 2), E(3, 2), E(4, 2)의 값들(즉, 업데이트된 값인 8, 20, 8) 중 가장 작은 값 8과 더해지고, 상기 E(3, 3)의 값은 상기 더해진 결과 값인 S2(3, 3)의 값 12로 업데이트된다.Further, the value 4 of E (3, 3) at the pixel position 3, 3 corresponds to three E (2, 2), E (3, 2), E (4, 2) the values summed and the smallest value of 8 (i.e., the updated value of 8, 20, 8), the E (3, 3) the value of the added result value, S 2 (3, 3) of the The value is updated to 12.
상기와 같은 방식으로 E(i, j)에 대한 업데이트가 모두 완료되면, 도 5(b)에 나타난 바와 같은 결과가 산출된다. 도 5(b)에 도시된 화살표는 해당 픽셀에 대한 E(i, j)의 값이 더해지는 방향을 나타내는데, 도 5(b)에서는 상기 방향이 상기 중첩 영역의 우단 방향인 경우를 보이고 있다. When all the updates to E (i, j) are completed in the above manner, a result as shown in FIG. 5 (b) is calculated. The arrows shown in FIG. 5 (b) show the direction in which the value of E (i, j) is added to the pixel. In FIG. 5 (b), the direction is the rightward direction of the overlapping area.
한편, 도 5(b)에 나타난 바와 같은 Sj(i, j)가 결정되면, 각 열 별로 최소 값이 검출된다. 상기 검출된 최소 값에 대응되는 픽셀들은 연결되어 우단 방향 경계로서 결정될 수 있다. 도 5(b)의 예에서는 1~9열 각각에서 최소값(4, 8, 9, 10, 14, 15, 9, 13, 17)을 갖는 픽셀들이 상기 우단 방향 경계를 위한 픽셀들로 결정될 수 있다. On the other hand, when S j (i, j) as shown in FIG. 5 (b) is determined, a minimum value is detected for each column. The pixels corresponding to the detected minimum value may be connected and determined as a right-direction boundary. In the example of Fig. 5 (b), pixels having the minimum values (4, 8, 9, 10, 14, 15, 9, 13, 17) in columns 1 to 9 can be determined as pixels for the right- .
도 3(a) 내지 도 5(b)에서 설명한 방식을 기반으로 상단 방향 경계, 하단 방향 경계, 우단 방향 경계가 결정되면, 앞서 설명한 수학식 5를 기반으로 상기 결정된 경계들 중 오류가 발생될 가능성이 적은 경계가 선택될 수 있다. 그리고 상기 선택된 경계에 대응되는 방향으로 실사 영상들은 합성되어 파노라마 영상으로서 생성될 수 있다. When the upper boundary, the lower boundary, and the right boundary are determined based on the schemes described with reference to FIGS. 3A to 5B, the probability of occurrence of an error among the determined boundaries based on Equation (5) This lower boundary can be selected. And the real images may be synthesized in the direction corresponding to the selected boundary to be generated as a panoramic image.
도 6은 일 실시 예에 따른 중첩 영역을 나타낸 도면이다. 6 is a diagram illustrating an overlap region according to one embodiment.
상기 중첩 영역(600)은 서로 다른 시점에서 촬영된 실사 영상에 상응한 다수 프레임들(610)(620)에서 동일한 피사체를 포함하고 있는 영역이 될 수 있다. 상기 중첩 영역은, 예를 들어, 프레임의 상하를 연결하는 소정 면적을 갖는 영역 또는 프레임의 좌우를 연결하는 소정 면적을 갖는 영역 또는 프레임의 좌 (또는 우)와 상 (또는 하)를 연결하는 소정 면적을 갖는 영역이 될 수 있다. The overlap area 600 may be an area including the same object in the multiple frames 610 and 620 corresponding to the real image shot at different points in time. For example, the overlap area may be a region having a predetermined area connecting the upper and lower sides of the frame, an area having a predetermined area connecting the left and right sides of the frame, or a predetermined area connecting the left (or right) It may be an area having an area.
도 6에서는 프레임의 좌우를 연결하는 소정 면적을 갖는 영역으로서 상기 중첩 영역(600)이 사각형 형태를 가지는 것을 일 예로 보이고 있으나, 상기 중첩 영역(600)의 형태는 이에 한정되지 않고 다양하게 변경될 수 있다. 한편, 상기 중첩 영역(600)을 구성하는 4개의 모서리들을 각각 A, B, C, D로 나타낼 경우, 도 7(a) 내지 도 7(f)에 나타난 바와 같은 최소 오류 경계들이 생성될 수 있다. In FIG. 6, the overlap area 600 has a rectangular shape as an area having a predetermined area connecting left and right sides of the frame. However, the shape of the overlap area 600 is not limited to this, have. On the other hand, when four edges constituting the overlap region 600 are denoted by A, B, C, and D, respectively, minimum error boundaries as shown in FIGS. 7A to 7F can be generated .
도 7(a)는 일 실시 예에 따른 최소 오류 경계의 제1 예를 나타낸 도면이고, 도 7(b)는 일 실시 예에 따른 최소 오류 경계의 제2 예를 나타낸 도면이고, 도 7(c)는 일 실시 예에 따른 최소 오류 경계의 제3 예를 나타낸 도면이고, 도 7(d)는 일 실시 예에 따른 최소 오류 경계의 제4 예를 나타낸 도면이고, 도 7(e)는 일 실시 예에 따른 최소 오류 경계의 제5 예를 나타낸 도면이고, 도 7(f)는 일 실시 예에 따른 최소 오류 경계의 제6 예를 나타낸 도면이다. FIG. 7A is a diagram illustrating a first example of a minimum error boundary according to an embodiment, FIG. 7B is a diagram illustrating a second example of a minimum error boundary according to an embodiment, and FIG. 7C 7D is a diagram illustrating a fourth example of a minimum error boundary according to an embodiment, and FIG. 7E is a diagram showing a fourth example of a minimum error boundary according to an embodiment FIG. 7 (f) is a diagram illustrating a sixth example of a minimum error boundary according to an exemplary embodiment of the present invention.
앞서 설명한 수학식 1 내지 5를 기반으로 하는 방식이 사용될 경우 최소 오류 경계가 생성될 수 있는데, 상기 최소 오류 경계의 형태는 도 7(a) 내지 도 7(f)에 도시된 바와 같이 다양한 형태로 나타날 수 있다. A minimum error boundary may be generated when a scheme based on equations (1) to (5) as described above is used, the shape of the minimum error boundary may vary in various forms, as shown in FIGS. 7 (a) .
도 7(a)는 상기 중첩 영역의 상단에서 우단으로 이어지는 형태의 최소 오류 경계를 나타내고, 도 7(b)는 상기 중첩 영역의 상단에서 하단으로 이어지는 형태의 최소 오류 경계를 나타내고, 도 7(c)는 상기 중첩 영역의 상단에서 좌단으로 이어지는 형태의 최소 오류 경계를 나타낸다. 7 (a) shows the minimum error boundary of the shape extending from the upper end to the right end of the overlap region, Fig. 7 (b) shows the minimum error boundary of the shape extending from the upper end to the lower end of the overlap region, and Fig. 7 ) Represents a minimum error boundary of the form leading from the top of the overlap region to the left end.
그리고 도 7(d)는 상기 중첩 영역의 우단에서 하단으로 이어지는 형태의 최소 오류 경계를 나타내고, 도 7(e)는 상기 중첩 영역의 좌단에서 우단으로 이어지는 형태의 최소 오류 경계를 나타내고, 도 7(f)는 상기 중첩 영역의 좌단에서 하단으로 이어지는 형태의 최소 오류 경계를 나타낸다. 7 (d) shows the minimum error boundary of the shape extending from the right end to the bottom end of the overlap region, FIG. 7 (e) shows the minimum error boundary of the shape extending from the left end to the right end of the overlap region, f) represents a minimum error boundary of the shape extending from the left end to the bottom end of the overlap region.
일 실시 예에 따르면 상기와 같이 중첩 영역의 최소 오류 경계가 다양하게 생성될 수 있음에 따라, 상기 최소 오류 경계를 기준으로 좌, 우 혹은 상, 하 방향으로 해당 실사 영상들을 합성하여 다양한 형태의 파노라마 영상을 생성할 수 있다.According to the embodiment, since the minimum error boundaries of the overlapping region can be generated in various manners, the corresponding real images are synthesized in the left, right, up, and down directions with respect to the minimum error boundary, Images can be generated.
도 8(a)는 기존의 방식을 사용하여 생성한 파노라마 영상의 일 예를 나타낸 도면이고, 도 8(b)는 앞서 제안된 일 실시 예에 따른 방식을 사용하여 생성한 파노라마 영상의 일 예를 나타낸 도면이다. 앞서 제안된 바와 같은 최소 오류 경계를 기반으로 실사 영상들을 합성할 경우, 영상 합성시 발생하는 이미지 왜곡 등의 오류가 해결될 수 있다. FIG. 8A is a view showing an example of a panorama image generated using the conventional method, FIG. 8B is an example of a panorama image generated using the method according to the embodiment of the present invention, Fig. When the real images are synthesized based on the minimum error boundaries as described above, errors such as image distortion occurring during image synthesis can be solved.
예를 들어, 깊이 맵 값 등이 고려되지 않는 기존의 방식을 사용하여 영상들을 합성할 경우 도 8(a)의 도면 부호 810에 나타난 바와 같이 객체의 일부 이미지가 소실되는 문제가 발생할 수 있다. 하지만, 앞서 제안된 방식을 사용하여 영상들을 합성할 경우 도 8(b)의 도면 부호 820에 나타난 바와 같이 이미지 소실없는 파노라마 영상을 생성할 수 있게 된다. For example, when an image is synthesized using an existing method in which a depth map value and the like are not considered, there may occur a problem that a partial image of an object is lost as indicated by reference numeral 810 in FIG. 8 (a). However, when the images are synthesized using the above-described method, a panorama image without image loss can be generated as indicated by reference numeral 820 in FIG. 8 (b).
도 9는 일 실시 예에 따른 영상 합성 장치의 영상 합성 방법을 나타낸 순서도이다. 9 is a flowchart illustrating an image synthesizing method of an image synthesizing apparatus according to an embodiment.
도 9를 참조하면, 상기 영상 합성 장치는 실사 영상들과 상기 실사 영상들(프레임들) 각각에 대응하는 깊이 맵을 수신한다(동작 910). 각 실사 영상 별 깊이 맵은 해당 실사 영상의 크기와 동일하거나 상이한 크기를 가질 수 있는데, 전체 시스템 성능을 고려할 경우 해당 실사 영상의 크기와 동일한 크기를 갖는 깊이 맵이 사용되는 것이 더 유리할 것이다. 이는 해당 실사 영상과 깊이 맵이 상이한 크기를 가질 경우, 크기를 정합하는 과정에서 정보의 손실이 존재할 수 있으므로 전체 시스템의 성능에 영향을 끼칠 수 있기 때문이다. Referring to FIG. 9, the image synthesizer receives a depth map corresponding to each of the real images and the real images (operation 910). The depth map of each real image may have the same or different size than the corresponding real image. If the overall system performance is considered, it is more advantageous to use a depth map having the same size as the corresponding real image. This is because, if the real image and the depth map have different sizes, there is a loss of information in the process of matching the sizes, which may affect the performance of the entire system.
상기 영상 합성 장치는 상기 실사 영상들의 정합 위치를 생성하기 위한 동작을 수행한다(동작 920). 즉, 상기 영상 합성 장치는 상기 실사 영상들 각각으로부터 추출된 특징점 및 기술자를 매칭하는 과정을 수행하고, 매칭되는 특징점들에 대한 위치 관계를 판단한다. 그리고 상기 영상 합성 장치는 상기 위치 관계를 고려하여 상기 실사 영상들 간에 정합되는 위치를 생성하고, 상기 생성된 위치를 기반으로 중첩 영역을 확인한다.The image synthesizer performs an operation to generate a matching position of the real images (operation 920). That is, the image synthesizer performs a process of matching feature points and descriptors extracted from each of the real images, and determines a positional relationship between the matching feature points. In addition, the image synthesizing apparatus generates a position to be matched between the real images in consideration of the positional relationship, and confirms the overlapping region based on the generated position.
상기 영상 합성 장치는 상기 중첩 영역에 대한 위치 정보와 깊이 맵을 기반으로 최소 오류 행렬을 생성한다(동작 930). 앞서 살펴본 수학식 1에 나타난 바와 같이, 상기 깊이 맵을 기반으로 하는 각 픽셀 별 깊이 맵 값은 가중치 값으로 변경되어 상기 최소 오류 행렬에 반영된다. The image synthesizer generates a minimum error matrix based on the position information and the depth map of the overlap area (operation 930). As shown in Equation 1, the depth map value for each pixel based on the depth map is changed to a weight value and reflected in the minimum error matrix.
상기 영상 합성 장치는 상기 최소 오류 행렬을 사용하여 최소 오류 경계를 생성한다(동작 940). 예를 들어, 상기 영상 합성 장치는 수학식 2, 3, 4를 기반으로 상기 중첩 영역의 각 방향 별로 경계를 생성하고, 상기 생성된 경계들 중 오류가 가장 적게 발생할 가능성이 있는 경계를 선택함으로써 상기 최소 오류 경계를 생성할 수 있다. The image synthesizer generates a minimum error boundary using the minimum error matrix (operation 940). For example, the image synthesizer generates a boundary for each direction of the overlapping area based on Equations 2, 3, and 4, and selects a boundary where errors are least likely to occur among the generated boundaries, A minimum error boundary can be generated.
상기 영상 합성 장치는 상기 최소 오류 경계가 생성되면, 파노라마 영상으로서 합성 영상을 생성할지 여부를 결정한다(동작 950). 그리고 상기 영상 합성 장치는 상기 합성 영상을 생성할 것으로 결정한 경우, 상기 최소 오류 경계를 기반으로 중첩 영역 내의 영상들을 합성하여 상기 파노라마 영상을 생성한다(동작 960). 도 9에 도시된 동작들은 상기 파노라마 영상 생성을 위해 반복적으로 수행될 수 있다. When the minimum error boundary is generated, the image synthesizing apparatus determines whether to generate a composite image as a panorama image (operation 950). If it is determined that the composite image should be generated, the image synthesizer synthesizes the images in the overlap region based on the minimum error boundary to generate the panorama image (operation 960). The operations shown in FIG. 9 may be repeatedly performed for generating the panoramic image.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited by the illustrated embodiments, but should be determined by the scope of the appended claims and equivalents thereof.

Claims (12)

  1. 영상 합성 방법에 있어서, In the image synthesis method,
    다수의 영상들 각각에 상응하는 다수의 프레임들로부터 추출된 특징점들을 기반으로 상기 다수의 프레임들을 정렬하는 과정과,Comprising the steps of: arranging the plurality of frames based on feature points extracted from a plurality of frames corresponding to each of a plurality of images;
    상기 정렬된 프레임들로 이루어진 영역에서 상기 정렬된 프레임들 간 대응되는 특징점들을 포함하는 중첩 영역을 확인하는 과정과,Identifying an overlap region including feature points corresponding to each other among the aligned frames in an area including the aligned frames;
    상기 중첩 영역의 깊이 정보를 기반으로 각 픽셀 별 가중치를 결정하고, 상기 중첩 영역에 포함된 프레임들의 픽셀 값들 간 차이에 상기 각 픽셀 별 가중치를 부여하여 최소 오류 행렬을 생성하는 과정과, Determining a weight for each pixel based on the depth information of the overlap region and generating a minimum error matrix by assigning a weight for each pixel to a difference between pixel values of frames included in the overlap region;
    상기 최소 오류 행렬을 이용하여 경계를 생성하고, 상기 생성된 경계를 기반으로 상기 정렬된 프레임들을 합성하는 과정을 포함하는 영상 합성 방법.Generating a boundary using the minimum error matrix, and compositing the aligned frames based on the generated boundary.
  2. 제1항에 있어서, The method according to claim 1,
    상기 다수의 프레임들을 정렬하는 과정은, Wherein the step of aligning the plurality of frames comprises:
    상기 다수의 프레임들로부터 추출된 특징점들을 기반으로 정합 위치를 결정하고, 상기 결정된 정합 위치를 기반으로 상기 다수의 프레임들을 정렬하는 과정을 포함하는 영상 합성 방법.Determining a matching position based on the extracted feature points from the plurality of frames, and aligning the plurality of frames based on the determined matching position.
  3. 제1항에 있어서, The method according to claim 1,
    상기 각 픽셀 별 가중치는 상기 깊이 정보에 포함된 깊이 맵 값에 비례하는 값을 가짐을 특징으로 하는 영상 합성 방법.Wherein the weight of each pixel has a value proportional to a depth map value included in the depth information.
  4. 제1항에 있어서, The method according to claim 1,
    상기 최소 오류 행렬을 이용하여 경계를 생성하는 과정은, Generating a boundary using the minimum error matrix,
    상기 최소 오류 행렬의 행 단위로 픽셀 값들을 업데이트 하여 업데이트 행렬을 생성하는 과정과, Generating a update matrix by updating pixel values in units of rows of the minimum error matrix;
    상기 업데이트 행렬의 각 열 별로 최소 값을 갖는 픽셀 값을 검출하고, 상기 검출된 각 열의 픽셀 값을 기반으로 상기 경계를 생성하는 과정을 포함하는 영상 합성 방법.Detecting a pixel value having a minimum value for each column of the update matrix and generating the boundary based on pixel values of the detected columns.
  5. 제4항에 있어서, 5. The method of claim 4,
    상기 최소 오류 행렬의 행 단위로 픽셀 값들을 업데이트 하는 과정은,Updating the pixel values in units of rows of the minimum error matrix,
    상기 최소 오류 행렬의 특정 행에 포함된 각 픽셀의 픽셀값에 인접 픽셀값들 중 가장 최소값을 갖는 픽셀 값을 더하여 해당 픽셀 값을 업데이트 하는 과정을 포함하며,And adding the pixel value having the smallest value among the adjacent pixel values to the pixel value of each pixel included in the specific row of the minimum error matrix to update the corresponding pixel value,
    상기 인접 픽셀 값들은 상기 특정 행의 상단 행 또는 하단 행에 포함된 인접 픽셀 값들임을 특징으로 하는 영상 합성 방법.Wherein the adjacent pixel values are adjacent pixel values included in an upper row or a lower row of the specific row.
  6. 제1항에 있어서, The method according to claim 1,
    상기 최소 오류 행렬을 이용하여 경계를 생성하는 과정은, Generating a boundary using the minimum error matrix,
    상기 최소 오류 행렬의 열 단위로 픽셀 값들을 업데이트 하여 업데이트 행렬을 생성하는 과정과, Generating a update matrix by updating pixel values in units of columns of the minimum error matrix;
    상기 업데이트 행렬의 각 행 별로 최소 값을 갖는 픽셀 값을 검출하고, 상기 검출된 각 행의 픽셀 값을 기반으로 상기 경계를 생성하는 과정을 포함하는 영상 합성 방법.Detecting a pixel value having a minimum value for each row of the update matrix and generating the boundary based on pixel values of the detected rows.
  7. 제6항에 있어서, The method according to claim 6,
    상기 최소 오류 행렬의 열 단위로 픽셀 값들을 업데이트 하는 과정은,Updating the pixel values in units of columns of the minimum error matrix,
    상기 최소 오류 행렬의 특정 열에 포함된 각 픽셀의 픽셀값에 인접 픽셀값들 중 가장 최소값을 갖는 픽셀 값을 더하여 해당 픽셀 값을 업데이트 하는 과정을 포함하며,And adding the pixel value having the smallest value among the adjacent pixel values to the pixel value of each pixel included in the specific column of the minimum error matrix to update the corresponding pixel value,
    상기 인접 픽셀 값들은 상기 특정 열의 우측 행 또는 좌측 행에 포함된 인접 픽셀 값들임을 특징으로 하는 영상 합성 방법.Wherein the adjacent pixel values are adjacent pixel values included in a right row or a left row of the specific column.
  8. 제1항에 있어서, The method according to claim 1,
    상기 최소 오류 행렬을 이용하여 경계를 생성하는 과정은, Generating a boundary using the minimum error matrix,
    상기 최소 오류 행렬의 제1행을 시작으로 픽셀 값들을 업데이트 하여 제1업데이트 행렬을 생성하고, 상기 제1업데이트 행렬의 각 열 별로 최소 값을 갖는 픽셀 값을 검출하고, 상기 제1업데이트 행렬로부터 검출된 각 열의 픽셀 값을 기반으로 제1경계를 생성하는 과정과,Generating a first update matrix by updating pixel values starting from a first row of the minimum error matrix, detecting a pixel value having a minimum value for each column of the first update matrix, Generating a first boundary based on pixel values of each column,
    상기 최소 오류 행렬의 제2행을 시작으로 픽셀 값들을 업데이트 하여 제2업데이트 행렬을 생성하고, 상기 제2업데이트 행렬의 각 열 별로 최소 값을 갖는 픽셀 값을 검출하고, 상기 제2업데이트 행렬로부터 검출된 각 열의 픽셀 값을 기반으로 제2경계를 생성하는 과정과,And a second updating matrix is generated by updating pixel values starting from a second row of the minimum error matrix, a pixel value having a minimum value for each column of the second updating matrix is detected, Generating a second boundary based on pixel values of each column,
    상기 최소 오류 행렬의 제1열을 시작으로 픽셀 값들을 업데이트 하여 제3업데이트 행렬을 생성하고, 상기 제3업데이트 행렬의 각 행 별로 최소 값을 갖는 픽셀 값을 검출하고, 상기 제3업데이트 행렬로부터 검출된 각 열의 픽셀 값을 기반으로 제3경계를 생성하는 과정과,A pixel update step of generating a third update matrix by updating pixel values starting from a first column of the minimum error matrix, detecting a pixel value having a minimum value for each row of the third update matrix, Generating a third boundary based on pixel values of each column,
    상기 제1경계, 상기 제2경계 및 상기 제3경계 중 하나를 상기 정렬된 프레임들을 합성하기 위해 사용할 경계로 선택하는 과정을 포함하는 영상 합성 방법. Selecting one of the first boundary, the second boundary and the third boundary as a boundary to be used for synthesizing the aligned frames.
  9. 제8항에 있어서, 9. The method of claim 8,
    상기 제1경계, 상기 제2경계 및 상기 제3경계 중 하나를 상기 정렬된 프레임들을 합성하기 위해 사용할 경계로 선택하는 과정은, Selecting one of the first boundary, the second boundary, and the third boundary as a boundary to be used for compositing the aligned frames,
    상기 제1경계를 생성하는 픽셀 값들에 대한 평균값을 계산하여 제1값을 생성하고, 상기 제2경계를 생성하는 픽셀 값들에 대한 평균값을 계산하여 제2값을 생성하고, 상기 제3경계를 생성하는 픽셀 값들에 대한 평균값을 계산하여 제3값을 생성하는 과정과, Generating a first value by calculating an average value for pixel values that generate the first boundary, calculating an average value for pixel values that generate the second boundary to generate a second value, Generating a third value by calculating an average value for the pixel values to be generated;
    상기 제1값, 제2값, 제3값 중 가장 작은 값에 대응하는 경계를 상기 정렬된 프레임들을 합성하기 위해 사용할 경계로 선택하는 과정을 포함하는 영상 합성 방법.And selecting a boundary corresponding to a smallest value among the first value, the second value and the third value as a boundary to be used for synthesizing the aligned frames.
  10. 제8항에 있어서, 9. The method of claim 8,
    상기 정렬된 프레임들을 합성하는 과정은,Wherein the step of synthesizing the aligned frames comprises:
    상기 선택된 경계를 기반으로 상기 정렬된 프레임들을 상, 하 또는 좌, 우 방향으로 합성하는 과정을 포함하는 영상 합성 방법. And combining the sorted frames in an up, down, left, and right directions based on the selected boundaries.
  11. 영상 합성 장치에 있어서, In the image synthesizer,
    다수의 영상들을 획득하기 위한 인터페이스부와,An interface unit for acquiring a plurality of images,
    상기 다수의 영상들 각각에 상응하는 다수의 프레임들로부터 추출된 특징점들을 기반으로 상기 다수의 프레임들을 정렬하고, 상기 정렬된 프레임들로 이루어진 영역에서 상기 정렬된 프레임들 간 대응되는 특징점들을 포함하는 중첩 영역을 확인하고, 상기 중첩 영역의 깊이 정보를 기반으로 각 픽셀 별 가중치를 결정하고, 상기 중첩 영역에 포함된 프레임들의 픽셀 값들 간 차이에 상기 각 픽셀 별 가중치를 부여하여 최소 오류 행렬을 생성하고, 상기 최소 오류 행렬을 이용하여 경계를 생성하고, 상기 생성된 경계를 기반으로 상기 정렬된 프레임들을 합성하는 프로세서를 포함하는 영상 합성 장치.A plurality of frames arranged on the basis of feature points extracted from a plurality of frames corresponding to each of the plurality of images, and a plurality of feature points corresponding to the aligned frames, Determining a weight for each pixel on the basis of the depth information of the overlap region, generating a minimum error matrix by assigning a weight for each pixel to a difference between pixel values of frames included in the overlap region, And a processor for generating boundaries using the minimum error matrix and compositing the aligned frames based on the generated boundaries.
  12. 청구항 2 내지 10 중 하나에 기재된 방법을 수행하도록 구성된 영상 합성 장치.An image synthesizer configured to perform the method according to any one of claims 2 to 10.
PCT/KR2019/000111 2018-01-12 2019-01-03 Image synthesizing method and device WO2019139303A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0004708 2018-01-12
KR1020180004708A KR102637913B1 (en) 2018-01-12 2018-01-12 Method and apparatus for composing images

Publications (1)

Publication Number Publication Date
WO2019139303A1 true WO2019139303A1 (en) 2019-07-18

Family

ID=67219760

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/000111 WO2019139303A1 (en) 2018-01-12 2019-01-03 Image synthesizing method and device

Country Status (2)

Country Link
KR (1) KR102637913B1 (en)
WO (1) WO2019139303A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102630106B1 (en) * 2021-04-01 2024-01-25 경희대학교 산학협력단 Apparatus and method for image stitching based on priority object

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686162A (en) * 1992-08-31 1994-03-25 Sony Corp Method and device for synthesizing video signal
KR100790890B1 (en) * 2006-09-27 2008-01-02 삼성전자주식회사 Apparatus and method for generating panorama image
JP5360190B2 (en) * 2011-12-27 2013-12-04 カシオ計算機株式会社 Image processing apparatus, image processing method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563953B2 (en) * 2014-08-28 2017-02-07 Qualcomm Incorporated Systems and methods for determining a seam

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0686162A (en) * 1992-08-31 1994-03-25 Sony Corp Method and device for synthesizing video signal
KR100790890B1 (en) * 2006-09-27 2008-01-02 삼성전자주식회사 Apparatus and method for generating panorama image
JP5360190B2 (en) * 2011-12-27 2013-12-04 カシオ計算機株式会社 Image processing apparatus, image processing method, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAO, FANG ET AL.: "Seamless Image Stitching Using Optimized Boundary Matching for Gradient and Curvature", 2010 INTERNATIONAL SYMPOSIUM ON INTELLIGENCE INFORMATION PROCESSING AND TRUSTED COMPUTING, 28 October 2010 (2010-10-28), pages 495 - 498, XP031831824, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5663453> *
LEE, JUN-TAE ET AL.: "Stitching of heterogeneous images using depth information", 2013 ASIA-PACIFIC SIGNAL AND INFORMATION PROCESSING ASSOCIATION ANNUAL SUMMIT AND CONFERENCE, 29 October 2013 (2013-10-29), pages 1 - 4, XP032549824, Retrieved from the Internet <URL:https://ieeexpiore.ieee.org/document/6694216> *

Also Published As

Publication number Publication date
KR20190086323A (en) 2019-07-22
KR102637913B1 (en) 2024-02-20

Similar Documents

Publication Publication Date Title
WO2018225967A1 (en) Device having cameras with different focal lengths and method of implementing cameras
WO2020101103A1 (en) Apparatus and method for measuring flow velocity of stream by using optical flow image processing
WO2015005577A1 (en) Camera pose estimation apparatus and method
WO2012161431A9 (en) Method for generating an image of the view around a vehicle
EP0180446A2 (en) Methods of detecting motion of television images
EP2329655A2 (en) Apparatus and method of obtaining high resolution image
WO2017222301A1 (en) Encoding apparatus and method, and decoding apparatus and method
WO2007074605A1 (en) Image processing method, image processing program, image processing device, and imaging device
WO2019139303A1 (en) Image synthesizing method and device
JP3008875B2 (en) Subject extraction device
EP2859727A1 (en) Method and apparatus for estimating image motion using disparity information of a multi-view image
WO2019098421A1 (en) Object reconstruction device using motion information and object reconstruction method using same
WO2018139810A1 (en) Sensing apparatus for calculating position information of object in motion, and sensing method using same
WO2017213335A1 (en) Method for combining images in real time
WO2023136414A1 (en) Information collection terminal device for collecting information about dangerous road objects, and operation method therefor
WO2016104842A1 (en) Object recognition system and method of taking account of camera distortion
WO2017007047A1 (en) Spatial depth non-uniformity compensation method and device using jittered comparison
WO2021221334A1 (en) Device for generating color map formed on basis of gps information and lidar signal, and control method for same
JP4605582B2 (en) Stereo image recognition apparatus and method
WO2019083068A1 (en) Three-dimensional information acquisition system using pitching practice, and method for calculating camera parameters
JPH11194027A (en) Three-dimensional coordinate measuring instrument
WO2021158039A1 (en) Method and device for downscaling image
JP2004240909A (en) Image processor and image processing method
WO2015141877A1 (en) Method and apparatus for automatically generating and projecting multi-sided images
WO2019231119A1 (en) Apparatus and method for congestion visualization

Legal Events

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

Ref document number: 19738114

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19738114

Country of ref document: EP

Kind code of ref document: A1