KR100924642B1 - 블록 정합 알고리즘을 이용하는 움직임 추정 방법 - Google Patents

블록 정합 알고리즘을 이용하는 움직임 추정 방법 Download PDF

Info

Publication number
KR100924642B1
KR100924642B1 KR1020070121185A KR20070121185A KR100924642B1 KR 100924642 B1 KR100924642 B1 KR 100924642B1 KR 1020070121185 A KR1020070121185 A KR 1020070121185A KR 20070121185 A KR20070121185 A KR 20070121185A KR 100924642 B1 KR100924642 B1 KR 100924642B1
Authority
KR
South Korea
Prior art keywords
local
block
local block
matching
complexity
Prior art date
Application number
KR1020070121185A
Other languages
English (en)
Other versions
KR20090054495A (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 KR1020070121185A priority Critical patent/KR100924642B1/ko
Publication of KR20090054495A publication Critical patent/KR20090054495A/ko
Application granted granted Critical
Publication of KR100924642B1 publication Critical patent/KR100924642B1/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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

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

Abstract

하다마드 변환과 이의 확률 모델에 기반한 고속 부분 왜곡 제거 알고리즘을 이용한 움직임 추정 절차에 관하여 개시한다. 본 발명의 일 실시예에 따른 움직임 추정 절차는 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치에 대한 탐색 블록을 다수의 국부 블록으로 분할하고, 하다마드 변환을 이용하여 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도를 계산하고, 상기 국부 블록 복잡도, 보다 구체적으로는 국부 블록 복잡도의 누적 분포 함수(CDF)를 이용하여 상기 소정의 후보 위치에 대한 예측 정합 에러를 구하며, 그리고 상기 탐색 영역 내의 모든 후보 위치 중에서 상기 예측 정합 에러가 작은 일부 후보 위치에 대해서만 정합 에러를 구하여 정합 블록을 선택한다. 본 발명의 실시예에 의하면, 하다마드 변환을 이용하여 국부 블록의 복잡도를 구할 수 있으며, 상기 국부 블록 복잡도의 누적 분포 함수를 이용하여 소정의 후보 위치에 대하여 정합 에러를 계산하지 않고서도 정합 에러를 정확하게 예측할 수가 있다.

Description

블록 정합 알고리즘을 이용하는 움직임 추정 방법{Motion estimation procedure using fast block matching algorithm}
본 발명은 영상 코덱에 관한 것으로, 보다 구체적으로 영상 코덱에서 블록 정합 알고리즘(Block Matching Algorithm, BMA)을 이용하는 움직임 추정(Motion Estimation, ME) 절차에 관한 것이다.
엠펙(MPEG)-1, 2, 4 또는 H.264/AVC 등과 같은 동영상 압축 기술은 크게 움직임 추정 및 보상(Motion Estimation and Compensation, ME/MC) 절차, 이산 여현 변환(Discrete Cosine Transform, DCT)을 이용한 변환과 양자화 절차, 엔트로피 부호화 절차로 구성되는 기본구조를 가지고 있다. 이 중에서 움직임 추정 및 보상은 동영상이 가지는 특성, 즉 영상을 구성하는 성분간의 높은 공간적, 시간적 중복성을 이용하여 데이터를 압축하는 기술로써, 부호기의 복잡도 즉, 전체 부호화 시간에 가장 큰 영향을 미치는 기술 분야이다. 왜냐하면, 동영상에서 가장 많은 중복성을 가지고 있는 시간적 데이터의 중복성은 움직임 추정과 움직임 보상에 의하여 제거될 수 있기 때문이다.
움직임 추정 방법은 크게 화소 순환 알고리즘(Pixel Recursive Algorithm, PRA)과 블록 정합 알고리즘(Block Matching Algorithm, BMA)으로 나눌 수 있다. 이 중에서 데이터 흐름의 규칙성, 계산의 복잡도, 하드웨어 구현을 고려하여 대부분의 동영상 코텍 기술에서는 블록 정합 알고리즘을 널리 사용하고 있다. 블록 정합 알고리즘은 하나의 화면을 16×16 크기의 매크로블록(MB)이나 또는 이 보다 작은 임의의 크기의 탐색 블록(Searching Block)으로 나누어서 블록단위로 참조 프레임의 정해진 탐색 영역(Search Window)안에서 정합블록을 찾아내는 절차를 가리킨다. 이러한 블록 정합 알고리즘에 따라서 선택한 정합블록의 위치를 가리키는 값이 움직임 벡터이며, 동영상 부호화에서는 상기 정합블록과 현재 블록과의 차이값과 움직임 벡터만을 부호화하여 데이터의 중복성을 제거한다.
블록 정합 알고리즘에서는 일반적으로 전탐색 알고리즘(Full Search Algorithm, FSA)을 사용한다. 전탐색 알고리즘이란 탐색 영역 내의 모든 좌표를 후보 위치(Candidate Point, CP)로 하여 정합 오차(Matching Error), 예컨대 현재 블록과 참조 프레임의 탐색 블록을 구성하는 모든 화소에 대한 차의 절대값의 합(Sum of Absolute Difference, SAD)을 계산한 후에, 정합 오차가 최소가 되는 후보 위치(CP)를 정합블록으로 선택하는 것을 말한다. 대부분의 동영상 부호화 표준에서는 이러한 전탐색 알고리즘을 사용하고 있으며, 전탐색 알고리즘은 베스트 정합블록을 찾을 수 있는 방법이다. 하지만, 전탐색 알고리즘은 계산량이 상당히 많고 또한 이를 구현하기 위한 시스템의 구성이 복잡하여, 실시간 부호화를 위한 어플리케이션에는 적용하기가 어려운 단점이 있다.
따라서 실시간 어플리케이션 등을 위하여 이러한 전탐색 알고리즘에 따른 문 제점을 해결하기 위하여 여러 가지 새로운 알고리즘들이 제안되고 있다. 상기 새로운 알고리즘 중의 한 가지는 고속 블록 정합 알고리즘으로써, 탐색 영역 내의 모든 좌표가 아닌 일정한 패턴을 가지고서 일부 좌표만을 후보 위치(CP)로 하여 정합블록인지를 판단한다. 고속 블록 정합 알고리즘으로써, 예컨대 3단계 탐색 기법(Three Step Search, TSS), 새로운 3단계 탐색 기법(Net Three Step Search, NTSS), 4단계 탐색 기법(Four Step Search, FSS), 블록 기반 그래디언트 탐색 기법(Block-Based GraDient Search, BBGDS), 및 다이아몬드 탐색 기법(Diamond Search, DS) 등이 있다.
전술한 종래의 블록 정합 알고리즘(전탐색 알고리즘 또는 고속 블록 정합 알고리즘)에서는 탐색 영역 내의 각 후보 위치(CP)에 대하여 정합 오차를 구한 다음에 상기 정합 오차가 최소가 되는 후보 위치를 정합블록으로 선택하였다. 그런데, 정합 오차, 예컨대 SAD를 실제로 구하는 것은 매크로블록이나 또는 소정 크기의 블록 내의 모든 화소에 대하여 오차를 구하는 과정을 포함하므로, 연산량이 많을 뿐만 아니라 처리 시간도 적지 않게 소요된다. 특히, 전탐색 알고리즘에서는 탐색 영역 내의 모든 후보 위치(CP)에 대하여 정합 오차를 계산해야 하기 때문에, 연산량의 증가로 실시간 어플리케이션에서는 적용하기가 쉽지 않다.
따라서 본 발명이 해결하고자 하는 과제는 연산량을 최소화하여 처리 속도를 향상시킬 수 있으며, 특히 전탐색 알고리즘을 적용하는 경우에 처리 속도를 향상시 킴으로써 실시간 어플리케이션에 적용할 수 있는 블록 정합 알고리즘을 이용하는 움직임 추정 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 탐색 영역 내의 일 부분, 특히 부분적인 왜곡(Partial Distotion)이 존재하는 부분에 대해서는 정합 오차에 대한 계산을 하지 않고서도 후보 위치(CP)에 포함되지 않도록 하여, 처리 속도를 향상시키고 실시간 어플리케이션에 적용할 수 있는 블록 정합 알고리즘을 이용하는 움직임 추정 방법을 제공하는 것이다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 움직임 추정 방법은 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치에 대한 매크로 블록을 다수의 국부 블록으로 분할하고, 하다마드 변환을 이용하여 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도를 계산하는 단계 및 상기 국부 블록 복잡도가 큰 국부 블록부터 순서대로 부분 정합 에러의 합을 계산하고, 상기 부분 정합 에러의 합을 이용하여 상기 소정의 후보 위치가 정합 블록이 될 수 있는 지를 판단하는 단계를 포함한다. 이 경우에, 상기 부분 정합 에러의 합이 소정의 임계치 이상일 경우에는 상기 소정의 후보 위치가 정합 블록이 될 수 없는 것으로 판단할 수 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 움직임 추정 방법은 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치에 대한 매크로 블록을 다수의 국부 블록으로 분할하고, 하다마드 변환을 이용하여 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도를 계산하는 단계, 상기 국부 블록 복잡도를 이용하여 상기 소정의 후보 위치에 대한 예측 정합 에러를 구하는 단계, 및 상기 탐색 영역 내의 모든 후보 위치 중에서 상기 예측 정합 에러가 작은 일부 후보 위치에 대해서만 정합 에러를 구하여 정합 블록을 선택하는 단계를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 국부 블록의 복잡도는 수학식 (1)을 이용하여 구할 수 있다. 여기서, LBC(k)는 상기 매크로블록에 포함되는 k번째 국부 블록의 국부 블록 복잡도(LBC)를 나타낸다. SumAC(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 교류 성분(Alternate Component, AC)의 절대값의 합이고, DCLocal(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 직류 성분(Direct Component, DC)의 변환 계수를 의미한다. 그리고, DCMB 는 상기 매크로블록의 DC값으로 상기 매크로블록에 포함되는 모든 국부 블록 각각에 대한 직류 성분의 변환 계수들의 평균값을 나타낸다.
Figure 112007085008181-pat00001
(1)
그리고 상기 예측 정합 에러를 구하는 단계는 상기 국부 블록 복잡도가 높은 국부 블록부터 낮은 국부 블록의 순서대로 순차적으로 정합 에러를 합산하여 부분 정합 에러를 계산하는 단계와 상기 국부 블록 복잡도의 누적 분포 함수와 상기 부분 정합 에러의 누적 분포 함수(Cumulative Distribution Function, CDF)의 유사성과 상관관계를 이용하여 상기 예측 정합 에러를 구하는 단계를 포함할 수 있다. 또한, 상기 부분 정합 에러는 식 (2)을 이용하여 구하고, 상기 예측 정합 에러는 식 (3)을 이용하여 구할 수 있다. 여기서, Partial SAD(k)는 국부 블록 복잡도가 내림차순으로 k번째인 국부 블록까지의 정합 에러의 합, fcur 및 fref는 각각 현재 프레임과 참조 프레임, i는 국부 블록(LB)의 수, x, y는 후보 움직임 벡터, j는 i번째 국부 블록에서의 후보 위치를 가리키고, Predictive SAD(k)는 국부 블록 복잡도가 내 림차순으로 k번째 국부 블록까지의 정합 에러의 합으로부터 예측된 예측 정합 에러, CDFLBC(k)는 국부 블록 복잡도의 누적 분포 함수, CDFpmSAD(k)는 이전의 최소 SAD의 누적 분포 함수, SADLB(k)는 k번째 국부 블록의 SAD, ω는 가중 인자(Weighting Factor)를 나타낸다.
Figure 112007085008181-pat00002
(2)
Figure 112007085008181-pat00003
(3)
하다마드 변환과 그것의 확률 모델을 이용하는 고속 부분 왜곡 제거 알고리즘을 이용하는 본 발명의 실시예에 의하면, 하다마드 변환을 이용하여 국부 블록들 각각의 복잡도를 구하고, 국부 블록 복잡도의 CDF와 이전 최소 정합 에러, 예컨대 SAD를 이용하여 정합 에러를 정확하게 예측할 수 있다. 이러한 본 발명의 실시예에 의하면, 율-왜곡 성능을 저하시키지 않고서도 계산 복잡도의 감소 및 처리 속도의 향상을 가져올 수 있다.
본 발명의 제1 실시예에서는 전탐색 알고리즘과 같이 탐색 영역 내의 모든 탐색 위치에 대하여 정합 에러를 계산한 다음 정합 블록을 선택하는 것이 아니라, 각 탐색 위치에 대하여 부분 정합 에러를 계산하고 계산된 부분 정합 에러가 소정의 임계치보다 큰 경우에는 나머지 국부 블록에 대한 추가적인 정합 에러는 계산하 지 않음으로써 계산량을 감소시켜서 처리 속도를 향상시킨다. 이를 위하여, 본 발명의 실시예에서는 탐색 블록을 다수의 국부 블록으로 분할하고, 각 국부 블록에서 정합 에러가 큰 국부 블록부터 순차적으로 부분 정합 에러를 계산한다. 국부 블록이 정합 에러가 큰지 여부는 각 국부 블록에 대하여 하다마드 변환(Hadamard Transform)을 적용하여 구한 국부 블록 복잡도를 이용하여 판정한다. 이하, 첨부도면을 참조하여 본 발명의 제1 실시예에 대하여 상세하게 설명한다.
도 1은 본 발명의 제1 실시예에 따른 움직임 추정 절차를 보여주는 흐름도이다. 도 1을 참조하면, 우선 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치(Candidate Position, CP)에 대한 탐색 블록을 다수의 국부 블록(Local Block, LB)으로 분할한 다음, 상기 국부 블록들에 대하여 하다마드 변환을 적용함으로써 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도(Local Block Complexities, LBC)를 계산한다(S11).
본 발명의 실시예에 의하면, 탐색 블록을 크기가 같은 다수의 국부 블록으로 분할하는 방법은 특별한 제한이 없다. 예를 들어, 도 2에 도시된 바와 같이, 탐색 블록이 매크로블록(16×16)인 경우에, 탐색 블록은 16개의 국부 블록으로 분할될 수 있으며, 각 국부 블록은 4×4의 크기를 갖거나(도 2의 (a) 참조) 또는 1×16의 크기를 가질 수 있다(도 2의 (b) 참조). 하지만, 본 발명의 실시예가 여기에만 한정되는 것은 아니다.
탐색 블록을 국부 블록으로 분할한 다음에는 각 국부 블록에 대한 국부 블록 복잡도를 계산하는데, 국부 블록 복잡도를 구하는 데는 순서 하다마드 변 환(Ordered Hadamard Transform)이 이용될 수 있다. 순서 하다마드 변환은 쉬프트(Shift), 덧셈, 및 뺄셈으로만 이루어져 있기 때문에 연산량이 적고 연산 속도가 빠른 장점이 있다. 국부 블록 복잡도를 계산하는데 이용하는 하다마드 변환의 행렬은 국부 블록의 크기에 따라서 달라질 수 있다. 수학식 1에는 도 2의 (a)의 예에서 적용될 수 있는 하다마드 변환식이 표시되어 있다. 수학식 1에서 X와 H는 각각 현재 매크로블록(탐색 블록)에서의 국부 블록 및 X의 하다마드 변환 계수(Transform Coefficients, TCs)를 나타낸다. 만일, 도 2의 (b)의 예에서는 1D 하다마드 변환식이 적용된다.
Figure 112007085008181-pat00004
각 국부 블록의 하다마드 변환 계수는 탐색 순서(Search Order)를 판정하는데 이용된다. 수학식 2는 k번째 국부 블록의 국부 블록 복잡도(LBC)를 구하는 식이다. 수학식 2에서 SumAC(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 교류 성분(Alternate Component, AC)의 절대값의 합이고, DCLocal(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 직류 성분(Direct Component, DC)의 변환 계수를 의미한다. 그리고, DCMB 는 상기 매크로블록의 DC값 즉, 상기 매크로블록에 포함되는 모든 국부 블록 각각에 대한 직류 성분의 변환 계수들의 평균값을 나타낸다. 수학식 2를 참조하면, k번째 국부 블록 복잡도(LBC(k))는 교류 성분(AC)의 절대값의 합과 k번째 국부 블록의 직류 성분의 변환 계수와 현재 매크로블록의 DC값의 차의 합으로 나타낼 수 있다.
Figure 112007085008181-pat00005
계속해서 도 1을 참조하면, 국부 블록 복잡도(LBC)가 큰 국부 블록부터 순서대로 부분 정합 에러(Partial Matching Errors)의 합을 계산하고, 상기 부분 정합 에러의 합을 이용하여 정합 블록이 될 수 있는 지를 판단한다(S12). 부분 정합 에러는 예컨대, 탐색 블록이 아닌 국부 블록에 대한 차의 절대값의 합(Sum of Absolute Difference, SAD)일 수 있는데, 본 발명의 실시예가 여기에만 한정되는 것은 아니다. 그리고 본 발명의 실시예에서는 수학식 2에서 구한 LBC(k)가 가장 큰 국부 블록부터 순차적으로 k번째까지의 부분 정합 에러의 합을 구하여 해당 탐색 블록이 정합 블록이 될 수 있는지를 판단한다.
일반적으로, 국부 블록 복잡도가 크다는 것은 그 만큼 정합 에러가 크다는 것을 의미한다. 따라서 본 발명의 실시예에 의하면, 국부 블록 복잡도가 큰 블록부터 순차적으로 정합 에러를 구한 다음 이를 합산하여 부분 정합 에러를 구할 경우에, 정합 블록에 비하여 정합 에러가 큰 탐색 블록은 k가 작은 경우에도 부분 정합 에러의 합이 소정의 임계치를 초과할 수가 있다. 여기서, 소정의 임계치란 정합 블록이 될 수 있는 가능성을 판단하기 위한 기준값으로써, 예컨대 현재 후보 위치에 대한 계산 이전에 구한 최소 정합 에러나 이전 매크로블록에서의 최소(또는 평균) 정합 에러, 또는 임의의 선정한 소정의 정합 에러값이 될 수 있다. 그리고 본 발명의 실시예에 의하면, 부분 정합 에러가 소정의 임계치 이상이 되는 경우에는, 해당 매크로블록은 전체 정합 에러를 구할 필요도 없이 정합 블록이 아니라고 판정을 할 수가 있다. 따라서 본 발명의 실시예에서는 해당 후보 위치에 대한 SAD의 계산을 신속하게 할 수 있기 때문에(보다 정확하게 이야기 하면, 정합 에러가 큰 후보 위치에 대해서는 전체 매크로블록에 대한 SAD를 구할 필요가 없다), 보다 신속한 움직임 추정이 가능하다.
본 발명의 제2 실시예는 하다마드 확률 모델(Hadamard Probability Model)을 적용하는 것으로서, 전탐색 알고리즘과 같이 탐색 영역 내의 모든 탐색 위치에 대하여 정합 에러를 계산한 다음 정합 블록을 선택하는 것이 아니라는 점에서 전술한 제1 실시예와 동일하다. 그러나 본 실시예에서는 정합 블록이 될 가능성이 높은 일부의 탐색 위치에 대해서만 정합 에러를 계산함으로써 계산량을 감소시켜서 처리 속도를 향상시킨다. 탐색 영역 내의 모든 탐색 위치 중에서 정합 블록이 될 가능성이 높은 탐색 위치를 선별하기 위하여, 본 발명의 실시예에서는 정합 블록이 될 가능성이 낮은 탐색 위치, 즉 탐색 영역에서 현재 블록과 상관성이 낮은 영역인 부분적인 왜곡을 후보 위치에서 제외시키고(Partial Distortion Elimination, PDE), 현재 블록과 상관성이 높은 나머지 탐색 위치에 대해서만 정합 에러를 계산한다. 그리고 본 발명의 실시예에서는 탐색 영역에서 각 탐색 위치가 현재 블록과 상관성이 높은지 또는 낮은지는 각 탐색 위치에 대한 예측 정합 에러를 이용하여 판단하며, 이러한 예측 정합 에러는 각 탐색 위치에 대응하는 탐색 블록을 다수의 국부 블록으로 분할한 다음 각 국부 블록에 대하여 하다마드 변환(Hadamard Transform)을 적용하여 구한 국부 블록 복잡도와 부분 정합 에러를 이용하여 구한다. 이하, 첨부도 면을 참조하여 본 발명의 제2 실시예에 대하여 상세하게 설명한다.
도 3은 본 발명의 제2 실시예에 따른 움직임 추정 절차를 보여주는 흐름도이다. 도 3을 참조하면, 전술한 제1 실시예와 마찬가지로, 우선 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치(CP)에 대한 탐색 블록을 다수의 국부 블록(LB)으로 분할한 다음, 상기 국부 블록들에 대하여 하다마드 변환을 적용함으로써 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도(LBC)를 계산한다(S21). 본 단계는 전술한 제1 실시예의 단계 S11과 실질적으로 동일하므로, 이에 대한 상세한 설명은 설명한다.
그리고 단계 S21에서 구한 국부 블록 복잡도를 이용하여, 해당 후보 위치에 대한 예측 정합 에러를 계산한다(S22). 보다 구체적으로, 전체 국부 블록 복잡도(LBC)에서 복잡도의 내림차순, 즉 복잡도가 가장 큰 국부 블록부터 복잡도가 작은 국부 블록의 순서대로 국부 블록 복잡도의 누적 분포 함수(Cumulative Distribution Function, CDFLBC)와 최소 정합 에러, 예컨대 실제 최소 SAD의 누적 분배 함수(CDFmSAD) 사이의 유사성과 상관관계를 이용하여, 예측 정합 에러를 계산한다. 하다마드 변환을 이용하여 예측 정합 에러를 구하는 이러한 방법을 '하다마드 예측 모델(HPM)'이라고 할 수 있는데, HPM의 목적은 총 SAD를 빠르고 정확하게 예측하여 실제로 총 SAD를 계산하지 않고서도 정합 블록이 될 수 없는 후보 위치(Impossible CP)를 제거하는 것이다.
예측 정합 에러를 구하기 위하여, 우선 수학식 3에서는 국부 블록 복잡도의 내림차순으로 k번째 국부 블록까지의 SAD의 합, 즉 부분 SAD(k)을 정의한다. 수학식 3에서 fcur 및 fref는 각각 현재 프레임과 참조 프레임, i는 국부 블록(LB)의 수를 가리키며, x, y는 후보 움직임 벡터(Candidate Motion Vector(MV)), j는 i번째 국부 블록에서의 후보 위치(CP)를 가리킨다.
Figure 112007085008181-pat00006
이상적인 경우, 예컨대 CDFmSAD를 알고 있는 경우라고 가정하면, 해당 후보 위치에서의 k번째 국부 블록에 대한 예측 SAD(Predictive SAD(k))는 수학식 4와 같다.
Figure 112007085008181-pat00007
그런데, 현실적으로 CDFmSAD를 알 수가 없기 때문에, 다른 값을 이용하여 이를 추정한다. 예를 들어, 본 발명의 실시예에서는 CDFLBC와 이전의 최소 SAD의 누적 분포 함수(CDF of previous minimum SAD)를 이용하여 CDFmSAD를 추정한다. 수학식 5에는 이와 같은 방법으로 추정된 CDFmSAD를 구하는 일례가 정의되어 있다. 수학식 5에서 SADLB(k)는 k번째 국부 블록의 SAD를 나타내고, ω는 가중 인자(Weighting Factor)이다. 그리고 SADLB(k)는 안전한 마진(Safe Margin)을 위한 LB의 SAD이다.
Figure 112007085008181-pat00008
만일 현재의 후보 위치가 정합 블록이 되는 베스트 위치라면, 예측 SAD는 최소 SAD보다 큰 값이 되어서는 안된다. 그러나 실제 상황에서는 부정확한 예측 및/또는 CDFLBC와 CDFmSAD 사이의 비유사성으로 인하여, 예측 SAD는 최소 SAD보다 큰 값이 될 수도 있다. 이것은 비트율(bit-rate)을 증가시키는 원인이 된다. 반면, 현재의 후보 위치가 베스트 위치가 아닌 경우라면, 예측 SAD는 최소 SAD보다 작아서는 안된다. 그러나 실제의 경우에는 예측 SAD는 최소 SAD보다 작을 수도 있으며, 이것은 성능을 저하시키는 원인이 된다. 따라서 가중 인자는 정확한 예측을 위하여 반드시 필요하다.
계속해서 도 3을 참조하면, 상기 탐색 영역 내의 모든 후보 위치 중에서 상기 예측 상기 정합 에러가 작은 일부 후보 위치에 대해서만 정합 에러를 구하여 정합 블록을 선택한다(S33). 예를 들어, 본 발명의 실시예의 일 측면에 의하면, 예측 정합 에러가 가장 작은 후보 위치를 정합 블록이 되는 것으로 판단하거나 또는 예측 정합 에러가 작은 몇 개의 후보 위치에 대하여, 실제 SAD를 계산해본 후에 실제 SAD가 가장 작은 후보 위치를 정합 블록이 되는 것으로 판단할 수도 있다.
실험 결과(Experimental Results)
본 발명의 실시예에 따른 움직임 추정 절차의 성능을 평가하기 위하여, MPEG-4 최적화 모델(ISO/IEC JTC1/SC29/WG11 N3675, MPEG-4 MoMuSys-OM-2.0-010211 software Optimization Model ver. 2.0, Oct. 2000)에 대하여 여러 가지 실험을 하였다. 상기 실험에는 CIF 크기의 Akiyo(300프레임), Bus(150프레임), Football(90프레임), 및 Foreman(300프레임) 시퀀스가 이용되었다. 그리고 IPPP 구조와 32 탐색 범위(Search Range)가 사용되었으며, 가중 인자(ω)의 값은 0.95로 설정하였다. 표 1 및 표 2와 도 4에서, P1는 본 발명의 제1 실시예에 따른 경우(즉, 하다마드 변환만 사용한 경우)이며, P2는 본 발명의 제2 실시예에 따른 경우(하다마드 변환 및 하다마드 변환 모델을 함께 사용한 경우)이다.
표 1에는 모든 테스트 영상에 대한 평균 파워 신호 대 잡음비(Power Signal-to-Noise Ratio, PSNR)와 비트율(bite-rate)가 표시되어 있다. 표 1을 참조하면, 평균 PSNR과 비트율의 손실은 무시할 만하다는 것을 알 수 있다. 그리고 도 4에는 평균 율-왜곡률을 비교한 결과가 도시되어 있는데, 도 4를 참조하면, 평균 율-왜곡 성능의 관점에서 본 발명의 실시예와 전탐색 알고리즘(FSA)에 의할 경우가 거의 같다는 것을 알 수 있다.
Figure 112007085008181-pat00009
표 2에는 고속 부분 왜곡 제거 알고리즘으로 널리 알려진 방법(J. N. Kim, S. C. Byun, and B. H. Ahn, "Fast full search motion estimation algorithm using early detection of impossible candidate vectors," IEEE transaction on Signal Processing, Vol. 50, No. 9, pp.2355-2365, Sept. 2002, 표 1, 표 2, 및 도 4에서 "Kim's"로 표시함)과 대비되도록 본 발명의 실시예에서의 요구되는 복잡도가 표시되어 있다. 표 2에서 'clock'의 'Ratio'는 더하기, 빼기, 곱하기, 나누기, 비교(Comparision), 및 쉬프트를 포함하는 동작비(operation Ratio)를 나타낸다. 그리고 FSA 및 PDE의 비(Ratio)는 총 국부 블록의 수에 기초한다. 표 2는 각 비트율에 대한 본 발명의 실시예에 따른 알고리즘의 성능 효율을 보여주고 있다.
Figure 112007085008181-pat00010
이상에서 상세하게 설명한 바와 같이, 본 발명의 실시예에서는 하다마드 변환과 그것의 확률 모델을 이용하는 고속 부분 왜곡 제거 알고리즘을 제공한다. 하다마드 변환은 국부 블록들 각각의 복잡도를 분석하는데 사용될 수 있다. 그리고 국부 블록 복잡도의 CDF와 이전 최소 정합 에러, 예컨대 SAD를 이용하여 정합 에러를 정확하게 예측할 수 있다. 이러한 본 발명의 실시예에 의하면, 율-왜곡 성능을 저하시키지 않고서도 전탐색 알고리즘을 사용하는 기존의 방법과 비교하여 평균 92.4%까지 계산의 복잡도를 감소시킬 수 있다.
도 1은 본 발명의 제1 실시예에 따른 움직임 추정 절차를 보여 주는 흐름도이다.
도 2는 탐색 블록인 매크로블록을 국부 블록으로 분할하는 방법을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 제2 실시예에 따른 움직임 추정 절차를 보여 주는 흐름도이다.
도 4는 본 발명의 실시예에 따른 방법과 기존의 방법에 의할 경우에 테스트 영상에 대한 평균 율-왜곡을 보여 주는 그래프이다.

Claims (7)

  1. 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치에 대한 매크로 블록을 다수의 국부 블록으로 분할하고, 하다마드 변환을 이용하여 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도를 계산하는 단계; 및
    상기 국부 블록 복잡도가 큰 국부 블록부터 순서대로 부분 정합 에러의 합을 계산하고, 상기 부분 정합 에러의 합을 이용하여 상기 소정의 후보 위치가 정합 블록이 될 수 있는 지를 판단하는 단계를 포함하는 움직임 추정 방법.
  2. 제1항에 있어서, 상기 국부 블록의 복잡도는 수학식 (E-1)을 이용하여 구하는 것을 특징으로 하는 움직임 추정 방법.
    Figure 112009045492984-pat00011
    (E-1)
    여기서, LBC(k)는 상기 매크로블록에 포함되는 k번째 국부 블록의 국부 블록 복잡도(LBC)를 나타낸다. SumAC(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 교류 성분(Alternate Component, AC)의 절대값의 합이고, DCLocal(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 직류 성분(Direct Component, DC)의 변환 계수를 의미한다. 그리고, DCMB 는 상기 매크로블록의 DC값으로 상기 매크로블록에 포함되는 모든 국부 블록 각각에 대한 직류 성분의 변환 계수들의 평균값을 나타낸다.
  3. 제1항에 있어서, 상기 부분 정합 에러의 합이 소정의 임계치 이상일 경우에는 상기 소정의 후보 위치가 정합 블록이 될 수 없는 것으로 판단하는 것을 특징으 로 하는 움직임 추정 방법.
  4. 움직임 추정을 위한 탐색 영역 내의 소정의 후보 위치에 대한 매크로 블록을 다수의 국부 블록으로 분할하고, 하다마드 변환을 이용하여 상기 다수의 국부 블록들 각각에 대한 국부 블록 복잡도를 계산하는 단계;
    상기 국부 블록 복잡도를 이용하여 상기 소정의 후보 위치에 대한 예측 정합 에러를 구하는 단계; 및
    상기 탐색 영역 내의 모든 후보 위치 중에서 상기 예측 정합 에러가 작은 일부 후보 위치에 대해서만 정합 에러를 구하여 정합 블록을 선택하는 단계를 포함하는 움직임 추정 방법.
  5. 제4항에 있어서, 상기 국부 블록의 복잡도는 수학식 (E-2)을 이용하여 구하는 것을 특징으로 하는 움직임 추정 방법.
    Figure 112009045492984-pat00012
    (E-2)
    여기서, LBC(k)는 상기 매크로블록에 포함되는 k번째 국부 블록의 국부 블록 복잡도(LBC)를 나타낸다. SumAC(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 교류 성분(Alternate Component, AC)의 절대값의 합이고, DCLocal(k)는 상기 k번째 국부 블록의 하다마드 변환 계수들에서 직류 성분(Direct Component, DC)의 변환 계수를 의미한다. 그리고, DCMB 는 상기 매크로블록의 DC값으로 상기 매크로블록에 포함되는 모든 국부 블록 각각에 대한 직류 성분의 변환 계수들의 평균값을 나타낸다.
  6. 제5항에 있어서, 상기 예측 정합 에러를 구하는 단계는
    상기 국부 블록 복잡도가 높은 국부 블록부터 낮은 국부 블록의 순서대로 순차적으로 정합 에러를 합산하여 부분 정합 에러를 계산하는 단계; 및
    상기 국부 블록 복잡도의 누적 분포 함수와 상기 부분 정합 에러의 누적 분포 함수(Cumulative Distribution Function, CDF)의 유사성과 상관관계를 이용하여 상기 예측 정합 에러를 구하는 것을 특징으로 하는 움직임 추정 방법.
  7. 제6항에 있어서, 상기 부분 정합 에러는 식 (E-3)을 이용하여 구하고, 상기 예측 정합 에러는 식 (E-4)를 이용하여 구하는 것을 특징으로 하는 움직임 추정 방법.
    Figure 112007085008181-pat00013
    (E-3)
    Figure 112007085008181-pat00014
    (E-4)
    여기서, Partial SAD(k)는 국부 블록 복잡도가 내림차순으로 k번째인 국부 블록까지의 정합 에러의 합, fcur 및 fref는 각각 현재 프레임과 참조 프레임, i는 국부 블록(LB)의 수, x, y는 후보 움직임 벡터, j는 i번째 국부 블록에서의 후보 위치를 가리키고,
    Predictive SAD(k)는 국부 블록 복잡도가 내림차순으로 k번째 국부 블록까지의 정합 에러의 합으로부터 예측된 예측 정합 에러, CDFLBC(k)는 국부 블록 복잡도 의 누적 분포 함수, CDFpmSAD(k)는 이전의 최소 SAD의 누적 분포 함수, SADLB(k)는 k번째 국부 블록의 SAD, ω는 가중 인자(Weighting Factor)를 나타낸다.
KR1020070121185A 2007-11-27 2007-11-27 블록 정합 알고리즘을 이용하는 움직임 추정 방법 KR100924642B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070121185A KR100924642B1 (ko) 2007-11-27 2007-11-27 블록 정합 알고리즘을 이용하는 움직임 추정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070121185A KR100924642B1 (ko) 2007-11-27 2007-11-27 블록 정합 알고리즘을 이용하는 움직임 추정 방법

Publications (2)

Publication Number Publication Date
KR20090054495A KR20090054495A (ko) 2009-06-01
KR100924642B1 true KR100924642B1 (ko) 2009-11-02

Family

ID=40986428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070121185A KR100924642B1 (ko) 2007-11-27 2007-11-27 블록 정합 알고리즘을 이용하는 움직임 추정 방법

Country Status (1)

Country Link
KR (1) KR100924642B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056305A (ja) 2002-07-17 2004-02-19 Matsushita Electric Ind Co Ltd 動きベクトル検出方法、動きベクトル検出装置、及びプログラム
JP2007134755A (ja) 2005-11-08 2007-05-31 Hitachi Ltd 動画像符号化装置及び画像記録再生装置
KR20080048384A (ko) * 2006-11-28 2008-06-02 한양대학교 산학협력단 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004056305A (ja) 2002-07-17 2004-02-19 Matsushita Electric Ind Co Ltd 動きベクトル検出方法、動きベクトル検出装置、及びプログラム
JP2007134755A (ja) 2005-11-08 2007-05-31 Hitachi Ltd 動画像符号化装置及び画像記録再生装置
KR20080048384A (ko) * 2006-11-28 2008-06-02 한양대학교 산학협력단 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치

Also Published As

Publication number Publication date
KR20090054495A (ko) 2009-06-01

Similar Documents

Publication Publication Date Title
US20200014952A1 (en) Device and method for fast block-matching motion estimation in video encoders
RU2381630C2 (ru) Способ и устройство для определения качества соответствия блока
US8023562B2 (en) Real-time video coding/decoding
US8040948B2 (en) Method and system for coding moving image signals, corresponding computer program product
EP1228645B1 (en) Adaptive motion vector field coding
EP1024456A2 (en) Motion estimation using orthogonal transform-domain block matching
US5508744A (en) Video signal compression with removal of non-correlated motion vectors
Lengwehasarit et al. Probabilistic partial-distance fast matching algorithms for motion estimation
EP0894403A1 (en) Video encoder and decoder using motion-based segmentation and merging
KR20050119422A (ko) 움직임 보상에 기반한 입력 영상의 노이즈 예측 및 그장치와, 이를 사용한 노이즈 제거 및 동영상 부호화 방법,이를 수행하기 위한 프로그램이 기록된 기록 매체
US20060164543A1 (en) Video encoding with skipping motion estimation for selected macroblocks
KR20040089163A (ko) 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치
Young et al. Automatic layout generation for CMOS operational amplifiers
KR20040062257A (ko) 움직임 보상에 기반한 개선된 노이즈 예측 방법 및 그장치와 이를 사용한 동영상 부호화 방법 및 그 장치
KR100727988B1 (ko) 변환 영역에서의 dc 계수 예측 방법 및 장치
KR100910209B1 (ko) 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치
KR100924642B1 (ko) 블록 정합 알고리즘을 이용하는 움직임 추정 방법
KR100942778B1 (ko) 움직임 벡터 탐색방법 및 장치
Semsarzadeh et al. Complexity modeling of the motion compensation process of the H. 264/AVC video coding standard
Lee Fast motion estimation based on adaptive search range adjustment and matching error prediction
KR100924641B1 (ko) 움직임 추정을 위한 고속 블록 정합 방법
KR100413002B1 (ko) 동영상 부호화기의 확산누적배열을 이용한 블록정합 장치및 그 방법
KR0128875B1 (ko) 큰 움직임을 갖는 영상의 움직임 벡터 추정 방법
Lee et al. Efficient motion estimation using edge-based binary block-matching and refinement based on motion vector correlation
KR20000037945A (ko) 영상의 윤곽선을 고려한 효율적인 움직임 추정 장치

Legal Events

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

Payment date: 20121011

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141008

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151012

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee