KR102224321B1 - Coding Method and Device for Depth Video Plane Modeling - Google Patents

Coding Method and Device for Depth Video Plane Modeling Download PDF

Info

Publication number
KR102224321B1
KR102224321B1 KR1020190108600A KR20190108600A KR102224321B1 KR 102224321 B1 KR102224321 B1 KR 102224321B1 KR 1020190108600 A KR1020190108600 A KR 1020190108600A KR 20190108600 A KR20190108600 A KR 20190108600A KR 102224321 B1 KR102224321 B1 KR 102224321B1
Authority
KR
South Korea
Prior art keywords
plane
depth image
precision
local
encoding
Prior art date
Application number
KR1020190108600A
Other languages
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 동의대학교 산학협력단
Priority to KR1020190108600A priority Critical patent/KR102224321B1/en
Application granted granted Critical
Publication of KR102224321B1 publication Critical patent/KR102224321B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

According to an embodiment of the present invention, provided is a depth image encoding method through plane modeling. The depth image encoding method through plane modeling comprises the steps of: dividing a depth image into preset blocks; converting image coordinates for pixels in the depth image into three-dimensional coordinates; modeling a block with a surface model based on the three-dimensional coordinates; generating an estimated depth value using a plane model; and encoding the block based on the estimated depth value and a plane coefficient of the plane model by varying precision of the plane coefficient. Accordingly, according to an embodiment of the present invention, the compression rate can be increased while maintaining the quality of the depth image in consideration of characteristics of the depth image.

Description

평면 모델링을 통한 깊이 영상 부호화 방법 및 장치{Coding Method and Device for Depth Video Plane Modeling}Depth Video Plane Modeling Method and Device for Depth Video Plane Modeling

본 발명은 평면 모델링을 통한 깊이 영상 부호화 방법 및 장치에 관한 것이다. 보다 상세하게는 깊이 영상 내 객체의 평면을 모델링하고 평면 모델의 평면 방정식의 계수를 부호화할 수 있는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for encoding a depth image through plane modeling. More specifically, it relates to a method and apparatus capable of modeling a plane of an object in a depth image and encoding coefficients of a plane equation of the plane model.

영상 내 화소의 거리 정보를 나타내는 깊이 정보를 구성 화소 요소로 가지는 깊이 영상을 이용하여 영상 처리에 응용하는 방법에 대한 연구가 활발하게 연구되고 있다. 이 때, 깊이 영상을 이용하여 기존 색상 영상에서는 얻을 수 없었던, 객체의 위치 정보와 거리 정보를 획득하여, 이를 통한 새로운 객체의 정보를 획득할 수 있다. 이러한 깊이 영상의 특성으로 인해 깊이 영상을 이용한 새로운 응용분야에 대한 연구가 확대되고 있다. Research is being actively conducted on a method of applying to image processing using a depth image having depth information representing distance information of a pixel in an image as a component pixel element. In this case, by using the depth image, position information and distance information of the object, which could not be obtained in the existing color image, may be acquired, and information on a new object may be obtained through the acquisition. Due to the characteristics of such depth images, research on new applications using depth images is expanding.

색상 영상에서의 환경에 민감하고, 객체내의 여러 다른 색상 정보가 존재한다는 단점을 깊이 카메라를 통해 극복하여 좀 더 정확한 객체 검출을 수행하는 연구가 이루어졌다. 깊이 영상의 거리를 이용하여 평면의 정보를 이용하여 이를 통해 영상의 왜곡과 잡음을 제거하는 연구도 이루어졌다. 또한, 깊이 영상의 거리정보를 이용하여 배경영역에 터치를 인식하는 연구와, 이를 이용하여 여러 이벤트를 제공하는 연구가 이루어졌다. 이뿐만 아니라 인물의 형태를 인식하여 사람의 얼굴을 인식하는 연구도 여러 이루어졌다. A study has been made to perform more accurate object detection by overcoming the disadvantage of being sensitive to the environment in color images and the existence of different color information in the object through a depth camera. A study was also conducted to remove distortion and noise of the image by using the information of the plane by using the distance of the depth image. In addition, a study on recognizing a touch in a background area using distance information of a depth image, and a study on providing various events using the same have been conducted. In addition, several studies have been conducted to recognize a person's face by recognizing the shape of a person.

이러한 깊이 영상의 응용분야의 확대로 인해 깊이 영상의 부호화에 대한 필요성이 증가되었다. 먼저 깊이 룩업 테이블(Depth Lookup Table)를 이용하여 깊이 영상을 부호화하는 방법이 연구되었다. 또한, 객체의 경계 정보를 깊이 영상 부호화에 이용하는 방법이 제안되었다. 깊이 영상을 히스토그램기반으로 분석하여 깊이 영상을 부호화 하는 방법도 제안되었다. 이처럼 깊이 영상에 나타나는 특징을 이용하여 영상 부호화 효율을 높이는 연구가 많이 이루어졌다. 하지만 지금까지 이루어진 깊이 영상 부호화 연구는 대체로 색상 영상 부호화에 대해 보조적으로 이루어지거나, 색상 영상과 연계하여 깊이 영상을 부호화하는 방법에 한정되었다. Due to the expansion of the application fields of such depth images, the need for encoding depth images has increased. First, a method of encoding a depth image using a depth lookup table was studied. In addition, a method of using the boundary information of an object for depth image encoding has been proposed. A method of encoding the depth image by analyzing the depth image based on the histogram was also proposed. As such, many studies have been conducted to increase the efficiency of image encoding by using the features appearing in the depth image. However, studies on depth image encoding conducted so far have been limited to methods of encoding a depth image in conjunction with a color image or in connection with a color image.

대한민국등록특허공보 10-1817140 B1Korean Registered Patent Publication 10-1817140 B1

본 발명은 깊이 영상 내의 평면을 모델링하고 평면 모델을 이용하여 깊이를 예측하고 깊이 예측과 평면 모델의 계수를 이용하여 깊이 영상을 부호화할 수 있는 방법 및 장치를 제공할 수 있다.The present invention can provide a method and apparatus capable of modeling a plane in a depth image, predicting depth using a plane model, and encoding a depth image using depth prediction and coefficients of the plane model.

또한, 본 발명은 깊이 영상의 특성을 고려하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있는 평면 모델링을 통한 깊이 영상 부호화 방법 및 장치를 제공할 수 있다.In addition, the present invention can provide a depth image encoding method and apparatus through plane modeling capable of increasing a compression rate while maintaining the quality of the depth image in consideration of the characteristics of the depth image.

또한, 본 발명은 평면 모델의 계수의 정밀도를 가변하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있는 평면 모델링을 통한 깊이 영상 부호화 방법 및 장치를 제공할 수 있다.In addition, the present invention can provide a method and apparatus for encoding a depth image through plane modeling capable of increasing a compression rate while maintaining the quality of a depth image by varying the precision of coefficients of a plane model.

또한, 본 발명은 깊이 영상에 따라서 평면 모델의 계수의 정밀도를 선택적으로 가변하여 부호화 할 수 있는 평면 모델링을 통한 깊이 영상 부호화 방법 및 장치를 제공할 수 있다.In addition, the present invention can provide a method and apparatus for encoding a depth image through plane modeling capable of selectively changing and encoding a coefficient of a plane model according to a depth image.

또한, 본 발명은 깊이 영상 내의 평면을 국소 단위로 모델링 하여 세밀하고 정교한 평면 모델을 이용하여 깊이 영상을 부호화할 수 있는 평면 모델링을 통한 깊이 영상 부호화 방법 및 장치를 제공할 수 있다.In addition, the present invention can provide a depth image encoding method and apparatus through plane modeling capable of encoding a depth image using a detailed and sophisticated plane model by modeling a plane in a depth image in a local unit.

실시예에 따른 평면 모델링을 통한 깊이 영상 부호화 방법은, 깊이 영상을 기 설정된 블록 단위로 분할하는 단계; 깊이 영상 내 화소에 대한 영상 좌표를 3차원 좌표로 변환하는 단계; 상기 3차원 좌표에 기초하여 상기 블록에 대하여 표면 모델로 모델링 하는 단계; 평면 모델을 이용하여 예측깊이 값 생성하는 단계; 상기 예측깊이 값 및 상기 평면 모델의 평면 계수에 기초하고 상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 단계;를 포함할 수 있다.A method for encoding a depth image through plane modeling according to an embodiment includes: dividing the depth image into preset block units; Converting image coordinates of pixels in the depth image into 3D coordinates; Modeling the block with a surface model based on the three-dimensional coordinates; Generating a predicted depth value using a planar model; And encoding the block by varying the precision of the plane coefficient based on the prediction depth value and the plane coefficient of the plane model.

또한, 평면 모델링을 통한 깊이 영상 부호화 방법은, 상기 평면 모델은 3차원 좌표와 매개변수로 이루어진 수학식 1의 제1 평면 방정식을 이용하여 모델링될 수 있다.In addition, in the depth image encoding method through plane modeling, the plane model may be modeled using a first plane equation of Equation 1 consisting of 3D coordinates and parameters.

[수학식 1] [Equation 1]

ax+by-z+c=0ax+by-z+c=0

x, y 및 z는 3차원 좌표이고, a, b 및 c는 평면 계수이다.x, y, and z are three-dimensional coordinates, and a, b, and c are plane coefficients.

또한, 평면 모델링을 통한 깊이 영상 부호화 방법은, 상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 단계는, 상기 평면 계수의 정밀도를 가변하는 단계; 및 상기 가변된 평면 계수를 엔트로피 부호화하는 단계; 를 포함하고, 상기 평면 계수의 정밀도를 가변하는 단계는, 상기 평면 계수 a, b 및 c를 고정 소수점 형태로 변환할 수 있다.In addition, the depth image encoding method through planar modeling may include varying the precision of the plane coefficient to encode the block, comprising: varying the precision of the plane coefficient; And entropy encoding the variable plane coefficients. Including, the step of varying the precision of the plane coefficient, the plane coefficients a, b, and c may be converted into a fixed-point form.

또한, 평면 모델링을 통한 깊이 영상 부호화 방법은, 상기 평면 계수의 정밀도를 가변하는 단계는, 상기 평면 계수 a, b를 소수 첫째자리의 고정 소수점 형태로 변환하고, 상기 평면 계수 c를 정수 형태로 변환할 수 있다.In addition, in the depth image encoding method through plane modeling, the step of varying the precision of the plane coefficient may include converting the plane coefficients a and b into a fixed-point form with one decimal place and transforming the plane coefficient c into an integer form can do.

또한, 평면 모델링을 통한 깊이 영상 부호화 방법은, 상기 엔트로피 부호화는 산술 부호화 알고리즘일 수 있다.In addition, in the depth image encoding method through plane modeling, the entropy encoding may be an arithmetic encoding algorithm.

또한, 평면 모델링을 통한 깊이 영상 부호화 방법은, 상기 예측깊이 값은 영상좌표와 초점거리로 이루어진 수학식 2의 제2 평면 방정식을 이용하여 구할 수 있다.In addition, in the depth image encoding method through plane modeling, the predicted depth value may be obtained using a second plane equation of Equation 2 consisting of an image coordinate and a focal length.

[수학식 2][Equation 2]

Figure 112019090488632-pat00001
Figure 112019090488632-pat00001

Figure 112019090488632-pat00002
은 제1 추정깊이 값이고, f는 초점거리이고, a, b, c는 매개변수이고, w, h는 영상좌표이다.
Figure 112019090488632-pat00002
Is the first estimated depth value, f is the focal length, a, b, c are parameters, and w, h are image coordinates.

실시예에 따른 평면 모델링을 통한 깊이 영상 부호화 장치는, 명령들을 저장하는 적어도 하나의 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 명령들은 상기 프로세서로 하여금 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고, 상기 동작들은: 깊이 영상을 기 설정된 블록 단위로 분할하고, 깊이 영상 내 화소에 대한 영상 좌표를 3차원 좌표로 변환하고, 상기 3차원 좌표에 기초하여 상기 블록에 대하여 표면 모델로 모델링 하고, 평면 모델을 이용하여 예측깊이 값 생성하고, 상기 예측깊이 값 및 상기 평면 모델의 평면 계수에 기초하고 상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 것을 포함할 수 있다.According to an embodiment, an apparatus for encoding a depth image through plane modeling includes: at least one memory for storing commands; And at least one processor; wherein the instructions are executable by the processor to cause the processor to perform operations, and the operations include: dividing a depth image into preset block units, and Convert the image coordinates of to 3D coordinates, model the block as a surface model based on the 3D coordinates, generate a predicted depth value using a plane model, and generate the predicted depth value and the plane of the planar model It may include encoding the block by varying the precision of the plane coefficient based on the coefficient.

실시예에 따른 비일시적 컴퓨터 판독가능 매체는, 평면 모델링을 통한 깊이 영상 부호화 장치에 따른 상기 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체.The non-transitory computer-readable medium according to the embodiment is a non-transitory computer-readable medium that stores the instructions according to an apparatus for encoding a depth image through plane modeling.

본 발명의 실시예는 깊이 영상 내의 평면을 모델링하고 평면 모델을 이용하여 깊이를 예측하고 깊이 예측과 평면 모델의 계수를 이용하여 깊이 영상을 부호화할 수 있다.According to an embodiment of the present invention, a plane within a depth image may be modeled, a depth may be predicted using a plane model, and a depth image may be encoded using a depth prediction and coefficients of the plane model.

또한, 본 발명의 실시예는 깊이 영상의 특성을 고려하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있다.In addition, according to an exemplary embodiment of the present invention, while maintaining the quality of the depth image in consideration of the characteristics of the depth image, it is possible to increase the compression rate.

또한, 본 발명의 실시예는 평면 모델의 계수의 정밀도를 가변하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있다.In addition, according to an exemplary embodiment of the present invention, the compression ratio can be increased while maintaining the quality of the depth image by varying the precision of the coefficients of the planar model.

또한, 본 발명의 실시예는 깊이 영상에 따라서 평면 모델의 계수의 정밀도를 선택적으로 가변하여 부호화 할 수 있다.In addition, according to an exemplary embodiment of the present invention, the precision of coefficients of the planar model may be selectively changed and coded according to the depth image.

또한, 본 발명의 실시예는 깊이 영상 내의 평면을 국소 단위로 모델링 하여 세밀하고 정교한 평면 모델을 이용하여 깊이 영상을 부호화할 수 있다.In addition, according to an embodiment of the present invention, a plane within a depth image may be modeled in a local unit, and a depth image may be encoded using a detailed and sophisticated plane model.

도 1은 본 발명의 깊이 영상 처리 장치를 도시하는 블록도이다.
도 2는 본 발명의 실시예에 따른 평면 모델링을 통한 깊이 영상 부호화 방법에 대한 순서도이다.
도 3은 카메라 좌표계 상의 한점이 영상 평면으로 투영되는 것을 나타낸 것이다.
도 4는 제1 평면 모델링 방법에 대한 예시적인 다이어그램이다.
도 5는 도 2의 대상 블록 부호화 방법에 대한 순서도이다.
도 6은 도 5의 평면 계수의 정밀도를 가변하는 방법에 대한 순서도이다.
도 7은 평면 계수의 정밀도 변화에 따른 화면 내 예측 정확도를 설명하기 위한 실험예이다.
도 8은 국소 평면을 이용한 평면 모델링 방법에 대한 예시적인 다이어그램이다.
도 9는 도 8의 국소 평면을 생성하는 일 방법에 대한 순서도이다.
도 10은 도 9의 국소 평면의 생성 방법에서 깊이 영상 내의 화소들을 3차원 좌표계로 변환한 모습을 나타낸 것이다.
도 11은 도 9의 국소 평면에서 국소 평면의 특징을 검출하는 방법을 설명하기 위한 순서도이다.
도 12는 도 8의 국소 평면의 특징인 법선 벡터를 설명하기 위한 3차원 좌표계이다.
도 13은 도 8의 국소 평면간 유사도를 계산하는 방법을 설명하기 위한 순서도이다.
도 14는 도 8의 국소 평면간 유사도에 따른 그룹화를 통한 평면 모델링 방법을 설명하기 위한 순서도이다.
도 15는 도 8의 국소 평면을 생성하는 다른 방법에 대한 순서도이다.
도 16은 도 15의 국소 평면의 특징을 검출하는 방법을 설명하기 위한 순서도이다.
도 17은 도 15의 국소 평면의 평균 국소 벡터를 구하기 위한 국소 평면 내의 복수의 국소 벡터를 나타낸 일 예이다.
1 is a block diagram showing a depth image processing apparatus according to the present invention.
2 is a flowchart of a depth image encoding method through plane modeling according to an embodiment of the present invention.
3 shows that a point on the camera coordinate system is projected onto the image plane.
4 is an exemplary diagram for a first plane modeling method.
5 is a flowchart illustrating a method of encoding a target block of FIG. 2.
6 is a flowchart illustrating a method of varying the precision of the plane coefficient of FIG. 5.
7 is an experimental example for explaining intra-screen prediction accuracy according to a change in the precision of a plane coefficient.
8 is an exemplary diagram for a planar modeling method using a local plane.
9 is a flowchart of a method of generating the local plane of FIG. 8.
FIG. 10 shows a state in which pixels in a depth image are transformed into a 3D coordinate system in the method of generating a local plane of FIG. 9.
11 is a flowchart illustrating a method of detecting a feature of a local plane in the local plane of FIG. 9.
12 is a three-dimensional coordinate system for describing a normal vector that is a feature of the local plane of FIG. 8.
13 is a flowchart illustrating a method of calculating the similarity between local planes of FIG. 8.
14 is a flowchart illustrating a planar modeling method through grouping according to the similarity between local planes of FIG. 8.
15 is a flow chart for another method of generating the local plane of FIG. 8.
16 is a flowchart illustrating a method of detecting a feature of a local plane of FIG. 15.
FIG. 17 is an example of a plurality of local vectors in a local plane for obtaining an average local vector of the local plane of FIG. 15.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.Since the present invention can apply various transformations and have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail in the detailed description. Effects and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms. In the following embodiments, terms such as first and second are used for the purpose of distinguishing one constituent element from other constituent elements rather than a limiting meaning. In addition, expressions in the singular include plural expressions unless the context clearly indicates otherwise. In addition, terms such as include or have means that the features or components described in the specification are present, and do not preclude the possibility of adding one or more other features or components in advance. In addition, in the drawings, the size of components may be exaggerated or reduced for convenience of description. For example, the size and thickness of each component shown in the drawings are arbitrarily shown for convenience of description, and thus the present invention is not necessarily limited to what is shown.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when describing with reference to the drawings, the same or corresponding constituent elements are assigned the same reference numerals, and redundant descriptions thereof will be omitted. .

도 1은 본 발명의 깊이 영상 처리 장치를 도시하는 블록도이다.1 is a block diagram showing a depth image processing apparatus according to the present invention.

깊이 영상 처리 장치(100)는 영상 데이터를 데이터수신장치(200)로 제공할 수 있다.The depth image processing apparatus 100 may provide image data to the data receiving apparatus 200.

깊이 영상 처리 장치(100)와 데이터수신장치(200)는 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스들, 이른바 "스마트" 폰들과 같은 전화기 핸드셋들, 이른바 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 매우 다양한 디바이스들 중 임의의 것을 포함할 수도 있다.The depth image processing apparatus 100 and the data receiving apparatus 200 are desktop computers, notebook (ie, laptop) computers, tablet computers, set-top boxes, telephone handsets such as so-called "smart" phones, so-called "smart" phones. "May include any of a wide variety of devices including pads, televisions, cameras, display devices, digital media players, video gaming consoles, video streaming devices, and the like.

일부 구현예에서는, 깊이 영상 처리 장치(100)와 데이터수신장치(200)는 무선 통신을 위한 구성(10)이 갖추어 질 수 있다.In some implementations, the depth image processing apparatus 100 and the data receiving apparatus 200 may be equipped with a configuration 10 for wireless communication.

또한, 데이터수신장치(200)는 영상 처리된 영상 데이터를 컴퓨터 판독 가능 매체를 통해 수신할 수도 있다.In addition, the data receiving apparatus 200 may receive image-processed image data through a computer-readable medium.

컴퓨터 판독 가능 매체는 깊이 영상 처리 장치(100)로부터 영상처리된 영상 데이터를 데이터수신장치(200)로 이동시킬 수 있는 임의 유형의 매체 또는 디바이스를 포함할 수 있다. 일 예로, 컴퓨터 판독 가능 매체는 깊이 영상 처리 장치(100)가 영상 데이터를 데이터수신장치(200)로 직접 실시간으로 송신하는 것을 가능하게 하는 통신 매체, 이를테면 송신 채널을 포함할 수 있다.The computer-readable medium may include any type of medium or device capable of moving image data processed from the depth image processing apparatus 100 to the data receiving apparatus 200. For example, the computer-readable medium may include a communication medium, such as a transmission channel, which enables the depth image processing apparatus 100 to directly transmit image data to the data receiving apparatus 200 in real time.

영상 처리된 영상 데이터는 통신 표준, 이를테면 무선 통신 프로토콜에 따라 변조되고 데이터수신장치(200)로 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 이를테면 라디오 주파수 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반 네트워크, 이를테면 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 깊이 영상 처리 장치(100)로부터 데이터수신장치(200)로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다. 몇몇 예들에서 영상 처리된 영상 데이터가 출력 인터페이스(130)로부터 컴퓨터 판독 가능 저장 매체, 이를 테면 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체, 즉, 데이터 저장 디바이스로 출력될 수도 있다. 마찬가지로 영상 데이터는 데이터수신장치(200)의 입력 인터페이스(220)에 의해 저장 디바이스로부터 엑세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 영상 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산형 또는 국부적으로 액세스되는 비일시적 데이터 저장 매체들 중 임의의 것을 포함할 수도 있다. 추가의 예에서, 저장 디바이스는 깊이 영상 처리 장치(100)에 의해 생성된 영상 데이터를 저장할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 해당할 수도 있다.The image-processed image data may be modulated according to a communication standard, such as a wireless communication protocol, and transmitted to the data receiving apparatus 200. The communication medium may comprise any wireless or wired communication medium, such as a radio frequency spectrum or one or more physical transmission lines. The communication medium may form part of a packet-based network, such as a local area network, a wide area network, or a global network such as the Internet. The communication medium may include routers, switches, base stations, or any other equipment that may be useful to facilitate communication from the depth image processing apparatus 100 to the data receiving apparatus 200. In some examples, the image-processed image data may be output from the output interface 130 to a computer-readable storage medium, such as a non-transitory computer-readable storage medium, that is, a data storage device. Similarly, image data may be accessed from the storage device by the input interface 220 of the data receiving apparatus 200. The storage device can be any of a variety of distributed or distributed digital storage media, such as a hard drive, Blu-ray disks, DVDs, CD-ROMs, flash memory, volatile or nonvolatile memory, or any other suitable digital storage media for storing image data. It may include any of the non-transitory data storage media that are accessed locally. In a further example, the storage device may correspond to a file server or other intermediate storage device that may store image data generated by the depth image processing apparatus 100.

데이터수신장치(200)는 저장 디바이스로부터의 저장된 영상 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다.The data receiving apparatus 200 may access the stored image data from the storage device through streaming or download.

도 1의 예에서 깊이 영상 처리 장치(100)는 영상 소스(110) 및 영상처리부(120)를 포함할 수 있다. 또한, 깊이 영상 처리 장치(100)는 출력 인터페이스(130)를 더 포함할 수 있다. In the example of FIG. 1, the depth image processing apparatus 100 may include an image source 110 and an image processor 120. In addition, the depth image processing apparatus 100 may further include an output interface 130.

데이터수신장치(200)는 입력 인터페이스(220) 및 데이터처리부(210)를 포함할 수 있다. The data receiving device 200 may include an input interface 220 and a data processing unit 210.

다른 예에서 깊이 영상 처리 장치(100)와 데이터처리부(210)는 다른 컴포넌트들을 포함할 수 있다.In another example, the depth image processing apparatus 100 and the data processing unit 210 may include different components.

예를 들어 깊이 영상 처리 장치(100)는 외부 비디오 소스, 이를테면 외부 카메라로부터 영상을 수신할 수 있고, 외부 카메라는 깊이 영상(depth image)을 생성하는 깊이 영상 촬영 디바이스가 될 수 있다. For example, the depth image processing apparatus 100 may receive an image from an external video source, such as an external camera, and the external camera may be a depth image photographing device that generates a depth image.

깊이 영상 처리 장치(100)의 영상 소스(110)는 깊이 영상 촬영 디바이스, 이를테면 카메라, 이전에 촬영된 깊이 영상을 포함하는 아카이브 (archive), 및/또는 깊이 영상 콘텐츠 제공자로부터의 깊이 영상을 수신하는 인터페이스를 포함할 수도 있다.The image source 110 of the depth image processing apparatus 100 receives a depth image from a depth image photographing device, such as a camera, an archive including a previously photographed depth image, and/or a depth image from a depth image content provider. It may also include an interface.

일부 구현예에서 깊이 영상 촬영 디바이스는 장면의 깊이 정보를 픽셀(화소)당 16비트의 정수형 자료형으로 표현한 깊이 영상을 제공할 수 있다. 깊이 영상의 한 픽셀을 표현하기 위한 비트수는 변경될 수 있다. 깊이 영상 촬영 디바이스는 적외선 등을 이용하여 깊이 영상 촬영 디바이스로부터 객체 및 배경까지의 거리를 측정하여 거리에 비례 또는 반비례하는 값을 갖는 깊이 영상을 제공할 수 있다.In some implementations, the depth image capturing device may provide a depth image in which depth information of a scene is expressed in an integer data type of 16 bits per pixel (pixel). The number of bits for representing one pixel of the depth image may be changed. The depth image capturing device may provide a depth image having a value proportional or inversely proportional to the distance by measuring a distance from the depth image capturing device to an object and a background using infrared rays or the like.

깊이 영상의 화소 값은 예를 들어, RGB의 색상 정보가 아닌 일 예로 mm 단위(이에 한정하는 것은 아님)의 정수로 된 깊이 정보가 될 수 있다.The pixel value of the depth image may be, for example, not color information of RGB, but depth information of an integer of mm unit (but not limited thereto).

깊이 영상 처리 장치(100)와 데이터수신장치(200) 각각은 하나 이상의 메모리와 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 개별 로직 회로, 소프트웨어, 하드웨어, 펌웨어 또는 그것들의 임의의 조합과 같은 다양한 형태로 구성될 수 있다.Each of the depth image processing apparatus 100 and the data receiving apparatus 200 includes one or more memories, one or more microprocessors, digital signal processors (DSPs), custom integrated circuits (ASICs), field programmable gate arrays. (FPGAs), individual logic circuits, software, hardware, firmware, or any combination thereof.

메모리는 컴퓨터 판독가능 명령들 또는 프로세서 판독가능 명령들과 같은 명령들(예를 들어, 실행가능 명령들)을 포함한다. 명령들은 하나 이상의 프로세서들 각각에 의해서와 같이 컴퓨터에 의해 실행가능한 하나 이상의 명령어들을 포함할 수도 있다.The memory contains instructions (eg, executable instructions) such as computer readable instructions or processor readable instructions. Instructions may include one or more instructions executable by a computer, such as by each of one or more processors.

예를 들어 하나 이상의 명령들은 하나 이상의 프로세서들로 하여금 깊이 영상을 부호화하기 위해 깊이 영상을 프로세싱하는 것을 포함하는 동작들을 수행하기 위한 하나 이상의 프로세서들에 의해 실행가능 할 수도 있다.For example, the one or more instructions may be executable by one or more processors to cause the one or more processors to perform operations including processing the depth image to encode the depth image.

상세하게는, 영상처리부(120)는 명령어들을 저장하는 하나 이상의 메모리(121)와 상기 명령어들을 실행하는 적어도 하나의 프로세서(122)를 포함할 수 있다.In detail, the image processing unit 120 may include one or more memories 121 for storing instructions and at least one processor 122 for executing the instructions.

영상처리부(120)의 프로세서 (122)는 깊이 영상 내의 평면을 모델링하기 위한 기법들이 적용되도록 구성될 수 있다.The processor 122 of the image processing unit 120 may be configured to apply techniques for modeling a plane in the depth image.

일부 구현예에서는, 영상처리부(120)의 프로세서(122)는 깊이 영상의 깊이 값을 예측하는 기법들이 적용되도록 구성될 수도 있다.In some implementations, the processor 122 of the image processing unit 120 may be configured to apply techniques for predicting a depth value of a depth image.

일부 구현예에서는, 영상처리부(120)의 프로세서(122)는 깊이 영상을 부호화하기 위한 기법들이 적용되도록 구성될 수 있다. In some implementations, the processor 122 of the image processing unit 120 may be configured to apply techniques for encoding a depth image.

다른 구현예에서는 영상처리부(120)의 프로세서(122)는 깊이 영상을 부호화 및 복호화하는 기법이 적용되도록 구성될 수도 있다.In another embodiment, the processor 122 of the image processing unit 120 may be configured to apply a technique of encoding and decoding a depth image.

데이터처리부(210)는 영상처리부(120)로부터의 깊이 영상 데이터를 외부 장치로 전송, 디스플레이, 분석 등을 수행할 수 있도록 구성될 수 있다.The data processing unit 210 may be configured to transmit, display, and analyze the depth image data from the image processing unit 120 to an external device.

일부 구현예에서는, 데이터처리부(220)는 영상처리부(120)로부터의 부호화된 깊이 영상 데이터를 복호화할 수 있도록 구성될 수도 있다.In some implementations, the data processing unit 220 may be configured to decode the encoded depth image data from the image processing unit 120.

도 1에 도시되지 않았지만, 몇몇 실시예에서, 깊이 영상 처리 장치(100)는 부호화 장치와 통합된 장치가 될 수 있다. 몇몇 실시예에서, 깊이 영상 처리 장치(100)와 데이터처리장치(200)는 통합된 장치가 될 수 있다. 이를테면 깊이 영상 처리 장치(100)는 깊이 화면을 부호화하고, 부호화된 깊이 화면을 복호화할 수 있도록 구성될 수도 있다.Although not shown in FIG. 1, in some embodiments, the depth image processing apparatus 100 may be a device integrated with an encoding apparatus. In some embodiments, the depth image processing apparatus 100 and the data processing apparatus 200 may be integrated devices. For example, the depth image processing apparatus 100 may be configured to encode a depth screen and decode the encoded depth screen.

도 2는 본 발명의 실시예에 따른 평면 모델링을 통한 깊이 영상 부호화 방법에 대한 순서도이고, 도 3은 카메라 좌표계 상의 한점이 영상 평면으로 투영되는 것을 나타낸 것이고, 도 4는 제1 평면 모델링 방법에 대한 예시적인 다이어그램이고, 도 5는 도 2의 대상 블록 부호화 방법에 대한 순서도이고, 도 6은 도 5의 평면 계수의 정밀도를 가변하는 방법에 대한 순서도이고, 도 7은 평면 계수의 정밀도 변화에 따른 화면 내 예측 정확도를 설명하기 위한 실험예이다.2 is a flowchart of a method for encoding a depth image through plane modeling according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating that a point on a camera coordinate system is projected onto an image plane, and FIG. 4 is a diagram for a first plane modeling method. FIG. 5 is an exemplary diagram, and FIG. 5 is a flow chart for the method of encoding the target block of FIG. 2, FIG. 6 is a flow chart for a method of varying the precision of the plane coefficients of FIG. 5, and FIG. 7 is This is an experimental example to explain my prediction accuracy.

도 2를 참조하면, 본 발명의 실시예에 따른 깊이 영상의 화면 내 예측 부호화 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상을 기 설정된 블록 단위로 분할하는 단계(S100), 깊이 영상 처리 장치(100)의 프로세서(122)가 영상 좌표를 3차원 좌표로 변환 하는 단계(S200), 깊이 영상 처리 장치(100)의 프로세서(122)가 3차원 좌표에 기초하여 평면 모델로 모델링하는 단계(S300), 깊이 영상 처리 장치(100)의 프로세서(122)가 평면 모델에 기초하여 예측깊이 값을 생성하는 단계(S400), 깊이 영상 처리 장치(100)의 프로세서(122)가 블록을 부호화하는 단계(S500), 깊이 영상 처리 장치(100)의 프로세서(122)가 부호화된 모든 블록을 합쳐 깊이 영상을 부호화하는 단계(S600)를 포함할 수 있다. 도 3 내지 도 17을 참조하여 본 발명의 일 실시예에 따른 평면 모델링을 통한 깊이 영상 부호화 방법의 각 단계를 보다 상세하게 설명한다.Referring to FIG. 2, in the method of intra prediction encoding of a depth image according to an embodiment of the present invention, the processor 122 of the depth image processing apparatus 100 divides the depth image into preset block units (S100). , The processor 122 of the depth image processing apparatus 100 converts the image coordinates into 3D coordinates (S200), and the processor 122 of the depth image processing apparatus 100 converts the image coordinates into a plane model based on the 3D coordinates. Modeling (S300), the processor 122 of the depth image processing apparatus 100 generates a predicted depth value based on the planar model (S400), the processor 122 of the depth image processing apparatus 100 is a block Encoding (S500), the processor 122 of the depth image processing apparatus 100 may include combining all the encoded blocks to encode the depth image (S600). Each step of a method for encoding a depth image through plane modeling according to an embodiment of the present invention will be described in more detail with reference to FIGS. 3 to 17.

<블록 분할><Block division>

깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상을 기 설정된 블록 단위로 분할할 수 있다(S100). The processor 122 of the depth image processing apparatus 100 may divide the depth image into preset block units (S100).

예를 들어 깊이 영상은 e*f의 블록 단위로 분할될 수 있다. 복수의 블록 각각은 e*f(e, f은 자연수) 화소로 이루어진 영역으로 정의할 수 있다. For example, the depth image may be divided into blocks of e*f. Each of the plurality of blocks may be defined as an area composed of e*f (e and f are natural numbers) pixels.

예를 들어 e*f의 블록은 8*8화소나 16*16화소로 이루어진 영역으로 정의할 수 있고 해상도가 증가하면 기본 단위는 32*32나 64*64 화소로 이루어진 영역으로 정의할 수도 있다.For example, an e*f block can be defined as an area consisting of 8*8 pixels or 16*16 pixels, and when the resolution increases, the basic unit can be defined as an area consisting of 32*32 or 64*64 pixels.

<좌표 변환><Coordinate conversion>

깊이 영상 처리 장치(100)의 프로세서(122)가 영상 좌표를 3차원 좌표로 변환할 수 있다(S200). 보다 구체적으로, 도 3을 참조하면, 카메라 좌표계 상에서 객체의 임의의 한 점 는 (x, y, z)좌표를 가지며 3차원 좌표로 본다. 여기서 (x, y, z)는 영상 평면의 (w, h) 좌표를 가진 점인 영상좌표로 투영되며, z 값은 (w, h) 좌표에서의 깊이 값 d가 된다. 그리고 상기 깊이 값은 각 화소 단위로 표현될 수 있다. 상세하게는, 깊이 영상을 촬영할 때 촬영된 한 화면은 촬영 영역 내 각 점들이 가상의 평면인 영상 평면 위로 투영된다. 그리고 카메라 좌표계에서의 한점 (x, y, z)가 중앙을 원점으로 하는 영상 평면 내 한점인 (w, h)로 투영된다면, 3차원 좌표 (x, y, z)와 영상 좌표 (w, h) 사이의 관계는 수학식 1을 충족한다.The processor 122 of the depth image processing apparatus 100 may convert the image coordinates into 3D coordinates (S200). More specifically, referring to FIG. 3, an arbitrary point of an object in the camera coordinate system has (x, y, z) coordinates and is viewed as a three-dimensional coordinate. Here, (x, y, z) is projected to the image coordinate, which is a point with the (w, h) coordinate of the image plane, and the z value becomes the depth value d at the (w, h) coordinate. In addition, the depth value may be expressed in units of each pixel. Specifically, a screen captured when capturing a depth image is projected onto an image plane in which points in the capturing area are virtual planes. And if a point (x, y, z) in the camera coordinate system is projected to a point (w, h) in the image plane with the center as the origin, the three-dimensional coordinates (x, y, z) and the image coordinates (w, h) The relationship between) satisfies Equation 1.

[수학식 1][Equation 1]

x=dw/fx=dw/f

y=dh/fy=dh/f

z=dz=d

수학식 1에서 f는 카메라의 초점 거리로써, 카메라 좌표계 상에서 원점과 영상 평면과의 거리로 정의한다.In Equation 1, f is the focal length of the camera and is defined as the distance between the origin and the image plane in the camera coordinate system.

<표면 모델링 및 예측깊이 값><Surface modeling and predicted depth value>

깊이 영상 처리 장치(100)의 프로세서(122)가 3차원 좌표에 기초하여 평면 모델로 모델링할 수 있다(S300). 또한, 깊이 영상 처리 장치(100)의 프로세서(122)가 평면 모델에 기초하여 예측깊이 값을 생성할 수 있다(S400). The processor 122 of the depth image processing apparatus 100 may model a plane model based on 3D coordinates (S300). Also, the processor 122 of the depth image processing apparatus 100 may generate a predicted depth value based on the planar model (S400).

보다 구체적으로, 일 예로, 도 4를 참조하면, 평면 모델은 수학식 2에 따른 제1 평면 방정식을 이용하여 모델링 될 수 있다. More specifically, as an example, referring to FIG. 4, the plane model may be modeled using the first plane equation according to Equation 2.

[수학식 2] [Equation 2]

ax+by-z+c=0ax+by-z+c=0

수학식 2에서 a, b, c는 평면 계수이다. 카메라 좌표계 상에서 객체의 임의의 한 점은 (x, y, z) 좌표를 가지고, 여기서 (x, y)는 영상 평면의 (w, h) 좌표를 가진 점으로 투영되고, z값은 (w, h) 좌표에서의 이상적인 깊이 값이 되며, 해당 이상적인 깊이 값은 각 화소 단위로 표현될 수 있다. 영상 좌표(w, h)는 잡음이 포함된 블록 내에서 잡음이 발생하지 않은 화소일 수 있다. 또한, 모델링된 평면 모델은 수학식 3의 행렬식으로 나타낼 수 있다. 즉, 모델링된 평면 모델은 수학식 4의 행렬 A와 행렬B의 3차원 좌표와 관련된 행렬과 행렬 R의 모델링된 평면 계수로 나타낼 수 있다.In Equation 2, a, b, and c are plane coefficients. Any one point of the object in the camera coordinate system has (x, y, z) coordinates, where (x, y) is projected to a point with (w, h) coordinates of the image plane, and the z value is (w, h) It becomes an ideal depth value at the coordinates, and the corresponding ideal depth value can be expressed in units of each pixel. The image coordinates (w, h) may be pixels in which noise does not occur in a block containing noise. In addition, the modeled plane model can be represented by the determinant of Equation 3. That is, the modeled plane model may be represented by a matrix related to the three-dimensional coordinates of matrices A and B in Equation 4 and modeled plane coefficients of the matrix R.

[수학식 3][Equation 3]

AR=BAR=B

[수학식 4][Equation 4]

Figure 112019090488632-pat00003
Figure 112019090488632-pat00003

또한, 평면 계수로 구성된 행렬 R을 수학식 5를 이용하여 구할 수 있다.In addition, a matrix R composed of plane coefficients can be obtained using Equation 5.

[수학식 5][Equation 5]

Figure 112019090488632-pat00004
Figure 112019090488632-pat00004

Figure 112019090488632-pat00005
Figure 112019090488632-pat00005

프로세서(122)는 수학식 2의 평면의 제1 평면 방정식을 제1 좌표(x, y, z)가 투영된 영상 평면의 좌표계 상의 제2 좌표(w, h)와 평면 계수(a, b, c) 및 예측깊이 값(

Figure 112019090488632-pat00006
)으로 이루어진 수학식 6의 평면의 제2 평면 방정식으로 변환할 수 있다.The processor 122 converts the first plane equation of the plane of Equation 2 into second coordinates (w, h) and plane coefficients (a, b, and) on the coordinate system of the image plane on which the first coordinates (x, y, z) are projected. c) and the predicted depth value (
Figure 112019090488632-pat00006
It can be converted into a second plane equation of the plane of Equation 6 consisting of ).

[수학식 6][Equation 6]

Figure 112019090488632-pat00007
Figure 112019090488632-pat00007

h, w는 영상 평면의 수직, 수평 좌표이고, f는 초점거리이며,

Figure 112019090488632-pat00008
는 평면의 예측깊이 값이다.h, w are the vertical and horizontal coordinates of the image plane, f is the focal length,
Figure 112019090488632-pat00008
Is the predicted depth value of the plane.

즉, 평면의 예측깊이 값(

Figure 112019090488632-pat00009
)은 수학식 6에 의해 구할 수 있다.In other words, the predicted depth value of the plane (
Figure 112019090488632-pat00009
) Can be obtained by Equation 6.

다른 예로, 평면 모델은 도 8 내지 도 17의 설명 따른 국소평면을 이용하여 모델링 될 수 있다. 국소 평면을 이용하여 평면 모델을 생성하는 방법은 후술한다. 또한, 다른 예의 평면 모델의 예측깊이 값(

Figure 112019090488632-pat00010
)은 평면의 임의의 (w, h) 좌표를 가진 점과 수학식 6을 이용하여 구할 수 있다.As another example, the planar model may be modeled using the local plane described in FIGS. 8 to 17. A method of generating a planar model using a local plane will be described later. Also, the predicted depth value (
Figure 112019090488632-pat00010
) Can be obtained using a point with arbitrary (w, h) coordinates of the plane and Equation 6.

<블록 부호화><block coding>

깊이 영상 처리 장치(100)의 프로세서(122)가 블록을 부호화 할 수 있다(S500). The processor 122 of the depth image processing apparatus 100 may encode the block (S500).

보다 구체적으로, 프로세서(122)는 평면 모델을 이용하여 생성한 예측깊이 값 및 평면 모델의 평면 계수에 기초하여 대상 블록을 부호화할 수 있다. 일 예로, 예측깊이 값의 부호화의 경우, 프로세서(122)는 예측깊이 값과 측정깊이 값의 차이를 이용하여 대상 블록내 각 화소를 부호화할 수 있다. 측정깊이 값은 영상 평면의 (w, h) 좌표를 가진 화소에서 측정된 깊이 값일 수 있다. More specifically, the processor 122 may encode the target block based on the prediction depth value generated using the planar model and the plane coefficient of the planar model. For example, in the case of encoding the predicted depth value, the processor 122 may encode each pixel in the target block by using a difference between the predicted depth value and the measured depth value. The measurement depth value may be a depth value measured in a pixel having (w, h) coordinates of the image plane.

도 5를 참조하면, 일 예로, 평면 계수의 경우, 프로세서(122)는 평면 계수의 정밀도를 가변할 수 있다(S510). 깊이 영상에서 각각에 블록에 대해 모델링된 평면 계수 a, b, c의 실험예는 이하 표 1 내지 표 3과 같다. 각 표에서 소정의 대응되는 위치의 계수는 소정의 동일한 블록에 대해 모델링된 평면의 계수를 의미한다.Referring to FIG. 5, for example, in the case of plane coefficients, the processor 122 may vary the precision of the plane coefficients (S510). Experimental examples of plane coefficients a, b, and c modeled for each block in the depth image are shown in Tables 1 to 3 below. In each table, a coefficient of a predetermined corresponding position means a coefficient of a plane modeled for a predetermined and the same block.

일 블록에 대해 모델링된 평면 계수 aPlane factor a modeled for a block 0.289580.28958 0.269180.26918 0.262980.26298 0.230430.23043 0.241070.24107 0.244430.24443 0.229180.22918 0.248990.24899 0.264980.26498 0.289270.28927 0.290140.29014 0.238520.23852 0.25180.2518 0.229870.22987 0.2240.224 0.229470.22947

일 블록에 대해 모델링된 평면 계수 bPlane factor b modeled for one block 0.239460.23946 0.236180.23618 0.290090.29009 0.288020.28802 0.226460.22646 0.271910.27191 0.281120.28112 0.292130.29213 0.288110.28811 0.233050.23305 0.279690.27969 0.274970.27497 0.286430.28643 0.249940.24994 0.281830.28183 0.301540.30154

일 블록에 대해 모델링된 평면 계수 cPlane coefficient c modeled for a block 838.7978838.7978 847.5082847.5082 856.1072856.1072 866.4822866.4822 847.4191847.4191 856.3975856.3975 866.017866.017 875.8726875.8726 855.7426855.7426 864.5186864.5186 873.5252873.5252 881.2644881.2644 846.6515846.6515 856.1254856.1254 865.3145865.3145 874.8263874.8263

표 1 내지 표 3을 참조하면, 평면 계수 a, b, c의 값은 소수점이하 자릿수가 2 이상되는 변환 소수점 형태이다. 프로세서(122)가 평면 계수 a, b, c의 정밀도를 변환한다는 것은 평면 계수의 a, b, c의 소수점 자리를 가변한다는 것을 의미할 수 있다. 즉, 프로세서(122)는 평면 계수를 소수 첫째자리로하는 고정 소수점 형태로 변환하거나 평면 계수를 정수로 변환하여 정밀도를 변환할 수 있다. 특히, 프로세서(122)는 평면 계수 a와 평면 계수 b를 소수 첫째자리의 고정 소수점으로 변환하고 평면 계수 c를 정수로 변환할 수 있다. 이 경우, 프로세서(122)는 영상의 품질을 유지하면서 압축율을 높일 수 있다. 이를 입증하기 위한 실험을 예를 들어, 도 7을 참조하면, 평면 계수 a, b, c의 정밀도 변화에 따른 평균 제곱 오차(Mean Squared Error; MSE)를 계산하였다. 도 7의 (a)는 평면 계수 a의 소수점 정밀도 변화에 따른 MSE이고, 도 7의 (b)는 평면 계수 b의 소수점 정밀도 변화에 따른 MSE이고, 도 7의 (c)는 평면 계수 c의 소수점 정밀도 변화에 따른 MSE이다. 도 7의 (a) 및 (b)를 살펴보면, 평면 계수 a, b에 대해서는 정밀도를 소수 첫째 자리까지로 변환하여도 MSE의 변화가 크지 않지만, 정수로 변환하니 MSE가 급격히 높아져 화면 내 예측의 정확도가 현저히 떨어지는 것을 알 수 있다. 반면, 도 7의 (c)을 살펴보면, 평면 계수 c에 대해서는 정수로 표현이 되어도 MSE의 변화가 적어 화면 내 예측의 정확도가 거의 변하지 않음을 알 수 있다. 따라서, 평면 계수의 정밀도 변환을 하여도 원 영상의 품질을 유지할 수 있다. 또한, 다른 실험 예로, 해상도 640 X 480의 깊이 영상에 대해 16 X 16 블록 단위로 평면 부호화로 화면을 예측했을 때 생성되는 평면 계수 a, b의 정밀도 변환에 따른 압축율은 이하 표 4 및 표 5와 같다.Referring to Tables 1 to 3, the values of the plane coefficients a, b, and c are in the form of a converted decimal point in which the number of digits after the decimal point is 2 or more. When the processor 122 converts the precision of the plane coefficients a, b, and c, it may mean that the decimal places of the plane coefficients a, b, and c are varied. That is, the processor 122 may convert the plane coefficient into a fixed-point form in which the first decimal place is used, or convert the plane coefficient into an integer to convert the precision. In particular, the processor 122 may convert the plane coefficient a and the plane coefficient b into a fixed point having one decimal place and convert the plane coefficient c into an integer. In this case, the processor 122 may increase the compression rate while maintaining the quality of the image. For an experiment to prove this, for example, referring to FIG. 7, a mean squared error (MSE) according to a change in precision of plane coefficients a, b, and c was calculated. Figure 7 (a) is the MSE according to the change in the decimal point precision of the plane coefficient a, Figure 7 (b) is the MSE according to the change in the decimal point precision of the plane coefficient b, and Figure 7 (c) is the decimal point of the plane coefficient c It is the MSE according to the precision change. Referring to (a) and (b) of FIG. 7, even if the precision is converted to the first decimal place for the plane coefficients a and b, the MSE does not change significantly, but when converted to an integer, the MSE is rapidly increased and the accuracy of the prediction in the screen. It can be seen that the fall significantly. On the other hand, looking at (c) of FIG. 7, it can be seen that even though the plane coefficient c is expressed as an integer, there is little change in the MSE, so that the accuracy of the prediction in the screen hardly changes. Therefore, even if the plane coefficient is converted to precision, the quality of the original image can be maintained. In addition, as an example of another experiment, the compression ratio according to the precision transformation of the plane coefficients a and b generated when a screen is predicted by plane coding in units of 16 × 16 blocks for a depth image of 640 × 480 resolution is shown in Tables 4 and 5 below. same.

평면 계수 a의 정밀도에 따른 압축율Compression rate according to the precision of plane coefficient a 계수의 소수점 정밀도Decimal precision of coefficients 비트수Number of bits 압축율Compression ratio 32 부동소수점32 floating point 48004800 1One 55 24212421 1.9826521.982652 44 24152415 1.9875781.987578 33 23312331 2.0592022.059202 22 21972197 2.1847972.184797 1One 11701170 4.1025644.102564 00 361361 13.296413.2964

평면 계수 b의 정밀도에 따른 압축율Compression ratio according to the precision of the plane coefficient b 계수의 소수점 정밀도Decimal precision of coefficients 비트수Number of bits 압축율Compression ratio 32 부동소수점32 floating point 48004800 1One 55 24272427 1.977751.97775 44 24212421 1.9826521.982652 33 23372337 2.0539152.053915 22 20642064 2.3255812.325581 1One 11271127 4.2590954.259095 00 389389 12.3393312.33933

압축율은 압축되기 전 크기를 압축 후 크기를 나눔으로 계산한 것이다. 표 4 및 표 5를 참조하면, 평면 계수 a 및 b에서 정수 또는 소수점 첫째자리 정밀도의 고정 소수점 형태로 변환된 평면 계수를 부호화할 경우 압축율이 높지만, 소수점 둘째 자리 이상의 정밀도에서는 압축율이 급격도로 안좋아지는 것을 알 수 있다. 따라서, 평면 계수 a, b는 소수 첫째자리로 정밀도를 변환한 고정 소수점 형태로 표현하고, 평면 계수 c는 정수로 표현하는 것이 원 깊이 영상을 유지하면서 압축율이 좋아 가장 효율 적이다. The compression ratio is calculated by dividing the size before compression by the size after compression. Referring to Tables 4 and 5, when the plane coefficients a and b are encoded in a fixed-point form with an integer or one decimal place, the compression rate is high. I can see that. Therefore, the plane coefficients a and b are expressed in a fixed-point format in which the precision is converted to the first decimal place, and the plane coefficient c is expressed as an integer, which is the most efficient because the compression ratio is good while maintaining the original depth image.

S510의 프로세서(122)가 평면 계수의 정밀도를 가변하는 방법은 구체적인 방법의 일 예는 도 6에 따른 평면 계수의 정밀도 가변 방법일 수 있다. 도 6을 참조하면, 프로세서(122)는 사용자의 선택 또는 깊이 영상의 종류에 따라 정밀도를 결정할 수 있다(S511). 정밀도는 제1 정밀도 또는 제2 정밀도를 포함할 수 있다. 제1 정밀도는 평면 계수 a, b 및 c를 고정 소수점 또는 정수로 변환할 때 반올림을 하여 변환한 정밀도이다. 제2 정밀도는 평면 계수 a, b 및 c를 고정 소수점 또는 정수로 변환할 때 버림을 하여 변환한 정밀도이다. 이에 제한하는 것은 아니고, 제1 정밀도 또는 제2 정밀도 중 어느 하나는 평면 계수 a, b 및 c를 고정 소수점 또는 정수로 변환할 때 올림을 하여 변환한 정밀도일 수 있다. 프로세서(122)는 제1 정밀도로 결정되면 평면 계수 a, b 및 c의 정밀도를 제1 정밀도에 따라 변환할 수 있다(S512, 513). 프로세서(122)는 결정된 정밀도가 제1 정밀도가 아니면 평면 계수 a, b 및 c의 정밀도를 제2 정밀도에 따라 변환할 수 있다(S512, S514).A method of varying the precision of the plane coefficient by the processor 122 of S510 may be a method of varying the precision of the plane coefficient according to FIG. 6. Referring to FIG. 6, the processor 122 may determine the precision according to the user's selection or the type of the depth image (S511). The precision may include a first precision or a second precision. The first precision is the precision converted by rounding when converting the plane coefficients a, b, and c to a fixed point or an integer. The second precision is the precision converted by rounding off the plane coefficients a, b, and c when converting them to fixed decimal points or integers. The present invention is not limited thereto, and either the first precision or the second precision may be a precision converted by rounding up when converting the plane coefficients a, b, and c to a fixed point or an integer. If it is determined as the first precision, the processor 122 may convert the precision of the plane coefficients a, b, and c according to the first precision (S512 and 513). If the determined precision is not the first precision, the processor 122 may convert the precision of the plane coefficients a, b, and c according to the second precision (S512 and S514).

도 5를 참조하면, 일 예로, 평면 계수의 경우, 프로세서(122)는 정밀도가 가변된 평면 계수를 엔트로피 부호화할 수 있다(S520). 엔트로피 부호화는 허프만 코드를 이용한 부호화 방법, 산술 부호화 방법, 적응 산술 부호화(CABAC) 방법 등이 있고, 이에 제한되는 것은 아니고 다른 엔트로피 부호화 알고리즘에 따를 수 있다. 일 예로, 산술 부호화 방법은 무손실 압축에 사용되는 엔트로피 부호화 알고리즘 가운데 하나로, 메시지에 출현하는 기호들의 고정된 통계적 모형을 결정하고 전체 메시지를 0보다 크고 1보다 작은 하나의 실수 n으로 대체한다. Referring to FIG. 5, as an example, in the case of plane coefficients, the processor 122 may entropy-encode the plane coefficients having a variable precision (S520). Entropy encoding includes an encoding method using a Huffman code, an arithmetic encoding method, an adaptive arithmetic encoding (CABAC) method, and the like, but is not limited thereto and may follow other entropy encoding algorithms. As an example, the arithmetic coding method is one of the entropy coding algorithms used for lossless compression. It determines a fixed statistical model of symbols appearing in a message and replaces the entire message with one real number n, which is greater than 0 and less than 1.

<깊이 영상 부호화><Depth video encoding>

깊이 영상 처리 장치(100)의 프로세서(122)가 부호화된 모든 블록을 합쳐 깊이 영상을 부호화하는 단계(S600)를 포함할 수 있다.The processor 122 of the depth image processing apparatus 100 may include a step S600 of adding all the encoded blocks to encode a depth image.

따라서, 본 발명의 실시예는 깊이 영상 내의 평면을 모델링하고 평면 모델을 이용하여 깊이를 예측하고 깊이 예측과 평면 모델의 계수를 이용하여 깊이 영상을 부호화할 수 있다. 또한, 본 발명의 실시예는 깊이 영상의 특성을 고려하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있다. 또한, 본 발명의 실시예는 평면 모델의 계수의 정밀도를 가변하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있다. 또한, 본 발명의 실시예는 깊이 영상에 따라서 평면 모델의 계수의 정밀도를 선택적으로 가변하여 부호화 할 수 있다. 또한, 본 발명의 실시예는 깊이 영상 내의 평면을 국소 단위로 모델링 하여 세밀하고 정교한 평면 모델을 이용하여 깊이 영상을 부호화할 수 있다.Accordingly, according to an embodiment of the present invention, a plane in a depth image may be modeled, a depth may be predicted using a plane model, and a depth image may be encoded using a depth prediction and coefficients of the plane model. In addition, according to an exemplary embodiment of the present invention, while maintaining the quality of the depth image in consideration of the characteristics of the depth image, it is possible to increase the compression rate. In addition, according to an exemplary embodiment of the present invention, the compression ratio can be increased while maintaining the quality of the depth image by varying the precision of the coefficients of the planar model. In addition, according to an exemplary embodiment of the present invention, the precision of coefficients of the planar model may be selectively changed and coded according to the depth image. In addition, according to an embodiment of the present invention, a plane within a depth image may be modeled in a local unit, and a depth image may be encoded using a detailed and sophisticated plane model.

도 8은 국소 평면을 이용한 제2 평면 모델링 방법에 대한 예시적인 다이어그램이다.8 is an exemplary diagram of a method for modeling a second plane using a local plane.

도 8을 참조하면, 제2 평면 모델링 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상의 화소 각각에 대한 국소 평면을 생성하는 단계(S1000), 깊이 영상 처리 장치 (100)의 프로세서(122)가 국소 평면의 특징을 검출하는 단계(S2000), 깊이 영상 처리 장치 (100)의 프로세서(122)가 검출된 국소 평면의 특징을 이용하여 인접한 국소 평면간 유사도를 계산하는 단계(S3000) 및 깊이 영상 처리 장치(100)의 프로세서(122)가 인접한 국소 평면이 소정의 유사도 이상이면 그룹화하고 동일 평면으로 검출하는 단계(S4000)를 포함할 수 있다. 도 9 내지 도 17을 참조하여 제2 평면 모델 방법의 각 단계를 보다 상세하게 설명한다.Referring to FIG. 8, in the second plane modeling method, the processor 122 of the depth image processing apparatus 100 generates a local plane for each pixel of the depth image (S1000), and the depth image processing apparatus 100 A step of detecting a feature of a local plane by the processor 122 of (S2000), a step of calculating a similarity between adjacent local planes by using the feature of the detected local plane by the processor 122 of the depth image processing apparatus 100 ( S3000) and if the adjacent local planes of the processor 122 of the depth image processing apparatus 100 are equal to or greater than a predetermined degree of similarity, grouping and detecting them as the same plane (S4000). Each step of the second planar model method will be described in more detail with reference to FIGS. 9 to 17.

도 9는 도 8의 국소 평면을 생성하는 일 방법에 대한 순서도이고, 도 10은 도 9의 국소 평면의 생성 방법에서 깊이 영상 내의 화소들을 3차원 좌표계로 변환한 모습을 나타낸 것이다.FIG. 9 is a flowchart illustrating a method of generating a local plane of FIG. 8, and FIG. 10 is a diagram illustrating a state in which pixels in a depth image are transformed into a 3D coordinate system in the method of generating a local plane of FIG. 9.

도 9를 참조하면, 일 방법에 따른 국소 평면을 생성하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상 내 일 화소에 대한 카메라를 원점으로 하는 3차원 좌표계의 중심 변환 좌표를 생성하는 단계(S1100)를 포함할 수 있다. Referring to FIG. 9, in a method of generating a local plane according to one method, the processor 122 of the depth image processing apparatus 100 uses a center transform coordinate of a 3D coordinate system with a camera as an origin for a pixel in the depth image. It may include the step of generating (S1100).

일 방법에 따른 국소 평면을 생성하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상 내 일 화소의 주변 화소에 대한 카메라를 원점으로 하는 3차원 좌표계의 제1 내지 제4 주변 변환 좌표를 생성하는 단계(S1200)를 포함할 수 있다. 보다 구체적으로, 일 화소의 주변 화소는 일 화소와 인접한 위치에 있는 화소를 의미할 수 있다. 프로세서(122)는 일 화소(P(x,y))의 주변 화소 4개를 제1 내지 제4 주변 변환 좌표로 생성할 수 있다. 일 예로, 주변 화소는 일 화소에서 수직 하측 방향으로 k(k는 1이상의 자연수)번째 화소인 제1 수직 주변 화소, 일 화소에서 수직 상측 방향으로 k번째 화소인 제2 수직 주변 화소, 일 화소에서 수평 우측 방향으로 k번째 화소인 제1 수평 주변 화소, 일 화소에서 수평 좌측 방향으로 k번째 화소인 제2 수평 주변 화소를 포함할 수 있다. 프로세서(122)는 제1 수직 주변 화소를 제1 주변 변환 좌표로, 제2 수직 주변 화소를 제2 주변 변환 좌표로, 제1 수평 주변 화소를 제3 주변 변환 좌표로, 제2 수평 주변 화소를 제4 주변 변환 좌표로 변환할 수 있다.The method of generating a local plane according to one method is that the processor 122 of the depth image processing apparatus 100 transforms the first to fourth peripherals of a 3D coordinate system with a camera as an origin for a neighboring pixel of one pixel in the depth image. It may include generating coordinates (S1200). More specifically, the surrounding pixels of one pixel may mean a pixel located adjacent to the one pixel. The processor 122 may generate four neighboring pixels of one pixel P(x,y) as first to fourth peripheral transform coordinates. As an example, the peripheral pixel is a first vertical peripheral pixel that is a k-th pixel vertically downward from one pixel (k is a natural number of 1 or more), a second vertical peripheral pixel that is a k-th pixel vertically upward from one pixel, and one pixel. A first horizontal peripheral pixel that is a k-th pixel in a horizontal right direction, and a second horizontal peripheral pixel that is a k-th pixel in a horizontal left direction from one pixel may be included. The processor 122 uses a first vertical peripheral pixel as a first peripheral transformed coordinate, a second vertical peripheral pixel as a second peripheral transformed coordinate, a first horizontal peripheral pixel as a third peripheral transformed coordinate, and a second horizontal peripheral pixel as a second peripheral transformed coordinate. It can be converted into a fourth peripheral transform coordinate.

일 실시예에 따른 국소 평면을 생성하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표 및 제1 내지 제4 주변 변환 좌표를 포함하는 평면을 일 화소의 국소 평면으로 생성하는 단계(S1300)를 포함할 수 있다. In the method of generating a local plane according to an embodiment, the processor 122 of the depth image processing apparatus 100 generates a plane including the center transform coordinates and the first to fourth peripheral transform coordinates as a local plane of one pixel. It may include step S1300.

도 11은 도 9의 국소 평면에서 국소 평면의 특징을 검출하는 방법을 설명하기 위한 순서도이고, 도 12는 도 8의 국소 평면의 특징인 법선 벡터를 설명하기 위한 3차원 좌표계이다.FIG. 11 is a flowchart illustrating a method of detecting a feature of a local plane in the local plane of FIG. 9, and FIG. 12 is a three-dimensional coordinate system for describing a normal vector that is a feature of the local plane of FIG. 8.

도 11을 참조하면, 일 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 국소 평면의 제1 국소 벡터(

Figure 112019090488632-pat00011
)를 생성하는 단계(S2100)를 포함할 수 있다. 보다 구체적으로, 국소 평면의 제1 국소 벡터(
Figure 112019090488632-pat00012
)는 중심 변환 좌표(Pc(w,h))를 지나며 제2 주변 변환 좌표(Pc(w,h+k))에서 제1 주변 변환 좌표(Pc(w,h-k))를 지나는 제1 방향의 벡터 일 수 있다. 일 예로, 제1 방향은 수직 하측 방향 또는 수직 하측 방향에 가까운 방향일 수 있다. 제1 국소 벡터(
Figure 112019090488632-pat00013
)는 Pc(w,h-k)-Pc(w, h+k)로 나타낼 수 있다. Referring to FIG. 11, in a method of detecting a feature of a local plane according to one method, the processor 122 of the depth image processing apparatus 100 uses a first local vector of the local plane (
Figure 112019090488632-pat00011
) May include the step of generating (S2100). More specifically, the first local vector of the local plane (
Figure 112019090488632-pat00012
) Passes through the center transform coordinate (Pc(w,h)) and passes through the first peripheral transform coordinate (Pc(w,hk)) from the second peripheral transform coordinate (Pc(w,h+k)). It can be a vector. For example, the first direction may be a vertical downward direction or a direction close to a vertical downward direction. The first local vector (
Figure 112019090488632-pat00013
) Can be represented as Pc(w,hk)-Pc(w, h+k).

일 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 국소 평면의 제2 국소 벡터(

Figure 112019090488632-pat00014
)를 생성하는 단계(S2200)를 포함할 수 있다. 보다 구체적으로, 국소 평면의 제2 국소 벡터(
Figure 112019090488632-pat00015
)는 중심 변환 좌표(Pc(w,h))를 지나며 제4 주변 변환 좌표(Pc(w-k,h))에서 제3 주변 변환 좌표(Pc(w+k,h))를 지나는 제2 방향의 벡터 일 수 있다. 일 예로, 제2 방향은 수평 우측 방향 또는 수평 우측 방향에 가까운 방향일 수 있다. 제2 국소 벡터(
Figure 112019090488632-pat00016
)는 Pc(w+k,h)-Pc(w-k, h)로 나타낼 수 있다.In a method of detecting a feature of a local plane according to one method, the processor 122 of the depth image processing apparatus 100 performs a second local vector of the local plane (
Figure 112019090488632-pat00014
) May include generating (S2200). More specifically, the second local vector of the local plane (
Figure 112019090488632-pat00015
) Passes through the center transform coordinate (Pc(w,h)) and passes from the fourth peripheral transform coordinate (Pc(wk,h)) to the third peripheral transform coordinate (Pc(w+k,h)) in the second direction. It can be a vector. For example, the second direction may be a horizontal right direction or a direction close to a horizontal right direction. The second local vector (
Figure 112019090488632-pat00016
) Can be expressed as Pc(w+k,h)-Pc(wk, h).

일 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 제1 국소 벡터(

Figure 112019090488632-pat00017
) 및 제2 국소 벡터(
Figure 112019090488632-pat00018
)를 이용하여 일 화소(P)에 대한 국소 평면의 법선 벡터(n(w,h))를 생성하는 단계(S2300)를 생성하는 단계를 포함할 수 있다. 보다 구체적으로, 법선 벡터(n(w,h))는 수학식 7에 따라 제1 국소 벡터(
Figure 112019090488632-pat00019
)와 제2 국소 벡터(
Figure 112019090488632-pat00020
)의 외적으로 구할 수 있다. In a method of detecting a feature of a local plane according to one method, the processor 122 of the depth image processing apparatus 100 uses a first local vector (
Figure 112019090488632-pat00017
) And the second local vector (
Figure 112019090488632-pat00018
) To generate a local plane normal vector (n(w,h)) for one pixel P (S2300). More specifically, the normal vector (n(w,h)) is the first local vector (
Figure 112019090488632-pat00019
) And the second local vector (
Figure 112019090488632-pat00020
) Can be obtained externally.

[수학식 7] [Equation 7]

Figure 112019090488632-pat00021
Figure 112019090488632-pat00021

이에 제한되는 것은 아니고, 법선 벡터(n(w,h))는 제2 국소 벡터(

Figure 112019090488632-pat00022
)와 제1 국소 벡터(
Figure 112019090488632-pat00023
)의 곱으로 순서를 달리하여 구할 수 있다.It is not limited thereto, and the normal vector (n(w,h)) is the second local vector (
Figure 112019090488632-pat00022
) And the first local vector (
Figure 112019090488632-pat00023
It can be obtained in a different order by multiplying by ).

일 실시예에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표(Pc(w,h)) 및 법선 벡터(n(x,y))를 이용하여 국소 평면과 카메라의 거리인 국소 평면의 특징 거리(

Figure 112019090488632-pat00024
)를 생성하는 단계(S2400)를 포함할 수 있다. 보다 구체적으로, 중심 변환 좌표(Pc(w,h))의 국소 평면의 법선 벡터(n(w,h))의 성분을 (
Figure 112019090488632-pat00025
)이라고 했을 때, 중심 변환 좌표(Pc(w,h))를 지나고 법선 벡터(n(w,h))를 가지는 평면은 수학식 8과 같이 표현 할 수 있다.In a method of detecting a feature of a local plane according to an embodiment, the processor 122 of the depth image processing apparatus 100 calculates a center transform coordinate (Pc(w,h)) and a normal vector (n(x,y)). Using the feature distance of the local plane, which is the distance between the local plane and the camera (
Figure 112019090488632-pat00024
) May include generating (S2400). More specifically, the component of the local plane normal vector (n(w,h)) of the center transform coordinate (Pc(w,h)) is (
Figure 112019090488632-pat00025
), a plane passing through the center transform coordinate (Pc(w,h)) and having a normal vector (n(w,h)) can be expressed as in Equation 8.

[수학식 8] [Equation 8]

Figure 112019090488632-pat00026
Figure 112019090488632-pat00026

이 때, 국소 평면의 카메라로부터의 거리인 특징 거리(

Figure 112019090488632-pat00027
)는 수학식 9를 통해 계산될 수 있다. At this time, the feature distance, which is the distance from the camera on the local plane (
Figure 112019090488632-pat00027
) Can be calculated through Equation 9.

[수학식 9][Equation 9]

Figure 112019090488632-pat00028
Figure 112019090488632-pat00028

도 13은 도 8의 국소 평면간 유사도를 계산하는 방법을 설명하기 위한 순서도이다.13 is a flowchart illustrating a method of calculating the similarity between local planes of FIG. 8.

도 13을 참조하면, 일 방법에 따른 국소 평면간 유사도를 계산하는 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 일 화소의 국소 평면과 타 화소의 국소 평면의 법선 벡터를 이용한 제1 유사도(U) 계산하는 단계(S3100)을 포함할 수 있다. 보다 구체적으로, 제1 유사도(U)는 일 화소의 국소 평면의 법선벡터(n(w,h))과 타 화소의 국소 평면의 법선벡터(m(w,h))의 사이각으로 결정될 수 있다. 일 예로 제1 유사도(U)는 수학식 10에 따라 결정될 수 있다.Referring to FIG. 13, in a method of calculating the similarity between local planes according to one method, the processor 122 of the depth image processing apparatus 100 uses a local plane of one pixel and a normal vector of a local plane of another pixel. 1 It may include the step of calculating the similarity (U) (S3100). More specifically, the first degree of similarity (U) can be determined by the angle between the normal vector (n(w,h)) of the local plane of one pixel and the normal vector (m(w,h)) of the local plane of another pixel. have. For example, the first similarity U may be determined according to Equation 10.

[수학식 10] [Equation 10]

Figure 112019090488632-pat00029
Figure 112019090488632-pat00029

또한, 일 방법에 따른 국소 평면간 유사도를 계산하는 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 일 화소의 국소 평면과 타 화소의 국소 평면의 특징 거리를 이용한 제2 유사도(D) 계산하는 단계(S3200)을 포함할 수 있다. 보다 구체적으로 제2 유사도(D)는 일 화소의 국소 평면의 특징거리(Dn)과 타 화소의 국소 평면의 특징거리(Dm)의 차이로 결정될 수 있다. 일 예로, 제2 유사도(D)는 수학식 11에 따라 결정될 수 있다.In addition, in a method of calculating the similarity between local planes according to one method, the processor 122 of the depth image processing apparatus 100 uses a second similarity (D) using a feature distance between a local plane of one pixel and a local plane of another pixel. ) It may include a calculating step (S3200). More specifically, the second similarity D may be determined by a difference between a feature distance Dn of a local plane of one pixel and a feature distance Dm of a local plane of another pixel. For example, the second similarity D may be determined according to Equation 11.

[수학식 11][Equation 11]

Figure 112019090488632-pat00030
Figure 112019090488632-pat00030

도 14는 도 8의 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법을 설명하기 위한 순서도이다.14 is a flowchart illustrating a method of modeling a second plane through grouping according to the similarity between local planes of FIG. 8.

도 14를 참조하면, 일 방법예에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 제1 유사도(U)가 소정의 값 이상인지 판단하는 단계(S4100)을 포함할 수 있다. 보다 구체적으로, 제1 유사도(U)는 수준에 따라서 미리 설정될 수 있고, 메모리(121)의 프로그래밍을 통해 조절될 수 있다. Referring to FIG. 14, in the second plane modeling method through grouping according to the similarity between local planes according to a method example, the processor 122 of the depth image processing apparatus 100 determines that a first similarity U is a predetermined value. It may include a step (S4100) of determining whether it is abnormal. More specifically, the first similarity U may be set in advance according to the level, and may be adjusted through programming of the memory 121.

또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 제1 유사도(U)를 만족하면 제2 유사도(D)가 소정의 값 이하인지 판단하는 단계(S4200, S4300)을 포함할 수 있다. 보다 구체적으로, 제1 유사도(U)를 만족하는 것은 제1 유사도(U)가 소정의 값 이상인 경우 일 수 있다. 프로세서(122)는 제1 유사도(U)를 만족하지 않는다고 판단하면 일 화소와 비교하지 않은 주변의 다른 타 화소와 비교하는 단계(S420, S470)를 수행할 수 있다. 즉 프로세서(122)는 일 화소와 다른 타 화소의 제1 유사도(U)가 소정의 값 이상인지 판단할 수 있다(S4700, S4100).In addition, in the second plane modeling method through grouping according to the similarity between local planes according to one method, when the processor 122 of the depth image processing apparatus 100 satisfies the first similarity (U), the second similarity (D) It may include determining whether is less than or equal to a predetermined value (S4200 and S4300). More specifically, the first similarity U may be satisfied when the first similarity U is greater than or equal to a predetermined value. If it is determined that the first similarity U is not satisfied, the processor 122 may perform steps S420 and S470 of comparing one pixel with other surrounding pixels that have not been compared. That is, the processor 122 may determine whether the first similarity U of one pixel and another pixel is equal to or greater than a predetermined value (S4700 and S4100).

또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 제2 유사도(D)를 만족하면 일 화소와 타 화소를 그룹화 하는 단계(S4400, S4500)을 포함할 수 있다. 보다 구체적으로, 제2 유사도(D)를 만족하는 것은 제2 유사도(D)가 소정의 값 이하인 경우일 수 있다. 제2 유사도(D)는 수준에 따라서 미리 설정될 수 있고, 메모리(121)의 프로그래밍을 통해 조절될 수 있다. 프로세서(122)는 제2 유사도(D)를 만족하지 않는다고 판단하면 일 화소와 비교하지 않은 주변의 다른 타 화소와 비교하는 단계(S440, S470)를 수행할 수 있다. 즉 프로세서(122)는 일 화소와 다른 타 화소의 제1 유사도(U)가 소정의 값 이상인지 판단할 수 있다(S4700, S4100).In addition, in the second planar modeling method through grouping according to the similarity between local planes according to one method, when the processor 122 of the depth image processing apparatus 100 satisfies the second similarity D, one pixel and the other pixel are A grouping step (S4400, S4500) may be included. More specifically, satisfying the second degree of similarity (D) may be a case where the second degree of similarity (D) is less than or equal to a predetermined value. The second similarity D may be set in advance according to the level, and may be adjusted through programming of the memory 121. If it is determined that the second similarity D is not satisfied, the processor 122 may perform steps (S440, S470) of comparing one pixel with other surrounding pixels that have not been compared. That is, the processor 122 may determine whether the first similarity U of one pixel and another pixel is equal to or greater than a predetermined value (S4700 and S4100).

또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 일 화소와 비교하지 않은 주변의 다른 타 화소가 존재하는지 판단하는 단계(S4600)를 포함할 수 있다. 프로세서(122)는 일 화소와 비교하지 않은 주변의 다른 타 화소가 존재하면 일 화소와 비교하지 않은 주변의 다른 타 화소와 비교하는 단계(S4600, S4700)를 수행할 수 있다. 즉 프로세서(122)는 일 화소와 다른 타 화소의 제1 유사도(U)가 소정의 값 이상인지 판단할 수 있다(S4700, S4100).In addition, in the second planar modeling method through grouping according to the similarity between local planes according to one method, the processor 122 of the depth image processing apparatus 100 determines whether there are other surrounding pixels that are not compared with one pixel. It may include a step (S4600). The processor 122 may perform an operation (S4600, S4700) of comparing one pixel with other surrounding pixels that have not been compared with other pixels in the surrounding area, if there is another pixel in the vicinity that has not been compared with one pixel. That is, the processor 122 may determine whether the first similarity U of one pixel and another pixel is equal to or greater than a predetermined value (S4700 and S4100).

또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 일 화소와 비교하지 않은 주변의 다른 타 화소가 존재하지 않으면 그룹화된 화소를 같은 평면으로 검출하는 단계(S4800)를 포함할 수 있다. 본 발명의 실시예는 깊이 영상 내의 깊이 정보를 통해 평면을 빠르고 정확하게 추정할 수 있다.In addition, in the second planar modeling method through grouping according to the similarity between local planes according to one method, if the processor 122 of the depth image processing apparatus 100 does not have other surrounding pixels that are not compared with one pixel, A step of detecting the grouped pixels on the same plane (S4800) may be included. According to an embodiment of the present invention, a plane can be quickly and accurately estimated through depth information in a depth image.

따라서, 본 발명의 일 실시예는 화소 단위로 평면의 영역을 검출함으로써 정밀도가 향상된다. 또한, 본 발명의 실시예는 국소 평면 단위로 평면의 인자를 계산하고, 유사한 평면 인자를 가지는 인접 국소 평면을 같은 평면으로 그룹핑하여 각 평면의 영역을 검출함으로써 데이터 처리 속도가 향상된다. 또한, 본 발명의 실시예는 깊이 영상에 노이즈가 많이 포함된 경우에도 신뢰할 수 있는 평면 추정이 가능하다. Accordingly, according to an exemplary embodiment of the present invention, precision is improved by detecting a planar area in units of pixels. In addition, according to an embodiment of the present invention, the data processing speed is improved by calculating a planar factor in units of a local plane and grouping adjacent local planes having similar plane factors into the same plane to detect regions of each plane. In addition, according to the exemplary embodiment of the present invention, even when a depth image contains a lot of noise, reliable plane estimation is possible.

일부 실시예에서, 프로세서(122)는 전술한 과정에 따라 깊이 영상 내에 복수의 화소들 중 국소 평면의 제1 및 제2 유사도를 만족하는 화소들을 그룹핑하여 평면이 검출될 수 있고, 이러한 그룹핑으로 구성된 평면은 복수개가 검출될 수 있다. 깊이 영상 내에서 복수의 평면들이 검출되는 것은 검출된 평면들간에 제1 및 제2 유사도를 충족하지 못하는 경우라 할 수 있다. 즉, 검출된 복수의 평면들은 서로 하나의 평면으로 그룹핑되지 않는 평면들이다. 검출된 평면들은 다른 응용의 사용을 위해 각 평면 영역의 정보를 다른 응용 프로그램에 전달될 수 있다. 여기서 평면의 정보는 가령 검출된 평면의 개수, 각 평면의 깊이 영상 내에서의 좌상단의 위치, 깊이 영상 내에서의 평면의 높이와 너비가 될 수 있다. 프로세서(122)는 이러한 다른 소프트웨어의 요청에 응답하여 평면의 정보를 제공할 수 있다. 하나의 깊이 영상 내의 복수의 평면들에 대해 보다 구체적으로 설명하면, 프로세서(122)는 평면들 중 어느 하나의 평면에 포함된 화소의 국소 평면들의 각각의 특징 거리 정보를 이용하여 해당 평면 내의 모든 화소들의 특징 거리의 평균 값을 생성할 수 있다. 예시적으로, 프로세서(122)는 제1 평면 내의 제1 화소들의 특징 거리에 대한 제1 평균 값을 생성하고, 제2 평면 내의 제2 화소들의 특징 거리에 대한 제2 평균 값을 생성할 수 있다. 프로세서(122)는 제1 및 제2 평균 값의 차이 정보를 저장할 수 있다. 여기서의 제1 및 제2 평균 값의 차이 정보는 전술한 프로세서(122)가 사용자에게 제공하는 평면들 분포 정보들 중 하나가 될 수 있다. 실시예는, 깊이 영상 내에 복수의 촬영 면에 평면을 가진 복수의 물체가 존재하는 경우 이들 물체간의 분포 정보를 제공할 수 있다. 따라서, 촬영 영역 내에 서로 단차를 가지는 물체가 존재하는 경우 해당 단차 정보를 검출할 수 있다. 예를들어, 공간에 배치된 책상을 촬영하는 경우 책상의 상면과 공간의 바닥면의 높이 차이를 검출함으로써 책상의 높이를 추정할 수 있다. 뿐만 아니라, 평면을 가지는 물체의 단차 정보를 추정함으로써 물체에 대한 다양한 정보를 얻는데 기초 자료로 사용할 수 있다.In some embodiments, the processor 122 may group pixels satisfying the first and second similarities of a local plane among a plurality of pixels in the depth image according to the above-described process to detect a plane, and A plurality of planes may be detected. The detection of a plurality of planes in the depth image may be a case in which the first and second similarities between the detected planes are not satisfied. That is, the detected plurality of planes are planes that are not grouped together into one plane. The detected planes may transfer information of each plane area to other applications for use in other applications. Here, the plane information may be, for example, the number of detected planes, the position of the upper left corner in the depth image of each plane, and the height and width of the plane in the depth image. The processor 122 may provide plane information in response to a request from such other software. When describing a plurality of planes in one depth image in more detail, the processor 122 uses the feature distance information of each of the local planes of a pixel included in one of the planes to determine all pixels in the corresponding plane. It is possible to generate an average value of the feature distances. For example, the processor 122 may generate a first average value for the feature distances of the first pixels in the first plane, and may generate a second average value for the feature distances of the second pixels in the second plane. . The processor 122 may store difference information between the first and second average values. Herein, the difference information between the first and second average values may be one of plane distribution information provided by the processor 122 to the user. The embodiment may provide distribution information between the objects when a plurality of objects having planes on a plurality of photographing planes exist in a depth image. Accordingly, when objects having a level difference from each other exist in the photographing area, the corresponding level difference information can be detected. For example, when photographing a desk arranged in a space, the height of the desk can be estimated by detecting a difference in height between the upper surface of the desk and the floor surface of the space. In addition, it can be used as basic data to obtain various information about an object by estimating the step information of an object having a plane.

도 3, 도 15 내지 도 17을 참조하여 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제2 평면 모델링 방법의 각 단계를 보다 상세하게 설명한다. 다른 방법은 이 방법과 같은 설명은 제외하고 차이가 나는 국소 평면을 생성하는 방법과 국소 평면의 특징을 검출하는 방법을 중점으로 설명한다.Each step of the second plane modeling method through grouping according to similarity between local planes according to one method will be described in more detail with reference to FIGS. 3 and 15 to 17. Other methods, except for the same description as this method, focus on the method of generating a different local plane and the method of detecting the features of the local plane.

도 15는 도 8의 국소 평면을 생성하는 다른 방법에 대한 순서도이다.15 is a flow chart for another method of generating the local plane of FIG. 8.

도 15를 참조하면, 다른 방법에 따른 국소 평면을 생성하는 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상 내 일 화소에 대한 카메라를 원점으로 하는 3차원 좌표계의 중심 변환 좌표를 생성하는 단계(S11100)를 포함할 수 있다. 일 예로, 도 13을 참조하면, 프로세서(122)는 깊이 영상 내 일 화소(P(w,h))를 수학식 1을 이용하여 3차원 좌표계인 중심 변환 좌표(Pc(w,h))로 변환할 수 있다.Referring to FIG. 15, in a method of generating a local plane according to another method, the processor 122 of the depth image processing apparatus 100 uses a camera for one pixel in the depth image as an origin. It may include the step of generating (S11100). As an example, referring to FIG. 13, the processor 122 converts one pixel (P(w,h)) in the depth image into a center transformed coordinate (Pc(w,h)) which is a three-dimensional coordinate system using Equation 1. Can be converted.

또한, 다른 방법에 따른 국소 평면을 생성하는 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상 내 일 화소를 중심으로 N*N(N은 3, 5, 7, …) 사각형 영역의 주변 화소에 대한 카메라를 원점으로 하는 3차원 좌표계의 주변 변환 좌표들을 생성하는 단계(S11200)을 포함할 수 있다. 이에, 다른 실시예는 잡음이 많은 깊이 영상에서 정확한 국소 평면을 구할 수 있게 한다. 보다 구체적으로, 프로세서(122)는 일 화소(P(w,h))를 중심으로 N*N 사각형 영역 내 외곽에 위치한 화소들을 주변 화소들로 정의하고 주변 화소들을 복수의 주변 변환 좌표로 생성할 수 있다. 일 예로, 복수의 주변 변환 좌표는 4(N-1)개 일 수 있다. In addition, in a method of generating a local plane according to another method, the processor 122 of the depth image processing apparatus 100 is N*N (N is 3, 5, 7, …) square around one pixel in the depth image. It may include generating (S11200) peripheral transformed coordinates of a 3D coordinate system with a camera as an origin of the surrounding pixels of the region. Accordingly, another embodiment makes it possible to obtain an accurate local plane from a noisy depth image. More specifically, the processor 122 defines pixels located outside the N*N rectangular area around one pixel (P(w,h)) as surrounding pixels, and generates the surrounding pixels as a plurality of peripheral transform coordinates. I can. As an example, the plurality of peripheral transform coordinates may be 4 (N-1).

또한, 다른 방법에 따른 국소 평면을 생성하는 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표 및 주변 변환 좌표들을 포함하는 평면을 일 화소의 국소 평면으로 생성하는 단계(S11300)를 포함할 수 있다.In addition, in a method of generating a local plane according to another method, the processor 122 of the depth image processing apparatus 100 generates a plane including the center transform coordinates and the peripheral transform coordinates as a local plane of one pixel (S11300). ) Can be included.

도 16은 도 15의 국소 평면의 특징을 검출하는 방법을 설명하기 위한 순서도이고, 도 17은 도 15의 국소 평면의 평균 국소 벡터를 구하기 위한 국소 평면 내의 복수의 국소 벡터를 나타낸 일 예이다.FIG. 16 is a flowchart illustrating a method of detecting a feature of a local plane of FIG. 15, and FIG. 17 is an example of a plurality of local vectors in a local plane for obtaining an average local vector of the local plane of FIG. 15.

도 16을 참조하면, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 국소 평면의 제1 평균 국소 벡터(

Figure 112019090488632-pat00031
)를 생성하는 단계(S12100)을 포함할 수 있다. 보다 구체적으로, 제1 평균 국소 벡터(
Figure 112019090488632-pat00032
)는 국소 평면의 복수의 제1 국소 벡터의 평균 일 수 있다. 복수의 제1 국소 벡터는 주변 변환 좌표들 중 상측에 위치한 주변 변환 좌표들과 하측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 상측 주변 변환 좌표에서 하측 주변 변환 좌표로 향한 수직 성분의 벡터들일 수 있다. 이에 제한되는 것은 아니고, 복수의 제1 국소 벡터는 주변 변환 좌표들 중 하측에 위치한 주변 변환 좌표들과 상측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 하측 주변 변환 좌표에서 상측 주변 변환 좌표로 향한 수직 성분의 벡터들일 수 있다. 또한, 복수의 제1 국소 벡터 중 임의의 제1 국소 벡터(
Figure 112019090488632-pat00033
)는 수학식 12에 따라 결정될 수 있다.Referring to FIG. 16, in a method of detecting a feature of a local plane according to another method, the processor 122 of the depth image processing apparatus 100 uses a first average local vector of the local plane (
Figure 112019090488632-pat00031
) May include generating (S12100). More specifically, the first average local vector (
Figure 112019090488632-pat00032
) May be an average of a plurality of first local vectors in the local plane. The plurality of first local vectors may be vectors of vertical components from the upper peripheral transform coordinates to the lower peripheral transform coordinates by pairing the upper peripheral transform coordinates and the lower peripheral transform coordinates among the peripheral transform coordinates. It is not limited thereto, and the plurality of first local vectors is a vertical component from the lower peripheral transform coordinates to the upper peripheral transform coordinates by pairing the lower peripheral transform coordinates and the upper peripheral transform coordinates among the peripheral transform coordinates. May be vectors of. In addition, any first local vector from among the plurality of first local vectors (
Figure 112019090488632-pat00033
) May be determined according to Equation 12.

[수학식 12][Equation 12]

Figure 112019090488632-pat00034
Figure 112019090488632-pat00034

일 예로, 도 17을 참조하면, 프로세서(122)는 N=3이면 수학식 12에 따라 3개의 제1 국소 벡터(

Figure 112019090488632-pat00035
)를 결정할 수 있다. 제1 평균 국소 벡터(
Figure 112019090488632-pat00036
)는 수학식 13에 따라 복수의 제1 국소 벡터들을 합하여 각 벡터가 가지는 방향의 평균 방향을 가지도록 생성될 수 있다.As an example, referring to FIG. 17, if N=3, the processor 122 has three first local vectors according to Equation 12 (
Figure 112019090488632-pat00035
) Can be determined. First mean local vector (
Figure 112019090488632-pat00036
) May be generated to have an average direction of a direction of each vector by summing a plurality of first local vectors according to Equation 13.

[수학식 13][Equation 13]

Figure 112019090488632-pat00037
Figure 112019090488632-pat00037

또한, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 국소 평면의 제2 평균 국소 벡터(

Figure 112019090488632-pat00038
)를 생성하는 단계(S12200)을 포함할 수 있다. 보다 구체적으로, 제2 평균 국소 벡터(
Figure 112019090488632-pat00039
)는 국소 평면의 복수의 제2 국소 벡터의 평균 일 수 있다. 복수의 제2 국소 벡터는 주변 변환 좌표들 중 좌측에 위치한 주변 변환 좌표들과 우측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 좌측 주변 변환 좌표에서 우측 주변 변환 좌표로 향한 수평 성분의 벡터들일 수 있다. 이에 제한되는 것은 아니고, 복수의 제2 국소 벡터는 주변 변환 좌표들 중 우측에 위치한 주변 변환 좌표들과 좌측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 우측 주변 변환 좌표에서 좌측 주변 변환 좌표로 향한 수평 성분의 벡터들일 수 있다. 또한, 복수의 제2 국소 벡터 중 임의의 제2 국소 벡터(
Figure 112019090488632-pat00040
)는 수학식 12에 따라 결정될 수 있다. 일 예로, 도 17을 참조하면, 프로세서(122)는 N=3이면 수학식 12에 따라 3개의 제2 국소 벡터(
Figure 112019090488632-pat00041
)를 결정할 수 있다. 제2 평균 국소 벡터(
Figure 112019090488632-pat00042
)는 수학식 13에 따라 복수의 제2 국소 벡터들을 합하여 각 벡터가 가지는 방향의 평균 방향을 가지도록 생성될 수 있다.In addition, in a method of detecting a feature of a local plane according to another method, the processor 122 of the depth image processing apparatus 100 uses the second average local vector of the local plane (
Figure 112019090488632-pat00038
) May include generating (S12200). More specifically, the second average local vector (
Figure 112019090488632-pat00039
) May be an average of a plurality of second local vectors in the local plane. The plurality of second local vectors may be vectors of a horizontal component from a left peripheral transform coordinate to a right peripheral transform coordinate by forming a pair of peripheral transform coordinates located at the left and the surrounding transform coordinates located at the right among the surrounding transform coordinates. It is not limited thereto, and the plurality of second local vectors is a horizontal component of the peripheral transformation coordinates located on the right and the peripheral transformation coordinates located on the left of the peripheral transformation coordinates, respectively, forming a pair, and going from the right peripheral transformation coordinate to the left peripheral transformation coordinate. May be vectors of. In addition, any second local vector from among the plurality of second local vectors (
Figure 112019090488632-pat00040
) May be determined according to Equation 12. As an example, referring to FIG. 17, if N=3, the processor 122 uses three second local vectors according to Equation 12 (
Figure 112019090488632-pat00041
) Can be determined. Second mean local vector (
Figure 112019090488632-pat00042
) May be generated to have an average direction of a direction of each vector by summing a plurality of second local vectors according to Equation 13.

또한, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 제1 평균 국소 벡터(

Figure 112019090488632-pat00043
) 및 제2 평균 국소 벡터(
Figure 112019090488632-pat00044
)를 이용하여 일 화소(P)에 대한 국소 평면의 법선 벡터(
Figure 112019090488632-pat00045
)를 생성하는 단계(S12300)를 생성하는 단계를 포함할 수 있다. 보다 구체적으로, 법선 벡터(
Figure 112019090488632-pat00046
)는 수학식 14에 따라 제1 평균 국소 벡터(
Figure 112019090488632-pat00047
)와 제2 평균 국소 벡터(
Figure 112019090488632-pat00048
)의 외적으로 구할 수 있다.In addition, in a method of detecting a feature of a local plane according to another method, the processor 122 of the depth image processing apparatus 100 uses the first average local vector (
Figure 112019090488632-pat00043
) And the second mean local vector (
Figure 112019090488632-pat00044
) Using the local plane normal vector (
Figure 112019090488632-pat00045
) May include the step of generating the step of generating (S12300). More specifically, the normal vector (
Figure 112019090488632-pat00046
) Is the first average local vector (
Figure 112019090488632-pat00047
) And the second mean local vector (
Figure 112019090488632-pat00048
) Can be obtained externally.

[수학식 14] [Equation 14]

Figure 112019090488632-pat00049
Figure 112019090488632-pat00049

이에 제한되는 것은 아니고, 법선 벡터(

Figure 112019090488632-pat00050
)는 제2 평균 국소 벡터(
Figure 112019090488632-pat00051
)와 제1 평균 국소 벡터(
Figure 112019090488632-pat00052
)의 곱으로 순서를 달리하여 구할 수 있다.It is not limited thereto, and the normal vector (
Figure 112019090488632-pat00050
) Is the second mean local vector (
Figure 112019090488632-pat00051
) And the first mean local vector (
Figure 112019090488632-pat00052
It can be obtained in a different order by multiplying by ).

또한, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표(Pc(w,h)) 및 법선 벡터(

Figure 112019090488632-pat00053
)를 이용하여 국소 평면과 카메라의 거리인 국소 평면의 특징 거리(
Figure 112019090488632-pat00054
)를 생성하는 단계(S12400)를 포함할 수 있다. 보다 구체적으로, 중심 변환 좌표(Pc(w,h))의 국소 평면의 법선 벡터(
Figure 112019090488632-pat00055
)의 성분을 (
Figure 112019090488632-pat00056
)이라고 했을 때, 중심 변환 좌표(Pc(w,h))를 지나고 법선 벡터(n(w,h))를 가지는 제2 평면은 수학식 8과 같이 표현 할 수 있다. 이 때, 국소 평면의 카메라로부터의 거리인 특징 거리(
Figure 112019090488632-pat00057
)는 수학식 9를 통해 계산될 수 있다. In addition, in a method of detecting a feature of a local plane according to another method, the processor 122 of the depth image processing apparatus 100 performs a center transform coordinate (Pc(w,h)) and a normal vector (
Figure 112019090488632-pat00053
) Using the feature distance of the local plane, which is the distance between the local plane and the camera (
Figure 112019090488632-pat00054
) May include the step of generating (S12400). More specifically, the normal vector of the local plane of the center transform coordinate (Pc(w,h)) (
Figure 112019090488632-pat00055
) Of the component (
Figure 112019090488632-pat00056
), the second plane passing through the center transform coordinate Pc(w,h) and having a normal vector (n(w,h)) can be expressed as Equation 8. At this time, the feature distance, which is the distance from the camera on the local plane (
Figure 112019090488632-pat00057
) Can be calculated through Equation 9.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present invention or may be known and usable to those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks. medium), and a hardware device specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device can be changed to one or more software modules to perform the processing according to the present invention, and vice versa.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Specific implementations described in the present invention are examples, and do not limit the scope of the present invention in any way. For brevity of the specification, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection or connection members of the lines between the components shown in the drawings exemplarily represent functional connections and/or physical or circuit connections, and in an actual device, various functional connections that can be replaced or additionally It may be referred to as a connection, or circuit connections. In addition, if there is no specific mention such as “essential” or “importantly”, it may not be an essential component for the application of the present invention.

또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.In addition, although the detailed description of the present invention has been described with reference to a preferred embodiment of the present invention, the spirit of the present invention described in the claims to be described later if one of ordinary skill in the relevant technical field or those of ordinary skill in the relevant technical field And it will be understood that various modifications and changes can be made to the present invention within a range not departing from the technical field. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification, but should be determined by the claims.

100: 깊이 영상 처리 장치
110: 영상 소스
120: 영상처리부
121: 메모리
122: 프로세서
130: 출력인터페이스
200: 데이터수신장치
210: 데이터 처리부
220: 입력 인터페이스
100: depth image processing device
110: video source
120: image processing unit
121: memory
122: processor
130: output interface
200: data receiving device
210: data processing unit
220: input interface

Claims (8)

깊이 영상을 기 설정된 블록 단위로 분할하는 단계;
깊이 영상 내 화소에 대한 영상 좌표를 3차원 좌표로 변환하는 단계;
상기 3차원 좌표에 기초하여 상기 블록에 대하여 표면 모델로 모델링 하는 단계;
평면 모델을 이용하여 예측깊이 값 생성하는 단계;
상기 예측깊이 값 및 상기 평면 모델의 평면 계수에 기초하고 상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 단계;를 포함하고,
상기 평면 모델은 3차원 좌표와 매개변수로 이루어진 수학식 1의 제1 평면 방정식을 이용하여 모델링되고,
상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 단계는,
상기 평면 계수의 정밀도를 가변하는 단계; 및
상기 가변된 평면 계수를 엔트로피 부호화하는 단계; 를 포함하고,
상기 평면 계수의 정밀도를 가변하는 단계는,
상기 평면 계수 a, b 및 c를 고정 소수점 형태로 변환하는
평면 모델링을 통한 깊이 영상 부호화 방법.
[수학식 1]
ax+by-z+c=0
x, y 및 z는 3차원 좌표이고, a, b 및 c는 평면 계수이다.
Dividing the depth image into preset block units;
Converting image coordinates of pixels in the depth image into 3D coordinates;
Modeling the block with a surface model based on the three-dimensional coordinates;
Generating a predicted depth value using a planar model;
Encoding the block by varying the precision of the plane coefficient based on the predicted depth value and the plane coefficient of the plane model; and
The plane model is modeled using the first plane equation of Equation 1 consisting of three-dimensional coordinates and parameters,
The step of encoding the block by varying the precision of the plane coefficient,
Varying the precision of the plane coefficient; And
Entropy encoding the variable plane coefficients; Including,
The step of varying the precision of the plane coefficient,
Converting the plane coefficients a, b and c to a fixed point form
Depth image coding method through plane modeling.
[Equation 1]
ax+by-z+c=0
x, y, and z are three-dimensional coordinates, and a, b, and c are plane coefficients.
삭제delete 삭제delete 제1 항에 있어서,
상기 평면 계수의 정밀도를 가변하는 단계는,
상기 평면 계수 a, b를 소수 첫째자리의 고정 소수점 형태로 변환하고, 상기 평면 계수 c를 정수 형태로 변환하는 평면 모델링을 통한 깊이 영상 부호화 방법.
The method of claim 1,
The step of varying the precision of the plane coefficient,
A depth image encoding method through plane modeling in which the plane coefficients a and b are transformed into a fixed-point form having one decimal place and the plane coefficient c is transformed into an integer form.
제1 항에 있어서,
상기 엔트로피 부호화는 산술 부호화 알고리즘인 평면 모델링을 통한 깊이 영상 부호화 방법.
The method of claim 1,
The entropy encoding is an arithmetic encoding algorithm, a depth image encoding method through plane modeling.
제1 항에 있어서,
상기 예측깊이 값은 영상좌표와 초점거리로 이루어진 수학식 2의 제2 평면 방정식을 이용하여 구하는 평면 모델링을 통한 깊이 영상 부호화 방법.
[수학식 2]
Figure 112020113673401-pat00058

Figure 112020113673401-pat00059
은 제1 추정깊이 값이고, f는 초점거리이고, a, b, c는 매개변수이고, w, h는 영상좌표이다.
The method of claim 1,
The depth image encoding method through plane modeling, wherein the predicted depth value is obtained using a second plane equation of Equation 2 consisting of an image coordinate and a focal length.
[Equation 2]
Figure 112020113673401-pat00058

Figure 112020113673401-pat00059
Is the first estimated depth value, f is the focal length, a, b, c are parameters, and w, h are image coordinates.
명령들을 저장하는 적어도 하나의 메모리; 및
적어도 하나의 프로세서;를 포함하고,
상기 명령들은 상기 프로세서로 하여금 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고,
상기 동작들은:
깊이 영상을 기 설정된 블록 단위로 분할하고,
깊이 영상 내 화소에 대한 영상 좌표를 3차원 좌표로 변환하고,
상기 3차원 좌표에 기초하여 상기 블록에 대하여 표면 모델로 모델링 하고,
평면 모델을 이용하여 예측깊이 값 생성하고,
상기 예측깊이 값 및 상기 평면 모델의 평면 계수에 기초하고 상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 것을 포함하고
상기 평면 모델은 3차원 좌표와 매개변수로 이루어진 수학식 3의 제1 평면 방정식을 이용하여 모델링되고,
상기 평면 계수의 정밀도를 가변하여 상기 블록을 부호화하는 것은,
상기 평면 계수의 정밀도를 가변하며, 상기 가변된 평면 계수를 엔트로피 부호화하는 것을 포함하고,
상기 평면 계수의 정밀도를 가변하는 것은,
상기 평면 계수 a, b 및 c를 고정 소수점 형태로 변환하는
평면 모델링을 통한 깊이 영상 부호화 장치.
[수학식 3]
ax+by-z+c=0
x, y 및 z는 3차원 좌표이고, a, b 및 c는 평면 계수이다.
At least one memory for storing instructions; And
At least one processor; Including,
The instructions are executable by the processor to cause the processor to perform operations,
The above actions are:
Divide the depth image into preset block units,
Convert the image coordinates of the pixels in the depth image into 3D coordinates,
Model the block as a surface model based on the three-dimensional coordinates,
Generate the predicted depth value using the planar model,
And encoding the block by varying the precision of the plane coefficient based on the predicted depth value and the plane coefficient of the plane model,
The plane model is modeled using the first plane equation of Equation 3 consisting of three-dimensional coordinates and parameters,
Encoding the block by varying the precision of the plane coefficient,
Varying the precision of the plane coefficient, and entropy encoding the changed plane coefficient,
To vary the precision of the plane coefficient,
Converting the plane coefficients a, b and c to a fixed point form
An apparatus for encoding a depth image through plane modeling.
[Equation 3]
ax+by-z+c=0
x, y, and z are three-dimensional coordinates, and a, b, and c are plane coefficients.
제7 항에 따른 상기 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체.A non-transitory computer-readable medium storing the instructions according to claim 7.
KR1020190108600A 2019-09-03 2019-09-03 Coding Method and Device for Depth Video Plane Modeling KR102224321B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190108600A KR102224321B1 (en) 2019-09-03 2019-09-03 Coding Method and Device for Depth Video Plane Modeling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190108600A KR102224321B1 (en) 2019-09-03 2019-09-03 Coding Method and Device for Depth Video Plane Modeling

Publications (1)

Publication Number Publication Date
KR102224321B1 true KR102224321B1 (en) 2021-03-05

Family

ID=75164121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190108600A KR102224321B1 (en) 2019-09-03 2019-09-03 Coding Method and Device for Depth Video Plane Modeling

Country Status (1)

Country Link
KR (1) KR102224321B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101817140B1 (en) 2016-12-30 2018-01-10 동의대학교 산학협력단 Coding Method and Device for Depth Video Plane Modeling
KR101853215B1 (en) * 2016-12-30 2018-04-27 동의대학교 산학협력단 Coding Device and Method and Depth Information Compensation by Plane Modeling
KR101865826B1 (en) * 2017-05-24 2018-06-08 동의대학교 산학협력단 Intra Prediction Coding Method and Device for Depth Image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101817140B1 (en) 2016-12-30 2018-01-10 동의대학교 산학협력단 Coding Method and Device for Depth Video Plane Modeling
KR101853215B1 (en) * 2016-12-30 2018-04-27 동의대학교 산학협력단 Coding Device and Method and Depth Information Compensation by Plane Modeling
KR101865826B1 (en) * 2017-05-24 2018-06-08 동의대학교 산학협력단 Intra Prediction Coding Method and Device for Depth Image

Similar Documents

Publication Publication Date Title
US11501507B2 (en) Motion compensation of geometry information
TW201843999A (en) Intra reference filter for video coding
CN112219398B (en) Method and apparatus for depth coding and decoding
TWI505694B (en) Encoder and method
US10531082B2 (en) Predictive light-field compression
US20140044347A1 (en) Mage coding apparatus, image coding method, image coding program, image decoding apparatus, image decoding method, and image decoding program
US20140002596A1 (en) 3d video encoding/decoding apparatus and 3d video encoding/decoding method using depth transition data
KR102080694B1 (en) Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM
JP2005341555A (en) Method of representing image or sequence of image, descriptor representing image and method of using the same, apparatus for performing the methods, computer program, and storage medium
JP7105062B2 (en) Image processing device, content processing device, content processing system, and image processing method
JP2014147111A (en) Quantization matrix design for hevc standards
WO2007057986A1 (en) Motion vector calculation device and motion vector calculation method
JP2005159419A5 (en)
KR101865826B1 (en) Intra Prediction Coding Method and Device for Depth Image
JP2013532926A (en) Method and system for encoding video frames using multiple processors
KR101904120B1 (en) VIDEO PROCESSING Device and Method For Depth Video by Eclipse Surface Modeling
KR101906173B1 (en) Method and Device of Zoom Motion Estimation for Depth Video
KR102074929B1 (en) METHOD AND DEVICE FOR DETECTING PLANE AREA USING DEPTH IMAGE, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR20140074238A (en) Method and apparatus for color transfer between images
US8520742B2 (en) Moving image compression-coding device, method of compression-coding moving image, and H.264 moving image compression-coding device
KR102224321B1 (en) Coding Method and Device for Depth Video Plane Modeling
US10630991B2 (en) Image difference detection device, method for detecting image difference, and computer program
KR102098322B1 (en) Method and Device of Motion Estimation for Depth Video Coding by Plane Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM
KR101904125B1 (en) VIDEO PROCESSING Device and Method For Depth Video by Concave Curved Surface Modeling
KR102224315B1 (en) Intra Prediction Coding Method and Device for Depth Image

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant