KR102224321B1 - Coding Method and Device for Depth Video Plane Modeling - Google Patents
Coding Method and Device for Depth Video Plane Modeling Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
Description
본 발명은 평면 모델링을 통한 깊이 영상 부호화 방법 및 장치에 관한 것이다. 보다 상세하게는 깊이 영상 내 객체의 평면을 모델링하고 평면 모델의 평면 방정식의 계수를 부호화할 수 있는 방법 및 장치에 관한 것이다.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.
본 발명은 깊이 영상 내의 평면을 모델링하고 평면 모델을 이용하여 깊이를 예측하고 깊이 예측과 평면 모델의 계수를 이용하여 깊이 영상을 부호화할 수 있는 방법 및 장치를 제공할 수 있다.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
[수학식 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
[수학식 2][Equation 2]
은 제1 추정깊이 값이고, f는 초점거리이고, a, b, c는 매개변수이고, w, h는 영상좌표이다. 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
깊이 영상 처리 장치(100)와 데이터수신장치(200)는 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스들, 이른바 "스마트" 폰들과 같은 전화기 핸드셋들, 이른바 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 매우 다양한 디바이스들 중 임의의 것을 포함할 수도 있다.The depth
일부 구현예에서는, 깊이 영상 처리 장치(100)와 데이터수신장치(200)는 무선 통신을 위한 구성(10)이 갖추어 질 수 있다.In some implementations, the depth
또한, 데이터수신장치(200)는 영상 처리된 영상 데이터를 컴퓨터 판독 가능 매체를 통해 수신할 수도 있다.In addition, the
컴퓨터 판독 가능 매체는 깊이 영상 처리 장치(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
영상 처리된 영상 데이터는 통신 표준, 이를테면 무선 통신 프로토콜에 따라 변조되고 데이터수신장치(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
데이터수신장치(200)는 저장 디바이스로부터의 저장된 영상 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다.The
도 1의 예에서 깊이 영상 처리 장치(100)는 영상 소스(110) 및 영상처리부(120)를 포함할 수 있다. 또한, 깊이 영상 처리 장치(100)는 출력 인터페이스(130)를 더 포함할 수 있다. In the example of FIG. 1, the depth
데이터수신장치(200)는 입력 인터페이스(220) 및 데이터처리부(210)를 포함할 수 있다. The
다른 예에서 깊이 영상 처리 장치(100)와 데이터처리부(210)는 다른 컴포넌트들을 포함할 수 있다.In another example, the depth
예를 들어 깊이 영상 처리 장치(100)는 외부 비디오 소스, 이를테면 외부 카메라로부터 영상을 수신할 수 있고, 외부 카메라는 깊이 영상(depth image)을 생성하는 깊이 영상 촬영 디바이스가 될 수 있다. For example, the depth
깊이 영상 처리 장치(100)의 영상 소스(110)는 깊이 영상 촬영 디바이스, 이를테면 카메라, 이전에 촬영된 깊이 영상을 포함하는 아카이브 (archive), 및/또는 깊이 영상 콘텐츠 제공자로부터의 깊이 영상을 수신하는 인터페이스를 포함할 수도 있다.The
일부 구현예에서 깊이 영상 촬영 디바이스는 장면의 깊이 정보를 픽셀(화소)당 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
메모리는 컴퓨터 판독가능 명령들 또는 프로세서 판독가능 명령들과 같은 명령들(예를 들어, 실행가능 명령들)을 포함한다. 명령들은 하나 이상의 프로세서들 각각에 의해서와 같이 컴퓨터에 의해 실행가능한 하나 이상의 명령어들을 포함할 수도 있다.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
영상처리부(120)의 프로세서 (122)는 깊이 영상 내의 평면을 모델링하기 위한 기법들이 적용되도록 구성될 수 있다.The
일부 구현예에서는, 영상처리부(120)의 프로세서(122)는 깊이 영상의 깊이 값을 예측하는 기법들이 적용되도록 구성될 수도 있다.In some implementations, the
일부 구현예에서는, 영상처리부(120)의 프로세서(122)는 깊이 영상을 부호화하기 위한 기법들이 적용되도록 구성될 수 있다. In some implementations, the
다른 구현예에서는 영상처리부(120)의 프로세서(122)는 깊이 영상을 부호화 및 복호화하는 기법이 적용되도록 구성될 수도 있다.In another embodiment, the
데이터처리부(210)는 영상처리부(120)로부터의 깊이 영상 데이터를 외부 장치로 전송, 디스플레이, 분석 등을 수행할 수 있도록 구성될 수 있다.The
일부 구현예에서는, 데이터처리부(220)는 영상처리부(120)로부터의 부호화된 깊이 영상 데이터를 복호화할 수 있도록 구성될 수도 있다.In some implementations, the
도 1에 도시되지 않았지만, 몇몇 실시예에서, 깊이 영상 처리 장치(100)는 부호화 장치와 통합된 장치가 될 수 있다. 몇몇 실시예에서, 깊이 영상 처리 장치(100)와 데이터처리장치(200)는 통합된 장치가 될 수 있다. 이를테면 깊이 영상 처리 장치(100)는 깊이 화면을 부호화하고, 부호화된 깊이 화면을 복호화할 수 있도록 구성될 수도 있다.Although not shown in FIG. 1, in some embodiments, the depth
도 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
<블록 분할><Block division>
깊이 영상 처리 장치(100)의 프로세서(122)가 깊이 영상을 기 설정된 블록 단위로 분할할 수 있다(S100). The
예를 들어 깊이 영상은 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
[수학식 1][Equation 1]
x=dw/fx=dw/f
y=dh/fy=dh/f
z=dz=d
수학식 1에서 f는 카메라의 초점 거리로써, 카메라 좌표계 상에서 원점과 영상 평면과의 거리로 정의한다.In
<표면 모델링 및 예측깊이 값><Surface modeling and predicted depth value>
깊이 영상 처리 장치(100)의 프로세서(122)가 3차원 좌표에 기초하여 평면 모델로 모델링할 수 있다(S300). 또한, 깊이 영상 처리 장치(100)의 프로세서(122)가 평면 모델에 기초하여 예측깊이 값을 생성할 수 있다(S400). The
보다 구체적으로, 일 예로, 도 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
[수학식 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
[수학식 3][Equation 3]
AR=BAR=B
[수학식 4][Equation 4]
또한, 평면 계수로 구성된 행렬 R을 수학식 5를 이용하여 구할 수 있다.In addition, a matrix R composed of plane coefficients can be obtained using Equation 5.
[수학식 5][Equation 5]
프로세서(122)는 수학식 2의 평면의 제1 평면 방정식을 제1 좌표(x, y, z)가 투영된 영상 평면의 좌표계 상의 제2 좌표(w, h)와 평면 계수(a, b, c) 및 예측깊이 값()으로 이루어진 수학식 6의 평면의 제2 평면 방정식으로 변환할 수 있다.The
[수학식 6][Equation 6]
h, w는 영상 평면의 수직, 수평 좌표이고, f는 초점거리이며, 는 평면의 예측깊이 값이다.h, w are the vertical and horizontal coordinates of the image plane, f is the focal length, Is the predicted depth value of the plane.
즉, 평면의 예측깊이 값()은 수학식 6에 의해 구할 수 있다.In other words, the predicted depth value of the plane ( ) Can be obtained by Equation 6.
다른 예로, 평면 모델은 도 8 내지 도 17의 설명 따른 국소평면을 이용하여 모델링 될 수 있다. 국소 평면을 이용하여 평면 모델을 생성하는 방법은 후술한다. 또한, 다른 예의 평면 모델의 예측깊이 값()은 평면의 임의의 (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 ( ) Can be obtained using a point with arbitrary (w, h) coordinates of the plane and Equation 6.
<블록 부호화><block coding>
깊이 영상 처리 장치(100)의 프로세서(122)가 블록을 부호화 할 수 있다(S500). The
보다 구체적으로, 프로세서(122)는 평면 모델을 이용하여 생성한 예측깊이 값 및 평면 모델의 평면 계수에 기초하여 대상 블록을 부호화할 수 있다. 일 예로, 예측깊이 값의 부호화의 경우, 프로세서(122)는 예측깊이 값과 측정깊이 값의 차이를 이용하여 대상 블록내 각 화소를 부호화할 수 있다. 측정깊이 값은 영상 평면의 (w, h) 좌표를 가진 화소에서 측정된 깊이 값일 수 있다. More specifically, the
도 5를 참조하면, 일 예로, 평면 계수의 경우, 프로세서(122)는 평면 계수의 정밀도를 가변할 수 있다(S510). 깊이 영상에서 각각에 블록에 대해 모델링된 평면 계수 a, b, c의 실험예는 이하 표 1 내지 표 3과 같다. 각 표에서 소정의 대응되는 위치의 계수는 소정의 동일한 블록에 대해 모델링된 평면의 계수를 의미한다.Referring to FIG. 5, for example, in the case of plane coefficients, the
표 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
압축율은 압축되기 전 크기를 압축 후 크기를 나눔으로 계산한 것이다. 표 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
도 5를 참조하면, 일 예로, 평면 계수의 경우, 프로세서(122)는 정밀도가 가변된 평면 계수를 엔트로피 부호화할 수 있다(S520). 엔트로피 부호화는 허프만 코드를 이용한 부호화 방법, 산술 부호화 방법, 적응 산술 부호화(CABAC) 방법 등이 있고, 이에 제한되는 것은 아니고 다른 엔트로피 부호화 알고리즘에 따를 수 있다. 일 예로, 산술 부호화 방법은 무손실 압축에 사용되는 엔트로피 부호화 알고리즘 가운데 하나로, 메시지에 출현하는 기호들의 고정된 통계적 모형을 결정하고 전체 메시지를 0보다 크고 1보다 작은 하나의 실수 n으로 대체한다. Referring to FIG. 5, as an example, in the case of plane coefficients, the
<깊이 영상 부호화><Depth video encoding>
깊이 영상 처리 장치(100)의 프로세서(122)가 부호화된 모든 블록을 합쳐 깊이 영상을 부호화하는 단계(S600)를 포함할 수 있다.The
따라서, 본 발명의 실시예는 깊이 영상 내의 평면을 모델링하고 평면 모델을 이용하여 깊이를 예측하고 깊이 예측과 평면 모델의 계수를 이용하여 깊이 영상을 부호화할 수 있다. 또한, 본 발명의 실시예는 깊이 영상의 특성을 고려하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있다. 또한, 본 발명의 실시예는 평면 모델의 계수의 정밀도를 가변하여 깊이 영상의 품질을 유지하면서도 압축율을 높일 수 있다. 또한, 본 발명의 실시예는 깊이 영상에 따라서 평면 모델의 계수의 정밀도를 선택적으로 가변하여 부호화 할 수 있다. 또한, 본 발명의 실시예는 깊이 영상 내의 평면을 국소 단위로 모델링 하여 세밀하고 정교한 평면 모델을 이용하여 깊이 영상을 부호화할 수 있다.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
도 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
일 방법에 따른 국소 평면을 생성하는 방법은 깊이 영상 처리 장치(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
일 실시예에 따른 국소 평면을 생성하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표 및 제1 내지 제4 주변 변환 좌표를 포함하는 평면을 일 화소의 국소 평면으로 생성하는 단계(S1300)를 포함할 수 있다. In the method of generating a local plane according to an embodiment, the
도 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 국소 벡터()를 생성하는 단계(S2100)를 포함할 수 있다. 보다 구체적으로, 국소 평면의 제1 국소 벡터()는 중심 변환 좌표(Pc(w,h))를 지나며 제2 주변 변환 좌표(Pc(w,h+k))에서 제1 주변 변환 좌표(Pc(w,h-k))를 지나는 제1 방향의 벡터 일 수 있다. 일 예로, 제1 방향은 수직 하측 방향 또는 수직 하측 방향에 가까운 방향일 수 있다. 제1 국소 벡터()는 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
일 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 국소 평면의 제2 국소 벡터()를 생성하는 단계(S2200)를 포함할 수 있다. 보다 구체적으로, 국소 평면의 제2 국소 벡터()는 중심 변환 좌표(Pc(w,h))를 지나며 제4 주변 변환 좌표(Pc(w-k,h))에서 제3 주변 변환 좌표(Pc(w+k,h))를 지나는 제2 방향의 벡터 일 수 있다. 일 예로, 제2 방향은 수평 우측 방향 또는 수평 우측 방향에 가까운 방향일 수 있다. 제2 국소 벡터()는 Pc(w+k,h)-Pc(w-k, h)로 나타낼 수 있다.In a method of detecting a feature of a local plane according to one method, the
일 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 제1 국소 벡터() 및 제2 국소 벡터()를 이용하여 일 화소(P)에 대한 국소 평면의 법선 벡터(n(w,h))를 생성하는 단계(S2300)를 생성하는 단계를 포함할 수 있다. 보다 구체적으로, 법선 벡터(n(w,h))는 수학식 7에 따라 제1 국소 벡터()와 제2 국소 벡터()의 외적으로 구할 수 있다. In a method of detecting a feature of a local plane according to one method, the
[수학식 7] [Equation 7]
이에 제한되는 것은 아니고, 법선 벡터(n(w,h))는 제2 국소 벡터()와 제1 국소 벡터()의 곱으로 순서를 달리하여 구할 수 있다.It is not limited thereto, and the normal vector (n(w,h)) is the second local vector ( ) And the first local vector ( It can be obtained in a different order by multiplying by ).
일 실시예에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표(Pc(w,h)) 및 법선 벡터(n(x,y))를 이용하여 국소 평면과 카메라의 거리인 국소 평면의 특징 거리()를 생성하는 단계(S2400)를 포함할 수 있다. 보다 구체적으로, 중심 변환 좌표(Pc(w,h))의 국소 평면의 법선 벡터(n(w,h))의 성분을 ()이라고 했을 때, 중심 변환 좌표(Pc(w,h))를 지나고 법선 벡터(n(w,h))를 가지는 평면은 수학식 8과 같이 표현 할 수 있다.In a method of detecting a feature of a local plane according to an embodiment, the
[수학식 8] [Equation 8]
이 때, 국소 평면의 카메라로부터의 거리인 특징 거리()는 수학식 9를 통해 계산될 수 있다. At this time, the feature distance, which is the distance from the camera on the local plane ( ) Can be calculated through Equation 9.
[수학식 9][Equation 9]
도 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
[수학식 10] [Equation 10]
또한, 일 방법에 따른 국소 평면간 유사도를 계산하는 방법은, 깊이 영상 처리 장치(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
[수학식 11][Equation 11]
도 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
또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제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
또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제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
또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제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
또한, 일 방법에 따른 국소 평면간 유사도에 따른 그룹화를 통한 제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
따라서, 본 발명의 일 실시예는 화소 단위로 평면의 영역을 검출함으로써 정밀도가 향상된다. 또한, 본 발명의 실시예는 국소 평면 단위로 평면의 인자를 계산하고, 유사한 평면 인자를 가지는 인접 국소 평면을 같은 평면으로 그룹핑하여 각 평면의 영역을 검출함으로써 데이터 처리 속도가 향상된다. 또한, 본 발명의 실시예는 깊이 영상에 노이즈가 많이 포함된 경우에도 신뢰할 수 있는 평면 추정이 가능하다. 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
도 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
또한, 다른 방법에 따른 국소 평면을 생성하는 방법은, 깊이 영상 처리 장치(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
또한, 다른 방법에 따른 국소 평면을 생성하는 방법은, 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표 및 주변 변환 좌표들을 포함하는 평면을 일 화소의 국소 평면으로 생성하는 단계(S11300)를 포함할 수 있다.In addition, in a method of generating a local plane according to another method, the
도 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 평균 국소 벡터()를 생성하는 단계(S12100)을 포함할 수 있다. 보다 구체적으로, 제1 평균 국소 벡터()는 국소 평면의 복수의 제1 국소 벡터의 평균 일 수 있다. 복수의 제1 국소 벡터는 주변 변환 좌표들 중 상측에 위치한 주변 변환 좌표들과 하측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 상측 주변 변환 좌표에서 하측 주변 변환 좌표로 향한 수직 성분의 벡터들일 수 있다. 이에 제한되는 것은 아니고, 복수의 제1 국소 벡터는 주변 변환 좌표들 중 하측에 위치한 주변 변환 좌표들과 상측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 하측 주변 변환 좌표에서 상측 주변 변환 좌표로 향한 수직 성분의 벡터들일 수 있다. 또한, 복수의 제1 국소 벡터 중 임의의 제1 국소 벡터()는 수학식 12에 따라 결정될 수 있다.Referring to FIG. 16, in a method of detecting a feature of a local plane according to another method, the
[수학식 12][Equation 12]
일 예로, 도 17을 참조하면, 프로세서(122)는 N=3이면 수학식 12에 따라 3개의 제1 국소 벡터()를 결정할 수 있다. 제1 평균 국소 벡터()는 수학식 13에 따라 복수의 제1 국소 벡터들을 합하여 각 벡터가 가지는 방향의 평균 방향을 가지도록 생성될 수 있다.As an example, referring to FIG. 17, if N=3, the
[수학식 13][Equation 13]
또한, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 국소 평면의 제2 평균 국소 벡터()를 생성하는 단계(S12200)을 포함할 수 있다. 보다 구체적으로, 제2 평균 국소 벡터()는 국소 평면의 복수의 제2 국소 벡터의 평균 일 수 있다. 복수의 제2 국소 벡터는 주변 변환 좌표들 중 좌측에 위치한 주변 변환 좌표들과 우측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 좌측 주변 변환 좌표에서 우측 주변 변환 좌표로 향한 수평 성분의 벡터들일 수 있다. 이에 제한되는 것은 아니고, 복수의 제2 국소 벡터는 주변 변환 좌표들 중 우측에 위치한 주변 변환 좌표들과 좌측에 위치한 주변 변환 좌표들이 각각 쌍을 이루어 우측 주변 변환 좌표에서 좌측 주변 변환 좌표로 향한 수평 성분의 벡터들일 수 있다. 또한, 복수의 제2 국소 벡터 중 임의의 제2 국소 벡터()는 수학식 12에 따라 결정될 수 있다. 일 예로, 도 17을 참조하면, 프로세서(122)는 N=3이면 수학식 12에 따라 3개의 제2 국소 벡터()를 결정할 수 있다. 제2 평균 국소 벡터()는 수학식 13에 따라 복수의 제2 국소 벡터들을 합하여 각 벡터가 가지는 방향의 평균 방향을 가지도록 생성될 수 있다.In addition, in a method of detecting a feature of a local plane according to another method, the
또한, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 제1 평균 국소 벡터() 및 제2 평균 국소 벡터()를 이용하여 일 화소(P)에 대한 국소 평면의 법선 벡터()를 생성하는 단계(S12300)를 생성하는 단계를 포함할 수 있다. 보다 구체적으로, 법선 벡터()는 수학식 14에 따라 제1 평균 국소 벡터()와 제2 평균 국소 벡터()의 외적으로 구할 수 있다.In addition, in a method of detecting a feature of a local plane according to another method, the
[수학식 14] [Equation 14]
이에 제한되는 것은 아니고, 법선 벡터()는 제2 평균 국소 벡터()와 제1 평균 국소 벡터()의 곱으로 순서를 달리하여 구할 수 있다.It is not limited thereto, and the normal vector ( ) Is the second mean local vector ( ) And the first mean local vector ( It can be obtained in a different order by multiplying by ).
또한, 다른 방법에 따른 국소 평면의 특징을 검출하는 방법은 깊이 영상 처리 장치(100)의 프로세서(122)가 중심 변환 좌표(Pc(w,h)) 및 법선 벡터()를 이용하여 국소 평면과 카메라의 거리인 국소 평면의 특징 거리()를 생성하는 단계(S12400)를 포함할 수 있다. 보다 구체적으로, 중심 변환 좌표(Pc(w,h))의 국소 평면의 법선 벡터()의 성분을 ()이라고 했을 때, 중심 변환 좌표(Pc(w,h))를 지나고 법선 벡터(n(w,h))를 가지는 제2 평면은 수학식 8과 같이 표현 할 수 있다. 이 때, 국소 평면의 카메라로부터의 거리인 특징 거리()는 수학식 9를 통해 계산될 수 있다. In addition, in a method of detecting a feature of a local plane according to another method, the
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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.
상기 평면 계수의 정밀도를 가변하는 단계는,
상기 평면 계수 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.
상기 엔트로피 부호화는 산술 부호화 알고리즘인 평면 모델링을 통한 깊이 영상 부호화 방법.The method of claim 1,
The entropy encoding is an arithmetic encoding algorithm, a depth image encoding method through plane modeling.
상기 예측깊이 값은 영상좌표와 초점거리로 이루어진 수학식 2의 제2 평면 방정식을 이용하여 구하는 평면 모델링을 통한 깊이 영상 부호화 방법.
[수학식 2]
은 제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]
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.
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)
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 |
-
2019
- 2019-09-03 KR KR1020190108600A patent/KR102224321B1/en active IP Right Grant
Patent Citations (3)
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 |