KR101036552B1 - 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법 - Google Patents

적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법 Download PDF

Info

Publication number
KR101036552B1
KR101036552B1 KR1020090104963A KR20090104963A KR101036552B1 KR 101036552 B1 KR101036552 B1 KR 101036552B1 KR 1020090104963 A KR1020090104963 A KR 1020090104963A KR 20090104963 A KR20090104963 A KR 20090104963A KR 101036552 B1 KR101036552 B1 KR 101036552B1
Authority
KR
South Korea
Prior art keywords
block
candidate
candidate block
matching error
blocks
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020090104963A
Other languages
English (en)
Other versions
KR20110048243A (ko
Inventor
이상근
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020090104963A priority Critical patent/KR101036552B1/ko
Priority to US12/903,359 priority patent/US8693544B2/en
Publication of KR20110048243A publication Critical patent/KR20110048243A/ko
Application granted granted Critical
Publication of KR101036552B1 publication Critical patent/KR101036552B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/57Motion estimation characterised by a search window with variable size or shape

Landscapes

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

Abstract

적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법이 개시된다. 블록 분할부는 제1영상프레임 상에 설정된 원본 블록 및 제2영상프레임 상에 설정된 탐색 영역 내에서 결정되는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할한다. 정합 오차 산출부는 후보 블록의 연산 단위들 각각에 대하여 순차적으로 원본 블록에서 동일한 위치의 연산 단위에 대한 부분 정합 오차를 산출한다. 정합 오차 비교부는 순차적으로 선택된 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합이 최적 후보 블록에 대해 산출된 최소 정합 오차보다 크고, 모든 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값이 최적 후보 블록에 대해 산출된 최대 정합 오차보다 크면 최적 후보 블록을 선택된 후보 블록으로 교체한다. 이러한 과정이 모든 후보 블록들에 대해 순차적으로 수행되면, 정합 블록 결정부는 최적 후보 블록을 정합 블록으로 결정한다. 본 발명에 따르면, 각 연산 단위마다 산출된 부분 정합 오차를 최소 정합 오차 및 최대 정합 오차와 비교하여 움직임 추정 과정에서 제외될 후보 블록을 결정함으로써, 계산량을 줄이고 움직임 추정의 속도를 향상시킬 수 있다.

Description

적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법{Apparatus and method for fast motion estimation based on adaptive search range and partial matching error}
본 발명은 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법에 관한 것으로 하나의 영상프레임의 원본 블록에 대응하는 정합 블록을 다른 하나의 영상프레임의 후보 블록들 중에서 결정하여 두 영상프레임 사이의 움직임 벡터를 추정하는 장치 및 방법에 관한 것이다.
움직임 추정(Motion Estimation : ME)이라 함은 하나의 영상프레임으로부터 다른 하나의 영상프레임까지의 화소들을 참조하여 움직임 벡터를 찾는 것을 말한다. 움직임 추정은 시간적 중복성(temporal redundancy)을 효과적으로 제거하여 동영상을 압축하기 위해 사용된다. 그 중에서 MPEG-x 및 H.26x 등을 포함하는 블록 기반 움직임 추정 기법들은 주어진 탐색 영역 내에서 최적 블록(optimal block)이라 하는 가장 적절한 정합 블록을 탐색한다.
전역 탐색 알고리즘(full search algorithm)은 가장 적절한 움직임 벡터를 찾기 위한 최적 블록 정합 기법이지만 과도한 계산량이 요구된다. 전역 탐색 알고 리즘의 계산적 복잡도를 줄이기 위해 탐색 영역을 줄이거나(고속 탐색) 원본 블록과 후보 블록 간의 블록 정합 시에 화소의 수를 감소시키는(고속 정합) 몇 가지의 방법이 제시되었다. 즉, 움직임 추정은 '탐색 단계'와 '정합 단계'의 크게 두 가지 주된 과정으로 구성된다. 또한 각각의 단계는 다시 코딩 효율이 기존의 전역 탐색 알고리즘과 비교하였을 때 동등한지 또는 악화되었는지 여부에 따라 '손실'과 '비손실'의 두 가지 접근법으로 구분된다.
고속 탐색 알고리즘에서, 손실 알고리즘은 주어진 윈도우 내에서 시험 대상 지점의 수를 감소시키며, 3단계 탐색법(three-step search), 4단계 탐색법(four-step search), 다해상도 기법(multi-resolution technique) 등을 포함한다. 비손실 알고리즘은 연속 제거 알고리즘(Successive Elimination Algorithm : SEA), 다단계 연속 제거 알고리즘(Multi-level SEA : MSEA) 및 그의 개선된 알고리즘(improved MSEA)을 포함한다. SEA는 블록 평균화 과정에서 불필요한 계산 과정을 제거하며, MSEA는 SEA와 비슷한 방법을 사용하지만 계산 과정을 더 많이 제거할 수 있다. IMSEA는 유효하지 않은 블록을 효과적으로 발견하기 위해 MSEA를 확장함으로써 개발되었다.
고속 정합 알고리즘에서, 손실 접근법은 각각의 후보 블록에 대한 절대차 합 (Sum of Absolute Difference : SAD)의 계산 과정을 줄이는 것을 목적으로 한다. 손실 알고리즘은 화소 데시메이션(decimation) 패턴, 서브샘플링(sub-sampling) 및 정렬(sorting) 기반 기법으로 분류될 수 있다. 최근에는 예측 기반 알고리즘이 도입되었으며, 이는 상당한 양의 계산 비용을 절약할 수 있다.
비손실 고속 정합 접근법은 부호화된 영상의 품질 손상이 없는 빠른 처리법이며, SEA와 같은 다른 고속의 비손실 탐색 접근법과 결합될 수 있다. 부분 왜곡 제거(Partial Distortion Elimination : PDE) 알고리즘은 고속 탐색법의 일 예이다. PDE 알고리즘은 주어진 윈도우 영역 내를 래스터(raster) 방식으로 상단으로부터 하단에 이르기까지 라인별로 스캔한다. 블록 정합에 있어서도 이와 동일한 방식으로 블록 정합 오차, 즉 SAD가 라인별로 산출된다. 매 라인(예를 들면, 16화소)마다 이전에 산출된 최소 SAD와의 비교를 통해 후보 블록이 제거될 것인지 여부가 결정된다. 이러한 접근법을 통해 전체 후보 블록에 대한 SAD 산출이 모두 완료되기 전에 불필요한 후보 블록을 미리 제거할 수 있다.
PDE를 기반으로 하는 개선된 접근법들이 많이 제안되었으며, 좋은 결과를 나타내고 있다. 이러한 접근법들에서 공통적으로 이루어지는 과정은 원본 블록을 더 작은 단위(라인, 서브 블록 및 화소)로 분리하여 각각의 단위에서 복잡도를 산출하고, 산출된 복잡도를 내림차순으로 정렬하고, 주어진 윈도우 영역 내에서 후보 블록과 매 주기(예를 들면, 8화소 또는 16화소)마다 비교하는 것이다. 그러나 개선된 PDE 접근법들은 여전히 SAD의 산출을 위한 많은 계산량 및 최종 단계에서 후보 블록이 원본 블록과 비슷하지만 최적 블록은 아닐 때 이를 제거하기 위한 시간을 필요로 한다.
따라서 무시할 만한 품질 저하만을 가져오는 손실 고속 움직임 추정의 경우에도 SAD 산출에 필요한 계산량을 줄이고 처리 시간의 속도를 높이기 위한 유용한 수단이 될 수 있으므로 이를 이용한 움직임 추정 기법의 개발이 필요하다.
본 발명이 이루고자 하는 기술적 과제는 움직임 벡터를 찾기 위한 탐색 영역의 크기를 적응적으로 조절할 수 있고, 불필요한 후보 블록을 미리 제거할 수 있는 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 움직임 벡터를 찾기 위한 탐색 영역의 크기를 적응적으로 조절할 수 있고, 불필요한 후보 블록을 미리 제거할 수 있는 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치는, 연속하는 복수의 영상 프레임 중에서 제1영상프레임 상에 설정된 원본 블록 및 상기 제1영상프레임에 대한 움직임을 추정하고자 하는 제2영상프레임 상에 설정된 탐색 영역 내에서 사전에 설정된 탐색 방향에 따라 순차적으로 결정되는 상기 원본 블록에 대응하는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할하는 블록 분할부; 상기 후보 블록의 연산 단위들 각각에 대하여 상기 원본 블록에서 동일한 위치의 연산 단위를 구성하는 각각의 화소와의 화소값의 절대차 합인 부분 정합 오차를 산 출하는 정합 오차 산출부; 상기 후보 블록들 중에서 순차적으로 선택된 후보 블록의 모든 연산 단위들에 대해 산출된 부분 정합 오차들의 총합이 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합인 최소 정합 오차보다 작고, 상기 선택된 후보 블록의 연산 단위들에 대해 산출된 부분 정합 오차들 중 최대값이 상기 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차보다 작으면 상기 최적 후보 블록을 상기 선택된 후보 블록으로 교체하는 정합 오차 비교부; 및 상기 모든 후보 블록들에 대하여 순차적으로 상기 부분 정합 오차가 산출되면 상기 최적 후보 블록을 상기 원본 블록으로부터의 움직임 벡터를 추정하기 위한 정합 블록으로 결정하는 정합 블록 결정부;를 구비하며, 상기 최적 후보 블록으로 초기 설정되는 후보 블록은 상기 후보 블록들 중에서 최초로 선택된 후보 블록이다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 방법은, (a) 연속하는 복수의 영상 프레임 중에서 제1영상프레임 상에 설정된 원본 블록 및 상기 제1영상프레임에 대한 움직임을 추정하고자 하는 제2영상프레임 상에 설정된 탐색 영역 내에서 사전에 설정된 탐색 방향에 따라 순차적으로 결정되는 상기 원본 블록에 대응하는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할하는 단계; (b) 상기 후보 블록의 연산 단위들 각각에 대하여 상기 원본 블록에서 동일한 위치의 연산 단위를 구성하는 각각의 화소와의 화소값의 절대차 합인 부분 정합 오차를 산출하는 단계; (c) 상기 후보 블록들 중에서 순차적으로 선택된 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합이 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합인 최소 정합 오차보다 작고, 상기 선택된 후보 블록의 연산단위들에 대해 산출된 부분 정합 오차들 중 최대값이 상기 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차보다 작으면 상기 최적 후보 블록을 상기 선택된 후보 블록으로 교체하는 단계; 및 (d) 상기 모든 후보 블록들에 대하여 순차적으로 상기 (c) 단계가 수행되면 상기 최적 후보 블록을 상기 원본 블록으로부터의 움직임 벡터를 추정하기 위한 정합 블록으로 결정하는 단계;를 가지며, 상기 최적 후보 블록으로 초기 설정되는 후보 블록은 상기 후보 블록들 중에서 최초로 선택된 후보 블록이다.
본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법에 의하면, 원본 블록 및 후보 블록들을 연산 단위로 분할하여 각 연산 단위마다 산출된 부분 정합 오차를 최소 정합 오차 및 최대 정합 오차와 비교하여 움직임 추정 과정에서 제외될 후보 블록을 결정함으로써, 계산량을 줄이고 움직임 추정의 속도를 향상시킬 수 있다. 또한 서로 이웃하는 후보 블록들에 대한 정합 오차를 기초로 탐색 영역의 크기를 적응적으로 조절함으로써 불필요한 계산량을 줄일 수 있다. 나아가 연산 단위를 생성할 때 원본 블록 또는 후보 블록 전체의 정보를 포함하도록 화소를 재정렬함으로써, 각각의 연산 단위로부터 산출된 부분 정합 오차와의 비교 대상이 되는 최대 정합 오차의 신뢰도를 높일 수 있다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치에 대한 바람직한 실시예의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 움직임 추정 장치는 탐색 영역 설정부(110), 블록 분할부(120), 정합 오차 산출부(130), 정합 오차 비교부(145) 및 정합 블록 결정부(160)를 구비한다.
탐색 영역 설정부(110)는 연속하는 복수의 영상 프레임 중에서 제1영상프레임 상에 설정된 원본 블록에 대응하는 정합 블록을 찾기 위해 제1영상프레임에 대한 움직임을 추정하고자 하는 제2영상프레임 상에서 탐색 영역을 설정한다. 이를 위해 탐색 영역 설정부(110)는 초기 움직임 벡터 결정부(112), 절대차 합 산출부(114) 및 영역 크기 결정부(116)를 구비한다.
초기 움직임 벡터 결정부(112)는 원본 블록으로부터 원본 블록에 인접한 이웃 블록들을 향하는 벡터들의 미디언 벡터를 초기 움직임 벡터로 결정한다.
기존에는 제2영상프레임 상에서 정합 블록을 결정하기 위한 탐색 영역이 원본 블록에 대응하는 위치를 중심으로 하는 일정 크기의 영역으로 설정되었다. 그러나 탐색 영역의 가장자리에 가까워질수록, 즉 원본 블록에 대응하는 위치로부터 멀어질수록 해당 위치에서 정합 블록이 결정될 가능성은 낮아진다. 따라서 탐색 영역의 크기를 적절하게 조절함으로써 정합 블록을 찾기 위한 계산량을 감소시킬 수 있 다.
탐색 영역 설정부(110)는 탐색 영역의 크기를 줄이기 위해 이웃한 블록들과의 공간적 상관관계를 기반으로 하는 적응적 탐색 영역 조절 기법을 사용한다. 최적으로 조절된 탐색 영역은 원본 블록으로부터 정합 블록을 향하는 최적 움직임 벡터 주변의 작은 영역을 말한다. 그러나 최적 움직임 벡터에 관한 정보는 원본 블록에 대해 제2영상프레임 상에서의 전역 탐색이 완료되기 전까지는 얻을 수 없다. 따라서 원본 블록에 대한 초기 움직임 벡터 mv0는 원본 블록으로부터 원본 블록에 인접한 이웃 블록들(예를 들면, 좌측, 상측 및 좌상측)을 향하는 움직임 벡터들인
Figure 112009067240293-pat00001
에 대해 미디언 연산자(median operator)를 적용함으로써 다음 수학식 1과 같이 추정된다.
Figure 112009067240293-pat00002
다음으로, 절대차 합 산출부(114)는 제2영상프레임에서 원본 블록에 해당하는 위치로부터 초기 움직임 벡터만큼 이동한 위치의 초기 후보 블록 및 초기 후보 블록에 인접한 이웃 후보 블록들에 대하여 원본 블록을 구성하는 각각의 화소와의 화소값의 절대차 합을 산출한다.
탐색 영역 설정부(110)에 의해 설정되는 적응적인 탐색 영역은 이웃한 블록들의 정합 특성을 반영하여 조절된다. 특정 영역 내의 블록 정합 오차는 서로 크게 연관되어 있기 때문이다. 원본 블록에 해당하는 위치로부터 초기 움직임 벡터 mv0만 큼 이동한 위치의 초기 후보 블록에 대한 원본 블록과의 절대차 합 SADc 및 초기 후보 블록에 인접하는 세 개의 이웃 후보 블록들에 대한 SAD의 집합을
Figure 112009067240293-pat00003
라 한다. 이 중에서 선택된 SAD 값이 제2영상프레임 상에서 탐색 영역의 결정에 사용된다. 이러한 절대차 합들은 원본 블록과 후보 블록 사이의 오차를 나타내는 것이다.
영역 크기 결정부(116)는 초기 후보 블록 및 이웃 후보 블록들에 대해 각각 산출된 절대차 합 중에서 최대값을 기초로 제2영상프레임 상에서 탐색 영역의 크기를 결정한다. 즉, 집합
Figure 112009067240293-pat00004
중에서 최대 SAD 값을 탐색 영역의 크기 결정에 사용하는 것이다.
적응적인 탐색 영역 D의 크기는 집합 C의 최대값을 사용하여 다음의 수학식 2에 의해 결정된다.
Figure 112009067240293-pat00005
여기서, 탐색 영역의 크기를 결정하는 함수 f(·)는 다음의 수학식 3으로 정의된다.
Figure 112009067240293-pat00006
여기서, round(·)는 가장 가까운 정수값을 반환하는 함수, R은 초기에 설정 되는 탐색 영역
Figure 112009067240293-pat00007
의 크기, 그리고 TSAD는 이웃 후보 블록의 정합 오차를 기초로 탐색 영역을 선형적으로 조절하는 기준값이다.
도 2는 최대 절대차 합에 따른 조절된 탐색 영역의 크기를 도시한 그래프이다. 도 2를 참조하면, 집합 C의 최대 절대차 합이 커질수록 조절된 탐색 영역의 크기는 초기에 설정되는 탐색 영역의 크기 R에 가까워지는 것을 알 수 있다. 본 발명이 실제 적용될 때에는 함수 f(·)에 삽입되는 절대차 합의 최대값이 정규화를 위해 블록의 크기로 나누어진다.
탐색 영역의 크기 결정을 위해 초기 후보 블록 및 이웃 후보 블록들에 대해 산출된 절대차 합 중에서 최대값을 선택하는 것은 움직임의 방향이 다른 객체와의 경계선 주변 영역에서 탐색 영역이 부적절하게 조절됨으로써 발생할 수 있는 위험을 줄이는 것이다. 이러한 경계 영역에서는 보통 절대차 합, 즉 원본 블록과의 정합 오차가 높은 값을 보이며, 따라서 원본 블록에 대응하는 움직임 벡터를 기본적으로 설정되는 탐색 영역 내에서 찾을 필요성이 있기 때문이다.
또한 max(C)의 값이 0인 경우에는 탐색 영역 D의 크기가 0이 되는데, 이는 정지 장면에 대해 매우 효과적이다. 그에 따라 움직임 추정은 원본 블록에 해당하는 위치로부터 mv0만큼 이동한 지점을 중심으로 하는 새로운 탐색 영역 내에서만 수행된다.
블록 분할부(120)는 제1영상프레임 상에 설정된 원본 블록 및 제2영상프레임 상에 설정된 탐색 영역 내에서 사전에 설정된 탐색 방향에 따라 순차적으로 결정되 는 원본 블록에 대응하는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할한다. 여기서 연산 단위는 하나의 블록 또는 하나의 라인이 될 수 있다.
제1영상프레임 상의 원본 블록과 제2영상프레임 상의 후보 블록 간의 SAD, 즉 정합 오차를 산출하기 위해 블록 전체의 화소들을 사용하면 계산량이 많아지며 움직임 추정 속도가 느려질 수 있다. 따라서 블록 분할부는 원본 블록, 및 후보 블록을 동일한 크기의 연산 단위들로 분할하여 원본 블록과 후보 블록의 연산 단위별로 정합 오차를 산출할 수 있다.
블록 분할의 일 실시예로서, 원본 블록 및 후보 블록의 크기가 16×16인 경우에 이들 블록은 4×4 크기의 단위 블록들로 분할되어 각각의 단위 블록이 연산 단위가 될 수 있다. 단위 블록의 크기가 작아지면 정합 오차 산출의 의미가 없어지게 되며, 단위 블록의 크기가 지나치게 커지면 계산량이 많아져 블록을 분할하는 의미가 없어지게 된다. 따라서 원본 블록 및 후보 블록의 크기에 따라 적절하게 단위 블록의 크기를 결정하는 것이 바람직하다.
정합 오차 산출부(130)는 각각의 후보 블록으로부터 생성된 연산 단위들 각각에 대하여 원본 블록에서 동일한 위치의 연산 단위를 구성하는 각각의 화소와의 화소값의 절대차 합인 부분 정합 오차를 산출한다.
탐색 영역 내의 복수의 후보 블록에 대하여 순차적으로 연산 단위별로 원본 블록과의 부분 정합 오차를 산출할 때, 탐색 영역의 꼭지점에 해당하는 한 지점으로부터 라인별로 후보 블록과 원본 블록 사이의 부분 정합 오차를 산출할 수도 있 다. 그러나 탐색 영역은 원본 블록의 위치에 해당하는 지점을 중심으로 하며, 해당 지점에 위치하는 후보 블록과 원본 블록 사이의 SAD가 다른 후보 블록에 비해 작을 가능성이 크다. 원본 블록의 위치에 해당하는 탐색 영역의 중심으로부터 탐색 영역의 가장자리를 향하는 나선형의 탐색 방향에 따라 순차적으로 원본 블록과의 SAD를 산출하는 것이 바람직하다.
제1영상프레임 내의 임의의 지점 p=[px,py]T에 위치하는 N×N 크기의 원본 블록에 대한 움직임 추정 과정은 제2영상프레임 상의 탐색 영역 내에서 mv=[mvx,mvy]T에 위치하는 정합 블록을 찾는 것이다. 이는 다음 수학식 4에 의해 최소 절대차 합을 사용하여 수행된다.
Figure 112009067240293-pat00008
여기서, mv'는 탐색 영역 R 내의 최적 움직임 벡터이고, SAD는 다음의 수학식 5와 같이 표현된다.
Figure 112009067240293-pat00009
여기서, ft와 ft -1은 각각 제1영상 프레임과 제2영상프레임을 나타낸다.
앞에서 설명한 바와 같이 본 발명에서는 원본 블록과의 정합 오차를 산출하기 위해 블록 전체를 사용하지 않고, 블록이 분할되어 생성된 연산 단위를 기반으로 하여 부분 정합 오차를 산출한다. 따라서 위 수학식 4 및 수학식 5를 변형하여 하나의 연산 단위를 구성하는 화소들의 화소값 차를 기초로 산출한 부분 정합 오차에 따라 원본 블록에 대응하는 정합 블록이 결정된다.
나선형의 탐색 방향에 따라 가장 먼저 탐색 영역의 중심에 위치하는 후보 블록, 즉 순차적으로 결정된 후보 블록들 중 가장 앞서는 최초 후보 블록이 최적 후보 블록으로 결정되고, 정합 오차 산출부(130)는 최초 후보 블록의 각 연산 단위에 대하여 후보 블록과의 절대차 합인 부분 정합 오차를 산출한다. 그에 따라 최초 후보 블록의 연산 단위에 대하여 산출된 부분 정합 오차들의 총합은 최소 정합 오차의 초기값으로 결정된다. 이후 탐색 방향에 따라 후보 블록에 대해 산출된 부분 정합 오차들의 총합이 최소 정합 오차보다 작으면 해당 후보 블록이 새로운 최적 후보 블록으로 결정되고, 최소 정합 오차가 갱신된다. 최적 후보 블록 및 최소 정합 오차의 갱신은 정합 오차 비교부(145)에 의해 이루어진다.
정합 오차 산출부(130)는 최소 정합 오차의 초기값이 결정된 후 탐색 방향에 따라 순차적으로 각각의 후보 블록의 연산 단위들에 대해 부분 정합 오차를 산출한다. 후보 블록의 K번째 연산 단위까지 누적된 부분 정합 오차는 다음의 수학식 6과 같이 정의된다.
Figure 112009067240293-pat00010
여기서, P(mv)는 후보 블록의 위치이고, pSADk는 후보 블록의 k번째 단위에 대해 산출된 부분 정합 오차이다.
탐색 방향에 따라 모든 후보 블록에 대하여 수학식 6과 같이 누적된 부분 정합 오차가 산출되면, 원본 블록에 대응하는 정합 블록은 다음 수학식 7과 같이 결정된다.
Figure 112009067240293-pat00011
여기서, n은 하나의 후보 블록을 구성하는 연산 단위의 개수이다.
위 수학식 7과 같이 원본 블록의 각 연산 단위 사이에서 산출된 부분 정합 오차들의 총합이 최소인 후보 블록, 즉 최소 정합 오차를 가지는 후보 블록이 정합 블록으로 결정된다. 다만, 각각의 후보 블록에 대해 부분 정합 오차가 산출될 때마다 최적 후보 블록이 갱신되므로, 모든 후보 블록에 대한 연산이 종료하는 순간 최적 후보 블록이 정합 블록으로 확정된다. 또한 원본 블록으로부터 정합 블록으로의 움직임 벡터가 제1영상프레임과 제2영상프레임 사이의 움직임을 나타내는 최적 움직임 벡터로 결정된다.
정합 오차 비교부(145)는 여기에서 나아가 후보 블록의 각 연산 단위에 대해 산출되는 부분 정합 오차를 최적 후보 블록의 연산 단위들에 대해 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차와 비교한다. 즉, 정합 오차 비교부(145)는 후보 블록의 연산 단위들에 대해 산출된 부분 정합 오차들의 누적합이 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합인 최소 정합 오차보다 작고, 후보 블록의 연산 단위들에 대해 산출된 부분 정합 오차들 중 최대값이 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차보다 작으면 해당 후보 블록을 최적 후보 블록으로 결정한다. 결정된 최적 후보 블록은 이후 순차적으로 뒤따르는 후보 블록에 대해 산출된 부분 정합 오차와의 비교 대상이 된다.
다만, 특정 후보 블록에 대하여 부분 정합 오차를 산출할 때 k번째 연산 단위까지의 누적합이 최소 정합 오차보다 커지면 해당 후보 블록은 정합 블록으로 결정될 가능성이 없어진다. 그럼에도 불구하고 해당 후보 블록에서 k번째 연산 단위 이후의 연산 단위에 대하여도 부분 정합 오차를 계속 산출하는 것은 계산량을 증가시키며, 움직임 추정의 속도를 느리게 할 수 있다.
따라서 이와 같이 정합 블록으로 결정될 가능성이 없는 후보 블록을 사전에 결정하여 움직임 추정 과정으로부터 제외시킴으로써 해당 후보 블록에 대하여는 이후의 추가적인 부분 정합 오차의 산출 과정을 종료하도록 하는 것이 바람직하다. 이를 위해 정합 오차 비교부(145)는 최소 정합 오차 비교부(140) 및 최대 정합 오차 비교부(150)를 구비한다.
최소 정합 오차 비교부(140)는 후보 블록으로부터 생성된 연산 단위들에 대해 순차적으로 산출된 부분 정합 오차들의 누적합이 최소 정합 오차보다 크면 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 부분 정합 오차를 산출하도록 한다.
제외될 후보 블록의 결정은 후보 블록의 각 연산 단위에 대해 산출된 부분 정합 오차 및 순차적으로 산출되는 부분 정합 오차의 누적합을 기준으로 하여 수행된다. 최소 정합 오차 비교부(140)는 이 중에서 부분 정합 오차의 누적합을 최소 정합 오차와 대비하여 후보 블록의 제외 여부를 결정한다.
앞에서 설명한 바와 같이 최소 정합 오차는 각 후보 블록의 모든 연산 단위에 대해 부분 정합 오차가 산출될 때마다 해당 후보 블록이 최적 후보 블록으로 결정될 경우 갱신되며, 다음의 수학식 8과 같이 표현된다.
Figure 112009067240293-pat00012
여기서, SADmin은 최소 정합 오차, n은 후보 블록 내에 포함된 연산 단위의 개수, pSADk는 n개의 연산 단위 중에서 k번째 연산 단위에 대해 산출된 부분 정합 오차, 그리고 mv'은 최적 후보 블록의 위치이다.
최소 정합 오차 비교부(140)는 후보 블록의 연산 단위에 대해 순차적으로 부분 정합 오차가 산출될 때마다 부분 정합 오차들의 누적합을 최소 정합 오차와 비 교한다. 비교 결과 부분 정합 오차들의 누적합이 최소 정합 오차보다 크면 해당 후보 블록은 최적 후보 블록 내지 정합 블록으로 결정될 가능성이 없는 것이므로 이후의 연산 단위에 대하여는 부분 정합 오차를 산출할 필요성이 없다.
따라서 최소 정합 오차 비교부(140)는 탐색 방향에 따라 순차적으로 다음에 뒤따르는 후보 블록의 각각의 연산 단위에 대해 부분 정합 오차를 산출하도록 한다. 그러나 부분 정합 오차들 누적합이 최소 정합 오차보다 작은 경우에는 정합 오차 산출부(130)가 계속하여 이후의 연산 단위에 대한 최소 정합 오차를 산출한다.
또한 후보 블록의 모든 연산 단위에 대해 부분 정합 오차가 산출되고 모든 연산 단위의 부분 정합 오차들의 총합이 최소 정합 오차보다 작으면 앞에서 설명한 것과 같이 해당 후보 블록은 최적 후보 블록으로 결정되고, 부분 정합 오차들의 총합은 새로운 최소 정합 오차로 결정된다.
최대 정합 오차 비교부(150)는 후보 블록의 연산 단위들에 대해 순차적으로 산출된 부분 정합 오차가 최대 정합 오차보다 크면 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 부분 정합 오차를 산출하도록 한다.
앞에서 최소 정합 오차 비교부(140)는 후보 블록에 대해 순차적으로 산출된 부분 정합 오차들의 누적합을 사용하여 후보 블록의 제외 여부를 결정하였다. 반면 최대 정합 오차 비교부(150)는 후보 블록의 연산 단위에 대해 순차적으로 산출되는 각각의 부분 정합 오차를 사용하여 후보 블록의 제외 여부를 결정한다.
각 연산 단위에 대해 산출된 부분 정합 오차와의 비교 대상인 최대 정합 오차는 최적 후보 블록에 대해 산출된 부분 정합 오차들 중에서 최대값으로, 다음의 수학식 9와 같이 표현된다.
Figure 112009067240293-pat00013
여기서,
Figure 112009067240293-pat00014
은 블록 내의 모든 연산 단위들의 집합이고, mv'는 최적 후보 블록의 위치이다.
이러한 최대 정합 오차는 추가적인 계산과정을 필요로 하지 않으며, 최적 후보 블록이 결정됨과 동시에 최소 정합 오차와 함께 산출된다. 또한 후보 블록에서 각각의 연산 단위에 대해 산출되는 부분 정합 오차는 이전에 산출된 부분 정합 오차들의 누적합에 더해져 최소 정합 오차 비교부(140)에 의한 최소 정합 오차와의 비교에 사용됨과 동시에 개별적으로 최대 정합 오차와 비교된다. 따라서 움직임 추정의 시간이 길어지거나 계산량이 증가하지 않는다.
최대 정합 오차 비교부(150)는 후보 블록의 각 연산 단위에 대해 순차적으로 산출되는 부분 정합 오차가 최대 정합 오차보다 크면 해당 후보 블록이 최적 후보 블록 내지 정합 블록으로 결정될 가능성이 없다고 판단하여 이후 연산 단위에 대한 부분 정합 오차의 산출 과정을 종료시킨다. 그리고 정합 오차 산출부(130)가 해당 후보 블록에 순차적으로 뒤따르는 후보 블록의 연산 단위들에 대해 부분 정합 오차를 산출하도록 한다.
앞에서 설명한 바와 같이 후보 블록의 모든 연산 단위에 대해 부분 정합 오차가 산출되고 모든 부분 정합 오차들의 총합이 최소 정합 오차보다 작으면 해당 후보 블록은 최적 후보 블록으로 결정되었다. 정합 오차 비교부(145)는 해당 후보 블록이 최적 후보 블록으로 결정되고, 후보 블록의 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값을 새로운 최대 정합 오차로 결정한다. 즉, 하나의 후보 블록 전체에 대해 부분 정합 오차가 산출된 후에는 최소 정합 오차 및 최대 정합 오차가 갱신되어 이후의 후보 블록의 제외 여부에 대한 결정 기준으로 사용되는 것이다.
이와 같이 본 발명에서는 후보 블록을 움직임 추정 과정으로부터 제외시킬지 여부를 결정할 때 최대 정합 오차가 사용되므로 최대 정합 오차의 신뢰도가 중요하다. 최대 정합 오차는 하나의 연산 단위로부터 산출된 값이기 때문에 신뢰할 만한 값을 가지기 위해서는 연산 단위가 블록 전체의 정보를 반영할 필요가 있다. 따라서 원본 블록 및 후보 블록을 단순히 분할하는 방식에 의해 연산 단위를 결정하는 것보다 하나의 연산 단위에 블록 전체의 정보가 포함되도록 하는 것이 바람직하다.
따라서 본 발명에서는 원본 블록 및 후보 블록을 분할하여 연산 단위를 생성할 때 먼저 원본 블록 및 후보 블록을 동일한 크기를 가지는 복수의 단위 블록으로 분할하고, 각각의 단위 블록에서 동일한 위치에 해당하는 화소들이 하나의 연산 단위인 서브 블록을 구성하도록 한다.
도 3은 연산 단위로 사용되는 서브 블록의 일 예를 도시한 도면이다. 도 3을 참조하면, 4×4의 크기를 가지는 원본 블록 또는 후보 블록은 먼저 2×2의 크기를 가지는 네 개의 단위 블록으로 분할되고, 각각의 단위 블록에서 동일한 위치에 해당하는 네 개의 화소가 하나의 서브 블록을 구성한다. 예를 들면, 각 단위 블록으 로부터 (0,0) 위치에 해당하는 화소(○)들이 선택되어 하나의 서브 블록을 구성하게 된다. 이와 같이 화소의 재정렬을 통해 연산 단위를 생성하면 하나의 연산 단위를 기반으로 하는 최대 정합 오차 및 그에 따른 움직임 추정의 신뢰도가 높아지게 된다. 이는 원본 블록 및 후보 블록의 크기가 16×16이고 서브 블록의 크기가 4×4인 경우에도 동일하게 적용될 수 있다.
이와 같이 연산 단위의 크기가 2×2 크기의 서브 블록인 경우, 후보 블록에서 이러한 서브 블록을 기반으로 한 부분 정합 오차의 누적 합은 다음의 수학식 10과 같이 표현할 수 있다.
Figure 112009067240293-pat00015
여기서,
Figure 112009067240293-pat00016
는 후보 블록의 K번째 연산 단위, 즉 서브 블록까지의 부분 정합 오차의 누적 합,
Figure 112009067240293-pat00017
이고, i 및 j는 0≤i 및 j≤M에 대한 재정렬된 서브 블록의 시작점을 나타낸다.
각 화소의 위치는 사전에 결정될 수 있기 때문에 재정렬을 기반으로 한 정합을 위한 추가적인 연산은 요구되지 않는다. 후보 블록에서 k=i+4j일 때 각각의 서브 블록에 대한 부분 정합 오차는 다음 수학식 11과 같이 표현된다.
Figure 112009067240293-pat00018
여기서,
Figure 112009067240293-pat00019
는 후보 블록의 k번째 서브 블록에 대한 부분 정합 오차이다.
마지막으로 정합 블록 결정부(160)는 모든 후보 블록들에 대하여 순차적으로 부분 정합 오차가 산출되면 최적 후보 블록을 원본 블록으로부터의 움직임 벡터를 추정하기 위한 정합 블록으로 결정한다.
탐색 방향을 따라 최초 후보 블록으로부터 순차적으로 마지막 후보 블록까지 부분 정합 오차 산출, 최소 정합 오차 및 최대 정합 오차와의 비교, 그리고 최소 정합 오차 및 최대 정합 오차의 갱신 과정이 모두 종료되면 최소 정합 오차를 가지는 후보 블록인 최적 후보 블록이 정합 블록으로 확정되며, 원본 블록으로부터 정합 블록으로의 움직임 벡터가 제1영상프레임과 제2영상프레임 사이의 움직임을 나타내는 최적 움직임 벡터로 결정된다. 최소 정합 오차 및 최대 정합 오차는 앞에서 설명한 바와 같이 순차적으로 후보 블록에 대한 부분 정합 오차를 산출할 때 최적 후보 블록의 결정에 따라 갱신되므로 모든 후보 블록에 대한 부분 정합 오차의 산출이 완료되는 것과 동시에 정합 블록이 결정된다.
이와 같이 원본 블록에 대응하는 정합 블록을 탐색 영역 내의 후보 블록들 중에서 결정하기 위해 각각의 후보 블록과 원본 블록 사이의 정합 오차를 산출할 때, 최소 정합 오차 및 최대 정합 오차의 두 가지 기준을 사용하여 후보 블록의 제외 여부를 결정함으로써 기존의 PDE에 비하여 계산량을 현저하게 감소시킬 수 있다. 또한 이웃한 후보 블록들에 대한 정합 오차를 고려하여 적응적으로 탐색 영역의 크기를 조절함으로써 움직임 추정의 속도를 더욱 증가시킬 수 있다.
도 4는 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.
도 4를 참조하면, 탐색 영역 설정부(110)는 먼저 초기 움직임 벡터 결정부(112)에 의해 제1영상프레임 상의 원본 블록으로부터 원본 블록에 인접한 이웃 블록들을 향하는 벡터들의 미디언 벡터를 초기 움직임 벡터로 결정한다. 다음으로 절대차 합 산출부(114)에 의해 제2영상프레임 상에서 초기 움직임 벡터를 기초로 결정된 초기 후보 블록 및 이웃 후보 블록들에 대해 원본 블록과의 절대차 합을 산출한다. 마지막으로 영역 크기 결정부(116)가 절대차 합들 중에서 최대값을 기초로 제2영상프레임 상에서 탐색 영역의 크기를 결정한다(S410).
다음으로 블록 분할부(120)는 원본 블록 및 제2영상프레임의 탐색 영역 내에서 사전에 설정된 탐색 방향에 따라 순차적으로 결정되는 원본 블록에 대응하는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할한다(S415). 다음으로 정합 오차 산출부(130)는 각각의 후보 블록으로부터 생성된 연산 단위들 각각에 대하여 원본 블록에서 동일한 위치의 연산 단위를 구성하는 화소와의 화소값의 절대차 합인 부분 정합 오차를 산출한다(S420). 이때 순차적으로 결정되는 후보 블록들 중 가장 앞서는 최초 후보 블록이 임시로 최적 후보 블록으로 결정된다.
최초 후보 블록을 제외한 각각의 후보 블록의 연산 단위들에 대해 부분 정합 오차가 산출될 때마다 최소 정합 오차 비교부(140)는 각각의 연산 단위에 대하여 순차적으로 산출된 부분 정합 오차들의 누적합을 최적 후보 블록에 대해 산출된 부 분 정합 오차의 총합 중 최소값인 최소 정합 오차와 비교한다(S425). 비교 결과 누적합이 최소 정합 오차보다 크면, 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 부분 정합 오차를 산출하도록 한다(S420).
누적합이 최소 정합 오차보다 크지 않으면 최대 정합 오차 비교부(150)는 각각의 연산 단위에 대해 산출된 부분 정합 오차를 최적 후보 블록으로부터 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차와 비교한다(S430). 비교 결과 부분 정합 오차가 최대 정합 오차보다 크면, 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 부분 정합 오차를 산출하도록 한다(S420).
부분 정합 오차가 최대 정합 오차보다 크지 않고 현재 연산 단위가 현재 후보 블록의 마지막 연산 단위가 아닌 경우에는(S435), 정합 오차 산출부(130)는 다음 연산 단위에 대해 부분 정합 오차를 산출하고(S440) 위 S425 및 S430 과정이 반복 수행된다.
후보 블록의 마지막 연산 단위까지 부분 정합 오차의 산출이 완료되면, 정합 오차 비교부(145)는 해당 후보 블록을 새로운 최적 후보 블록으로 결정하고, 최소 정합 오차 및 최대 정합 오차를 갱신한다(S445).
탐색 영역 내의 마지막 후보 블록까지 순차적으로 위와 같은 과정이 모두 수행되면(S450), 정합 블록 결정부(160)는 최적 후보 블록을 원본 블록으로부터의 움직임 벡터를 추정하기 위한 정합 블록으로 결정한다(S455).
본 발명의 성능을 평가하기 위한 실험을 수행하였다. 실험에는 다양한 비디오 시퀀스들이 사용되었으며, QCIF의 규격으로 30Hz의 300개 영상 프레임을 포함한 다. 각각의 비디오 시퀀스에 대한 정보를 다음의 표 1에 요약하여 정리하였다.
번호 시퀀스 움직임 번호 시퀀스 움직임
#1 Akiyo 정적 #5 News 중간
#2 Container 정적 #6 Silent voice 중간
#3 Foreman #7 Coast guard 중간
#4 Mobile #8 Mother&dauter 중간
표 1을 참조하면, 'Foreman'과 'Mobile'에는 큰 움직임이 포함되어 있으며, 'Akiyo'와 'Container'는 거의 정적인 시퀀스이다. 나머지 네 개의 비디오 시퀀스들은 중간 정도의 움직임을 포함한다.
실험에서 사용된 탐색 방향은 나선형 경로를 사용하고, 원본 블록 및 후보 블록의 크기는 16×16화소 크기이며, 탐색 영역의 크기는 ±7 범위이다. 또한 실험에서는 휘도 성분만이 사용되었다. 초기 설정으로서, SAD 값은 블록 크기에 의해 정규화되었고, 기준값 TSAD는 8(매 화소마다 8)로 설정되었다.
먼저 본 발명과 기존의 고속 정합 알고리즘들과의 성능 비교를 위한 실험이 수행되었다. 실험에 사용된 기존의 알고리즘들은 PDE, 정렬된 서브 블록에 의한 적응적인 정합 스캔을 기반으로 하는 고속 PDE(이하, 'SBPDE'라 한다), 그라디언트에 의한 정렬을 사용하는 고속 전역 탐색(이하, 'FFSSG'라 한다), 부분 SAD의 누적합과 최소 SAD를 비교하여 제거될 후보 블록을 결정하는 PDE(이하, 'PPDE'라 한다) 및 고정된 크기(D)의 탐색 윈도우를 사용하는 조절 가능한 부분 왜곡 탐색(이하, 'APDS'라 한다) 알고리즘이다. 이 중에서 APDS는 D=3인 경우를 대상으로 하여 실험을 수행하였다.
기존 알고리즘들 중에서 SBPDE와 FFSSG는 각각의 원본 블록에 대해 서브 블록과 이웃하는 화소의 그라디언트 및 정렬에 관한 계산과정을 필요로 한다. 그러나 계산비용의 간단한 비교를 위해 곱셈 및 덧셈과 같은 연산만을 고려하였다. 다음의 표 2는 각각의 알고리즘 및 본 발명에 대해 매 화소마다 행해지는 평균 계산 횟수를 나타낸 것이다. 표 2에서 각 비디오 시퀀스마다 얻어진 측정값들 중에서 최대값은 굵게 강조되어 표시되었다.

시퀀스
화소 당 계산비용 및 효율(η)
PDE SBPDE FFSSG PPDE APDS(D=3) 본 발명
#1 17.19 16.46 (4.23) 15.77 (8.24) 13.44 (21.79) 4.15 (75.87) 1.82 (89.43)
#2 31.82 26.18 (17.70) 23.38 (26.52) 15.54 (51.15) 4.86 (84.74) 1.94 (93.90)
#3 53.88 45.75 (15.10) 41.93 (22.19) 41.35 (23.26) 7.38 (86.30) 7.73 (85.65)
#4 46.68 39.87 (14.58) 35.01 (25.00) 30.46 (34.75) 5.73 (87.72) 11.74 (74.85)
#5 25.88 21.06 (18.61) 19.50 (24.67) 19.39 (25.08) 5.02 (80.61) 3.92 (84.84)
#6 27.75 27.23 (1.87) 26.35 (5.03) 21.34 (23.09) 5.20 (81.26) 4.73 (82.95)
#7 42.98 37.80 (12.04) 34.68 (19.30) 22.47 (47.72) 5.42 (87.40) 7.63 (82.24)
#8 41.35 34.18 (17.32) 30.49 (26.25) 20.77 (49.76) 7.17 (82.65) 2.93 (92.92)
평균 35.94 31.07 (12.68) 28.39 (19.65) 23.10 (34.58) 5.62 (83.32) 5.31 (85.85)
표 2에 나타난 기존 알고리즘들은 라인 또는 서브 블록 기반의 SAD 계산 성능을 나타내는 반면, 본 발명은 조절된 탐색 영역을 사용한 최대 오차 제약조건을 기반으로 한 결과를 나타낸다. 괄호 안의 숫자는 기존의 PDE 알고리즘에 대한 계산 효율을 나타낸 것으로, 다음의 수학식 13으로 정의된다.
Figure 112009067240293-pat00020
여기서, PDE는 기존 PDE의 계산비용이고, CPDE는 비교 대상이 되는 알고리즘의 계산비용이다.
표 2를 참조하면, 본 발명은 기존의 PDE, SBPDE, FFSSG, PPDE 및 APDS에 비해 각각 계산비용을 약 86%, 73%, 66%, 51% 및 3% 감소시킴을 알 수 있다. 몇몇 비디오 시퀀스에 대하여 APDS는 본 발명에 비해 좋은 성능을 보이는데, 이는 APDS가 주어진 탐색 영역을 고정된 크기(실험에서는 D=3)의 탐색 영역으로 교체하며, 현저한 영상 품질의 저하를 대가로 하여 작은 탐색 윈도우 내에서 알고리즘을 수행하기 때문이다. 반면에 본 발명은 정확한 객체의 움직임을 충분히 포함할 수 있는 원본 탐색 영역을 적응적으로 조절한다.
복잡한 컨텐츠를 포함하는 비디오 시퀀스는 SBPDE의 성능에 영향을 주는 반면, 본 발명은 장면의 컨텐츠에 관계없이 효과적이다. 본 발명은 재정렬 방법을 사용하여 블록의 컨텐츠를 나타내며, 이러한 접근법은 복잡한 시퀀스에 대해 더 효과적이기 때문이다. 따라서 블록 재정렬 기반의 접근법은 기존 접근법의 성능을 개선할 수 있다.
도 5는 위 표 1의 비디오 시퀀스들 중에서 #1, 즉 'Akiyo' 비디오 시퀀스에 대해 매 프레임마다 화소 당 연산 횟수를 도시한 그래프이다. 도 5를 참조하면, 본 발명은 다른 기존의 알고리즘들에 비해 연산 횟수가 적고 안정적임을 알 수 있다.
다음으로 표 3은 본 발명의 성능을 PSNR으로 나타낸 것이다.

시퀀스
PSNR[dB] (차)
PDE PPDE APDS 본 발명
#1 44.296 44.296 (-0.0000) 44.271 (-0.0252) 44.290 (-0.0056)
#2 43.027 43.027 (-0.0002) 42.875 (-0.1526) 43.021 (-0.0066)
#3 32.064 32.063 (-0.0010) 31.274 (-0.7896) 32.026 (-0.0380)
#4 26.009 26.009 (-0.0000) 25.983 (-0.0262) 26.002 (-0.0072)
#5 36.235 36.235 (-0.0000) 35.975 (-0.2599) 36.162 (-0.0727)
#6 35.003 35.002 (-0.0001) 34.522 (-0.4805) 34.950 (-0.0527)
#7 32.483 32.482 (-0.0008) 32.416 (-0.0670) 32.482 (-0.0003)
#8 41.156 41.156 (-0.0000) 41.048 (-0.1078) 41.150 (-0.0059)
평균 36.284 36.284 (-0.0003) 36.045 (-0.2386) 36.260 (-0.0236)
표 3을 참조하면, PPDE, APDS 및 본 발명의 성능을 기존의 PDE 알고리즘과 비교하여 나타내었으며, 본 발명은 -0.02dB의 무시할 만한 품질 저하를 보이며 PDE 알고리즘과 거의 동일한 품질을 보임을 확인할 수 있다. APDS는 영상의 컨텐츠를 고려하지 않고 주어진 탐색 영역을 현저히 줄이기 때문에 다른 알고리즘에 비해 영상의 품질이 현저하게 저하된다.
본 발명과 APDS를 보다 명확하게 비교하기 위해 탐색 영역의 크기가 고정되지 않은 APDS 및 본 발명과 같이 조절된 탐색 영역을 가지는 APDS의 성능이 평가되었다. 전자의 경우는 기존의 PDE과 비교하여 -0.0855dB의 영상 품질 저하 및 42%의 계산 효율을 보이며, 후자는 77%의 계산 효율을 보이지만 영상 품질을 -0.0944dB만큼 저하시켰다. 그러므로 본 발명과 같이 이웃 블록들의 정합 오차를 고려한 탐색 영역 조절은 기존의 알고리즘에 적용하여도 계산비용을 상당히 감소시킬 수 있다. 나아가 본 발명에서 탐색 영역 조절 과정이 제외되어도 PDE와 비교하여 62%의 계산 효율을 보이며, 이는 최대 부분 오차에 의한 제약조건 그 자체로서 고속 움직임 추정에 대한 효율적인 척도가 될 수 있음을 말한다.
기존의 고속 정합 알고리즘인 3단계 탐색법(three-step search, 이하 '3SS'라 한다), 4단계 탐색법(four-step search, 이하 '4SS'라 한다) 및 새로운 3단계 탐색법(new three-step search, 이하 'N3SS'라 한다)과 본 발명의 성능을 비교하는 실험이 수행되었다. 이러한 알고리즘들은 주어진 탐색 경로의 길이를 줄이는 방법을 기반으로 한다. 표 4에는 계산비용 및 시각적 품질의 면에서 본 발명과 기존 알고리즘들의 성능을 비교한 결과를 나타내었다.
시퀀스 PDE 3SS 4SS N3SS 본 발명
#1
C(η) 17.19 2.88 (83.25) 1.95 (88.65) 1.94 (88.70) 1.82 (89.43)
PSNR(Δ) 44.296 43.886 (-0.4096) 43.886 (-0.4096) 43.886 (-0.4096) 44.290 (-0.0056)
#2
C(η) 31.82 3.44 (89.18) 2.21 (93.04) 2.22 (93.03) 1.94 (93.90)
PSNR(Δ) 43.027 42.884 (-0.1428) 42.875 (-0.1526) 42.868 (-0.1589) 43.021 (-0.0066)
#3
C(η) 53.88 6.90 (87.19) 3.95 (92.67) 3.98 (92.62) 7.73 (85.65)
PSNR(Δ) 32.064 28.138 (-3.9258) 28.254 (-3.8098) 28.249 (-3.8146) 32.026 (-0.0380)
#4
C(η) 46.68 5.68 (87.84) 3.35 (92.83) 3.35 (92.83) 11.74 (74.85)
PSNR(Δ) 26.009 25.709 (-0.2999) 25.709 (-0.2999) 25.709 (-0.2999) 26.002 (-0.0072)
#5
C(η) 25.88 3.48 (86.56) 2.24 (91.34) 2.24 (91.35) 3.92 (84.84)
PSNR(Δ) 36.235 34.885 (-1.3502) 34.886 (-1.3485) 34.887 (-1.3481) 36.162 (-0.0727)
#6
C(η) 27.75 3.71 (86.61) 2.35 (91.52) 2.37 (91.46) 4.73 (82.95)
PSNR(Δ) 35.003 32.534 (-2.4684) 32.618 (-2.3842) 32.622 (-2.3805) 34.950 (-0.0527)
#7
C(η) 42.98 6.15 (85.68) 3.59 (91.65) 3.58 (91.67) 7.63 (82.24)
PSNR(Δ) 32.483 27.483 (-4.9996) 27.497 (-4.9851) 27.495 (-4.9877) 32.482 (-0.0003)
#8
C(η) 41.35 3.85 (90.69) 2.42 (94.14) 2.43 (94.13) 2.93 (92.92)
PSNR(Δ) 41.156 39.779 (-1.3771) 39.804 (-1.3524) 39.800 (-1.3557) 41.150 (-0.0059)
평균
C(η) 35.94 4.51 (87.13) 2.76 (91.98) 2.76 (91.97) 5.31 (85.85)
PSNR(Δ) 36.284 34.412 (-1.8717) 34.441 (-1.8428) 34.440 (-1.8444) 36.260 (-0.0236)
위 표 4에서 C는 화소 당 계산비용, η는 계산 효율, 그리고 Δ는 PDE 알고리즘과의 PSNR 값의 차를 나타낸다. 표 4를 참조하면, 기존 알고리즘들 중에서 4SS는 평균 6.5% 근처의 적은 계산비용을 요구하는 반면 약 -1.843dB의 현저한 품질 저하를 가져온다. 그에 비해 본 발명은 비교적 적은 계산비용을 요구하면서도 기존 알고리즘들에 비해 가장 적은 품질 저하를 보임을 확인할 수 있다.
한편, 이웃하는 블록들의 정보를 기초로 탐색 영역을 조절함으로써 본 발명의 성능을 더욱 개선할 수 있다. 예를 들면, 이웃 블록들의 정보를 포함하는 가중 함수를 사용하여 수학식 7의 기준값을 변형할 수 있다. 또한 본 발명은 기존의 고속 탐색 알고리즘과 결합되어 고속 비디오 코딩 시스템에 적용할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치에 대한 바람직한 실시예의 구성을 도시한 블록도,
도 2는 최대 절대차 합에 따른 조절된 탐색 영역의 크기를 도시한 그래프,
도 3은 연산 단위로 사용되는 서브 블록의 일 예를 도시한 도면,
도 4는 본 발명에 따른 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도, 그리고,
도 5는 표 1의 비디오 시퀀스들 중에서 #1, 즉 'Akiyo' 비디오 시퀀스에 대해 매 프레임마다 화소 당 연산 횟수를 도시한 그래프이다.

Claims (17)

  1. 연속하는 복수의 영상 프레임 중에서 제1영상프레임 상에 설정된 원본 블록 및 상기 제1영상프레임에 대한 움직임을 추정하고자 하는 제2영상프레임 상에 설정된 탐색 영역 내에서 사전에 설정된 탐색 방향에 따라 순차적으로 결정되는 상기 원본 블록에 대응하는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할하는 블록 분할부;
    상기 후보 블록의 연산 단위들 각각에 대하여 상기 원본 블록에서 동일한 위치의 연산 단위를 구성하는 각각의 화소와의 화소값의 절대차 합인 부분 정합 오차를 산출하는 정합 오차 산출부;
    상기 후보 블록들 중에서 순차적으로 선택된 후보 블록의 모든 연산 단위들에 대해 산출된 부분 정합 오차들의 총합이 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합인 최소 정합 오차보다 작고, 상기 선택된 후보 블록의 연산 단위들에 대해 산출된 부분 정합 오차들 중 최대값이 상기 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차보다 작으면 상기 최적 후보 블록을 상기 선택된 후보 블록으로 교체하는 정합 오차 비교부; 및
    상기 모든 후보 블록들에 대하여 순차적으로 상기 부분 정합 오차가 산출되면 상기 최적 후보 블록을 상기 원본 블록으로부터의 움직임 벡터를 추정하기 위한 정합 블록으로 결정하는 정합 블록 결정부;를 포함하며,
    상기 최적 후보 블록으로 초기 설정되는 후보 블록은 상기 후보 블록들 중에서 최초로 선택된 후보 블록인 것을 특징으로 하는 움직임 추정 장치.
  2. 제 1항에 있어서,
    상기 정합 오차 비교부는 상기 선택된 후보 블록의 연산 단위들에 대해 순차적으로 산출된 부분 정합 오차가 상기 최대 정합 오차보다 크면 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 상기 부분 정합 오차를 산출하도록 하는 것을 특징으로 하는 움직임 추정 장치.
  3. 제 1항 또는 제 2항에 있어서,
    상기 정합 오차 비교부는 상기 선택된 후보 블록의 연산 단위들에 대해 순차적으로 산출된 부분 정합 오차들의 누적합이 상기 최소 정합 오차보다 크면 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 상기 부분 정합 오차를 산출하도록 하는 것을 특징으로 하는 움직임 추정 장치.
  4. 제 1항 또는 제 2항에 있어서,
    상기 원본 블록으로부터 상기 원본 블록에 인접한 이웃 블록들을 향하는 벡터들의 미디언 벡터를 초기 움직임 벡터로 결정하는 초기 움직임 벡터 결정부;
    상기 제2영상프레임 상에서 상기 원본 블록에 해당하는 위치로부터 상기 초기 움직임 벡터만큼 이동한 위치의 초기 후보 블록 및 상기 초기 후보 블록에 인접 한 이웃 후보 블록들에 대하여 상기 원본 블록을 구성하는 각각의 화소와의 화소값의 절대차 합을 산출하는 절대차 합 산출부; 및
    상기 초기 후보 블록 및 상기 이웃 후보 블록들에 대해 각각 산출된 절대차 합 중에서 최대값을 기초로 상기 제2영상프레임 상에서 상기 탐색 영역의 크기를 결정하는 영역 크기 결정부;를 더 포함하는 것을 특징으로 하는 움직임 추정 장치.
  5. 제 4항에 있어서,
    상기 영역 크기 결정부는 하기 수학식에 의해 상기 탐색 영역의 크기를 결정하는 것을 특징으로 하는 움직임 추정 장치:
    Figure 112009067240293-pat00021
    여기서, D는 상기 영역 크기 결정부에 의해 결정되는 상기 탐색 영역의 크기, R은 초기에 설정되는 상기 탐색 영역의 크기, round(·)는 가장 가까운 정수값을 반환하는 함수, C는 상기 초기 후보 블록 및 상기 이웃 후보 블록들에 대해 각각 산출된 절대차 합들의 집합, 그리고 TSAD는 탐색 영역의 크기를 조절하기 위해 사전에 설정된 기준값이다.
  6. 제 1항 또는 제 2항에 있어서,
    상기 원본 블록 및 상기 후보 블록의 연산 단위는 상기 원본 블록 및 상기 후보 블록이 각각 분할되어 생성된 동일한 크기의 단위 블록들 각각으로부터 선택 된 동일한 위치에 해당하는 화소들로 이루어진 서브 블록인 것을 특징으로 하는 움직임 추정 장치.
  7. 제 1항 또는 제 2항에 있어서,
    상기 정합 오차 비교부는 상기 탐색 방향에 따라 순차적으로 선택된 후보 블록의 부분 정합 오차를 상기 최적 후보 블록의 부분 정합 오차와 비교하는 것을 특징으로 하는 움직임 추정 장치.
  8. 제 1항 또는 제 2항에 있어서,
    상기 탐색 방향은 상기 탐색 영역의 중심으로부터 상기 탐색 영역의 가장자리로 향하는 나선형의 경로인 것을 특징으로 하는 움직임 추정 장치.
  9. (a) 연속하는 복수의 영상 프레임 중에서 제1영상프레임 상에 설정된 원본 블록 및 상기 제1영상프레임에 대한 움직임을 추정하고자 하는 제2영상프레임 상에 설정된 탐색 영역 내에서 사전에 설정된 탐색 방향에 따라 순차적으로 결정되는 상기 원본 블록에 대응하는 후보 블록들을 각각 동일한 개수의 화소로 이루어진 복수의 연산 단위로 분할하는 단계;
    (b) 상기 후보 블록의 연산 단위들 각각에 대하여 상기 원본 블록에서 동일한 위치의 연산 단위를 구성하는 각각의 화소와의 화소값의 절대차 합인 부분 정합 오차를 산출하는 단계;
    (c) 상기 후보 블록들 중에서 순차적으로 선택된 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합이 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들의 총합인 최소 정합 오차보다 작고, 상기 선택된 후보 블록의 연산단위들에 대해 산출된 부분 정합 오차들 중 최대값이 상기 최적 후보 블록의 모든 연산 단위에 대해 산출된 부분 정합 오차들 중 최대값인 최대 정합 오차보다 작으면 상기 최적 후보 블록을 상기 선택된 후보 블록으로 교체하는 단계; 및
    (d) 상기 모든 후보 블록들에 대하여 순차적으로 상기 (c) 단계가 수행되면 상기 최적 후보 블록을 상기 원본 블록으로부터의 움직임 벡터를 추정하기 위한 정합 블록으로 결정하는 단계;를 포함하며,
    상기 최적 후보 블록으로 초기 설정되는 후보 블록은 상기 후보 블록들 중에서 최초로 선택된 후보 블록인 것을 특징으로 하는 움직임 추정 방법.
  10. 제 9항에 있어서,
    상기 (c) 단계에서, 상기 후보 블록의 연산 단위들에 대해 순차적으로 산출된 부분 정합 오차가 상기 최대 정합 오차보다 크면 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 상기 부분 정합 오차를 산출하도록 하는 것을 특징으로 하는 움직임 추정 방법.
  11. 제 9항 또는 제 10항에 있어서,
    상기 (c) 단계에서, 상기 후보 블록의 연산 단위들에 대해 순차적으로 산출된 부분 정합 오차들의 누적합이 상기 최소 정합 오차보다 크면 순차적으로 다음에 뒤따르는 후보 블록의 연산 단위들에 대해 상기 부분 정합 오차를 산출하도록 하는 것을 특징으로 하는 움직임 추정 방법.
  12. 제 9항 또는 제 10항에 있어서,
    상기 (a) 단계 이전에,
    (g) 상기 원본 블록으로부터 상기 원본 블록에 인접한 이웃 블록들을 향하는 벡터들의 미디언 벡터를 초기 움직임 벡터로 결정하는 단계;
    (h) 상기 제2영상프레임 상에서 상기 원본 블록에 해당하는 위치로부터 상기 초기 움직임 벡터만큼 이동한 위치의 초기 후보 블록 및 상기 초기 후보 블록에 인접한 이웃 후보 블록들에 대하여 상기 원본 블록을 구성하는 각각의 화소와의 화소값의 절대차 합을 산출하는 단계; 및
    (i) 상기 초기 후보 블록 및 상기 이웃 후보 블록들에 대해 각각 산출된 절대차 합 중에서 최대값을 기초로 상기 제2영상프레임 상에서 상기 탐색 영역의 크기를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.
  13. 제 12항에 있어서,
    상기 (i) 단계에서, 하기 수학식에 의해 상기 탐색 영역의 크기를 결정하는 것을 특징으로 하는 움직임 추정 방법:
    Figure 112009067240293-pat00022
    여기서, D는 상기 (i) 단계에서 결정되는 상기 탐색 영역의 크기, R은 초기에 설정되는 상기 탐색 영역의 크기, round(·)는 가장 가까운 정수값을 반환하는 함수, C는 상기 초기 후보 블록 및 상기 이웃 후보 블록들에 대해 각각 산출된 절대차 합들의 집합, 그리고 TSAD는 탐색 영역의 크기를 조절하기 위해 사전에 설정된 기준값이다.
  14. 제 9항 또는 제 10항에 있어서,
    상기 원본 블록 및 상기 후보 블록의 연산 단위는 상기 원본 블록 및 상기 후보 블록이 각각 분할되어 생성된 동일한 크기의 단위 블록들 각각으로부터 선택된 동일한 위치에 해당하는 화소들로 이루어진 서브 블록인 것을 특징으로 하는 움직임 추정 방법.
  15. 제 9항 또는 제 10항에 있어서,
    상기 (c) 단계에서, 상기 탐색 방향에 따라 순차적으로 선택된 후보 블록의 부분 정합 오차를 상기 최적 후보 블록의 부분 정합 오차와 비교하는 것을 특징으로 하는 움직임 추정 방법.
  16. 제 9항 또는 제 10항에 있어서,
    상기 탐색 방향은 상기 탐색 영역의 중심으로부터 상기 탐색 영역의 가장자리로 향하는 나선형의 경로인 것을 특징으로 하는 움직임 추정 방법.
  17. 제 9항 또는 제 10항에 기재된 움직임 추정 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020090104963A 2009-11-02 2009-11-02 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법 Expired - Fee Related KR101036552B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090104963A KR101036552B1 (ko) 2009-11-02 2009-11-02 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법
US12/903,359 US8693544B2 (en) 2009-11-02 2010-10-13 Fast motion estimation apparatus and method based on adaptive search range and partial matching error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090104963A KR101036552B1 (ko) 2009-11-02 2009-11-02 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110048243A KR20110048243A (ko) 2011-05-11
KR101036552B1 true KR101036552B1 (ko) 2011-05-24

Family

ID=43925415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090104963A Expired - Fee Related KR101036552B1 (ko) 2009-11-02 2009-11-02 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법

Country Status (2)

Country Link
US (1) US8693544B2 (ko)
KR (1) KR101036552B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135855A (ko) * 2013-05-15 2014-11-27 세종대학교산학협력단 동영상 처리 방법 및 장치
KR101914667B1 (ko) 2016-09-19 2018-11-02 세종대학교산학협력단 동영상 처리 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661403B2 (en) * 2011-06-30 2014-02-25 Truecar, Inc. System, method and computer program product for predicting item preference using revenue-weighted collaborative filter
EP2731278A4 (en) 2011-07-06 2015-04-29 Sk Planet Co Ltd MULTICAST CONTENT TRANSMISSION SYSTEM AND METHOD AND DEVICE AND METHOD FOR MEASURING HIGH-SPEED MOVEMENTS
KR101931653B1 (ko) 2011-07-06 2018-12-21 에스케이플래닛 주식회사 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법
US9332271B2 (en) * 2011-11-03 2016-05-03 Cisco Technology, Inc. Utilizing a search scheme for screen content video coding
KR101347062B1 (ko) * 2012-06-27 2014-01-10 숭실대학교산학협력단 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
KR101560186B1 (ko) * 2013-03-18 2015-10-14 삼성전자주식회사 움직임 예측에 있어 적응적 탐색 범위 결정을 이용한 부호화, 복호화 방법 및 장치
KR101486850B1 (ko) * 2013-05-21 2015-01-28 부경대학교 산학협력단 불가능 후보블록 순차제거에 의한 고속 전영역 무손실 움직임 예측방법
US10484721B2 (en) * 2014-03-17 2019-11-19 Qualcomm Incorporated Method for motion estimation of non-natural video data
US10235608B2 (en) 2015-12-22 2019-03-19 The Nielsen Company (Us), Llc Image quality assessment using adaptive non-overlapping mean estimation
US20190349589A1 (en) * 2016-12-28 2019-11-14 Lg Electronics Inc. Image processing method based on inter prediction mode, and apparatus therefor
EP3632107A1 (en) * 2017-06-30 2020-04-08 Huawei Technologies Co., Ltd. Encoder, decoder, computer program and computer program product for processing a frame of a video sequence
KR102797628B1 (ko) * 2018-06-07 2025-04-17 두인 비전 컴퍼니 리미티드 부분 코스트 계산
TWI719519B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 對於dmvr的塊尺寸限制
US20200137336A1 (en) * 2018-10-30 2020-04-30 Bae Systems Information And Electronic Systems Integration Inc. Interlace image sensor for low-light-level imaging

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070000702A (ko) * 2005-06-28 2007-01-03 연세대학교 산학협력단 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법
KR20070079411A (ko) * 2006-02-02 2007-08-07 삼성전자주식회사 블록 기반의 움직임 추정 방법 및 장치
KR20090079286A (ko) * 2008-01-17 2009-07-22 한양대학교 산학협력단 고속 전역탐색 블록정합 알고리즘을 이용한 동영상 움직임추정 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070000702A (ko) * 2005-06-28 2007-01-03 연세대학교 산학협력단 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법
KR20070079411A (ko) * 2006-02-02 2007-08-07 삼성전자주식회사 블록 기반의 움직임 추정 방법 및 장치
KR20090079286A (ko) * 2008-01-17 2009-07-22 한양대학교 산학협력단 고속 전역탐색 블록정합 알고리즘을 이용한 동영상 움직임추정 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135855A (ko) * 2013-05-15 2014-11-27 세종대학교산학협력단 동영상 처리 방법 및 장치
KR101659343B1 (ko) 2013-05-15 2016-09-27 세종대학교산학협력단 동영상 처리 방법 및 장치
KR101914667B1 (ko) 2016-09-19 2018-11-02 세종대학교산학협력단 동영상 처리 방법 및 장치

Also Published As

Publication number Publication date
US20110103482A1 (en) 2011-05-05
US8693544B2 (en) 2014-04-08
KR20110048243A (ko) 2011-05-11

Similar Documents

Publication Publication Date Title
KR101036552B1 (ko) 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법
KR100492127B1 (ko) 적응형 움직임 추정장치 및 추정 방법
US6418166B1 (en) Motion estimation and block matching pattern
KR100639995B1 (ko) 블록 정합 기반의 고속 움직임 예측 장치 및 그 방법
US7580456B2 (en) Prediction-based directional fractional pixel motion estimation for video coding
EP1198140A1 (en) Method and apparatus for hybrid-type high speed motion estimation
US20060182174A1 (en) Method for coding mode selection of intra prediction in video compression
KR20050119422A (ko) 움직임 보상에 기반한 입력 영상의 노이즈 예측 및 그장치와, 이를 사용한 노이즈 제거 및 동영상 부호화 방법,이를 수행하기 위한 프로그램이 기록된 기록 매체
KR100929608B1 (ko) 고속 전역탐색 블록정합 알고리즘을 이용한 동영상 움직임추정 방법 및 장치
Kim et al. Fast single depth intra mode decision for depth map coding in 3D-HEVC
Kuang et al. Fast mode decision algorithm for HEVC screen content intra coding
Saha et al. A neighborhood elimination approach for block matching in motion estimation
US7953153B2 (en) Motion estimation method utilizing modified rhombus pattern search for a succession of frames in digital coding system
KR100910209B1 (ko) 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치
Park CU encoding depth prediction, early CU splitting termination and fast mode decision for fast HEVC intra-coding
EP2153659A1 (en) Post processing of motion vectors using sad for low bit rate video compression
CN114510990B (zh) 图像处理方法、装置、电子装置和存储介质
CN114040209A (zh) 运动估计方法、装置、电子设备及存储介质
Ismail et al. Enhanced efficient diamond search algorithm for fast block motion estimation
KR101349111B1 (ko) 다중 참조 영상 검색 방법
KR100987581B1 (ko) 고속 움직임 추정을 위한 부분 블록정합 방법
Ismail et al. Fast diamond search algorithm for real time video coding
KR102032793B1 (ko) 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치
KR20120066309A (ko) 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치
Li et al. A novel adaptive multi-mode search algorithm for fast block-matching motion estimation

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 4

PR1001 Payment of annual fee

Fee payment year number: 4

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 5

PR1001 Payment of annual fee

Fee payment year number: 5

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 6

PR1001 Payment of annual fee

Fee payment year number: 6

St.27 status event code: A-4-4-U10-U11-oth-PR1001

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Not in force date: 20170518

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20170518

St.27 status event code: N-4-6-H10-H13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000