KR20100060102A - 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법 - Google Patents

완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법 Download PDF

Info

Publication number
KR20100060102A
KR20100060102A KR1020080118548A KR20080118548A KR20100060102A KR 20100060102 A KR20100060102 A KR 20100060102A KR 1020080118548 A KR1020080118548 A KR 1020080118548A KR 20080118548 A KR20080118548 A KR 20080118548A KR 20100060102 A KR20100060102 A KR 20100060102A
Authority
KR
South Korea
Prior art keywords
motion vector
mvp
search
predicted motion
image
Prior art date
Application number
KR1020080118548A
Other languages
English (en)
Other versions
KR101005382B1 (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 KR1020080118548A priority Critical patent/KR101005382B1/ko
Publication of KR20100060102A publication Critical patent/KR20100060102A/ko
Application granted granted Critical
Publication of KR101005382B1 publication Critical patent/KR101005382B1/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/527Global motion vector 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
    • 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

Abstract

본 발명은 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법 에 관한 것으로, 임의의 영상에 대한 움직임 벡터의 분포를 조사하는 단계와, 예측된 움직임 벡터에 따른 영상의 움직임 벡터의 분포를 데이터화하는 단계와, 데이터를 이용하여 예측된 움직임 벡터에 따른 영상의 움직임 벡터의 분포 특성을 도출하는 단계 및 영상의 매크로블록 내의 탐색 영역이 예측된 움직임 벡터에 따른 영상의 움직임 벡터의 분포 특성에 상응하여 적응적으로 가변되도록, 탐색 영역 설정 알고리즘을 세팅하는 단계를 포함하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법이 제공된다.
움직임 추정, 완전 탐색, 탐색 영역, 예측된 움직임 벡터, 움직임 벡터 분포

Description

완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법 {Method for performing motion estimation using adaptive search range based on full search block matching algorithm}
본 발명은 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법 에 관한 것으로, 보다 상세하게는 탐색 영역 전부를 고려하지 않고, 움직임 벡터가 존재할 확률이 큰 영역을 집중적으로 탐색하여 성능을 유지하면서 연산량은 감소시킬 수 있는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 기법에 관한 것이다.
H.264/AVC는 ISO/IEC의 Moving Picture Experts Group(MPEG)과 ITU-T의 Video Coding Experts Group(VCEG) 두 그룹이 전문가들의 연합팀인 JVT(Joint Video Team)을 창설하여 새롭게 제안한 동영상 압축에 관련한 국제 표준이다.[1] H.264/AVC는 MPEG-4 Visual 보다 좁은 범위를 갖는 효율적이고 강인한 부호화와 사각형 비디오 화면의 전송을 지원하기 위해 설계되어 기존의 압축 표준들(H.263+, MPEG-4 Simple Profile)과 비교해서 같은 인코더 최적화 상태에서 최고 50%까지 비트율을 절감할 수 있다. 하지만 이로 인해 복잡도와 연산량이 매우 증가하였으며 부호화 시간이 많이 증가하였다. 특히 H.264/AVC의 움직임 추정은 많은 부호화 시간을 필요로 하게 된다.
영상 시퀀스(Image Sequence)에서 움직임이란 시간 축으로 연속된 화면에서의 차이로 정의된다. 만약 화면이 거의 변하지 않으면 두 개의 연속된 화면은 상관관계가 높을 것이다. 따라서 화면의 차이는 적을 것이고 이러한 차이만을 고려한다면 영상 압축의 양도 줄어들 것이다. 이러한 사실을 바탕으로 화면간의 영상을 압축하는데 움직임 추정을 이용한다. 움직임 추정 중 블록 정합 알고리즘은 블록 단위의 움직임 추정 방식들 중에서 예측 효율과 추정의 정확도, 계산상의 복잡도, 그리고 움직임 벡터 표현을 위한 부가정보량 등의 서로 상충되는 요건들을 대체로 잘 만족시켜 가장 많이 사용되는 알고리즘이다.
이러한 블록 정합 알고리즘은 완전 탐색과 부분 탐색으로 구분된다. 완전 탐색 방식은 탐색 범위내의 모든 후보들을 탐색한다. 탐색 범위 내의 모든 후보들을 탐색하기 때문에 주어진 블록정합 척도 내에서는 최대의 성능을 얻을 수 있고, 데이터의 흐름이 규칙적이어서 병렬처리 구조로 설계하기가 비교적 쉽다. 블록정합 알고리즘은 연산량 (Computational Operation)에 의해 구분될 수 있는데, 한 프레임이 가로로 Np개의 화소와 세로로 Nl개의 화소 라인으로 구성되고, 프레임 율(frame rate)이 Ff인 프레임율을 가상해 보자. 여기서 기준 블록의 크기가 n×n개의 화소로 구성되고, 최대 허용 가능한 이동 변위를 p라고 하면, 아래 식 1에서 알 수 있듯이, 탐색영역 내의 각각의 후보블록 당 3n2(n2의 뺄셈, n2의 절대값 계산, n2 의 누적연산)의 연산이 필요하고 여기에 최소값을 찾기 위해 약 3번의 추가 연산이 필요하다.
[식 1]
Figure 112008081766550-PAT00001
따라서(2p+1)2 (p=q이면)개의 모든 후보블록들을 비교하기 위해서는 총 (2p+1)2×(3n2+3)의 연산이 필요하다. 이는 한 개의 기준블록을 탐색영역 내의 모든 후보블록들과 정합하는데 필요한 연산량이다. 완전 탐색 알고리즘은 상당히 많은 연산량을 요구하게 된다.
한편, 부분 탐색은 최적의 블록을 찾는데 특정한 탐색 패턴을 가지고 있다. 예를 들어 Two-Dimensional Logarithmic Search는 '+'패턴을 가지고 있으며 Cross-Search 알고리즘과 Search-Window adjustment 알고리즘은 각각 'X'패턴과 '+'패턴을 가지고 있다. 그리고 Three-Step Search(TSS), New TSS, Four-Step Search와 Block-Based Gradient Descent Search는 Square형의 다이아몬드 탐색 패턴을 가지고 있다. 이러한 탐색 패턴을 가지는 움직임 추정 알고리즘은 전역 탐색을 하지 않고, 탐색 영역의 일부에 대해서만 탐색을 수행하므로 계산량을 크게 줄일 수 있다. 하지만 전체 영역에 대해 탐색을 수행하지 않고 일부만을 검색하므로 국부 최소점(local-minimum)에 빠져 움직임을 정확하게 찾지 못할 경우 추정 오차가 커지는 단점이 있다. 또한 정적인 이미지에 대해서는 좋은 성능을 보이지만, 움직임이 큰 영상에서는 성능의 저하를 보인다.
따라서, 완전 탐색의 성능을 유지하면서 연산량은 줄일 수 있는 움직임 추정 기법에 대한 요구가 절실한 상황이다.
본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명이 해결하고자 하는 과제는 완전 탐색(Full Search) 기반으로 움직임 벡터를 예측하여 탐색 영역을 적응적으로 가변시킴으로써 화질(PSNR) 및 비트율(Bitrate)은 완전 탐색의 성능을 유지하면서 연산량을 줄일 수 있는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 임의의 영상에 대한 움직임 벡터의 분포를 조사하는 단계; 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포를 데이터화하는 단계; 상기 데이터를 이용하여 상기 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포 특성을 도출하는 단계; 및 상기 영상의 매크로블록 내의 탐색 영역이 상기 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포 특성에 상응하여 적응적으로 가변되도록, 탐색 영역 설정 알고리즘을 세팅하는 단계를 포함하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법이 제공된다.
상기 움직임 추정 방법은 해당 매크로블록의 예측된 움직임 벡터를 생성하는 단계; 상기 탐색 영역 설정 알고리즘을 이용하여, 상기 해당 매크로블록의 탐색 영역을 설정하는 단계; 및 상기 해당 매크로블록의 설정된 탐색 영역 내에서 오차 에너지를 측정하는 단계를 더 포함한다.
상기 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포를 데이터화하는 단계는, 상기 예측된 움직임 벡터의 크기 및 방향 중 어느 하나이거나 또는 그 조합에 따른 상기 영상의 움직임 벡터의 분포를 데이터화하는 단계를 포함한다.
상기 탐색 영역 설정 알고리즘을 세팅하는 단계는, 상기 영상의 움직임 벡터가 존재할 확률이 상대적으로 높은 영역을 상기 탐색 영역 내에 포함시키기 위하여, 상기 탐색 영역의 크기 및 위치를 조절하는 단계를 포함한다.
상기 영상이 상기 예측된 움직임 벡터와 반대방향으로 상기 움직임 벡터들이 많이 분포하고 있는 경우, 상기 탐색 영역 설정 알고리즘을 세팅하는 단계는 상기 탐색 영역의 중심 위치가 상기 매크로블록의 중심을 기준으로 상기 예측된 움직임 벡터의 방향과 반대방향으로 이동되도록 조절하는 단계를 포함한다.
MVp_x = 0 이면 -N≤ SR_X ≤N 로 설정되며, MVp_y = 0 이면 -N ≤ SR_Y ≤ N 로 설정되는 것을 특징으로 한다.
MVp_x > 0 일 때, -[(K+MVp_x)*K] ≤ SR_X ≤ K+ MVp_x 로 설정되고, MVp_x < 0 일 때, -K+MVp_x ≤ SR_X ≤ [K-(MVp_x)]*K 설정된다.
MVp_y > 0 일 때, -[(K+MVp_y)*K] ≤ SR_Y ≤ K+MVp_y 로 설정되고, MVp_y < 0 일 때, -K+MVp_y ≤ SR_Y ≤ [K-(MVp_y)]*K 로 설정된다.
상기 탐색 영역의 크기는 상기 매크로블록의 크기 보다 작게 형성한다.
본 발명에서와 같이, 예측된 움직임 벡터의 크기와 방향에 따른 움직임 벡터의 분포 관계를 파악한 후, 예측된 움직임 벡터의 크기와 방향에 따라 실제 움직임 벡터가 분포할 확률이 높은 영역을 탐색 영역으로 설정함으로써, 기존의 완전탐색의 연산량보다 최대 92.6%까지 줄일 수 있었으며, 기존의 움직임 탐색의 성능과 비교하였을 때도 뒤지지 않는 성능을 보여주었으며 완전탐색의 성능과도 거의 비슷한 수준을 갖는 효과를 얻을 수 있었다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명에 따른 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법의 흐름도이다.
도 1을 참조하면, 우선 임의의 영상에 대한 움직임 벡터의 분포를 조사하는 과정을 수행한다(S100).
그리고 나서, 예측된 움직임 벡터(MV_p)에 따른 영상의 움직임 벡터(MV)의 분포를 조사하여, 이를 데이터화하는 과정을 수행한다(S200). S200 과정에서, 예측된 움직임 벡터의 크기에 따른 영상의 움직임 벡터의 분포 및 예측된 움직임 벡터의 방향에 따른 영상의 움직임 벡터의 분포를 조사하여, 이를 데이터화 한다.
S200 과정을 통하여 얻은 예측된 움직임 벡터에 따른 영상의 움직임 벡터 데이터를 이용하여, 예측된 움직임 벡터의 크기와 방향에 따른 영상의 움직임 벡터의 분포 특성을 도출하는 과정을 수행한다(S300). 즉, 예측된 움직임 벡터에 따른 영상의 움직임 벡터 데이터를 이용하면, 예측된 움직임 벡터의 크기와 방향에 따라 영상의 움직임 벡터가 존재할 확률이 큰 영역이 어디에 분포하는지 도출할 수 있다.
그리고 나서, 영상의 매크로블록 내의 탐색 영역이 예측된 움직임 벡터에 따른 영상의 움직임 벡터의 분포 특성에 상응하여 적응적으로 가변되도록, 탐색 영역 설정 알고리즘을 세팅하는 과정을 수행한다(S400).
그 다음, 해당 매크로블록의 예측된 움직임 벡터를 생성하는 과정을 수행한다(S500). 해당 매크로블록의 움직임 벡터는 주변 블록의 움직임 벡터와 높은 상관관계를 가진다. 각 매크로블록에 대한 움직임 벡터를 인코딩하는데 많은 비트 수가 요구되므로, 움직임 벡터의 상관관계를 이용하여 각 움직임 벡터는 주위에 있는 이전에 인코딩된 매크로블록의 벡터로 예측되어 그 차분 벡터만을 부호화 하여 발생 비트 수를 줄일 수 있다. 즉, 예측된 움직임 벡터는 이전에 계산된 움직임 벡터에 의해 생성하고, 현재의 벡터와 예측된 벡터의 차이가 인코딩되어 전송된다.
S500 과정을 통하여, 해당 매크로블록의 예측된 움직임 벡터의 생성이 완료되면, S400 과정을 통하여 세팅된 탐색 영역 설정 알고리즘을 이용하여, 해당 매크로블록의 탐색 영역을 설정하는 과정을 수행한다(S600). 이때, 영상의 움직임 벡터가 존재할 확률이 상대적으로 높은 영역을 탐색 영역 내에 최대한 많이 포함시키기 위하여, 탐색 영역의 크기 및 위치를 조절한다.
그리고 나서, 해당 매크로블록의 설정된 탐색 영역 내에서 오차 에너지를 측 정하는 과정을 수행한다(S700). 본 실시예의 경우, 최적의 정합 블록을 찾기 위한 정합 기준으로는 앞에서 설명한 [식 1]인 SAD(sum of absolute difference)를 사용하나, 이에 한정되는 것은 아니며, MSD(mean square difference), PDC(pixel difference classification), IP(integral projection)등과 같이 예측오차나 블록의 상관성을 계산하는 비용 함수(cost function)들이 사용될 수도 있다.
종래에 사용된 완전 탐색 움직임 추정 방법의 경우, 탐색 영역의 크기는 해당 매크로블록 보다 크게 설정되고, 설정된 탐색 영역의 모든 지점에서 SAD를 수행했기 때문에 연산량이 많은 문제점이 있었다. 반면에, 본 발명에서와 같이, 예측된 움직임 벡터에 따른 영상의 움직임 벡터의 분포 특성을 이용하면, 움직임 벡터가 존재할 확률이 큰 영역을 집중적으로 탐색할 수 있도록, 탐색 영역이 가변되게 설정할 수 있게 된다. 그 결과, 움직임 벡터가 존재할 확률이 적은 영역에 대한 연산과정을 생략할 수 있으므로, 연산량은 크게 감소하는 반면에 움직임 추정의 성능은 종래 완전 탐색 움직임 추정 방법과 유사한 성능을 나타낸다.
도 2a 내지 도 2c는 테스트 영상 1 내지 테스트 영상 3의 움직임 벡터 분포도이다. 도 2a 내지 도 2c는 도 1의 S100 과정을 실제로 수행한 결과를 나타낸 도이다.
탐색 영역을 적응적으로 가변시키기 위하여, 우선 움직임 벡터의 분포 특성을 살펴봐야 한다. 이를 위해, 움직임이 거의 없는 영상인 테스트 영상 1(Akiyo, 도 2a), 움직임이 중간 정도의 영상인 테스트 영상 2(Foreman, 도 2b) 및 움직임이 큰 영상인 테스트 영상 3(Stefan, 도 2c)의 움직임 벡터 분포 특성을 살펴보았다. 각 영상은 H.264/AVC Reference Software JM10.1을 사용하였으며 176×144(QCIF)영상 300프레임을 GOP(IPPP)크기 30, frame rate 는 30.0, 참조 프레임 1, QP(Quantization Parameter) 28로 부호화 하였다.
도 2a에 도시된 바와 같이, 테스트 영상 1(Akiyo) 즉, 움직임이 거의 없는 영상은 움직임 벡터가 ±1내에 집중되어 있음을 알 수 있다. 도 2b에 도시된 바와 같이, 테스트 영상 2(Foreman) 즉, 움직임이 중간 정도인 영상은 대부분의 움직임 벡터들이 ±3내에 집중되어 있고, 약간의 움직임 벡터들이 x>, y>0인 영역의 6내에 분포되어 있다. 그리고, 도 2c에 도시된 바와 같이, 테스트 영상 3(Stefan)즉, 움직임이 큰 영상은 움직임 벡터들이x축을 따라 원점을 중심으로 넓게 분포하고 있고, y축으로는 ±2내에 집중되어 있음을 알 수 있다. 즉, 좌우의 움직임은 큰데 반하여 상하의 움직임은 작다는 것을 알 수 있다.
이와 같이 영상에 따라 움직임 벡터의 분포는 조금씩 다르나, 대부분 규칙적인 분포를 가지므로, 이러한 움직임 벡터의 분포 특성을 이용하여 탐색 영역을 적응적으로 변화시킬 수 있게 된다.
도 3a는 테스트 영상 1의 예측된 움직임 벡터에 대한 실제 움직임 벡터 분포 데이터이며, 도 3b 및 도 3c는 테스트 영상 2의 예측된 움직임 벡터에 대한 실제 움직임 벡터 분포 데이터이고, 도 3d 및 도 3e는 테스트 영상 3의 예측된 움직임 벡터에 대한 실제 움직임 벡터 분포 데이터이며, 도 4a 및 도 4b는 테스트 영상 2 의 MVp≤4일 때 탐색 영역(SR)≤4인 움직임 벡터의 분포도이다.
예측된 움직임 벡터를 기반으로 탐색 영역을 결정하기 위해서는 예측된 움직임 벡터의 크기와 방향에 따른 움직임 벡터의 분포 데이터가 필요하다.
도 3a는 탐색 영역의 크기가 16일 때, 테스트 영상 1(Akiyo)의 예측된 움직임 벡터의 크기와 방향에 따른 움직임 벡터 분포 데이터를 나타낸 표이다. 테스트 영상 1의 경우, 예측된 움직임 벡터가 0일 때, 실제 움직임 벡터도 0일 확률이 95.52%(1136166/1177110)를 차지하고, 예측된 움직임 벡터의 크기가 4이하 일 때, 실제 움직임 벡터가 탐색 영역 크기 4 이내에 존재할 확률이 99.87%(1175608/1177110)로 나타나 움직임이 없는 영상인 경우에는 탐색 영역의 크기를 작게 설정하더라도, 탐색 영역 내에서 움직임 벡터를 거의 찾을 수 있음을 알 수 있다.
도 3b 및 도 3c를 살펴보면, 테스트 영상 2(Foreman)의 경우 예측된 움직임 벡터가 0일 때, 실제 움직임 벡터도 0일 확률이 36.72%(432265/1177110)를 차지한다. 또한, 예측된 움직임 벡터의 크기가 4이하일 때, 실제 움직임 벡터가 탐색 영역의 크기 4 이내에 존재할 확률은 85%(1000232/1177110)이며, 이때의 움직임 벡터의 분포를 살펴보면 도 4a 및 도 4b에 도시된 바와 같이, 실제 움직임 벡터의 분포는 예측된 움직임 벡터와 반대방향에 많이 분포하고 있음을 알 수 있다. 또한, 예측된 움직임 벡터와 탐색 영역의 크기가 클 때에도 이와 동일한 분포 특성을 갖는 것을 알 수 있다.
도 3d 및 도 3e를 살펴보면, 테스트 영상 3(Stefan)의 경우 예측된 움직임 벡터가 0일 때 실제 움직임 벡터도 0일 확률은 15.65%를 차지하고, 예측된 움직임 벡터가 4이하일 때, 실제 움직임 벡터가 탐색 영역 크기 4 이내에 존재할 확률은 69.21%임을 알 수 있다. 즉, 움직임이 큰 영상은 움직임이 작은 영상에 비하여, 작은 탐색 영역에서 실제 움직임 벡터를 찾을 확률이 작아짐을 알 수 있다. 따라서, 해당 영상의 움직임 정도에 따라서 탐색 영역을 설정할 필요가 있다.
테스트 영상 3의 예측된 움직임 벡터가 4이하일 때, 탐색 영역 크기 4 이내에 존재하는 실제 움직임 벡터의 분포를 살펴보면, 실제 움직임 벡터는 예측된 움직임 벡터와 반대방향으로 움직임 벡터들이 많이 분포하고 있음을 알 수 있으며, 예측된 움직임 벡터와 탐색 영역의 크기가 클 때에도 이와 동일한 분포 특성을 갖는다. 또한, 예측된 움직임 벡터가 좌표축 위에 있을 때 즉, 상하 혹은 좌우의 움직임을 가질 때에도 예측된 움직임 벡터와 반대방향으로 움직임 벡터들이 많이 분포하고 있음을 알 수 있다.
따라서, 움직임의 많고 적음에 따라서 정도의 차이는 있을 수 있으나, 대체로 영상의 실제 움직임 벡터는 예측된 움직임 벡터의 크기 및 방향과 반대방향에 많이 분포한다는 특성을 알 수 있다. 이러한 예측된 움직임 벡터의 크기와 방향에 따른 실제 움직임 벡터의 분포 특성을 이용하면, 탐색 영역의 크기를 줄이더라도 탐색 영역의 위치를 조절함으로써 탐색 영역 내에서 움직임 벡터를 찾을 수 있는 확률을 보다 높일 수 있게 된다.
도 5는 본 발명의 예시적인 실시예의 탐색 영역 설정 알고리즘에 따라 행당 매크로 블록의 탐색 영역을 설정하는 과정을 나타낸 도이다. 도 5에서는 테스트 영상 2에 대한 탐색 영역 설정 알고리즘을 예로서 상술한다.
도 5를 참조하면, S411 과정을 통하여, 해당 매크로블록의 예측된 움직임 벡터(이하, MVp)가 (0, 0)로 판단되면, 해당 매크로블록의 탐색 영역의 X 좌표값(이하, SR_X)과 탐색 영역의 Y 좌표값(이하, SR_Y)은 각각 -N≤ SR_X ≤N 및 -N ≤ SR_Y ≤ N 로 설정되며, 본 실시예에서 N은 4로 설정된다(S412).
S413 및 S414 과정을 통하여, 만약 해당 매크로블록의 MVp의 X 좌표값(이하, MVp_x)은 0이고, MVp의 Y 좌표값(이하, MVp_x)이 0 보다 큰 경우로 판단되면, 탐색 영역은 -N≤ SR_X ≤N, -[(K+MVp_y)*K] ≤ SR_Y ≤ K+MVp_y 로 설정된다(S415). 한편, 해당 매크로블록의 MVp_x = 0이고, MVp_x < 0인 경우로 판단되면, 탐색 영역은 -N≤ SR_X ≤N, -K+MVp_y ≤ SR_Y ≤ [K-(MVp_y)]*K 로 설정되며(S416), 본 실시예에서 K는 2로 설정된다.
S417 및 S418 과정을 통하여, MVp_y = 0이고, MVp_x > 0로 판단되면, 해당 매크로블록의 탐색 영역은 -N ≤ SR_Y ≤ N, -[(K+MVp_x)*K] ≤ SR_X ≤ K+ MVp_x 로 설정된다(S419). 만약, MVp_y = 0이고, MVp_x < 0로 판단되면, 해당 매크로블록의 탐색 영역은 -N ≤ SR_Y ≤ N, -K+MVp_x ≤ SR_X ≤ [K-(MVp_x)]*K로 설정된다(S420).
S421 과정을 통하여, MVp_x > 0이고, MVp_y > 0로 판단되면, 탐색 영역은
-[(K+MVp_x)*K] ≤ SR_X ≤ K+ MVp_x, -[(K+MVp_y)*K] ≤ SR_Y ≤ K+MVp_y 로 설정된다(S422).
S423 과정을 통하여, MVp_x > 0이고, MVp_y < 0로 판단되면, 탐색 영역은
-[(K+MVp_x)*K] ≤ SR_X ≤ K+ MVp_x, -K+MVp_y ≤ SR_Y ≤ [K-(MVp_y)]*K 로 설정된다(S424).
S425 과정을 통하여, MVp_x < 0이고, MVp_y > 0로 판단되면, 탐색 영역은
-K+MVp_x ≤ SR_X ≤ [K-(MVp_x)]*K, -[(K+MVp_y)*K] ≤ SR_Y ≤ K+MVp_y 로 설정된다(S426).
만약, MVp_x < 0이고, MVp_y < 0로 판단되면, 탐색 영역은
-K+MVp_x ≤ SR_X ≤ [K-(MVp_x)]*K, -K+MVp_y ≤ SR_Y ≤ [K-(MVp_y)]*K 로 설정된다(S427).
도 6a 내지 도 6f는 도 5에 도시된 탐색 영역 설정 알고리즘에 따라 가변되게 설정되는 탐색 영역을 나타낸 도이다.
도 6a에는 해당 매크로블록의 MVp = (0, 0)일 때, -4≤ SR_X ≤4, -4 ≤ SR_Y ≤ 4인 탐색 영역(ASR0)이 도시된다.
도 6b에는 해당 매크로블록의 MVp = (0, 1)일 때, -4≤ SR_X ≤4, -6 ≤ SR_Y ≤ 3로 설정된 탐색 영역(ASR1)이 도시되며, 탐색 영역(ASR1)은 MVp의 방향과 반대방향인 =Y축 방향으로 이동되어 설정된다. 즉, 해당 매크로블록의 +Y축 영역 보다는 -Y축 영역을 더 많이 탐색하도록 탐색 영역이 설정된다.
도 6c 내지 도 6f에서는 해당 매크로블록의 MVp = (0, -1), (1, 0), (-1, 0) 및 (1, 1)일 때, 각각 설정된 탐색 영역(ASR2 ~ ASR5)이 도시된다. 도 6b에서 살펴본 바와 같이, 도 6c 내지 도 6f에 도시된 탐색 영역(ASR2 ~ ASR5)은 모두 해당 매크로블록의 MVp의 방향과 반대 방향으로 이동되어 설정됨을 알 수 있다.
도 7a 내지 도 7c는 본 발명에 따른 움직임 추정 기법과 종래 기술들에 따른 움직임 추정 기법의 성능을 비교한 표이다.
움직임 추정 방법의 성능을 알아보기 위해서 PSNR(Peak to Noise Ratio) 및 비트율(Bitrate)를 사용하였다. PSNR은 움직임 추정 방법을 사용하여 복원된 영상과 원 영상이 얼마나 유사한지에 대한 정확도를 나타낸 것이며, 비트율은 움직임 추정 방법을 사용하여 인코딩 했을 때 발생되는 비트를 알아보기 위해 사용하였다. 실험을 위하여 사용된 영상은 Grandma(도 7a), Foreman(도 7b) 및 Carphone(도 7c)영상으로 H.264/AVC Reference Software JM10.1을 사용하였으며, 탐색범위가 ±16일 때의 PSNR과 비트율을 나타낸 것이다. 도 7a 내지 도 7c에 도시된 바와 같이, 3가지 영상 모두 기존의 다른 알고리즘과 비교하였을 때 비슷하거나 약간 우수한 성능임을 알 수 있다. 완전 탐색(Full Search)와 비교하여 PSNR은 +0.02~-0.04의 차이를 보여주었고, 비트율(bitrate)은 최대 1.85 kbits/s의 차이를 보였다. 한편, 본 발명에 따른 적응적 탐색 영역(ASR)을 이용한 움직임 추정 방법의 연산량은 완전탐색의 연산량보다 최대 90%이상을 줄일 수 있는 효과를 얻을 수 있다.
이상에서 설명한 것은 본 발명에 따른 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법의 예시적인 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이, 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
도 1은 본 발명에 따른 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법의 흐름도이다.
도 2a 내지 도 2c는 테스트 영상 1 내지 테스트 영상 3의 움직임 벡터 분포도이다.
도 3a는 테스트 영상 1의 예측된 움직임 벡터에 대한 실제 움직임 벡터 분포 데이터이며, 도 3b 및 도 3c는 테스트 영상 2의 예측된 움직임 벡터에 대한 실제 움직임 벡터 분포 데이터이고, 도 3d 및 도 3e는 테스트 영상 3의 예측된 움직임 벡터에 대한 실제 움직임 벡터 분포 데이터이다.
도 4a 및 도 4b는 테스트 영상 2의 MVp≤4일 때 SR≤4인 움직임 벡터의 분포도이다.
도 5는 본 발명의 예시적인 실시예의 탐색 영역 설정 알고리즘에 따라 행당 매크로 블록의 탐색 영역을 설정하는 과정을 나타낸 도이다.
도 6a 내지 도 6f는 도 5에 도시된 탐색 영역 설정 알고리즘에 따라 가변되게 설정되는 탐색 영역을 나타낸 도이다.
도 7a 내지 도 7c는 본 발명에 따른 움직임 추정 기법과 종래 기술들에 따른 움직임 추정 기법의 성능을 비교한 표이다.

Claims (10)

  1. 임의의 영상에 대한 움직임 벡터의 분포를 조사하는 단계;
    예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포를 데이터화하는 단계;
    상기 데이터를 이용하여 상기 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포 특성을 도출하는 단계; 및
    상기 영상의 매크로블록 내의 탐색 영역이 상기 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포 특성에 상응하여 적응적으로 가변되도록, 탐색 영역 설정 알고리즘을 세팅하는 단계를 포함하는 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  2. 제1항에 있어서, 상기 움직임 추정 방법은,
    해당 매크로블록의 예측된 움직임 벡터를 생성하는 단계;
    상기 탐색 영역 설정 알고리즘을 이용하여, 상기 해당 매크로블록의 탐색 영역을 설정하는 단계; 및
    상기 해당 매크로블록의 설정된 탐색 영역 내에서 오차 에너지를 측정하는 단계를 더 포함하는 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  3. 제1항에 있어서, 상기 예측된 움직임 벡터에 따른 상기 영상의 움직임 벡터의 분포를 데이터화하는 단계는,
    상기 예측된 움직임 벡터의 크기 및 방향 중 어느 하나이거나 또는 그 조합에 따른 상기 영상의 움직임 벡터의 분포를 데이터화하는 단계를 포함하는 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  4. 제1항에 있어서, 상기 탐색 영역 설정 알고리즘을 세팅하는 단계는,
    상기 영상의 움직임 벡터가 존재할 확률이 상대적으로 높은 영역을 상기 탐색 영역 내에 포함시키기 위하여, 상기 탐색 영역의 크기 및 위치를 조절하는 단계를 포함하는 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  5. 제4항에 있어서, 상기 영상이 상기 예측된 움직임 벡터와 반대방향으로 상기 움직임 벡터들이 많이 분포하고 있는 경우, 상기 탐색 영역 설정 알고리즘을 세팅하는 단계는,
    상기 탐색 영역의 중심 위치가 상기 매크로블록의 중심을 기준으로 상기 예 측된 움직임 벡터의 방향과 반대방향으로 이동되도록 조절하는 단계를 포함하는 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  6. 제5항에 있어서,
    MVp_x = 0 이면 -N≤ SR_X ≤N 로 설정되며,
    이때, N은 정수이고, MVp_x는 예측된 움직임 벡터의 X 좌표값, SR_X는 탐색 영역의 X 좌표값인 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  7. 제5항에 있어서,
    MVp_y = 0 이면 -N ≤ SR_Y ≤ N 로 설정되며,
    이때, N은 정수이고, MVp_y는 예측된 움직임 벡터의 Y 좌표값 및 SR_Y는 탐색 영역의 Y 좌표값인 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  8. 제5항에 있어서,
    MVp_x > 0 일 때, -[(K+MVp_x)*K] ≤ SR_X ≤ K+ MVp_x 로 설정되고,
    MVp_x < 0 일 때, -K+MVp_x ≤ SR_X ≤ [K-(MVp_x)]*K 설정되며,
    이때, K는 정수이며, MVp_x는 예측된 움직임 벡터의 X 좌표값, SR_X는 탐색 영역의 X 좌표값인 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  9. 제5항에 있어서,
    MVp_y > 0 일 때, -[(K+MVp_y)*K] ≤ SR_Y ≤ K+MVp_y 로 설정되고,
    MVp_y < 0 일 때, -K+MVp_y ≤ SR_Y ≤ [K-(MVp_y)]*K 로 설정되며,
    이때, K는 정수이며, MVp_y는 예측된 움직임 벡터의 Y 좌표값 및 SR_Y는 탐색 영역의 Y 좌표값인 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
  10. 제4항 내지 제9항 중 어느 한 항에 있어서,
    상기 탐색 영역의 크기는 상기 매크로블록의 크기 보다 작게 형성하는 것을 특징으로 하는 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법.
KR1020080118548A 2008-11-27 2008-11-27 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법 KR101005382B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080118548A KR101005382B1 (ko) 2008-11-27 2008-11-27 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080118548A KR101005382B1 (ko) 2008-11-27 2008-11-27 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법

Publications (2)

Publication Number Publication Date
KR20100060102A true KR20100060102A (ko) 2010-06-07
KR101005382B1 KR101005382B1 (ko) 2010-12-30

Family

ID=42361058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080118548A KR101005382B1 (ko) 2008-11-27 2008-11-27 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법

Country Status (1)

Country Link
KR (1) KR101005382B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242560B1 (ko) * 2011-03-30 2013-03-19 한양대학교 산학협력단 탐색 영역 조정 장치 및 방법
KR101253917B1 (ko) * 2011-07-15 2013-04-16 국립대학법인 울산과학기술대학교 산학협력단 움직임 추정 장치 및 그 방법
CN113797530A (zh) * 2021-06-11 2021-12-17 荣耀终端有限公司 图像的预测方法、电子设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100681258B1 (ko) 2004-10-02 2007-02-09 삼성전자주식회사 트랜스코딩을 위한 움직임벡터 정밀화 기반 출력움직임벡터 추정방법 및 이를 이용한 트랜스코더
KR100809013B1 (ko) 2005-06-29 2008-03-06 영남대학교 산학협력단 복잡도 가변형 동영상 부호화 장치 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242560B1 (ko) * 2011-03-30 2013-03-19 한양대학교 산학협력단 탐색 영역 조정 장치 및 방법
KR101253917B1 (ko) * 2011-07-15 2013-04-16 국립대학법인 울산과학기술대학교 산학협력단 움직임 추정 장치 및 그 방법
CN113797530A (zh) * 2021-06-11 2021-12-17 荣耀终端有限公司 图像的预测方法、电子设备和存储介质
CN113797530B (zh) * 2021-06-11 2022-07-12 荣耀终端有限公司 图像的预测方法、电子设备和存储介质

Also Published As

Publication number Publication date
KR101005382B1 (ko) 2010-12-30

Similar Documents

Publication Publication Date Title
JP6261660B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR100242406B1 (ko) 디지탈 비디오 동화상의 움직임 보상 방법
JP4242656B2 (ja) 動きベクトル予測方法及び動きベクトル予測装置
TWI440364B (zh) 使用預測導引減數搜尋之移動估計
KR100714698B1 (ko) 향상된 움직임 추정 방법, 상기 방법을 이용한 비디오인코딩 방법 및 장치
KR102021257B1 (ko) 화상 복호 장치, 화상 부호화 장치, 화상 복호 방법, 화상 부호화 방법 및 기억 매체
JP5488612B2 (ja) 動画像符号化装置および動画像復号装置
JP5485851B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
Kim et al. Zoom motion estimation using block-based fast local area scaling
JPWO2014163200A1 (ja) カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法
Chang et al. A quadratic prediction based fractional-pixel motion estimation algorithm for H. 264
KR20130126698A (ko) 영상 부호화 장치, 영상 부호화 방법 및 영상 부호화 프로그램
KR101005382B1 (ko) 완전 탐색 기반의 적응적 탐색 영역을 이용한 움직임 추정 방법
Bachu et al. Adaptive order search and tangent-weighted trade-off for motion estimation in H. 264
KR101691380B1 (ko) 시프팅 매트릭스를 이용한 dct 기반의 부화소 단위 움직임 예측 방법
JP2014090327A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2014090326A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
Ghaznavi-Youvalari et al. Adaptive motion vector prediction for omnidirectional video
Lee et al. Depth-based adaptive search range algorithm for motion estimation in HEVC
Cheng et al. A fast fractional pel motion estimation algorithm for H. 264/AVC
KR101182037B1 (ko) 비디오 신호의 고정밀 움직임 추정 장치 및 그 방법
JP2015080002A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
Fu et al. A motion estimation algorithm for educational video compression
Ahmmed et al. A Two-Step Discrete Cosine Basis Oriented Motion Modeling Approach for Enhanced Motion Compensation
Ng et al. A linear prediction based fractional-pixel motion estimation algorithm

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: 20131204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141203

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee