KR102245740B1 - 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치 - Google Patents

깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치 Download PDF

Info

Publication number
KR102245740B1
KR102245740B1 KR1020190137283A KR20190137283A KR102245740B1 KR 102245740 B1 KR102245740 B1 KR 102245740B1 KR 1020190137283 A KR1020190137283 A KR 1020190137283A KR 20190137283 A KR20190137283 A KR 20190137283A KR 102245740 B1 KR102245740 B1 KR 102245740B1
Authority
KR
South Korea
Prior art keywords
depth
block
search
motion estimation
value
Prior art date
Application number
KR1020190137283A
Other languages
English (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 KR1020190137283A priority Critical patent/KR102245740B1/ko
Application granted granted Critical
Publication of KR102245740B1 publication Critical patent/KR102245740B1/ko

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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

Landscapes

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

Abstract

본 발명의 실시예에 따른 움직임 추정 방법은 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계; 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할 단계; 상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하는 단계; 상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계; 상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값와 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하는 단계; 상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계; 신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하는 단계; 및 상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하는 단계; 상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계; 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 단계;를 제공할 수 있다.

Description

깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치{Method and Device of Zoom Motion Estimation for Depth Video}
본 발명은 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치에 관한 것이다. 보다 상세하게는 본 발명은 부호화 부담을 줄이고 움직임 추정 성능을 향상시키면서 움직임 추정 방법 및 장치에 관한 것이다.
움직임 추정은 색상신호 또는 명도신호에 대하여 현재화면내의 블록과 시간방향으로 이웃한 화면 내에서 가장 가까운 블록을 찾는 것을 의미한다. 보통 블록크기가 작을수록 추정의 정확도가 커지지만 추정에 필요 되는 복잡도가 증가되는 단점이 있다.
MPEG-1,2에서는 명도신호에 대하여 수평방향으로 16화소, 수직방향으로 16화소로 블록이 구성되어 있으며, H. 264에서는 16x16, 8x8, 4x4 등의 블록크기를 가변적으로 선택할 수 있도록 하고 있다.
움직임 추정시의 평가척도로는 크게 MSE (평균제곱오차: Mean Square Error)와 MAE (평균절대오차: Mean Absolute Error)가 사용된다. 정확도는 MSE가 우수하나, 복잡도가 크기 때문에 MAE가 많이 사용되고 있다.
색상신호 또는 명도신호에 대하여 신축 움직임 추정에 있어서 복잡도를 낮추기 위한 여러 연구가 이루어져왔다. 여러 신축 비율의 참조 화면을 생성하여 신축 움직임을 추정하는 방법, 블록기반의 고속 스케일링을 이용한 확대 및 축소 움직임 추정 방법, 계산 효율, 정확도 등을 고려한 반복적 최소-자승 추정에 대한 다양한 개선방법 등이 있다. 기존 색상 영상에서 신축 움직임 추정 방법 중 여러 신축 비율의 참조 화면을 생성하여 신축 움직임을 추정하는 방법은 시간상의 각각의 참조 화면들에 대해 다양한 신축 비율로 신축한 참조 화면을 생성한다. 그 후 현재 영상의 블록에 대해 참조 화면들 중 제일 유사한 블록을 선택하여 신축 추정을 하는 방법이다. 이 방법은 신축 움직임을 추정하기 위해 각 참조 화면마다 여러 신축 비율에 대한 참조 화면을 새로 생성해야 하기 때문에 메모리 소모가 크고, 신축 움직임 추정에 있어 정확도를 높이기 위해서는 많은 신축 비율에 대해서 참조 화면이 생성되고 이를 참조하는 과정이 추가되어야 하므로 계산 복잡도가 커진다는 문제점이 있다.
카메라의 색상 정보만을 통해 신축 비율을 추정하는 방법은 정확한 신축 비율을 추정하는데 어려움이 크고, 계산 복잡도를 개선하는데도 한계가 있다. 이러한 어려움을 극복하기 대한민국등록특허공보(10-1371826)의 신축 움직임 추정장치 및 그 추정방법은 깊이 카메라를 이용하여 객체의 신축 비율을 추정하여 움직임 추정 및 움직임 보상을 하는 방법이 제안하여 신축 움직임 추정을 위한 복잡도를 개선하면서도 움직임 추정 정확도를 높이고 있다. 다만, 선행기술은 움직임 추정 차신호 계산 시 객체가 카메라 방향으로 이동함에 따라 깊이 영상 내에서 객체의 크기의 변화의 영향을 반영하고 있으나, 깊이 값으로 이루어진 화소의 값의 변화의 영향을 반영하지 못하고, 색상 영상의 부호화에 한정해서 사용된다는 한계가 있다.
또한, 탐색 블록과 대상 블록 사이의 움직임 추정 차신호를 계산하여 움직임을 추정하는 대한민국등록특허공보(10-1906173)의 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치는 움직임 추정의 복잡도를 낮추고 연산량을 감소 시켰지만 객체의 이동에 따른 깊이 값의 변동량에 따른 영향을 제거하여 움직임 추정의 오차가 발생할 가능성이 있고 화면 간 부호화 과정에서 필요한 정보가 많은 문제점이 있다.
KR 10-1371826 B1
본 발명의 목적은 객체가 카메라 방향으로 이동하거나 카메라 방향에서 멀어짐에 따른 깊이 영상 내의 객체의 크기 변화와 화소 값의 변화를 이용하여 정확하고 정밀하게 움직임을 추정할 수 있는 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치를 제공함에 있다.
또한, 본 발명의 목적은 미리 정의된 모든 신축 비율에 대해 신축 연산을 적용하여 비교하는 기존 방법과 달리 거리를 나타내는 깊이 영상내 화소를 이용하여 하나의 신축 비율을 계산함으로써 연산량과 메모리 기억량을 감소시킬 수 있는 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치를 제공함에 있다.
또한, 본 발명의 목적은 움직임 대상 경계를 포함한 블록의 신축을 이용할 경우 발생되는 부정확한 추정과 압축 효율이 낮아지는 문제를 해결한 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치를 제공함에 있다.
또한, 본 발명의 목적은 화면 부호화시 필요한 부호화 정보를 감소시킨 움직임 추정 방법 및 장치를 제공함에 있다.
또한, 본 발명의 목적은 신축 비율의 계수를 이용하여 깊이 영상을 부호화할 수 있는 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치를 제공함에 있다.
또한, 본 발명의 목적은 신축 비율의 계수의 정밀도를 가변하여 움직임 추정의 정확도를 유지하면서도 압축율을 높일 수 있는 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치를 제공함에 있다.
실시예에 따른 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계; 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할 단계; 상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하는 단계; 상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계; 상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값와 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하는 단계; 상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계; 신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하는 단계; 및 상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하는 단계; 상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계; 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 단계;를 포함할 수 있다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화 단계는, 상기 신축 비율의 정밀도를 가변하는 단계; 및 상기 가변된 신축 비율을 엔트로피 부호화하는 단계; 를 포함하고, 상기 신축 비율의 정밀도를 가변하는 단계는, 상기 신축 비율에서 1을 빼서 산출된 제1 가변 계수를 구한 후, 상기 제1 가변 계수에 k을 곱하여 산출된 제2 가변 계수를 구한 후, 상기 제2 가변 계수에서 소수점을 버리고 정수만 취하여 산출된 제3 가변 계수를 구한 값을 상기 정밀도가 가변된 신축비율로 할 수 있다.
k는 상기 제1 가변 계수가 정수 형태를 가지게 하는 1보다 큰 자연수이다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 상기 엔트로피 부호화는 산술 부호화 알고리즘일 수 있다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계 이후에, 결정된 복수의 움직임 추정 차신호에 대해 평균절대오차 또는 평균제곱오차를 계산하는 단계; 및 상기 평균절대오차 또는 평균제곱오차가 최소값을 가지는 움직임 추정 차신호에 대응하는 대상 블록과 탐색 블록의 상대적인 좌표 정보와 해당 탐색 블록의 신축 비율을 움직임 벡터로 결정하는 단계;를 더 포함할 수 있다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 상기 신축 비율은
Figure 112019111558342-pat00001
을 충족하고, z는 신축 비율이고,
Figure 112019111558342-pat00002
는 상기 제1 대표값이고
Figure 112019111558342-pat00003
는 상기 제2 대표값일 수 있다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계는, 기 탐색 블록의 가로 및 세로 각각의 크기를 상기 신축 비율로 확대 또는 축소할 수 있다.
실시예에 따른 깊이 영상에서 신축을 이용한 움직임 추정 방법은, 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계; 재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할 단계; 기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하는 단계; 기 탐색 블록 선택 후 상기 움직임 추정 대상의 경계를 포함하는지 판단하는 단계; 기 경계를 포함하지 않으면 상기 선택된 탐색 블록에 신축을 이용하여 제1 움직임 추정을 수행하는 단계; 기 경계를 포함하면 상기 선택된 탐색 블록에 신축을 이용하지 않는 제2 움직임 추정을 수행하는 단계; 기 대상 블록과 상기 탐색 블록의 움직임 추정에 관한 정보를 부호화 부호화하는 단계;를 포함하고, 상기 제1 움직임 추정을 수행하는 단계는, 상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계; 상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값와 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하는 단계; 상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계; 신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하는 단계; 및 상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하는 단계; 상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계;를 포함할 수 있다.
실시예에 따른 깊이 영상에서 신축을 이용한 움직임 추정 장치는, 적어도 하나의 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 적어도 하나의 프로세서는 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하고, 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할하고, 상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하고, 상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하고, 상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값와 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하고, 상기 신축 비율에 따라 상기 탐색 블록을 신축하고, 신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하고, 상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하고, 상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하고, 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화할 수 있다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 장치는, 상기 프로세서가 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 것은, 상기 프로세서가 상기 신축 비율의 정밀도를 가변하고, 상기 가변된 신축 비율을 엔트로피 부호화하고, 상기 프로세서가 상기 신축 비율의 정밀도를 가변하는 것은, 상기 프로세서가 상기 신축 비율에서 1을 빼서 산출된 제1 가변 계수를 구한 후, 상기 제1 가변 계수에 k을 곱하여 산출된 제2 가변 계수를 구한 후, 상기 제2 가변 계수에서 소수점을 버리고 정수만 취하여 산출된 제3 가변 계수를 구한 값을 상기 정밀도가 가변된 신축비율로 할 수 있다.
k는 상기 제1 가변 계수가 정수 형태를 가지게 하는 1보다 큰 자연수이다.
또한, 깊이 영상에서 신축을 이용한 움직임 추정 장치는, 상기 신축 비율은
Figure 112019111558342-pat00004
을 충족하고, z는 신축 비율이고,
Figure 112019111558342-pat00005
는 상기 제1 대표값이고
Figure 112019111558342-pat00006
는 상기 제2 대표값일 수 있다.
실시예에 따른 비일시적 컴퓨터 판독가능 매체는, 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하기 위해 상기 프로세서에 의해 실행가능하고, 상기 동작들은, 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하고, 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할하고, 상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하고, 상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하고, 상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값와 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하고, 상기 신축 비율에 따라 상기 탐색 블록을 신축하고, 신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하고, 상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하고, 상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하고, 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 것을 포함할 수 있다.
본 발명의 실시예는 객체가 카메라 방향으로 이동하거나 카메라 방향에서 멀어짐에 따른 깊이 영상 내의 객체의 크기 변화와 화소 값의 변화를 이용하여 정확하고 정밀하게 움직임을 추정할 수 있다.
또한, 본 발명의 실시예는 미리 정의된 모든 신축 비율에 대해 신축 연산을 적용하여 비교하는 기존 방법과 달리 거리를 나타내는 깊이 영상내 화소를 이용하여 하나의 신축 비율을 계산함으로써 연산량과 메모리 기억량을 감소시킬 수 있다.
또한, 본 발명의 실시예는 움직임 대상 경계를 포함한 블록의 신축을 이용할 경우 발생되는 부정확한 추정과 압축 효율이 낮아지는 문제를 해결할 수 있다.
또한, 본 발명의 실시예는 화면 부호화시 필요한 부호화 정보를 감소시킬 수 있다.
또한, 본 발명의 실시예는 신축 비율의 계수를 이용하여 깊이 영상을 부호화할 수 있다.
또한, 본 발명의 실시예는 신축 비율의 계수의 정밀도를 가변하여 움직임 추정의 정확도를 유지하면서도 압축율을 높일 수 있다.
도 1은 본 발명의 실시예에 따른 깊이 영상에서 신축을 이용하여 움직임을 추정할 수 있도록 한 움직임 추정 장치를 도시하는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 움직임 추정 방법에 대한 순서도이다.
도 3은 객체의 너비와 깊이 값의 관계를 구하여 보간 값을 측정하는 방법을 설명하는 모습이다.
도 4는 도 3은 객체의 너비와 깊이 값의 관계를 그래프로 나타낸 모습이다.
도 5는 깊이 영상에서 객체의 움직임에 따른 깊이 값을 나타낸 모습이다.
도 6은 깊이 영상의 신축 움직임 추정을 위한 깊이 값 보간 및/또는 탐색 블록 신축 결과 모습이다.
도 7은 도 2의 대상 블록 부호화 방법에 대한 순서도이다.
도 8은 신축 비율 측정 실험 히스토그램 예시이다.
도 9는 본 발명의 다른 실시예에 따른 움직임 추정 방법에 대한 순서도이다.
도 10은 본 발명의 또 다른 실시예에 따른 움직임 추정 방법에 대한 순서도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 깊이 영상에서 신축을 이용하여 움직임을 추정할 수 있도록 한 움직임 추정 장치를 도시하는 블록도이다.
움직임 추정 장치(100)는 영상 데이터를 데이터수신장치(200)로 제공할 수 있다.
움직임 추정 장치(100)와 데이터수신장치(200)는 데스크톱 컴퓨터들, 노트북 (즉, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스들, 이른바 "스마트" 폰들과 같은 전화기 핸드셋들, 이른바 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한 매우 다양한 디바이스들 중 임의의 것을 포함할 수도 있다.
일부 구현예에서는, 움직임 추정 장치(100)와 데이터수신장치(200)는 무선 통신을 위한 구성(10)이 갖추어질 수 있다.
또한, 데이터수신장치(200)는 영상 처리된 영상 데이터를 컴퓨터 판독 가능 매체를 통해 수신할 수도 있다.
컴퓨터 판독 가능 매체는 움직임 추정 장치(100)로부터 영상처리된 영상 데이터를 데이터수신장치(200)로 이동시킬 수 있는 임의 유형의 매체 또는 디바이스를 포함할 수 있다. 일 예로, 컴퓨터 판독 가능 매체는 움직임 추정 장치(100)가 영상 데이터를 데이터수신장치(200)로 직접 실시간으로 송신하는 것을 가능하게 하는 통신 매체, 이를테면 송신 채널을 포함할 수 있다.
영상 처리된 영상 데이터는 통신 표준, 이를테면 무선 통신 프로토콜에 따라 변조되고 데이터수신장치(200)로 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 이를테면 라디오 주파수 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반 네트워크, 이를테면 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 움직임 추정 장치(100)로부터 데이터수신장치(200)로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다. 몇몇 예들에서 영상 처리된 영상 데이터가 출력 인터페이스(130)로부터 컴퓨터 판독 가능 저장 매체, 이를 테면 비일시적(non-transitory) 컴퓨터 판독가능 저장 매체, 즉, 데이터 저장 디바이스로 출력될 수도 있다. 마찬가지로 영상 데이터는 데이터수신장치(200)의 입력 인터페이스(230)에 의해 저장 디바이스로부터 엑세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 영상 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산형 또는 국부적으로 액세스되는 비일시적 데이터 저장 매체들 중 임의의 것을 포함할 수도 있다. 추가의 예에서, 저장 디바이스는 움직임 추정 장치(100)에 의해 생성된 영상 데이터를 저장할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 해당할 수도 있다.
데이터수신장치(200)는 저장 디바이스로부터의 저장된 영상 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다.
도 1의 예에서 움직임 추정 장치(100)는 영상 소스(110) 및 영상처리부(120)를 포함할 수 있다. 또한, 움직임 추정 장치(100)는 출력 인터페이스(130)를 더 포함할 수 있다.
데이터수신장치(200)는 입력 인터페이스(230) 및 데이터처리부(220)를 포함할 수 있다.
다른 예에서 움직임 추정 장치(100)와 데이터처리부(220)는 다른 컴포넌트들을 포함할 수 있다.
예를 들어 움직임 추정 장치(100)는 외부 비디오 소스, 이를테면 외부 카메라로부터 영상을 수신할 수 있고, 외부 카메라는 깊이 영상(depth image)을 생성하는 깊이 영상 촬영 디바이스가 될 수 있다.
움직임 추정 장치(100)의 영상 소스(110)는 깊이 영상 촬영 디바이스, 이를테면 카메라, 이전에 촬영된 깊이 영상을 포함하는 아카이브 (archive), 및/또는 깊이 영상 콘텐츠 제공자로부터의 깊이 영상을 수신하는 인터페이스를 포함할 수도 있다.
일부 구현예에서 깊이 영상 촬영 디바이스는 장면의 깊이 정보를 예를 들어 mm 단위의 16비트의 정수형으로 표현한 깊이 영상으로 제공할 수 있다. 깊이 정보를 표현하기 위한 비트수는 16비트에 제한되는 것은 아니고 변경될 수 있으며, 또한 정수형으로 한정되지 않고 실수형으로 제공될 수 있다. 깊이 영상 촬영 디바이스는 적외선 등을 이용하여 깊이 영상 촬영 디바이스로부터 객체 및 배경까지의 거리를 측정하여 거리에 비례 또는 반비례하는 값을 갖는 깊이 영상을 제공할 수 있다.
깊이 영상의 화소 값은 예를 들어, RGB의 색상 정보가 아닌 일 예로 mm 단위(이에 한정하는 것은 아님)의 정수로 된 깊이 정보가 될 수 있다.
움직임 추정 장치(100)와 데이터수신장치(200) 각각은 하나 이상의 메모리와 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 개별 로직 회로, 소프트웨어, 하드웨어, 펌웨어 또는 그것들의 임의의 조합과 같은 다양한 형태로 구성될 수 있다.
메모리는 컴퓨터 판독가능 명령들 또는 프로세서 판독가능 명령들과 같은 명령들(예를 들어, 실행가능 명령들)을 포함한다. 명령들은 하나 이상의 프로세서들 각각에 의해서와 같이 컴퓨터에 의해 실행가능한 하나 이상의 명령어들을 포함할 수도 있다.
예를 들어 하나 이상의 명령들은 하나 이상의 프로세서들로 하여금 깊이 영상의 움직임 벡터를 결정하고 깊이 영상을 부호화하기 위해 깊이 영상을 프로세싱하는 것을 포함하는 동작들을 수행하기 위해 하나 이상의 프로세서들에 의해 실행가능 할 수도 있다.
상세하게는, 영상처리부(120)는 명령어들을 저장하는 하나 이상의 메모리(121)와 상기 명령어들을 실행하는 적어도 하나의 프로세서(122)를 포함할 수 있다.
영상처리부(120)의 프로세서(122)는 깊이 영상의 움직임 벡터를 결정하기 위한 기법들이 적용되도록 구성될 수 있다.
일부 구현예에서는, 영상처리부(120)의 프로세서(122)는 깊이 영상을 부호화하기 위한 기법들이 적용되도록 구성될 수 있다.
다른 구현예에서는 영상처리부(120)의 프로세서(122)는 깊이 영상을 부호화 및 복호화하는 기법이 적용되도록 구성될 수도 있다.
데이터처리부(220)는 영상처리부(120)로부터의 영상 데이터를 외부 장치로 전송, 디스플레이, 분석 등을 수행할 수 있도록 구성될 수 있다.
일부 구현예에서는, 데이터처리부(220)는 영상처리부(120)로부터의 부호화된 영상 데이터를 복호화할 수 있도록 구성될 수도 있다.
도 1에 도시되지 않았지만, 몇몇 실시예에서, 움직임 추정 장치(100)와 데이터처리장치는 통합된 장치가 될 수 있다. 이를테면 움직임 추정 장치(100)는 깊이 영상을 부호화하고, 부호화된 영상 데이터를 복호화할 수 있도록 구성될 수도 있다.
도 2는 본 발명의 일 실시예에 따른 움직임 추정 방법에 대한 순서도이고, 도 3은 객체의 너비와 깊이 값의 관계를 구하여 보간 값을 측정하는 방법을 설명하는 모습이고, 도 4는 도 3은 객체의 너비와 깊이 값의 관계를 그래프로 나타낸 모습이고, 도 5는 깊이 영상에서 객체의 움직임에 따른 깊이 값을 나타낸 모습이고, 도 6은 깊이 영상의 신축 움직임 추정을 위한 깊이 값 보간 및/또는 탐색 블록 신축 결과 모습이고, 도 7은 도 2의 대상 블록 부호화 방법에 대한 순서도이고, 도 8은 신축 비율 측정 실험 히스토그램 예시이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 움직임 추정 방법은, 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계(S11), 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 크기로 분할하는 현재 깊이 화면의 블록 분할 단계(S12), 참조 깊이 화면의 탐색 영역 내에서 미리 설정된 크기의 탐색 블록을 선택하는 탐색 블록 선택 단계(S13), 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계(S14), 보간된 현재 깊이 화면의 대상 블록과 탐색 블록 각각의 깊이 값의 대표값을 계산하는 블록 내 화소들의 깊이 값의 대표값을 계산 단계(S15), 대상 블록의 대표값과 탐색 블록의 대표값을 이용하여 신축 비율을 계산하는 신축 비율 계산 단계(S16), 계산된 신축 비율을 이용하여 탐색 블록의 크기를 신축하는 탐색 블록 신축 단계(S17), 대상 블록과 탐색 블록의 차신호를 계산하여 움직임 추정 차신호를 결정하는 단계(S18), 대상 블록에 대한 움직임 추정 차신호의 최소값을 고려하여 탐색 블록의 좌표와 신축 비율을 대상 블록의 움직임 벡터로 결정하는 대상 블록 움직임 벡터 결정 단계(S19) 및 대상 블록과 탐색 블록의 움직임 추정에 관한 정보를 부호화 하는 단계(S20)를 포함할 수 있다.
본 발명의 일 실시예에 따른 움직임 추정 방법의 각 단계를 보다 상세하게 설명한다.
깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계(S11).
깊이 영상의 깊이 정보는 깊이 영상 촬영 디바이스를 통해 얻을 수 있다. 객체의 너비와 깊이 영상의 깊이 값의 관계는 깊이 값이 깊이 영상 촬영 디바이스의 거리라는 점을 고려했을 때 반비례 관계로 예측할 수 있다. 하지만 객체의 너비와 깊이 영상의 깊이 값의 관계는 깊이 영상 촬영 디바이스의 왜곡으로 인한 영향을 고려해 주어야 한다. 움직임 추정 장치(100)의 프로세서(122)는 깊이 영상 촬영 디바이스로 획득된 현재의 깊이 영상의 깊이 값의 왜곡을 보정하기 위한 보간 값을 생성할 수 있다. 일 예로, 프로세서(122)는 수학식 1을 이용하여 보간 값(r)을 생성할 수 있다.
[수학식 1]
Figure 112019111558342-pat00007
수학식 1에서 d는 거리이다. w(d)는 객체와 깊이 영상 촬영 디바이스 사이의 거리가 d일 때 촬영된 객체의 너비이다.
Figure 112019111558342-pat00008
는 임의의 상수이며 너비 상수이다. 깊이 영상 촬영 디바이스의 왜곡이 없는 등 이상적인 상황에서는 보간 값(r)이 1이지만, 깊이 영상 촬영 디바이스의 왜곡 등으로 보간 값(r)은 변할 수 있다. 일 실험예에 따르면, 도 3을 참조하면, 도 3의 (a)에서 다이아몬드 형태의 객체와 깊이 영상 촬영 디바이스와의 거리를 1m로 위치한 모습이고, 도 3의 (b)에서 객체와 깊이 영상 촬영 디바이스와의 거리를 4m로 위치한 모습이다. 도 3의 객체와 깊이 영상 촬영 디바이스 사이를 1m 내지 4m의 구간을 0.5m간격으로 이동시키면서 깊이 영상에서 촬영된 객체의 너비와 깊이 값 사이의 관계를 측정하였다. 도 4를 참조하면, 측정된 깊이 영상에서 촬영된 객체의 너비와 깊이 값 사이의 관계를 나타낸 그래프이다. 이때 촬영에 사용된 깊이 영상 촬영 디바이스는 Kinect를 이용하였다. 상기 측정 결과, 너비 상수(
Figure 112019111558342-pat00009
)는 212.93이고, 보간 값(r)은 0.965로 측정된다.
또한, 움직임 추정 장치(100)의 프로세서(122)는 두 영상 내 객체의 거리인 제1 거리(d1) 및 제2 거리(d2)와 객체의 너비 간의 관계를 수학식 2를 이용하여 산출할 수 있다.
[수학식 2]
Figure 112019111558342-pat00010
수학식 2에서
Figure 112019111558342-pat00011
은 제1 거리(d1)에서의 깊이 영상에 촬영된 객체의 제1 너비이다.
Figure 112019111558342-pat00012
는 제2 거리(d2)에서 깊이 영상에 촬영된 객체의 제2 너비이다. r은 보간 값이다.
Figure 112019111558342-pat00013
는 제1 거리(d1)에서 객체의 제1 너비(
Figure 112019111558342-pat00014
)와 제2 거리(d2)에서 객체의 제2 너비(
Figure 112019111558342-pat00015
)에 대한 관계를 나타낸다.
현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 크기로 분할하는 현재 깊이 화면의 블록 분할 단계(S12).
움직임 추정 장치(100)의 프로세서(122)는 현재의 깊이 영상에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 블록으로 분할할 수 있다.
예를 들어 깊이 영상은 m*n의 블록 단위로 분할될 수 있다. 복수의 블록 각각은 m*n(m, n은 자연수) 화소로 이루어진 영역으로 정의할 수 있다.
이를테면 m*n의 블록은 8*8화소나 16*16화소로 이루어진 영역으로 정의할 수 있고 해상도가 증가하면 기본 단위는 32*32나 64*64 화소로 이루어진 영역으로 정의할 수도 있다. 또한, 프로세서(122)는 깊이 영상을 2개 이상의 크기 단위를 통해 깊이 영상을 분할할 수도 있다. 예를 들어, 프로세서(122)는 8*8의 블록과 16*16의 블록으로 깊이 영상을 분할할 수 있다.
또한, 여기서의 미리 설정된 제1 크기는 서로 반비례하는 정확도와 복잡도를 고려하여 미리 결정될 수 있다.
예를 들어 블록의 크기가 작을수록 움직임 추정의 정확도가 증가하지만 블록의 수가 많아져 추정에 요구되는 연산의 복잡도가 증가하고 움직임 벡터의 정보가 증가한다. 따라서 정확도와 복잡도를 고려하여 블록의 제1 크기를 설정할 수 있다.
또한, 프로세서(122)는 현재 깊이 화면을 복수의 블록으로 분할하고 분할된 각 블록의 위치 및 화소 내의 깊이 값의 정보를 메모리(121)에 저장할 수 있다.
참조 깊이 화면의 탐색 영역 내에서 미리 설정된 크기의 탐색 블록을 선택하는 탐색 블록 선택 단계(S13).
움직임 추정 장치(100)의 프로세서(122)는 현재 깊이 화면의 이전 프레임의 깊이 영상 또는 현재 깊이 화면의 다음 프레임의 깊이 영상인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 전술한 미리 설정된 제1 크기의 탐색 블록을 선택할 수 있다. 여기서의 제2 크기의 탐색 영역은 M*N(M>m, N>n, M 및 N은 자연수)의 크기가 될 수 있다.
또한, 탐색 영역의 기준 점은 현재 깊이 화면의 복수의 블록 중에서 움직임 추정 대상인 대상 블록의 위치와 공간상으로 동일한 위치가 될 수 있다. 즉, 참조 깊이 화면 내에서 대상 블록의 위치와 동일한 위치가 될 수 있다.
또한, 프로세서(122)는 기준 점을 중심으로 제2 크기의 탐색 영역에 있는 제1 크기의 탐색 블록을 선택할 수 있다.
또한, 탐색 영역 내의 모든 블록들 각각을 탐색 블록으로 하여 각 탐색 블록에 대해 이하의 동작이 수행될 수 있다.
또한, 프로세서(122)는 탐색 블록의 위치 및 화소 내의 깊이 값의 정보를 메모리(121)에 저장할 수 있다.
현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계(S14).
프로세서(122)는 신축 움직임을 갖는 객체의 움직임 추정을 위해서 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간할 수 있다. 도 5를 참조하면, 도 5의 (a)는 객체가 신축되지 않고 좌우로만 움직인 모습을 나타낸다. 도 5의 (a)에서 현재 깊이 화면은 객체가 좌측에 위치한 모습이고, 참조 깊이 화면은 객체가 우측에 위치한 모습이다. A1은 현재 깊이 화면의 객체에 해당되는 블록의 깊이 값을 나타낸다. A2는 참조 깊이 화면의 객체에 해당되는 블록의 깊이 값을 나타낸다. 도 5의 (a)의 경우와 같이 객체의 신축 움직임이 없으면 객체를 나타내는 블록의 깊이 값, 즉 화소 값의 변화가 없다. 도 5의 (b)는 객체가 앞뒤로 움직여서 신축 움직임을 갖는 모습을 나타낸다. 도 5의 (b)에서 현재 깊이 화면은 객체가 깊이 영상 촬영 디바이스로부터 멀리 위치한 모습이고, 참조 깊이 화면은 객체가 깊이 영상 촬영 디바이스로부터 더 가깝게 위치한 모습이다. B1은 현재 깊이 화면의 객체에 해당되는 블록의 깊이 값을 나타내고, B2는 참조 깊이 화면의 객체에 해당되는 블록의 깊이 값을 나타낸다. B1이 B2보다 상대적으로 더 큰 값을 나타낸다. B1의 경우 객체가 더 멀리에 위치하여 깊이 값이 더 크게 나타나기 때문이다. 프로세서(122)는 수학식 3에 따라 참조 블록 내 깊이 값에 대하여 보간 값(r)을 이용하여 대상 블록 내 깊이 값과 참조 블록 내 깊이 값을 보간할 수 있다.
[수학식 3]
Figure 112019111558342-pat00016
Figure 112019111558342-pat00017
는 참조 블록 내 (i, j) 위치의 깊이 값 또는 대상 블록 내 (i, j) 위치의 깊이 값이다.
Figure 112019111558342-pat00018
는 참조 블록 내 (i, j)위치의 깊이 값을 보간 값(r)으로 보간한 깊이 값 또는 대상 블록 내 (i, j) 위치의 깊이 값을 보간 값(r)으로 보간한 깊이 값이다.
보간된 현재 깊이 화면의 대상 블록과 탐색 블록 각각의 깊이 값의 대표값을 계산하는 블록 내 화소들의 깊이 값의 대표값을 계산 단계(S15).
프로세서(122)는 현재 깊이 화면의 대상 블록 내의 화소들의 깊이 값들의 제1 대표값(
Figure 112019111558342-pat00019
)과 참조 깊이 화면의 탐색 블록 내의 화소들의 깊이 값들의 제2 대표값(
Figure 112019111558342-pat00020
)를 연산할 수 있다. 일 예로, 제1 대표값(
Figure 112019111558342-pat00021
)은 대상 블록 내의 화소들의 깊이 값들의 평균값이고, 제2 대표값(
Figure 112019111558342-pat00022
)은 탐색 블록 내의 화소들의 깊이 값들의 평균값일 수 있다. 다른 예로, 제1 대표값(
Figure 112019111558342-pat00023
)은 대상 블록 내의 화소들의 깊이 값들의 최빈값이고, 제2 대표값(
Figure 112019111558342-pat00024
)은 탐색 블록 내의 화소들의 깊이 값들의 최빈값일 수 있다.
일 예로, 객체가 깊이 영상 촬영 디바이스와 가까워지는 경우 참조 깊이 화면 내의 객체의 크기는 현재 깊이 화면의 객체의 크기보다 크게 나타나고, 해당 객체에 대응하는 화소들의 깊이 값은 더 작은 값을 가지게 된다. 따라서 제1 대표값(
Figure 112019111558342-pat00025
)은 제2 대표값(
Figure 112019111558342-pat00026
)보다 큰 값이 될 수 있다.
이와 달리, 객체가 깊이 영상 촬영 디바이스로부터 멀어지는 경우 참조 깊이 화면 내의 객체의 크기는 현재 깊이 화면의 객체의 크기보다 작게 나타나고, 해당 객체에 대응하는 화소들의 깊이 값은 더 큰 값을 가지게 된다. 따라서 제1 대표값(
Figure 112019111558342-pat00027
)은 제2 대표값(
Figure 112019111558342-pat00028
)보다 작은 값이 될 수 있다.
또한, 프로세서(122)는 계산된 제1 및 제2 대표값(
Figure 112019111558342-pat00029
,
Figure 112019111558342-pat00030
)를 메모리(121)에 저장할 수 있다.
대상 블록의 대표값과 탐색 블록의 대표값을 이용하여 신축 비율을 계산하는 신축 비율 계산 단계(S16).
프로세서(122)는 제1 및 제2 대표값(
Figure 112019111558342-pat00031
,
Figure 112019111558342-pat00032
)를 이용하여 수학식 4를 충족하는 신축 비율(z)을 연산할 수 있다.
[수학식 4]
Figure 112019111558342-pat00033
또한, 프로세서(122)는 계산된 신축 비율(z)을 메모리(121)에 저장할 수 있다.
계산된 신축 비율을 이용하여 탐색 블록의 크기를 신축하는 탐색 블록 신축 단계(S17).
프로세서(122)는 계산된 신축 비율(z)을 이용하여 탐색 블록의 크기를 신축할 수 있다. 즉, 프로세서(122)는 탐색 블록의 크기를 대상 블록의 크기인 제 1 크기가 아닌, 제1 크기의 가로와 세로 모두 신축 비율(z)를 곱한 (z*m)*(z*n) 크기로 탐색 블록 크기를 가지는 블록으로 탐색 블록을 재설정을 함으로써 탐색 블록을 신축할 수 있다.
예를 들어, 참조 깊이 화면에서의 객체가 현재 깊이 화면에서의 객체보다 깊이 영상 촬영 디바이스에 더 가까운 경우 탐색 블록 내의 화소들의 깊이 값의 평균이 대상 블록 내의 깊이 값의 평균보다 작으므로
Figure 112019111558342-pat00034
>
Figure 112019111558342-pat00035
관계가 되어 신축 비율(z)은 1보다 커지게 된다. 따라서 탐색 블록은 크기가 확대된 블록으로 재결정된다.
또한, 프로세서(122)는 확대된 탐색 블록에 속하는 화소들의 위치 정보와 깊이 값의 정보를 메모리(121)에 저장할 수 있다.
일 실험예로, S14의 보간 값 및 S17의 탐색 블록 신축을 적용하지 않은 경우, S14의 보간 값만 적용한 경우 및 S14의 보간 값 적용 및 S17의 탐색 블록 신축한 경우에 현재 블록과 참조 블록들 간의 MSE(평균제곱오차: Mean Square Error) 비교하여 보간 값 적용 및 탐색 블록 신축의 효과를 알 수 있다. 도 6을 참조하면, 현재 깊이 화면은 객체가 깊이 영상 촬영 디바이스로부터 더 가깝게 위치한 모습이다. (a)는 현재 깊이 화면의 객체에 네모 표시된 대상 블록의 깊이 값을 나타낸다. 참조 깊이 화면은 객체가 깊이 영상 촬영 디바이스로부터 더 멀리 위치한 모습이다. (b)는 참조 깊이 화면의 객체에 네모 표시된 탐색 블록의 깊이 값을 나타낸다. (c)는 참조 깊이 화면의 탐색 블록에 깊이 값 보간을 수행한 후의 깊이 값을 나타낸다. (d)는 참조 깊이 화면의 탐색 블록에 깊이 값 보간 및 탐색 블록 신축을 적용한 후의 깊이 값을 나타낸다. S14의 보간 값 및 S17의 탐색 블록 신축을 적용하지 않은 경우, 대상 블록과 참조 블록의 MSE는 9482.97이다. S14의 보간 값만 적용한 경우, 대상 블록과 참조 블록의 MSE는 4.79이다. S14의 보간 값 적용 및 S17의 탐색 블록 신축한 경우, 대상 블록과 참조 블록의 MSE는 4.25이다. 따라서, 본 발명의 실시예에 따라, S14의 보간 값만 적용한 경우에 MSE가 현저히 줄어듬을 알 수 있고, S14의 보간 값 적용 및 S17의 탐색 블록 신축한 경우 대상 블록과 참조 블록의 MSE가 최소가 됨을 알 수 있다.
대상 블록과 탐색 블록의 차신호를 계산하여 움직임 추정 차신호를 결정하는 단계(S18).
프로세서(122)는 크기가 서로 일치하고 화소들의 깊이 값이 유사해진 탐색 블록과 대상 블록의 차 신호를 계산하여 움직임 추정 차신호를 결정하고, 계산된 차 신호에 대해 MAE(평균절대오차: Mean Absolute Error) 또는 MSE(평균제곱오차: Mean Square Error) 중 어느 하나를 계산한다.
또한, 프로세서(122)는 탐색 영역 내의 모든 블록들 각각에 대해 전술한 과정에 따라 탐색 블록과 대상 블록의 차 신호를 계산하고, 계산된 차 신호에 대해 MAE 또는 MSE 중 어느 하나를 계산한다.
대상 블록에 대한 움직임 추정 차신호의 최소값을 고려하여 탐색 블록의 좌표와 신축 비율을 대상 블록의 움직임 벡터로 결정하는 대상 블록 움직임 벡터 결정 단계(S19).
프로세서(122)는 계산된 MAE(또는 MSE)가 최소값을 가지는 탐색 블록을 선택하고, 대상 블록과 탐색 블록의 상대적인 좌표 정보와 해당 탐색 블록의 신축 비율(z)을 움직임 벡터로 결정할 수 있다.
대상 블록과 탐색 블록의 움직임 추정에 관한 정보를 부호화하는 단계(S20).
프로세서(122)는 대상 블록과 탐색 블록의 움직임 추정 차신호 최소값, 움직임 벡터, 신축 비율(z)을 부호화할 수 있다. 특히 프로세서(122)는 움직임 추정에 관한 정보 중 일부를 가변하여 부호화 할 수 있다. 일 예로, 도 7을 참조하면, 신축 비율 계수의 경우, 프로세서(122)는 신축 비율 계수의 정밀도를 가변할 수 있다(S710). 프로세서(122)가 신축 비율(z)의 계수(
Figure 112019111558342-pat00036
)의 정밀도를 가변한다는 것은 신축 비율(z)의 계수(
Figure 112019111558342-pat00037
)를 정수 형태로 변환한다는 것을 의미할 수 있다. 예를 들어, 신축 비율(z)의 계수(
Figure 112019111558342-pat00038
)의 실험예는 이하 표 1 과 같다.
0.993 0.998 1.003 1.009 1.008 1.006 1.004 0.997 0.999 1.003
(신축 비율(z)의 계수(
Figure 112019111558342-pat00039
))
표 1을 참조하면, 신축 비율(z)의 계수(
Figure 112019111558342-pat00040
)는 소수점 형태이다. 도 8을 참조하면, 도 8은 상기 신축 비율(z)의 계수(
Figure 112019111558342-pat00041
)의 실험예에 따른 신축 비율(z)의 계수(
Figure 112019111558342-pat00042
)의 히스토그램 모습이다. 히스토그램 분석 결과, 신축 비율(z)의 계수(
Figure 112019111558342-pat00043
)는 1을 평균으로 하고 1과 근접할수록 그 빈도가 커지는 특성이 있음을 알 수 있다. 이러한 특성을 이용하여 신축 비율(z)의 계수(
Figure 112019111558342-pat00044
)의 가변하는 과정은 먼저, 신축 비율(z)에서 1을 빼서 산출된 제1 가변 계수(a1)를 구할 수 있다. 이 후 제1 가변 계수(a1)가 정수가 되도록 제1 가변 계수(a1)에 k을 곱하여 제2 가변 계수(a2)를 구할 수 있다. 이 때, k는 제1 가변 계수(a1)가 정수 형태를 가지게 하는 1보다 큰 자연수일 수 있다. 이후 제2 가변 계수(a2)에서 소수점을 버리고 정수만 취하여 구한 제3 가변 계수(a3)를 신축 비율(z)의 계수(
Figure 112019111558342-pat00045
)의 정밀도를 가변한 최종 값으로 할 수 있다. 예를 들어, 표 1의 실험예를 이용하여 표 1의 각 신축 비율(z)의 계수(
Figure 112019111558342-pat00046
)에서 1을 뺀 후 제1 가변 계수(a1)들을 구한 후, 제1 가변 계수(a1)에 k=1000으로 하여 k를 곱하여 제2 가변 계수(a2)를 가한 후, 제2 가변 계수(a2)에서 소수점을 버리고 정수만 취한 제3 가변 계수(a3)를 표 2와 같이 나타낼 수 있다.
-7 -2 3 9 8 6 4 -3 -1 3
(정밀도가 가변된 신축 비율(z)의 계수(a3))
이 경우, 프로세서(122)는 영상의 품질을 유지하면서 압축율을 높일 수 있다. 도 7을 참조하면, 프로세서(122)는 정밀도가 가변된 신축 비율의 계수를 엔트로피 부호화할 수 있다(S720). 엔트로피 부호화는 허프만 코드를 이용한 부호화 방법, 산술 부호화 방법, 적응 산술 부호화(CABAC) 방법 등이 있고, 이에 제한되는 것은 아니고 다른 엔트로피 부호화 알고리즘에 따를 수 있다. 일 예로, 산술 부호화 방법은 무손실 압축에 사용되는 엔트로피 부호화 알고리즘 가운데 하나로, 메시지에 출현하는 기호들의 고정된 통계적 모형을 결정하고 전체 메시지를 0보다 크고 1보다 작은 하나의 실수로 대체한다. 마찬가지로, 프로세서(122)는 대상 블록과 탐색 블록의 움직임 추정 차신호 최소값 또는 움직임 벡터를 엔트로피 부호화 할 수 있다.
따라서, 본 발명의 실시예는 객체가 카메라 방향으로 이동하거나 카메라 방향에서 멀어짐에 따른 깊이 영상 내의 객체의 크기 변화와 화소 값의 변화를 이용하여 정확하고 정밀하게 움직임을 추정할 수 있다.또한, 본 발명의 실시예는 미리 정의된 모든 신축 비율에 대해 신축 연산을 적용하여 비교하는 기존 방법과 달리 거리를 나타내는 깊이 영상내 화소를 이용하여 하나의 신축 비율을 계산함으로써 연산량과 메모리 기억량을 감소시킬 수 있다. 또한, 본 발명의 실시예는 움직임 대상 경계를 포함한 블록의 신축을 이용할 경우 발생되는 부정확한 추정과 압축 효율이 낮아지는 문제를 해결할 수 있다. 또한, 본 발명의 실시예는 화면 부호화시 필요한 부호화 정보를 감소시킬 수 있다. 또한, 본 발명의 실시예는 신축 비율의 계수를 이용하여 깊이 영상을 부호화할 수 있다. 또한, 본 발명의 실시예는 신축 비율의 계수의 정밀도를 가변하여 움직임 추정의 정확도를 유지하면서도 압축율을 높일 수 있다.
도 9는 본 발명의 다른 실시예에 따른 움직임 추정 방법에 대한 순서도이다.
도 6을 참조하면, 본 발명의 다른 실시예에 따른 움직임 추정 방법은, 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계(S801), 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 크기로 분할하는 현재 깊이 화면의 블록 분할 단계(S802), 참조 깊이 화면의 탐색 영역 내에서 미리 설정된 크기의 탐색 블록을 선택하는 탐색 블록 선택 단계(S803), 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계(S804), 움직임 추정 대상의 경계를 포함하는지 판단하는 단계(S805), 경계를 포함하지 않으면 신축을 이용한 제1 움직임 추정을 수행하는 단계(S806, S807), 경계를 포함하면 신축을 이용하지 않는 제2 움직임 추정을 수행하는 단계(S806, S809) 및 대상 블록와 탐색 블록의 움직임 추정에 관한 정보를 부호화 하는 단계(S810)를 포함할 수 있다.
본 발명의 다른 실시예에 따른 움직임 추정 방법의 각 단계를 보다 상세하게 설명한다.
깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계(S801).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 보간 값 산출 단계(S11)와 동일한 동작을 수행할 수 있다.
현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 크기로 분할하는 현재 깊이 화면의 블록 분할 단계(S802).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 블록 분할 단계(S12)와 동일한 동작을 수행할 수 있다.
참조 깊이 화면의 탐색 영역 내에서 미리 설정된 크기의 탐색 블록을 선택하는 탐색 블록 선택 단계(S803).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 탐색 블록 선택 단계(S13)와 동일한 동작을 수행할 수 있다.
현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계 (S804).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 깊이 값 보간 단계(S14)와 동일한 동작을 수행할 수 있다.
탐색 블록 선택 후 움직임 추정 대상의 경계를 포함하는지 판단하는 단계(S805)
프로세서(122)는 선택된 탐색 블록에 움직임 추정 대상의 경계를 포함하는지 판단할 수 있다. 즉, 프로세서(122)는 선택된 탐색 블록에 움직임 추정 대상이 아닌 배경 또는 움직임 추정 대상이 아닌 대상이 포함되었는지 판단할 수 있다. 예를 들어, 프로세서(122)는 탐색 블록 내의 움직임 추정 대상에 해당되는 화소의 깊이값을 기준으로 인접한 화소의 깊이값 들을 비교하여 인접한 화소간 깊이 값의 차이가 임계값 이상이면 경계가 포함된 것으로 판단할 수 있다. 탐색 블록에 경계 유무를 판단하는 이유는 움직임 추정대상의 경계를 포함하는 대상블록의 대표값이 정확하게 구해지지 않을 수 있어서 잘못된 탐색 블록을 참조할 수 있고 신축 비율이 정확하게 계산되지 않아 압축 효율이 낮아지는 문제가 발생하기 때문이다.
경계를 포함하지 않으면 신축을 이용한 제1 움직임 추정을 수행하는 단계(S806, S807)
프로세서(122)는 탐색 블록 내 경계를 포함하지 않다고 판단하면 제1 움직임 추정을 수행할 수 있다. 제1 움직임 추정은 도 2의 일 실시예에 따른 움직임 추정 방법의 대표값 계산 단계(S150), 신축 비율 계산 단계(S16), 탐색 블록 신축 단계(S17), 움직임 추정 차신호 결정 단계(S18) 및 움직임 벡터 결정 단계(S19)를 포함하여 동일한 동작을 수행 할 수 있다.
경계를 포함하면 신축을 이용하지 않는 제2 움직임 추정을 수행하는 단계(S806, S808).
프로세서(122)는 탐색 블록 내 경계를 포함한다고 판단하면 제2 움직임 추정을 수행할 수 있다. 제2 움직임 추정은 제1 움직임 추정과 달리 신축을 적용하지 않고 대상 블록과 참조 블록과의 비교를 통해 움직임 추정 대상의 움직임을 추정하는 기존의 기술일 수 있다. 또한, 제2 움직임 추정은 기좀 움직임 추정 방법일 수 있다. 기존 움직임 추정 방법으로는 예시적으로, 시간축 방향으로 나열된 영상열의 상관성을 이용한 부호화를 화면간 예측 부호화 (interframe predictive coding), 움직임 보상 예측 (motion compensated prediction), 화소 반복법 (PRA: Pel Recursive Algorithm), 블록 정합법 (BMA: Block Matching Algorithm), 중첩 블록 움직임 보상(OBMC: Overlapped Block Motion Compensation) 등 다양한 방법이 있을 수 있으며, 표준화된 압축 방식에서 적용되는 움직임 추정 방법이 적용될 수도 있다. 다만, 상술한 예시에 제한되는 것은 아니다.
대상 블록와 탐색 블록의 움직임 추정에 관한 정보를 부호화 하는 단계(S809).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 블록 부호화 단계(S20)와 동일한 동작을 수행할 수 있다.
따라서, 본 발명의 다른 실시예는 객체가 카메라 방향으로 이동하거나 카메라 방향에서 멀어짐에 따른 깊이 영상 내의 객체의 크기 변화와 화소 값의 변화를 이용하여 정확하고 정밀하게 움직임을 추정할 수 있다. 또한, 본 발명의 다른 실시예는 미리 정의된 모든 신축 비율에 대해 신축 연산을 적용하여 비교하는 기존 방법과 달리 거리를 나타내는 깊이 영상내 화소를 이용하여 하나의 신축 비율을 계산함으로써 연산량과 메모리 기억량을 감소시킬 수 있다. 또한, 본 발명의 다른 실시예는 움직임 대상 경계를 포함한 블록의 신축을 이용할 경우 발생되는 부정확한 추정과 압축 효율이 낮아지는 문제를 해결할 수 있다. 또한, 본 발명의 다른 실시예는 화면 부호화시 필요한 부호화 정보를 감소시킬 수 있다. 또한, 본 발명의 다른 실시예는 신축 비율의 계수를 이용하여 깊이 영상을 부호화할 수 있다. 또한, 본 발명의 다른 실시예는 신축 비율의 계수의 정밀도를 가변하여 움직임 추정의 정확도를 유지하면서도 압축율을 높일 수 있다. 또한, 본 발명의 다른 실시예는 움직임 대상 경계를 포함한 블록에서도 정확한 움직임 추정을 할 수 있고 압축 효율이 높다.
도 10은 본 발명의 또 다른 실시예에 따른 움직임 추정 방법에 대한 순서도이다.
도 10을 참조하면, 본 발명의 또 다른 실시예에 따른 움직임 추정 방법은, 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계(S901), 현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 크기로 분할하는 현재 깊이 화면의 블록 분할 단계(S902), 참조 깊이 화면의 탐색 영역 내에서 미리 설정된 크기의 탐색 블록을 선택하는 탐색 블록 선택 단계(S903), 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계(S904), 신축을 이용한 제1 움직임 추정을 수행하는 단계(S905), 신축을 이용하지 않는 제2 움직임 추정을 수행하는 단계(S906), 신축을 이용한 제1 움직임 추정에 따른 탐색 블록간 비용 계산 단계(S907), 신축을 이용하지 않는 제2 움직임 추정에 따른 탐색 블록간 비용 계산 단계(S908), 제1 비용과 제2 비용을 비교하여 더 낮은 비용의 움직임 추정 정보 선택(S909), 대상 블록와 탐색 블록의 움직임 추정에 관한 정보를 부호화 하는 단계(S910)를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 움직임 추정 방법의 각 단계를 보다 상세하게 설명한다.
깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계(S901).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 보간 값 산출 단계(S11)와 동일한 동작을 수행할 수 있다.
현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 크기로 분할하는 현재 깊이 화면의 블록 분할 단계(S902)
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 블록 분할 단계(S12)와 동일한 동작을 수행할 수 있다.
참조 깊이 화면의 탐색 영역 내에서 미리 설정된 크기의 탐색 블록을 선택하는 탐색 블록 선택 단계(S903).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 탐색 블록 선택 단계(S13)와 동일한 동작을 수행할 수 있다.
현재 깊이 화면의 대상 블록 각각의 깊이 값 및 참조 깊이 화면의 탐색 블록 각각의 깊이 값에 보간 값을 적용하여 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계 (S904).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 깊이 값 보간 단계(S14)와 동일한 동작을 수행할 수 있다.
신축을 이용한 제1 움직임 추정을 수행하는 단계(S905).
프로세서(122)는 제1 움직임 추정을 수행하여 도 2의 일 실시예에 따른 움직임 추정 방법의 대표값 계산 단계(S150), 신축 비율 계산 단계(S16), 탐색 블록 신축 단계(S17), 움직임 추정 차신호 결정 단계(S18) 및 움직임 벡터 결정 단계(S19)를 포함하여 동일한 동작을 수행 할 수 있다.
신축을 이용하지 않는 제2 움직임 추정을 수행하는 단계(S906).
프로세서(122)는 제2 움직임 추정을 수행하여 제1 움직임 추정과 달리 신축을 적용하지 않고 대상 블록과 참조 블록과의 비교를 통해 움직임 추정 대상의 움직임을 추정할 수 있다. 제2 움직임 추정은 제1 움직임 추정과 달리 신축을 적용하지 않고 대상 블록과 참조 블록과의 비교를 통해 움직임 추정 대상의 움직임을 추정하는 기존의 기술일 수 있다. 또한, 제2 움직임 추정은 기좀 움직임 추정 방법일 수 있다. 기존 움직임 추정 방법으로는 예시적으로, 시간축 방향으로 나열된 영상열의 상관성을 이용한 부호화를 화면간 예측 부호화 (interframe predictive coding), 움직임 보상 예측 (motion compensated prediction), 화소 반복법 (PRA: Pel Recursive Algorithm), 블록 정합법 (BMA: Block Matching Algorithm), 중첩 블록 움직임 보상(OBMC: Overlapped Block Motion Compensation) 등 다양한 방법이 있을 수 있으며, 표준화된 압축 방식에서 적용되는 움직임 추정 방법이 적용될 수도 있다. 다만, 상술한 예시에 제한되는 것은 아니다.
신축을 이용한 제1 움직임 추정에 따른 탐색 블록간 비용 계산 단계(S907)
프로세서(122)는 제1 움직임 추정에 의해 생성된 탐색 블록 간에 유사도 측정인 SAD(Sum of Absolute Differences) 또는 SSD(Sum of Squared Difference)의 결과를 비용(Loss)으로 할 수 있다.
신축을 이용하지 않는 제2 움직임 추정에 따른 탐색 블록간 비용 계산 단계(S908).
프로세서(122)는 제2 움직임 추정에 의해 생성된 탐색 블록 간에 유사도 측정인 SAD(Sum of Absolute Differences) 또는 SSD(Sum of Squared Difference)의 결과를 비용(Loss)으로 할 수 있다.
제1 비용과 제2 비용을 비교하여 더 낮은 비용의 움직임 추정 정보 선택(S909).
프로세서(122)는 제1 움직임 추정에 따른 탐색 블록간 비용과 제2 움직임 추정에 따른 탐색 블록간 비용을 비교하여 더 낮은 비용에 해당하는 움직임 추정 방법을 선택할 수 있다. 즉, 프로세서(122)는 유사도 측정의 비용이 낮을수록 성능이 우수한 것으로 판단할 수 있다. 신축을 이용한 제1 움직임 추정 수행 단계가 종래 기술에 해당하는 제2 움직임 추정 수행 단계 보다 성능이 떨어지는 경우는 움직임 추정대상의 경계를 포함하는 경우이다. 움직임 추정 대상의 경계를 포함하면 대상블록의 대표값이 정확하게 구해지지 않을 수 있어서 잘못된 탐색 블록을 참조할 수 있다. 이에 탐색 블록에 움직임 추정대상의 경계를 포함하는 경우 제2 움직임 추정 수행이 보다 성능이 우수할 수 있다. 따라서, 본 발명의 또 다른 실시예에 따른 움직임 추정 방법은 제1 움직임 추정 수행의 미비점을 제2 움직임 추정 수행으로 보완하여 보다 정확한 움직임 추정을 할 수 있다.
대상 블록와 탐색 블록의 움직임 추정에 관한 정보를 부호화 하는 단계(S910).
프로세서(122)는 도 2의 일 실시예에 따른 움직임 추정 방법의 블록 부호화 단계(S20)와 동일한 동작을 수행할 수 있다.
따라서, 따라서, 본 발명의 또 다른 실시예는 객체가 카메라 방향으로 이동하거나 카메라 방향에서 멀어짐에 따른 깊이 영상 내의 객체의 크기 변화와 화소 값의 변화를 이용하여 정확하고 정밀하게 움직임을 추정할 수 있다. 또한, 본 발명의 또 다른 실시예는 미리 정의된 모든 신축 비율에 대해 신축 연산을 적용하여 비교하는 기존 방법과 달리 거리를 나타내는 깊이 영상내 화소를 이용하여 하나의 신축 비율을 계산함으로써 연산량과 메모리 기억량을 감소시킬 수 있다. 또한, 본 발명의 또 다른 실시예는 움직임 대상 경계를 포함한 블록의 신축을 이용할 경우 발생되는 부정확한 추정과 압축 효율이 낮아지는 문제를 해결할 수 있다. 또한, 본 발명의 또 다른 실시예는 화면 부호화시 필요한 부호화 정보를 감소시킬 수 있다. 또한, 본 발명의 또 다른 실시예는 신축 비율의 계수를 이용하여 깊이 영상을 부호화할 수 있다. 또한, 본 발명의 또 다른 실시예는 신축 비율의 계수의 정밀도를 가변하여 움직임 추정의 정확도를 유지하면서도 압축율을 높일 수 있다. 또한, 본 발명의 또 다른 실시예는 움직임 대상 경계를 포함한 블록에서도 정확한 움직임 추정을 할 수 있고 압축 효율이 높다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.
100: 움직임 추정 장치
110: 영상 소스
120: 영상처리부
121: 메모리
122: 프로세서
130: 출력인터페이스
200: 데이터수신장치
210: 디스플레이 디바이스
220: 데이터 처리부
230: 입력 인터페이스

Claims (11)

  1. 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계;
    현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할 단계;
    상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하는 단계;
    상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계;
    상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값과 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하는 단계;
    상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계;
    신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하는 단계;
    상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하는 단계;
    상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계; 및
    상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 단계;를 포함하고,
    상기 신축 비율은
    Figure 112020132403278-pat00063
    을 충족하고, z는 신축 비율이고,
    Figure 112020132403278-pat00064
    는 상기 제1 대표값이고
    Figure 112020132403278-pat00065
    는 상기 제2 대표값인
    깊이 영상에서 신축을 이용한 움직임 추정 방법.
  2. 제1 항에 있어서,
    상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화 단계는,
    상기 신축 비율의 정밀도를 가변하는 단계; 및
    상기 가변된 신축 비율을 엔트로피 부호화하는 단계; 를 포함하고,
    상기 신축 비율의 정밀도를 가변하는 단계는,
    상기 신축 비율에서 1을 빼서 산출된 제1 가변 계수를 구한 후, 상기 제1 가변 계수에 k을 곱하여 산출된 제2 가변 계수를 구한 후, 상기 제2 가변 계수에서 소수점을 버리고 정수만 취하여 산출된 제3 가변 계수를 구한 값을 상기 정밀도가 가변된 신축비율로 하는 깊이 영상에서 신축을 이용한 움직임 추정 방법.
    K는 상기 제1 가변 계수가 정수 형태를 가지게 하는 1보다 큰 자연수이다.
  3. 제2 항에 있어서,
    상기 엔트로피 부호화는 산술 부호화 알고리즘인 깊이 영상에서 신축을 이용한 움직임 추정 방법.
  4. 제1 항에 있어서,
    상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계 이후에,
    결정된 복수의 움직임 추정 차신호에 대해 평균절대오차 또는 평균제곱오차를 계산하는 단계; 및
    상기 평균절대오차 또는 평균제곱오차가 최소값을 가지는 움직임 추정 차신호에 대응하는 대상 블록과 탐색 블록의 상대적인 좌표 정보와 해당 탐색 블록의 신축 비율을 움직임 벡터로 결정하는 단계;를 더 포함하는
    깊이 영상에서 신축을 이용한 움직임 추정 방법.
  5. 삭제
  6. 제1 항에 있어서,
    상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계는,
    상기 탐색 블록의 가로 및 세로 각각의 크기를 상기 신축 비율로 확대 또는 축소하는
    깊이 영상에서 신축을 이용한 움직임 추정 방법.
  7. 깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하는 단계;
    현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할 단계;
    상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하는 단계;
    상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하는 단계;
    상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값과 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하는 단계;
    상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계;
    신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하는 단계;
    상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하는 단계;
    상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하는 단계; 및
    상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 단계;를 포함하고,
    상기 신축 비율에 따라 상기 탐색 블록을 신축하는 단계는,
    상기 탐색 블록의 가로 및 세로 각각의 크기를 상기 신축 비율로 확대 또는 축소하는
    깊이 영상에서 신축을 이용한 움직임 추정 방법.
  8. 적어도 하나의 메모리; 및
    적어도 하나의 프로세서;를 포함하고,
    상기 적어도 하나의 프로세서는
    깊이 영상 촬영 디바이스의 왜곡을 보정하기 위하여 깊이 영상의 깊이 값 보간에 이용되는 보간 값을 생성하고,
    현재 깊이 화면에서 움직임 추정대상에 대하여 미리 설정된 제1 크기의 대상 블록으로 분할하는 블록 분할하고,
    상기 현재 깊이 화면의 이전 프레임 또는 다음 프레임인 참조 깊이 화면의 미리 설정된 제2 크기의 탐색 영역 내에서 탐색 블록을 선택하고,
    상기 현재 깊이 화면의 대상 블록 각각의 깊이 값 및 상기 참조 깊이 화면의 탐색 블록의 각각의 깊이 값에 보간 값을 적용하여 상기 대상 블록 및 탐색 블록의 깊이 값을 보간하고,
    상기 보간된 대상 블록 내 화소들의 깊이 값의 제1 대표값와 상기 보간된 탐색 블록 내 화소들의 깊이 값의 제2 대표값에 기초하여 신축 비율을 계산하고,
    상기 신축 비율에 따라 상기 탐색 블록을 신축하고,
    신축된 탐색 블록의 크기를 상기 대상 블록의 제1 크기와 일치시킨 후 상기 제1 크기의 탐색 블록 내 화소들의 깊이 값을 신축비율을 이용하여 보간하고,
    상기 보간된 탐색 블록과 상기 대상 블록 사이의 움직임 추정 차신호를 계산하고,
    상기 대상 블록과 상기 탐색 영역 내의 복수의 신축되고 보간된 탐색 블록 각각들 사이의 움직임 추정 차신호를 결정하고,
    상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하고,
    상기 프로세서가 상기 신축 비율의 정밀도를 가변하여 상기 블록을 부호화하는 것은,
    상기 프로세서가 상기 신축 비율의 정밀도를 가변하고, 상기 가변된 신축 비율을 엔트로피 부호화하고,
    상기 프로세서가 상기 신축 비율의 정밀도를 가변하는 것은,
    상기 프로세서가 상기 신축 비율에서 1을 빼서 산출된 제1 가변 계수를 구한 후, 상기 제1 가변 계수에 k을 곱하여 산출된 제2 가변 계수를 구한 후, 상기 제2 가변 계수에서 소수점을 버리고 정수만 취하여 산출된 제3 가변 계수를 구한 값을 상기 정밀도가 가변된 신축비율로 하는
    깊이 영상에서 신축을 이용한 움직임 추정 장치.
  9. 삭제
  10. 제8 항에 있어서,
    상기 신축 비율은
    Figure 112019111558342-pat00050
    을 충족하고, z는 신축 비율이고,
    Figure 112019111558342-pat00051
    는 상기 제1 대표값이고
    Figure 112019111558342-pat00052
    는 상기 제2 대표값인
    깊이 영상에서 신축을 이용한 움직임 추정 장치.
  11. 삭제
KR1020190137283A 2019-10-31 2019-10-31 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치 KR102245740B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190137283A KR102245740B1 (ko) 2019-10-31 2019-10-31 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137283A KR102245740B1 (ko) 2019-10-31 2019-10-31 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102245740B1 true KR102245740B1 (ko) 2021-04-27

Family

ID=75725583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137283A KR102245740B1 (ko) 2019-10-31 2019-10-31 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102245740B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371826B1 (ko) 2012-11-01 2014-03-12 동의대학교 산학협력단 신축 움직임 추정장치 및 그 추정방법
KR101906173B1 (ko) * 2017-06-05 2018-10-10 동의대학교 산학협력단 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371826B1 (ko) 2012-11-01 2014-03-12 동의대학교 산학협력단 신축 움직임 추정장치 및 그 추정방법
KR101906173B1 (ko) * 2017-06-05 2018-10-10 동의대학교 산학협력단 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
장원석 외 2명, "Adaptive zoom motion estimation method", Journal of Korea Multimedia Societym, 2014, Aug., 17(8):915-922.* *

Similar Documents

Publication Publication Date Title
US11381839B2 (en) Method and device for image motion compensation
JP7507166B2 (ja) デコーダ側動きベクトル改良に対する制約
AU2002324085C1 (en) Method for sub-pixel value interpolation
CN110741640B (zh) 用于视频代码化中的运动补偿预测的光流估计
EP1797722B1 (en) Adaptive overlapped block matching for accurate motion compensation
KR101344425B1 (ko) 다시점 화상 부호화 방법, 다시점 화상 복호 방법, 다시점 화상 부호화 장치, 다시점 화상 복호 장치, 다시점 화상 부호화 프로그램 및 다시점 화상 복호 프로그램
KR100919074B1 (ko) 매개 방정식을 이용한 비디오 인코딩을 위한 레이트 제어
JP5138048B2 (ja) 適応性動き推定
KR100242406B1 (ko) 디지탈 비디오 동화상의 움직임 보상 방법
JP5321439B2 (ja) 画像符号化装置、画像復号化装置、画像符号化方法、及び、画像復号化方法
US20170223378A1 (en) Intra-frame pixel prediction method, encoding method and decoding method, and device thereof
WO2018161868A1 (zh) 帧内编码帧码率分配方法、计算机设备和存储介质
US9118927B2 (en) Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US10284810B1 (en) Using low-resolution frames to increase frame rate of high-resolution frames
US9712820B2 (en) Predictive light field compression
US20150172715A1 (en) Picture encoding method, picture decoding method, picture encoding apparatus, picture decoding apparatus, picture encoding program, picture decoding program, and recording media
JP2005110289A (ja) 予測符号化を用いて画像ブロックの差分符号化を行う方法及び装置
JP2000224593A (ja) フレーム補間方法および装置およびこの方法を記録した記録媒体
US20160037172A1 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
KR101906173B1 (ko) 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치
US20150350670A1 (en) Coding apparatus, computer system, coding method, and computer product
US20110194610A1 (en) Motion-Vector Estimation
US10911779B2 (en) Moving image encoding and decoding method, and non-transitory computer-readable media that code moving image for each of prediction regions that are obtained by dividing coding target region while performing prediction between different views
KR100254667B1 (ko) 폐색을 검출하는 방법 및 장치
KR102245740B1 (ko) 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치

Legal Events

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