KR20140060421A - 이진 블록 정합을 이용한 움직임 추정 방법 - Google Patents

이진 블록 정합을 이용한 움직임 추정 방법 Download PDF

Info

Publication number
KR20140060421A
KR20140060421A KR1020120126803A KR20120126803A KR20140060421A KR 20140060421 A KR20140060421 A KR 20140060421A KR 1020120126803 A KR1020120126803 A KR 1020120126803A KR 20120126803 A KR20120126803 A KR 20120126803A KR 20140060421 A KR20140060421 A KR 20140060421A
Authority
KR
South Korea
Prior art keywords
frame
value
block
current
motion
Prior art date
Application number
KR1020120126803A
Other languages
English (en)
Other versions
KR101413364B1 (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 KR1020120126803A priority Critical patent/KR101413364B1/ko
Publication of KR20140060421A publication Critical patent/KR20140060421A/ko
Application granted granted Critical
Publication of KR101413364B1 publication Critical patent/KR101413364B1/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/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters

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)

Abstract

화면 간 예측에 있어서 이진 블록 정합을 이용하여 움직임을 추정하는 방법이 개시된다. 이진 블록 정합을 이용한 움직임 추정 방법은 문턱값(T)을 기준으로 현재 프레임과 참조 프레임의 각각을 구성하는 화소의 각각을 이진 변환하여 변환된 현재 프레임 및 변환된 참조 프레임을 산출하는 단계와, 현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 움직임 탐색 범위에서 변환된 현재 프레임과 변환된 참조 프레임에 대해 정합오차를 산출하는 단계와, 정합오차에 기반하여 움직임을 추정하는 단계를 포함한다. 따라서, 논리연산에 기반하여 정합오차를 산출함으로써 복잡도를 감소시킬 수 있고, 문턱값(T)을 기준으로 일정한 범위에 해당하는 영역에 속하는 화소를 정합오차의 산출에서 제외함으로써 부호화 성능이 저하되는 것을 방지할 수 있다.

Description

이진 블록 정합을 이용한 움직임 추정 방법{METHOD FOR MOTION ESTIMATION USING BINARY BLOCK MATCHING}
본 발명은 영상의 부호화/복호화에 관한 것으로, 더욱 상세하게는 화면 간 예측에 있어서 이진 블록 정합을 이용하여 움직임을 추정하는 방법에 관한 것이다.
멀티미디어 통신에 있어서, 동영상 데이터는 일반 텍스트 데이터에 비하여 정보 전달 능력이 뛰어난 반면에 용량이 매우 크기 때문에 제한된 대역폭을 가진 네트워크 채널을 통하여 동영상 데이터를 전송하는데 어려움이 있다. 이에 동영상 데이터를 효과적으로 줄이기 위하여 MPEG-x, H.26x과 같은 동영상을 압축하는 표준들이 제정되어 왔다.
동영상 데이터를 작은 정보로 압축시키는 기술인 동영상 부호화 알고리즘이 활발히 연구되어 오고 있다. 동영상 데이터는 시간적 (temporal), 공간적(spatial), 통계적(statistical) 중복성을 가지는 것을 특징으로 한다. 시간적 중복성은 연속되는 프레임간의 중복성을 의미하며, 연속되는 프레임의 화소들은 매우 높은 상관도를 가진다. 공간적 중복성은 프레임 내에 존재하는 중복성을 의미하며, 하나의 화소의 밝기 값은 이웃하는 화소들의 밝기 값과 높은 상관도를 가진다. 마지막으로, 통계적 중복성은 부호화된 데이터들 간의 중복성을 의미하는데, 화소들의 밝기 값의 확률 분포에 의한 중복성을 말한다. 동영상 부호화를 위하여, 상기 3가지 중복성을 제거함으로써 방대한 양의 동영상 데이터를 보다 작은 양의 데이터로 압축할 수 있다.
움직임 추정은 동영상 압축 표준에서의 핵심적인 기술들 중 하나로, 동영상이 가지는 시간적 중복성을 이용하여 압축을 실현하는 기술이다. 움직임 추정은 이웃한 프레임들 간의 유사성을 이용해서 시간 축 상에 존재하는 데이터의 중복성을 제거함으로써 압축 효율을 높인다. 움직임 추정에서 가장 널리 사용되는 탐색 방식과 정합오차를 판단하는 기준은 각각 전역 탐색(FS: Full Search)알고리듬과 Sum of Absolute Differences(SAD)이다.
SAD는 다음의 수학식 1과 같이 구할 수 있다.
Figure pat00001
여기서, ft는 현재 프레임, ft-1은 참조 프레임, (i,j)는 화소의 위치, (m,n)은 후보 블록까지의 거리, s는 탐색 범위를 나타낸다.
그러나, FS와 SAD를 사용하는 움직임 추정은 부호화에 있어 50%에 해당하는 복잡도를 가진다. 즉, FS를 이용하여 움직임 추정을 수행하기 때문에 참조 영상의 탐색 범위가 방대하고, 정합오차를 판단하는 기준으로 SAD를 사용하기 때문에 계산량이 상당히 많은 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 이진 블록 정합을 이용하여 복잡도가 감소된 움직임 추정 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 움직임 추정 방법은, 문턱값을 기준으로 현재 프레임과 참조 프레임의 각각을 구성하는 화소의 각각을 이진 변환하여 현재 프레임 및 변환된 참조 프레임을 산출하는 단계와, 현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 움직임 탐색 범위에서 변환된 현재 프레임과 변환된 참조 프레임에 대해 정합오차를 산출하는 단계와, 정합오차에 기반하여 움직임을 추정하는 단계를 포함한다.
여기에서, 상기 정합오차를 산출하는 단계는, 문턱값을 기준으로 거리 파라미터를 적용한 화소값의 영역에 속하는 화소에 대한 정합오차의 산출을 스킵(skip)할 수 있다.
여기에서, 상기 거리 파라미터는, 참조 프레임의 움직임 특성을 고려하여 참조 프레임 별로 결정될 수 있다.
여기에서, 상기 거리 파라미터는, 현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 참조 블록에 인접한 이웃 블록들의 움직임 특징을 고려하여 참조 블록 별로 결정될 수 있다.
여기에서, 거리 파라미터는, 이웃 블록들의 수평방향 움직임 벡터와 수직방향 움직임 벡터의 절대값을 각각 평균한 값에 기반한 기준값을 이용하여 결정될 수 있다.
여기에서, 상기 정합오차를 산출하는 단계는, 현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 참조 블록에 인접한 이웃 블록들의 수평방향 움직임 벡터와 수직방향 움직임 벡터의 절대값을 각각 평균한 값을 산출하는 단계와, 이웃 블록의 수평방향 움직임 벡터의 절대값을 평균한 값과 이웃 블록의 수직방향 움직임 벡터의 절대값을 평균한 값을 비교하여 기준값을 산출하는 단계와, 기준값에 기반하여 거리 파라미터를 결정하는 단계를 포함할 수 있다.
상기와 같은 본 발명의 실시예에 따른 이진 블록 정합을 이용한 움직임 추정 방법을 이용할 경우에는, 논리연산에 기반하여 정합오차를 산출함으로써 복잡도를 감소시킬 수 있다.
또한, 문턱값을 기준으로 일정한 범위에 해당하는 영역에 속하는 화소를 정합오차의 산출에서 제외함으로써 부호화 성능이 저하되는 것을 방지할 수 있다.
도 1은 원본 영상으로부터 비트수가 감소된 영상을 생성하는 방법을 설명하는 흐름도이다.
도 2는 비트수가 감소된 영상을 이용한 정합오차의 판단을 설명하는 개념도이다.
도 3은 문턱값(T)과 거리 파라미터(D)를 이용한 이진 영역의 분류를 설명하는 개념도이다.
도 4는 프레임 단위로 거리 파라미터(D)를 설정할 수 있음을 나타내는 개념도이다.
도 5는 본 발명의 실시예에 따라 블록 단위로 거리 파라미터(D)를 설정할 수 있음을 나타내는 개념도이다.
도 6은 본 발명의 실시예에 따라 블록 단위로 거리 파라미터(D)를 설정하는 방법을 설명하는 개념도이다.
도 7은 기존의 방법과 본 발명의 실시예에 따른 움직임 추정에 따른 PSNR을 비교한 표이다.
도 8은 기존의 방법과 본 발명의 실시예에 따른 움직임 추정에 따른 처리 시간을 비교한 표이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또 등과 같은 사용자 단말기이거나 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 화면간 또는 화면내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 화면내 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 화면내 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 화면간 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 화면간 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다. 또한, 이하에 기재된 "픽처(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 원본 프레임으로부터 비트수가 감소된 프레임을 생성하는 방법을 설명하는 흐름도이고, 도 2는 비트수가 감소된 프레임을 이용한 정합오차의 판단을 설명하는 개념도이다.
도 1을 참조하면, 원본 프레임으로부터 비트수가 감소된 프레임을 생성하는 방법은, 원본 프레임에 필터를 적용하는 단계(S110), 원본 프레임과 필터가 적용된 원본 프레임을 비교하는 단계(S120) 및 원본 프레임과 필터가 적용된 원본 프레임의 비교를 통하여 비트수가 감소된 프레임을 생성하는 단계(S130)를 포함한다.
원본 프레임에 필터를 적용하여 필터가 적용된 프레임을 생성할 수 있다(S110). 필터가 적용된 프레임과 원본 프레임을 비교할 수 있고(S120), 이를 통하여 비트수가 감소된 프레임을 생성할 수 있다(S130).
본 발명의 일 실시예에 따르면, 1비트 변환(One-bit transform: 1BT)은 원본 프레임을 1비트 프레임으로 변환한 후 배타적 논리합 (exclusive-OR) 연산에 기반한 정합오차를 이용하여 움직임 추정을 수행할 수 있다. 여기서, 1비트 프레임은 프레임을 구성하는 각각의 화소가 1비트로 표현되는 프레임을 의미할 수 있다.
Figure pat00002
원본 프레임에 수학식 2의 17×17 대역 통과필터 커널을 사용해 필터가 적용된 프레임을 얻을 수 있다. 여기서, (i,j)는 화소의 위치를 나타낸다.
Figure pat00003
필터가 적용된 프레임을 얻은 후에 수학식 3의 비교 과정을 통하여 1 비트 프레임을 얻을 수 있다.
수학식 2 및 수학식 3에 있어서, K는 필터 커널, I는 원본영상, IF는 필터가 적용된 영상, B는 1비트 변환된 이진 영상(1비트 프레임)을 나타낼 수 있다.
따라서, 동영상의 모든 프레임은 수학식 2 및 수학식 3에 의해 1비트 프레임으로 변환될 수 있다.
Figure pat00004
1비트 변환된 이진영상에 대해서 수학식 4에 따른 Number of Non-Matching Points(NNMP)의 정합오차를 기준으로 적용하여 움직임 벡터를 추정할 수 있다.
여기서,
Figure pat00005
는 현재 프레임의 변환된 프레임,
Figure pat00006
은 이전 프레임의 변환된 프레임을 의미할 수 있다. 또한,
Figure pat00007
는 배타적 논리합 연산,
Figure pat00008
은 블록 크기,
Figure pat00009
는 탐색 범위를 의미할 수 있다.
따라서, 비트수를 줄인 현재 프레임과 참조 프레임에 대해 새로운 정합오차를 사용하여 현재 프레임의 기준이 되는 블록에 상응한 위치의 참조 프레임의 탐색 범위 안에서 최소의 정합 오차를 가지는 블록을 찾아낼 수 있다.
예를 들어, 정합오차 기준으로 수학식 4의 NNMP를 사용하였을 경우, 현재 프레임과 참조 프레임의 정합오차는 연산량이 많은 덧셈, 뺄셈, 절대값 연산 등을 하지 않고, 배타적 논리합 연산을 이용하여 산출될 수 있다.
또한, SAD를 이용한 정합오차의 판단은 화소 단위로 계산을 하여야 하지만, NNMP를 이용하여 정합오차를 판단하면, 연산에 사용되는 메모리 크기만큼 한 번에 계산할 수 있기 때문에 부호화 속도를 향상시킬 수 있다.
예를 들어, C언어의 char형(1바이트), int형(4바이트), double(8바이트)를 사용하면 각각 해당하는 메모리 크기만큼 한 번에 정합오차를 산출할 수 있다.
도 2를 참조하면, 비트수가 감소된 영상을 이용하여 정합오차를 판단할 수 있다. 도 2는 1바이트(8비트) 메모리 크기로 연산을 수행한다고 가정하였을 경우의 계산 과정을 나타낸다. 즉, 도2는 8비트 영상을 1비트 영상으로 줄인 후 정합오차를 판단할 수 있다.
예를 들어, 큰 비트수로 나타나는 원본 프레임과 필터가 적용된 프레임을 변환 과정을 통해 원본 프레임보다 비트수가 줄어든 새로운 프레임을 생성할 수 있다.
상술한 과정에서 필터는 하이패스필터, 로우패스필터, 밴드패스 필터 등이 적용될 수 있으며, 비교 연산을 통한 변환 과정이 수행될 수 있다.
또한, 참조 프레임에 대해서도 상술한 과정을 통해 비트수가 줄어든 프레임을 생성할 수 있다. 여기서, 참조 프레임은 기존 코덱의 P-Picture, B-Picture처럼 현재 프레임의 이전 프레임과 이후 프레임을 필요한 영상 개수 만큼 사용할 수 있다.
따라서, 현재 프레임과 참조 프레임을 구성하는 각각의 화소를 1비트로 표시할 수 있고, 각각의 화소가 1비트로 표현된 현재 프레임을 각각의 화소가 1비트로 표현된 참조 프레임과 배타적 논리합 연산을 하여 정합오차를 산출할 수 있으며, 이렇게 산출된 정합오차를 이용하여 움직임 추정을 수행할 수 있다.
도 3는 문턱값(T)과 거리 파라미터(D)를 이용한 이진 영역의 분류를 설명하는 개념도이다.
문턱값(T)을 기준으로 현재 프레임과 참조 프레임의 각각을 구성하는 화소의 각각을 이진 변환하여 변환된 현재 프레임 및 변환된 참조 프레임을 산출할 수 있다. 여기서, 변환된 현재 프레임과 변환된 참조 프레임은 1비트 프레임을 의미할 수 있다. 또한, 문턱값(T)은 화소를 1비트로 표현할 수 있도록 화소값의 영역을 나누는 기준을 의미한다.
또한, 현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 움직임 탐색 범위를 기준으로 변환된 현재 프레임과 변환된 참조 프레임에 대해 배타적 논리합 연산을 적용하여 정합오차를 산출할 수 있고, 정합오차에 기반하여 움직임을 추정할 수 있다.
Constrained one-bit transform(C-1BT)은 1BT의 성능 저하 요인을 제거하기 위해 개선된 정합오차 기준을 사용할 수 있다.
도 3를 참조하면, b와 c 두 화소들과 같이 실제로 유사한 값을 가지는 화소들이 1BT에 의해서 문턱값(T)을 경계로 서로 다른 이진 영역으로 분류될 수 있다. 이러한 화소들이 NNMP를 계산하는 과정에서 유사한 값을 가짐에도 불구하고 서로 정합하지 않는다고 판단되고, 이는 움직임 추정 성능을 저하시키는 요인이 될 수 있다.
더욱 상세하게는, a와c, b와 d, a와 d 화소값들은 실제로 화소값이 많이 차이 나기 때문에 정합하지 않는다고 판단하는 것이 옳은 판단이다. 하지만 b와c 화소들은 실제로 인접한 값을 가지는 화소이지만 문턱값(T)의 경계에 의해 서로 다른 영역으로 분류되어 정합하지 않는다고 판단하게 되고 이는 움직임 추정의 성능을 저하시키는 요인이 된다.
본 발명의 실시예에 따르면, 1BT에 따른 상술한 성능 저하 요인을 제거하기 위하여 거리 파라미터(D)를 추가할 수 있다.
T를 경계로 T-D와 T+D사이의 영역에 존재하는 화소들에 대해서는 NNMP에 의한 정합오차에 따른 판단에서 제외시킬 수 있다. 여기서, D는 미리 설정된 고정된 값을 사용하거나, 영상의 특성에 따라 적응적으로 결정될 수 있다.
따라서, 정합오차를 산출하는데 있어서, 문턱값(T)을 기준으로 거리 파라미터(D)를 적용한 화소값의 영역에 속하는 화소에 대한 정합오차의 산출을 스킵(skip)할 수 있다.
즉, 거리 파라미터(D)를 추가시켜 T-D와 T+D사이의 영역의 값에 해당하는 화소들은 정합오차의 판단에서 제외시킴으로써 성능을 저하시키는 요인을 제거할 수 있다.
Figure pat00010
T-D와 T+D사이의 영역에 존재하는 화소를 판단하기 위하여 수학식 5에 따른 새로운 이진 영상(CM)을 추가할 수 있다.
Figure pat00011
1BT의 이진영상과 CM영상에 대해 수학식 6에 따른 CNNMP를 적용하여 움직임 벡터를 추정할 수 있다.
여기서, CMt와 CMt -1은 각각 현재 프레임에 대한 CM과 참조 프레임에 대한 CM을 의미할 수 있다. 또한,
Figure pat00012
은 논리합(or) 연산을,
Figure pat00013
는 논리곱(and) 연산을 나타낼 수 있다.
따라서, 정합오차의 판단에서 T-D와 T+D 영역안의 화소들을 제외시켜주는 연산을 추가할 수 있다.
도 4는 프레임 단위로 거리 파라미터(D)를 설정할 수 있음을 나타내는 개념도이고, 도 5는 본 발명의 실시예에 따라 블록 단위로 거리 파라미터(D)를 설정할 수 있음을 나타내는 개념도이다.
C-1BT에서 D값에 따라 PSNR(Peak Signal to Noise Ratio)이 영향을 크게 받을 수 있다. 움직임이 많거나 복잡한(high-motion) 영상은 D값이 클수록 PSNR이 증가하고 반면에, 움직임 정도가 보통(medium-motion)인 영상은 D값이 작을수록 PSNR이 증가할 수 있다.
예를 들어 도 4를 참조하면, D값에 따른 PSNR의 민감한 변화로 인해 성능이 저하되는 요인을 보완하기 위하여 참조 프레임의 움직임 특성을 분석해서 프레임 단위로 적응적으로 D값을 변경할 수 있다.
따라서, 거리 파라미터(D)는 참조 프레임의 움직임 특성을 고려하여 참조 프레임 별로 결정될 수 있다. 즉, 움직임이 많거나 복잡한 프레임에 대해서는 큰 D값을 부여하고 움직임이 적거나 복잡하지 않은 프레임에 대해서는 작은 D값을 부여할 수 있다.
또한, 본 발명의 실시예에 따르면 거리 파라미터(D)는, 현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 참조 블록에 인접한 이웃 블록들의 움직임 특징을 고려하여 참조 블록 별로 결정될 수 있다.
예를 들어, 거리 파라미터(D)는 참조 블록에 인접한 이웃 블록들의 움직임 특성이 빠르거나 복잡한 경우 증가될 수 있고, 참조 블록에 인접한 이웃 블록들의 수평방향 움직임 벡터와 수직방향 움직임 벡터의 절대값을 각각 평균한 값에 기반한 기준값(
Figure pat00014
)을 이용하여 결정될 수 있다.
도 6은 본 발명의 실시예에 따라 블록 단위로 거리 파라미터(D)를 설정하는 방법을 설명하는 개념도이다.
도 6을 참조하면, 움직임 특성을 분석하기 위해 참조 프레임에서 사용되는 이웃 블록을 나타낸다. 음영이 있는 블록은 현재 블록에 상응하는 위치에 있는 참조 프레임의 블록(참조 블록)을 나타낸다.
Figure pat00015
수학식 7을 이용하여 이웃 블록과 음영이 있는 블록의 움직임 벡터에 대해서 x방향, y방향의 평균을 구할 수 있다. 여기서, 수학식 7은 모든 이웃 블록이 이용 가능한 경우를 나타낸다. 여기서, x방향, y방향은 수평방향 움직임 벡터 및 수직방향 움직임 벡터를 의미할 수 있다.
여기서
Figure pat00016
는 각각 블록의 x방향 움직임 벡터의 절대값을 나타내고,
Figure pat00017
는 각각 블록의 y방향 움직임 벡터의 절대값을 나타낼 수 있다.
또한, 프레임의 가장자리에 위치한 블록의 경우에는 이웃 블록을 모두 사용하지 못함으로, 이러한 경우에는 사용할 수 있는 이웃 블록만의 움직임 벡터를 가지고 움직임 특성을 판단할 수 있다. 움직임 특성을 판단하는 과정은 다음의 단계를 따른다
현재 프레임에 포함된 현재 블록에 상응한 참조 프레임 상의 참조 블록에 인접한 이웃 블록들의 수평방향 움직임 벡터와 수직방향 움직임 벡터의 절대값을 각각 평균한 값을 산출할 수 있다.
이웃 블록의 수평방향 움직임 벡터의 절대값을 평균한 값과 이웃 블록의 수직방향 움직임 벡터의 절대값을 평균한 값을 비교하여 기준값(
Figure pat00018
)을 산출할 수 있고, 산출된 기준값(
Figure pat00019
)에 기반하여 거리 파라미터(D)를 결정할 수 있다.
Figure pat00020
움직임 특성을 판단하기 위한 기준값(
Figure pat00021
)을 결정할 수 있고,
Figure pat00022
값으로부터 움직임 특성을 판단하여 D값을 결정할 수 있다.
Figure pat00023
표 1을 참조하면,
Figure pat00024
값에 기반하여 움직임 특성 정보를 알 수 있고 이를 통하여 D값을 결정할 수 있다. 즉,
Figure pat00025
값이 커질수록 D값을 증가시킬 수 있다.
따라서, 거리 파라미터(D)는 참조 블록에 인접한 이웃 블록들의 움직임 특성이 빠르거나 복잡한 경우 증가할 수 있다.
도 7은 기존의 방법과 본 발명의 실시예에 따른 움직임 추정에 따른 PSNR을 비교한 표이고, 도 8은 기존의 방법과 본 발명의 실시예에 따른 움직임 추정에 따른 처리 시간을 비교한 표이다.
여기서, container, dancer, flower, foreman, football, stefan는 동영상의 종류를 의미한다.
도 7을 참조하면, FS, 1BT 및C-1BT와 본 발명에 따른 움직임 추정에 따른 PSNR[dB]을 비교한 결과를 나타낸다. 본 발명의 실시예에 따른 움직임 추정 방법은 D값을 고정한 C-1BT에 비해 평균 0.11dB PSNR증가를 보임을 알 수 있다.
또한, 도 8을 참조하면, FS, 1BT 및C-1BT와 본 발명에 따른 움직임 추정에 따른 처리 시간[sec]를 비교한 결과를 나타낸다. 본 발명의 실시예에 따른 움직임 추정 방법은 D값을 고정한 C-1BT에 비해 평균 0.4초 정도의 시간이 증가함을 알 수 있다. 이는 참조 블록의 이웃 블록을 이용해 움직임 특성을 판단하는 부분이 추가되었기 때문에 처리 시간이 다소 증가하지만 비교적 빠른 인코딩 속도를 유지할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (6)

  1. 문턱값을 기준으로 현재 프레임과 참조 프레임의 각각을 구성하는 화소의 각각을 이진 변환하여 현재 프레임 및 변환된 참조 프레임을 산출하는 단계;
    상기 현재 프레임에 포함된 현재 블록에 상응한 상기 참조 프레임 상의 움직임 탐색 범위에서 상기 변환된 현재 프레임과 상기 변환된 참조 프레임에 대해 정합오차를 산출하는 단계; 및
    상기 정합오차에 기반하여 움직임을 추정하는 단계를 포함하는 움직임 추정 방법.
  2. 청구항 1에 있어서, 상기 정합오차를 산출하는 단계는,
    상기 문턱값을 기준으로 거리 파라미터를 적용한 화소값의 영역에 속하는 화소에 대한 상기 정합오차의 산출을 스킵(skip)하는 것을 특징으로 하는 움직임 추정 방법.
  3. 청구항 2에 있어서, 상기 거리 파라미터는,
    상기 참조 프레임의 움직임 특성을 고려하여 상기 참조 프레임 별로 결정되는 것을 특징으로 하는 움직임 추정 방법.
  4. 청구항 2에 있어서, 상기 거리 파라미터는,
    상기 현재 프레임에 포함된 현재 블록에 상응한 상기 참조 프레임 상의 참조 블록에 인접한 이웃 블록들의 움직임 특징을 고려하여 상기 참조 블록 별로 결정되는 것을 특징으로 하는 움직임 추정 방법.
  5. 청구항 4에 있어서, 상기 거리 파라미터는,
    상기 이웃 블록들의 수평방향 움직임 벡터와 수직방향 움직임 벡터의 절대값을 각각 평균한 값에 기반한 기준값을 이용하여 결정되는 것을 특징으로 하는 움직임 추정 방법.
  6. 청구항 2에 있어서, 상기 정합오차를 산출하는 단계는,
    상기 현재 프레임에 포함된 현재 블록에 상응한 상기 참조 프레임 상의 참조 블록에 인접한 이웃 블록들의 수평방향 움직임 벡터와 수직방향 움직임 벡터의 절대값을 각각 평균한 값을 산출하는 단계;
    상기 이웃 블록의 수평방향 움직임 벡터의 절대값을 평균한 값과 상기 이웃 블록의 수직방향 움직임 벡터의 절대값을 평균한 값을 비교하여 기준값을 산출하는 단계; 및
    상기 기준값에 기반하여 상기 거리 파라미터를 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법.
KR1020120126803A 2012-11-09 2012-11-09 이진 블록 정합을 이용한 움직임 추정 방법 KR101413364B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120126803A KR101413364B1 (ko) 2012-11-09 2012-11-09 이진 블록 정합을 이용한 움직임 추정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120126803A KR101413364B1 (ko) 2012-11-09 2012-11-09 이진 블록 정합을 이용한 움직임 추정 방법

Publications (2)

Publication Number Publication Date
KR20140060421A true KR20140060421A (ko) 2014-05-20
KR101413364B1 KR101413364B1 (ko) 2014-07-03

Family

ID=50889801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120126803A KR101413364B1 (ko) 2012-11-09 2012-11-09 이진 블록 정합을 이용한 움직임 추정 방법

Country Status (1)

Country Link
KR (1) KR101413364B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018124329A1 (ko) * 2016-12-28 2018-07-05 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101241508B1 (ko) * 2011-04-01 2013-03-11 한양대학교 산학협력단 분류기를 이용한 움직임 벡터 추정 방법 및 이러한 방법을 사용하는 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018124329A1 (ko) * 2016-12-28 2018-07-05 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR101413364B1 (ko) 2014-07-03

Similar Documents

Publication Publication Date Title
KR101409826B1 (ko) 적응적 탐색 범위를 이용한 움직임 예측 방법
US10142650B2 (en) Motion vector prediction and refinement using candidate and correction motion vectors
CN105409216B (zh) 丢失视频数据的条件隐藏
KR100498951B1 (ko) 동영상 압축 부호화를 위한 움직임 예측 방법과 그기록매체
US10091526B2 (en) Method and apparatus for motion vector encoding/decoding using spatial division, and method and apparatus for image encoding/decoding using same
KR101874100B1 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101808327B1 (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
US9948944B2 (en) Image coding apparatus and image coding method
Zhang et al. Low complexity HEVC INTRA coding for high-quality mobile video communication
KR20010033797A (ko) 스케일 가능한 계층적 움직임 추정을 실행하는 장치 및방법
CN101888546B (zh) 一种运动估计的方法及装置
US20130070846A1 (en) Motion vector encoding/decoding method and apparatus using a motion vector resolution combination, and image encoding/decoding method and apparatus using same
CN117480778A (zh) 残差编码和视频编码方法、装置、设备和系统
CN108401185B (zh) 参考帧选择方法、视频转码方法、电子设备和存储介质
US20050226329A1 (en) Motion estimation method using multilevel succesive elimination algorithm
KR0159370B1 (ko) 물체의 경계를 고려한 영상 부호화방법 및 장치
KR100209409B1 (ko) 물체 왜곡을 이용한 물체 기반 부호화 방법 및 장치
US10779012B2 (en) Error concealment in video communications systems
US8417040B2 (en) Image coding apparatus and image coding method
KR101413364B1 (ko) 이진 블록 정합을 이용한 움직임 추정 방법
JP2012104969A (ja) 動きベクトル生成装置、動きベクトル生成方法及びコンピュータプログラム
KR100584422B1 (ko) 영상데이터의 압축 장치 및 방법
KR101378434B1 (ko) 고속 화면내 예측 모드 결정 방법
US11528485B2 (en) Encoding apparatus and program
KR100987581B1 (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
LAPS Lapse due to unpaid annual fee