KR20040108056A - 블럭 기반의 움직임 보상 장치 및 방법 - Google Patents

블럭 기반의 움직임 보상 장치 및 방법 Download PDF

Info

Publication number
KR20040108056A
KR20040108056A KR1020030038797A KR20030038797A KR20040108056A KR 20040108056 A KR20040108056 A KR 20040108056A KR 1020030038797 A KR1020030038797 A KR 1020030038797A KR 20030038797 A KR20030038797 A KR 20030038797A KR 20040108056 A KR20040108056 A KR 20040108056A
Authority
KR
South Korea
Prior art keywords
interpolation
block
pixel
pixels
interpolation pixel
Prior art date
Application number
KR1020030038797A
Other languages
English (en)
Other versions
KR100605746B1 (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 KR20030038797A priority Critical patent/KR100605746B1/ko
Priority to US10/823,674 priority patent/US8041134B2/en
Priority to CNB200410044769XA priority patent/CN100450182C/zh
Priority to EP20040252962 priority patent/EP1489849A1/en
Priority to JP2004177431A priority patent/JP4145837B2/ja
Publication of KR20040108056A publication Critical patent/KR20040108056A/ko
Application granted granted Critical
Publication of KR100605746B1 publication Critical patent/KR100605746B1/ko

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D23/00General constructional features
    • F25D23/10Arrangements for mounting in particular locations, e.g. for built-in type, for corner type
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25DREFRIGERATORS; COLD ROOMS; ICE-BOXES; COOLING OR FREEZING APPARATUS NOT OTHERWISE PROVIDED FOR
    • F25D23/00General constructional features
    • F25D23/02Doors; Covers
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/583Motion compensation with overlapping blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Thermal Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

블럭 기반의 움직임 보상 장치 및 방법이 개시된다. 제1움직임 보상보간부는 현재 블럭의 움직임 벡터에 대응되는 제1 및 제2화소를 현재 및 이전프레임/필드로부터 각각 추출하여 제1보간화소를 산출한다. 제2움직임 보상보간부는 현재 블럭에 인접한 주변 블럭의 움직임 벡터에 대응되는 제3 및 제4화소를 현재 및 이전프레임/필드로부터 각각 추출하여 제2보간화소를 산출한다. 후보 보간화소 산출부는 현재 블럭 중 제1 및 제2보간화소에 소정의 가중치를 할당하여 후보 보간화소를 산출한다. 움직임 분석부는 현재 블럭과 주변 블럭의 움직임 벡터를 분석하여 블럭 간의 불연속 여부를 판단한다. 최종 보간화소 선택부는 움직임 분석부에서 판단된 불연속 여부에 따라 제1보간화소 및 후보 보간화소 중 어느 하나를 최종 보간화소로 선택한다. 따라서, 현재 블럭 및 주변 블럭간의 불연속 여부를 판단하여 선택적으로 OBMC를 적용함으로써 블럭 아티팩트가 해소된 영상을 제공할 수 있다.

Description

블럭 기반의 움직임 보상 장치 및 방법{Motion compensation apparatus based on block, and method of the same}
본 발명은 블럭 기반의 움직임 보상 장치 및 방법에 관한 것으로서, 보다 상세하게는, 블럭 아티팩트가 발생한 블럭에 대해서만 선별적으로 OBMC 기법을 적용함으로써 블럭 아티팩트가 제거된 영상신호를 출력하는 블럭 기반의 움직임 보상 장치 및 방법에 관한 것이다.
압축(compression)이란 데이터의 내용을 유지하는 상태에서 데이터의 양을 축소하는 기술로서, 동영상 압축기술의 대표적인 예로 MPEG(Moving Picture Experts Group)을 들 수 있다.
MPEG은 데이터 압축시 각 프레임/필드간의 시간적 또는 공간적 중복성(redundancy)을 제거함으로써 데이터 압축률을 향상시키는 방식이다. 여기서, 시간적 중복성은 이전프레임/필드와 현재프레임/필드 사이에서 가장 비슷한 블럭을 찾는 움직임 추정(Motion Estimation)에 의해 제거되며, 공간적 중복성은 DCT(Discrete Cosine Transform)에 의해 제거된다.
특히, 움직임 추정은 블럭 매칭 알고리즘(Block Maching Algorithm, 이하에서는 "BMA"라 한다)에 의해 수행되는 것이 일반적이다. BMA는 이전프레임/필드와 현재프레임/필드처럼 연속입력되는 두 장의 프레임을 블럭 단위로 비교하되, 비교되는 블럭 내의 화소들이 병진운동(translation)을 한다는 가정하에서 블럭 당 하나의 움직임 벡터(MV)를 추정하는 것이다.
상술한 바와 같이 송신기에서 추정된 움직임 벡터는 현재프레임/필드와 이전프레임/필드간의 움직임 예측오차, 예를 들어, SAD값과 함께 수신기로 전송된다. 그러면, 수신기에서는 현재 및/또는 이전프레임/필드와 수신된 움직임 벡터를 이용하여 움직임 보상을 수행한 후, 수신된 움직임 예측오차에 따라 적응적으로 프레임/필드를 복원한다.
그러나, 종래의 움직임 보상 방법에 의해 압축된 데이터를 복원하는 경우, 복원된 영상에서는 블럭 아티팩트(Block Artifacts)가 발생한다. 블럭 아티팩트는 복원된 프레임/필드에서 인접한 블럭 간의 경계가 불연속적으로 보이는 현상으로서, 시각적으로 거슬리는 영상을 제공하며, 화질 저하를 초래한다. 이러한 블럭 아티팩트는 블럭 단위로 수행되는 움직임 추정 및 보상에 의해 발생한다.
또한, 종래의 움직임 보상 방법은 블럭 아티팩트의 발생을 방지하기 위해 전체 블럭에 중첩 블럭 움직임 보상(Overlap Block Motion Compensation, 이하, "OBMC"라 한다) 기법을 적용하였으나, 이러한 경우 전체적으로 블러링(Blurring)이 발생하는 영상이 제공되는 문제점이 발생한다.
본 발명이 이루고자 하는 기술적 과제는, 블럭 아티팩트가 발생하는 블럭에 대해서만 선별적으로 OBMC 기법을 적용하여 보다 정확한 움직임 보상을 수행할 수 있는 블럭 기반의 움직임 보상 장치 및 방법을 제공하는 데 있다.
도 1은 본 발명의 바람직한 실시예에 따른 블럭 기반의 움직임 보상 장치를 개략적으로 도시한 블럭도,
도 2는 현재 블럭 및 주변 블럭 각각에 대해 추정된 움직임 벡터를 도시한 도면,
도 3은 도 1의 움직임 보상 장치에 적용되는 상대적 위치 상관계수의 산출 방법을 설명하기 위해 도시한 도면,
도 4는 블럭 아티팩트를 제거하기 위해 적용되는 OBMC 기법을 설명하기 위해 도시한 도면,
도 5는 도 1에 따른 블럭 기반의 움직임 보상 방법을 개략적으로 설명하기 위한 흐름도, 그리고,
도 6은 본 발명의 다른 실시예에 따른 블럭 기반의 움직임 보상 장치(100)를 개략적으로 도시한 블럭도이다.
* 도면의 주요 부분에 대한 설명 *
100, 600 : 움직임 보상 장치 110, 610 : 지연기
120 : 제1움직임 보상보간부 130 : 제2움직임 보상보간부
140, 630 : 후보 보간화소 산출부 150, 640 : 움직임 분석부
160, 650 : 최종 보간화소 선택부 620 : 움직임 보상보간부
상기와 같은 기술적 과제를 해결하기 위한, 본 발명에 따른 추정된 현재 블럭의 움직임 벡터에 대응되는 제1 및 제2화소를 입력되는 현재 및 이전프레임/필드로부터 각각 추출하여 제1보간화소를 산출하는 제1움직임 보상보간부와, 보간될 상기 현재 블럭에 인접한 적어도 하나의 주변 블럭 별로 추정된 움직임 벡터에 대응되는 제3 및 제4화소를 입력되는 상기 현재 및 이전프레임/필드로부터 각각 추출하여 제2보간화소를 산출하는 적어도 하나의 제2움직임 보상보간부와, 보간될 상기 현재 블럭 중 상기 제1 및 제2보간화소가 보간되는 상대적 위치에 따라 상기 제1 및 제2보간화소에 소정의 가중치를 할당하여 후보 보간화소를 산출하는 후보 보간화소 산출부와, 추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터를 분석하여 상기 현재 블럭과 상기 주변 블럭 간의 불연속 여부를 판단하는 움직임 분석부, 및 상기 움직임 분석부에서 판단된 상기 불연속 여부에 따라 상기 제1보간화소 및 상기 후보 보간화소 중 어느 하나를 최종 보간화소로 선택하여 출력하는 최종 보간화소 선택부를 포함한다.
보다 상세하게는, 상기 움직임 분석부는, 추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터의 차이를 비교하여, 상기 차이가 기설정된 임계값 이상이면 상기 후보 보간화소 산출부로부터 산출된 상기 후보 보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 상기 최종 보간화소 선택부로 출력하며, 상기 차이가 기설정된 상기 임계값 미만이면 상기 제1움직임 보상보간부로부터 산출된 상기 제1보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 출력한다.
또한, 상기 제1 및 제2움직임 보상보간부는 각각, 상기 현재 블럭의 움직임 벡터에 대응되는 상기 제1화소를 입력되는 상기 현재프레임/필드로부터 추출하는 제1화소추출부와, 상기 현재 블럭의 움직임 벡터에 대응되는 상기 제2화소를 입력되는 상기 이전프레임/필드로부터 추출하는 제2화소추출부와, 보간할 프레임/필드와 상기 현재 및 이전프레임/필드와의 상대적 위치 상관계수를 추출된 상기 제1 및 제2화소 각각에 승산하여 제1 및 제2승산데이터를 출력하는 제1 및 제2승산부, 및 상기 제1 및 제2승산부로부터 출력되는 상기 제1 및 제2승산데이터를 가산하여 상기 제1보간화소를 산출하는 제1가산부를 포함하며, 상기 제1 및 제2화소 각각에 부여되는 상기 상대적 위치 상관계수의 합은 1이다.
또한, 상기 제2화소에 승산되는 상기 상대적 위치 상관계수는 다음에 의해 산출된다.
여기서, r은 상기 제2화소에 승산되는 상대적 위치 상관계수, a는 상기 보간될 프레임/필드부터 상기 이전프레임/필드까지의 최소 거리, b는 상기 보간될 프레임/필드부터 상기 현재프레임/필드까지의 최소 거리이다.
바람직하게는, 상기 후보 보간화소 산출부는, 상기 현재 블럭 내에서 보간될 화소의 상대적 위치별로 가중치가 할당되어 있으며, 상기 상대적 위치별로 할당된 가중치 중 산출된 상기 제1 및 제2보간화소가 보간되는 위치에 대응되는 가중치를추출하여 제공하는 가중치 저장부와, 상기 가중치 저장부로부터 상기 제1 및 제2보간화소가 보간될 위치에 대응되는 가중치를 제공받아 상기 제1 및 제2보간화소 별로 승산하여 제3 및 제4승산데이터를 출력하는 제3 및 제4승산부와, 상기 제3 및 제4승산부로부터 출력되는 상기 제3 및 제4승산데이터를 가산하여 상기 후보보간화소를 산출하는 제2가산부를 더 포함하며, 상기 제1 및 제2보간화소가 보간될 위치에서 상기 제1 및 제2보간화소에 할당되는 상기 가중치의 합은 1이다.
또한, 상기 제1 및 제2보간화소가 보간될 위치가 보간 블럭의 중심으로부터 상기 보간 블럭의 경계영역으로 이동할수록 상기 제1보간화소에 할당되는 가중치는 감소하며, 상기 제2보간화소에 할당되는 가중치는 증가한다.
그리고, 입력되는 상기 현재프레임/필드를 소정 시간 지연시켜, 상기 소정 시간 지연된 상기 이전프레임/필드를 상기 제1 및 제2움직임 보상보간부 및 상기 움직임 보상부로 제공하는 지연기를 더 포함한다.
또한, 상기 제2움직임 보상보간부의 개수는 상기 주변 블럭의 개수와 동일하게 마련된다.
한편, 상기와 같은 기술적 과제를 해결하기 위한, 본 발명에 따른 블럭 기반의 움직임 보상 방법은, 추정된 현재 블럭의 움직임 벡터에 대응되는 제1 및 제2화소를 입력되는 현재 및 이전프레임/필드로부터 각각 추출하여 제1보간화소를 산출하는 단계와, 보간될 상기 현재 블럭에 인접한 적어도 하나의 주변 블럭 별로 추정된 움직임 벡터에 대응되는 제3 및 제4화소를 입력되는 상기 현재 및 이전프레임/필드로부터 각각 추출하여 제2보간화소를 산출하는 단계와, 보간될 상기 현재 블럭중 상기 제1 및 제2보간화소가 보간되는 상대적 위치에 따라 상기 제1 및 제2보간화소에 소정의 가중치를 할당하여 후보 보간화소를 산출하는 단계와, 추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터를 분석하여 상기 현재 블럭과 상기 주변 블럭 간의 불연속 여부를 판단하는 단계 및 상기 판단 단계에서 판단된 상기 불연속 여부에 따라 상기 제1보간화소 및 상기 후보 보간화소 중 어느 하나를 최종 보간화소로 선택하여 출력하는 단계를 포함한다.
보다 상세하게는, 상기 움직임 분석 단계는, 추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터의 차이를 비교하여, 상기 차이가 기설정된 임계값 이상이면 상기 후보 보간화소 산출부로부터 산출된 상기 후보 보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 상기 최종 보간화소 선택부로 출력하며, 상기 차이가 기설정된 상기 임계값 미만이면 상기 제1움직임 보상보간부로부터 산출된 상기 제1보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 출력한다.
또한, 상기 제1 및 제2보간화소 산출단계는 각각, 상기 현재 블럭의 움직임 벡터에 대응되는 상기 제1화소를 입력되는 상기 현재프레임/필드로부터 추출하는 단계와, 상기 현재 블럭의 움직임 벡터에 대응되는 상기 제2화소를 입력되는 상기 이전프레임/필드로부터 추출하는 단계와, 보간할 프레임/필드와 상기 현재 및 이전프레임/필드와의 상대적 위치 상관계수를 추출된 상기 제1 및 제2화소 각각에 승산하여 제1 및 제2승산데이터를 출력하는 단계 및 상기 제1 및 제2승산부로부터 출력되는 상기 제1 및 제2승산데이터를 가산하여 상기 제1보간화소를 산출하는 단계를포함하며, 상기 제1 및 제2화소 각각에 부여되는 상기 상대적 위치 상관계수의 합은 1이다.
상기 후보 보간화소 산출단계는, 상기 현재 블럭 내에서 보간될 화소의 상대적 위치별로 할당된 가중치 중, 산출된 상기 제1 및 제2보간화소가 보간되는 위치에 대응되는 가중치를 추출하여 제공하는 단계와, 제공된 상기 제1 및 제2보간화소가 보간될 위치에 대응되는 가중치를 상기 제1 및 제2보간화소 별로 승산하여 제3 및 제4승산데이터를 출력하는 단계와, 출력된 상기 제3 및 제4승산데이터를 가산하여 상기 후보보간화소를 산출하는 단계를 포함하며, 상기 제1 및 제2보간화소가 보간될 위치에서 상기 제1 및 제2보간화소에 할당되는 상기 가중치의 합은 1이다.
또한, 입력되는 상기 현재프레임/필드를 소정 시간 지연시켜, 상기 소정 시간 지연된 상기 이전프레임/필드를 상기 제1 및 제2보간화소 산출단계로 제공하는 단계를 더 포함한다.
이하에서는 첨부된 도면들을 참조하여 본 발명을 보다 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 블럭 기반의 움직임 보상 장치를 개략적으로 도시한 블럭도이다.
도 1을 참조하면, 본 발명에 따른 블럭 기반의 움직임 보상 장치(100)는 지연기(110), 제1움직임 보상보간부(120), 제2움직임 보상보간부(130), 후보 보간화소 산출부(140), 움직임 분석부(150) 및 최종 보간화소 선택부(160)를 포함한다.
먼저, 본 발명에 따른 블럭 기반의 움직임 보상 장치(100)는 BMA에 의해 추정된 보간할 현재 블럭 및 주변 블럭들의 움직임 벡터 및 움직임 예측 오차(MotionError)를 이용하여 움직임 보상을 수행하는 장치이다.
따라서, 본 발명에 따른 블럭 기반의 움직임 보상 장치(100)에는 도 2에 도시된 현재 블럭에 대해 추정된 움직임 벡터(v0) 및 현재 블럭에 인접한 소정의 주변 블럭에 대해 추정된 움직임 벡터(vc)가 입력된다. 또한, 본 발명에 따른 블럭 기반의 움직임 보상 장치(100)에는 입력영상신호(input signal)로서 현재프레임/필드(Fn)가 입력된다.
입력되는 현재프레임/필드(Fn)는 후술할 제1 및 제3화소추출부(122, 132) 및 움직임 분석부(150)로 제공된다.
지연기(110)는 입력되는 현재프레임/필드(Fn)를 소정 시간 지연시킨 후, 소정 시간 지연된 이전프레임/필드(Fn-1)를 출력한다. 지연기(110)로부터 출력된 이전프레임/필드(Fn-1)는 후술할 제2 및 제4화소추출부(124, 134) 및 움직임 분석부(150)로 제공된다.
제1움직임 보상보간부(120)는 제1 및 제2화소추출부(122, 124), 제1 및 제2승산부(126, 128) 및 제1가산부(129)를 포함한다.
제1움직임 보상보간부(120)는 추정된 현재 블럭의 움직임 벡터(v0)에 대응되는 제1 및 제2화소(f1, f2)를 입력되는 현재 및 이전프레임/필드(Fn, Fn-1)로부터 각각 추출하여 제1보간화소(f0)를 산출한다.
자세히 설명하면, 제1화소추출부(122)는 보간할 현재 블럭의 움직임 벡터(v0)에 대응되는 제1화소(f1)를 입력되는 현재프레임/필드(Fn)로부터 추출한다.
제2화소추출부(124)는 보간할 현재 블럭의 움직임 벡터(v0)에 대응되는 제2화소(f2)를 입력되는 이전프레임/필드(Fn-1)로부터 추출한다.
제1승산부(126)는 보간할 프레임/필드(Fi)와 현재 및 이전프레임/필드(Fn, Fn-1)와의 상대적 위치 상관계수를 추출된 제1화소(f1)에 승산하여 제1승산데이터를 출력한다. 상대적 위치 상관계수는 프레임 레이트 변환 비율에 관계되는 것으로서, 다음의 [수학식 1]에 의해 산출될 수 있다.
도 3 및 [수학식 1]을 참조하면, (1-r)은 제1화소(f1)에 승산되는 상대적 위치 상관계수, a는 보간될 프레임/필드(Fi)부터 이전프레임/필드(Fn-1)까지의 최소 거리, b는 보간될 프레임/필드(Fi)부터 현재프레임/필드(Fn)까지의 최소 거리를 의미한다.
제2승산부(124)는 [수학식 1]에 의해 산출된 상관계수 r을 제2화소(f2)에 승산하여 제2승산데이터를 출력한다. 여기서, 제1 및 제2화소(f1, f2)에 각각 부여되는 상대적 위치 상관계수의 합은 1임을 알 수 있다.
제1가산부(129)는 제1 및 제2승산부(126, 128)로부터 출력되는 제1 및 제2승산데이터를 가산하여 제1보간화소(f0)를 산출한다.
제2움직임 보상보간부(130)는 제3 및 제4화소추출부(132, 134), 제3 및 제4승산부(136, 138) 및 제2가산부(139)를 포함한다.
제2움직임 보상보간부(130)는 다수의 주변 블럭들 중 소정 주변 블럭에 대해 추정된 움직임 벡터(vc)에 대응되는 제3 및 제4화소(f3, f4)를 입력되는 현재 및 이전프레임/필드(Fn, Fn-1)로부터 각각 추출하여 제2보간화소(fc)를 산출한다.
자세히 설명하면, 제3화소추출부(132)는 소정 주변 블럭의 움직임 벡터(vc)에 대응되는 제3화소(f3)를 입력되는 현재프레임/필드(Fn)로부터 추출한다. 또한, 제4화소추출부(134)는 소정 주변 블럭의 움직임 벡터(vc)에 대응되는 제4화소(f4)를 입력되는 이전프레임/필드(Fn-1)로부터 추출한다.
제3승산부(136)는 [수학식 1]에 의해 산출된 상관계수 (1-r)을 제3화소(f3)에 승산하여 제3승산데이터를 출력한다. 또한, 제4승산부(138)는 상관계수(r)을 제4화소(f4)에 승산하여 제4승산데이터를 출력한다. 여기서, 제3 및 제4화소(f3, f4)에 승산되는 상관계수는 각각 제1 및 제2화소(f1, f2)에 적용되는 상관계수와 동일하다.
제2가산부(139)는 제3 및 제4승산부(136, 138)로부터 출력되는 제3 및 제4승산데이터를 가산하여 제2보간화소(fc)를 산출한다.
따라서, 제1 및 제2움직임 보상보간부(120, 130)로부터 각각 출력되는 제1 및 제2보간화소(f0, fc)는 [수학식 2] 및 [수학식 3]에 의해 산출된다.
여기서, x는 소정 블럭(즉, 현재 블럭 또는 주변 블럭)에 위치하는 소정 화소의 좌표값, n은 현재프레임/필드(Fn)의 시간적 위치, (n-1)은 이전프레임/필드(Fn-1)의 시간적 위치, r(여기서, 0 ≤r ≤1)은 제2 및 제4화소(f2, f4)에 부여되는 상관계수를 의미한다. 또한, [수학식 2] 및 [수학식 3]에서
후보 보간화소 산출부(140)는 가중치 저장부(142), 제5 및 제6승산부(144, 146) 및 제3가산부(148)를 포함한다.
후보 보간화소 산출부(140)는 보간할 블럭 중 블럭 아티팩트가 발생하는 블럭에 대해 OBMC 기법을 적용함으로써 블럭 아티팩트를 제거 또는 감소시킨다.
이를 위해, 후보 보간화소 산출부(140)는 보간될 현재 블럭 중 제1 및 제2보간화소(f0, fc)가 보간되는 상대적 위치에 따라 제1 및 제2보간화소(f0, fc)에 소정의 가중치를 할당하여 후보 보간화소(f')를 산출한다.
OBMC 기법은 현재 보간할 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(vc)와의 상관성이 높다는 특성을 이용하는 것이다. 따라서, OBMC 기법은 도 4와 같이 소정 주변 블럭(B1)을 가로/세로 방향(화살표 방향)으로 소정 크기 확장시켜 현재 블럭(B0)의 일부와 중첩시킨 후, 중첩된 서브 블럭(sub block)(사선으로 도시)을 보상 단위로 설정하여 움직임 보상을 수행한다. 즉, OBMC 기법은 중첩된 서브 블럭(sub block)에서는 현재 블럭(B0)의 움직임 벡터(v0)와 주변 블럭(B1)의 움직임 벡터(v1)가 움직임 보상에 영향을 준다는 가정하에, 현재 보간되는 소정의 위치별로 가중치를 할당하여 보간에 사용될 후보 보간화소(f')를 산출하는 것이다.
자세히 설명하면, 가중치 저장부(142)에는 보간될 현재 블럭 내에서 보간될 화소의 상대적 위치별로 가중치가 할당되어 있다. 즉, 보간될 현재 블럭에서 현재 움직임 벡터(v0)에 대응되는 제1화소(f1)가 다수 존재하는 경우, 다수의 제1화소(f1)가 추출될 때마다 산출되는 제1보간화소(f0)에 부여될 가중치 k가 할당되어 있되, 제1보간화소(f0)가 보간되는 위치별로 할당되어 있다. 이와 더불어, 제2보간화소(fc)에 부여되는 가중치는 (1 - k)값을 갖는다.
이 때, 가중치 저장부(142)에 저장된 보간될 화소의 상대적 위치에 대응되는 가중치는 보간될 현재 블럭의 중앙에서 경계부분으로 갈수록 커진다. 즉, 서브 블럭(sub block)을 포함하는 현재 블럭(B0)의 경계부분으로 갈수록 현재 블럭(B0)의 움직임 벡터(v0)를 반영한 제1보간화소(f0)에 할당되는 가중치 k는 작아진다. 반면, 서브 블럭(sub block)을 포함하는 현재 블럭(B0)의 경계부분으로 갈수록 주변 블럭의 움직임 벡터(v1)를 반영한 제2보간화소(fc)에 할당되는 가중치 (1-k)는 커진다.
따라서, 제1 및 제2보간화소(f0, fc)가 산출되면, 가중치 저장부(142)는 제1 및 제2보간화소(f0, fc)가 보간되는 위치에 대응되는 가중치 k 및 (1-k)를 추출하여 제공한다. 예를 들어, 산출된 제1 및 제2보간화소(f0, fc)가 보간될 위치가 보간될 현재 블럭 중 (3, 3) 위치인 경우, 가중치 저장부(142)는 (3, 3) 위치에 대응되는 소정 가중치 k를 추출하여 제5승산부(144)로 제공하며, (1-k)를 갖는 가중치를 제6승산부(146)로 제공한다. 여기서, 제5 및 제6승산부(144, 146)에 제공되는 가중치의 합은 '1'임을 알 수 있다.
제5승산부(144)는 제1보간화소(f0)가 보간될 위치에 대응되는 가중치 k와 제1보간화소(f0)를 승산하여 제5승산데이터를 출력하며, 제6승산부(146)는 제2보간화소(fc)가 보간될 위치에 대응되는 가중치 (1 - k)와 제2보간화소(fc)를 승산하여제6승산데이터를 출력한다.
제3가산부(148)는 제5 및 제6승산부(144, 146)로부터 출력되는 제5 및 제6승산데이터를 가산하여 후보 보간화소(f')를 산출한다.
따라서, 후보 보간화소 산출부(140)로부터 출력되는 후보 보간화소(f')는 [수학식 4]와 같이 나타낼 수 있다.
여기서, k는 제1보간화소(f0)에 부여되는 가중치, (1-k)는 제2보간화소(fc)에 부여되는 가중치이며, 0 ≤r ≤1이다.
움직임 분석부(150)는 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(vC)를 분석하여 현재 블럭과 주변 블럭간의 불연속(discontinuities) 여부를 판단한다. 자세히 설명하면, 움직임 분석부(150)는 움직임 벡터 필드(미도시)에서 현재 블럭과 주변 블럭이 불연속 영역인 것으로 판단되면 블럭 아티팩트가 발생하는 것으로 판단하여 OBMC 모드를 수행하도록 하는 모션 플래그(Motion Flag, m)를 출력한다.
반면, 움직임 벡터 필드(미도시)에서 현재 블럭과 주변 블럭이 불연속 영역이 아닌 것으로 판단되면, 움직임 분석부(150)는 일반적인 움직임 보상을 수행하도록 하는 모션 플래그를 출력한다.
이러한 각 블럭간의 불연속 특성은 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(예를 들어, v1)의 차이가 많은 곳에서 발생할 가능성이 높다. 따라서, 본 발명에서는 불연속 영역을 검출하기 위한 방법으로서 다음과 같은 실시예를 적용할 수 있다. 즉, 움직임 분석부(150)는 현재 움직임 벡터(v0)와 주변 움직임 벡터(vc)의 편차와 기설정된 임계값을 비교하여 현재 블럭과 주변 블럭간의 불연속 여부를 판단할 수 있다.
자세히 설명하면, 움직임 분석부(150)는 추정된 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(v1)의 편차를 산출한다. 그리고, 그 편차가 기설정된 임계값 이상이면, 움직임 분석부(150)는 후보 보간화소 산출부(140)로부터 산출된 후보 보간화소(f')를 최종 보간화소(f)로 선택하도록 하는 모션 플래그, 즉, m=1이라는 선택신호를 최종 보간화소 선택부(160)로 출력한다.
반면, 그 차이가 기설정된 임계값 미만이면, 움직임 분석부(150)는 제1움직임 보상보간부(120)로부터 산출된 제1보간화소(f0)를 최종 보간화소(f)로 선택하도록 하는 모션 플래그, 즉, m=0이라는 선택신호를 최종 보간화소 선택부(160)로 출력한다.
최종 보간화소 선택부(160)는 움직임 분석부(150)에서 판단된 불연속 여부에 따라 제1보간화소(f0) 및 후보 보간화소(f') 중 어느 하나를 최종 보간화소(f)로 선택하며, 본 발명에서는 멀티플렉서를 사용한다.
[수학식 5]를 참조하여 자세히 설명하면, 움직임 분석부(150)로부터 m=1을 갖는 모션 플래그가 입력되면, 최종 보간화소 선택부(160)는 OBMC 기법에 의해 산출된 후보 보간화소(f')를 최종 보간화소(f)로 선택한다. 반면, 움직임 분석부(150)로부터 m=0을 갖는 모션 플래그가 입력되면, 최종 보간화소 선택부(160)는 제1움직임 보상보간부(120)로부터 산출된 제1보간화소(f0)를 최종 보간화소(f)로 선택한다.
도 5는 도 1에 따른 블럭 기반의 움직임 보상 방법을 개략적으로 설명하기 위한 흐름도이다.
도 1 내지 도 5를 참조하면, 먼저, 제1 및 제2화소추출부(122, 124)는 현재 움직임 벡터(v0)에 대응되는 제1 및 제2화소(f1, f2)를 각각 현재 및 이전프레임/필드(Fn, Fn-1)로부터 추출한다(S410). 그리고, 제3 및 제4화소추출부(132, 134)는 주변 움직임 벡터(vc)에 대응되는 제3 및 제4화소(f3, f4)를 각각 현재 및 이전프레임/필드(Fn, Fn-1)로부터 추출한다(S420).
S420단계가 수행되면, 제1 내지 제4승산부(126, 128, 136, 138)는 [수학식 1]에 의해 산출된 소정의 상관계수 (1 - r) 및 r을 적응적으로 제1 내지 제4화소(f1내지 f4)에 승산하여 제1 내지 제4승산데이터를 산출한다(S430).
그리고, 제1가산부(129)는 제1 및 제2승산데이터를 가산하여 제1보간화소(f0)를 산출하며, 제2가산부(139)는 제3 및 제4승산데이터를 가산하여 제2보간화소(fc)를 산출한다(S440).
S440단계가 수행되면, 후보 보간화소 산출부(140)는 OBMC 기법을 적용하여 서브 블럭 단위로 움직임 보상을 수행한다. 자세히 설명하면, 후보 보간화소 산출부(140)는 보간될 현재 블럭 중 제1 및 제2보간화소(f0, fc)가 보간되는 상대적 위치에 따라 제1 및 제2보간화소(f0, fc)에 소정의 가중치를 할당하여 후보 보간화소(f')를 산출한다(S450). 이 때 제1보간화소(f0)에 가중치 k가 할당되는 경우, 제2보간화소(fc)에는 가중치 (1-k)가 할당된다.
그리고, 움직임 분석부(150)는 보간할 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(vc)를 분석하여 현재 블럭과 주변 블럭 간의 불연속 여부를 판단한 후, 판단 결과에 상응하는 모션 플래그를 출력한다(S460).
예를 들어, 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(vc)의 편차가 기설정된 임계값 이상이면, 움직임 분석부(150)는 현재 블럭과 주변 블럭간의 불연속 영역이 존재하여 블럭 아티팩트가 발생하는 것으로 판단하여, m=1이라는 모션 플래그를 출력한다. 반면, 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(v1)의 편차가 기설정된 임계값 미만이면, 움직임 분석부(150)는 현재 블럭과 주변 블럭간의 불연속 영역이 존재하지 않는 것으로 판단하여, m=0이라는 모션 플래그를 출력한다.
S460단계로부터 m=1이라는 모션 플래그가 입력되면, 최종 보간화소 선택부(160)는 후보 보간화소 산출부(140)로부터 산출된 후보 보간화소(f')를 최종 보간화소(f)로 선택출력한다(S470).
한편, S460단계로부터 m=0이라는 모션 플래그가 입력되면, 최종 보간화소 선택부(160)는 제1움직임 보상보간부(120)로부터 산출된 제1보간화소(f0)를 최종 보간화소(f)로 선택출력한다(S480).
상술한 블럭 기반의 움직임 보상 장치(100) 및 방법은 현재 블럭 및 현재 블럭에 인접한 다수의 주변 블럭들 중 하나의 주변 블럭과의 상관도를 고려하여 OBMC 기법을 적용한다. 따라서, 블럭 기반의 움직임 보상 장치(100) 및 방법에 의하면, 블럭 아티팩트가 발생한 블럭에 대해서만 OBMC 기법을 적용함으로써 블럭 아티팩트가 제거 또는 감소된 움직임 보상 영상을 제공하는 것이 가능하다.
도 6은 본 발명의 다른 실시예에 따른 블럭 기반의 움직임 보상 장치(100)를 개략적으로 도시한 블럭도이다.
도 6을 참조하면, 블럭 기반의 움직임 보상 장치(600)는 지연기(610), 움직임 보상보간부(620), 후보 보간화소 산출부(630), 움직임 분석부(640) 및 최종 보간화소 선택부(650)를 포함한다. 먼저, 도 6에 도시된 블럭 기반의 움직임 보상장치(600)는 현재 블럭에 인접한 다수의 주변 블럭들을 고려하여 OBMC 기법을 선택적으로 적용하는 장치이다.
또한, 도 6에 도시된 블럭 기반의 움직임 보상 장치(600)의 지연기(610), 움직임 보상보간부(620), 후보 보간화소 산출부(630), 움직임 분석부(640) 및 최종 보간화소 선택부(650)는 도 1에 도시된 지연기(110), 제1움직임 보상보간부(120), 제2움직임 보상보간부(130), 후보 보간화소 산출부(140), 움직임 분석부(150) 및 최종 보간화소 선택부(160)와 유사한 동작을 수행하므로 각 블럭에 대한 상세한 설명은 생략한다.
움직임 보상보간부(620)는 제1 내지 제N움직임 보상보간부(620_1 내지 620_N)를 갖는다. 여기서, N은 움직임 보상시 고려되는 현재 블럭과 주변 블럭들의 개수이다.
제1움직임 보상보간부(620_1)는 현재 블럭의 움적임 벡터에 대응되는 화소를 추출하여 제1보간화소(f1)를 산출한다. 제2 내지 제N움직임 보상보간부(620_2 내지 620_N)는 각각 주변 블럭들의 움직임 벡터들(v1내지 vN-1)에 대응되는 화소를 추출하여 제2 내지 제N보간화소(f2내지 fN)를 산출한다.
후보 보간화소 산출부(630)는 가중치 저장부(미도시), 제1 내지 제N승산부(632_1 내지 632_N) 및 가산부(634)를 포함한다.
후보 보간화소 산출부(630)는 보간할 블럭 중 블럭 아티팩트가 발생하는 블럭에 대해 중첩 움직임 보상(Overlap Block Motion Compensation, 이하, "OBMC"라한다) 기법을 적용하여 움직임 보상을 수행한다.
이를 위해, 각 제1 내지 제N승산부(632_1 내지 632_N)는 보간될 현재 블럭에서 제1 내지 제N보간화소(f2내지 fN)가 보간되는 상대적 위치에 따라 제1 내지 제N보간화소(f2내지 fN)에 소정의 가중치(k1내지 kN)를 승산한다. 이 때, 제1 내지 제N승산부(632_1 내지 632_N)로 제공되는 각 가중치(k1내지 kN)의 합은 '1'인 것이 바람직하다. 가산부(634)는 가중치(k1내지 kN)가 승산된 각 데이터를 가산하여 후보 보간화소(f')를 산출한다.
움직임 분석부(640)는 현재 블럭의 움직임 벡터(v0)와 주변 블럭의 움직임 벡터(v1내지 vN-1)를 분석하여 현재 블럭과 주변 블럭간의 불연속(discontinuities) 여부를 판단한다.
최종 보간화소 선택부(650)는 움직임 분석부(640)에서 판단된 불연속 여부에 따라 제1보간화소(f0) 및 후보 보간화소(f') 중 어느 하나를 최종 보간화소(f)로 선택출력한다.
상술한 블럭 기반의 움직임 보상 장치(100, 600) 및 방법은 동영상 압축 시스템, 고선명 텔레비전의 프레임 레이트 변환 등과 같은 산업 분야에 광범위하게 활용될 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
지금까지 설명한 바와 같이, 본 발명에 따른 블럭 기반의 움직임 보상 장치 및 방법에 의하면, 블럭간에 발생하는 불연속 영역, 즉, 블럭 아티팩트가 발생하는 영역을 선별하여 선별된 영역에 대해서만 OBMC 기법을 적용하는 것이 가능하다. 따라서, 선별적으로 OBMC 기법을 적용함으로써 전체 블럭에 OBMC 기법을 적용하는 경우 발생하는 블러링과 같은 화질열화를 감소시키면서 블럭 아티팩트 또한 제거 또는 감소되는 움직임 보상을 수행할 수 있다.

Claims (16)

  1. 추정된 현재 블럭의 움직임 벡터에 대응되는 제1 및 제2화소를 입력되는 현재 및 이전프레임/필드로부터 각각 추출하여 제1보간화소를 산출하는 제1움직임 보상보간부;
    보간될 상기 현재 블럭에 인접한 적어도 하나의 주변 블럭 별로 추정된 움직임 벡터에 대응되는 제3 및 제4화소를 입력되는 상기 현재 및 이전프레임/필드로부터 각각 추출하여 제2보간화소를 산출하는 적어도 하나의 제2움직임 보상보간부;
    보간될 상기 현재 블럭 중 상기 제1 및 제2보간화소가 보간되는 상대적 위치에 따라 상기 제1 및 제2보간화소에 소정의 가중치를 할당하여 후보 보간화소를 산출하는 후보 보간화소 산출부;
    추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터를 분석하여 상기 현재 블럭과 상기 주변 블럭 간의 불연속 여부를 판단하는 움직임 분석부; 및
    상기 움직임 분석부에서 판단된 상기 불연속 여부에 따라 상기 제1보간화소 및 상기 후보 보간화소 중 어느 하나를 최종 보간화소로 선택하여 출력하는 최종 보간화소 선택부;를 포함하는 것을 특징으로 하는 블럭 기반의 움직임 보상 장치.
  2. 제 1항에 있어서,
    상기 움직임 분석부는,
    추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터의 차이를 비교하여, 상기 차이가 기설정된 임계값 이상이면 상기 후보 보간화소 산출부로부터 산출된 상기 후보 보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 상기 최종 보간화소 선택부로 출력하며, 상기 차이가 기설정된 상기 임계값 미만이면 상기 제1움직임 보상보간부로부터 산출된 상기 제1보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 출력하는 것을 특징으로 하는 블럭 기반의 움직임 보상 장치.
  3. 제 1항에 있어서,
    상기 제1 및 제2움직임 보상보간부는 각각,
    상기 현재 블럭의 움직임 벡터에 대응되는 상기 제1화소를 입력되는 상기 현재프레임/필드로부터 추출하는 제1화소추출부;
    상기 현재 블럭의 움직임 벡터에 대응되는 상기 제2화소를 입력되는 상기 이전프레임/필드로부터 추출하는 제2화소추출부;
    보간할 프레임/필드와 상기 현재 및 이전프레임/필드와의 상대적 위치 상관계수를 추출된 상기 제1 및 제2화소 각각에 승산하여 제1 및 제2승산데이터를 출력하는 제1 및 제2승산부; 및
    상기 제1 및 제2승산부로부터 출력되는 상기 제1 및 제2승산데이터를 가산하여 상기 제1보간화소를 산출하는 제1가산부;를 포함하며,
    상기 제1 및 제2화소 각각에 부여되는 상기 상대적 위치 상관계수의 합은 1인 것을 특징으로 하는 블럭 기반의 움직임 보상 장치.
  4. 제 3항에 있어서,
    상기 제2화소에 승산되는 상기 상대적 위치 상관계수는 다음에 의해 산출되는 것을 특징으로 하는 블럭 기반의 움직임 보상 장치:
    여기서, r은 상기 제2화소에 승산되는 상대적 위치 상관계수, a는 상기 보간될 프레임/필드부터 상기 이전프레임/필드까지의 최소 거리, b는 상기 보간될 프레임/필드부터 상기 현재프레임/필드까지의 최소 거리.
  5. 제 1항에 있어서,
    상기 후보 보간화소 산출부는,
    상기 현재 블럭 내에서 보간될 화소의 상대적 위치별로 가중치가 할당되어 있으며, 상기 상대적 위치별로 할당된 가중치 중 산출된 상기 제1 및 제2보간화소가 보간되는 위치에 대응되는 가중치를 추출하여 제공하는 가중치 저장부;
    상기 가중치 저장부로부터 상기 제1 및 제2보간화소가 보간될 위치에 대응되는 가중치를 제공받아 상기 제1 및 제2보간화소 별로 승산하여 제3 및 제4승산데이터를 출력하는 제3 및 제4승산부;
    상기 제3 및 제4승산부로부터 출력되는 상기 제3 및 제4승산데이터를 가산하여 상기 후보보간화소를 산출하는 제2가산부;를 더 포함하며,
    상기 제1 및 제2보간화소가 보간될 위치에서 상기 제1 및 제2보간화소에 할당되는 상기 가중치의 합은 1인 것을 특징으로 하는 블럭 기반의 움직임 보상 장치.
  6. 제 5항에 있어서,
    상기 제1 및 제2보간화소가 보간될 위치가 보간 블럭의 중심으로부터 상기 보간 블럭의 경계영역으로 이동할수록 상기 제1보간화소에 할당되는 가중치는 감소하며, 상기 제2보간화소에 할당되는 가중치는 증가하는 것을 특징으로 하는 블럭기반의 움직임 보상 장치.
  7. 제 1항에 있어서,
    입력되는 상기 현재프레임/필드를 소정 시간 지연시켜, 상기 소정 시간 지연된 상기 이전프레임/필드를 상기 제1 및 제2움직임 보상보간부 및 상기 움직임 보상부로 제공하는 지연기;를 더 포함하는 것을 특징으로 하는 블럭 기반의 움직임 보상 장치.
  8. 제 1항에 있어서,
    상기 제2움직임 보상보간부의 개수는 상기 주변 블럭의 개수와 동일하게 마련되는 것을 특징으로 하는 움직임 보상 장치.
  9. 추정된 현재 블럭의 움직임 벡터에 대응되는 제1 및 제2화소를 입력되는 현재 및 이전프레임/필드로부터 각각 추출하여 제1보간화소를 산출하는 단계;
    보간될 상기 현재 블럭에 인접한 적어도 하나의 주변 블럭 별로 추정된 움직임 벡터에 대응되는 제3 및 제4화소를 입력되는 상기 현재 및 이전프레임/필드로부터 각각 추출하여 제2보간화소를 산출하는 단계;
    보간될 상기 현재 블럭 중 상기 제1 및 제2보간화소가 보간되는 상대적 위치에 따라 상기 제1 및 제2보간화소에 소정의 가중치를 할당하여 후보 보간화소를 산출하는 단계;
    추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터를 분석하여 상기 현재 블럭과 상기 주변 블럭 간의 불연속 여부를 판단하는 단계; 및
    상기 판단 단계에서 판단된 상기 불연속 여부에 따라 상기 제1보간화소 및 상기 후보 보간화소 중 어느 하나를 최종 보간화소로 선택하여 출력하는 단계;를 포함하는 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
  10. 제 9항에 있어서,
    상기 움직임 분석 단계는,
    추정된 상기 현재 블럭의 움직임 벡터와 상기 주변 블럭의 움직임 벡터의 차이를 비교하여, 상기 차이가 기설정된 임계값 이상이면 상기 후보 보간화소 산출부로부터 산출된 상기 후보 보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 상기 최종 보간화소 선택부로 출력하며, 상기 차이가 기설정된 상기 임계값 미만이면 상기 제1움직임 보상보간부로부터 산출된 상기 제1보간화소를 상기 최종 보간화소로 선택하도록 하는 신호를 출력하는 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
  11. 제 9항에 있어서,
    상기 제1 및 제2보간화소 산출단계는 각각,
    상기 현재 블럭의 움직임 벡터에 대응되는 상기 제1화소를 입력되는 상기 현재프레임/필드로부터 추출하는 단계;
    상기 현재 블럭의 움직임 벡터에 대응되는 상기 제2화소를 입력되는 상기 이전프레임/필드로부터 추출하는 단계;
    보간할 프레임/필드와 상기 현재 및 이전프레임/필드와의 상대적 위치 상관계수를 추출된 상기 제1 및 제2화소 각각에 승산하여 제1 및 제2승산데이터를 출력하는 단계; 및
    상기 제1 및 제2승산부로부터 출력되는 상기 제1 및 제2승산데이터를 가산하여 상기 제1보간화소를 산출하는 단계;를 포함하며,
    상기 제1 및 제2화소 각각에 부여되는 상기 상대적 위치 상관계수의 합은 1인 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
  12. 제 11항에 있어서,
    상기 제2화소에 승산되는 상기 상대적 위치 상관계수는 다음에 의해 산출되는 것을 특징으로 하는 블럭 기반의 움직임 보상 방법:
    여기서, r은 상기 제2화소에 승산되는 상대적 위치 상관계수, a는 상기 보간될 프레임/필드부터 상기 이전프레임/필드까지의 최소 거리, b는 상기 보간될 프레임/필드부터 상기 현재프레임/필드까지의 최소 거리.
  13. 제 9항에 있어서,
    상기 후보 보간화소 산출단계는,
    상기 현재 블럭 내에서 보간될 화소의 상대적 위치별로 할당된 가중치 중, 산출된 상기 제1 및 제2보간화소가 보간되는 위치에 대응되는 가중치를 추출하여 제공하는 단계;
    제공된 상기 제1 및 제2보간화소가 보간될 위치에 대응되는 가중치를 상기 제1 및 제2보간화소 별로 승산하여 제3 및 제4승산데이터를 출력하는 단계;
    출력된 상기 제3 및 제4승산데이터를 가산하여 상기 후보보간화소를 산출하는 단계;를 포함하며,
    상기 제1 및 제2보간화소가 보간될 위치에서 상기 제1 및 제2보간화소에 할당되는 상기 가중치의 합은 1인 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
  14. 제 13항에 있어서,
    상기 제1 및 제2보간화소가 보간될 위치가 보간 블럭의 중심으로부터 상기 보간 블럭의 경계영역으로 이동할수록 상기 제1보간화소에 할당되는 가중치는 감소하며, 상기 제2보간화소에 할당되는 가중치는 증가하는 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
  15. 제 9항에 있어서,
    입력되는 상기 현재프레임/필드를 소정 시간 지연시켜, 상기 소정 시간 지연된 상기 이전프레임/필드를 상기 제1 및 제2보간화소 산출단계로 제공하는 단계;더 포함하는 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
  16. 제 9항에 있어서,
    상기 제2보간화소 산출단계에서, 상기 제2보간화소는 보간될 상기 현재 블럭에 인접한 상기 주변 블럭의 개수와 동일하게 산출되는 것을 특징으로 하는 블럭 기반의 움직임 보상 방법.
KR20030038797A 2003-06-16 2003-06-16 블럭 기반의 움직임 보상 장치 및 방법 KR100605746B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20030038797A KR100605746B1 (ko) 2003-06-16 2003-06-16 블럭 기반의 움직임 보상 장치 및 방법
US10/823,674 US8041134B2 (en) 2003-06-16 2004-04-14 Apparatus to provide block-based motion compensation and method thereof
CNB200410044769XA CN100450182C (zh) 2003-06-16 2004-05-18 提供基于块的运动补偿的装置及其方法
EP20040252962 EP1489849A1 (en) 2003-06-16 2004-05-20 Adaptive block-based motion compensation
JP2004177431A JP4145837B2 (ja) 2003-06-16 2004-06-15 ブロックに基いた動き補償装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20030038797A KR100605746B1 (ko) 2003-06-16 2003-06-16 블럭 기반의 움직임 보상 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040108056A true KR20040108056A (ko) 2004-12-23
KR100605746B1 KR100605746B1 (ko) 2006-07-31

Family

ID=33411754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20030038797A KR100605746B1 (ko) 2003-06-16 2003-06-16 블럭 기반의 움직임 보상 장치 및 방법

Country Status (5)

Country Link
US (1) US8041134B2 (ko)
EP (1) EP1489849A1 (ko)
JP (1) JP4145837B2 (ko)
KR (1) KR100605746B1 (ko)
CN (1) CN100450182C (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100767503B1 (ko) * 2006-06-13 2007-10-17 주식회사 팬택앤큐리텔 3차원 피팅을 이용한 움직임 벡터 보상 시스템 및 방법
KR101319916B1 (ko) * 2006-06-21 2013-10-21 박상래 움직임 추정방법 및 장치, 및 이를 이용한 영상 부호화방법및 장치
KR101427115B1 (ko) * 2007-11-28 2014-08-08 삼성전자 주식회사 영상처리장치 및 영상처리방법
KR101527150B1 (ko) * 2008-07-24 2015-06-10 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치 및 그를 위한 화소 기반 적응중첩 블록 움직임 보상 장치 및 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472524B2 (en) * 2006-04-03 2013-06-25 Intel Corporation Motion compensated frame rate conversion with protection against compensation artifacts
US8345763B2 (en) * 2007-11-27 2013-01-01 Mediatek Inc. Motion compensation method and integrated circuit utilizing the same
JP4374048B2 (ja) * 2007-12-26 2009-12-02 株式会社東芝 補間フレーム生成装置、補間フレーム生成方法及び放送受信装置
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US20100201870A1 (en) * 2009-02-11 2010-08-12 Martin Luessi System and method for frame interpolation for a compressed video bitstream
CN102316316B (zh) * 2010-07-07 2013-11-20 中国科学院微电子研究所 一种嵌入式视频解码的运动补偿参考块数据读取装置及方法
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
KR101589727B1 (ko) * 2014-07-30 2016-01-28 엘아이지넥스원 주식회사 이동물체 취득 영상에서의 프레임율 향상 장치
US10230980B2 (en) * 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding
KR101714385B1 (ko) 2015-06-26 2017-03-09 홍익대학교 산학협력단 압축된 메모리 데이터를 이용한 모션 추정방법
KR101685384B1 (ko) 2015-06-29 2016-12-12 홍익대학교 산학협력단 상위 비트만을 이용한 압축된 메모리 데이터를 이용한 모션 추정방법
US10419777B2 (en) * 2016-12-22 2019-09-17 Google Llc Non-causal overlapped block prediction in variable block size video coding
US11387841B2 (en) * 2017-12-15 2022-07-12 Intel Corporation Apparatus and method for interpolating between a first signal and a second signal
CN110720221A (zh) * 2018-02-14 2020-01-21 北京大学 运动补偿的方法、装置和计算机***
KR102575126B1 (ko) * 2018-12-26 2023-09-05 주식회사 엘엑스세미콘 영상 처리 장치 및 그 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0144295B1 (ko) 1994-12-14 1998-07-15 배순훈 오버랩된 움직임 보상장치 및 그 방법
KR0171145B1 (ko) * 1995-03-20 1999-03-20 배순훈 이미지 부호화 시스템용 움직임 보상 장치
GB2301971B (en) * 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
DE19640315C1 (de) * 1996-09-30 1998-02-26 Siemens Ag Verfahren und Vorrichtung zur Aktionssteuerung in einem Zeitschlitzverfahren
KR100226722B1 (ko) * 1997-07-30 1999-10-15 구자홍 동영상 움직임 벡터 추정 방법
AU2337099A (en) 1998-01-26 1999-08-09 Tiernan Communications, Inc. Method and apparatus for advanced television signal encoding and decoding
US6519287B1 (en) * 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
JP2000299864A (ja) 1999-04-12 2000-10-24 Canon Inc 動画像処理方法
KR100302130B1 (ko) 1999-11-05 2001-11-02 전주범 중첩 블럭정합알고리즘을 이용한 움직임 추정방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100767503B1 (ko) * 2006-06-13 2007-10-17 주식회사 팬택앤큐리텔 3차원 피팅을 이용한 움직임 벡터 보상 시스템 및 방법
KR101319916B1 (ko) * 2006-06-21 2013-10-21 박상래 움직임 추정방법 및 장치, 및 이를 이용한 영상 부호화방법및 장치
KR101427115B1 (ko) * 2007-11-28 2014-08-08 삼성전자 주식회사 영상처리장치 및 영상처리방법
KR101527150B1 (ko) * 2008-07-24 2015-06-10 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치 및 그를 위한 화소 기반 적응중첩 블록 움직임 보상 장치 및 방법

Also Published As

Publication number Publication date
CN100450182C (zh) 2009-01-07
US8041134B2 (en) 2011-10-18
CN1574963A (zh) 2005-02-02
EP1489849A1 (en) 2004-12-22
JP2005012799A (ja) 2005-01-13
KR100605746B1 (ko) 2006-07-31
JP4145837B2 (ja) 2008-09-03
US20040252896A1 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
KR100605746B1 (ko) 블럭 기반의 움직임 보상 장치 및 방법
KR100541953B1 (ko) 움직임 보상을 위한 화소값 선택 장치 및 방법
KR100579493B1 (ko) 움직임 벡터 생성 장치 및 방법
US6625216B1 (en) Motion estimation using orthogonal transform-domain block matching
EP1993292B1 (en) Dynamic image encoding method and device and program using the same
KR100251548B1 (ko) 디지털영상을위한움직임추정장치및방법
US5508744A (en) Video signal compression with removal of non-correlated motion vectors
EP1592248A1 (en) Motion vector estimation employing adaptive temporal prediction
US20050249288A1 (en) Adaptive-weighted motion estimation method and frame rate converting apparatus employing the method
KR100657261B1 (ko) 적응적 움직임 보상 보간 방법 및 장치
JP2003163894A (ja) 適応動き補償型フレーム及び/又はフィールドレート変換装置及びその方法
JPH09154137A (ja) 動き依存予測を使用したビデオ情報の圧縮方法と装置
KR100692600B1 (ko) 움직임 추정 장치 및 방법
EP0695097B1 (en) Video coding device
EP1980113A1 (en) Method and apparatus for block-based motion estimation
KR20050049680A (ko) 노이즈 감쇠장치 및 디인터레이싱 장치
EP1583367A1 (en) Motion estimation employing line and column vectors
EP1003336A1 (en) Video pictures compression and coding with decision step for field/frame and motion vectors DCT
JP4494803B2 (ja) 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置
KR20050080862A (ko) 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치
KR100732683B1 (ko) 움직임 보상을 수행하는 영상변환장치 및 움직임 보상방법
KR100644629B1 (ko) 하이브리드 블록 매칭 기반의 움직임 추정 방법 및 그를적용한 프레임 레이트 변환 장치
EP1420595B1 (en) Motion vector selection in a video motion estimator based on a preferred reference point
JP2811425B2 (ja) 運動ベクトル抽出装置
KR100388802B1 (ko) 오류은폐장치및방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130627

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee