KR20190027445A - Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM - Google Patents

Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM Download PDF

Info

Publication number
KR20190027445A
KR20190027445A KR1020170114249A KR20170114249A KR20190027445A KR 20190027445 A KR20190027445 A KR 20190027445A KR 1020170114249 A KR1020170114249 A KR 1020170114249A KR 20170114249 A KR20170114249 A KR 20170114249A KR 20190027445 A KR20190027445 A KR 20190027445A
Authority
KR
South Korea
Prior art keywords
curved surface
equation
modeling
reference block
block
Prior art date
Application number
KR1020170114249A
Other languages
Korean (ko)
Other versions
KR102080694B1 (en
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 KR1020170114249A priority Critical patent/KR102080694B1/en
Publication of KR20190027445A publication Critical patent/KR20190027445A/en
Application granted granted Critical
Publication of KR102080694B1 publication Critical patent/KR102080694B1/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/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/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/186Methods 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 a colour or a chrominance component
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions

Abstract

According to an embodiment of the present invention, provided is a method for estimating a motion in encoding of a depth image through curved surface modeling, which comprises the steps of: dividing a current screen on an image plane having an object and a background projected on a camera coordinate system into a target block of an m*n (m and n are a positive integer) size; searching for an i*j (i and j are a positive integer equal to or greater than m and n) of a reference screen on the image plane to select a reference block of the m*n size; detecting information on first and second curved surfaces by respectively modeling the first curved surface in the target block and the second curved surface in the reference block; converting the second curved surface in the reference block on the basis of information of the first and second curved surfaces; calculating a difference signal between the first curved surface and the converted second curved surface; and encoding at least one of a motion vector in accordance with a displacement of the difference signal, the target block and the reference block, and the information on the first and second curved surfaces.

Description

곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법 및 장치와 비일시적 컴퓨터 판독가능 기록매체{Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motion estimation method and apparatus for depth image coding using curved surface modeling and a non-transitory computer readable recording medium,

본 발명은 깊이 영상 부호화에서 움직임 추정 방법 및 장치 그리고 비일시적 컴퓨터 판독가능 기록매체에 관한 것이다. 보다 상세하게는 깊이 영상 내의 객체의 형상 정보를 검출하고 객체의 형상 정보에 기초하여 깊이 영상을 부호화할 수 있는 방법 및 장치 그리고 비일시적 컴퓨터 판독가능 기록매체에 관한 것이다.The present invention relates to a motion estimation method and apparatus in depth image coding and a non-transitory computer readable recording medium. And more particularly, to a method and apparatus for detecting the shape information of an object in a depth image and encoding the depth image based on the shape information of the object, and a non-transitory computer readable recording medium.

일반적으로 움직임 추정은 색상신호 또는 명도신호에 대하여 현재화면내의 블록과 시간방향으로 이웃한 화면내에서 가장 가까운 블록을 찾는 것을 의미한다. 보통 블록크기가 작을수록 추정의 정확도가 커지지만 추정에 필요되는 복잡도가 증가되는 단점이 있다. MPEG-1,2에서는 명도신호에 대하여 수평방향으로 16화소, 수직방향으로 16화소로 블록이 구성되어 있으며, H. 264에서는 16x16, 8x8, 4x4 등의 블록크기를 가변적으로 선택할 수 있도록 하고 있다.In general, motion estimation means finding a block in the current screen and a block closest to the current screen in the temporal direction with respect to the color signal or brightness signal. Usually, the smaller the block size, the larger the accuracy of estimation, but the complexity required for estimation is increased. In MPEG-1 and 2, blocks are composed of 16 pixels in the horizontal direction and 16 pixels in the vertical direction with respect to the lightness signal. In H. 264, block sizes of 16x16, 8x8, 4x4, etc. can be variably selected.

움직임 추정시의 평가척도로는 크게 MSE(평균제곱오차: Mean Square Error)와 MAE (평균절대오차: Mean Absolute Error)가 사용된다. 정확도는 MSE가 우수하나, 복잡도가 크기 때문에 MAE가 많이 사용되고 있다.MSE (Mean Square Error) and MAE (Mean Absolute Error) are used as evaluation scales for motion estimation. The accuracy of MSE is excellent, but MAE is widely used because of its high complexity.

최근 색상신호 또는 명도신호에 대하여 적용된 움직임 추정 방법이 깊이 영상에 대해서도 적용하는 연구가 진행되고 있다. 그러나 깊이 영상은 색상 영상과 달리 시간상 흐름에서 3차원적인 움직임을 보이므로 기존 색상영상에서 평면적인 움직임만을 고려하여 움직임 벡터를 얻는 방식을 깊이 영상에 그대로 적용할 수 없다.Recently, motion estimation methods applied to color signals or lightness signals are being applied to depth images. However, since the depth image has a three-dimensional motion in the temporal flow unlike the color image, the method of obtaining the motion vector considering only the planar motion in the existing color image can not be applied to the depth image.

대한민국특허공개공보 10-2011-0121003 A1Korean Patent Publication No. 10-2011-0121003 A1

본 발명은 깊이 신호 사이의 움직임을 추정할 수 있는 움직임 추정 방법 및 장치를 제공한다.The present invention provides a motion estimation method and apparatus capable of estimating motion between depth signals.

또한, 본 발명은 깊이 화면 내 곡면으로 이루어진 영역의 깊이 값을 통해 곡면을 추정할 수 있는 방법 및 장치를 제공한다.The present invention also provides a method and apparatus for estimating a curved surface through a depth value of an area made up of an in-depth curved surface.

또한, 본 발명은 3차원적인 움직임을 보이는 객체에 대해서도 움직임을 추정할 수 있는 움직임 추정 방법 및 장치를 제공한다.Also, the present invention provides a motion estimation method and apparatus capable of estimating motion for an object showing three-dimensional motion.

또한, 본 발명은 곡면의 평면적인 움직임뿐만 아니라 회전, 신축 등의 3차원적인 움직임을 고려하여 움직임 벡터를 추정할 수 있는 움직임 추정 방법 및 장치를 제공한다.In addition, the present invention provides a motion estimation method and apparatus capable of estimating a motion vector in consideration of three-dimensional motion such as rotation, stretching, and the like as well as planar motion of a curved surface.

본 발명의 실시예는 카메라좌표계 상의 객체와 배경이 투영된 영상 평면 상의 현재 화면을 m*n(m, n은 양의 정수) 크기의 대상블록로 분할하는 단계; 상기 영상 평면 상의 참조 화면의 i*j(i 및 j는 m, n 이상의 양의 정수)영역을 탐색하여 m*n 크기의 참조블록을 선택하는 단계; 상기 대상블록 내의 제1 곡면과 상기 참조블록 내의 제2 곡면 각각을 모델링하여 상기 제1 및 제2 곡면의 정보를 검출하는 단계; 상기 제1 및 제2 곡면의 정보에 기초하여 상기 참조블록 내의 제2 곡면을 변환하는 단계; 상기 제1 곡면과 상기 변환된 제2 곡면 사이의 차신호를 계산하는 단계; 및 상기 차신호와 상기 대상블록과 상기 참조블록의 변위에 따른 움직임 벡터 그리고 상기 제1 및 제2 곡면 정보 중 적어도 하나를 부호화하는 단계;를 포함하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수 있다.According to an embodiment of the present invention, there is provided a method for processing an object on a camera coordinate system, the method comprising the steps of: dividing a current screen on an image plane on which an object on a camera coordinate system and a background is projected, into object blocks of m * n (m, n is a positive integer) Selecting a reference block of size m * n by searching an area of i * j (where i and j are positive integers of m, n or more) on a reference screen on the image plane; Detecting information on the first and second curved surfaces by modeling a first curved surface in the target block and a second curved surface in the reference block, respectively; Converting a second curved surface in the reference block based on the information of the first and second curved surfaces; Calculating a difference signal between the first curved surface and the transformed second curved surface; And coding at least one of the difference signal, the motion vector according to the displacement of the target block and the reference block, and the first and second curved surface information. .

또한, 상기 현재 화면 및 상기 참조 화면 중 적어도 하나의 화소들의 깊이 값에 기초하여 객체의 형상 정보를 검출하는 단계;를 더 포함하고, 상기 객체의 형상 정보에 기초하여 상기 대상블록 내의 제1 곡면과 상기 참조블록 내의 제2 곡면 각각을 구면, 오목면 및 타원면 중 어느 하나로 모델링하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수도 있다.The method of claim 1, further comprising detecting shape information of an object based on a depth value of at least one of the current screen and the reference screen, The motion estimation method may be provided in the depth image coding through the curved surface modeling in which each of the second curved surfaces in the reference block is modeled as a spherical surface, a concave surface, or an ellipsoidal surface.

또한, 상기 제1 및 제2 곡면의 정보를 검출하는 단계는, 상기 카메라좌표계 상의 상기 대상블록에 대응하는 상기 객체의 좌표와 제1 미결정매개변수로 구성된 제1 방정식을 모델링하고, 상기 제1 방정식으로부터 상기 제1 미결정매개변수의 값을 결정하여 제1 결정매개변수를 생성하며, 상기 제1 결정매개변수와 상기 대상 블록을 이루는 제1 화소들의 좌표 값에 기초하여 상기 제1 화소들 각각의 제1 예측깊이값을 결정하는 단계; 및 상기 카메라좌표계 상의 상기 참조블록에 대응하는 상기 객체의 좌표와 제2 미결정매개변수로 구성된 제2 방정식을 모델링하고, 상기 제2 방정식으로부터 상기 제2 미결정매개변수의 값을 결정하여 제2 결정매개변수를 생성하며, 상기 제2 결정매개변수와 상기 참조 블록을 이루는 제2 화소들의 좌표 값에 기초하여 상기 제2 화소들 각각의 제2 예측깊이값을 결정하는 단계;를 포함하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수도 있다.The step of detecting information of the first and second curved surfaces may be performed by modeling a first equation composed of a coordinate of the object corresponding to the object block on the camera coordinate system and a first undetermined parameter, Determining a value of the first microcrystalline parameter to generate a first determination parameter based on the first determination parameter and the coordinate value of the first pixels constituting the target block, 1 prediction depth value; And modeling a second equation consisting of a coordinate of the object corresponding to the reference block on the camera coordinate system and a second undetermined parameter and determining a value of the second undetermined parameter from the second equation, And determining a second predicted depth value of each of the second pixels based on the second determination parameters and the coordinate values of the second pixels constituting the reference block, A motion estimation method may be provided in the depth image encoding.

또한, 상기 참조블록 내의 제2 곡면을 변환하는 단계는, 상기 제2 예측깊이값과 상기 제2 화소들 각각의 제2 측정깊이값의 제1 오차를 연산하는 단계; 및 상기 제1 예측깊이값과 상기 제1 오차 사이의 제2 오차를 연산하는 단계;를 포함하고, 상기 제1 곡면과 상기 변환된 제2 곡면 사이의 차신호를 계산하는 단계는, 상기 제1 화소들 각각의 제1 측정깊이값과 상기 제2 오차의 상기 차신호를 계산하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수도 있다.The converting the second curved surface in the reference block may further include calculating a first error between the second predicted depth value and a second measured depth value of each of the second pixels; And calculating a second error between the first predicted depth value and the first error, wherein the step of calculating a difference signal between the first curved surface and the transformed second curved surface comprises: A motion estimation method may be provided in the depth image encoding through the curved surface modeling that calculates the difference between the first measurement depth value of each of the pixels and the difference of the second error.

또한, 상기 i*j 영역 내의 복수의 m*n 크기의 참조블록들 각각과 상기 대상블록 사이의 상기 차신호를 계산하고 상기 복수의 참조블록들 중 상기 차신호의 절대오차의 합 또는 제곱오차의 합이 최소인 참조블록과 상기 대상블록 간의 변위에 따른 움직임 벡터를 생성하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수도 있다.Also, it is preferable to calculate the difference signal between each of a plurality of m * n-size reference blocks in the i * j region and the target block, and to calculate a sum of absolute errors of the difference signals or a square error A motion estimation method may be provided in depth image coding through a curved surface modeling that generates a reference block having a minimum sum and a motion vector according to a displacement between the target block and the target block.

또한, 상기 움직임 벡터와 상기 제1 및 제2 결정매개변수의 차이를 부호화하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수도 있다.In addition, a motion estimation method may be provided in the depth image coding through the curved surface modeling that encodes the difference between the motion vector and the first and second determination parameters.

또한, 상기 제1 및 제2 방정식은 구의 방정식, 오목면의 방정식 및 타원의 방정식 중 어느 하나인 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법을 제공할 수도 있다.Also, the first and second equations may provide a motion estimation method in depth image coding through surface modeling, which is one of an equation of a sphere, an equation of a concave surface, and an equation of an ellipse.

다른 측면에서, 명령들을 저장하는 적어도 하나의 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 명령들은 상기 프로세서로 하여금 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고, 상기 동작들은: 카메라좌표계 상의 객체와 배경이 투영된 영상 평면 상의 현재 화면을 m*n(m, n은 양의 정수) 크기의 대상블록로 분할하고; 상기 영상 평면 상의 참조 화면의 i*j(i 및 j는 m, n 이상의 양의 정수)영역을 탐색하여 m*n 크기의 참조블록을 선택하고; 상기 대상블록 내의 제1 곡면과 상기 참조블록 내의 제2 곡면 각각을 모델링하여 상기 제1 및 제2 곡면의 정보를 검출하고; 상기 제1 및 제2 곡면의 정보에 기초하여 상기 참조블록 내의 제2 곡면을 변환하고; 상기 제1 곡면과 상기 변환된 제2 곡면 사이의 차신호를 계산하며; 상기 차신호와 상기 대상블록과 상기 참조블록의 변위에 따른 움직임 벡터 그리고 상기 제1 및 제2 곡면 정보 중 적어도 하나를 부호화하는; 것을 포함하는 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 장치를 제공할 수도 있다.In another aspect, at least one memory for storing instructions; And at least one processor, the instructions being executable by the processor to cause the processor to perform operations, the operations comprising: displaying an object on the camera coordinate system and a current screen on the image plane in which the background is projected dividing a target block of m * n (m, n is a positive integer) size; Selecting an m * n-size reference block by searching an area of i * j (where i and j are positive integers of m, n or more) on the reference screen on the image plane; Modeling the first curved surface in the target block and the second curved surface in the reference block to detect information of the first and second curved surfaces; Transform a second curved surface in the reference block based on the information of the first and second curved surfaces; Calculate a difference signal between the first curved surface and the transformed second curved surface; A motion vector according to the displacement of the target block and the reference block, and at least one of the first and second curved surface information; A motion estimation unit may be provided in the depth image encoding through the curved surface modeling.

또 다른 측면에서, 상기 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 제공할 수도 있다.In another aspect, a non-volatile computer readable medium storing the instructions may be provided.

본 발명의 실시예는 깊이 영상 내의 깊이 정보를 통해 곡면을 추정할 수 있다.Embodiments of the present invention can estimate a surface through depth information in a depth image.

또한, 본 발명의 실시예는 구면, 오목면, 타원면과 같이 다양한 곡면 형상의 객체의 움직임의 영향을 제거하여 움직임 벡터를 추정할 수 있다.In addition, embodiments of the present invention can estimate the motion vector by removing the influence of motion of various curved objects such as spherical, concave, and elliptical surfaces.

또한, 본 발명의 실시예는 객체의 회전이나 신축을 고려하여 움직임 벡터를 추정할 수 있다.In addition, an embodiment of the present invention can estimate a motion vector considering rotation and contraction of an object.

또한, 본 발명의 실시예는 참조 블록의 곡면 모델링 인자를 대상 블록의 곡면 모델링 인자로 변환함으로써 정확한 움직임 추정이 가능하도록 한다.In addition, the embodiment of the present invention enables precise motion estimation by converting a curved surface modeling factor of a reference block into a curved surface modeling factor of a target block.

도 1은 본 발명의 실시예에 따른 깊이 영상을 영상 처리 할 수 있도록 구성된 깊이영상처리장치를 도시하는 블록도이다.
도 2a는 본 발명의 실시예에 따른 움직임 추정 방법에 대한 예시적은 다이어그램이다.
도 2b는 제1 및 제2 곡면의 정보 검출의 흐름도이다.
도 2c는 제2 곡면의 변환 방법에 관한 흐름도이다.
도 3은 카메라 좌표계 상의 한점이 영상 평면으로 투영되는 것을 나타낸 것이다.
도 4는 제2 곡면의 변환에 관한 예시도이다.
1 is a block diagram illustrating a depth image processing apparatus configured to process a depth image according to an exemplary embodiment of the present invention.
2A is an exemplary diagram of a motion estimation method according to an embodiment of the present invention.
2B is a flowchart of information detection of the first and second curved surfaces.
2C is a flowchart related to a method of converting the second curved surface.
3 shows that one point on the camera coordinate system is projected onto the image plane.
Fig. 4 is an exemplary diagram for conversion of the second curved surface. Fig.

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

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

도 1은 본 발명의 실시예에 따른 곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 장치를 도시하는 블록도이다.FIG. 1 is a block diagram illustrating a motion estimation apparatus for depth image coding through surface modeling according to an embodiment of the present invention. Referring to FIG.

움직임 추정 장치(100)는 영상 데이터를 데이터수신장치(200)로 제공할 수 있다.The motion estimation apparatus 100 may provide the video data to the data reception apparatus 200. [

움직임 추정 장치(100)와 데이터수신장치(200)는 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스들, 이른바 "스마트" 폰들과 같은 전화기 핸드셋들, 이른바 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 매우 다양한 디바이스들 중 임의의 것을 포함할 수도 있다.The motion estimation apparatus 100 and the data receiving apparatus 200 may be used in various applications such as desktop computers, laptop computers (e.g., laptop computers), tablet computers, set top boxes, telephone handsets such as so- Pads, televisions, cameras, display devices, digital media players, video gaming consoles, video streaming devices, and the like.

일부 구현예에서는, 움직임 추정 장치(100)와 데이터수신장치(200)는 무선 통신을 위한 구성(10)이 갖추어질 수 있다.In some implementations, the motion estimation apparatus 100 and the data receiving apparatus 200 may be provided with a configuration 10 for wireless communication.

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

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

영상 처리된 영상 데이터는 통신 표준, 이를테면 무선 통신 프로토콜에 따라 변조되고 데이터수신장치(200)로 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 이를테면 라디오 주파수 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반 네트워크, 이를테면 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 움직임 추정 장치(100)로부터 데이터수신장치(200)로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다. 몇몇 예들에서 영상 처리된 영상 데이터가 출력 인터페이스(130)로부터 컴퓨터 판독 가능 저장 매체, 이를 테면 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체, 즉, 데이터 저장 디바이스로 출력될 수도 있다. 마찬가지로 영상 데이터는 데이터수신장치(200)의 입력 인터페이스(230)에 의해 저장 디바이스로부터 엑세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 영상 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산형 또는 국부적으로 액세스되는 비일시적 데이터 저장 매체들 중 임의의 것을 포함할 수도 있다. 추가의 예에서, 저장 디바이스는 움직임 추정 장치(100)에 의해 생성된 영상 데이터를 저장할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 해당할 수도 있다.The 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 global network such as a local area network, a wide area network, or the Internet. The communication medium may include routers, switches, base stations, or any other equipment that may be useful in facilitating communication from the motion estimation apparatus 100 to the data receiving apparatus 200. In some instances, 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, i.e., a data storage device. Similarly, the image data may be accessed from the storage device by the input interface 230 of the data receiving apparatus 200. [ The storage device may be a variety of distributed or removable media such as hard drives, Blu-ray discs, DVDs, CD-ROMs, flash memory, volatile or nonvolatile memory, or any other suitable digital storage media for storing image data. And non-volatile data storage media that are locally accessed. In a further example, the storage device may correspond to a file server or other intermediate storage device that may store the image data generated by the motion estimation apparatus 100.

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

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

데이터수신장치(200)는 입력 인터페이스(230) 및 데이터처리부(220)를 포함할 수 있다. 또한, 데이터수신장치(200)는 디스플레이 디바이스(210)를 더 포함할 수 있다.The data receiving apparatus 200 may include an input interface 230 and a data processing unit 220. In addition, the data receiving apparatus 200 may further include a display device 210.

다른 예에서 움직임 추정 장치(100)와 데이터처리부(220)는 다른 컴포넌트들을 포함할 수 있다.In another example, the motion estimation apparatus 100 and the data processing unit 220 may include other components.

예를 들어 움직임 추정 장치(100)는 외부 비디오 소스, 이를테면 외부 카메라로부터 영상을 수신할 수 있고, 외부 카메라는 깊이 영상(depth image)을 생성하는 깊이 영상 촬영 디바이스가 될 수 있다. 마찬가지로, 데이터수신장치(200)는 통합형 디스플레이 디바이스(210)를 구비하기 보다는 외부 디스플레이 디바이스(210)와 인터페이싱 할 수도 있다.For example, the motion estimation apparatus 100 may receive an external video source, such as an image from an external camera, and the external camera may be a depth image capturing device that generates a depth image. Likewise, the data receiving device 200 may interface with the external display device 210 rather than with the integrated display device 210.

움직임 추정 장치(100)의 영상 소스(110)는 깊이 영상 촬영 디바이스, 이를테면 카메라, 이전에 촬영된 깊이 영상을 포함하는 아카이브 (archive), 및/또는 깊이 영상 콘텐츠 제공자로부터의 깊이 영상을 수신하는 인터페이스를 포함할 수도 있다.The image source 110 of the motion estimation apparatus 100 may include a depth image capture device, such as a camera, an archive containing previously captured depth images, and / or an interface for receiving depth images from a depth image content provider . ≪ / RTI >

일부 구현예에서 깊이 영상 촬영 디바이스는 장면의 깊이 정보를 256 단계의 8비트 영상 등으로 표현한 깊이 영상을 제공할 수 있다. 깊이 영상의 한 픽셀을 표현하기 위한 비트수는 8비트가 아니라 변경될 수 있다. 깊이 영상 촬영 디바이스는 적외선 등을 이용하여 깊이 영상 촬영 디바이스로부터 객체 및 배경까지의 거리를 측정하여 거리에 비례 또는 반비례하는 값을 갖는 깊이 영상을 제공할 수 있다.In some embodiments, the depth imaging device may provide a depth image that represents scene depth information in 256-level 8-bit images or the like. The number of bits for representing one pixel of the depth image can be changed instead of 8 bits. The depth image capturing device can measure the distance from the depth image capturing device to the object and the background by using infrared rays or the like to provide a depth image having a value proportional or inversely proportional to the distance.

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

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

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

예를 들어 하나 이상의 명령들은 하나 이상의 프로세서들로 하여금 깊이 화면의 움직임 벡터를 결정하고 깊이 화면을 부호화하기 위해 깊이 화면을 프로세싱하는 것을 포함하는 동작들을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능 할 수도 있다.For example, the one or more instructions may be executable by one or more processors to perform operations including one or more processors determining a motion vector of a depth screen and processing a depth screen to encode a depth screen have.

상세하게는, 영상처리부(120)는 명령어들을 저장하는 하나 이상의 메모리(121)와 상기 명령어들을 실행하는 적어도 하나의 프로세서(122)를 포함할 수 있다.In particular, 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 the techniques for determining the motion vector of the depth image.

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

다른 구현예에서는 영상처리부(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.

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

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

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

도 2a는 본 발명의 실시예에 따른 움직임 추정 방법에 대한 예시적은 다이어그램이고, 도 2b는 제1 및 제2 곡면의 정보 검출의 흐름도이고, 도 2c는 제2 곡면의 변환 방법에 관한 흐름도이다. 그리고 도 3은 카메라 좌표계 상의 한점이 영상 평면으로 투영되는 것을 나타낸 것이고, 도 4는 제2 곡면의 변환에 관한 예시도이다.FIG. 2A is an exemplary diagram of a motion estimation method according to an embodiment of the present invention, FIG. 2B is a flowchart of information detection of first and second curved surfaces, and FIG. 2C is a flowchart of a second curved surface transformation method. Fig. 3 shows that one point on the camera coordinate system is projected onto the image plane, and Fig. 4 shows an example of conversion of the second curved surface.

도 2a 및 도 3을 참조하면, 본 발명의 실시예에 따른 움직임 추정 방법은, 카메라좌표계 상의 객체와 배경이 투영된 영상 평면 상의 현재 화면을 m*n(m, n은 양의 정수) 크기의 대상블록로 분할하는 단계(S110), 영상 평면 상의 참조 화면의 i*j(i 및 j는 m, n 이상의 양의 정수)영역을 탐색하여 m*n 크기의 참조블록을 선택하는 단계(S120), 현재 화면 및 참조 화면 중 적어도 하나의 화소들의 깊이 값에 기초하여 객체의 형상 정보를 검출하는 단계(S130), 대상블록 내의 제1 곡면과 참조블록 내의 제2 곡면 각각을 모델링하여 제1 및 제2 곡면의 정보를 검출하는 단계(S140), 제1 및 제2 곡면의 정보에 기초하여 참조블록 내의 제2 곡면을 변환하는 단계(S150), 제1 곡면과 변환된 제2 곡면 사이의 차신호를 계산하는 단계(S160), 탐색 영역내의 모든 참조 블록의 탐색 여부를 확인하는 단계(S170) 및 대상 블록의 곡면과 탐색된 모든 참조블록들 각각의 곡면들 사이에서 계산된 차신호의 절대오차의 합 또는 제곱오차의 합을 측정하는 단계(S180) 및 차신호와 대상블록과 참조블록의 변위에 따른 움직임 벡터, 제1 및 제2 곡면 정보, 결정매개변수의 차이 중 적어도 하나를 부호화하는 단계(S190)를 포함할 수 있다.Referring to FIGS. 2A and 3, a motion estimation method according to an embodiment of the present invention is a method of estimating a motion of an object on a camera coordinate system and a current screen on an image plane on which a background is projected, using m * n (m, n is a positive integer) (S120) of searching for a reference block of size m * n by searching an area of i * j (where i and j are m and positive integers of n or more) on the reference screen on the image plane, (S130) of detecting the shape information of the object based on the depth value of at least one of the current screen and the reference screen, modeling the first curved surface in the target block and the second curved surface in the reference block, (S140) of transforming a second curved surface in the reference block based on the information of the first and second curved surfaces (S150), a difference signal between the first curved surface and the converted second curved surface (S160), checking whether all the reference blocks in the search area are searched A step S180 of measuring the sum of the absolute errors of the difference signals or squared errors calculated between the curved surfaces of the target block and the curved surfaces of each of the detected reference blocks, (S190) coding at least one of a motion vector according to a displacement of the reference block, a first and a second curved surface information, and a difference of a determination parameter.

또한, S130 단계에서 검출된 객체의 형상 정보에 기초하여 대상블록 내의 제1 곡면과 참조블록 내의 제2 곡면 각각을 구면, 오목면 및 타원면 모델링 중 어느 하나의 모델링이 수행될 수 있다.Also, based on the shape information of the object detected in step S130, the first curved surface in the target block and the second curved surface in the reference block may be modeled by spherical, concave, and ellipsoidal modeling.

또한, 도 2b를 참조하면, 제1 및 제2 곡면의 정보를 검출하는 단계(S140)는 카메라좌표계 상의 대상블록에 대응하는 객체의 좌표와 제1 미결정매개변수로 구성된 제1 방정식을 모델링하고(S141), 제1 방정식으로부터 제1 미결정매개변수의 값을 결정하여 제1 결정매개변수를 생성하며(S142), 제1 결정매개변수와 대상 블록을 이루는 제1 화소들의 좌표 값에 기초하여 제1 화소들 각각의 제1 예측깊이값을 결정하는 단계(S143)를 포함할 수 있다. 또한, 카메라좌표계 상의 참조블록에 대응하는 객체의 좌표와 제2 미결정매개변수로 구성된 제2 방정식을 모델링하고(S145), 제2 방정식으로부터 제2 미결정매개변수의 값을 결정하여 제2 결정매개변수를 생성하며(S146), 제2 결정매개변수와 참조 블록을 이루는 제2 화소들의 좌표 값에 기초하여 제2 화소들 각각의 제2 예측깊이값을 결정하는 단계(S147)를 포함할 수 있다.2B, the step S140 of detecting the information of the first and second curved surfaces models the first equation composed of the coordinates of the object corresponding to the target block on the camera coordinate system and the first undetermined parameters S141), a value of the first undetermined parameter is determined from the first equation to generate a first determination parameter (S142), and based on the coordinate values of the first pixels constituting the object block, And determining a first predicted depth value of each of the pixels (S143). Further, a second equation composed of the coordinates of the object corresponding to the reference block on the camera coordinate system and the second undetermined parameter is modeled (S145), and the value of the second undetermined parameter is determined from the second equation, (S146), and determining a second predicted depth value of each of the second pixels based on the second determination parameters and the coordinate values of the second pixels constituting the reference block (S147).

또한, 전술한 제1 및 제2 방정식은 객체의 형상 모델링 부호화 모드들 각각에 따라 달라질 수 있다.In addition, the first and second equations described above may vary according to each of the shape modeling encoding modes of the object.

또한, 도 2c를 참조하면, 참조블록 내의 제2 곡면을 변환하는 단계(S150)는 제2 예측깊이값과 제2 화소들 각각의 제2 측정깊이값의 제1 오차를 연산하는 단계(S151) 및 제1 예측깊이값과 제1 오차 사이의 제2 오차를 연산하는 단계(S152)를 포함할 수 있고, 제1 곡면과 변환된 제2 곡면 사이의 차신호를 계산하는 단계(S160)에서 제1 화소들 각각의 제1 측정깊이값과 제2 오차의 차신호를 계산할 수 있다.Referring to FIG. 2C, the step of transforming the second curved surface in the reference block S150 includes a step S151 of calculating a first error between the second predicted depth value and the second measured depth value of each of the second pixels, And calculating a second error between the first predicted depth value and the first error (S152), and calculating a difference signal between the first curved surface and the transformed second curved surface (S160) A difference signal between the first measurement depth value and the second error of each of the pixels can be calculated.

본 발명의 실시예에 따른 움직임 추정 방법의 각 단계를 보다 상세하게 설명한다.Each step of the motion estimation method according to the embodiment of the present invention will be described in more detail.

카메라좌표계 상의 객체와 배경이 투영된 영상 An object on the camera coordinate system and a projected background 평면 상의Flat 현재 화면을 m*n 크기의  The current screen is m * n size 대상블록로To target block 분할하는 단계(S110). (S110).

카메라 좌표계 상에서 객체의 임의의 한 점 P는 (X, Y, Z) 좌표를 가지고, 여기서 (X, Y)는 영상 평면의 (x, y) 좌표를 가진 점으로 투영되며, Z 값은 (x, y) 좌표에서의 깊이 값이 된다. 그리고 상기 깊이 값은 각 화소 단위로 표현될 수 있다.(X, Y, Z) is projected onto a point with the (x, y) coordinates of the image plane, and the Z value is given by (x , y) is the depth value in the coordinates. The depth value may be expressed in units of pixels.

상세하게는, 깊이 영상을 촬영할 때 촬영된 한 화면은 촬영 영역 내 각 점들이 가상의 평면인 영상 평면 위로 투영된다. 그리고 카메라 좌표계에서의 한점 P=(X, Y, Z)가 중앙을 원점으로 하는 영상 평면 내 한점인 p=(h, w)로 투영된다면, p를 포함하는 화소에서의 깊이 값이 d일 때, P와 p 사이의 관계는 수학식 1을 충족한다.Specifically, a scene photographed when a depth image is photographed is projected onto an image plane, which is a virtual plane, with each point in the photographing region. If one point P = (X, Y, Z) in the camera coordinate system is projected to p = (h, w) which is one point in the image plane with the origin as the origin, if the depth value in the pixel containing p is d , The relation between P and p satisfies the following formula (1).

한편 S110에서 설명한 단계를 수행하기에 앞서 3차원 좌표계인 세계 좌표계(world coordinate system)와 3차원 좌표계인 카메라 좌표계(camera coordinate system)가 서로 불일치한 경우라면, 세계 좌표계를 3차원 좌표계로 변환하는 좌표 변환이 수행될 수도 있다.If the world coordinate system, which is a three-dimensional coordinate system, and the camera coordinate system, which is a three-dimensional coordinate system, are inconsistent with each other before performing the steps described in S110, coordinates Conversion may be performed.

또한, S110에서 설명한 단계를 수행하기에 앞서 카메라 좌표계와 영상 평면 좌표계의 중심이 일치하지 않는 경우 중심의 위치를 일치 시키기 위한 좌표 변환이 수행될 수도 있다.Also, coordinate transformation may be performed to match the positions of the centers of the camera coordinate system and the image plane coordinate system when the centers of the camera coordinate system and the image plane coordinate system do not coincide with each other before performing the step described in S110.

[수학식 1][Equation 1]

X=dh/fX = dh / f

Y=dw/fY = dw / f

Z=dZ = d

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

움직임 추정 장치(100)의 프로세서(122)는 카메라 좌표계 상의 객체와 배경이 투영된 영상 평면 상의 현재 화면을 미리 설정된 제1 크기의 블록으로 분할할 수 있다.The processor 122 of the motion estimation apparatus 100 may divide the current screen on the image plane on which the object on the camera coordinate system and the background are projected into blocks of a first predetermined size.

예를 들어 현재 화면은 m*n의 블록 단위로 분할될 수 있다. 따라서 복수의 블록 각각은 m*n 화소로 이루어진 영역으로 정의할 수 있다.For example, the current screen can be divided into blocks of m * n. Therefore, each of the plurality of blocks can be defined as an area consisting of m * n pixels.

이를테면 m*n의 블록은 8*8화소나 16*16화소로 이루어진 영역으로 정의할 수 있고 해상도가 증가하면 기본 단위는 32*32나 64*64 화소로 이루어진 영역으로 정의할 수도 있다. 다만 이에 한정하는 것은 아니고, 프로세서(122)는 현재 화면을 분할하지 않고, 현재 화면의 움직임 추정 차신호를 계산할 수도 있다.For example, a block of m * n can be defined as an area consisting of 8 * 8 pixels or 16 * 16 pixels. When the resolution is increased, the basic unit can be defined as an area consisting of 32 * 32 or 64 * 64 pixels. However, the present invention is not limited to this, and the processor 122 may calculate the motion estimation difference signal of the current screen without dividing the current screen.

또한, 여기서의 미리 설정된 제1 크기는 서로 반비례하는 정확도와 복잡도를 고려하여 미리 결정될 수 있다. In addition, the predetermined first size may be predetermined in consideration of the accuracy and complexity inversely proportional to each other.

예를 들어 블록의 크기가 작을수록 움직임 추정의 정확도가 증가하지만 블록의 수가 많아져 추정에 요구되는 연산의 복잡도가 증가하고 움직임 벡터의 정보가 증가한다. 따라서 정확도와 복잡도를 고려하여 블록의 제1 크기를 설정할 수 있다.For example, as the size of a block decreases, the accuracy of motion estimation increases. However, since the number of blocks increases, the complexity of an operation required for estimation increases and information of a motion vector increases. Therefore, the first size of the block can be set in consideration of the accuracy and the complexity.

또한, 프로세서(122)는 현재 화면을 복수의 블록으로 분할하고 분할된 각 블록의 위치 및 화소 내의 깊이 값의 정보를 메모리(121)에 저장할 수 있다.In addition, the processor 122 may divide the current screen into a plurality of blocks, and store information on the positions of the divided blocks and depth values in the pixels in the memory 121. [

프로세서(122)는 The processor 122 현재 화면Current screen 및 상기 참조 화면 중 적어도 하나의 화소들의 깊이 값에 기초하여 객체의 형상 정보를 검출할 수 있다(S120). And the reference screen, the shape information of the object may be detected based on the depth value of at least one of the pixels (S120).

예를 들어 프로세서(122)는 현재 화면(또는 대상 블록) 및 참조 화면(또는 참조 블록) 중 적어도 하나의 화소와 해당 화소의 인접 화소들의 깊이 값에 기초하여 객체의 형상 정보를 검출할 수 있다. 화소들 각각은 깊이 값을 가지고, 화소들간의 상대적인 깊이 차이 및/또는 기준 화소와 기준 화소 주변의 화소들의 깊이 값의 분포에 기초하여 객체의 형상 정보를 검출할 수 있다.For example, the processor 122 may detect the shape information of an object based on at least one of a current screen (or a target block) and a reference screen (or a reference block) and depth values of adjacent pixels of the current screen. Each of the pixels has a depth value, and can detect the shape information of the object based on the relative depth difference between the pixels and / or the distribution of the depth value of the reference pixel and the pixels around the reference pixel.

프로세서(122)는 각 블록내의 화소 값에 기초하여 객체의 형상이 구면, 오목면, 타원면 중 어느 하나의 형상을 가지는 것으로 판단할 수 있으나 이에 한정하는 것은 아니다.The processor 122 can determine that the shape of the object has a shape of a spherical surface, a concave surface, or an elliptical surface based on pixel values in each block, but the present invention is not limited thereto.

일 예로 객체의 영역 중에서 대상블록에 대응하는 영역이 구면, 곡면, 오목면, 타원면 등 형상을 가지는 경우, 대상 블록내의 임의의 화소에서 주변 화소로 갈수록 깊이 값인 Z 값이 점진적으로 증가 또는 감소 및/또는 임의의 화소에서 주변 화소로 갈수록 깊이 값의 증감 정도가 커지거나 작아지는 경우 등의 분포를 보일 수 있다. 따라서 프로세서(122)는 대상블록 내의 화소들의 깊이 값과 깊이 값의 분포 관계로부터 객체의 형상 정보를 검출할 수 있다.For example, when a region corresponding to a target block has a shape such as a spherical surface, a curved surface, a concave surface, or an ellipsoid, the Z value gradually increases or decreases from an arbitrary pixel in a target block toward a surrounding pixel, Or a case where the degree of increase / decrease of the depth value increases or decreases from an arbitrary pixel to a surrounding pixel. Accordingly, the processor 122 can detect the shape information of the object from the distribution relationship of the depth value and the depth value of the pixels in the object block.

프로세서(122)는 검출된 객체의 형상 정보에 기초하여 대상블록 내의 제1 곡면과 참조블록 내의 제2 곡면 각각에 대해 구면, 오목면 및 타원면 모델링 중 어느 하나의 모델링을 수행하여 대상블록과 참조블록 각각에 대한 곡면 모델링 인자를 생성할 수 있다. 또한, 프로세서(122)는 곡면 모델링 부호화 모드들 각각에 기초하여 대상블록 및 참조블록 각각의 화소들의 예측깊이값을 생성할 수 있다. 이에 대해 자세한 방법은 후술한다.The processor 122 performs modeling of either the spherical surface, the concave surface, or the ellipsoidal surface modeling on the first curved surface in the target block and the second curved surface in the reference block based on the shape information of the detected object, It is possible to generate a curved surface modeling factor for each. In addition, the processor 122 may generate the predicted depth values of the pixels of the target block and the reference block, respectively, based on each of the curved surface modeling encoding modes. A detailed method will be described later.

영상 평면 상의 참조 화면의 i*j 영역을 탐색하여 m*n 크기의 참조블록을 선택하는 단계(S130). Searching the i * j area of the reference screen on the image plane to select an m * n reference block (S130) .

움직임 추정 장치(100)의 프로세서(122)는 카메라좌표계 상의 객체와 배경이 투영된 영상 평면 상의 참조 화면의 제2 크기의 탐색 영역을 탐색할 수 있다.The processor 122 of the motion estimation apparatus 100 can search a second-sized search area of a reference screen on an image plane on which an object on a camera coordinate system and a background are projected.

여기서의 참조 화면은 현재 화면의 이전 프레임의 깊이 화면 또는 현재 화면의 다음 프레임의 깊이 화면이 될 수 있고 참조 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 기준 점을 기준으로 전술한 미리 설정된 제1 크기의 참조 블록을 선택할 수 있다. 여기서의 제2 크기의 탐색 영역은 i*j의 크기가 될 수 있다.Here, the reference screen may be the depth screen of the previous frame of the current screen or the depth screen of the next frame of the current screen, and may be a reference screen, Size reference block can be selected. Here, the search area of the second size may be the size of i * j.

또한, 탐색 영역의 기준 점은 현재 화면의 복수의 블록 중에서 움직임 추정 대상인 대상 블록의 위치와 공간상으로 동일한 위치가 될 수 있다. 즉, 참조 화면 내에서 대상 블록의 위치와 동일한 위치가 될 수 있다.In addition, the reference point of the search area may be located at the same position in space with respect to the position of the target block as a motion estimation target among a plurality of blocks of the current screen. That is, it can be the same position as the position of the target block in the reference screen.

또한, 프로세서(122)는 기준 점을 중심으로 제2 크기의 탐색 영역에 있는 제1 크기의 참조 블록을 선택할 수 있다.In addition, the processor 122 may select a reference block of a first size in a search area of a second magnitude about a reference point.

또한, 탐색 영역 내의 모든 블록들 각각을 참조 블록으로 하여 각 참조 블록에 대해 이하의 동작(S140~S160)이 수행될 수 있다.In addition, the following operations (S140 to S160) may be performed for each reference block, with each block in the search area being a reference block.

또한, 프로세서(122)는 참조 블록의 위치 및 화소 내의 깊이 값의 정보를 메모리(121)에 저장할 수 있다.In addition, the processor 122 may store in the memory 121 the information of the position of the reference block and the depth value in the pixel.

이하 객체의 형상 정보에 따른 복수의 모델링 방법 및 각 모델링 방법에 따른 결정매개변수 생성 방법 및 예측깊이값 생성 방법을 상술한다.Hereinafter, a plurality of modeling methods according to shape information of an object, a decision parameter generation method and a prediction depth value generation method according to each modeling method will be described in detail.

- 구면 - spherical surface 모델링modelling

대상블록 내의 제1 곡면과 참조블록 내의 제2 곡면 The first curved surface in the target block and the second curved surface in the reference block 각각을Each 모델링하여By modeling 제1 및 제2 곡면의 정보를 검출하는 단계(S140). Detecting information of the first and second curved surfaces (S140).

프로세서(122)는 제1 곡면을 모델링하기 위하여 대상블록 내의 화소들 중 어느 하나의 화소로 투영될 카메라 좌표계 상의 임의의 점 P의 좌표(X, Y, Z)와 제1 미결정매개변수(a, b, c: 카메라 좌표계 상에서 구의 중심 좌표, r: 모델링된 구의 반지름)로 구성된 수학식 2 꼴의 제1 구의 방정식을 모델링할 수 있다(S141).The processor 122 determines the coordinates (X, Y, Z) of an arbitrary point P on the camera coordinate system to be projected to one of the pixels in the object block and the first undetermined parameters a, b, c: center coordinates of the sphere on the camera coordinate system, r: radius of the modeled sphere) (S141).

또한, 프로세서(122)는 제2 곡면을 모델링하기 위하여 참조블록 내의 화소들 중 어느 하나의 화소로 투영될 카메라 좌표계 상의 임의의 점 P의 좌표와 제2 미결정매개변수(a', b', c', r')로 구성된 수학식 2 꼴의 제2 구의 방정식을 모델링할 수 있다(S145).In addition, the processor 122 may calculate coordinates of an arbitrary point P on the camera coordinate system to be projected to one of the pixels in the reference block and the coordinates of the second undetermined parameters a ', b', c ', r') (step S145).

[수학식 2] &Quot; (2) "

Figure pat00001
Figure pat00001

또한, 프로세서(122)는 제1 구의 방정식을 좌표 변환(카메라 좌표계에서 영상평면의 좌표계로)하여 제1 구의 방정식을 제1-1 구의 방정식으로 변환할 수 있다. 그리고 제1-1 구의 방정식으로부터 제1 미결정매개변수의 값을 결정하여 제1 결정매개변수를 생성할 수 있다(S142).In addition, the processor 122 may transform the equation of the first sphere into the equation of the first sphere 1-1 by performing the coordinate transformation (from the camera coordinate system to the coordinate system of the image plane) of the equation of the first sphere. Then, the value of the first undetermined parameter may be determined from the equation of the first-first-order equation to generate the first determination parameter (S142).

마찬가지로, 프로세서(122)는 복수의 제2 구의 방정식을 좌표 변환하여 제2-1 구의 방정식으로 변환할 수 있다. 그리고 제2-1 구의 방정식으로부터 제2 미결정매개변수의 값을 결정하여 제2 결정매개변수를 생성할 수 있다(S146).Likewise, the processor 122 may coordinate transform the equations of the second spheres into equations of the second-first sphere. Then, the value of the second undetermined parameter may be determined from the equation of the second-first sphere to generate the second determination parameter (S146).

구의 방정식을 변환하는 방법에 대해서 보다 상세하게 설명하면, 카메라 좌표계 상에서 구면으로 이루어진 영역이 영상 평면에 (h, w)좌표로 나타내는 복수의 화소로 투영될 때, 수학식 1에서 설명한 바와 같이 P의 좌표(X, Y, Z)는 삼각형의 닮음비에 따라 (dh/f, dw/f)로 표현될 수 있다. 따라서 프로세서(122)는 제1 원의 방정식을 수학식 3을 충족하는 제1-1 원의 방정식으로, 제2 원의 방정식을 제2-1 원의 방정식으로 변환할 수 있다.The method of transforming the equation of the sphere will be described in more detail. When a region composed of spherical spheres on the camera coordinate system is projected onto a plurality of pixels represented by (h, w) coordinates on the image plane, The coordinates (X, Y, Z) can be expressed as (dh / f, dw / f) according to the similarity ratio of the triangle. Thus, the processor 122 may convert the first-round equation into a first-first-order equation that satisfies equation (3), and the second-round equation into a second-first-round equation.

[수학식 3]&Quot; (3) "

Figure pat00002
Figure pat00002

수학식 3에서의 h, w는 영상 평면의 수직, 수평 좌표이고, f는 초점거리이다. 그리고 d는 투영된 점의 Z축의 좌표이므로 곧 해당 화소에서의 예측깊이값이 된다.In Equation (3), h and w are the vertical and horizontal coordinates of the image plane, and f is the focal length. And d is the coordinate of the Z-axis of the projected point, so it becomes the predicted depth value in the corresponding pixel.

또한, 수학식 3은 d의 2차식인 수학식 4로 정리할 수 있다.Equation (3) can be summarized as Equation (4) which is a quadratic equation of d.

[수학식 4]&Quot; (4) "

Figure pat00003
Figure pat00003

또한, d의 이차식으로 나타난 수학식 4의 근을 구하면, d는 수학식 5를 충족할 수 있다.Further, if the root of the equation (4) expressed by the quadratic equation of d is found, d can satisfy the equation (5).

[수학식 5]&Quot; (5) "

Figure pat00004
Figure pat00004

이 경우 수학식 5에서의 d는 수학식 3의 구의 매개변수 a, b, c, r이 주어졌을 때의 깊이 값으로 제1 예측깊이값으로 볼 수 있다. In this case, d in Equation (5) can be regarded as a first predicted depth value as a depth value when the parameters a, b, c, and r of the sphere of Equation (3) are given.

마찬가지로 참조 블록에 대해서 수학식 5에서의 d는 구의 매개변수 a', b', c', r'이 주어졌을 때의 깊이 값으로 제2 예측깊이값으로 볼 수 있다.Similarly, for the reference block, d in Equation (5) can be regarded as a second predicted depth value as a depth value when the parameters a ', b', c ', and r' of the sphere are given.

또한, 수학식 5에서의 예측깊이값 d는 값이 결정되지 않은 예측깊이변수(대상블록에 대해서는 제1 예측깊이변수, 참조블록에 대해서는 제2 예측깊이변수)이다.Also, the predicted depth value d in Equation (5) is a predicted depth variable whose value is not determined (the first predicted depth variable for the target block and the second predicted depth variable for the reference block).

프로세서(122)는 예측깊이변수 d와 영상 평면의 화소 (h, w)에서 실제로 측정된 깊이 값

Figure pat00005
의 차이가 제일 작을 때의 결정매개변수 a, b, c, r(또는 a', b', c', r')를 구함으로써 대상블록(또는 참조블록)에서 최적의 구의 방정식의 인자를 결정할 수 있다. 그리고 프로세서(122)는 인자와 대상 블록 화소 내의 좌표 값 그리고 초점거리(f)를 수학식 3에 대입하고 연산함에 따라 대상 블록 내의 화소
Figure pat00006
의 예측깊이변수 d의 값(예측깊이값)을 결정할 수 있어 프로세서(122)는 예측깊이값(대상블록에 대해서는 제1 예측깊이값, 참조블록에 대해서는 제2 예측깊이값)을 생성(S143, S147)할 수 있다.The processor 122 determines the depth value d actually measured from the predicted depth variable d and the pixel (h, w) of the image plane
Figure pat00005
(Or a ', b', c ', r') of the decision parameters a, b, c, . Then, the processor 122 substitutes the coefficient and the coordinate value in the target block pixel and the focal length f into Equation (3)
Figure pat00006
The processor 122 may generate a predicted depth value (a first predicted depth value for the target block and a second predicted depth value for the reference block) (S143, S147).

이 때 프로세서(122)는 모델링된 표면의 (h, w)에서의 근사된 구면의 예측깊이변수와 실제로 측정된 깊이의 오차

Figure pat00007
가 최소가 되도록 미결정매개변수의 값을 결정하기 위해 최소자승법을 적용할 수 있다. 이 때
Figure pat00008
는 미결정매개변수에 대해 비선형식으로 나타나므로 가우스-뉴턴법을 적용할 수 있다.At this time, the processor 122 calculates the error of the estimated depth variable of the approximated spherical surface at (h, w) of the modeled surface and the actually measured depth
Figure pat00007
The least squares method can be applied to determine the value of the undetermined parameter so that the minimum value is minimized. At this time
Figure pat00008
Gauss-Newton method can be applied since it appears nonlinearly for the undetermined parameter.

가우스-뉴턴 법에서 n단계에서 대상 블록(또는 참조 블록) 내 각 화소에서의 예측깊이변수 d와 실제 측정된 깊이 값

Figure pat00009
의 차로 이루어진 행렬
Figure pat00010
Figure pat00011
에서의 자코비안 행렬
Figure pat00012
, 예측깊이변수 값을 나타내는
Figure pat00013
은 수학식 6를 충족한다.In the Gauss-Newton method, at step n, the predicted depth variable d and the actually measured depth value at each pixel in the target block (or reference block)
Figure pat00009
A matrix consisting of
Figure pat00010
and
Figure pat00011
Jacobian procession in
Figure pat00012
, Representing the predicted depth variable value
Figure pat00013
Satisfies Equation (6).

[수학식 6]&Quot; (6) "

Figure pat00014
,
Figure pat00015
,
Figure pat00014
,
Figure pat00015
,

Figure pat00016
Figure pat00016

Figure pat00017
Figure pat00017

Figure pat00018
Figure pat00018

Figure pat00019
Figure pat00019

Figure pat00020
Figure pat00020

또한, 가우스-뉴턴법을 적용하여 수학식 7과 같이 다음 단계의 인자 값인

Figure pat00021
을 구할 수 있다.Further, by applying the Gauss-Newton method, as shown in Equation 7,
Figure pat00021
Can be obtained.

[수학식 7]&Quot; (7) "

Figure pat00022
Figure pat00022

프로세서(122)는 수학식 7에 따른 연산을 P회 반복하여 주어진 깊이 값으로 이루어진 표면과 제일 근접한 구면을 구하고 구의 방정식의 미결정매개변수의 값을 결정하여 결정매개변수를 생성할 수 있다. 그리고 구의 인자와 대상 블록(또는 참조 블록)의 화소의 좌표 값 그리고 초점거리(f)를 수학식 3에 대입하고 연산함에 따라 대상 블록(또는 참조 블록)의 화소

Figure pat00023
의 예측깊이변수 d의 값을 결정할 수 있다. 따라서 프로세서(122)는 화소의 예측깊이값(대상블록에 대해서는 제1 예측깊이값, 참조블록에 대해서는 제2 예측깊이값)을 생성할 수 있다.The processor 122 may repeat the operation according to Equation 7 P times to obtain the spherical surface closest to the surface having the given depth value and determine the value of the undetermined parameter of the sphere equation to generate the determination parameter. Then, by substituting the coordinate value of the pixel of the sphere and the pixel of the target block (or the reference block) and the focal length f into the equation (3), the pixel of the target block
Figure pat00023
The value of the predicted depth variable d can be determined. Thus, the processor 122 may generate a predicted depth value of the pixel (a first predicted depth value for the target block and a second predicted depth value for the reference block).

이 때 초기 매개변수

Figure pat00024
를 정함에 있어
Figure pat00025
Figure pat00026
값은 블록 중심의 좌표인
Figure pat00027
Figure pat00028
를 수학식 2에 대입하여 구할 수 있고,
Figure pat00029
은 임의의 초기값
Figure pat00030
를 대입한다.
Figure pat00031
은 블록 중심의 깊이 값
Figure pat00032
에서
Figure pat00033
을 더한 수치를 초기 값으로 할 수 있다.At this time,
Figure pat00024
In determining
Figure pat00025
and
Figure pat00026
The value is the coordinate of the block center
Figure pat00027
Wow
Figure pat00028
Can be obtained by substituting in Equation (2)
Figure pat00029
Lt; RTI ID = 0.0 >
Figure pat00030
.
Figure pat00031
Is the depth value of the block center
Figure pat00032
in
Figure pat00033
Can be used as an initial value.

- - 오목면Concave surface 모델링modelling

대상블록 내의 제1 곡면과 참조블록 내의 제2 곡면 The first curved surface in the target block and the second curved surface in the reference block 각각을Each 모델링하여By modeling 제1 및 제2 곡면의 정보를 검출하는 단계(S140). Detecting information of the first and second curved surfaces (S140).

프로세서(122)는 제1 곡면을 모델링하기 위하여 대상블록 내의 화소들 중 어느 하나의 화소로 투영될 카메라 좌표계 상의 임의의 점 P의 좌표(X, Y, Z)와 제1 미결정매개변수(a, b: 오목면의 방정식을 이루는 매개변수)로 구성된 수학식 8 꼴의 제1 오목면의 방정식을 모델링할 수 있다(S141).The processor 122 determines the coordinates (X, Y, Z) of an arbitrary point P on the camera coordinate system to be projected to one of the pixels in the object block and the first undetermined parameters a, b: a parameter forming the equation of the concave surface) of the first concave surface (S141).

또한, 프로세서(122)는 제2 곡면을 모델링하기 위하여 참조블록 내의 화소들 중 어느 하나의 화소로 투영될 카메라 좌표계 상의 임의의 점 P의 좌표와 제2 미결정매개변수(a', b')로 구성된 수학식 8 꼴의 제2 오목면의 방정식을 모델링할 수 있다(S145).In addition, the processor 122 may calculate coordinates of an arbitrary point P on the camera coordinate system to be projected to one of the pixels in the reference block and the second undetermined parameters (a ', b') in order to model the second curved surface The equation of the second concave surface of the constructed Equation (8) can be modeled (S145).

[수학식 8]&Quot; (8) "

Figure pat00034
Figure pat00034

또한, 프로세서(122)는 제1 오목면의 방정식을 좌표 변환(카메라 좌표계에서 영상평면의 좌표계로)하여 제1 오목면의 방정식을 제1-1 오목면의 방정식으로 변환할 수 있다. 그리고 제1-1 오목면의 방정식으로부터 제1 미결정매개변수의 값을 결정하여 제1 결정매개변수를 생성할 수 있다(S142).Further, the processor 122 may convert the equation of the first concave surface into the equation of the 1-1 concave surface by performing coordinate transformation (from the camera coordinate system to the coordinate system of the image plane) of the equation of the first concave surface. Then, the value of the first microcrystalline parameter may be determined from the equation of the first concave surface to generate the first determination parameter (S142).

마찬가지로, 프로세서(122)는 복수의 제2 오목면의 방정식을 좌표 변환하여 제2-1 오목면의 방정식으로 변환할 수 있다. 그리고 제2-1 오목면의 방정식으로부터 제2 미결정매개변수의 값을 결정하여 제2 결정매개변수를 생성할 수 있다(S146).Likewise, the processor 122 may coordinate transform the equations of the plurality of second concave surfaces and transform them into equations of the 2-1 concave surface. Then, the value of the second undecided parameter may be determined from the equation of the 2-1 concave surface to generate the second determination parameter (S146).

오목면의 방정식을 변환하는 방법에 대해서 보다 상세하게 설명하면, 카메라 좌표계 상에서 곡면으로 이루어진 영역이 영상 평면에 (h, w)좌표로 나타내는 복수의 화소로 투영될 때, 수학식 1에서 설명한 바와 같이 P의 좌표(X, Y, Z)는 삼각형의 닮음비에 따라 (dh/f, dw/f)로 표현될 수 있다. 따라서 프로세서(122)는 제1 오목면의 방정식을 수학식 9를 충족하는 제1-1 오목면의 방정식으로, 제2 오목면의 방정식을 제2-1 오목면의 방정식으로 변환할 수 있다.The method of converting the equation of the concave surface will be described in more detail. When a region composed of a curved surface on the camera coordinate system is projected onto a plurality of pixels represented by (h, w) coordinates on the image plane, The coordinates (X, Y, Z) of P can be expressed by (dh / f, dw / f) according to the similarity ratio of the triangle. Therefore, the processor 122 can convert the equation of the first concave surface into the equation of the 1-1 concave surface satisfying the equation (9), and the equation of the second concave surface into the equation of the 2-1 concave surface.

[수학식 9] &Quot; (9) "

Figure pat00035
Figure pat00035

h, w는 영상 평면의 수직, 수평 좌표이고, f는 초점거리이며, d는 예측깊이변수이다. 그리고 d는 투영된 점의 Z축의 좌표이므로 곧 해당 화소에서의 예측깊이값이 된다.h and w are the vertical and horizontal coordinates of the image plane, f is the focal length, and d is the predicted depth variable. And d is the coordinate of the Z-axis of the projected point, so it becomes the predicted depth value in the corresponding pixel.

또한, 프로세서(122)는 수학식 10에 따른 예측깊이변수(d)와 측정깊이값

Figure pat00036
의 차이(수학식 11에 따라)가 최소가 되도록 하는 매개변수(a, b)의 값을 결정할 수 있다.The processor 122 may also determine the predicted depth variable d and the measured depth value d in accordance with Equation 10,
Figure pat00036
(A, b) to minimize the difference (in accordance with equation (11)) of the parameter (a, b).

[수학식 10]&Quot; (10) "

Figure pat00037
Figure pat00037

수학식 10에서의 d는 예측깊이변수로써 수학식 9의 제1-1 오목면의 방정식의 매개변수 a, b의 값이 결정되었을 때 영상 평면의 화소들의 제1 예측깊이값이 된다.In Equation (10), d is the predicted depth variable, which is the first predicted depth value of the pixels of the image plane when the values of the parameters a and b of the equation (1-1) of Equation (9) are determined.

마찬가지로 참조 블록에 대해서 수학식 10에서의 d는 오목면의 매개변수 a', b'이 주어졌을 때의 깊이 값으로 제2 예측깊이값으로 볼 수 있다.Similarly, for the reference block, d in the equation (10) can be regarded as the second predicted depth value as the depth value when the parameters a 'and b' of the concave surface are given.

또한, 수학식 10에서의 예측깊이값 d는 값이 결정되지 않은 예측깊이변수(대상블록에 대해서는 제1 예측깊이변수, 참조블록에 대해서는 제2 예측깊이변수)이다.Also, the predicted depth value d in Equation (10) is a predicted depth variable whose value is not determined (the first predicted depth variable for the target block and the second predicted depth variable for the reference block).

[수학식 11]&Quot; (11) "

Figure pat00038
Figure pat00038

수학식 11에서 표시된 바와 같이 예측깊이변수 d와 (h, w)에서 실제로 측정된 깊이 값

Figure pat00039
의 차이(
Figure pat00040
은 오차)가 제일 작을 때의 a, b(값이 결정된 매개변수: 인자, 결정매개변수)를 구함으로써 대상블록(또는 참조블록)에서 최적의 오목 곡면의 방정식을 구하고 제1 및 제2 예측깊이변수 d의 값(예측깊이값)을 결정할 수 있어 프로세서(122)는 예측깊이값(대상블록에 대해서는 제1 예측깊이값, 참조블록에 대해서는 제2 예측깊이값)을 생성할 수 있다. 이 때 모델링된 표면의 (h, w)에서의 근사된 오목 곡면의 예측깊이변수 d와 실제로 측정된 깊이
Figure pat00041
의 오차
Figure pat00042
가 최소가 되도록 미결정매개변수의 값을 결정하기 위해 최소자승법을 적용할 수 있다. 그리고
Figure pat00043
는 미결정매개변수에 대해 비선형식으로 나타나므로 가우스-뉴턴법을 적용할 수 있다.As indicated in equation (11), the depth value actually measured in the predicted depth variable d and (h, w)
Figure pat00039
Difference between
Figure pat00040
(Or reference block) by obtaining a and b (parameters whose parameters are determined as parameters, parameters, and the like) when the error is smallest and the first and second predicted depths The value of the variable d (predicted depth value) can be determined, and the processor 122 can generate a predicted depth value (a first predicted depth value for the target block and a second predicted depth value for the reference block). At this time, the predicted depth variable d of the approximated concave surface at (h, w) of the modeled surface and the actually measured depth
Figure pat00041
Error of
Figure pat00042
The least squares method can be applied to determine the value of the undetermined parameter so that the minimum value is minimized. And
Figure pat00043
Gauss-Newton method can be applied since it appears nonlinearly for the undetermined parameter.

가우스-뉴턴 법에서 n단계에서 대상 블록(또는 참조 블록)내 각 화소에서의 d와 실제 측정된 깊이 값

Figure pat00044
의 차로 이루어진 행렬
Figure pat00045
Figure pat00046
에서의 자코비안 행렬
Figure pat00047
, 미결정매개변수 값을 나타내는
Figure pat00048
은 수학식 12를 충족한다.In the Gauss-Newton method, in step n, the value of d in each pixel in the target block (or reference block) and the actually measured depth value
Figure pat00044
A matrix consisting of
Figure pat00045
and
Figure pat00046
Jacobian procession in
Figure pat00047
, Indicating the value of the indeterminate parameter
Figure pat00048
(12) < / RTI >

[수학식 12]&Quot; (12) "

Figure pat00049
Figure pat00049

Figure pat00050
Figure pat00050

Figure pat00051
Figure pat00051

또한, 가우스-뉴턴법을 적용하여 수학식 13과 같이 다음 단계의 인자 값인

Figure pat00052
을 구할 수 있다.Also, by applying the Gauss-Newton method, as shown in Equation 13,
Figure pat00052
Can be obtained.

[수학식 13]&Quot; (13) "

Figure pat00053
Figure pat00053

프로세서(122)는 전술한 동작을 P회 반복하여 주어진 깊이 값으로 이루어진 오목면과 제일 근접한 오목면을 구하고 오목면의 방정식의 미결정매개변수의 값을 결정하여 결정매개변수를 생성할 수 있다. 그리고 프로세서(122)는 값이 결정된 인자와 대상 블록(또는 참조블록) 화소 내의 좌표 값 그리고 초점거리(f)를 수학식 9에 대입하여 연산한다. 그리고 프로세서(122)는 대상 블록 내의 화소

Figure pat00054
의 예측깊이값 d(대상블록에 대해서는 제1 예측깊이값, 참조블록에 대해서는 제2 예측깊이값)를 결정(S143, S147)할 수 있다.The processor 122 may repeat the above-described operation P times to obtain a concave surface having a given depth value and a closest concave surface, and determine the value of the undetermined parameter of the concave surface equation to generate a determination parameter. Then, the processor 122 calculates a value by substituting the determined factor, the coordinate value in the target block (or reference block) pixel, and the focal length f into Equation (9). Then, the processor 122 determines whether or not the pixel
Figure pat00054
(The first predicted depth value for the target block and the second predicted depth value for the reference block) (step S143, S147).

- 타원면 - Ellipse 모델링modelling

대상블록 내의 제1 곡면과 참조블록 내의 제2 곡면 The first curved surface in the target block and the second curved surface in the reference block 각각을Each 모델링하여By modeling 제1 및 제2 곡면의 정보를 검출하는 단계(S140). Detecting information of the first and second curved surfaces (S140).

프로세서(122)는 제1 곡면을 모델링하기 위하여 대상블록 내의 화소들 중 어느 하나의 화소로 투영될 카메라 좌표계 상의 임의의 점 P의 좌표(X, Y, Z)와 제1 미결정매개변수(a, b, c, A, B, C는 제1 타원의 방정식을 이루는 매개변수)로 구성된 수학식 14 꼴의 제1 타원의 방정식을 모델링할 수 있다(S141).The processor 122 determines the coordinates (X, Y, Z) of an arbitrary point P on the camera coordinate system to be projected to one of the pixels in the object block and the first undetermined parameters a, b, c, A, B, and C are parameters constituting the equation of the first ellipse) (S141).

또한, 프로세서(122)는 제2 곡면을 모델링하기 위하여 참조블록 내의 화소들 중 어느 하나의 화소로 투영될 카메라 좌표계 상의 임의의 점 P의 좌표와 제2 미결정매개변수(a', b', c', A', B', C')로 구성된 수학식 14 꼴의 제2 타원의 방정식을 모델링할 수 있다(S145).In addition, the processor 122 may calculate coordinates of an arbitrary point P on the camera coordinate system to be projected to one of the pixels in the reference block and the coordinates of the second undetermined parameters a ', b', c ', A', B ', C') (S145).

[수학식 14] &Quot; (14) "

Figure pat00055
Figure pat00055

또한, 프로세서(122)는 제1 타원의 방정식을 좌표 변환(카메라 좌표계에서 영상평면의 좌표계로)하여 제1 타원의 방정식을 제1-1 타원의 방정식으로 변환할 수 있다. 그리고 제1-1 타원의 방정식으로부터 제1 미결정매개변수의 값을 결정하여 제1 결정매개변수를 생성할 수 있다(S142).In addition, the processor 122 may convert the first ellipse equation into a first -1 ellipse equation by performing coordinate transformation (from the camera coordinate system to the image plane coordinate system) of the first ellipse equation. Then, the value of the first undetermined parameter may be determined from the equation of the first ellipse to generate the first determination parameter (S142).

마찬가지로, 프로세서(122)는 복수의 제2 타원의 방정식을 좌표 변환하여 제2-1 타원의 방정식으로 변환할 수 있다. 그리고 제2-1 타원의 방정식으로부터 제2 미결정매개변수의 값을 결정하여 제2 결정매개변수를 생성할 수 있다(S146).Similarly, the processor 122 may coordinate transform the equations of the plurality of second ellipses into equations of the second-1 ellipse. And the second determinant parameter may be determined from the equation of the 2-1 ellipse to generate a second determinant parameter (S146).

타원의 방정식을 변환하는 방법에 대해서 보다 상세하게 설명하면, 카메라 좌표계 상에서 곡면으로 이루어진 영역이 영상 평면에 (h, w)좌표로 나타내는 복수의 화소로 투영될 때, 수학식 1에서 설명한 바와 같이 P의 좌표(X, Y, Z)는 삼각형의 닮음비에 따라 (dh/f, dw/f)로 표현될 수 있다. 따라서 프로세서(122)는 제1 타원의 방정식을 수학식 15를 충족하는 제1-1 타원의 방정식으로, 제2 타원의 방정식을 제2-1 타원의 방정식으로 변환할 수 있다.A method of converting an ellipse equation will be described in more detail. When a region of a curved surface on a camera coordinate system is projected onto a plurality of pixels represented by (h, w) coordinates on an image plane, P (X, Y, Z) can be represented by (dh / f, dw / f) according to the similarity ratio of the triangle. Therefore, the processor 122 may convert the equation of the first ellipse to the equation of the 1-1 ellipse satisfying the equation (15), and the equation of the second ellipse to the equation of the 2-1 ellipse.

[수학식 15] &Quot; (15) "

Figure pat00056
Figure pat00056

h, w는 영상 평면의 수직, 수평 좌표이고, f는 초점거리이며, d는 예측깊이변수이다. 마찬가지로 참조 블록에 대해서 수학식 15에서의 d는 타원의 매개변수 a', b', c', r'이 주어졌을 때의 깊이 값으로 제2 예측깊이값으로 볼 수 있다.h and w are the vertical and horizontal coordinates of the image plane, f is the focal length, and d is the predicted depth variable. Similarly, for the reference block, d in Equation 15 can be regarded as a second predicted depth value as a depth value when the parameters a ', b', c ', and r' of the ellipse are given.

또한, 프로세서(122)는 제1 예측깊이변수(d)와 대상 블록 내 화소의 제1 측정깊이값에 기초하여 제1 미결정매개변수(a, b, c, A, B, C)의 값을 결정할 수 있다. 따라서 프로세서(122)는 제1 결정매개변수(값이 결정된 a, b, c, A, B, C)를 생성할 수 있다.The processor 122 also calculates the values of the first undetermined parameters a, b, c, A, B, and C based on the first predicted depth variable d and the first measured depth value of the pixels in the object block You can decide. Thus, the processor 122 may generate a first determination parameter (a, b, c, A, B, C where the value is determined).

마찬가지로 프로세서(122)는 제2 예측깊이변수(d)와 참조 블록 내 화소의 제2 측정깊이값에 기초하여 제2 미결정매개변수(a', b', c', A', B', C')의 값을 결정할 수 있다. 따라서 프로세서(122)는 제2 결정매개변수(값이 결정된 a', b', c', A', B', C')를 생성할 수 있다.Similarly, the processor 122 calculates the second undetermined parameters a ', b', c ', A', B ', C' based on the second predicted depth variable d and the second measured depth value of the pixels in the reference block ') Can be determined. Thus, the processor 122 may generate a second determination parameter (values a ', b', c ', A', B ', C').

상세하게는, 프로세서(122)는 수학식 16에 따른 예측깊이변수(d)와 측정깊이값

Figure pat00057
의 차이(수학식 17에 따라)가 최소가 되도록 하는 결정매개변수(a, b, c, A, B, C)(또는 a', b', c', A', B', C')를 구할 수 있다.In particular, the processor 122 calculates the predicted depth variable d and the measured depth value d in accordance with equation (16)
Figure pat00057
(Or a ', b', c ', A', B ', C') to minimize the difference (in accordance with equation (17) Can be obtained.

[수학식 16]&Quot; (16) "

Figure pat00058
Figure pat00058

Figure pat00059
Figure pat00059

Figure pat00060
Figure pat00060

Figure pat00061
Figure pat00061

Figure pat00062
Figure pat00062

Figure pat00063
Figure pat00063

Figure pat00064
Figure pat00064

Figure pat00065
Figure pat00065

수학식 16에서의 d는 예측깊이변수로써 수학식 15의 제2-1 타원의 방정식의 매개변수 a, b, c, A, B, C의 값이 결정되었을 때, 대상블록의 제2 좌표별로 대응하는 화소들의 예측깊이값(대상블록에 대해서는 제1 예측깊이값, 참조블록에 대해서는 제2 예측깊이값)이 될 수 있다. 다만, 현 단계에서 d의 값은 결정되지 않았으므로 예측깊이변수(대상블록에 대해서는 제1 예측깊이변수, 참조블록에 대해서는 제2 예측깊이변수)가 된다.D in Expression 16 is a predictive depth variable, and when the values of the parameters a, b, c, A, B, and C of the equation of the 2-1 ellipse in Equation 15 are determined, (The first predicted depth value for the target block, and the second predicted depth value for the reference block) of the corresponding pixels. However, since the value of d is not determined at the present stage, it becomes the predicted depth variable (the first predicted depth variable for the target block and the second predicted depth variable for the reference block).

[수학식 17]&Quot; (17) "

Figure pat00066
Figure pat00066

수학식 17에서 표시된 바와 같이 예측깊이변수 d와 (h, w)에서 실제로 측정된 깊이 값

Figure pat00067
의 차이(
Figure pat00068
은 오차)가 제일 작을 때의 a, b, c, A, B, C(값이 결정된 매개변수: 인자)를 구함으로써 대상 블록(또는 참조 블록)에서 최적의 타원의 방정식을 구하고 예측깊이변수 d의 값을 결정할 수 있다. As shown in equation (17), the predicted depth variable d and the actually measured depth value at (h, w)
Figure pat00067
Difference between
Figure pat00068
(Or reference block) by obtaining a, b, c, A, B, and C (the parameter whose value is determined) when the error is smallest Can be determined.

이 때 모델링된 표면의 (h, w)에서의 근사된 타원의 예측깊이변수 d와 실제로 측정된 깊이

Figure pat00069
의 오차
Figure pat00070
가 최소가 되도록 미결정매개변수의 값을 결정하기 위해 최소자승법을 적용할 수 있다. 그리고
Figure pat00071
는 미결정매개변수에 대해 비선형식으로 나타나므로 가우스-뉴턴법을 적용할 수 있다.At this time, the predicted depth variable d of the approximated ellipse at (h, w) of the modeled surface and the actually measured depth
Figure pat00069
Error of
Figure pat00070
The least squares method can be applied to determine the value of the undetermined parameter so that the minimum value is minimized. And
Figure pat00071
Gauss-Newton method can be applied since it appears nonlinearly for the undetermined parameter.

가우스-뉴턴 법에서 n단계에서 대상 블록(또는 참조 블록)내 각 화소에서의 d와 실제 측정된 깊이 값

Figure pat00072
의 차로 이루어진 행렬
Figure pat00073
Figure pat00074
에서의 자코비안 행렬
Figure pat00075
, 미결정매개변수 값을 나타내는
Figure pat00076
은 수학식 18를 충족한다.In the Gauss-Newton method, in step n, the value of d in each pixel in the target block (or reference block) and the actually measured depth value
Figure pat00072
A matrix consisting of
Figure pat00073
and
Figure pat00074
Jacobian procession in
Figure pat00075
, Indicating the value of the indeterminate parameter
Figure pat00076
Satisfies the expression (18).

[수학식 18]&Quot; (18) "

Figure pat00077
Figure pat00077

Figure pat00078
Figure pat00078

Figure pat00079
Figure pat00079

또한, 가우스-뉴턴법을 적용하여 수학식 19와 같이 다음 단계의 인자 값인

Figure pat00080
을 구할 수 있다.Further, by applying the Gauss-Newton method, as shown in Equation 19,
Figure pat00080
Can be obtained.

[수학식 19]&Quot; (19) "

Figure pat00081
Figure pat00081

프로세서(122)는 전술한 동작을 P회 반복하여 주어진 깊이 값으로 이루어진 타원의 객체와 제일 근접한 타원을 구하고 제1 타원의 방정식의 매개변수의 값을 결정할 수 있다. 그리고 프로세서(122)는 값이 결정된 인자와 대상 블록(또는 참조 블록) 화소 내의 좌표 값 그리고 초점거리(f)를 수학식 15에 대입 연산한다. 따라서 프로세서(122)는 대상 블록(또는 참조 블록) 내의 화소

Figure pat00082
의 예측깊이값 d(대상블록에 대해서는 제1 예측깊이값, 참조블록에 대해서는 제2 예측깊이값)를 결정(S143, S147)할 수 있다.The processor 122 may repeat the above-described operations P times to determine the ellipse closest to the object of the ellipse having a given depth value, and determine the value of the parameter of the first ellipse equation. Then, the processor 122 substitutes the determined factor and the coordinate value in the pixel of the target block (or reference block) and the focal length f into the equation (15). Thus, the processor 122 determines whether the pixel (s) in the target block
Figure pat00082
(The first predicted depth value for the target block and the second predicted depth value for the reference block) (step S143, S147).

제1 및 제2 곡면의 정보에 기초하여 참조블록 내의 제2 곡면을 변환하는 단계(S150).Transforming a second curved surface in the reference block based on information of the first and second curved surfaces (S150).

도 4를 더 참조하면, 깊이 영상에서는 3차원적인 움직임을 보임에 따라 객체의 곡면 모델링 인자가 달라지는 경우가 있다. 따라서 깊이 영상에서는 이를 고려하여 움직임 추정을 수행하는 것이 바람직하다. 이러한 방법은 참조 화면 블록에서의 곡면 모델링 인자를 현재 화면 모델링 곡면 인자로 변환하여 바뀐 깊이 값을 현재 화면 블록의 깊이 값과 비교하는 것이다.Referring to FIG. 4, in the depth image, the curved surface modeling factors of the object may vary depending on the three-dimensional motion. Therefore, it is desirable to perform the motion estimation in consideration of the depth image. This method converts the surface modeling factor in the reference screen block into the current screen modeling surface factor and compares the changed depth value with the depth value of the current screen block.

이 방법에 대해 구면으로 모델링 했을 때를 예로 들면 다음과 같다. 아래와 같이 대상 블록의 모델링 곡면의 제1 결정매개변수가 (a, b, c, r)이고, 참조 블록의 모델링 곡면의 제2 결정매개변수가 (a`,b`,c`,r`)라고 하고, 각 블록에서 모델링된 인자와 해당 좌표를 수학식 5에 대입하여 얻은 깊이 값을 현재 화면에서는 d(x,y), 참조 화면에서는 d`(x,y)라 하면 그 값은 모델링 인자를 통해 얻은 예측깊이값이다. 이 때 x, y는 전체 영상 좌표계에서의 좌표가 아닌 블록 내에서의 상대 좌표이다. 만약 블록의 크기가 4라면 x, y의 범위는 0~3가 된다.For example, when modeling with a spherical surface for this method is as follows. (A`, b`, c`, r`) of the modeling surface of the target block and the second decision parameter of the modeling surface of the reference block are (a`, b`, c`, (X, y) in the current screen and d` (x, y) in the reference screen, the value obtained by substituting the modeled parameters and the corresponding coordinates into the equation (5) Is the estimated depth value obtained through In this case, x and y are relative coordinates in the block, not the coordinates in the whole image coordinate system. If the size of the block is 4, the range of x, y is 0 ~ 3.

또한, 참조 블록에서 실제로 측정된 깊이 값을

Figure pat00083
라고 하면, 이 때 참조 블록에서의 모델링된 인자를 통해 계산된 제2 예측깊이값과 실제 측정된 제2 측정깊이값 간에는 오차가 있을 수 있다. 그 오차를 e`(x,y)로 두면 그 식은 수학식 20을 충족한다.Also, the actual measured depth value in the reference block is
Figure pat00083
There may be an error between the second predicted depth value calculated through the modeled factor in the reference block and the actually measured second measured depth value. If the error is set as e '(x, y), the equation satisfies the expression (20).

[수학식 20]&Quot; (20) "

Figure pat00084
Figure pat00084

이 때 참조 블록의 모델링 인자를 대상 블록의 모델링 인자로 변환하는 방법은 다음과 같다. 참조 블록의 제2 예측깊이값 d`(x,y)는 모델링 인자가 현재 화면의 모델링 인자로 변환된다면 대상 블록 내 같은 위치의 제1 예측깊이값 d(x,y)가 될 것이다. 또한 제2 예측깊이값과 제2 측정깊이값의 오차는 모델링 인자가 바뀐 뒤에도 같다. 따라서 프로세서(122)는 이를 이용하여 수학식 21을 통해 참조 블록에서의 곡면 모델링 인자를 대상 블록의 제1 곡면 인자로 변환하여 바뀐 깊이 값

Figure pat00085
를 구할 수 있다.In this case, the method of converting the modeling factor of the reference block into the modeling factor of the target block is as follows. The second predicted depth value d '(x, y) of the reference block will be the first predicted depth value d (x, y) at the same position in the target block if the modeling factor is converted to the modeling factor of the current scene. And the error between the second predicted depth value and the second measured depth value is the same even after the modeling factor is changed. Accordingly, the processor 122 converts the curved surface modeling factor in the reference block into the first surface factor of the target block by using Equation (21)
Figure pat00085
Can be obtained.

[수학식 21]&Quot; (21) "

Figure pat00086
Figure pat00086

그 후 제1 곡면과 변환된 제2 곡면 사이의 차신호를 계산하는 단계(S160)에서 프로세서(122)는 제1 화소들 각각의 제1 측정깊이값과 제2 오차의 차신호를 계산할 수 있다. 즉, 대상 블록에서 실제로 측정된 제1 측정깊이값

Figure pat00087
와, 대상 블록의 모델링 인자로 변환된 참조 블록의 측정 깊이값
Figure pat00088
를 비교하여 차 신호를 구할 수 있다.Then, in step S160 of calculating a difference signal between the first curved surface and the converted second curved surface , the processor 122 may calculate a difference signal between the first measured depth value and the second error of each of the first pixels . That is, the first measured depth value actually measured in the target block
Figure pat00087
And a measurement depth value of a reference block converted into a modeling factor of a target block
Figure pat00088
The difference signal can be obtained.

탐색 quest 영역내의Within the region 모든 참조 블록의 탐색 여부를 확인하는 단계(S170). In step S170, it is checked whether all reference blocks are searched.

또한, 이러한 과정(S160)을 참조 화면 내 탐색 영역 전체에 대해 수행하기 위하여 프로세서(122)는 탐색 영역내의 모든 참조 블록의 탐색 여부를 확인하고 탐색되지 않은 경우 탐색되지 않은 모든 참조 블록에 대해 S140 내지 S160 과정을 수행할 수 있다.The processor 122 checks whether all reference blocks in the search area have been searched to perform the above-described process (S160) on the entire intra-reference search area. If not, Step S160 can be performed.

대상 블록의 곡면과 The surface of the target block 탐색된Explored 모든 참조블록들 각각의 곡면들 사이에서 계산된 차신호의 절대오차의 합 또는  The sum of the absolute errors of the difference signals calculated between the curved surfaces of each reference block or 제곱오차의Squared error 합을 측정하는 단계(S180) 및  Measuring the sum (S180) and 차신호와Differential signal 대상블록과 참조블록의 변위에 따른 움직임 벡터, 제1 및 제2 곡면 정보, 결정매개변수의 차이 중 적어도 하나를 부호화하는 단계(S190). (S190) encoding at least one of a motion vector according to a displacement of a target block and a reference block, a difference between first and second curved surface information, and a determination parameter.

프로세서(122)는 i*j영역 내의 복수의 m*n 크기의 참조블록들 각각과 대상블록 사이의 차신호를 측정하고 복수의 참조 블록들 중 차신호의 SAE(또는 SSE)가 가장 낮은 위치를 움직임 벡터로 삼고, 차신호, 대상블록과 상기 대상블록과 제일 유사한 블록으로써 움직임 벡터 결정에 대상이된 참조 블록간의 움직임 벡터 그리고 제1 및 제2 곡면의 결정매개변수의 차이를 부호화할 수 있다.The processor 122 measures a difference signal between each of a plurality of m * n reference blocks in the i * j region and a target block and determines a position where the SAE (or SSE) of the difference signal among the plurality of reference blocks is the lowest The difference between the difference signal and the motion vector between the target block and the reference block which is the block most similar to the target block, and the decision parameters of the first and second curved surfaces can be encoded.

또한, 제1 및 제2 곡면의 정보를 검출하는 단계(S140)에서 결정된 곡면(구면 또는 오목면 또는 타원면)의 매개변수를 기초로 대상 블록 또는 참조 블록이 곡면(구면 또는 오목면 또는 타원면)의 일부에 해당하는지 여부를 확인하는 단계를 더 수행될 수도 있다.In addition, based on the parameters of the curved surface (spherical or concave surface or ellipsoidal surface) determined in the step S140 of detecting the information of the first and second curved surfaces, the target block or the reference block may be a curved surface (spherical surface or concave surface or ellipsoidal surface) A step of confirming whether or not it corresponds to a part may be further performed.

보다 상세하게는, 프로세서(122)는 수학식 22와 같이 가우스-뉴턴법을 P회 적용한 뒤 얻어진 오차를 나타내는 행렬 Fp행렬 내의 모든 매개변수의 제곱 합을 더한 값 e를 계산한다. 그리고 이 때 대상 블록에서의 e와 참조 블록에서의 e가 각각 미리 설정된 임계값 T 이상일 경우에는 곡면으로 판단하여 곡면의 구체적 정보에 기초한 곡면 모델링을 수행한 움직임 추정이 적용되고, 그렇지 않은 경우 곡면 모델링을 적용한 움직임 추정 방법을 적용하지 않고 다른 움직임 추정 방법을 적용할 수 있다. 여기서의 다른 움직임 추정 방법은 공지의 움직임 추정 방법이 될 수 있으나 이에 한정하는 것은 아니다.More specifically, the processor 122 calculates a value e by adding the square sum of all the parameters in the matrix Fp matrix representing the error obtained after applying the Gauss-Newton method P times, as shown in equation (22). In this case, if e in the target block and e in the reference block are equal to or greater than a predetermined threshold value T, the motion estimation is performed based on the curved surface modeling based on the concrete information of the curved surface. It is possible to apply another motion estimation method without applying the motion estimation method using the motion estimation method. Here, the other motion estimation method may be a known motion estimation method, but is not limited thereto.

[수학식 22]&Quot; (22) "

Figure pat00089
Figure pat00089

한편, 메모리(121)에는 수학식 1 내지 수학식 21을 전술한 바와 같이 프로세서(122)가 연산하도록 프로세서(122)에 의해 수행되는 명령어가 저장될 수 있다.On the other hand, the memory 121 may store instructions to be executed by the processor 122 so that the processor 122 computes Equations (1) to (21) as described above.

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

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific acts described in the present invention are, by way of example, not intended to limit the scope of the invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as " essential ", " importantly ", etc., it may not be a necessary component for application of the present invention.

또한, 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.While the present invention has been described in connection with what is presently considered to be practical and exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. 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 defined by the claims.

100: 움직임 추정 장치
110: 영상 소스
120: 영상처리부
121: 메모리
122: 프로세서
130: 출력인터페이스
200: 데이터수신장치
210: 디스플레이 다비이스
220: 데이터 처리부
230: 입력 인터페이스
100: motion estimation device
110: image source
120:
121: Memory
122: Processor
130: Output interface
200: Data receiving device
210: Display Device
220:
230: Input Interface

Claims (9)

카메라좌표계 상의 객체와 배경이 투영된 영상 평면 상의 현재 화면을 m*n(m, n은 양의 정수) 크기의 대상블록로 분할하는 단계;
상기 영상 평면 상의 참조 화면의 i*j(i 및 j는 m, n 이상의 양의 정수)영역을 탐색하여 m*n 크기의 참조블록을 선택하는 단계;
상기 대상블록 내의 제1 곡면과 상기 참조블록 내의 제2 곡면 각각을 모델링하여 상기 제1 및 제2 곡면의 정보를 검출하는 단계;
상기 제1 및 제2 곡면의 정보에 기초하여 상기 참조블록 내의 제2 곡면을 변환하는 단계;
상기 제1 곡면과 상기 변환된 제2 곡면 사이의 차신호를 계산하는 단계; 및
상기 차신호와 상기 대상블록과 상기 참조블록의 변위에 따른 움직임 벡터 그리고 상기 제1 및 제2 곡면 정보 중 적어도 하나를 부호화하는 단계;를 포함하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
Dividing a current picture on an image plane on which an object on a camera coordinate system and a background is projected into object blocks of m * n (m, n is a positive integer) size;
Selecting a reference block of size m * n by searching an area of i * j (where i and j are positive integers of m, n or more) on a reference screen on the image plane;
Detecting information on the first and second curved surfaces by modeling a first curved surface in the target block and a second curved surface in the reference block, respectively;
Converting a second curved surface in the reference block based on the information of the first and second curved surfaces;
Calculating a difference signal between the first curved surface and the transformed second curved surface; And
And coding at least one of the difference signal, the motion vector according to the displacement of the target block and the reference block, and the first and second curved surface information
Motion Estimation Method in Depth Image Coding by Surface Modeling.
제1 항에 있어서,
상기 현재 화면 및 상기 참조 화면 중 적어도 하나의 화소들의 깊이 값에 기초하여 객체의 형상 정보를 검출하는 단계;를 더 포함하고,
상기 객체의 형상 정보에 기초하여 상기 대상블록 내의 제1 곡면과 상기 참조블록 내의 제2 곡면 각각을 구면, 오목면 및 타원면 중 어느 하나로 모델링하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
The method according to claim 1,
Detecting the shape information of the object based on the depth value of at least one of the current screen and the reference screen,
Modeling the first curved surface in the target block and the second curved surface in the reference block as one of a spherical surface, a concave surface, and an ellipsoidal surface based on the shape information of the object
Motion Estimation Method in Depth Image Coding by Surface Modeling.
제1 항에 있어서,
상기 제1 및 제2 곡면의 정보를 검출하는 단계는,
상기 카메라좌표계 상의 상기 대상블록에 대응하는 상기 객체의 좌표와 제1 미결정매개변수로 구성된 제1 방정식을 모델링하고, 상기 제1 방정식으로부터 상기 제1 미결정매개변수의 값을 결정하여 제1 결정매개변수를 생성하며, 상기 제1 결정매개변수와 상기 대상 블록을 이루는 제1 화소들의 좌표 값에 기초하여 상기 제1 화소들 각각의 제1 예측깊이값을 결정하는 단계; 및
상기 카메라좌표계 상의 상기 참조블록에 대응하는 상기 객체의 좌표와 제2 미결정매개변수로 구성된 제2 방정식을 모델링하고, 상기 제2 방정식으로부터 상기 제2 미결정매개변수의 값을 결정하여 제2 결정매개변수를 생성하며, 상기 제2 결정매개변수와 상기 참조 블록을 이루는 제2 화소들의 좌표 값에 기초하여 상기 제2 화소들 각각의 제2 예측깊이값을 결정하는 단계;를 포함하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
The method according to claim 1,
Wherein the step of detecting information on the first and second curved surfaces comprises:
Modeling a first equation consisting of a coordinate of the object corresponding to the object block on the camera coordinate system and a first undetermined parameter, determining a value of the first undetermined parameter from the first equation, Determining a first prediction depth value of each of the first pixels based on the first decision parameter and the coordinate value of the first pixels constituting the target block; And
Modeling a second equation consisting of a coordinate of the object corresponding to the reference block on the camera coordinate system and a second undetermined parameter and determining a value of the second undetermined parameter from the second equation, And determining a second prediction depth value of each of the second pixels based on the second decision parameter and the coordinate value of the second pixels constituting the reference block
Motion Estimation Method in Depth Image Coding by Surface Modeling.
제3 항에 있어서,
상기 참조블록 내의 제2 곡면을 변환하는 단계는,
상기 제2 예측깊이값과 상기 제2 화소들 각각의 제2 측정깊이값의 제1 오차를 연산하는 단계; 및
상기 제1 예측깊이값과 상기 제1 오차 사이의 제2 오차를 연산하는 단계;를 포함하고,
상기 제1 곡면과 상기 변환된 제2 곡면 사이의 차신호를 계산하는 단계는, 상기 제1 화소들 각각의 제1 측정깊이값과 상기 제2 오차의 상기 차신호를 계산하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
The method of claim 3,
Wherein transforming the second curved surface in the reference block comprises:
Calculating a first error between the second predicted depth value and a second measured depth value of each of the second pixels; And
Calculating a second error between the first predicted depth value and the first error,
Wherein calculating the difference signal between the first curved surface and the transformed second curved surface comprises calculating a difference signal between the first measurement depth value of each of the first pixels and the difference signal of the second error
Motion Estimation Method in Depth Image Coding by Surface Modeling.
제4 항에 있어서,
상기 i*j영역 내의 복수의 m*n 크기의 참조블록들 각각과 상기 대상블록 사이의 상기 차신호를 계산하고 상기 복수의 참조블록들 중 상기 차신호의 절대오차의 합 또는 제곱오차의 합이 최소인 참조블록과 상기 대상블록 간의 변위에 따른 움직임 벡터를 생성하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
5. The method of claim 4,
Calculating a difference signal between each of a plurality of m * n-size reference blocks in the i * j region and the target block, and calculating a sum of absolute errors or a square error of the difference signal among the plurality of reference blocks, And generates a motion vector according to a displacement between the reference block that is the smallest and the target block
Motion Estimation Method in Depth Image Coding by Surface Modeling.
제5 항에 있어서,
상기 움직임 벡터와 상기 제1 및 제2 결정매개변수의 차이를 부호화하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
6. The method of claim 5,
Coding the difference between the motion vector and the first and second decision parameters
Motion Estimation Method in Depth Image Coding by Surface Modeling.
제3 항에 있어서,
상기 제1 및 제2 방정식은 구의 방정식, 오목면의 방정식 및 타원의 방정식 중 어느 하나인
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 방법.
The method of claim 3,
Wherein the first and second equations are any one of an equation of a sphere, an equation of a concave surface and an equation of an ellipse
Motion Estimation Method in Depth Image Coding by Surface Modeling.
명령들을 저장하는 적어도 하나의 메모리; 및
적어도 하나의 프로세서;를 포함하고,
상기 명령들은 상기 프로세서로 하여금 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고,
상기 동작들은:
카메라좌표계 상의 객체와 배경이 투영된 영상 평면 상의 현재 화면을 m*n(m, n은 양의 정수) 크기의 대상블록로 분할하고;
상기 영상 평면 상의 참조 화면의 i*j(i 및 j는 m, n 이상의 양의 정수)영역을 탐색하여 m*n 크기의 참조블록을 선택하고;
상기 대상블록 내의 제1 곡면과 상기 참조블록 내의 제2 곡면 각각을 모델링하여 상기 제1 및 제2 곡면의 정보를 검출하고;
상기 제1 및 제2 곡면의 정보에 기초하여 상기 참조블록 내의 제2 곡면을 변환하고;
상기 제1 곡면과 상기 변환된 제2 곡면 사이의 차신호를 계산하며;
상기 차신호와 상기 대상블록과 상기 참조블록의 변위에 따른 움직임 벡터 그리고 상기 제1 및 제2 곡면 정보 중 적어도 하나를 부호화하는;
것을 포함하는
곡면 모델링을 통한 깊이 영상 부호화에서 움직임 추정 장치.
At least one memory for storing instructions; And
At least one processor,
The instructions being executable by the processor to cause the processor to perform operations,
The operations include:
Dividing the current picture on the image plane on which the object on the camera coordinate system and the background is projected into object blocks of size m * n (m, n is a positive integer);
Selecting an m * n-size reference block by searching an area of i * j (where i and j are positive integers of m, n or more) on the reference screen on the image plane;
Modeling the first curved surface in the target block and the second curved surface in the reference block to detect information of the first and second curved surfaces;
Transform a second curved surface in the reference block based on the information of the first and second curved surfaces;
Calculate a difference signal between the first curved surface and the transformed second curved surface;
A motion vector according to the displacement of the target block and the reference block, and at least one of the first and second curved surface information;
Containing
Motion Estimation in Depth Image Coding by Surface Modeling.
제8 항에 따른 상기 명령들을 저장하는 비일시적 컴퓨터 판독가능 매체.9. A non-transitory computer readable medium storing the instructions according to claim 8.
KR1020170114249A 2017-09-07 2017-09-07 Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM KR102080694B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170114249A KR102080694B1 (en) 2017-09-07 2017-09-07 Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170114249A KR102080694B1 (en) 2017-09-07 2017-09-07 Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM

Publications (2)

Publication Number Publication Date
KR20190027445A true KR20190027445A (en) 2019-03-15
KR102080694B1 KR102080694B1 (en) 2020-02-24

Family

ID=65762513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170114249A KR102080694B1 (en) 2017-09-07 2017-09-07 Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM

Country Status (1)

Country Link
KR (1) KR102080694B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102224315B1 (en) * 2019-09-03 2021-03-05 동의대학교 산학협력단 Intra Prediction Coding Method and Device for Depth Image
KR20210027768A (en) * 2019-09-03 2021-03-11 동의대학교 산학협력단 VIDEO PROCESSING Device and Method For Depth Video by Surface Modeling, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR20210059406A (en) * 2019-11-15 2021-05-25 동의대학교 산학협력단 VIDEO PROCESSING Device and Method For Depth Video by Spherical Modeling, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR102654323B1 (en) * 2022-11-29 2024-04-04 주식회사 비브스튜디오스 Apparatus, method adn system for three-dimensionally processing two dimension image in virtual production

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230166173A (en) 2022-05-30 2023-12-07 동의대학교 산학협력단 Intra prediction method through quadratic surface modeling for Intra prediction of depth video and device therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100682889B1 (en) * 2003-08-29 2007-02-15 삼성전자주식회사 Method and Apparatus for image-based photorealistic 3D face modeling
KR20110121003A (en) 2010-04-30 2011-11-07 한국표준과학연구원 Safety evaluation method for soil shearing work
KR101336139B1 (en) * 2012-06-11 2013-12-05 동의대학교 산학협력단 System and method for motion estimating using depth camera

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100682889B1 (en) * 2003-08-29 2007-02-15 삼성전자주식회사 Method and Apparatus for image-based photorealistic 3D face modeling
KR20110121003A (en) 2010-04-30 2011-11-07 한국표준과학연구원 Safety evaluation method for soil shearing work
KR101336139B1 (en) * 2012-06-11 2013-12-05 동의대학교 산학협력단 System and method for motion estimating using depth camera

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102224315B1 (en) * 2019-09-03 2021-03-05 동의대학교 산학협력단 Intra Prediction Coding Method and Device for Depth Image
KR20210027768A (en) * 2019-09-03 2021-03-11 동의대학교 산학협력단 VIDEO PROCESSING Device and Method For Depth Video by Surface Modeling, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR20210059406A (en) * 2019-11-15 2021-05-25 동의대학교 산학협력단 VIDEO PROCESSING Device and Method For Depth Video by Spherical Modeling, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR102654323B1 (en) * 2022-11-29 2024-04-04 주식회사 비브스튜디오스 Apparatus, method adn system for three-dimensionally processing two dimension image in virtual production

Also Published As

Publication number Publication date
KR102080694B1 (en) 2020-02-24

Similar Documents

Publication Publication Date Title
KR102080694B1 (en) Method and Device of Motion Estimation for Depth Video Coding by curved surface Modeling, and NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM
US11501507B2 (en) Motion compensation of geometry information
US8755630B2 (en) Object pose recognition apparatus and object pose recognition method using the same
KR101865826B1 (en) Intra Prediction Coding Method and Device for Depth Image
CN108010059B (en) Performance analysis method and device of electronic anti-shake algorithm
KR101817140B1 (en) Coding Method and Device for Depth Video Plane Modeling
KR101904120B1 (en) VIDEO PROCESSING Device and Method For Depth Video by Eclipse Surface Modeling
US11030478B1 (en) System and method for correspondence map determination
KR102074929B1 (en) METHOD AND DEVICE FOR DETECTING PLANE AREA USING DEPTH IMAGE, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR101906173B1 (en) Method and Device of Zoom Motion Estimation for Depth Video
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
JP2015136027A (en) Digital watermark embedding method or digital watermark detection method
KR101904108B1 (en) Variable Block Coding Method and device for Depth Video by Plane Modeling
KR102224272B1 (en) METHOD AND DEVICE FOR DETECTING PLANAR SURFACE USING DEPTH IMAGE, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR102224315B1 (en) Intra Prediction Coding Method and Device for Depth Image
KR102262030B1 (en) VIDEO PROCESSING Device and Method For Depth Video by Spherical Modeling, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR102231759B1 (en) VIDEO PROCESSING Device and Method For Depth Video by Surface Modeling, and Non-Transitory COMPUTER READABLE RECORDING MEDIUM
KR101904170B1 (en) Coding Device and Method for Depth Information Compensation by Sphere Surface Modeling
KR101866106B1 (en) Method and Device of Inter-frame Plane Prediction for Depth Video
KR102224321B1 (en) Coding Method and Device for Depth Video Plane Modeling
KR102329383B1 (en) Method, Device And Non-Transitory Computer Readable Recording Medium For Depth Picture Encoding Using Plane Modeling Coefficient Prediction
KR101817137B1 (en) Coding Method and Coding Device for Depth Video through Depth Average in Block
KR20230166173A (en) Intra prediction method through quadratic surface modeling for Intra prediction of depth video and device therefor
KR101904128B1 (en) Coding Method and Device Depth Video by Spherical Surface Modeling

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant