KR20120072205A - 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법 - Google Patents

매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법 Download PDF

Info

Publication number
KR20120072205A
KR20120072205A KR1020100134039A KR20100134039A KR20120072205A KR 20120072205 A KR20120072205 A KR 20120072205A KR 1020100134039 A KR1020100134039 A KR 1020100134039A KR 20100134039 A KR20100134039 A KR 20100134039A KR 20120072205 A KR20120072205 A KR 20120072205A
Authority
KR
South Korea
Prior art keywords
motion vector
macroblock
value
sad
macroblocks
Prior art date
Application number
KR1020100134039A
Other languages
English (en)
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 KR1020100134039A priority Critical patent/KR20120072205A/ko
Priority to US13/315,307 priority patent/US20120163462A1/en
Publication of KR20120072205A publication Critical patent/KR20120072205A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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

Landscapes

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

Abstract

본 발명은 1번 매크로블록의 움직임 벡터 및 3번 매크로블록의 움직임 벡터의 평균값을 예측 움직임 벡터로 결정하는 단계, 2번 매크로블록에 대하여 예측 움직임 벡터에 기초한 SAD 값인 예측 SAD 값을 계산하는 단계, 2번 매크로블록의 주변 매크로블록에 대한 기준 SAD 값과, 예측 SAD 값에서 소정의 임계치를 뺀 값을 비교하는 단계 및 비교 결과에 따라 2번 매크로블록에 대하여 정상적인 움직임 벡터 추정을 선택적으로 수행하는 단계를 포함하는 것을 특징으로 한다.

Description

매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법{Motion estimation apparatus and method using prediction algorithm between macroblocks}
본 발명은 영상데이터 압축 알고리즘을 하드웨어로 구현하기 위한 SoC(System On a Chip) 설계에 관한 것으로, 더욱 상세하게는 영상압축 알고리즘 중 매크로블록의 처리 순서를 변경하고 매크로블록 간의 예측 기법을 이용하여 움직임을 추정하는 장치 및 방법에 관한 것이다.
H.264는 국제적인 동영상 표준 제정 그룹인 ITU의 VCEG(Video Coding Experts Group)와 ISO의 MPEG(Moving Picture Experts Group)이 공동으로 개발하고 있는 표준이다. 이 표준은 매우 높은 압축율을 주요 기술적 목표로 하고 있으며, 저장매체, 인터넷, 위성방송 등의 거의 모든 전송미디어 및 다양한 동영상 해상도의 환경에서 사용될 수 있는 범용 동영상 부호화 기술이다. 전통적으로 ITU의 국제 표준은 유선 통신 매체를 기반으로 한 H.261, H.263, H.264 등의 동영상 부호화 표준을 제정하여 왔으며, MPEG은 저장매체나 방송매체에서의 동영상 처리를 위한 MEPG-1, MPEG-2 등을 표준으로 제정하였다. MPEG은 또한 멀티미디어 전반에 걸친 부호화 표준인 MPEG-4에서 객체 기반 동영상 부호화를 중요한 특징으로 하는 다양한 기능과 고압축율을 실현한 MPEG-4 동영상 표준 제정을 완료하였다. ITU의 VCEG 그룹에서는 MPEG-4 동영상 표준 제정 이후에도 계속 H.26L이라는 이름으로 고압축율의 동영상 표준을 제정하여 왔는데, MPEG에서의 공식적인 비교 실험에서, 비슷한 기능의 MPEG-4 동영상 표준(advanced simple profile)보다 압축률의 측면에서 큰 우위성을 나타내었다. 이에 따라 MPEG은 H.26L을 기반으로 ITU VCEG 그룹과 공동으로 JVT(Joint Video Team) 동영상 표준인 H.264/AVC를 개발하기로 하였다. H.264/AVC는 다양한 우수한 특성을 가지고 있다. 현재 시장에서는 고화질 고해상도의 처리가 가능한 SoC를 요구하고 있으며, 해상도가 커짐에 따라서 외부 메모리와 내부 메모리 간에 데이터 전송이 빈번하게 일어나게 되는데 이는 전체 시스템의 성능 저하를 가져오는 문제점이 있다.
일반적으로 영상 신호는 인접한 화면들과 높은 상관성(correlation)을 가지고 있다. 이러한 시간 축상에서 존재하는 중복적인 정보(redundant information)를 줄임으로써 영상신호의 압축 효율을 높이는 알고리즘으로, 움직임 추정(Motion Estimation)이 이용되고 있다. 움직임 추정은 많은 계산량이 필요한 부분으로, 지금까지 많은 알고리즘 및 하드웨어 구조가 연구되어 오고 있으며, 도 1은 종래 움직임 추정 장치 중 하나로서, 영상의 화질은 저하시키지 않고 움직임 추정 생략(Motion Estimation Skip) 알고리즘을 이용하는 혼합형 계층 탐색을 수행하는 움직임 추정 장치의 개략적인 구성을 나타낸 도면이다.
도 1을 참조하면, 혼합형 움직임 추정 장치(100)는 제1 및 제2 메모리(101, 102), 움직임 추정 생략부(120), 움직임 추정부(130), 멀티플렉서(140), 비교기(150), 어드레스 발생기(160), 제어부(170)를 포함한다.
제1 메모리(101)에는 움직임 벡터(Motion Vector, MV)를 구하고자 하는 현재 영상 데이터(Cur_DATA)가 저장되어 있으며, 제2 메모리(102)에는 움직임 벡터를 찾는 탐색 영역으로 사용되는 이전 영상 데이터(Prev_DATA)가 저장되어 있다.
움직임 추정부(130)는 제1 및 제2 메모리(101, 102)에 저장되어 있는 현재 영상 데이터와 이전 영상 데이터를 받아들여, 2 화소 단위의 움직임 탐색을 수행하고, 2 화소 단위의 움직임 벡터(MV)를 구한다. 이를 위해 움직임 추정부(130)는 제2 메모리(102)로부터 입력되는 이전 영상 데이터에 존재하는 블록들에 대한 절대값 차의 합(Sum of Absolute Difference, SAD)을 구하여 이를 비교기(150)로 출력하는 동작을 수행한다. 비교기(150)는 입력된 SAD 값들 중 최소값(SAD_Min)을 구하여 이를 최종 움직임 벡터로서 멀티플렉서(140)에 출력한다.
이러한 움직임 추정부(130)의 동작은 움직임 추정 생략부(120)에서 판단된 움직임 추정 생략 여부의 결과에 따라 선택적으로 수행된다.
움직임 추정 생략부(120)는 움직임 추정의 정상적인 동작 이전에 현재 매크로블록에 대하여 이전 매크로블록과, 현재 매크로블록의 상측 및 우상측 매크로블록의 움직임 벡터(Motion Vector, MV) 3개를 입력으로 하고, 이중에 중간값을 선택하여 움직임 벡터 예측(Motion Vector Prediction) 과정을 수행함으로써 움직임 벡터 예측 값(Motion Vector Predictor value)을 구한다. 구해진 예측 벡터를 통해 움직임 보상부(121)는 움직임 보상(Motion Compensation)을 수행하여 SADmcp(Sum of Absolute Difference Motion Compensation Prediction) 값을 구하게 된다. 이와 동시에 이전 매크로블록과, 현재 매크로블록의 상측 및 우상측 매크로블록의 SAD(Sum of Absolute Difference) 값을 입력으로 하고, 이중에 최대값을 선택하여 최대 SAD 값을 구하게 된다.
생략 판단부(122)는 최대 SAD 값과 SADmcp 값을 비교하여 현재 매크로블록에 대한 움직임 추정 과정을 생략할지 여부를 판단한다. 예를 들어, SADmcp 값이 작으면 움직임 추정을 생략하고(즉, 움직임 추정부(130)에서 수행되는 움직임 추정 동작을 거치지 않고) 움직임 보상 동작만을 수행하도록 한다.
상기한 기술구성은 본 발명의 이해를 돕기 위한 배경기술로서, 본 발명이 속하는 기술분야에서 널리 알려진 종래기술을 의미하는 것은 아니다.
종래의 혼합형 움직임 추정 장치는 움직임 추정 및 생략 과정에서 참조 영상, 즉 움직임 벡터를 찾는 탐색 영역으로 사용되는 이전 영상 데이터를 매번 외부 메모리로부터 가져옴으로 인해 방대한 연산을 필요로 하고 동영상 부호화기에서 실시간 구현에 어려움이 있다. 또한, 내부에 부가 메모리를 구현함으로써 면적과 전력 소비에 문제점이 있다. 아울러 영상의 종류 및 응용분야에 따라 고정된 알고리즘을 사용함으로써 불필요한 연산량을 필요로 하며 영상의 종류에 따라 적합한 움직임 추정 알고리즘을 사용하는데 제한이 있다.
또한, 멀티미디어 동영상 압축 표준인 H.264를 이용하여 SoC를 구현할 때 해상도의 증가에 따라 외부 메모리와 내부 메모리 간의 멀티미디어 데이터의 전송이 증가하며, 이로 인해 SoC의 성능이 저하되는 문제점도 있다.
본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 메모리블록의 처리순서를 변경하고 메모리블록 간의 예측 기법을 이용하여 예측 움직임 벡터가 작은 값을 가지는 경우에는 외부 메모리에의 액세스를 생략하는 구조를 통해 메모리 대역폭을 대폭적으로 줄일 수 있는 움직임 추정 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명에 의한 매크로블록 간의 예측 기법을 이용한 움직임 추정 방법은 (a) 1번 매크로블록의 움직임 벡터 및 3번 매크로블록의 움직임 벡터의 평균값을 예측 움직임 벡터로 결정하는 단계; (b) 2번 매크로블록에 대하여 상기 예측 움직임 벡터에 기초한 SAD 값인 예측 SAD 값을 계산하는 단계; (c) 상기 2번 매크로블록의 주변 매크로블록에 대한 기준 SAD 값과, 상기 예측 SAD 값에서 소정의 임계치를 뺀 값을 비교하는 단계; 및 (d) 상기 비교 결과에 따라 상기 2번 매크로블록에 대하여 정상적인 움직임 벡터 추정을 선택적으로 수행하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 상기 1번, 2번 및 3번 매크로블록은 순차적으로 연속된 위치에 존재하며 하나의 처리 그룹 내에 포함되는 매크로블록인 것을 특징으로 한다.
본 발명의 상기 단계 (d)는 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 작은 경우 상기 정상적인 움직임 벡터 추정을 생략하고 상기 예측 움직임 벡터를 상기 2번 매크로블록의 움직임 벡터로 출력하고, 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 크거나 같은 경우 상기 정상적인 움직임 벡터를 추정하는 것을 특징으로 한다.
본 발명의 상기 2번 매크로블록의 좌측, 상측 및 우상측에 위치하는 3개의 매크로블록을 상기 주변 매크로블록으로 하여 SAD 값을 계산하고, 상기 SAD 값의 중간값을 상기 기준 SAD 값으로 결정하는 단계가 상기 단계 (c)에 선행되는 것을 특징으로 한다.
본 발명의 상기 1번 매크로블록의 움직임 벡터와 상기 3번 매크로블록의 움직임 벡터는 정상적인 움직임 추정을 통해 획득된 것을 특징으로 한다.
본 발명에 의한 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치는 1번 매크로블록의 움직임 벡터 및 3번 매크로블록의 움직임 벡터의 평균값을 예측 움직임 벡터로 결정하는 움직임 예측부; 2번 매크로블록에 대하여 상기 예측 움직임 벡터에 기초한 SAD 값인 예측 SAD 값을 계산하는 SAD 변환부; 상기 2번 매크로블록의 주변 매크로블록에 대한 기준 SAD 값을 계산하는 기준 SAD 계산부; 및 상기 기준 SAD 값과, 상기 예측 SAD 값에서 소정의 임계치를 뺀 값을 비교하고, 상기 비교 결과에 따라 상기 2번 매크로블록에 대하여 정상적인 움직임 벡터 추정을 선택적으로 수행하는 비교부를 포함하는 것을 특징으로 한다.
본 발명의 상기 1번, 2번 및 3번 매크로블록은 순차적으로 연속된 위치에 존재하며 하나의 처리 그룹 내에 포함되는 매크로블록인 것을 특징으로 한다.
본 발명의 상기 비교부는 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 작은 경우 상기 정상적인 움직임 벡터 추정을 생략하고 상기 예측 움직임 벡터를 상기 2번 매크로블록의 움직임 벡터로 출력하고, 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 크거나 같은 경우 상기 정상적인 움직임 벡터를 추정하는 것을 특징으로 한다.
본 발명의 상기 기준 SAD 계산부는 상기 2번 매크로블록의 좌측, 상측 및 우상측에 위치하는 3개의 매크로블록을 상기 주변 매크로블록으로 하여 SAD 값을 계산하고, 상기 SAD 값의 중간값을 상기 기준 SAD 값으로 결정하는 것을 특징으로 한다.
본 발명에서 상기 1번 매크로블록의 움직임 벡터와 상기 3번 매크로블록의 움직임 벡터는 정상적인 움직임 추정을 통해 획득된 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치.
본 발명은 메모리블록의 처리순서를 변경하고 메모리블록 간의 예측 기법을 이용하여 예측 움직임 벡터가 작은 값을 가지는 경우에는 외부 메모리(예를 들어, SDRAM 등)에의 액세스를 생략하는 구조를 통해 H.264 움직임 추정을 구현하고, 고해상도 영상 처리에 있어서 메모리 대역폭을 대폭적으로 줄일 수 있으며, 저전력이 필요한 휴대 멀티미디어 단말기 등에서 핵심적인 코아 기술이 이용될 수 있는 효과가 있다.
도 1은 종래의 혼합형 계층 탐색을 수행하는 움직임 추정 장치의 개략적인 구성을 나타낸 도면이다.
도 2는 움직임 추정을 위한 종래 매크로블록의 처리 순서와 본 발명에 따른 매크로블록의 처리 순서를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 움직임 추정 장치의 개략적인 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 움직임 벡터 예측부의 개략적인 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 매크로블록의 구성을 보여주는 도면이다.
도 6은 본 발명의 일 실시예예 따른 움직임 추정 방법의 순서도이다.
도 7은 종래 방법에 따른 움직임 추정 시 메모리 대역폭과 본 발명에 따른 움직임 추정 시 메모리 대역폭의 연산 결과를 나타낸 도면이다.
이하에서는 본 발명의 일 실시예에 따른 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다.
도 2는 움직임 추정을 위한 종래 매크로블록의 처리 순서와 본 발명에 따른 매크로블록의 처리 순서를 나타낸 도면이다.
도 2의 (a)를 참조하면, 도 1에 도시된 것과 같은 종래 움직임 추정 장치(100)에서 매크로블록(MacroBlock, MB)이 처리되는 순서가 도시되어 있다. 종래 매크로블록의 처리 순서는 매크로블록의 위치에 따라 순차적으로 1, 2, 3, 4, 5, 6번의 순서로 처리된다. 이로 인해 각 매크로블록마다 움직임 벡터를 계산하기 위해서 외부 메모리(예를 들어, SDRAM 등)에 액세스해야 하고 큰 메모리 대역폭을 필요로 하였다.
하지만, 본 발명에서는 매크로블록이 도 2의 (b)에 예시된 것처럼 제1 그룹(group 1), 제2 그룹(group 2)과 같이 3개 매크로블록 단위로 그룹지어져 처리될 수 있다.
하나의 처리 그룹(예를 들어 제1 그룹)에 속하는 3개의 매크로블록 중 첫번째 매크로블록과 세번째 매크로블록(1번 매크로블록과 3번 매크로블록)에 대하여 먼저 정상적으로 움직임 벡터를 추정한다. 그 후 두번째 매크로블록(제1 그룹에서는 2번 매크로블록)에 대하여 첫번째 매크로블록과 두번째 매크로블록에 대하여 추정된 움직임 벡터를 이용한 예측 기법을 적용함으로써, 외부 메모리에의 액세스를 필요로 하는 정상적인 움직임 벡터 추정을 선택적으로 수행하게 됨으로써 고해상도 영상 처리에서 메모리 대역폭을 줄일 수 있게 된다.
이하 도 2의 (a)에 예시된 본 발명의 매크로블록 처리 순서에 따른 그룹 중 제1 그룹(group 1)을 중심으로 본 발명에 따른 움직임 추정 장치 및 방법에 대하여 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 움직임 추정 장치의 개략적인 구성을 나타낸 도면이고, 도 4는 본 발명의 일 실시예에 따른 움직임 벡터 예측부의 개략적인 구성을 나타낸 도면이며, 도 5는 본 발명의 일 실시예에 따른 매크로블록의 구성을 보여주는 도면이다.
본 실시예에 따른 움직임 추정 장치(200)는 첫번째 매크로블록(1번 MB)의 움직임 벡터와 세번째 매크로블록(3번 MB)에 대해서는 정상적인 움직임 추정을 수행하고, 두번째 매크로블록에 대해서는 예측 기법을 적용하여 정상적인 움직임 추정 수행이 선택적으로 이루어지도록 함으로써 외부 메모리에의 액세스를 감소시키는 특징을 가진다.
도 3을 참조하면, 본 실시예에 따른 움직임 추정 장치(200)는 제1 및 제2 입력 메모리(211, 221), 제1 및 제2 SAD 계산부(213, 223), 제1 및 제2 움직임 벡터 선택부(215, 225), 움직임 벡터 예측부(230), 멀티플렉서(240), 어드레스 생성기(250), 셀렉터(260), 제어부(270)를 포함한다.
제1 입력 메모리(211)에는 첫번째 매크로블록(1번 MB)에 해당하는 영상 데이터가 저장된다.
제1 SAD 계산부(213)는 제1 입력 메모리(211)에 저장된 첫번째 매크로블록(1번 MB)에 대하여 이전 영상 프레임 중 움직임 벡터를 찾기 위한 탐색 영역 내에서 SAD 값을 계산한다. 예를 들어, SAD 값은 현재 영상의 해당 매크로블록과 이전 영상의 탐색 영역 내에 존재하는 동일 크기의 블록 영역 내에 위치한 픽셀들을 일대일로 비교한 결과, 즉 서로 대응되는 픽셀들의 크기 차이를 합산함으로써 획득할 수 있다.
제1 움직임 벡터 선택부(215)는 제1 SAD 계산부(213)에서 계산된 SAD 값 중 최소값을 구하고, 이에 대응되는 이전 영상의 탐색 영역 내의 블록 영역과 첫번째 매크로블록의 변위를 첫번째 매크로블록(1번 MB)의 움직임 벡터(MVa)로 움직임 벡터 예측부(230)에 출력한다.
제2 입력 메모리(221)에는 세번째 매크로블록(3번 MB)에 해당하는 영상 데이터가 저장된다.
제2 SAD 계산부(223)는 제2 입력 메모리(221)에 저장된 세번째 매크로블록(3번 MB)에 대하여 이전 영상 프레임 중 움직임 벡터를 찾기 위한 탐색 영역 내에서 SAD 값을 계산한다. 예를 들어, SAD 값은 현재 영상의 해당 매크로블록과 이전 영상의 탐색 영역 내에 존재하는 동일 크기의 블록 영역 내에 위치한 픽셀들을 일대일로 비교한 결과, 즉 서로 대응되는 픽셀들의 크기 차이를 합산함으로써 획득할 수 있다.
제2 움직임 벡터 선택부(225)는 제2 SAD 계산부(223)에서 계산된 SAD 값 중 최소값을 구하고, 이에 대응되는 이전 영상 프레임의 탐색 영역 내의 블록 영역과 세번째 매크로블록의 변위를 세번째 매크로블록(3번 MB)의 움직임 벡터(MVb)로 움직임 벡터 예측부(230)에 출력한다.
움직임 벡터 예측부(230)는 제1 움직임 벡터 선택부(215)와 제2 움직임 벡터 선택부(225)로부터 출력된 값을 이용한 예측 기법을 통해 현재 매크로블록(두번째 매크로블록(2번 MB))의 움직임 벡터를 예측한다.
도 4를 참조하면, 움직임 벡터 예측부(230)는 움직임 예측부(231), SAD 변환부(233), 기준 SAD 계산부(235), 비교부(237)를 포함한다.
움직임 예측부(231)는 제1 움직임 벡터 선택부(215)로부터 입력된 첫번째 매크로블록의 움직임 벡터(MVa)와 제2 움직임 벡터 선택부(225)로부터 입력된 세번째 매크로블록의 움직임 벡터(MVb)의 평균값을 두번째 매크로블록의 예측 움직임 벡터(MVavg)으로 연산한다.
SAD 변환부(233)는 두번째 매크로블록에 대하여 움직임 예측부(231)에서 연산된 예측 움직임 벡터(MVavg)를 이용하여 SAD 값을 계산함으로써, 예측 움직임 벡터(MVavg)를 예측 SAD 값(SADavg)으로 변환한다. SAD 값의 계산은 이전 영상 프레임에서 두번째 매크로블록과 동일한 위치로부터 예측 움직임 벡터(MVavg)만큼 변화된 위치에 있는 동일 크기의 블록 영역 내의 픽셀들과 현재 영상 프레임의 두번째 매크로블록 내의 픽셀들에 대하여 절대값 크기의 합을 구함으로써 수행될 수 있다.
기준 SAD 계산부(235)는 두번째 매크로블록(2번 MB)에 대한 주변 매크로블록과의 SAD 값의 중간값(median)인 기준 SAD 값을 계산한다.
도 5에 예시된 바와 같이, 이전 영상 프레임(400)에서 X 블록(401)이 두번째 매크로블록(2번 MB)과 동일한 위치에 있는 블록이며, 그 주변 매크로블록은 좌측의 A 블록(402), 상측의 B 블록(403), 우상측의 C 블록(404)일 수 있다. 따라서, 현재 영상 프레임의 두번째 매크로블록(2번 MB)과, 이전 영상 프레임의 A 블록(402), B 블록(403), C 블록(404) 각각에 대한 SAD 값(SADa, SADb, SADc)을 계산하고, 이의 중간값을 기준 SAD 값으로 결정할 수 있다(하기의 수학식 1 참조).
[수학식 `1]
기준 SAD = Median {SADa, SADb, SADc}
비교부(237)는 SAD 변환부(233)에서 출력된 예측 SAD 값(SADavg)으로부터 소정의 임계치(Th)를 뺀 값과 기준 SAD 계산부(235)에서 출력된 기준 SAD 값을 비교함으로써 예측 움직임 벡터(MVavg) 혹은 정상 추정 움직임 벡터(MVnp)를 두번째 매크로블록의 움직임 벡터로 결정하게 된다. 여기서, 정상 추정 움직임 벡터(MVnp)는 첫번째 매크로블록(0번 MV) 혹은 세번째 매크로블록(3번 MB)과 같이 정상적인 과정으로 추정된 움직임 벡터로서, 이전 영상 프레임의 탐색 영역 내에 위치하는 매크로블록과 동일 크기의 모든 블록 영역에 대하여 SAD 값을 계산한 후, 그 중 최소값을 구하고 최소값에 대응되는 매크로블록과 블록 영역의 변위로부터 계산된 벡터일 수 있다. 또한, 소정의 임계치(Th)는 예를 들어 100과 같이 실험적, 통계적 방법을 통해 결정될 수 있다.
예측 SAD 값으로부터 소정의 임계치를 뺀 값(SADavg-Th)이 기준 SAD 값보다 작은 경우 정상적인 움직임 추정을 생략하고 움직임 예측부(231)에서 계산된 예측 움직임 벡터(MVavg)가 두번째 매크로블록의 움직임 벡터로 출력하며, 예측 SAD 값으로부터 소정의 임계치를 뺀 값(SADavg-Th)이 기준 SAD 값보다 크거나 같은 경우 두번째 매크로블록에 대해서도 정상적인 움직임 추정을 수행하여 선택된 정상 추정 움직임 벡터(MVnp)를 출력한다.
다시 도 3을 참조하면, 멀티플렉서(240)는 셀렉터(260)에 의해 세팅된 플래그 값에 따라서 움직임 벡터 예측부(230)에서 출력되는 예측 움직임 벡터(MVavg) 또는 정상 추정 움직임 벡터(MVnp)를 두번째 매크로블록(2번 MB)의 움직임 벡터로 출력한다.
셀렉터(260)는 비교부(237)에서의 비교 결과에 따라 멀티플렉서(240)의 출력값을 결정하는 플래그를 세팅한다. 비교 결과 예측 SAD 값으로부터 소정의 임계치를 뺀 값(SADavg-Th)이 기준 SAD 값보다 작은 경우 예측 움직임 벡터(MVavg)가 출력되도록 플래그를 0 또는 1로 세팅하고, 예측 SAD 값으로부터 소정의 임계치를 뺀 값(SADavg-Th)이 기준 SAD 값보다 크거나 같은 경우 정상 추정 움직임 벡터(MVnp)가 출력되도록 플래그를 1 또는 0으로 세팅한다.
제어부(270)는 움직임 벡터 예측부(230)에서 결정된 결과에 기초하여 어드레스 생생기(250)의 동작을 제어한다. 또한, 제어부(270)는 움직임 추정 장치(200)의 전반적인 동작에 대한 제어를 수행하고, 동시에 버스(Bus)와의 인터페이스를 수행한다.
어드레스 생성기(250)는 제어부(270)에 제어에 의해서 움직임 추정 및 움직임 예측에 관련된 어드레스(address)를 제1 및 제2 입력 메모리(211, 221)로 발생하는 동작을 수행한다.
도 6은 본 발명의 일 실시예예 따른 움직임 추정 방법의 순서도이다.
여기서, 각 단계들은 본 실시예에 따른 움직임 추정 장치(200), 특히 움직임 벡터 예측부(230)의 각 구성요소들에 의해 수행될 수 있다.
우선 제1 움직임 벡터 선택부(215)로부터 첫번째 매크로블록(1번 MB)의 움직임 추정 결과인 제1 움직임 벡터(MVa)를 입력받고(단계 S305), 제2 움직임 벡터 선택부(225)로부터 세번째 매크로블록(3번 MB)의 움직임 추정 결과인 제2 움직임 벡터(MVb)를 입력받는다(단계 S310).
움직임 예측부(231)는 제1 움직임 벡터(MVa)와 제2 움직임 벡터(MVb)의 평균값을 그룹 내 중간에 위치한 두번째 매크로블록(2번 MB)의 예측 움직임 벡터(MVavg)로 결정한다(단계 S320).
SAD 변환부(233)는 예측 움직임 벡터(MVavg)를 이용하여 두번째 매크로블록(2번 MB)에 대한 SAD 값인 예측 SAD 값(SADavg)을 계산한다(단계 S330).
계산된 예측 SAD 값(SADavg)에서 소정의 임계치(Th)를 뺀 값과 기준 SAD 값을 비교한다(단계 S340).
비교 결과 기준 SAD 값이 예측 SAD 값에서 소정의 임계치를 뺀 값보다 크거나 같은 경우에는 두번째 매크로블록에 대해서도 정상적인 움직임 추정을 수행하여 움직임 벡터를 구해야 하지만(단계 S360), 기준 SAD 값이 작은 경우 예측 움직임 벡터(MVavg)를 두번째 매크로블록에 대한 움직임 벡터로 결정하여 출력함(단계 S350)으로써 외부 메모리에의 액세스가 필요한 정상적인 움직임 추정을 생략할 수 있어 시스템 성능 저하를 방지할 수 있다.
상술한 움직임 추정 방법은 움직임 벡터 예측부에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
도 7은 종래 방법에 따른 움직임 추정 시 메모리 대역폭과 본 발명에 따른 움직임 추정 시 메모리 대역폭의 연산 결과를 나타낸 도면이다.
프레임당 데이터 대역폭이 32비트 버스 구조인 경우를 가정하면, 종래 움직임 추정에 따를 때 현재 영상 프레임의 8x8 크기 매크로블록에 대하여 참조 영상 프레임의 24x24 크기 탐색 영역 데이터가 필요하게 되어 39168000(=(64+576) x 8160 / 4 x 30fps) 사이클이 요구된다.
이에 비해 본 발명에 따르면, 현재 영상 프레임의 8x8 크기 매크로블록에 대하여 50% 확률로 정상적인 움직임 추정이 생략되고 움직임 예측이 성공할 때 참조 영상 프레임의 24x24 크기 탐색 영역 데이터에 대하여 1/2 정도만 액세스하게 되어 21542400(=(64 x 8160 + 576 x 8160 x 0.5) / 4 x 30fps) 사이클이 요구된다. 즉, 본 발명에 따른 움직임 추정 장치 및 방법에 의하면 종래에 비하여 45% 정도 메모리 대역폭이 감소하는 효과가 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.
200: 움직임 추정 장치 211: 제1 입력 메모리
213: 제1 SAD 계산부 215: 제1 움직임 벡터 선택부
221: 제2 입력 메모리 223: 제2 SAD 계산부
225: 제2 움직임 벡터 선택부 230: 움직임 벡터 예측부
240: 멀티플렉서 250: 어드레스 생성기
260: 셀렉터 270: 제어부
231: 움직임 예측부 233: SAD 변환부
235: 기준 SAD 계산부 237: 비교부

Claims (10)

  1. (a) 1번 매크로블록의 움직임 벡터 및 3번 매크로블록의 움직임 벡터의 평균값을 예측 움직임 벡터로 결정하는 단계;
    (b) 2번 매크로블록에 대하여 상기 예측 움직임 벡터에 기초한 SAD 값인 예측 SAD 값을 계산하는 단계;
    (c) 상기 2번 매크로블록의 주변 매크로블록에 대한 기준 SAD 값과, 상기 예측 SAD 값에서 소정의 임계치를 뺀 값을 비교하는 단계; 및
    (d) 상기 비교 결과에 따라 상기 2번 매크로블록에 대하여 정상적인 움직임 벡터 추정을 선택적으로 수행하는 단계를 포함하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 방법.
  2. 제 1 항에 있어서,
    상기 1번, 2번 및 3번 매크로블록은 순차적으로 연속된 위치에 존재하며 하나의 처리 그룹 내에 포함되는 매크로블록인 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 방법.
  3. 제 1 항에 있어서,
    상기 단계 (d)는 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 작은 경우 상기 정상적인 움직임 벡터 추정을 생략하고 상기 예측 움직임 벡터를 상기 2번 매크로블록의 움직임 벡터로 출력하고, 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 크거나 같은 경우 상기 정상적인 움직임 벡터를 추정하는 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 방법.
  4. 제 1 항에 있어서,
    상기 2번 매크로블록의 좌측, 상측 및 우상측에 위치하는 3개의 매크로블록을 상기 주변 매크로블록으로 하여 SAD 값을 계산하고, 상기 SAD 값의 중간값을 상기 기준 SAD 값으로 결정하는 단계가 상기 단계 (c)에 선행되는 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 방법.
  5. 제 1 항에 있어서,
    상기 1번 매크로블록의 움직임 벡터와 상기 3번 매크로블록의 움직임 벡터는 정상적인 움직임 추정을 통해 획득된 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 방법.
  6. 1번 매크로블록의 움직임 벡터 및 3번 매크로블록의 움직임 벡터의 평균값을 예측 움직임 벡터로 결정하는 움직임 예측부;
    2번 매크로블록에 대하여 상기 예측 움직임 벡터에 기초한 SAD 값인 예측 SAD 값을 계산하는 SAD 변환부;
    상기 2번 매크로블록의 주변 매크로블록에 대한 기준 SAD 값을 계산하는 기준 SAD 계산부; 및
    상기 기준 SAD 값과, 상기 예측 SAD 값에서 소정의 임계치를 뺀 값을 비교하고, 상기 비교 결과에 따라 상기 2번 매크로블록에 대하여 정상적인 움직임 벡터 추정을 선택적으로 수행하는 비교부를 포함하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치.
  7. 제 6 항에 있어서,
    상기 1번, 2번 및 3번 매크로블록은 순차적으로 연속된 위치에 존재하며 하나의 처리 그룹 내에 포함되는 매크로블록인 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치.
  8. 제 6 항에 있어서,
    상기 비교부는 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 작은 경우 상기 정상적인 움직임 벡터 추정을 생략하고 상기 예측 움직임 벡터를 상기 2번 매크로블록의 움직임 벡터로 출력하고, 상기 기준 SAD 값이 상기 예측 SAD 값에서 소정의 임계치를 뺀 값보다 크거나 같은 경우 상기 정상적인 움직임 벡터를 추정하는 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치.
  9. 제 6 항에 있어서,
    상기 기준 SAD 계산부는 상기 2번 매크로블록의 좌측, 상측 및 우상측에 위치하는 3개의 매크로블록을 상기 주변 매크로블록으로 하여 SAD 값을 계산하고, 상기 SAD 값의 중간값을 상기 기준 SAD 값으로 결정하는 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치.
  10. 제 6 항에 있어서,
    상기 1번 매크로블록의 움직임 벡터와 상기 3번 매크로블록의 움직임 벡터는 정상적인 움직임 추정을 통해 획득된 것을 특징으로 하는 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치.
KR1020100134039A 2010-12-23 2010-12-23 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법 KR20120072205A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100134039A KR20120072205A (ko) 2010-12-23 2010-12-23 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법
US13/315,307 US20120163462A1 (en) 2010-12-23 2011-12-09 Motion estimation apparatus and method using prediction algorithm between macroblocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100134039A KR20120072205A (ko) 2010-12-23 2010-12-23 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20120072205A true KR20120072205A (ko) 2012-07-03

Family

ID=46316777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100134039A KR20120072205A (ko) 2010-12-23 2010-12-23 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법

Country Status (2)

Country Link
US (1) US20120163462A1 (ko)
KR (1) KR20120072205A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058487A1 (en) * 2012-10-11 2014-04-17 Intel Corporation Motion estimation for video processing

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107615764A (zh) * 2015-06-03 2018-01-19 奥林巴斯株式会社 运算装置、运算方法和程序
KR102131903B1 (ko) * 2015-10-21 2020-07-08 삼성전자주식회사 모션 벡터 추정 방법 및 모션 벡터 추정 장치
CN109587496B (zh) * 2019-01-04 2022-09-09 深圳市网心科技有限公司 一种Skip块判别方法、编码器、电子设备及可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100556450B1 (ko) * 1998-05-28 2006-05-25 엘지전자 주식회사 움직임 벡터 추정에 의한 오류 복원 방법
TW444507B (en) * 1998-10-22 2001-07-01 Sony Corp Detecting method and device for motion vector
KR100676704B1 (ko) * 2005-07-07 2007-02-01 삼성전자주식회사 움직임 추정장치 및 그 추정방법
JP4645736B2 (ja) * 2008-12-22 2011-03-09 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058487A1 (en) * 2012-10-11 2014-04-17 Intel Corporation Motion estimation for video processing
US10440377B2 (en) 2012-10-11 2019-10-08 Intel Corporation Motion estimation for video processing

Also Published As

Publication number Publication date
US20120163462A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
JP5081305B2 (ja) フレーム間予測符号化の方法および装置
JP5669278B2 (ja) 画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
KR102085498B1 (ko) 이미지들의 시퀀스를 인코딩하기 위한 방법 및 디바이스 및 이미지들의 시퀀스를 디코딩하기 위한 방법 및 디바이스
KR100739281B1 (ko) 움직임 추정 방법 및 장치
KR101390620B1 (ko) 비디오 인코딩을 위한 전력 효율적인 움직임 추정 기법
US20120027092A1 (en) Image processing device, system and method
JP2004518342A (ja) スケーラブルビデオトランスコーディング方法及び装置
TW201334567A (zh) 視訊信號編碼方法
Xiao et al. HEVC encoding optimization using multicore CPUs and GPUs
KR20090096143A (ko) 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
KR20080033754A (ko) 영상 부호화 방법 및 장치
KR20120072205A (ko) 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법
JP5748225B2 (ja) 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
CN113709498A (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
KR100723840B1 (ko) 영상 움직임 추정 장치
KR20130067097A (ko) 움직임 추정장치 및 그 방법
EP1683361B1 (en) Power optimized collocated motion estimation method
US10148954B2 (en) Method and system for determining intra mode decision in H.264 video coding
Shen et al. An adaptive and fast fractional pixel search algorithm in H. 264
JP4676513B2 (ja) 符号化ピクチャタイプ決定方法,装置,そのプログラムおよびその記録媒体
RU2787885C2 (ru) Способ и оборудование взаимного прогнозирования, поток битов и энергонезависимый носитель хранения
KR101286071B1 (ko) 부호화기 및 그 인트라 예측 방법
KR101368732B1 (ko) 고성능 h.264/avc 인코더용 움직임 예측장치 및 움직임 예측방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid