KR100786549B1 - 데이터 샘플과 다른 데이터 샘플들의 보간들 사이의 유사도를 결정하는 방법 - Google Patents

데이터 샘플과 다른 데이터 샘플들의 보간들 사이의 유사도를 결정하는 방법

Info

Publication number
KR100786549B1
KR100786549B1 KR1020017015958A KR20017015958A KR100786549B1 KR 100786549 B1 KR100786549 B1 KR 100786549B1 KR 1020017015958 A KR1020017015958 A KR 1020017015958A KR 20017015958 A KR20017015958 A KR 20017015958A KR 100786549 B1 KR100786549 B1 KR 100786549B1
Authority
KR
South Korea
Prior art keywords
data sample
data
weighting factor
interpolation
pixel
Prior art date
Application number
KR1020017015958A
Other languages
English (en)
Other versions
KR20020026179A (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 KR20020026179A publication Critical patent/KR20020026179A/ko
Application granted granted Critical
Publication of KR100786549B1 publication Critical patent/KR100786549B1/ko

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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Indication And Recording Devices For Special Purposes And Tariff Metering Devices (AREA)

Abstract

반-화소 동작 추정(half-pixel motion estimation)을 갖는 비디오 인코딩은 또 다른 데이터 샘플[C]과 다른 데이터 샘플들[B] 간의 보간들[I]과 데이터 샘플[X] 간의 유사도가 각각의 보간[I]에 대해 결정되는 데이터 처리의 예이다. 보간들[I]은 제 1 가중 인자[W1]와 다른 데이터 샘플[C]의 곱과 제 2 가중 인자[W2]와 다른 데이터 샘플[B]의 곱의 합이며, 식 I = CxW1 + BxW2 으로 표현된다. 다음 방법은 데이터 처리가 비교적 적은 산술 동작들로 실행되게 한다. 예비 계산 단계[PCS]에서, 공통부[Y]가 계산된다. 공통부[Y]는 데이터 샘플[X]과 제 1 가중 인자[W1]가 곱해진 다른 데이터 샘플[C] 간의 차를 제 2 가중 인자[W2]의 역과 곱한 것이며, 식 Y = 1/W2 x {X- CxW1}으로 표현된다. 다른 계산[FCS]에서, 차들[ER]은 공통부[Y]와 각각의 다른 데이터 샘플들[B] 간에 계산되고, 식 ER = Y - B로 표현된다. 각각의 차들[ER]은 데이터 샘플[X]와 관련 보간[I] 사이의 유사도에 대응한다.

Description

데이터 샘플과 다른 데이터 샘플들의 보간들 사이의 유사도를 결정하는 방법{Determining the degree of resemblance between a data sample and interpolations of other data samples}
본 발명은 하나의 데이터 샘플과, 또 다른 데이터 샘플과 또 다른 데이터 샘플들 간의 보간(interpolation)들 사이의 유사도(degree of resemblance)가 각 보간에 대해 결정되는 데이터 처리에 관한 것이다. 본 발명은, 예컨대 반-화소 동작 추정(half-pixel motion estimation)을 이용하는 비디오 인코딩에 적용될 수 있다.
아래의 방식으로 하나의 데이터 샘플과, 다른 데이터 샘플과 또 다른 데이터 샘플들 간의 보간들 사이의 유사도를 결정하는 것이 가능하다. 제 1 단계에서, 보간들이 계산된다. 예를 들어, 보간은 제 1 가중 인자(weighting factor)가 곱해진 다른 데이터 샘플과 제 2 가중 인자가 곱해진 또 다른 데이터 샘플일 수 있다, 제 2 단계에서, 데이터 샘플과 보간들 사이의 차들(differences)은 각 보간에 대해 계산된다. 제 2 311 435호로 발행된 영국특허 출원은 이 방법에 따른 반-화소 동작 추정을 개시한다.
도 1은 본 발명의 기본 특징들을 도시하는 개념도.
도 2는 동작 추정기를 포함하는 MPEG 인코더를 도시하는 블록도.
도 3은 동작 추정기의 동작 방법을 도시하는 흐름도.
도 4는 도 3에 도시된 동작 방법의 세부사항들을 도시하는 흐름도.
본 발명의 목적은 단가 절감을 가능하게 하는 것이다.
본 발명에 따라, 하나의 데이터 샘플과, 다른 데이터 샘플들과 또 다른 데이터 샘플들 간의 보간들 사이의 유사도가 이하의 방법으로 결정된다. 예비적인 계산 단계에서, 공통부가 계산된다. 공통부는 데이터 샘플과 제 1 가중 인자가 곱해진 다른 데이터 샘플 사이의 차와 K의 곱이 되고, K는 제 2 가중 인자의 역(inverse)이다. 다른 계산 단계에서, 공통부 및 각 다른 데이터 샘플들 사이의 차들이 계산된다. 각 차는 데이터 샘플과 관련 보간 사이의 유사도에 대응한다.
본 발명은 아래의 양태들을 고려한 것이다. 방법이 산술 연산들의 수를 많이 포함하면 할수록, 그 방법을 구현하기 위한 단가는 높아진다. 예를 들어, 각 산술 연산이 하드웨어의 특정 아이템에 의해 구현될 수 있다. 그 방법이 비교적 많은 산술 연산들을 포함하고, 그 구현은 하드웨어의 비교적 많은 아이템들을 포함한다. 본 방법은 또한 하드웨어의 단일 아이템, 즉 그 방법을 실행하도록 프로그래밍된 프로세서에 의해 구현될 수 있다. 많은 응용들에서, 본 발명은 임의의 시간 제한 내에서 실행되어야 한다. 프로세서는 그 방법이 비교적 많은 산술 연산들을 포함하면 비교적 빠를 필요가 있다. 프로세서가 빠르면 빠를수록, 프로세서는 더 비싸진다.
종래의 방법은 아래의 산술 연산들을 필요로 한다. 대체로, 각 보간은 적어도 두 개의 곱셈들 및 하나의 덧셈을 포함한다. 한 가지 예외가 있는데, 즉, 가중 인자들이 둘다 0.5이면, 1개의 덧셈과 2에 의한 나눗셈 하나면 충분할 것이다. 이것은 적절한 데이터 샘플과 보간 사이의 차를 계산하기 위해 1개의 뺄셈을 필요로 한다. N개의 상이한 보간들이 있다고 가정하면, N은 정수이고, 이는 2N개의 곱셈들, N개의 덧셈들 및 N개의 나눗셈들이 필요하다는 것을 의미한다. 가중 인자들이 둘다 0.5이면, N개의 덧셈들, N개의 나눗셈들 및 N개의 뺄셈들이면 충분할 것이다.
본 발명에 따른 방법은 아래의 산술 연산들을 필요로 한다. 대체로, 예비적인 계산 단계는 2개의 곱셈들 및 1개의 뺄셈을 포함한다. 한 가지 예외가 있는데, 즉 가중 인자들이 둘다 0.5이면, 1개의 곱셈 및 1개의 덧셈이면 충분할 것이다. 다른 계산 단계는 각 보간에 대한 뺄셈을 포함한다. N개의 상이한 보간들이 있다고 가정하면, 이는 2개의 곱셈들 및 N+1개의 뺄셈들이 필요하다는 것을 의미한다. 가중 인자들이 둘다 0.5이면, 1개의 곱셈 및 N+1개의 뺄셈들이면 충분할 것이다. 따라서, 본 발명에 따른 방법은 종래 방법보다 적은 산술 연산들을 필요로 한다. 따라서, 본 발명은 단가 절감이 달성될 수 있게 한다.
본 발명의 여러 가지 양태들이 도면을 참조하여 이하의 상세한 설명에서 개시될 것이다.
아래의 언급들은 참조 부호들에 관한 것이다. 모든 도면들에서 동일한 실체들은 동일한 문자 참조로서 지정된다. 여러 가지 유사한 실체들을 단일의 도면에 나타낼 수 있다. 그 경우에, 아라비아 숫자 또는 접미사가 동일 실체들 사이를 구별하기 위해 문자 참조에 부가된다. 아라비아 숫자 또는 접미사는 편의를 위해 생략되거나 그 값이 중요하지 않은 경우(값에 상관없이) 별표(asterisk)로서 대체될 수 있다. 이는 청구항뿐만 아니라 명세서에도 적용한다.
도 1은 상술한 본 발명의 기본적 특징들을 도시한다. 데이터 샘플[X]과, 다른 데이터 샘플들[B]과 또 다른 데이터 샘플들[C] 간의 보간들[I] 사이의 유사도가 각 보간[I]에 대해 결정된다. 보간들[I]은 제 1 가중 인자[W1]와 다른 데이터 샘플[C]의 곱과 제 2 가중 인자[W2]와 또 다른 데이터 샘플[B]의 곱의 합으로서, 아래의 수식으로 표현된다.
I = C×W1 + B×W2
예비적인 계산 단계[PCS]에서, 공통부[Y]가 계산된다. 공통부[Y]는 제 1 가중 인자[W1]와 다른 데이터 샘플[C]의 곱과 데이터 샘플[X] 간의 차를 곱한 제 2 가중 인자[W2]의 역이다.
Y = 1/W2×{X - C×W1}
또 다른 계산 단계[FCS]에서, 차들[ER]이 공통부[Y]와 각각의 또 다른 데이터 샘플들[B] 사이에서 계산되고, 아래의 수식으로 표현된다.
ER = Y - B
각각의 차[ER]는 데이터 샘플[X]과 관련 보간[I] 사이의 유사도에 대응한다.
도 1에 도시된 특징들은 예컨대 반-화소 동작 추정을 이용하는 비디오 인코딩에 이용될 수 있다. 예를 들어, 동화상 전문가 그룹(Moving Pictures Expert Group; MPEG)으로 정의된 표준에 따른 비디오 인코딩이 반-화소 동작 추정을 이용할 수 있다. 반-화소 동작 추정은 동작 벡터들에 반-화소 정밀도(half-pixel precision)를 제공한다. 이러한 동작 벡터들은 디코딩 종료시에 보다 좋은 화상 품질이 얻어지게 한다.
도 2는 MPEG 비디오 인코더를 도시한다. MPEG 비디오 인코더는 화상들[SOP]의 t시퀀스를 수신한다. 응답시에, 이것은 인코딩된 비디오 데이터 스트림[CVS]을 제공한다. 비디오 인코더는 입력 회로[INP], 동작 추정기(motion estimator)[MEST], 동작 보상기(motion compensator)[MCOMP], 감산기(subtractor)[SUB], 이산 코사인 변환기 및 양자화기(discrete cosine transformer and quantizer)[DCTQ], 메모리[MEM], 가변-길이 인코더[VLC] 및 출력 회로[OUT]를 포함한다.
MPEG 비디오 인코더는 기본적으로 아래와 같이 동작한다. 입력 회로[INP]는 화소들의 블록[MB]으로 인코딩될 화상들을 효과적으로 분할한다. 화소들의 블록[MB]은 아래와 같은 방식으로 인코딩될 수 있다. 동작 추정기[MEST]는 화소들의 블록에 대한 하나 이상의 동작 벡터들[MV]을 결정한다. 동작 보상기[MCOMP]는 동작 벡터[MV]에 기초하여 화소들의 동작 보상된 블록[MP] 및 메모리[MEM]에서 이미 인코딩되고 기억된 화상을 결정한다. 따라서, 에러 화소들의 블록[MX]이 얻어진다.
이산 코사인 변환기 및 양자화기[DCTQ]는 에러 화소들의 블록[MX]에 대해 일련의 처리 단계들을 이용한다. 이들 처리 단계들은 이산 코사인 변환 및 양자화를 포함한다. 따라서, 양자화된 계수들의 블록[CF]이 얻어진다. 가변-길이 디코더[VLC]는 양자화된 계수들의 블록[CF] 및 동작 벡터들[MV]을 가변-길이 코드 워드들(variable-length code words)[CW]로 변환시킨다. 출력 회로[OUT]는 일부의 다른 데이터를 이들 가변-길이 코드 워드들에 부가하고 MPEG 표준에 따르는 형식으로 다양한 유형들의 데이터 타입을 계산한다. 따라서, 인코딩된 비디오 데이터 스트림[CVS]이 얻어진다.
인코딩되었던 화소들의 블록(MB)은 후속하는 화상을 인코딩하기 위한 기반이 되는 화상에 속할 수 있다. 이러한 경우, 양자화된 계수들의 블록[CF]은 역 이산 코사인 변환기 및 양자화기[IDCTQ]에 적용된다. 역 이산 코사인 변환기 및 양자화기[IDCTQ]는 이산 코사인 변환기 및 양자화기[DCTQ]에 의해 적용된 일련의 처리 단계들의 기능적으로 반대인 양자화 계수들의 블록[CF]에 일련의 처리 단계들을 적용한다. 따라서, 에러-화소들[MX']의 디코딩된 블록이 획득될 것이다. 가산기[ADD]는 화소들의 동작 보상 블록[MP]에 에러-화소들의 디코딩된 블록[MX']을 가산하여 화소들의 디코딩된 블록[MB']을 획득한다. 화소들의 디코딩된 블록[MB']은 메모리[MEM] 내에 저장되어 나중에 동작 추정 및 보상에 의해 다른 화상을 인코딩하기 위해 사용될 수 있다.
도 3은 동작 추정기[MEST]의 동작 방법을 도시한다. 동작 추정기[MEST]는 화소들의 블록[MB]이 인코딩되도록 동작 벡터[MV]를 결정한다.
단계 S1에서, 동작 추정기[MEST]는 전체 화소 정밀도로 표준 동작 추정을 실행한다. 실제로, 동작 추정기[MEST]는, 메모리[MEM] 내에 저장되었던 화상에서, 인코딩될 화상들의 블록[MB]과 유사한 화상들의 블록을 찾기 위한 검색을 실행한다. 후자의 블록은 이후에 유사한 블록[MS]으로 칭해진다. 블록들은 각 화상들 내의 상이한 위치들을 가질 수 있다. 그 위치 차는 전-화상 동작 벡터(full-pixel motion vector)[MV(fp)]에 의해 지정된다. 화상들의 각 블록들 간의 유사도는 절대 차들의 합(SAD)에 의해 표현된다. SAD는 각 블록들의 동일한 위치를 갖는 화소들 간의 절대 차들의 합이다.
단계 S2에서, 동작 추정기[MEST]는 인코딩될 블록[MB] 내의 각 화소[X]에 대한 다음 계산을 실행한다. 화소[X]는 2를 곱한다. 인코딩될 블록[MB] 내의 관련 화소[X]와 동일한 위치를 갖는 유사한 블록[MS]의 화소[C]는 이러한 곱셈[2X]의 결과로부터 감산된다. 이러한 감산[2X-C]의 결과는 이후에 공통부[Y]로 칭해진다. 이와 같이, 동작 추정기[MEST]는 인코딩될 블록[MB] 내의 각 화소[X]에 대해 공통부[Y]를 계산한다. 따라서, 공통부들의 블록[MY]이 획득된다.
단계 S3에서, 동작 추정기[MEST]는 전-화소 동작 벡터의 8개의 가능한 반-화소 세분들(half-pixel refinements)[MV(pf)]에 대한 SAD를 계산한다:(+1/2,0), (+1/2, +1/2), (0, +1/2), (-1/2, 1/2), (-1/2, 0), (-1/2, -1/2), (0, -1/2) 및 (+1/2, -1/2). 콤마 앞 및 뒤의 숫자는 각각 수평 및 수직 차원의 세분을 나타낸다. 각 SAD들은 공통부들의 블록[MY] 및 그것의 인접한 픽셀들과 유사한 블록[MS]에 기초하여 동일한 방법으로 모두 계산된다. 이러한 계산은 이후에 설명된다.
전-화소 동작 벡터의 반-화소 세분[MV(fp)]에 대한 SAD는 사실상 다음 3개의 단계들이 인코딩될 블록[MB] 내의 각 화소[X]에 대해 적용되는 경우에 획득되는 SAD이다. 제 1 단계에서, 보간[I]은 한편으로는 인코딩될 블록[MB] 내의 화소[X]와 동일한 위치를 갖는 유사한 블록[MS] 내의 화소[C]로 이루어지며, 반면에, 임의의 방향으로 인접한 화소[B]로 이루어진다. 그 방향은 문제의 반-화소 세분에 의해 정의된다. 예컨대, 문제의 반-화소 세분이 (+1/2, +1/2)인 것을 가정하자. 이러한 경우, 보간[I]은 유사한 블록[MS] 내의 상부-오른쪽의 인접한 픽셀[C]에 관련한다. 제 2 단계에서, 인코딩될 블록[MB] 내의 화소[X]와 보간[I] 간의 절대 차들이 계산된다. 제 3 단계에서, 절대 차는 인코딩될 블록[MB] 내의 다른 화소들[X]에 대해 이미 계산되었던 절대 차들의 합에 가산된다. 그러나, 본 발명에 따라, 반-화소 세분들에 대한 SAD들은 이후에 기술될 상이한 방법으로 계산된다.
단계 S4에서, 동작 추정기[MEST]는 다양하고 상이한 SAD들을 비교한다 : 전-화소 동작 벡터[MV(fp)]에 관한 SAD 및 이러한 동작 벡터의 8개의 상이한 반-화소 세분들에 관한 8개의 SAD. 전-화소 동작 벡터[MV(fp)]에 관한 SAD는 가장 낮은 값을 가질 수 있다. 이러한 경우, 동작 추정기[MEST]는 동작 보상을 하도록 기능하는 동작 벡터[MV]로서 이러한 동작 벡터를 제공한다. 그러나, 임의의 반-화소 세분에 관한 SAD가 가장 낮은 값을 갖는 것이 가능하다. 이러한 경우, 동작 추정기[MEST]는 관련 반-화소 세분에 따라 전-화소 동작 벡터[MV(fp)]를 수정할 것이다. 예컨대, 반-화소 세분(+1/2, +1/2)이 가장 낮은 SAD를 제공하는 것으로 가정하자. 이러한 경우, 전-화소 동작 벡터[MV(fp)]는 수평 및 수직 차원의 전-화소 동작 벡터에 양의 반-화소 유닛들을 가산함으로써 수정될 것이다. 동작 추정기[MEST]는 이후 동작 보상으로 기능할 동작 벡터[MV]로서 수정된 전-화소 동작 벡터를 제공한다.
도 4는 반-화소 세분에 대한 SAD가 어떻게 계산되는지를 도시한다. 이러한 계산은 도 3에 도시된 방법의 단계 S3가 실행된다. 반-화소 세분에 대한 SAD가 단계 S2에서 결정되었던 공통부들의 블록[MY], 유사한 블록[MS] 및 그 인접한 화소들에 기초하여 계산되는 것으로 이미 상술되었다.
반-화소 세분에 대한 SAD 계산은 3개의 하부 단계들을 포함한다: S3-1, S3-2 및 S3-3. 동작 추정기[MEST]는 공통부들의 블록[MY] 내의 각각의 공통부[Y]에 대해 이러한 3개의 하부 단계들을 실행한다.
하부 단계 S3-1에서, 동작 추정기[MEST]는 메모리[MEM] 내에 저장된 화소[B]를 판독한다. 판독되는 화소[B]는 그 위치가 관련한 공통부[Y]의 위치에 대응하는 유사한 블록[MS] 내의 화소[C]에 인접한다. 8개의 상이한 방향들로 8개의 가능한 인접한 것들이 있다 : (+1, 0), (+1, +1), (0, +1), (-1, +1), (-1, 0), (-1, -1), (0, -1) 및 (+1, -1). 반-화소 세분에 대응하는 방향의 인접한 것이 판독된다. 예컨대, SAD 계산이 반-화소 세분(+1/2,0)에 대해 이루어진 것으로 가정하자. 이러한 경우, 방향(+1, 0)으로 인접한 것이 판독된다. 이러한 예를 완성하기 위해, 현재 공통부[Y]의 위치가 (5,5)인 것으로 가정한다. 이러한 경우, 동작 추정기[MEST]는 유사한 블록[MS] 내의 위치(6, 5)를 갖는 화소[B]를 판독한다.
하부 단계 S3-2에서, 동작 추정기[MEST]는 공통부[Y]와 화소[B] 간의 절대 차[ABS(Y-B)]를 결정하고, 메모리[MEM]로부터 판독한다. 절대 차[ABS(Y-B)]는 한편으로는, 공통부[Y]를 계산하기 위해 사용되는 인코딩될 블록[MB] 내의 화소[X]와, 반면에 메모리[MEM] 내의 2개의 픽셀들의 보간 사이의 절대 차와의 곱의 스케일링 인자와 동일하다. 보간은 그 위치가 인코딩될 블록 내의 화소[X]의 위치에 대응하는 유사한 블록[MS] 내의 화소[C], 및 유사한 블록 내의 이러한 화소[C]의 관심 있는 방향으로 인접한 화소[B]에 관련한다. 스케일링 인자는 2이다.
하부 단계 S3-3에서, 동작 추정기[MEST]는 절대 차들[ACC(ABS(Y-B))]의 누산(accumulation)을 위해 가장 최근의 하부 단계 S3-2에서 결정되었던 절대 차[ABS(Y-B)]를 부가한다. 절대 차들[ACC(ABS(Y-B))]의 누산은 가장 최근의 하부 단계 S3-2에 선행하는 하부 단계들 S3-2에서 결정되었던 절대 차들의 합이다. 임의의 반-화소 세분에 대한 SAD를 계산하기 위해 절대 차들[ACC(ABS(Y-B)))]의 누산이 3개의 하부 단계들 S3-1, S3-2 및 S3-3이 반복적으로 실행되기 전에 초기에 0으로 설정되는 것은 말할 나위도 없다.
3개의 하부 단계들 S3-1, S3-2 및 S3-3이 모든 공통부들[Y]에 대해 실행되었을 때, 절대 차들[ACC(ABS(Y-B))]의 누산은 2로 나뉜다. 이러한 분할 결과는 관련 반-화소 세분에 대한 SAD이다.
또한, 3개의 하부 단계들 S3-1, S3-2 및 S3-3에서 실행된 동작들은 전-화소 동작 추정을 실행하도록 사용될 수도 있다. 전-화소 동작 추정은 도 1에 도시된 방법의 단계 S1에서 행해진다. 따라서, 하드웨어 또는 소프트웨어의 동일한 아이템을 갖는 하부 단계들 S3-1, S3-2 및 S3-3을 포함하는, 단계들 S1 및 S3를 실행하는 것이 가능하다. 이러한 공통점은 비용-효율에 또한 기여한다.
그 동작이 도 3 및 도 4에 도시된, 도 2에 도시된 MPEG 비디오 인코더는 도 1에 도시된 특징을 갖는 실시예이다. 도 1에 도시된 가중 인자들(W1, W2)은 MPEG 비디오 인코더에서 양쪽 모두 0.5이다. 도 1에 도시된 예비 계산 단계[PCS]는 도 3에 도시된 단계 S2의 형태로 실시된다. 가중 인자들은 양쪽 모두 0.5이며, 계산되는 공통부[Y]는 Y = 2X - C이다. 도 1에 도시된 다른 계산 단계[FCS]는 도 3에 도시된 단계 S3의 형태로 실시된다.
특히, MPEG 비디오 인코더는 인코딩될 화소들의 블록[MB] 내의 각 화소[X]에 대해 도 1에 도시된 특징들을 적용한다. 단계 S2에서, MPEG 비디오 인코더는 각 화소[X]에 대해 예비 단계[PCS]를 실행한다. 후속하여, 단계 S3에서, MPEG 비디오 인코더는 이러한 예비 단계들[PCS]을 수반하는 다른 계산 단계들[FCS]을 실행한다. 화소[X]에 대한 다른 계산 단계[FCS]는 8개의 상이한 SAD 계산들을 수반한다. 각 SAD 계산에서, MPEG 비디오 인코더는 그 위치가 인코딩될 블록[MB] 내의 화소[X]의 위치에 대응하는 유사한 블록[MS] 내의 인접한 화소[C]와 화소[X]에 대해 결정되었던 공통부[Y] 간의 차를 계산한다.
상술한 도면들 및 설명은 본 발명을 제한하지 않고 기술된다. 첨부된 청구항들의 범위 내에 포함되는 다수의 대안들이 있는 것이 명확하다. 이러한 관점에서, 다음의 최종 의견이 이루어진다.
도 1에 도시된 특징들이 사용될 수 있는 다수의 데이터 처리 응용들이 있다. 도 2 내지 도 4는 비디오 인코딩에 관련한 하나의 가능한 응용만을 도시한다. 도 1에 도시된 특징들이 다른 데이터 샘플들의 보간들과 데이터 샘플들 간의 유사도를 조사할 필요가 있는 임의의 형태의 데이터 처리에 사용될 수 있다는 것이 명확하다.
이루어질 수 있는 다양한 형태의 보간들이 있다. 도 2 내지 도 4는 양자의 샘플들에 대한 가중 인자들(W1, W2)이 0.5인 한 가능한 구현만을 도시한다. 예컨대, 다른 가능한 실시는 가중 인자들(W1, W2)은 각각 3/4 및 1/4이다. 이러한 경우, 공통부는 Y = 4X - 3C이다. 예컨대, 그러한 구현은 1/4 화소 동작 추정을 실행하도록 적용된다. 도 4에 도시된 방법은 SAD를 계산하도록 적용될 수 있다. 절대 차들[ACC(ABS(Y-B))]의 누산은 4로 나누어져야 한다.
본 발명에 따라 SAD들을 계산하는 다양한 방법들이 있다. 도 2 내지 도 4는 차례로 SAD가 개별적으로 계산되는 한 가능한 구현을 도시한다. 다른 가능한 실시는 다양한 SAD가 동시에 병렬로 계산되는 것이다. 예컨대, 다음 단계들은 각 공통부[Y]에 대해 연속적으로 실행될 수 있다. 제 1 단계에서, 관련 공통부[Y]에 속한 다양한 인접한 화소들[B]이 판독된다. 제 2 단계에서, 각 인접 화소[B]를 갖는 절대 차[ABS(Y-B)]가 결정된다. 각각의 절대 차는 상이한 SAD 계산에 관련한다. 제 3단계에서, 각각의 절대 차는 동일한 SAD 계산에 관련한 이전에 계산되었던 절대 차들의 합에 가산된다. 이와 같이, 단계 S3-3과 대조적으로, 병렬로 절대 차들의 다양한 누산이 있고, 각 누산은 상이한 SAD에 관련한다.
하드웨어 또는 소프트웨어의 아이템, 또는 양자 모두에 의해 기능들을 실시하는 다양한 방법이 있다. 이러한 관점에서, 도면들은 매우 도식적이고, 각각은 본 발명의 한 가능한 실시예로만 도시한다. 이와 같이, 도면은 상이한 블록들로서 상이한 기능들을 나타내지만, 이것은 하드웨어 또는 소프트웨어의 단일 아이템이 일부 기능들을 실행하는 것을 제외하지 않는다. 하드웨어 및/또는 소프트웨어의 아이템들의 조합이 기능을 실행하는 것을 제외하지 않는다.
예컨대, 도 2에 도시된 MPEG 영상 인코더의 동작 추정기[MEST]는 다양한 기능들을 실행할 수 있는 프로세서의 형태를 취할 수 있다. 프로그램 메모리로 로딩되는 명령들의 세트는 프로세서로 하여금 도 3 및 도 4에 도시된 방법을 실행하게 한다. 명령들의 또 다른 세트는 프로그램 메모리로 로딩되어 프로세서가, 예컨대, 동작 보상을 실행하도록 유발하게 할 수 있다. 프로세서가 도 3 및 도 4에 도시된 방법을 실행하게 하는 명령들의 세트는 예컨대, 디스크와 같은 데이터 캐리어(data carrier) 상에 저장될 수 있다. 이러한 데이터 캐리어는 도 2에 도시된 MPEG 비디오 인코더의 일부를 형성할 필요가 없다. 명령들의 세트는 동작 추정기[MEST]의 역할을 달성할 프로세서의 프로그램 메모리로 로딩되도록 데이터 캐리어로부터 판독될 수 있다.
청구항의 임의의 참조 기호는 청구항을 제한하는 것으로 해석되지 않아야 한다. 용어 "포함하다(to comprise)"는 청구항에서 정의된 것과 다른 요소들 및 단계들의 사용을 배제하지 않는다. 성분 또는 단계 앞의 부정 관사 "하나"("a" 또는 "an")는 다수의 그러한 요소들 또는 단계들의 사용을 배제하지 않는다.

Claims (4)

  1. 데이터 샘플[X]과, 다른 데이터 샘플[C]과 또 다른 데이터 샘플들[B] 간의 보간들[I] 사이의 유사도가 각각의 보간[I]에 대해 결정되며, 상기 보간들[I]은 제 1 가중 인자[W1]와 상기 다른 데이터 샘플[C] 간의 곱과 제 2 가중 인자[W2]와 또 다른 데이터 샘플[B] 간의 곱의 합(I = C ×W1 + B ×W2)이 되는, 데이터 처리 방법에 있어서:
    - 공통부[Y]가 계산되는 예비 계산 단계[PCS]로서, 상기 공통부[Y]는 상기 데이터 샘플[X]과 상기 제 1 가중 인자[W1]가 곱해진 상기 다른 데이터 샘플[C] 간의 차를 상기 제 2 가중 인자[W2]의 역과 곱한 것(Y = 1/W2 ×{X - C ×W1})이 되는, 상기 예비 계산 단계[PCS]; 및
    - 상기 공통부[Y]와 상기 각각의 또 다른 데이터 샘플들[B] 간의 차[ER]들이 계산(ER=Y-B)되는 또 다른 계산 단계[FCS]로서, 각각의 차[ER]는 상기 데이터 샘플[X]과 관련 보간[I] 사이의 유사도에 대응하는, 상기 또 다른 계산 단계[FCS]를 포함하는 것을 특징으로 하는, 데이터 처리 방법.
  2. 데이터 샘플[X]과, 다른 데이터 샘플[C]과 또 다른 데이터 샘플들[B] 간의 보간들[I] 사이의 유사도를 각각의 보간[I]에 대해 결정하는 데이터 처리 장치로서, 상기 보간들[I]은 제 1 가중 인자[W1]와 상기 다른 데이터 샘플[C] 간의 곱과 제 2 가중 인자[W2]와 또 다른 데이터 샘플[B] 간의 곱의 합(I = C ×W1 + B ×W2)이 되는, 상기 데이터 처리 장치에 있어서:
    - 공통부[Y]가 계산되는 예비 계산 단계[PCS]로서, 상기 공통부[Y]는 상기 데이터 샘플[X]과 상기 제 1 가중 인자[W1]가 곱해진 상기 다른 데이터 샘플[C] 간의 차를 상기 제 2 가중 인자[W2]의 역과 곱한 것(Y = 1/W2 ×{X - C ×W1})이 되는, 상기 예비 계산 단계[PCS]; 및
    - 상기 공통부[Y]와 상기 각각의 또 다른 데이터 샘플들[B] 간의 차들[ER]이 계산(ER=Y-B)되는 또 다른 계산 단계[FCS]로서, 각각의 차[ER]는 상기 데이터 샘플[X]과 관련 보간[I] 사이의 유사도에 대응하는, 상기 또 다른 계산 단계[FCS]를 실행하도록 프로그래밍되는 것을 특징으로 하는, 데이터 처리 장치.
  3. 데이터 프로세서용 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독 가능한 기록 매체로서, 상기 컴퓨터 프로그램 제품은 상기 데이터 프로세서의 프로그램 메모리에 로딩될 때, 상기 데이터 프로세서로 하여금, 데이터 샘플[X]과, 다른 데이터 샘플[C]과 또 다른 데이터 샘플들[B] 간의 보간들[I] 사이의 유사도를 각각의 보간[I]에 대해 결정하도록 하는 명령들의 세트를 포함하며, 상기 보간들[I]은 제 1 가중 인자[W1]와 상기 다른 데이터 샘플[C] 간의 곱과 제 2 가중 인자[W2]와 또 다른 데이터 샘플[B] 간의 곱의 합(I = C ×W1 + B ×W2)이 되는, 상기 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 유사도는:
    - 공통부[Y]가 계산되는 예비 계산 단계[PCS]로서, 상기 공통부[Y]는 상기 데이터 샘플[X]과 상기 제 1 가중 인자[W1]가 곱해진 상기 다른 데이터 샘플[C] 간의 차를 상기 제 2 가중 인자[W2]의 역과 곱한 것(Y = 1/W2 ×{X - C ×W1})이 되는, 상기 예비 계산 단계[PCS]; 및
    - 상기 공통부[Y]와 상기 각각의 또 다른 데이터 샘플들[B] 간의 차[ER]들이 계산(ER=Y-B)되는 또 다른 계산 단계[FCS]로서, 각각의 차[ER]는 상기 데이터 샘플[X]과 관련 보간[I] 사이의 유사도에 대응하는, 상기 또 다른 계산 단계[FCS]에 따라 결정되는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체.
  4. 화소[X]와, 다른 화소[C]와 또 다른 화소들[B] 간의 보간들[I] 사이의 유사도가 각각의 보간[I]에 대해 결정되는 비디오 인코딩 방법으로서, 상기 보간들[I]은 제 1 가중 인자[W1]와 상기 다른 화소[C] 간의 곱과 제 2 가중 인자[W2]와 또 다른 화소[B] 간의 곱의 합(I = C ×W1 + B ×W2)이 되는, 비디오 인코딩 방법에 있어서:
    - 공통부[Y]가 계산되는 예비 계산 단계[PCS]로서, 상기 공통부[Y]는 상기 데이터 샘플[X]과 상기 제 1 가중 인자[W1]가 곱해진 상기 다른 데이터 샘플[C] 간의 차를 상기 제 2 가중 인자[W2]의 역과 곱한 것(Y = 1/W2 ×{X - C ×W1})이 되는, 상기 예비 계산 단계[PCS]; 및
    - 상기 공통부[Y]와 상기 각각의 또 다른 화소들[B] 간의 차[ER]들이 계산(ER=Y-B)되는 또 다른 계산 단계[FCS]로서, 각각의 차[ER]는 상기 화소[X]와 관련 보간[I] 사이의 유사도에 대응하는, 상기 또 다른 계산 단계[FCS]를 포함하는 것을 특징으로 하는, 비디오 인코딩 방법.
KR1020017015958A 2000-04-11 2001-04-02 데이터 샘플과 다른 데이터 샘플들의 보간들 사이의 유사도를 결정하는 방법 KR100786549B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00401003.9 2000-04-11
EP00401003 2000-04-11

Publications (2)

Publication Number Publication Date
KR20020026179A KR20020026179A (ko) 2002-04-06
KR100786549B1 true KR100786549B1 (ko) 2007-12-21

Family

ID=8173642

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017015958A KR100786549B1 (ko) 2000-04-11 2001-04-02 데이터 샘플과 다른 데이터 샘플들의 보간들 사이의 유사도를 결정하는 방법

Country Status (8)

Country Link
US (1) US6671318B2 (ko)
EP (1) EP1275244B1 (ko)
JP (1) JP4633992B2 (ko)
KR (1) KR100786549B1 (ko)
CN (1) CN1190949C (ko)
AT (1) ATE492982T1 (ko)
DE (1) DE60143695D1 (ko)
WO (1) WO2001078376A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210035987A (ko) 2019-09-25 2021-04-02 국민대학교산학협력단 자카드 모델 기반의 문서 검색 장치 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934332B1 (en) 2001-04-24 2005-08-23 Vweb Corporation Motion estimation using predetermined pixel patterns and subpatterns
US6813315B1 (en) * 2001-04-24 2004-11-02 Vweb Corporation Motion estimation using multiple search windows
US6891890B1 (en) 2001-04-24 2005-05-10 Vweb Corporation Multi-phase motion estimation system and method
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US20050259734A1 (en) * 2004-05-21 2005-11-24 Timothy Hellman Motion vector generator for macroblock adaptive field/frame coded video data
US20060285597A1 (en) * 2005-06-20 2006-12-21 Flextronics International Usa, Inc. Reusing interpolated values in advanced video encoders
CN101635789B (zh) * 2008-07-21 2012-12-19 奇美电子股份有限公司 动态图像补偿装置及方法
CN104811584B (zh) * 2014-01-29 2018-03-27 晨星半导体股份有限公司 影像处理电路与方法
US9628793B1 (en) 2014-09-26 2017-04-18 Polycom, Inc. Motion estimation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995007591A1 (en) * 1993-09-08 1995-03-16 Thomson Multimedia S.A. Method and apparatus for motion estimation using block matching
GB2311435A (en) * 1996-03-22 1997-09-24 Daewoo Electronics Co Ltd Half-pixel motion estimation
US5684538A (en) * 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3038935B2 (ja) * 1991-02-05 2000-05-08 ソニー株式会社 動き検出装置
WO1993023816A1 (en) * 1992-05-18 1993-11-25 Silicon Engines Inc. System and method for cross correlation with application to video motion vector estimation
JP3634878B2 (ja) * 1994-08-18 2005-03-30 株式会社日立製作所 画像符号化装置
US5812788A (en) * 1995-07-21 1998-09-22 Intel Corporation Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices
US5652629A (en) * 1995-09-12 1997-07-29 International Business Machines Corporation Bidirectional motion estimation in a motion video compression system
US6134352A (en) * 1996-05-21 2000-10-17 Lucent Technologies Inc. Spatial error concealment for image processing
US6546117B1 (en) * 1999-06-10 2003-04-08 University Of Washington Video object segmentation using active contour modelling with global relaxation
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995007591A1 (en) * 1993-09-08 1995-03-16 Thomson Multimedia S.A. Method and apparatus for motion estimation using block matching
US5684538A (en) * 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation
GB2311435A (en) * 1996-03-22 1997-09-24 Daewoo Electronics Co Ltd Half-pixel motion estimation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KOC U. V., et al., IEEE Transaction on Circuits & Systems for video technology, Vol. 8, No. 4, 1998, P460-487 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210035987A (ko) 2019-09-25 2021-04-02 국민대학교산학협력단 자카드 모델 기반의 문서 검색 장치 및 방법

Also Published As

Publication number Publication date
CN1190949C (zh) 2005-02-23
US6671318B2 (en) 2003-12-30
DE60143695D1 (de) 2011-02-03
JP2003530780A (ja) 2003-10-14
CN1383671A (zh) 2002-12-04
US20010028680A1 (en) 2001-10-11
EP1275244B1 (en) 2010-12-22
KR20020026179A (ko) 2002-04-06
JP4633992B2 (ja) 2011-02-16
WO2001078376A1 (en) 2001-10-18
EP1275244A1 (en) 2003-01-15
ATE492982T1 (de) 2011-01-15

Similar Documents

Publication Publication Date Title
KR100584495B1 (ko) 비디오 화상 코딩 장치 및 방법
US5825680A (en) Method and apparatus for performing fast division
US6414997B1 (en) Hierarchical recursive motion estimator for video images encoder
US9118927B2 (en) Sub-pixel interpolation and its application in motion compensated encoding of a video signal
JPH07236140A (ja) 動画像の復号化における雑音低減装置
KR100786549B1 (ko) 데이터 샘플과 다른 데이터 샘플들의 보간들 사이의 유사도를 결정하는 방법
CN103650490A (zh) 用于运动补偿预测的方法和设备
KR100303107B1 (ko) 동작벡터검출장치및방법
CA2192532C (en) Hybrid software/hardware video decoder for personal computer
EP0917363A1 (en) Motion estimator algorithm and system's architecture
JPH0787499A (ja) 動きベクトル検出装置および方法
JPH05308662A (ja) 高能率符号化装置
KR100262962B1 (ko) 움직임 추정방법 및 장치
JP2000078590A (ja) 符号化装置および方法、並びに提供媒体
JPH11239350A (ja) 動画像信号の動きベクトル検出方法およびフレーム間符号化装置における動きベクトル検出回路
JP3911784B2 (ja) 画像圧縮装置及び画像圧縮方法
Tran et al. Performance enhancement of sum of absolute difference (SAD) computation in H. 264/AVC using saturation arithmetic
Jia et al. Implementation and optimization of sub-pixel motion estimation on BWDSP platform
KR100282448B1 (ko) 움직임 벡터 디코딩 장치
KR100323660B1 (ko) 에이치디티브이(hdtv)의장면적응움직임추정장치
KR100255634B1 (ko) 움직임 검출장치
Sanikommu Evaluation of the Effect of Saturation Arithmetic and Other Techniques on Sum of Absolute Difference (SAD) Computation in H. 264
WO2005006767A1 (en) Simplified motion estimation method
JPH08317406A (ja) 動きベクトル検出回路
JPH07162868A (ja) 小数精度動きベクトル探索装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131125

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141124

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee