KR20140117754A - 움직임 벡터 처리 장치 및 처리 방법 - Google Patents

움직임 벡터 처리 장치 및 처리 방법 Download PDF

Info

Publication number
KR20140117754A
KR20140117754A KR1020130032235A KR20130032235A KR20140117754A KR 20140117754 A KR20140117754 A KR 20140117754A KR 1020130032235 A KR1020130032235 A KR 1020130032235A KR 20130032235 A KR20130032235 A KR 20130032235A KR 20140117754 A KR20140117754 A KR 20140117754A
Authority
KR
South Korea
Prior art keywords
bandwidth
cluster
clusters
clustering
corresponding points
Prior art date
Application number
KR1020130032235A
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 KR1020130032235A priority Critical patent/KR20140117754A/ko
Priority to US14/202,925 priority patent/US20140294079A1/en
Publication of KR20140117754A publication Critical patent/KR20140117754A/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/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시예에 따른 움직임 벡터 처리 장치는 현재 이미지 프레임과 기준 이미지 프레임으로부터 움직임 벡터들을 검출하는 움직임 벡터 검출부, 상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 변환부, 및 상기 대응점들을 타겟 대역폭을 갖는 적어도 하나의 클러스터로 클러스터링하는 클러스터링 처리부를 포함하고, 상기 클러스터링 처리부는 상기 클러스터의 대역폭과 상기 클러스터의 개수 사이의 관계를 분석하고, 상기 관계를 기초로 상기 타겟 대역폭을 산출한다.

Description

움직임 벡터 처리 장치 및 처리 방법{MOTION VECTOR PROCESSING DEVICE AND PROCESSING METHOD}
본 발명은 움직임 벡터 처리 장치 및 처리 방법에 관한 것으로, 더욱 상세하게는 연속적인 이미지 프레임들로부터 추출되는 움직임 벡터들을 클러스터링하는 움직임 벡터 처리 장치 및 처리 방법에 관한 것이다.
컴퓨터 비전 및 디지털 비디오 처리 기술이 발달함에 따라 동영상을 분석하여 동작 정보를 추출하는 연구가 활발히 진행되고 있다. 움직임 벡터를 추출하고 필터링하는 기법은 기본적이면서도 매우 중요한 연구 분야이고, 순차적인 이미지 프레임들 간의 움직임 추정 기법은 다수의 어플리케이션들에서 사용되고 있다.
움직임 추정을 위해 이미지 프레임 내의 각 부분이 어떻게 이동되었는지를 묘사해주는 움직임 벡터들이 사용된다. 움직임 벡터를 통해 순차적인 이미지 프레임들(ex. 현재 프레임과 기준 프레임) 간의 움직임이 추출된다. 하지만 종종, 일부 움직임 벡터들은 이미지 프레임 내의 국부적인 대상(local object)의 움직임 만을 묘사하거나 전혀 다른 움직임을 묘사하는 경우가 있다. 이러한 일부 움직임 벡터들은 일반적으로 아웃라이어(outlier) 벡터라고 지칭된다.
본 발명의 목적은 아웃라이어 벡터를 제거하고 움직임 벡터들을 효율적으로 클러스터링 할 수 있는 움직임 벡터 처리 장치 및 처리 방법을 제공하는 데 있다.
본 발명의 일 실시예에 따른 움직임 벡터 처리 장치는 현재 이미지 프레임과 기준 이미지 프레임으로부터 움직임 벡터들을 검출하는 움직임 벡터 검출부, 상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 변환부, 및 상기 대응점들을 타겟 대역폭을 갖는 적어도 하나의 클러스터로 클러스터링하는 클러스터링 처리부를 포함하고, 상기 클러스터링 처리부는 상기 클러스터의 대역폭과 상기 클러스터의 개수 사이의 관계를 분석하고, 상기 관계를 기초로 상기 타겟 대역폭을 산출한다.
일 실시예에서, 상기 클러스터링 처리부는 상기 관계를 이용하여 상기 클러스터의 대역폭 및 상기 클러스터의 개수가 같아지도록 하는 대역폭을 상기 타겟 대역폭으로 산출할 수 있다.
일 실시예에서, 상기 변환부는 칼만 필터를 이용하여 상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환할 수 있다.
일 실시예에서, 상기 검출 공간은 2차원 공간일 수 있다.
일 실시예에서, 상기 클러스터링 처리부는 Mean-Shift 알고리즘을 이용하여 상기 대응점들을 클러스터링할 수 있다.
일 실시예에서, 상기 클러스터는 원 형태를 가지고, 상기 대역폭은 상기 클러스터의 반지름을 나타낼 수 있다.
일 실시예에서, 상기 클러스터링 처리부는 상기 클러스터의 대역폭의 변화에 따른 상기 클러스터의 개수의 변화에 기초하여 상기 관계를 산출할 수 있다.
본 발명의 일 실시예에 따른 움직임 벡터 처리 방법은 현재 이미지 프레임과 기준 이미지 프레임을 비교하여 움직임 벡터들을 검출하는 단계, 상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 단계, 및 상기 대응점들을 적어도 하나의 클러스터로 클러스터링하는 단계를 포함하되, 상기 대응점들을 적어도 하나의 클러스터로 클러스터링하는 단계는, 상기 클러스터의 개수, 상기 클러스터의 대역폭, 상기 대역폭의 변화에 따라 클러스터링되는 상기 대응점들의 개수를 이용하여 상기 클러스터의 개수와 상기 대역폭 간의 관계를 산출하는 단계, 상기 관계를 이용하여 상기 클러스터의 개수와 상기 클러스터의 대역폭이 같아지도록 하는 타겟 대역폭을 산출하는 단계, 및 평균-이동(Mean-Shift) 알고리즘에 기초하여 상기 대응점들을 상기 타겟 대역폭을 갖는 적어도 하나의 클러스터로 클러스터링하는 단계를 포함한다.
일 실시예에서, 상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 단계는 칼만 필터(Kalman Filter)를 사용하여 수행될 수 있다.
일 실시예에서, 상기 클러스터의 개수와 상기 클러스터의 대역폭 간의 관계를 산출하는 단계는 상기 클러스터의 개수와 상기 클러스터의 대역폭 간의 반비례 관계를 기초로 상기 관계를 산출할 수 있다.
일 실시예에서, 상기 클러스터의 개수와 상기 클러스터의 대역폭 간의 관계를 산출하는 단계는 선형 최소 자승법을 이용하여 수행될 수 있다.
일 실시예에서, 상기 대응점들을 상기 타겟 대역폭을 갖는 적어도 하나의 클러스터로 클러스터링하는 단계는 Mean-Shift 알고리즘을 기초하여 수행될 수 있다.
일 실시예에서, 상기 적어도 하나의 클러스터는 상기 타겟 대역폭에 기초하여 클러스터의 크기가 정의될 수 있다.
본 발명의 실시예들에 따른 움직임 벡터 처리 장치 및 처리 방법은 아웃라이어 벡터를 제거하고 움직임 벡터들을 효율적으로 클러스터링 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 움직임 벡터 처리 장치를 보여주는 블록도이다.
도 2는 도 1의 움직임 벡터 검출부에 의해 검출된 움직임 벡터들을 보여준다.
도 3은 Mean-Shift 알고리즘을 이용한 클러스터링 방법을 설명하기 위한 도면이다.
도 4 및 도 5는 클러스터의 개수와 클러스터의 대역폭 간의 관계를 산출하기 위한 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법을 보여주는 흐름도이다.
도 7 내지 도 10은 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법을 적용한 예를 보여준다.
도 11 내지 도 14는 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법을 적용한 다른 예를 보여준다.
도 15는 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 보여주는 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
본 발명은 움직임 벡터 처리 장치 및 처리 방법에 관한 것으로, 더욱 상세하게는 연속적인 이미지 프레임들로부터 추출되는 움직임 벡터들을 클러스터링하는 움직임 벡터 처리 장치 및 처리 방법에 관한 것이다. 이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예들을 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 움직임 벡터 처리 장치를 보여주는 블록도이다. 도 2는 도 1의 움직임 벡터 검출부에 의해 검출된 움직임 벡터들을 보여준다. 도 3은 Mean-Shift 알고리즘을 이용한 클러스터링 방법을 설명하기 위한 도면이다. 도 4 및 도 5는 클러스터의 개수와 클러스터의 대역폭 간의 관계를 산출하기 위한 과정을 설명하기 위한 도면이다.
먼저, 도 1을 참조하면, 본 발명의 일 실시예에 따른 움직임 벡터 처리 장치(100)는 움직임 벡터 검출부(110), 변환부(120), 및 클러스터링 처리부(130)를 포함한다.
움직임 벡터 검출부(110)는 시간적으로 연속적인 이미지 프레임들을 순차적으로 전달받을 수 있다. 움직임 벡터 검출부(110)는 연속적인 이미지 프레임들 사이의 움직임 벡터(Motion Vector)를 검출한다. 예를 들어, 움직임 벡터는 이미지 프레임들에 나타나 있는 객체들(object)의 움직임에 대한 정보를 포함할 수 있다. 움직임 벡터 검출부(110)는 당해 기술 분야에서 잘 알려진 다양한 방법들(예를 들어, 블록 매칭 알고리즘(Block Matching Algorithm))을 사용하여 움직임 벡터를 검출할 수 있다.
도 2를 참조하면, 이미지 프레임들로부터 검출된 움직임 벡터들이 도시된다. 움직임 벡터들은 기준 이미지 프레임과 현재 이미지 프레임 사이에서의 객체들의 움직임 변화에 대한 정보를 포함할 수 있다. 움직임 벡터들의 화살표 방향은 객체들의 움직임 방향을 반영할 수 있다. 움직임 벡터들의 화살표 길이는 객체들이 움직인 거리를 반영할 수 있다.
예를 들어, 화살표의 길이와 방향이 서로 유사한 움직임 벡터들(ex. 검은색 움직임 벡터들)은 객체들의 유사한 움직임을 묘사하는 움직임 벡터들로 이해될 수 있다. 반면에, 화살표의 길이와 방향이 대부분의 움직임 벡터들과 구별되는 몇몇 벡터들(ex. 밝은색 움직임 벡터들)은 이른바 아웃라이어(outlier) 벡터로 이해될 수 있다. 이러한 아웃라이어 벡터들은 적절한 클러스터링을 통해 제거될 것이다.
다시 도 1을 참조하면, 변환부(120)는 검출된 움직임 벡터들을 검출 공간의 대응점들로 변환할 수 있다. 변환부(120)는 예를 들어, 칼만 필터(Kalman Filter)를 이용하여 움직임 벡터들을 대응점(corresponding point)들로 변환할 수 있다. 검출 공간은 예를 들어, n 차원(ex. 2차원 또는 3차원, n은 자연수) 공간을 의미할 수 있다.
클러스터링 처리부(130)는 대응점들을 클러스터링할 수 있다. 일 측면에서,클러스터링은 대응점들을 군집화하는 과정으로 이해될 수 있다. 클러스터링 처리부(130)는 예를 들어, Mean-Shift 알고리즘을 이용하여 대응점들을 클러스터링할 수 있다. Mean-Shift 알고리즘은 일반적으로 데이터 집합의 밀도 분포를 기초로 관심 영역 객체를 추적하는 알고리즘으로 알려져 있다. Mean-Shift 알고리즘에 대해서는 이하의 도 3을 참조하여 설명될 것이다.
도 3을 참조하면, Mean-Shift 알고리즘은 일정한 대역폭(BW)을 갖는 적어도 하나의 클러스터를 이용하여 대응점들을 클러스터링한다. 구체적으로, Mean-Shift 알고리즘은 대응점들 주위에 대역폭(BW)을 갖는 윈도우(W)를 정의하고, 정의된 윈도우(W) 내에 포함된 대응점들의 평균(예를 들어, 중심 위치)을 산출하고, 산출된 평균으로 윈도우(W)의 중심을 이동시킨다. 이러한 과정은 윈도우(W)의 중심이 수렴할 때까지 반복된다. 예를 들어, 도 3에 도시된 중심(a)을 갖는 윈도우(W)는 상기의 과정이 반복됨에 따라 중심이 a에서 b로 이동될 것이다.
다시 도 1을 참조하면, 클러스터링 처리부(130)는 대응점들을 일정한 대역폭(Bandwidth)을 갖는 적어도 하나의 클러스터로 클러스터링할 수 있다. 클러스터의 사이즈는 대역폭에 의해 정의될 수 있다. 예를 들어, 클러스터가 원(circle) 형태를 갖는 경우 대역폭은 반지름을 의미할 수 있다.
클러스터링 처리부(130)는 클러스터의 대역폭을 산출할 수 있다. 이를 위해, 클러스터링 처리부(130)는 클러스터의 개수(Nc)와 클러스터의 대역폭(BW)의 관계를 산출할 수 있다. 이는 이하의 도 4 및 도 5를 참조하여 더욱 상세하게 설명될 것이다.
도 4를 참조하면, 각각 다른 대역폭(BW)을 갖는 클러스터들을 이용하여 클러스터링된 결과가 도시된다. 예를 들어, 도 4는 클러스터링 처리부(130)가 Mean-Shift 알고리즘을 이용하여 움직임 벡터들을 시험적으로 클러스터링한 결과를 도시한 것으로 이해될 수 있다. 구체적으로, 대역폭(BW)이 각각 3, 10, 30인 클러스터가 도시된다. 각각의 클러스터는 대응점들을 포함한다. 대역폭(BW)이 3인 경우, 클러스터의 개수(Nc)는 약 8개이다. 대역폭(BW)이 10인 경우, 클러스터의 개수(Nc)는 약 4개이다. 대역폭(BW)이 30인 경우, 클러스터의 개수(Nc)는 약 2개이다. 즉, 대역폭(BW)이 증가할수록, 클러스터의 개수(Nc)는 작아진다.
Mean-Shift 알고리즘을 사용하여 대응점들을 클러스터링하는 경우, 대역폭(BW)의 선택은 중요하다. 대역폭(BW)은 클러스터의 개수(Nc)에 영향을 주기 때문이다. 지나치게 넓은 대역폭(BW)의 선택은 별개로 클러스터링 되어야할 클러스터들을 병합할 수 있고, 잘못된 클러스터링 결과를 발생할 수 있다. 이와 달리, 지나치게 좁은 대역폭(BW)의 선택은 너무 많은 클러스터들을 발생할 수 있다.
도 5를 참조하면, 대역폭(BW)과 클러스터의 개수(Nc)의 관계를 나타낸 그래프가 도시된다. 대역폭(BW)의 변화는 클러스터의 개수(Nc)에 영향을 준다. 구체적으로, 대역폭(BW)이 증가함에 따라 클러스터의 개수(Nc)는 감소하는 경향을 보인다. 도 5에 도시된 바와 같은 대역폭(BW)과 클러스터의 개수(Nc)의 관계는 도 4에서 설명된 것과 같은 클러스터링 과정을 통해 도출될 수 있다.
다시 도 1을 참조하면, 클러스터링 처리부(130)는 대역폭(BW)과 클러스터의 개수(Nc)의 관계에 대한 하기의 수학식 1을 산출할 수 있다. 하지만, 대역폭(BW)과 클러스터의 개수(Nc)의 관계는 하기의 수학식 1에 국한되지 않음은 잘 이해될 것이다.
Figure pat00001
여기서, Nc는 클러스터의 개수, Np는 클러스터링된 대응점들의 개수, BW는 클러스터의 대역폭, b, n은 임의의 실수를 나타낸다. Np 값은 미리 결정될 수 있다.
클러스터링 처리부(130)는 산출된 수학식 1을 도 4에 도시된 그래프와 피팅(fitting)시키기 위해 선형 최소 자승법(Linear Least Square)을 사용할 수 있다. 선형 최소 자승법을 사용하기 위해 상기의 수학식 1은 하기의 수학식 2와 같이 변형될 수 있다.
Figure pat00002
수학식 2는 수학식 1의 양변에 로그(log)를 적용한 것으로 이해될 수 있다. 선형 최소 자승법의 적용에 따른 에러(ε)는 하기의 수학식 3과 같이 표현될 수 있다.
Figure pat00003
에러(ε)를 최소화하는 다양한 클러스터의 개수(Nc)를 고려하기 위해 상기의 수학식 3은 하기의 수학식 4와 같이 변형될 수 있다.
Figure pat00004
상기의 수학식 4를 통해, b와 n이 산출될 수 있다.
클러스터링 처리부(130)는 수학식 1을 이용하여 클러스터의 개수(Nc)와 대역폭(BW)의 값이 같아지도록 하는 대역폭(BW)을 산출할 수 있다. 즉, 클러스터링 처리부(130)는 하기의 수학식 5를 통해 타겟 대역폭(BW)을 산출할 수 있다. 산출되는 타겟 대역폭(BW)은 대응점들을 클러스터링하기 위한 적어도 하나의 클러스터의 대역폭으로 사용될 것이다.
Figure pat00005
상기의 수학식 5는 타겟 대역폭(BW) 산출을 위해 하기의 수학식 6과 같이 변형될 수 있다.
Figure pat00006
클러스터링 처리부(130)는 상기의 수학식 6의 단조성(monotonicity)을 이용하여 타겟 대역폭(BW)을 산출할 수 있다. Np, b, n값은 미리 결정될 것이다. 구체적으로, 클러스터링 처리부(130)는 하기의 ⅰ) 내지 ⅲ) 과정을 통해 타겟 대역폭(BW)을 산출할 수 있다.
먼저, ⅰ) 타겟 대역폭(BW)이 임의의 값(X)으로 가정된다. ⅱ)임의의 값(X)에 의한 yi의 값이 0보다 큰 경우 임의의 값(X)에 보정값(a)이 감해지고, 임의의 값(X)에 의한 yi의 값이 0보다 작은 경우 임의의 값(X)에 보정값(a)이 더해진다. ⅲ)yi의 값이 양수에서 음수로 바뀌거나 음수에서 양수로 바뀌는 경우 보정값(a)은 1/2이 된다. 클러스터링 처리부(130)는 yi +1 - yi의 절대값이 임계값보다 작아질 때까지 ⅱ) 및 ⅲ)을 반복적으로 수행할 것이다. 임계값은 예를 들어, 0.01로 설정될 수 있으나, 이에 한정되지 않음은 잘 이해될 것이다.
즉, 클러스터링 처리부(130)는 yi +1 - yi의 절대값이 임계값보다 작아질 때의 X 값을 타겟 대역폭(BW)으로 산출할 것이다. 여기서, i는 자연수이고, ⅱ) 및 ⅲ) 과정이 수행된 횟수를 의미할 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 움직임 벡터 처리 장치(100)는 대응점들을 클러스터링하기 위한 최적의 타겟 대역폭을 산출할 수 있다. 타겟 대역폭을 갖는 적어도 하나의 클러스터들로 대응점들을 클러스터링함으로써 아웃라이어 벡터들은 제거될 수 있고, 움직임 벡터들은 효율적으로 클러스터링될 수 있다.
도 6은 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법을 보여주는 흐름도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법은 현재 이미지 프레임과 기준 이미지 프레임 사이의 움직임 벡터들을 검출하는 단계(S110), 움직임 벡터들을 검출 공간의 대응점들로 변환하는 단계(S120), 및 대응점들을 적어도 하나의 클러스터로 클러스터링하는 단계(S130)를 포함한다.
S110 단계에서, 움직임 벡터 검출부(110)는 연속적인 이미지 프레임들 사이의 움직임 벡터를 검출한다.
S120 단계에서, 변환부(120)는 검출된 움직임 벡터들을 검출 공간의 대응점들로 변환할 수 있다. 변환부(120)는 예를 들어, 칼만 필터(Kalman Filter)를 이용하여 움직임 벡터들을 대응점들로 변환할 수 있다.
S130 단계는 클러스터의 개수(Nc)와 클러스터의 대역폭(BW) 사이의 관계를 산출하는 단계(S131), 관계를 이용하여 클러스터의 개수(Nc)와 클러스터의 대역폭(BW)이 같아지도록 하는 타겟 대역폭(BW)을 산출하는 단계(S132), 및 대응점들을 타겟 대역폭(BW)을 갖는 적어도 하나의 클러스터로 클러스터링하는 단계(S133)를 포함할 수 있다.
S131 단계에서, 클러스터링 처리부(130)는 예를 들어, 상기의 수학식 1과 같은 클러스터의 개수(Nc)와 클러스터의 대역폭(BW)의 관계를 산출할 수 있다.
S132 단계에서, 클러스터링 처리부(130)는 상기의 수학식 2 내지 4를 이용하여 b, n값을 산출할 수 있다. 클러스터링 처리부(130)는 상기의 수학식 5 및 6을 이용하여 타겟 대역폭(BW)을 산출할 수 있다.
예시적으로, 상기의 수학식 6을 이용하여 타겟 대역폭(BW)이 산출되는 과정이 설명된다. Np값은 100으로 미리 결정될 수 있다. 수학식 2 내지 4를 통해 b는 1, n은 2로 산출된 것으로 가정된다. 보정값(a)은 0.5로 가정한다. 타겟 대역폭(BW)을 산출하기 위한 임의의 값(X)은 최초에 1로 가정된다.
X1이 1이므로, y1은 49.5로 산출된다. y1이 0보다 크기 때문에, X2는 X1 - 0.5(a), 즉, 0.5가 될 것이다. X2가 0.5이므로, y2는 79.7로 산출된다. y2가 0보다 크기 때문에, X3는 X2 - 0.5(a), 즉, 0이 될 것이다. X3가 0이므로, y3는 100으로 산출된다. y3가 0보다 크기 때문에, X4는 X3 - 0.5(a), 즉, -0.5가 될 것이다. X4가 -0.5이므로, y4는 79.7로 산출된다. y4가 0보다 크기 때문에, X5는 X4 - 0.5(a), 즉, -1이 될 것이다.
상술한 과정의 반복을 통해, 임의의 값(X)은 음의 방향으로 증가될 것이고, 따라서, y값은 감소될 것이다. y값이 계속적으로 증가하고, yi +1 - yi가 임계값인 0.01 보다 작아지는 경우의 Xi 값이 타겟 대역폭(BW)으로 산출될 것이다.
S133 단계에서, 클러스터링 처리부(130)는 산출된 타겟 대역폭(BW)을 이용하여 대응점들을 클러스터링할 것이다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법은 대응점들을 클러스터링하기 위한 최적의 타겟 대역폭을 산출할 수 있다. 타겟 대역폭을 갖는 적어도 하나의 클러스터들로 대응점들을 클러스터링함으로써 아웃라이어 벡터들은 제거될 수 있고, 움직임 벡터들은 효율적으로 클러스터링될 수 있다.
도 7 내지 도 10은 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법을 적용한 예를 보여준다.
먼저, 도 7을 참조하면, 화살표의 길이와 방향이 서로 유사한 움직임 벡터들(ex. 검은색 움직임 벡터들)은 객체들의 유사한 움직임을 묘사하는 움직임 벡터들로 이해될 수 있다. 반면에, 화살표의 길이와 방향이 대부분의 움직임 벡터들과 구별되는 몇몇 벡터들(ex. 밝은색 움직임 벡터들)은 이른바 아웃라이어(outlier) 벡터로 이해될 수 있다.
도 8을 참조하면, 검출 공간으로 변환된 대응점들이 도시된다. 도 8에 도시된 바와 같이, 움직임 벡터들 가운데 아웃라이어 벡터들이 변환된 대응점들(k)은 다수의 대응점들과 구별될 수 있다. 따라서, 이러한 아웃라이어 벡터들이 제외되도록 클러스터링하기 위해서는 클러스터의 대역폭의 적절한 선택이 필요하다.
도 9을 참조하면, 클러스터링 처리부(130)는 대역폭(BW) 변화에 따른 클러스터의 개수(Nc)를 나타낸 그래프(①)에 산출된 관계식(예를 들어, 수학식 1)에 따른 그래프(②)를 피팅시키기 위해 선형 최소 자승법을 사용할 수 있다. 클러스터링 처리부(130)는 상기의 수학식 2 내지 4를 이용하여 b, n값을 산출할 수 있다.
도 10을 참조하면, 수학식 6을 참조하여 설명된 ⅰ) 내지 ⅲ) 과정이 수행되는 것을 보여준다. 구체적으로, 도 10은 yi 값이 임계값(예를 들어, 0.01) 보다 작은 값으로 수렴되어 가는 과정을 보여준다. yi 값이 임계값보다 작아지는 경우의 BW 값은 타겟 대역폭(BW)으로 산출될 것이다. 즉, 클러스터링 처리부(130)는 상기의 수학식 5 및 6을 이용하여 타겟 대역폭(BW)을 산출할 수 있다.
도 11 내지 도 14는 본 발명의 일 실시예에 따른 움직임 벡터 처리 방법을 적용한 다른 예를 보여준다.
먼저, 도 11을 참조하면, 움직임 벡터들이 도시된다. 아웃라이어 벡터들은 도 7과 달리, 어두운 색 화살표로 도시된다.
도 12를 참조하면, 도 8과 비교하여 움직임 벡터들의 대응점들이 다소 산발적으로 나타나지만, 아웃라이어 벡터들의 대응점(k)들은 군집화되어 있는 움직임 벡터들과 구별된다.
도 13을 참조하면, 클러스터링 처리부(130)는 대역폭(BW) 변화에 따른 클러스터의 개수(Nc)를 나타낸 그래프(①)에 산출된 관계식(예를 들어, 수학식 1)에 따른 그래프(②)를 피팅시키기 위해 선형 최소 자승법을 사용할 수 있다. 클러스터링 처리부(130)는 상기의 수학식 2 내지 4를 이용하여 b, n값을 산출할 수 있다.
도 14를 참조하면, 수학식 6을 참조하여 설명된 ⅰ) 내지 ⅲ) 과정이 수행되는 것을 보여준다. yi 값이 임계값보다 작아지는 경우의 BW 값은 타겟 대역폭(BW)으로 산출될 것이다. 즉, 클러스터링 처리부(130)는 상기의 수학식 5 및 6을 이용하여 타겟 대역폭(BW)을 산출할 수 있다.
도 15는 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 보여주는 블록도이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 비디오 인코딩 장치(1000)는 움직임 추정부(1100), 움직임 보상부(1200), 가/감산기(1300), DCT(1400), 양자화부(1500), 엔트로피 부호화부(1600), 역양자화기(1700), IDCT(1800), 및 인트라 예측 처리부(1900)를 포함할 수 있다.
비디오 인코딩 장치(1000)는 모드 선택부(Mode selector)의 제어에 따라 화면내 예측(Inter Prediction) 또는 화면간 예측(Intra Prediction) 모드로 동작할 수 있다.
움직임 추정부(1100)는 내부 메모리(미도시)에 저장되어 있는 기준 이미지 프레임(예를 들어, 제 1 프레임)과 이미지 센서(미도시)로부터 촬영된 현재 이미지 프레임(예를 들어, 제 2 프레임)을 전달받을 수 있다. 움직임 추정부(1100)는 예를 들어, 특정 매크로 블록(Macro Block)을 지정하고, 지정된 매크로 블록에 대한 움직임 벡터를 추정할 수 있다. 움직임 추정부(1100)는 도 1에 도시된 움직임 벡터 처리 장치(100)를 포함할 수 있다. 예를 들어, 움직임 추정부(1100)는 움직임 벡터들을 검출하고, 검출된 움직임 벡터들을 클러스터링할 수 있다.
움직임 보상부(1200)는 움직임 추정부(1100)로부터 전달되는 움직임 벡터들을 이용하여 제 1 프레임에 대하여 움직임 보상을 수행하고, 움직임 보상된 프레임을 감산기(1300)로 전달한다.
감산기(1300)는 움직임 보상된 프레임 및 제 2 프레임을 전달받아 차분 프레임을 생성할 수 있다.
DCT(Discrete Cosine Transform, 1400)는 차분 프레임을 이산 여현 변환한다. 이산 여현 변환 결과에 따라 DCT 계수가 생성되며, DCT(1400)는 생성된 DCT 계수들을 양자화부(1500)에 전달한다.
양자화부(1500)는 DCT(1400)로부터 전달받는 DCT 계수들을 양자화한다.
엔트로피 부호화부(1600)는 양자화된 DCT 계수들을 부호화하여 출력 비트 스트림을 생성할 수 있다. 엔트로피 부호화부(1600)는 예를 들어, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 허프만 부호화 등을 사용하여 출력 비트 스트림을 생성할 수 있다.
역양자화부(1700)는 양자화된 DCT 계수들을 역양자화 할 것이다.
IDCT(1800)는 역양자화부(1700)로부터 전달되는 DCT 계수들을 역 이산 여현 변환할 것이다.
인트라 예측 처리부(1900)는 이미지 센서(미도시)로부터 촬영된 현재 이미지 프레임(예를 들어, 제 2 프레임)과 IDCT(1800)로부터 전달되는 역 이산 여현 변환 결과값을 이용하여 출력 프레임을 생성할 것이다. 출력 프레임은 화면내 예측 결과(즉, 움직임 보상부의 출력 프레임)와 달리 움직임 보상을 수반하지 않을 것이다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 움직임 벡터 처리 장치
110: 움직임 벡터 검출부
120: 변환부
130: 클러스터링 처리부
1000: 비디오 인코딩 장치
1100: 움직임 추정부
1200: 움직임 보상부
1300: 가/감산기
1400: DCT
1500: 양자화기
1600: 엔트로피 코딩부
1700: 인트라 예측 처리부
1800: 역양자화기
1900: IDCT

Claims (10)

  1. 현재 이미지 프레임과 기준 이미지 프레임으로부터 움직임 벡터들을 검출하는 움직임 벡터 검출부;
    상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 변환부; 및
    상기 대응점들을 타겟 대역폭을 갖는 적어도 하나의 클러스터로 클러스터링하는 클러스터링 처리부를 포함하고,
    상기 클러스터링 처리부는 상기 클러스터의 대역폭과 상기 클러스터의 개수 사이의 관계를 분석하고, 상기 관계를 기초로 상기 타겟 대역폭을 산출하는 움직임 벡터 처리 장치.
  2. 제 1 항에 있어서,
    상기 클러스터링 처리부는 상기 관계를 이용하여 상기 클러스터의 대역폭 및 상기 클러스터의 개수가 같아지도록 하는 대역폭을 상기 타겟 대역폭으로 산출하는 움직임 벡터 처리 장치.
  3. 제 1 항에 있어서,
    상기 변환부는 칼만 필터를 이용하여 상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 움직임 벡터 처리 장치.
  4. 제 1 항에 있어서,
    상기 클러스터링 처리부는 Mean-Shift 알고리즘을 이용하여 상기 대응점들을 클러스터링하는 움직임 벡터 처리 장치.
  5. 제 1 항에 있어서,
    상기 클러스터는 원 형태를 가지고, 상기 대역폭은 상기 클러스터의 반지름을 나타내는 움직임 벡터 처리 장치.
  6. 제 1 항에 있어서,
    상기 클러스터링 처리부는 상기 클러스터의 대역폭의 변화에 따른 상기 클러스터의 개수의 변화에 기초하여 상기 관계를 산출하는 움직임 벡터 처리 장치.
  7. 현재 이미지 프레임과 기준 이미지 프레임을 비교하여 움직임 벡터들을 검출하는 단계;
    상기 움직임 벡터들을 검출 공간 상의 대응점들로 각각 변환하는 단계; 및
    상기 대응점들을 적어도 하나의 클러스터로 클러스터링하는 단계를 포함하되,
    상기 대응점들을 적어도 하나의 클러스터로 클러스터링하는 단계는,
    상기 클러스터의 개수, 상기 클러스터의 대역폭, 상기 대역폭의 변화에 따라 클러스터링되는 상기 대응점들의 개수를 이용하여 상기 클러스터의 개수와 상기 대역폭 간의 관계를 산출하는 단계;
    상기 관계를 이용하여 상기 클러스터의 개수와 상기 클러스터의 대역폭이 같아지도록 하는 타겟 대역폭을 산출하는 단계; 및
    평균-이동(Mean-Shift) 알고리즘에 기초하여 상기 대응점들을 상기 타겟 대역폭을 갖는 적어도 하나의 클러스터로 클러스터링하는 단계를 포함하는 움직임 벡터 처리 방법.
  8. 제 7 항에 있어서,
    상기 클러스터의 개수와 상기 클러스터의 대역폭 간의 관계를 산출하는 단계는 상기 클러스터의 개수와 상기 클러스터의 대역폭 간의 반비례 관계를 기초로 상기 관계를 산출하는 움직임 벡터 처리 방법.
  9. 제 7 항에 있어서,
    상기 클러스터의 개수와 상기 클러스터의 대역폭 간의 관계를 산출하는 단계는 선형 최소 자승법을 이용하여 수행되는 움직임 벡터 처리 방법.
  10. 제 7 항에 있어서,
    상기 적어도 하나의 클러스터는 상기 타겟 대역폭에 기초하여 클러스터의 크기가 정의되는 움직임 벡터 처리 방법.
KR1020130032235A 2013-03-26 2013-03-26 움직임 벡터 처리 장치 및 처리 방법 KR20140117754A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130032235A KR20140117754A (ko) 2013-03-26 2013-03-26 움직임 벡터 처리 장치 및 처리 방법
US14/202,925 US20140294079A1 (en) 2013-03-26 2014-03-10 Motion vector processing device for clustering motion vectors and method of processing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130032235A KR20140117754A (ko) 2013-03-26 2013-03-26 움직임 벡터 처리 장치 및 처리 방법

Publications (1)

Publication Number Publication Date
KR20140117754A true KR20140117754A (ko) 2014-10-08

Family

ID=51620837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130032235A KR20140117754A (ko) 2013-03-26 2013-03-26 움직임 벡터 처리 장치 및 처리 방법

Country Status (2)

Country Link
US (1) US20140294079A1 (ko)
KR (1) KR20140117754A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITUB20159613A1 (it) * 2015-12-14 2017-06-14 St Microelectronics Srl Procedimento e sistema di clustering, apparecchiatura e prodotto informatico corrispondenti
US20170220950A1 (en) * 2016-01-29 2017-08-03 International Business Machines Corporation Numerical expression analysis

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100213018B1 (ko) * 1994-07-30 1999-08-02 윤종용 동화상 부호화장치
DE102005016858A1 (de) * 2005-04-12 2006-10-19 Siemens Ag Verfahren und Vorrichtung zur Reduktion eines Quantisierungsfehlers
JP5284048B2 (ja) * 2008-11-12 2013-09-11 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法
JP2012253482A (ja) * 2011-06-01 2012-12-20 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
US20140294079A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
KR0181063B1 (ko) 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
US6625216B1 (en) Motion estimation using orthogonal transform-domain block matching
US5760846A (en) Apparatus for estimating motion vectors for feature points of a video signal
US8208716B2 (en) Stereo vision system and stereo vision processing method
KR0171146B1 (ko) 특징점을 이용한 움직임 벡터 검출 장치
KR950009699B1 (ko) 움직임벡터 검출방법 및 장치
JPH08307874A (ja) 映像信号符号化装置
KR20100015651A (ko) 이차원 적응 내삽 필터의 필터 계수 결정 방법
US20120207214A1 (en) Weighted prediction parameter estimation
JP2012034225A (ja) 動きベクトル検出装置及び動きベクトル検出方法、コンピュータプログラム
JP5237814B2 (ja) ビデオ圧縮における適応的動きベクトルサンプリングのための多段リンク方法
JP4417054B2 (ja) 離散コサイン変換係数を参照する動き推定方法及び装置
US6408101B1 (en) Apparatus and method for employing M-ary pyramids to enhance feature-based classification and motion estimation
Acharjee et al. Performance evaluation of different cost functions in motion vector estimation
KR20140117754A (ko) 움직임 벡터 처리 장치 및 처리 방법
JP5639444B2 (ja) 動きベクトル生成装置、動きベクトル生成方法及びコンピュータプログラム
US6020925A (en) Method and apparatus for encoding a video signal using pixel-by-pixel motion prediction
KR20070000702A (ko) 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법
KR20030034923A (ko) 움직임 벡터 추정 방법 및 이에 적합한 장치
Xiong et al. Low complexity image compression for wireless multimedia sensor networks
KR100859073B1 (ko) 움직임 추정 방법
KR101188874B1 (ko) 영상 잡음 제거를 위한 임계값 결정 방법 및 장치
KR0152014B1 (ko) 화상데이타압축에서의 움직임추정방법 및 그 장치
KR101786921B1 (ko) 고속 움직임 추정을 위한 장치 및 방법
JP4824712B2 (ja) 動き推定精度推定方法、動き推定精度推定装置、動き推定精度推定プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid