KR100551545B1 - 화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출기술 - Google Patents

화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출기술 Download PDF

Info

Publication number
KR100551545B1
KR100551545B1 KR1020027016709A KR20027016709A KR100551545B1 KR 100551545 B1 KR100551545 B1 KR 100551545B1 KR 1020027016709 A KR1020027016709 A KR 1020027016709A KR 20027016709 A KR20027016709 A KR 20027016709A KR 100551545 B1 KR100551545 B1 KR 100551545B1
Authority
KR
South Korea
Prior art keywords
value
distortion
image
accumulator
calculation
Prior art date
Application number
KR1020027016709A
Other languages
English (en)
Other versions
KR20030025241A (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 KR20030025241A publication Critical patent/KR20030025241A/ko
Application granted granted Critical
Publication of KR100551545B1 publication Critical patent/KR100551545B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명에 따른 화상 처리기는 두 개의 화상부간의 왜곡에 관련된 값을 계산한다. 그 값은 이전 계산에서 검출된다. 이들 값은 이어서 조기 탈출을 검출하기 위해 다음 계산에서 이용된다. 이 값은 least라고 칭하며, 누산기의 수로 제산되고, 그의 음수는 누산기로 로드된다. 누산기가 0에 도달한 때, 조기 탈출이 확립된다.

Description

화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출 기술{ADAPTIVE EARLY EXIT TECHNIQUES FOR MINIMUM DISTORTION CALCULATION IN IMAGE CORRELATION}
화상 압축 기술은 비디오 애플리케이션에서 전송될 데이터량을 감소시킬 수 있다. 이것은 흔히 동일함을 유지하고 있는 화상의 부분들을 결정함으로써 이루어진다. "움직임 추정(motion estimation)" 기술은 각종 비디오 코딩 방법에서 이용된다.
움직임 추정은 일부의 프레임 N에 속하는 소스 블록과 검색 영역간의 최상의 정합을 발견하고자 하는 시도이다. 검색 영역은 동일한 프레임 N 내에 있을 수 있거나 또는 일시적으로 변위된 프레임 N-k의 검색 영역 내에 있을 수 있다.
이들 기술은 계산 집약형이다.
움직임 추정은 흔히 절대차의 합, 즉 "SAD(Sum of Absolute Differences)"를 계산함으로써 수행된다. 움직임 추정은 비디오, 비디오 카메라, 비디오 액셀레이터(accelerator) 및 이러한 다른 장치를 이용하는 휴대 전화기를 포함하지만 한정되지는 않는 많은 상이한 애플리케이션에서 사용될 수 있다. 이들 장치는 비디오 신호를 출력으로서 생성한다. SAD는 소스 블록과, 검색 영역의 검색 블록 내의 복 수개의 블록간의 최소 왜곡, 즉 이들 블록들간의 최상의 정합을 식별하는데 흔히 이용되는 계산이다.. 이것을 표현하는 하나의 방법은 다음 수학식과 같다.
Figure 112002040665603-pct00001
개념적으로, 이것이 의미하는 것은 제1 프레임 또는 소스 블록(N)이 M ×N 소스 블록(100)의 구성 요소 부분으로 나뉜다는 것이다. 이들은 제2 프레임 (N-K)(102)과 비교된다. 프레임들은 k ≠0인 경우에 일시적으로 변위될 수 있다. 각 N-K 프레임(102)은 M + 2m1 ×N + 2n1 영역이다. 도 1에는 그 영역의 중앙에 소스 블록(100)이 도시되어 있다. 정합하는 화상의 부분은 왜곡 측정기를 이용하여 각 화상 프레임의 각 부분을 다른 화상 프레임과 상관시킴으로써 검출될 수 있다. 압축 장치는 이 검출을 이용하여 데이터를 압축하며, 이에 따라 화상에 관한 보다 적은 정보를 전송한다.
이 장치는 또한 범용 DSP의 일부일 수 있다. 이러한 장치는 비디오 캠코더, 원격지 회의(teleconferencing), PC 비디오 카드 및 HDTV에서의 이용에 고려되고 있다. 또한, 범용 DSP는 이동 전화기, 음성 인식(speech recognition) 및 다른 애플리케이션에서 이용되는 음성(voice) 처리와 같은 디지털 신호 처리를 이용하는 다른 기술에 관련된 용도로도 고려되고 있다.
전체 왜곡 검출 프로세스의 속도는 증가할 수 있다. 그 하나의 방법으로는 각 SAD 장치가 1 사이클 내에 보다 많은 연산을 수행할 수 있는 하드웨어를 이용하는 것이다. 그러나, 이것은 보다 고가의 하드웨어를 필요로 할 수 있다.
다른 하나의 방법으로는 추가의 SAD 장치를 추가하여 효과적인 화소 처리량을 증가시키는 것이다. 그러나, 이것도 또한 보다 많은 SAD 장치를 필요로 하기 때문에 비용을 증가시킬 수 있다.
보다 빠른 검색 알고리즘은 기존의 하드웨어를 보다 효과적으로 이용하려고 시도하고 있다.
블록 SAD는 소스 그룹을 "검색 그룹"과 비교한다. 소스 그룹과 검색 그룹은 SAD 동작은 이 두 개의 그룹간의 중첩(overlap)을 계산하도록 전체 화상에 걸쳐서 이동한다. 소스 그룹 내의 각 블록은 각각의 검색 영역 내의 복수개의 블록과 비교된다.
전형적인 SAD 유닛은 두 개의 16 ×16 요소 상에 대해 동작하여 이들 요소들 서로에 대해 중첩시킨다. 이 중첩 프로세스는 16 ×16 = 256 개의 차분을 계산한다. 이어서, 이들은 총 왜곡을 나타내기 위해 누산된다.
SAD는 특정한 기초 동작을 필요로 한다. 소스 Xij와 검색 Yij 사이의 차분이 형성되어야 한다. 절대값
Figure 112002040665603-pct00002
이 형성된다. 최종적으로, 그 값들이 누산(
Figure 112002040665603-pct00003
)된다.
도 2에는 기본적인 누산 구조가 도시되어 있다. 산술 논리 유닛(200)은 Xij 및 Yij를 그에 연결된 데이터 버스(198, 199)로부터 수신하여 Xij - Yij를 계산한다. 출력(201)은 인버터(202)에 의해 반전된다. 반전된 출력과 원래의 것 양쪽 모두는 부호 비트(205)에 기초하여 그 값들 중 하나를 선택하는 멀티플렉서(204)로 전송된다. 제2 산술 논리 유닛(206)은 이들을 조합하여 절대값을 형성한다. 최종값은 누산 레지스터(208)에 저장된다. 효과적으로는, 도 2에 도시된 바와 같이, 이것은 감산, 절대값 계산, 누산의 시스템을 형성한다.
도 2는 1 개의 SAD 계산 유닛을 도시하고 있다. 상기한 바와 같이, 처리량을 증가시키기 위해 복수개의 계산 유닛을 이용할 수 있다. 계산 유닛의 수가 증가되면, 이론상으로는 사이클당 화소 처리량이 증가된다.
그러나, 본 발명자는 화소 처리량의 증가가 유닛의 수에 반드시 선형적으로 관련되지는 않음에 주목하였다. 사실, 각 프레임은 그의 인접하는 프레임과 다소 상관되어 있다. 또한, 소정의 화상의 상이한 부분은 그 화상의 또 다른 부분과 상관되어 있는 경우가 많다. 압축 효율은 화상의 특성에 기초할 수 있다. 본 출원은 압축 효율에 따라 복수개의 SAD 장치를 상이한 모드로 이용하는 것을 허용한다.
도 1은 서로에 대해 비교되어 있는 소스 블록과 검색 블록을 도시하는 도면.
도 2는 왜곡을 측정하기 위한 기본 누산 유닛을 도시하는 도면.
도 3a 및 도 3b는 복수개의 SAD 유닛들간 계산의 상이한 분할을 도시하는 도면.
도 4는 조기 탈출 전략에 의한 계산과 실제의 총 계산간의 타협을 도시하는 도면.
도 5는 조기 탈출 전략을 도시하는 흐름도.
도 6a는 조기 탈출 플래그를 이용하는 조기 탈출을 도시하는 도면.
도 6b는 하드웨어 상태 레지스터를 이용하는 조기 탈출을 도시하는 도면.
도 7은 적응형 조기 탈출 전략의 동작을 도시하는 흐름도.
상세한 설명
이하, 이들 및 다른 측면은 첨부 도면을 참조하여 상세히 설명될 것이다.
본 출원은 도 3a 및 도 3b에 도시된 구조를 이용한다. 도 3a 및 도 3b 양쪽 모두에 동일한 접속이 이용되지만, 계산은 상이한 방법으로 구획된다.
도 3a는 전체의 SAD로서 구성된 각 SAD 장치(300, 302)를 도시한다. 각 SAD는 상이한 블록을 수신하여 N 개의 블록 SAD 계산을 제공한다. 따라서, 효과적으로는, 유닛 1(300)은 16 ×16 기준과 16 ×16 소스간의 관계를 한 화소씩 계산한다. 유닛 2(302)는 16 ×16 소스와 16 ×16 검색의 차의 결과를 한 화소씩 계산한다. 도 3b는 다른 예를 도시한다. 이 다른 예에서는, 각 단일 SAD 장치(300, 302)의 구성은 단일 블록 SAD 계산의 일부분을 수행한다. N 개의 계산 유닛의 각각은 1/N의 출력을 제공한다. 이 "부분적인 SAD" 연산은 각각의 8 비트의 감산·절대값 계산·누산 유닛이 전체 SAD의 계산 중 1/N을 계산하도록 구성되었음을 의미한다.
전체 또는 부분을 결정하는 전체 시스템은 본 명세서에 개시된 바와 같이 이전의 결과에 기초하여 이용되어야 한다. 이것은 따라서, 수행되는 계산의 수를 저감시킬 수 있다.
전체를 이용할 것인지 부분을 이용할 것인지를 결정하는 하나의 방법은 일시적으로 가까운 화상이 상관된 성질을 갖는다고 가정하는 것이다. 제1 사이클은 전체 SAD 모드를 이용하여 계산되고, 제2 사이클은 부분 SAD 모드를 이용하여 계산된다. 보다 빠르게 동작하는 사이클을 승리자로서 취급하여 SAD 모드를 설정한다. 이 계산은 x 회의 사이클마다 반복될 수 있는데, 여기서 x는 사이클수이며, 이 사이클수 이후에는 국부적인 일시적 상관을 더 이상 가정할 수 없다. 이것은 본 명세서에 개시되는 도 7의 흐름도를 수행하는 논리 유닛에서 행해질 수 있다.
처리량은 또한 본 명세서에 개시된 바와 같이 "조기 탈출(early exit)" 기술에 의해 증가될 수 있다.
16 ×16 요소에 대한 완성된 SAD 계산은
Figure 112002040665603-pct00004
로서 기재될 수 있다. 이들 계산 모두가 실제적으로 수행된 경우, 계산은 256/N 사이클을 취할 수 있으며, 여기서 N은 SAD 유닛의 수이다. 이것은, 계산을 가능한 한 바로 중지하는 것에 바람직하다. 계산의 중간(interim) 결과가 테스트된다. 이들 중간 결과는 최소 왜곡을 발견하기 위해 충분한 정보가 결정되었는지 여부를 결정하는데 이용된다. 그러나, 테스트 행위는 사이클을 소비할 수 있다.
본 출원은 이 사이클의 소비와 최소 왜곡의 결정 사이의 균형을 설명한다. 도 4는 4 개의 SAD 장치를 이용하는 16 ×16 계산에 대한 타협을 도시한다. 도 4의 라인(400)은 조기 탈출이 존재하지 않을 때의 사이클 카운트를 나타낸다. 이 라인은 조기 탈출이 없는 사이클 카운트는 항상 256/4 = 64임을 나타내는 수평선이다. 조기 탈출 전략에 대한 사이클 카운트는 사선(402, 404, 406, 408)으로 도시 된다. 라인(404)은 16 개의 화소마다 1 회의 테스트를 나타내고, 라인(406)은 32 개의 화소(1/8)마다 1 회의 테스트를 나타내며, 라인(408)은 64 개의 화소(1/16)마다 1 회의 테스트를 나타낸다. 라인(402∼408)이 라인(400) 위에 있을 때, 조기 탈출의 시도가 전체 왜곡 계산 시간을 실제적으로 증가시킴을 주목하자. 라인(402)은 탈출 테스트에 대해 제로 오버헤드(zero overhead)가 얻어진 곳의 사이클 소비를 나타낸다.
블록 I는 최소 왜곡을 발견하기 위해 종래기술에 공지된 통상의 전략을 이용하여 첫 번째로 처리된다. 이것은 왜곡을 발견하기 위해서, 실제 화상의 일부인 테스트 패턴을 이용하여 이루어질 수 있다. 이 최소 왜곡은 기준선으로서 이용되며, 블록 I + n(여기서, n은 작음)이 동일한 최소 왜곡을 가짐을 가정한다. 두 개의 기초 파라미터가 사용된다.
Kexit(N)은 조기 탈출이 달성되기 전에 검색 영역에 대해 이미 처리된 화소의 수를 나타낸다.
Aexit(N)은 검색 영역에 대한 최종 조기 탈출시의 부분적인 누산기 부호 비트의 상태를 나타낸다.
이들 블록 I + n의 경우, SAD 계산은 왜곡이 그 임계치를 초과할 때 종료된다. 이것은 검색 영역에 관해 공지되어 있는 이전의 정보를 이용하여 인과 시스템(causal system)을 형성한다.
이 통상의 시스템은 때때로 공통 특성을 유지하는 몇 가지 확률인 검색 영역 내의 화상 특성에 기초한다. 프레임들간 시간은 1/15 및 1/39 초이며, 흔히 측정 가능한 시스템 특성에 관련된 일부의 잡음층 위에 이들 시간중에 최소 변화가 발생할 만큼 충분히 빠르다. 또한, 유사한 일시적 특성을 어떤 시간동안 유지하는 화상 영역이 존재하는 경우도 많이 있다.
본 출원에 따르면, 각 SAD에 대한 누산기에는 값[- least/n]이 로드되고, 여기서 "least"는 그 영역에 대해 블록 움직임 검색시에 측정되는 최소 왜곡을 나타낸다. 많은 SAD가 각 검색 영역에 대해 계산된다. 그 영역에 관하여 계산하는 제1 SAD는 "least" 지정을 할당받는다. 향후 SAD는 이 제1 SAD와 비교되어, 새로운 "least"값이 달성되었는지를 확인한다. 누산기가 부호를 변경할 때, 최소 왜곡에 도달되어 있다. 또한, 이것은 추가의 계산, 즉 테스트를 위한 추가의 사이클(들)이 없이 기존의 SAD 구조만을 이용하는 것을 나타낸다.
화상의 특성 테스트는 조기 탈출을 달성하기 전에 전환하는데 얼마나 많은 누산기가 필요한지를 결정하기 위해 이용될 수 있다. 예를 들면, 소스 영역 및 목표 영역이 전체적으로 동일한 경우, 모든 누산기는 동시에 다소간 부호를 변경하여야 한다. 이것이 발생될 때, 이전의 최소 측정을 초과하는 동작중인 SAD 계산 중 어느 하나를 이용하여 조기 탈출이 적절함을 표시한다.
그러나, 이것은 전체 화상의 동일성을 가정한다. 이러한 가정은 항상 유지되지 못한다. 많은 상황에 있어서, 상이한 SAD 유닛의 복수개의 누산기가 동일한 레이트로 증가되지 않을 것이다. 또한, 누산기들간의 상이한 증가 레이트는 소스 블록과 목표 블록간의 차이 그 자체의 공간 주파수 특성 및 데이터의 샘플링 방법에 직접 관련되어 있다. 이것은 SAD 유닛에 의해 발생된 것에 기초하여, 조기 탈 출을 결정하는 방법을 고려하는 보다 복잡한 방법을 필요로 한다.
1 회의 동작은 분리된 SAD 상태와 관련된 확률에 기초하며, 여기서 SAD 유닛 모두가 동일한 상태에 있는 것은 아니다. 누산기들간 증가 레이트의 차이는 소스 블록과 목표 블록간 차이의 공간 주파수 특성에 관련된다. 이들 공간 주파수 특성은 또한 일시적으로 유사한 프레임들간에 상관되기 때문에, 하나의 프레임으로부터의 정보는 후속하는 프레임의 분석에도 적용될 수 있다.
이것은 본 명세서에서 변수를 참조하여 설명된다. 여기서, A1, A2, A3 ... An은 분리된 SAD 계산과 관련된 이벤트로서 정의된다.
이벤트는 다음과 같이 정의될 수 있다:
이벤트 Ai = SADi ≥0, 여기서 i ≠j인 경우에는 SAD < 0이다.
이것은, 개념적으로 이벤트 Ai를 SAD 유닛 i가 양수이고 모든 나머지 SAD 유닛이 음수일 때 발생하는 것으로서 정의함을 의미한다. 이것은, 예를 들어 누산기가 상이한 비율로 증가할 때 발생할 것이다. 이것은 또한 조합된 이벤트, 특히 SADj ≥0인 경우, 이벤트
Figure 112002040665603-pct00005
(여기서, k ≠i, j인 경우, SADk < 0)로서 정의될 수 있다. 이것은, 이벤트 Bi,j는 Ai가 존재하고, Aj가 참(true)일 때 "참"으로서 정의되지만, 다른 모든 Ak는 거짓(false)임을 의미한다. 이벤트에 의해서 동작을 정의하는 개념은 i, j 및 k의 모든 가능한 조합을 포함하도록 확장될 수 있다. 이것은 4 개의 SAD 유닛인 경우 총 16 개의 조합을 산출한다. SAD 유닛의 수가 보다 많은 경우, 다른 수의 조합과, i, j, k 및 m 또는 다른 것과 같은 보다 많은 변수의 이용을 유도한다.
이 시나리오를 말로 설명하면, 각 이벤트 "B"는 0보다 큰 특정 누산기의 합으로서 정의된다. 각각의 이들 조합은 확률로서 정의된다. 4 개의 SAD 유닛의 경우, 총 16 개의 가능한 누산기 상태가 존재한다. 이들은 그들이 처리되는 방법에 따라 그룹화될 수 있다.
제1 자명한 확률(trivial possibility)은
Figure 112002040665603-pct00006
이다.
이것은 모든 누산기가 0을 초과하지 않으면, 누산기의 합이 > 0일 확률은 0임을 의미한다.
그 역도 또한 성립하는데,
Figure 112002040665603-pct00007
이며,
이것은 모든 누산기가 세트되지 않으면, 모든 누산기의 합이 세트될 확률도 역시 1임을 의미한다.
이들 자명한 특성을 제외하면, 14 개의 자명하지 않은 조합이 있다. 제1 그룹은 누산기 중 하나가 세트되고 나머지 3 개는 세트되지 않는 4 개의 경우를 포함한다.
Figure 112002040665603-pct00008
,
Figure 112002040665603-pct00009
,
Figure 112002040665603-pct00010
,
Figure 112002040665603-pct00011
.
또 다른 그룹은 누산기 중 두 개가 세트되고 다른 두 개의 누산기는 세트되지 않는 조건을 나타낸다. 이들 조합은 다음과 같이 나타낸다.
Figure 112002040665603-pct00012
Figure 112002040665603-pct00013
Figure 112002040665603-pct00014
Figure 112002040665603-pct00015
Figure 112002040665603-pct00016
Figure 112002040665603-pct00017
최종적으로, 다음의 그룹은 3 개의 누산기가 세트되고 1 개의 누산기는 세트되지 않는 경우를 나타낸다.
Figure 112002040665603-pct00018
Figure 112002040665603-pct00019
Figure 112002040665603-pct00020
Figure 112002040665603-pct00021
이 실시예에서는 각각의 이들 그룹, 즉 사실상 이들 각각의 상황이 화상의 상이한 조건을 나타냄을 인식한다. 각 그룹 또는 각 상황이 다르게 처리될 수 있 다.
이 시스템은 상기한 바와 같이 그리고 도 5의 흐름도를 참조하여 설명한 바와 같이 동작한다. 최종 목표는 계산을 신속히 완료하여 탈출하는 것이다. 이것은 도 5에서, 처음에 550에서 두 개의 화상, 즉 소스 화상 및 검색 화상의 정합 특성을 결정하는 것으로 나타나 있다. 이 정합 특성은 조기 탈출이 없이 계산된다. 555에서 최소 왜곡이 발견되며, 560에서 이 최소 왜곡이 존재할 때의 조건이 발견된다.
560에서의 조건은 최소 왜곡 시에 존재하는 그룹화 타입 또는 14 개의 확률간의 특정 조건을 포함할 수 있다.
570에서, 후속하는 화상 부분이 테스트된다. 이 후속하는 부분은 테스트 부분과 상관되는 소정의 부분일 수 있다. 일시적으로 상관된 화상이 상관된 것으로 가정하기 때문에, 이것은 소정의 일시적으로 상관된 부분까지 확장될 수 있다.
화상 소스 및 검색이 테스트되며, 575에서 최소 왜곡 시에 발생되는 특정 그룹화의 결정이 발견된다. 이어서, 580에서, 조기 탈출이 달성된다.
조기 탈출(일단 결정되면)은 복수개의 상이한 방법으로 수행될 수 있다.
도 6a는 조기 탈출, 즉 "EE" 플래그를 이용하여 조기 탈출을 수행하는 시스템을 도시한다. N 개의 SAD 유닛이 도시되어 있는데, 이 실시예에 있어서 N은 4이다. 각 SAD 유닛은 상기한 구조와 구체적으로 ALU, 인버터 및 누산기를 포함한다.
각각의 누산기의 출력은 그 출력을 정렬하는 조합 논리 유닛(600)에 결합되어 있다. 이 조합 논리 유닛(600)은 상기한 그룹 결정을 수행하는데 이용된다. 조합 논리 유닛은, 예를 들어 하드웨어 정의 언어로 정의된 이산 논리 게이트를 이용하여 수행된다. 게이트는 선택된 그룹에 기초한 옵션에 따라 프로그램된다. 상이한 화상 및 부분은 상이한 옵션에 따라 처리될 수 있다.
각 옵션의 경우, 상태의 조합, 예컨대 상기한 그룹은 코딩된다. 조합 논리는 모든 SAD 유닛의 누산기를 감시한다. 각 상태는 멀티플렉서로 출력된다.
이들 누산기가 선택된 코딩 내에 속하는 상태를 달성할 때, 조기 탈출 플래그가 생성된다. 이 조기 탈출 플래그는 하드웨어가 적절한 "적합(fit)"을 결정하였음을 의미한다. 이것에 의해 동작이 탈출한다.
도 6b는 누산기의 상태가 하드웨어 상태 레지스터(602)에 의해 감지되는 다른 시스템을 도시한다. 상태 레지스터는 누산기의 조건에 의해 특정 상태로 설정된다. 상태 레지스터는 조기 탈출을 나타내는 특정 조건을 저장하고 있다. 그 특정 조건에 도달하면, 조기 탈출이 확립된다.
적응형 조기 탈출을 이용하는 방법이 도 7을 참조하여 전반적으로 설명된다. 700에서, 비디오 프레임이 개시된다. 705는 프레임 M 및 프레임 M + 1 양쪽 모두의 버퍼링을 나타낸다. 710은 블록 이력 모델의 갱신이 필요한 지에 대한 결정이다. 이것은, 예를 들어 이전 프레임이 갱신된 후의 시기를 감시함으로써 결정된다. 예를 들면, 새로운 갱신이 필요하기 전의 시간으로서 x 초가 확립될 수 있다.
블록 이력 모델이 갱신을 필요로 하는 경우, 처리는 715에서 0xFF01을 누산기에 로드하고 국부 변수 N = 1을 설정함으로써 계속된다. 720에서, 시스템은 SAD 검색 영역 N을 얻고 주기적 탈출 테스트 Texit = 1/16 ...를 이용하며, 단계 725에 서, 탈출 테스트가 수행된다. 성공적인 경우, 탈출 전의 화소인 국부 변수 Kexit(N)와, 탈출 전의 누산기 1 내지 누산기 4의 개요인 Aexit(N)은 재저장된다. 국부 변수 n은 또한 730에서 증분된다. 이것은 국부 파라미터를 확립하며, 처리가 계속된다.
후속 사이클에 있어서, 갱신의 블록 이력은 단계 710에서 재수행될 필요가 없으며, 이에 따라 단계 735로 제어가 진행된다. 이 단계에서, 이전에 저장되어 있는 Kexit 및 Aexit가 판독된다. 이것은 단계 740에서 새로운 카운트로서 이용되어 목표 블록 플래그를 설정한다.
단계 745에서, 블록 N에 대한 검색이 확립되며, 단계 750에서 Aexit 및 Kexit가 갱분된다. N이 증가된다. 단계 755에서, N이 397과 동일한지 여부의 결정이 행해진다. 352 ×288 화상 내에 396 개의 16 ×16 블록이 존재하기 때문에, 버퍼 내의 프레임의 수로서 397이 취해진다. 그러나, 이것은 적용 가능성에 따라서 상이한 크기의 사이즈로 조절될 수 있을 것이다.
다시, 화상의 대량의 부분의 일시적인 변동은 변경되지 않고 남아 있기 쉽다. 따라서, 부분적인 누산기가 특정 부호 비트를 가질 때, 그들의 상태는 상당한 이점을 생성한다. 또한, 프레임들간 시간은 통상적으로 1/15∼1/30 초의 배수이다. 최종적으로, 화상 내의 영역은 그들의 국부화된 특성을 유지하며, 이에 따라 그들의 공간 주파수가 상관될 수 있다.
비록 소수의 실시예가 개시되어 있다 하더라도, 다른 변경예가 가능함은 당업자에게 명백할 것이다.

Claims (41)

  1. 화상 왜곡 계산을 최소화하는 방법에 있어서,
    두개의 화상 영역간 최소 왜곡에 관련된 값을 다수의 누산 소자 각각에 로딩하는 단계와;
    상기 누산 소자들을 이용하여 상기 로딩된 값을 이후의 화상 왜곡 계산 결과들과 누산하는 단계와;
    상기 누산 소자들 중 적어도 하나의 소자가 상기 로딩된 값과 상이한 소정의 값에 이를 때 조기 탈출 방식을 개시하는 단계
    를 포함하는 화상 왜곡 계산 최소화 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 개시 단계는 상기 복수개의 누산 소자 중 특정 누산 소자들이 상기 소정의 값에 도달한 때에 발생되는 것인 화상 왜곡 계산 최소화 방법.
  4. 제1항에 있어서, 상기 개시 단계는 상기 복수개의 누산 소자 모두가 상기 소정의 값에 도달한 때에 발생되는 것인 화상 왜곡 계산 최소화 방법.
  5. 제1항에 있어서, 상기 개시 단계는 단일 누산 소자가 상기 소정의 값에 도달한 때에 발생되는 것인 화상 왜곡 계산 최소화 방법.
  6. 제1항에 있어서, 상기 최소 왜곡에 관련된 로딩된 값은 왜곡량이며 상기 누산 소자의 수로 제산되는 것인 화상 왜곡 계산 최소화 방법.
  7. 제1항에 있어서, 상기 영역의 특성을 결정하는 단계와, 상기 개시 단계 이전에 상기 소정의 값에 도달하는데 필요한 누산 소자의 수를 상기 특성으로부터 결정하는 단계를 더 포함하는 것인 화상 왜곡 계산 최소화 방법.
  8. 제7항에 있어서, 상기 화상의 특성은 균일한 화상을 나타내며, 상기 개시 단계는 단일 누산 소자로부터의 결과에 기초하는 것인 화상 왜곡 계산 최소화 방법.
  9. 제7항에 있어서, 상기 개시 단계는 복수개의 누산 소자들로부터의 결과에 기초하여 상기 조기 탈출을 설정(establish)하는 단계를 포함하는 것인 화상 왜곡 계산 최소화 방법.
  10. 제9항에 있어서, 상기 조기 탈출 설정 단계는 상기 누산 소자들 각각이 일정한 상태를 설정하는 확률을 결정하는 단계를 포함하는 것인 화상 왜곡 계산 최소화 방법.
  11. 제6항에 있어서, 상기 소정의 값은 0인 것인 화상 왜곡 계산 최소화 방법.
  12. 화상 왜곡 계산을 최소화하는 방법에 있어서,
    두 개의 화상 영역간의 왜곡을 결정하는 단계와;
    상기 두 개의 화상 영역간의 왜곡에 관련된 값을 복수개의 누산 소자들 각각에 로딩하는 단계와;
    상기 화상 영역들의 특성을 결정하고, 조기 탈출 방식을 개시하기 위해 소정의 값에 도달하는데 필요한 누산 소자들의 수를 상기 특성으로부터 결정하는 단계와;
    상기 결정된 수의 누산 소자들이 소정의 값에 도달할 때 상기 조기 탈출 방식을 위한 추가의 계산 사이클을 이용함 없이 상기 조기 탈출 방식을 개시하는 단계
    를 포함하는 화상 왜곡 계산 최소화 방법.
  13. 삭제
  14. 삭제
  15. 제12항에 있어서, 상기 개시 단계는 상기 복수개의 누산기 소자 중 특정 누산기 소자가 소정의 값에 도달한 때에 발생되는 것인 화상 왜곡 계산 최소화 방법.
  16. 제12항에 있어서, 상기 개시 단계는 상기 복수개의 누산기 소자 모두가 상기 소정의 값에 도달한 때에 발생되는 것인 화상 왜곡 계산 최소화 방법.
  17. 제12항에 있어서, 상기 소정의 값은 이전 계산에서 최소 왜곡에 관련된 것인 화상 왜곡 계산 최소화 방법.
  18. 삭제
  19. 제12항에 있어서, 상기 화상의 특성은 동일한 화상을 나타내며, 상기 왜곡은 단일 누산기 소자로부터의 결과에 기초하는 것인 화상 왜곡 계산 최소화 방법.
  20. 제15항에 있어서, 상기 소정의 값은 0인 것인 화상 왜곡 계산 최소화 방법.
  21. 제1 화상부와 제2 화상부간 제1 왜곡을 결정하기 위해 복수의 계산을 수행하고, 조기 탈출을 위한 상기 복수의 계산 카운트 및 상기 조기 탈출시 상기 다수의 계산 중 일정한 계산들의 상태를 얻는 단계와;
    제2 왜곡을 결정하기 위해 이후의 복수의 계산을 수행하는 단계와;
    상기 카운트 및 상기 상태 양자에 기초하여 이후의 조기 탈출을 위해 상기 이후의 복수의 계산을 종료하는 단계
    를 포함하는 화상 블록간 왜곡 결정 방법.
  22. 제21항에 있어서, 상기 제2 왜곡을 결정하기 위해 이후의 복수의 계산을 수행하는 단계는, 제1 값들을 상기 누산기들에 로딩하는 단계와, 상기 누산기들 중 적어도 하나의 누산기가 특정 임계값에 도달할 때 조기 탈출을 설정하는 단계를 포함하는 것인 화상 블록간 왜곡 결정 방법.
  23. 제22항에 있어서, 상기 특정값은 0인 것인 화상 블록간 왜곡 결정 방법.
  24. 화상부를 처리하는 방법에 있어서,
    제1 화상부에 관한 화상 왜곡 정보를 얻는 단계와;
    상기 화상 왜곡 정보에 관련된 값을 계산 소자에 로딩함으로써, 제2 화상부를 처리하도록 상기 화상 왜곡 정보를 이용하는 단계와;
    현재의 누산 값이 상기 로딩된 값 이외의 소정의 값에 도달한 때 상기 계산 소자에 의해 수행되는 계산을 종료하는 단계를 포함하고,
    상기 로딩된 값은 (-least/n)을 포함하며, 여기에서 least는 이전의 계산 싸이클에서 발견된 계산 값이고, n은 누산기들의 수인 것인 화상부 처리 방법.
  25. 제24항에 있어서, 상기 왜곡 정보는 블록 움직임 검색에서 측정된 최소의 왜곡을 포함하는 것인 화상부 처리 방법.
  26. 제24항에 있어서, 상기 화상 왜곡은 누산기를 갖는 절대차의 합 장치에서 왜곡을 계산하는데 이용되는 것인 화상부 처리 방법.
  27. 제26항에 있어서, 상기 값은 상기 누산기에 로딩되는 것인 화상부 처리 방법.
  28. 삭제
  29. 제24항에 있어서, 상기 소정의 양은 0인 것인 화상부 처리 방법.
  30. 제12항에 있어서, 상기 누산기는 값(- least/n)을 로딩하며, 여기서 least는 예상되는 조기값이고, n은 누산기의 수이며, 조기 탈출은 누산기가 0에 도달한 때에 설정되는 것인 화상부 처리 방법.
  31. 제22항에 있어서, 상기 로딩된 값들은 상기 누산기의 부호 비트를 나타내는 것인 화상부 처리 방법.
  32. 화상 처리 방법에 있어서,
    두 개의 화상간 관계에 기초하여 특정 상태를 달성하는 복수개의 화상 조작 장치를 제공하는 단계와;
    상기 관계에 기초한 결과들을 복수개의 화상 조작 장치에 누산하는 단계와;
    상기 누산 결과들에 기초하여 화상 처리 계산이 완료되었는지 여부를 결정하는 단계
    를 포함하는 화상 처리 방법.
  33. 제32항에 있어서, 상기 화상 조작 장치는 비디오 카메라의 일부인 것인 방법.
  34. 화상 처리 장치에 있어서,
    누산기 소자를 구비하며, 두 개의 영역간의 최소 왜곡에 관련된 값을 계산하는 계산 장치와;
    상기 최소 왜곡에 관련된 값을 저장하며, 상기 값을 상기 누산기에 로딩하는 버퍼와;
    상기 누산 장치의 값에 기초하여 최소 왜곡을 설정하는 논리 유닛
    을 포함하는 장치.
  35. 제34항에 있어서, 상기 계산 장치는 복수개이고, 상기 값은 상기 누산 소자 각각에 로딩되는 것인 장치.
  36. 화상 처리 장치에 있어서,
    비디오 취득 장치와;
    누산기 소자를 각각 구비하며, 상기 비디오 취득 장치에 의해 취득된 두 개의 비디오부간의 최소 왜곡에 관련된 값을 계산하는 복수개의 계산 장치와;
    상기 최소 왜곡에 관련된 값을 저장하며, 상기 값을 상기 누산기에 로딩하는 버퍼와;
    상기 누산 장치의 값에 기초하여 최소 왜곡을 설정하는 논리 유닛
    을 포함하는 장치.
  37. 제36항에 있어서, 상기 논리 유닛은 상기 누산기 소자의 부호 비트를 감시하는 것인 장치.
  38. 제36항에 있어서, 상기 논리 유닛은 상기 누산기 소자의 값을 감시하는 것인 장치.
  39. 제36항에 있어서, 상기 비디오 취득 장치는 비디오 카메라인 것인 장치.
  40. 제38항에 있어서, 상기 논리 유닛은 상기 복수개의 누산 소자 모두의 값이 소정의 임계값에 도달하는지를 모니터링하는 것인 장치.
  41. 제36항에 있어서, 상기 누산기는 값(-least/n)를 로딩하며, 여기서 least는 예상되는 조기값이고, n은 누산기의 수이며, 조기 탈출은 누산기가 0에 도달한 때에 설정되는 것인 장치.
KR1020027016709A 2000-06-07 2001-06-06 화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출기술 KR100551545B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/589,624 US6700996B1 (en) 2000-06-07 2000-06-07 Adaptive early exit techniques in image correlation
US09/589,624 2000-06-07
PCT/US2001/040863 WO2001095634A1 (en) 2000-06-07 2001-06-06 Adaptive early exit techniques for minimun distortion calculation in image correlation

Publications (2)

Publication Number Publication Date
KR20030025241A KR20030025241A (ko) 2003-03-28
KR100551545B1 true KR100551545B1 (ko) 2006-02-13

Family

ID=24358790

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027016709A KR100551545B1 (ko) 2000-06-07 2001-06-06 화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출기술

Country Status (8)

Country Link
US (2) US6700996B1 (ko)
JP (1) JP3865240B2 (ko)
KR (1) KR100551545B1 (ko)
CN (1) CN100352282C (ko)
AU (1) AU2001267035A1 (ko)
SG (1) SG154319A1 (ko)
TW (1) TW522738B (ko)
WO (1) WO2001095634A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907080B1 (en) * 2000-06-07 2005-06-14 Intel Corporation Adaptive early exit techniques in image correlation
US6654502B1 (en) * 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US6700996B1 (en) * 2000-06-07 2004-03-02 Intel Corporation Adaptive early exit techniques in image correlation
US7742525B1 (en) * 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
US6933982B2 (en) * 2002-10-07 2005-08-23 Koninklijke Philips Electronics N.V. Method and apparatus for fast robust estimation of image noise in a video processing system
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
TWI295027B (en) * 2005-07-01 2008-03-21 Pixart Imaging Inc Method for adjusting operating frequency of an optical input device according to reference frame changes
US8150204B2 (en) * 2007-03-23 2012-04-03 Mitsubishi Electric Corporation Noise reducer for video signals
JP5286944B2 (ja) * 2008-05-30 2013-09-11 富士通セミコンダクター株式会社 受信装置及びパケット通信方法
US20130170565A1 (en) * 2011-12-30 2013-07-04 Faramarz Azadegan Motion Estimation Complexity Reduction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5952359A (ja) * 1982-09-02 1984-03-26 Hitachi Medical Corp 画像間演算時の画像歪み自動補正装置
US5163101A (en) * 1985-10-07 1992-11-10 Schlumberger Technologies, Inc. Bitplane area correlator
KR870009295A (ko) * 1986-03-28 1987-10-24 엔. 라이스 머레트 멀티플렉스된 바이패스 경로를 갖고있는 비트 슬라이스 프로세서용 alu
CA1311063C (en) 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
JPH0683019B2 (ja) 1988-12-16 1994-10-19 三菱電機株式会社 ディジタル信号処理プロセッサ
US5682209A (en) * 1995-11-13 1997-10-28 Tektronix, Inc. Motion estimation using limited-time early exit with prequalification matrices and a predicted search center
JP3631868B2 (ja) 1996-12-20 2005-03-23 株式会社東芝 動きベクトル検出装置および方法
TW361051B (en) 1997-01-09 1999-06-11 Matsushita Electric Ind Co Ltd Motion vector detection apparatus
JPH11237216A (ja) * 1997-12-17 1999-08-31 Asahi Glass Co Ltd 光学歪の評価方法および評価装置
JP3540142B2 (ja) 1998-01-30 2004-07-07 株式会社東芝 動きベクトル検出回路および動きベクトル検出方法
JP2000069484A (ja) 1998-08-21 2000-03-03 Sony Corp 動きベクトル算出方法及び動きベクトル算出プログラムを記録した記録媒体
FR2801123B1 (fr) * 1999-11-12 2002-04-05 Bertrand Aube Procede de creation automatique de maquette numerique a partir de couples d'images stereoscopiques
US6496538B1 (en) * 1999-12-31 2002-12-17 Intel Corporation Method and apparatus for motion estimation for digital video encoding
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
US6654502B1 (en) * 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US6907080B1 (en) * 2000-06-07 2005-06-14 Intel Corporation Adaptive early exit techniques in image correlation
US6700996B1 (en) * 2000-06-07 2004-03-02 Intel Corporation Adaptive early exit techniques in image correlation
US7023921B2 (en) * 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
US7596286B2 (en) * 2003-08-06 2009-09-29 Sony Corporation Image processing apparatus, image processing system, imaging apparatus and image processing method

Also Published As

Publication number Publication date
SG154319A1 (en) 2009-08-28
US6700996B1 (en) 2004-03-02
AU2001267035A1 (en) 2001-12-17
CN100352282C (zh) 2007-11-28
JP2003536332A (ja) 2003-12-02
WO2001095634A1 (en) 2001-12-13
US20040156532A1 (en) 2004-08-12
CN1436425A (zh) 2003-08-13
KR20030025241A (ko) 2003-03-28
TW522738B (en) 2003-03-01
JP3865240B2 (ja) 2007-01-10
US7031498B2 (en) 2006-04-18

Similar Documents

Publication Publication Date Title
KR100604169B1 (ko) 화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출기술
US8804844B2 (en) Adaptive early exit techniques in image correlation
KR100551545B1 (ko) 화상 상관에서의 최소 왜곡 계산을 위한 적응형 조기 탈출기술
RU2323541C2 (ru) Способ и устройство для выполнения высококачественного быстрого поиска прогнозируемого движения
US6810145B2 (en) Process for detecting a change of shot in a succession of video images
US6456660B1 (en) Device and method of detecting motion vectors
KR20010060219A (ko) 이미지 처리 장치, 이미지 처리 방법, 데이터 처리 장치,데이터 처리 방법, 및 저장 매체
KR20060075204A (ko) 적응형 문턱치를 이용한 영상의 평탄 영역 검출장치 및 그방법
EP0773688A2 (en) Method for motion estimation
WO2005060272A1 (en) Image and video quality measurement
KR20050012766A (ko) 현재 모션 벡터 추정을 위한 유닛 및 모션 벡터 추정 방법
JP2020504383A (ja) 画像前景の検出装置、検出方法及び電子機器
US20220366691A1 (en) Object detection
KR100229803B1 (ko) 움직임 벡터 검출 방법 및 장치
US20040141555A1 (en) Method of motion vector prediction and system thereof
EP1968325A2 (en) Compression of video signals containing fades and flashes
CN109936741B (zh) 视频编码方法和系统
EP1251689B1 (en) Process for detecting a change of shot in a succession of video images
EP1309185A1 (en) Image noise detection
CN109903281B (zh) 一种基于多尺度的目标检测方法及装置
KR100212847B1 (ko) 움직임 추정기에서 절대에러값을 구하기 위한 가산방법
KR20070079717A (ko) 고속 움직임 추정 장치 및 방법
JPH08223576A (ja) 境界整合の動き推定装置
JP2002150294A (ja) 背景画像獲得方式及びその装置
JPH08336141A (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: 20130117

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 14