[go: up one dir, main page]

KR20030065314A - 모션 평가 수행 방법 - Google Patents

모션 평가 수행 방법 Download PDF

Info

Publication number
KR20030065314A
KR20030065314A KR1020027017048A KR20027017048A KR20030065314A KR 20030065314 A KR20030065314 A KR 20030065314A KR 1020027017048 A KR1020027017048 A KR 1020027017048A KR 20027017048 A KR20027017048 A KR 20027017048A KR 20030065314 A KR20030065314 A KR 20030065314A
Authority
KR
South Korea
Prior art keywords
motion vector
pixel
macroblocks
component
window
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.)
Granted
Application number
KR1020027017048A
Other languages
English (en)
Other versions
KR100549543B1 (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 인텔 코오퍼레이션
Publication of KR20030065314A publication Critical patent/KR20030065314A/ko
Application granted granted Critical
Publication of KR100549543B1 publication Critical patent/KR100549543B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

비디오 코딩을 위한 모션 평가(motion estimation)를 수행하는 방법은 다음을 포함한다.
메디안(median) 모션 벡터 성분은 모션 벡터를 포함하는 인접한 매크로블록들의 집합으로부터 결정된다. 결정된 메디안 모션 벡터 성분을 적용하는 것과 관련된 픽셀 위치를 중심으로 소정 크기의 창(window)을 검색하여 가장 가까운 일치(match)를 생성하는 픽셀 위치를 찾아낸다

Description

모션 평가 수행 방법{METHOD OF PERFORMING MOTION ESTIMATION}
잘 알려져 있는 바와 같이, 모션 평가(motion estimation)는 비디오 코딩의 일반적인 양상 또는 요소이다. 비디오 코딩을 수행하는 기술은 다양한데, 그 중 표준과 관련되어 있는 것과 관련되어 있지 않은 것이 있다. 흔히 사용되는 표준으로는 ITU-T "Video coding for low bit-rate communications"(ITU-T Recommendation H.263, version 1, Nov. 1995 and version 2, Jan.1998); "Generic Coding of Moving Pictures and Associated Audio Information: Video"(ISO/IEC 13818-2: International Standard 1995); 및 "Coding of audio-visual Objects-Part 2: Visual Amendment 1; Visual extensions"(ISO/IEC 1496-2: Draft of January 6, 2000)를 들 수 있는데, 이후로는 각각을 H.263(상기 version 1), H.263+(상기 version 2), MPEG-2, 및 MPEG-4라고 한다. 이들은 디코딩/압축해제 표준의 예들이다. 일반적으로는, 이들 표준 또는 이들 표준의 사양은 모션 평가와의 관련을 포함하여 사용될 수 있는 압축 방법에 대한 안내를 거의 또는 전혀 제공하지 않는다.
모션 평가는 비디오 프레임을 전송하는데 사용된 통신 채널의 대역폭을 더욱 효율적으로 활용할 수 있도록 비디오 프레임 내의 시간적 중복성(temporal redundancies)을 제거하는데 이용된다. 모션 평가는 일반적으로는 블록 검색 기술을 이용함으로써 수행된다. '풀 모션(fll motion) 검색 방법론은 기본적으로 검색창 내의 모든 픽셀의 위치를 검색하는 것인데, 일반적으로 계산상 매우 복잡하며, 때로는 실시간 응용 분야에서는 적용하기가 매우 어려울 것이다. 매크로블록이 사이용되는 전체 검색 모션 평가의 경우에는 검색점 수는 32 × 32 창에 대해 1,024개이다.
이러한 계산상의 복잡성을 줄이기 위해서 여러 가지 방법들이 제안되어 있다. 흔히 이용되는 방법은 로그(logarithmic) 검색에 기초를 둔 또는 로그 검색이라고 하는 것이다. 이 방법에서는 검색창 내의 모든 검색점 또는 픽셀 위치를 검색하는 대신에, 검색창의 1/4만큼 서로 떨어져 있는 초기의 9개의 점을 체크하거나 검색한다. 이들 9개 점으로부터 절대값 차이합(SAD)의 최소값이나, 이들 9개 점으로부터 평균 제곱 에러(MSE)와 같이 다른 에러 측정치의 최소값을 제공하는 검색점 또는 픽셀 위치를 찾은 후에, 그 검색점에 중심을 둔 8개의 추가점들에서 검색점들 간의 거리를 절반 만큼 줄여서 검색을 계속한다. 이것은 2개의 검색점 간의 거리가 한 픽셀 떨어질 때까지 계속된다. 이 방법에서는 풀 모션 검색 방법에서의 1,024개 검색점에 비해 33개의 검색점 만을 이용하여 어떤 결과를 도출해낸다. 각 추가 검색점에 대해서는 추가적인 계산이 행해진다.
로그 검색은 검색점 수를 줄이기는 하지만, 이 방법은 몇 가지 단점을 갖고있다. 예컨대, 이 모션 평가 방법에 의해 생성된 영상의 품질은 풀 모션 검색에 비해 대개는 좋지 못하다. 더욱이, 33개의 검색점을 가지고 수행되는 이 방법은 어떤 경우에서는 실시간 응용 분야에 여전히 적합하지 않을 수가 있다. 그러므로, 로그 검색 방법에 비해 화질 면에서 견줄만하거나 오히려 더 좋으면서도 계산상 훨씬 덜 복잡한 방식이나 기술에 대한 요구가 존재한다.
본 발명은 모션 평가 수행에 관한 것으로, 특히 예컨대 낮은 비트율 비디오 코딩과 같은 비디오 코딩의 모션 평가 수행에 관한 것이다.
본 발명의 청구대상은 본 명세서의 결론 부분에서 특정하여 청구되어 있다. 그러나, 본 발명은 그 목적, 특징, 및 이점과 함께 그 구성과 동작 방법에 관하여 첨부 도면을 참조로 다음의 상세한 설명으로부터 가장 잘 이해될 수 있다.
도 1은 본 발명에 따른 모션 벡터 예측 기술의 일 실시예에서 사용되는 매크로블록과 관련된 모션 벡터를 도시한 개략도.
도 2는 본 발명에 따른 실시예를 모션 평가에 적용한 시뮬레이션 결과를 보여주는 표.
도 3은 정수 픽셀 모션 평가의 실시예를 도시한 개략도.
도 4는 본 발명에 따른 실시예를 모션 벡터를 포함하는 예에 적용한 것을 보여주는 도면.
도 5는 본 발명에 따른 다른 실시예를 모션 평가에 적용한 시뮬레이션 결과를 보여주는 표.
본 발명에 따라서, 비디오 코딩을 위한 모션 평가를 수행하는 방법은
모션 벡터를 포함하는 인접한 매크로블록의 집합으로부터 메디안 모션 벡터 성분을 결정하는 단계; 및 가장 가까운 일치를 생성하는 픽셀 위치를 찾아내기 위하여 상기 결정된 메디안 모션 벡터 성분을 적용하는 것과 관련된 픽셀 위치를 중심으로 소정 크기의 창을 검색하는 단계를 포함한다.
다음의 상세한 설명에서는 본 발명을 충분히 이해할 수 있도록 수치적인 특정 세부사항이 기재된다. 그러나 당업자라면 이러한 특정의 세부사항이 없더라도 본 발명을 실시할 수 있음을 이해할 것이다. 기타 경우에 잘 알려져 있는 방법, 절차, 구성성분, 및 회로에 대해서는 본 발명을 명료히 하기 위하여 상세히 설명하지 않는다.
전술한 바와 같이, 모션 평가는 비디오 인코딩에 사용된다. MPEG-2 및 MPEG-4와 기타 비디오 표준들은 비디오 인코딩을 위해 적용되는 예들이다. 그러나, 이들 방법은 특히 모션 평가와 관련하여 사용할 압축 기술을 특정하는 것은 아니다. 전술한 바와 같이, 모션 평가는 일반적으로는 예컨대 한 위치에서 다른 위치로 비디오 프레임을 전송하는데 이용될 수 있는 한정된 양의 대역폭을 더욱 효율적으로 이용하기 위하여 비디오 프레임을 전송할 때에 시간적 중복성을 제거하는데 이용된다. 물론, 비디오 코딩과 디코딩은 저장과 같은 다른 상황에서도 이용되며, 본 발명은 이들 기술의 특정 적용에만 한정되는 것은 아니다.
풀 모션 검색은 모션 평가의 한 가지 기술이다. 그러나, 이 기술은 계산상 복잡하며 일반적으로는 실시간 응용 분야에서는 사용되기 어렵다. 전체 검색 모션평가의 경우에 매크로블록과 관련하여 이용될 32 × 32 창 내의 검색점 수는 1024이다. 매크로블록이라는 용어는 잘 알려져 있고 이해되는 것이므로 더 이상 자세히 설명하지는 않는다. 매크로블록은 일반적으로는 치수가 16 × 16인 휘도 픽셀의 정방형 어레이와, 치수가 각각 8 × 8인 색도 픽셀의 대응하는 2개의 정방형 픽셀을 포함하는 비디오 프레임의 일부를 말하지만, 본 명세서에서는 매크로블록은 색도 어레이가 아닌 휘도 어레이를 말한다. 이것은 본 특정 실시예에 대해서 적용된 약정(convention)인데, 이러한 약정의 이유는 일반적으로 색도 어레이에 대한 모션 벡터는 휘도 어레이에 대한 모션 벡터로부터 도출되기 때문이지만, 물론 본 발명은 이 점에 관해서 그 범위가 한정되는 것은 아니다.
계산상의 복잡성을 줄이기 위한 몇 가지 기술이 제안되어 있다. 전술한 바와 같이, 널리 보급되어 있는 방법은 로그 검색에 기초를 두고 있다. 이 방법에서는 전술한 바와 같이 검색창 내의 모든 검색점을 검색하는 대신에, 검색창 크기의 1/4 만큼 서로 떨어져 있는 초기의 9개 점들을 검색한다. 절대값 차이합(SAD)의 최소값이나 어떤 다른 측정치를 주는 이들 9개의 검색점 또는 픽셀 위치를 찾은 후에, 이 방법은 검색점들 간의 거리를 절반 만큼 줄여서 그 검색점에 중심을 둔 8개의 추가점들을 고려하거나 검색한다. 이 방법은 2개의 검색점 간의 거리가 한 픽셀 떨어질 때까지 계속된다. 그 결과, 풀 모션 검색에서의 1,024개에 비해 33개의 검색점이 체크된다. 여기서는 휘도 픽셀 신호 데이터만이 이용됨에 유의한다. 전술한 바와 같이, 이 방법은 풀 모션 검색에 비해 복잡성은 줄지만 실시간 응용 분야에서는 여전히 적합하지 않으며, 더욱이 비디오 영상이나 프레임의 품질이 낮아질 수가 있다.
이에 반해, 본 발명에 따른 모션 평가 수행 방법의 실시예는 예컨대 로그 검색 방법과 비교했을 때에 계산상의 복잡성을 줄이며 생성된 영상의 품질과 압축 효율면에서 압축 성능을 향상시킨다. 본 특정 실시예에서는 예컨대 통신 채널의 송신측에서의 모션 평가 수행 방법은 다음을 포함한다. 메디안 모션 벡터 성분은 모션 벡터를 포함하는 인접 매크로블록들의 집합으로부터 결정된다. 물론 이 특정 실시예는 매크로블록을 이용하지만 본 발명은 이 점에 관하여 그 범위가 한정되는 것은 아님에 유의한다. 예컨대, 매크로블록이 아닌 프레임의 다른 부분들이 이용될 수 있다. 그러나 본 실시예에서는 매크로블록을 이용하는 것은 이것이 잘 알려져 있어 편리하기 때문이며, 본 발명은 본 발명에 따른 실시예가 적용될 픽셀의 특정수 또는 특정 모양이나 배열에 한정되지 않는다.
다음, 결정된 메디안 모션 벡터 성분과 관련된 픽셀 위치를 중심으로 한 소정 크기와 모양의 창이 검색된다. 더 자세히 설명하면, 본 특정 실시예에서는 메디안 모션 벡터 성분은 매크로블록에 적용되어 픽셀 위치를 산출해 내며, 이 픽셀 위치는 검색창의 중심이다. 소정 크기 및 모양의 창을 검색하는 것 이외에도, 모든 성분이 제로값을 갖는 모션 벡터와 관련된 픽셀 위치도 검색 또는 체크된다. 그러므로, 창의 픽셀 위치들과 제로 모션 벡터와 관련된 픽셀 위치를 체크 또는 검색하여 어느 픽셀 위치가 이 기술이 적용되고 있는 특정 매크로블록과 가장 가까운 일치를 생성하는 지를 결정한다.
물론, 전술한 바와 같이, 본 발명은 특정 실시예에 그 범위가 한정되는 것은아니며 다양한 변형이 가능하다. 예컨대, 다른 실시예에서는 제로값 모션 벡터는 검색에서 생략될 수 있다. 또한, 특정 매크로블록과 체크 또는 검색되고 있는 픽셀 위치에 중심을 둔 매크로블록 간에 절대값 차이합(SAD)을 적용함으로써 픽셀 위치 검색 시 가장 가까운 일치를 결정할 수 있으나, 본 발명은 이에 관해서 그 범위가 한정되지 않는다. 또한, 이와 달리, 최소 평균 제공 에러(MSE) 방법이 이용될 수 있으며, 에러나 차이를 측정하는 기타 다른 많은 가능한 방법들 중 어느 것이라도 이용될 수 있다. 또한, 이 특정 실시예에서 메디안 모션 벡터 성분은 도 1에 도시된 바와 같이 본 실시예에서는 특히 3개인 인접한 매크로블록의 집합으로부터 결정된다. 또한 본 발명은 또한 인접 매크로블록에 관한 특정 방법에 그 범위가 한정되지 않으며, 이용된 인접 매크로블록의 집합을 특징짓는 많은 방법들 중 임의의 것도 가능하다. 예컨대, 더 적은 또는 더 많은 매크로블록이 이용될 수 있다. 또한 다른 실시예에서는 연속한 또는 계열적인 매크로블록이 반드시 이용되지 않을 수도 있다.
또한, 본 특정 실시예에서는 전술한 바와 같이 가장 가까운 일치를 결정하기 위해서는 휘도 픽셀값이 이용되나, 본 발명은 이에 관해서 그 범위가 한정되지 않는다. 그러나, 휘도 픽셀 신호값이 이용될 수 없는 곳에서는, 다른 일 실시예로서, 최대의 휘도 신호 정보량을 포함하는 프레임의 성분이 이용될 수 있다. 또한, 휘도가 이용되는 대신에 색도 신호값, 즉 색도 성분이 우세한 신호값이 이용될 수 있다. 또한, 본 발명은 특정 방법에 그 범위가 한정되지 않는다. 예컨대, 프레임이 적-녹-청(RGB) 색공간 포맷으로 제공되는 경우에는, 일반적으로 녹색 픽셀 신호값이 이용될 것이나, 본 발명은 이에 관해서도 그 범위에 한정되지 않는다.
MPEG-4 및 H.263에 있어서도 프레임간 코딩(interframe coding)이 이용되는 경우에 모션 벡터가 코딩되고 전송되나, 본 발명은 이에 관해서 그 범위가 한정되는 것은 아니다. 전송된 압축 비디오 데이터 스트림은 일반적으로 에러 프레임에 대한 코드는 물론 모션 평가에 의해 생성된 모션 벡터에 대한 코드를 포함한다. 그와 같은 상황에서 본 특정 실시예에서는 모션 벡터(MV)는 2개의 성분 (MVX, MVY)로 표현될 수 있다. 여기서, MVX및 MVY는 각각 수평 및 수직 방향에서의 성분이다. 일반적으로 모션 벡터는 도 3을 참조로 다음과 같이 계산될 수 있다.
여기서,
(x0, y0) 현재 매크로블록의 상좌측 코너 좌표
C[x,y] 현재 매크로블록 휘도 샘플
R[x,y] 재구성된 선행 프레임 휘도 샘플
S 검색 범위: {(x, y): -16≤x,y<16}
(MVX, MVY) 최저합 이상이 되는 모션 벡터
본 특정 실시예에서는 모션 벡터 코딩에 이용되는 비트 수를 줄이기 위해서, 도 1에 도시된 바와 같이 각각이 모션 벡터를 갖고 있는 3개의 매크로블록의 공간적 인접성을 이용하여 수평 및 수직인 모션 벡터 성분이 차등적으로 코딩된다. 본실시예에서는 이러한 인접 신호 정보가 이미 전송되었음에도 유의한다. 그러면, 본 실시예에서는 이들 3개의 모션 벡터는 현재 코딩될 모션 벡터의 차등 코딩을 위한 후보 예측기(candidate predictor)이다. 물론 전술한 바와 같이 본 발명은 이 3개의 선행 매크로블록, 더 구체적으로는 이 3개의 선행 매크로블록으로부터의 모션 벡터을 이용하는 것에 범위가 한정되지 않는다. 이 특정 실시예에 대해서 전술한 바와 같이 많은 선행 매크로블록 중 임의의 것이 이용될 수 있으며, 마이크로블록은 연속적일 필요가 없다.
본 실시예에서는 모션 벡터 코딩은 수평 및 수직 성분에 대해 독립적으로 수행된다. 본 실시예에서는 각 성분에 대해서 어떤 성분의 3개의 후보의 중앙값(median value)은 다음과 같이 계산된다.
Px = Median(MV1x, MV2x, MV3x)
Py = Median(MV1y, MV2y, MV3y)
예컨대, MV1이 (-2, 3)이고, MV2가 (2, 5)이고, MV3이 (-1, 8)이라면, 여기서 Px 및 Py로 표시된 메디안 모션 벡터 성분은 각각 -1과 5이다. 그 결과, 다음의 식으로 표시된다.
MVDx = MVx - Px
MVDy = MVy - Py
본 방법의 일 양상은 일반적으로 인접 매크로블록 사이의 모션 벡터 필드에서는 공간 상관이 존재한다는 것이다. 그러므로 효율적인 검색 방법은 Px와 Py에 중심을 둔 더 작은 검색창을 이용하는 것을 포함한다. 또한, 여기서는 각 벡터 성분에 대해 따로 따로 중앙값을 계산함으로써 부가 정보를 위한 기회가 존재한다. 특히, 메디안 모션 벡터 성분이 동일한 매크로블록으로부터 나온 것이라면, 이것은 모션 벡터 필드가 비교적 '완만(smooth)'이라는 것을 의미할 수 있다. '완만'은 본 명세서에서는 공간적으로 비교적 가까이 인접해 있는 모션 벡터 간에는 비교적 변화가 거의 없다는 것을 의미한다. 그러므로, 본 실시예에서는 검색창은 Px와 Py에 중심을 둔 9개의 점으로 한정된다. 그러나, 이와 달리, 여기서 수평 및 수직인 메디안 모션 벡터 성분이 각각 서로 다른 매크로블록으로부터 나온 것이라면, 이것은 모션 필드가 더 복잡한 것이라는 것을 의미할 수 있으며, 따라서 검색창은 Px와 Py에 중심을 둔 25개 점으로 증가된다. 또한, 본 실시예에서 모든 성분에 대한 제로 모션 벡터도 검색되나, 전술한 바와 같이 본 발명은 이에 관련하여 그 범위에 한정되지 않는다. 제로 모션 벡터를 이용하는 이유는 이것이 SAD와 같은 에러에 관하여 허용될 수 있는 일치를 제공하는 경우에 대역폭을 보존하기 때문인데, 이는 일부 상황에서는 특히 바람직한 것이 될 수 있다. 전술한 바와 같이, 본 특정 실시예에서는 절대값 차이합(SAD)이 이용되지만, 본 발명은 이에 관하여 그 범위로 한정되지는 않는다.
의사코드(pseudocode)를 이용하면, 본 발명에 따른 본 특정 기술 또는 실시예는 다음과 같이 특징지어질 수 있다.
도 2는 본 특정 실시예를 풀 모션 검색 및 로그 검색과 비교한 경우의 효율을 비교하는 표를 나타낸 것이다. 풀 모션 검색에서는 전술한 바와 같이 검색점의 수가 1,024개가 되도록 검색 범위가 (-16, 15)이다. 또한, 로그 검색은 33개의 검색점을 포함한다. 물론 본 특정 실시예에서의 검색점 수는 부분적으로는 비디오 계열 또는 계열들에 따라 달라진다. 본 실시예가 적용된 계열들의 이러한 특정 집합에서는 검색점 수가 26과 10의 가중 평균이 되도록 당시의 69% 정도로서 더 작은 검색창이 적용되며, 본 예에서는 15개의 검색점을 제공하게 된다. 이러한 결과는 134개 프레임에 대해 QCIF(Quarter Common Intermediate Format) 크기의 영상을 가진 영상 계열을 이용하여 얻어졌다. 여기에 적용된 프레임 레이트는 초당 10 프레임이었다.
도 2의 표에 있는 결과는 본 발명에 따른 본 실시예에 대해 모션 평가가 수행된 경우에 복잡성이 감소된 것을 보여준다. 이것은 통상적으로 모션 평가가 비디오 인코더 계산 부담의 상당 부분을 포함하기 때문에 바람직한 결과이다. 본 특정 실시예에서의 검색점 수는 풀 모션 검색에 이용된 검색점 수의 1.5%에 불과하므로, 계산 부담이 크게 줄어든다. 또한, 본 특정 실시예에 있어서 비트율은 풀 모션 검색에 비해 4.5% 이상 감소되지만, 신호 대 잡음비의 저하는 약 0.45 내지 0.65 데시벨에 불과하다. 또한, 표에 나타나 있는 바와 같이, 본 특정 실시예에서 얻어진 피크 신호 대 잡음비(PSNR)는 로그 검색에서 얻어진 것보다 양호하며, 복잡성과 "비트 버젯(bit budget)"이 줄어든다.
전술한 바와 같이, 본 발명에 따른 본 실시예는 모션 평가와 인코딩에 대한 종래의 방법들에 비해 잇점이 많다. 전술한 바와 같이, 이러한 잇점들로는 계산 부담의 경감, 압축비 향상, 모션 벡터 코딩에 있어서의 비트수 감소, 그리고 로그 검색에 비해 개선된 피크 신호 대 잡음비가 있다. 또한, 본 특정 실시예는 아주 낮은 비트율 코딩을 위한 MPEG-4 와 H.263에도 잘 맞다. 또한, 본 실시예는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합 등 원하는 형태로 구현될 수 있다.
본 발명에 따른 다른 실시예는 다음의 의사코드로 설명되며, Rx와 Ry는 다음과 같이 계산된다.
본 특정 실시예는 선행 실시예보다 계산상의 복잡성이나 부담이 줄어드는 잇점은 있으나, 결과적으로 영상 품질 면에서 희생이 있을 수 있다. 본 실시예는 모션 벡터 필드에 대한 속성을 결정 또는 추론하는데 중앙값이 계산되어 이용된다는 점에서 선행 실시예와 유사하다. 전술한 바와 같이, 본 실시예에서 모든 좌표에 대한 중앙값이 동일한 매크로블록으로부터 나온다면, 검색은 9개 점으로 한정된다. 그러나, 좌표에 대한 중앙값이 서로 다른 매크로블록으로부터 나온다면, 검색할 점의 수는 증가할 수도 증가하지 않을 수도 있다. 이 상황에서 단순히 25개점 창을 검색하기 보다는, 선행 실시예에서처럼, 다른 방향들에서의 범위가 계산되고 그 정보를 이용하여 검색창에 대해 판단한다.
범위값(Rx, Ry)은 모션 벡터 필드가 이들 방향에서 어떻게 변화될 수 있는가에 대한 표시를 제공한다. 그러므로, 이 변화는 비교적 크며, 따라서 그 방향에서 더 큰 창이 검색되나, 그 변화가 비교적 작으면 그 방향에서 더 작은 창이 검색된다. 이 실시예는 선행 실시예에 비해 복잡성이 감소되는데, 그 이유는 일부 경우에 후자(latter) 실시예에 있어서는 9개점 또는 15개점 검색이 이용될 것이고 반면에 전자(former) 실시예에 있어서는 25개점 검색이 이용되었을 수 있기 때문이다.
본 특정 실시예의 응용은 도 4의 예로 구체적으로 설명된다. 모션 벡터는 (4, 2), (9, 3) 및 (5, 4)이다. 그러므로, 선행 실시예가 적용되는 경우에는 (5, 3)에 중심을 둔 3 × 5 직사각형이 검색된다.
또한, 도 5는 본 실시예를 선행 실시예가 평가되었던 계열에 적용한 결과를 나타낸 표이다. 도 5는 본 실시예에서의 결과와 풀 모션 검색, 로그 검색 및 선행 실시예에서의 결과의 비교를 제공한다.
물론, 본 발명은 전술한 바와 같이 특정 실시예나 구현에 그 범위가 한정되는 것은 아님을 잘 알 것이다. 예컨대, 본 발명에 따른 방법의 일 예로서의 전술한 방법은 하드웨어, 소프트웨어, 펌웨어, 및/또는 이들의 조합 형태로 구현될 수 있다. 또한, 본 발명의 범위를 한정하는 것이 아닌 예로서 제공되는 실시예는 전술한 실시예들을 구현하는 집적회로 칩과 같은 하드웨어를 포함하는이미저(imager)를 포함할 수 있다. 대안으로서, 이미저는 전술한 실시예들을 구현할 수 있는 소프트웨어를 포함하는 컴퓨팅 플랫폼에 연결될 수 있다. 또한, 예컨대 데스크톱 개인용 컴퓨터에 연결된 디지털 카메라도 실시예를 구현할 수 있다. 또한, 이들 하드웨어 및 소프트웨어 구현은 물론 전술한 실시예들과는 차이가 있을 수 있으나 여전히 본 발명의 범위에 포함된다.
예컨대 전술한 실시예와 같이 적어도 부분적으로는 소프트웨어로 구현된 실시예들에서 그와 같은 소프트웨어는 그 명령어들이 저장되도록 예컨대 랜덤 액세스 메모리, CD ROM, 플로피 디스크 또는 하드드라이브와 같은 저장 매체에 저장되어, 컴퓨터 플랫폼, PC 기타 다른 컴퓨팅 장치와 같은 것에 의해 실행될 때에 시스템은 그 명령어들을 실행시켜 모션 평가의 결과를 내놓게 된다. 또한, 그와 같은 소프트웨어는 예컨대 플래시 메모리나 EEPROM 같은 곳에 펌웨어 형태로 저장될 수도 있다.
지금까지 본 발명의 특정 특징들에 대해서 설명하였지만, 당업자라면 본 발명을 여러 가지로 변형, 대체, 수정, 등가 치환할 수 있을 것이다. 그러므로, 첨부된 청구범위는 본 발명의 본질 내에 있는 그와 같은 모든 변형이나 수정을 포함함은 물론이다.

Claims (37)

  1. 비디오 코딩을 위한 모션 평가(motion estimation)를 수행하는 방법에 있어서,
    모션 벡터를 포함하는 인접한 매크로블록들의 집합으로부터 메디안(median) 모션 벡터 성분을 결정하는 단계; 및
    가장 가까운 일치(match)를 생성하는 픽셀 위치를 찾아내기 위하여 상기 결정된 메디안 모션 벡터 성분을 적용하는 것과 관련된 픽셀 위치를 중심으로 소정 크기의 창(window)을 검색하는 단계
    를 포함하는 모션 평가 수행 방법.
  2. 제1항에서, 상기 검색 단계는 제로값 성분(zero valued component)을 가진 모션 벡터와 관련된 픽셀 위치를 검색하는 단계를 포함하는 모션 평가 수행 방법.
  3. 제2항에서, 상기 모션 벡터 평가는 비디오 프레임의 소정 부분에 적용되는 모션 평가 수행 방법.
  4. 제3항에서, 비디오 프레임의 상기 소정 부분은 특정 매크로블록(macroblock)을 포함하고;
    상기 모션 평가 수행 방법은
    상기 메디안 모션 벡터 성분과 잠재적(potential) 픽셀 위치들로부터 가장 가까운 일치를 생성하는 상기 픽셀 위치 간의 차이에 적어도 부분적으로 기초하여 상기 특정 매크로블록에 대해서 모션 벡터를 코딩하는 단계
    를 더 포함하는 모션 평가 수행 방법.
  5. 제2항에서, 상기 메디안 모션 벡터 성분은 수평 모션 벡터 성분과 수직 모션 벡터 성분을 포함하는 모션 평가 수행 방법.
  6. 제2항에서, 상기 인접한 매크로블록들의 집합은 3개의 선행 코딩된(previously coded) 매크로블록을 포함하는 모션 평가 수행 방법.
  7. 제6항에서, 상기 3개의 선행 코딩된 매크로블록은 바로 직전에 코딩된 3개의 매크로블록을 포함하는 모션 평가 수행 방법.
  8. 제2항에서, 상기 잠재적 픽셀 위치들의 각 픽셀 위치에 절대값 차이합(sum of absolute difference)을 적용함으로써 상기 가장 가까운 일치를 생성하는 상기 픽셀 위치가 결정되는 모션 평가 수행 방법.
  9. 제8항에서, 상기 가장 가까운 일치는 휘도(luminance) 픽셀 신호값의 가장 가까운 일치를 포함하는 모션 평가 수행 방법.
  10. 제2항에서, 상기 잠재적 픽셀 위치들의 각 픽셀 위치에 평균 제곱 에러(mean square error: MSE)를 적용함으로써 상기 가장 가까운 일치를 생성하는 상기 픽셀 위치가 결정되는 모션 평가 수행 방법.
  11. 제1항에서, 상기 메디안 모션 벡터 성분은 다른 성분들과는 관계없이 상기 인접하는 매크로블록들의 집합으로부터 결정되는 모션 평가 수행 방법.
  12. 제11항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 서로 다른 매크로블록들로부터 나온 것인 경우에, 상기 창은 5 × 5 픽셀 창으로 이루어지는 모션 평가 수행 방법.
  13. 제11항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 서로 다른 매크로블록들로부터 나온 것인 경우에, 상기 모션 벡터 성분의 범위가 계산되는 모션 평가 수행 방법.
  14. 제13항에서, 특정 성분의 범위가 소정값과 같거나 그 이하인 경우에, 검색된 상기 창의 길이는 그 특정 성분 방향에서는 3개 픽셀이고, 그 외의 방향에서는 5개 픽셀인 모션 평가 수행 방법.
  15. 제14항에서, 상기 소정값은 3개 픽셀인 모션 평가 수행 방법.
  16. 제13항에서, 특정 성분의 범위가 소정값 이하인 경우에, 검색된 상기 창은 그 특정 성분 방향에서는 소정의 정수값 X이고, 그 외의 방향에서는 상기 X보다 더 큰 소정의 정수값 Y인 모션 평가 수행 방법.
  17. 제11항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 동일한 매크로블록들로부터 나온 것인 경우에, 상기 창은 3 × 3 픽셀 창을 포함하는 모션 평가 수행 방법.
  18. 컴퓨팅 플랫폼(platform)에 의해 실행될 수 있는 명령어를 저장하되, 상기 명령어가 상기 컴퓨팅 플랫폼에 의해 실행된 결과
    모션 벡터를 포함하는 인접한 매크로블록들의 집합으로부터 메디안 모션 벡터 성분을 결정하고;
    가장 가까운 일치를 생성하는 픽셀 위치를 찾아내기 위하여 상기 결정된 메디안 모션 벡터 성분을 적용하는 것과 관련된 픽셀 위치를 중심으로 소정 크기의 창을 검색하는
    저장 매체를 포함하는 제조 물품.
  19. 제18항에서, 상기 검색은 제로값 성분을 가진 모션 벡터와 관련된 픽셀 위치를 검색하는 제조 물품.
  20. 제19항에서, 상기 명령어가 실행된 결과, 잠재적 픽셀 위치들로부터 가장 가까운 일치를 생성하는 상기 픽셀 위치에 적어도 부분적으로 기초하여 특정 매크로블록에 대한 모션 벡터가 추정되고;
    상기 메디안 모션 벡터 성분과 상기 잠재적 픽셀 위치들로부터 가장 가까운 일치를 생성하는 상기 픽셀 위치 간의 차이에 적어도 부분적으로 기초하여 상기 특정 매크로블록에 대해서 상기 모션 벡터를 코딩하는
    제조 물품.
  21. 제20항에서, 상기 잠재적 픽셀 위치들의 각 픽셀 위치에 절대값 차이합을 적용함으로써 상기 가장 가까운 일치를 생성하는 상기 픽셀 위치가 결정되는 제조 물품.
  22. 제21항에서, 상기 가장 가까운 일치는 휘도 픽셀 신호값의 가장 가까운 일치를 포함하는 제조 물품.
  23. 제18항에서, 상기 메디안 모션 벡터 성분은 다른 성분들과는 관계없이 상기 인접하는 매크로블록들의 집합으로부터 결정되는 제조 물품.
  24. 제23항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 서로 다른 매크로블록들로부터 나온 것인 경우에, 상기 창은 5 × 5 픽셀 창으로 이루어지는 제조 물품.
  25. 제23항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 서로 다른 매크로블록들로부터 나온 것인 경우에, 상기 모션 벡터 성분의 범위가 계산되는 제조 물품.
  26. 제25항에서, 특정 성분의 범위가 소정값과 같거나 그 이하인 경우에, 검색된 상기 창의 길이는 그 특정 성분 방향에서는 3개 픽셀이고, 그 외의 방향에서는 5개 픽셀인 제조 물품.
  27. 제25항에서, 특정 성분의 범위가 소정값 이하인 경우에, 검색된 상기 창은 그 특정 성분 방향에서는 소정의 정수값 X 픽셀이고, 그 외의 방향에서는 상기 X보다 더 큰 소정의 정수값 Y 픽셀인 제조 물품.
  28. 제23항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 동일한 매크로블록들로부터 나온 것인 경우에, 상기 창은 3 × 3 픽셀 창을 포함하는 제조 물품.
  29. 컴퓨팅 플랫폼을 포함하며,
    상기 컴퓨팅 플랫폼은 모션 벡터를 포함하는 인접한 매크로블록들의 집합으로부터 메디안 모션 벡터 성분을 생성하고, 모션 평가를 발생시키기 위하여 상기 메디안 모션 벡터 성분과 관련된 픽셀 위치를 중심으로 소정 크기의 창을 검색하는
    모션 평가 수행 시스템.
  30. 제29항에서, 상기 플랫폼은 제로값 성분을 가진 모션 벡터와 관련된 픽셀 위치를 검색하는 모션 평가 수행 시스템.
  31. 제30항에서, 상기 플랫폼은 상기 메디안 모션 벡터 성분과 상기 평가된 모션 벡터 간의 차이에 적어도 부분적으로 기초하여 상기 특정 매크로블록에 대해서 상기 모션 벡터를 코딩하는 모션 평가 수행 시스템.
  32. 제31항에서, 상기 플랫폼은 다른 성분들과는 관계없이 상기 인접하는 매크로블록들의 집합으로부터 상기 메디안 모션 벡터 성분을 결정하는 모션 평가 수행 시스템.
  33. 제32항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 서로 다른 매크로블록들로부터 나온 것인 경우에, 상기 플랫폼은 5 × 5 픽셀 크기의 창을 검색하는 모션 평가 수행 시스템.
  34. 제32항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 서로 다른 매크로블록들로부터 나온 것인 경우에, 상기 플랫폼은 상기 모션 벡터 성분의 범위를 계산하는 모션 평가 수행 시스템.
  35. 제34항에서, 특정 성분의 범위가 소정값과 같거나 그 이하인 경우에, 상기 플랫폼은 그 길이가 상기 특정 성분 방향에서는 3개 픽셀이고, 그 외의 방향에서는 5개 픽셀인 창을 검색하는 모션 평가 수행 시스템.
  36. 제34항에서, 특정 성분의 범위가 소정값 이하인 경우에, 상기 플랫폼은 그 크기가 상기 특정 성분 방향에서는 소정의 정수값 X 픽셀이고, 그 외의 방향에서는 상기 X보다 더 큰 소정의 정수값 Y 픽셀인 창을 검색하는 모션 평가 수행 시스템.
  37. 제32항에서, 상기 메디안 모션 벡터 성분이 상기 인접하는 매크로블록들의 집합 내의 동일한 매크로블록들로부터 나온 것인 경우에, 상기 플랫폼은 3 × 3 픽셀 크기의 창을 검색하는 모션 평가 수행 시스템.
KR1020027017048A 2000-06-16 2001-06-01 모션 평가 수행 방법 Expired - Fee Related KR100549543B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US59612700A 2000-06-16 2000-06-16
US09/596,127 2000-06-16
PCT/US2001/018009 WO2001099437A2 (en) 2000-06-16 2001-06-01 Method of performing motion estimation

Publications (2)

Publication Number Publication Date
KR20030065314A true KR20030065314A (ko) 2003-08-06
KR100549543B1 KR100549543B1 (ko) 2006-02-03

Family

ID=24386080

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027017048A Expired - Fee Related KR100549543B1 (ko) 2000-06-16 2001-06-01 모션 평가 수행 방법

Country Status (8)

Country Link
EP (1) EP1295483B1 (ko)
JP (1) JP4914555B2 (ko)
KR (1) KR100549543B1 (ko)
AT (1) ATE476829T1 (ko)
AU (1) AU2001265349A1 (ko)
DE (1) DE60142739D1 (ko)
TW (1) TW550953B (ko)
WO (1) WO2001099437A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803405B1 (ko) * 2003-09-30 2008-02-13 인텔 코오퍼레이션 규칙적 형태의 모션 검색

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455119B1 (ko) * 2002-01-26 2004-11-06 엘지전자 주식회사 움직임 벡터 영역의 적응적 결정 방법
NO318167B1 (no) 2002-11-27 2005-02-14 Tandberg Telecom As Vektorprediksjon
US20060120612A1 (en) * 2004-12-08 2006-06-08 Sharath Manjunath Motion estimation techniques for video encoding
US8761259B2 (en) 2005-09-22 2014-06-24 Qualcomm Incorporated Multi-dimensional neighboring block prediction for video encoding
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
JP2018014064A (ja) * 2016-07-19 2018-01-25 Gft株式会社 室内用自走式ロボットの位置測定システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150284A (ja) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
JPH05328333A (ja) * 1992-05-15 1993-12-10 Toshiba Corp 動きベクトル検出装置
JPH06209466A (ja) * 1992-10-07 1994-07-26 Canon Inc 動ベクトル検出装置
JP4142180B2 (ja) * 1998-10-29 2008-08-27 富士通株式会社 動きベクトル符号化装置および復号装置
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803405B1 (ko) * 2003-09-30 2008-02-13 인텔 코오퍼레이션 규칙적 형태의 모션 검색

Also Published As

Publication number Publication date
DE60142739D1 (de) 2010-09-16
EP1295483A2 (en) 2003-03-26
AU2001265349A1 (en) 2002-01-02
ATE476829T1 (de) 2010-08-15
KR100549543B1 (ko) 2006-02-03
WO2001099437A2 (en) 2001-12-27
WO2001099437A3 (en) 2002-08-08
JP4914555B2 (ja) 2012-04-11
TW550953B (en) 2003-09-01
EP1295483B1 (en) 2010-08-04
JP2004501582A (ja) 2004-01-15

Similar Documents

Publication Publication Date Title
US11856220B2 (en) Reducing computational complexity when video encoding uses bi-predictively encoded frames
EP1147668B1 (en) Improved motion estimation and block matching pattern
JP3190529B2 (ja) 映像データ・ブロック変換システム
US9351014B2 (en) Moving image encoding and decoding system
US6628711B1 (en) Method and apparatus for compensating for jitter in a digital video image
US20060083310A1 (en) Adaptive overlapped block matching for accurate motion compensation
US20030112873A1 (en) Motion estimation for video compression systems
US20100149422A1 (en) Image block classification
JP2009520407A (ja) 予測誘導間引き探索を使用する動き推定
JPH09154137A (ja) 動き依存予測を使用したビデオ情報の圧縮方法と装置
US7702168B2 (en) Motion estimation or P-type images using direct mode prediction
KR20010080914A (ko) 비디오 코딩
JPH11239354A (ja) 動きベクトル検出器
KR100549543B1 (ko) 모션 평가 수행 방법
KR100782800B1 (ko) 움직임 추정 방법
Huang et al. An adaptively refined block matching algorithm for motion compensated video coding
Pradhan et al. Survey on block matching algorithms for motion estimation
Mishra et al. Comparative study of motion estimation techniques in video
JP2937134B2 (ja) 動きベクトル探索方法
KR100255634B1 (ko) 움직임 검출장치
Dhara et al. Video motion estimation using prediction based hybrid approach
Lin et al. Adaptive block-matching algorithm for video compression
Wittebrood et al. Real-time recursive motion segmentation of video data
Dufaux et al. Combined spline-and block-based motion estimation for video coding

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20021213

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20050531

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20051028

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20060127

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20060131

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20090122

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20100119

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20110113

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20120110

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20120110

Start annual number: 7

End annual number: 7

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee