KR20070015169A - 화상 처리 장치 및 방법, 기록 매체, 및 프로그램 - Google Patents

화상 처리 장치 및 방법, 기록 매체, 및 프로그램 Download PDF

Info

Publication number
KR20070015169A
KR20070015169A KR1020067020963A KR20067020963A KR20070015169A KR 20070015169 A KR20070015169 A KR 20070015169A KR 1020067020963 A KR1020067020963 A KR 1020067020963A KR 20067020963 A KR20067020963 A KR 20067020963A KR 20070015169 A KR20070015169 A KR 20070015169A
Authority
KR
South Korea
Prior art keywords
pixel
vector
block
motion vector
frame
Prior art date
Application number
KR1020067020963A
Other languages
English (en)
Other versions
KR101118981B1 (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 KR20070015169A publication Critical patent/KR20070015169A/ko
Application granted granted Critical
Publication of KR101118981B1 publication Critical patent/KR101118981B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Television Systems (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 구배법(勾配法)에 따르는 모션 벡터의 검출 정밀도를 향상시키는 것이 가능하도록 하는 화상 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다. 유효 화소 판정부(403)는, 연산 블록 내의 각 화소에 대하여, 시간 방향의 화소 차분Δt에 소정의 화소 차분값을 설정하고, 시간 방향의 화소 차분Δt가, 설정된 소정의 화소 차분값보다 작은 경우에는, 그 화소는, 모션 벡터 검출에 기여한 것으로(유효한 것으로) 판정하고, 모션 벡터를 검출할 때의 구배법의 연산에 사용하지만, 시간 방향의 화소 차분Δt가, 설정된 소정의 화소 차분값 이상인 경우에는, 그 화소는, 모션의 혼란을 발생시킬 우려가 있다고 하여, 모션 벡터를 검출할 때의 구배법 연산부(404)에 의한 구배법의 연산으로부터 제외한다. 24P 신호로부터 60P 신호로의 프레임 주파수 변환 처리를 행하는 신호 처리 장치에 적용할 수 있다.
모션 벡터, 화상 처리 장치, 화상 처리 방법, 모션 벡터, 구배법

Description

화상 처리 장치 및 방법, 기록 매체, 및 프로그램 {IMAGE PROCESSING DEVICE AND METHOD, RECORDING MEDIUM, AND PROGRAM}
본 발명은, 화상 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이며, 특히 모션 벡터 검출의 정밀도를 향상시킬 수 있도록 한 화상 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다.
화상의 프레임 주파수를 변환하는 화상 처리 장치에 있어서, 주목 블록의 모션 벡터를 검출하는 하나의 방법으로서, 특허 문헌 1에 나타낸 바와 같은 구배법(勾配法)이 사용된다. 이 구배법은, 간단한 연산으로 화소 이하의 모션을 검출할 수 있는 특징이 있는 한편, 화소 단위의 검출에서는, 정밀도가 나쁘기 때문에, 통상의 경우, 블록 단위로 값을 적산하여, 모션 벡터 검출을 하는 경우가 많다.
따라서, 종래에 있어서는, 모션 벡터를 검출하는 대상으로 되는 주목 화소, 또는 주목 블록의 주변에 설정한 연산 블록 내 모든 화소를 사용하여 구배법 연산이 행해지고 있었다. 이상적으로는, 이 연산 블록 내부의 화소가 대략 동등한 모션을 가지고 있는 경우에는, 확실한 모션 벡터가 검출된다.
[특허 문헌 1] 일본국 특개 소 60-158786공보
그러나, 이 연산 블록에, 주목 화소 또는 주목 블록의 것과는 상이한 모션을 가지는 오브젝트의 화소가 혼입되는 경우가 있으므로, 이 경우에는, 확실한 것 같지 않은 모션 벡터가 검출되는 경우가 많고, 모션 벡터의 검출 정밀도가 현저하게 악화되는 문제가 있었다. 또, 이 결과 얻어진 모션 벡터를 이용하여, 프레임 주파수 변환을 행한 화상은, 특히 그 오브젝트의 경계 부근에, 노이즈가 생기거나, 불연속으로 되어 버리는 등, 현저한 시각(視覺) 열화를 가져오는 문제점이 있었다.
본 발명은, 이와 같은 문제점을 감안하여 이루어진 것이며, 구배법에 따르는 모션 벡터의 검출 정밀도를 향상시킬 수 있도록 하는 것이다.
본 발명의 화상 처리 장치는, 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 수단과, 연산 블록 내의 화소 중, 유효 화소 판단 수단에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 구배법 연산을 행하는 구배법 연산 수단을 구비한 것을 특징으로 한다.
유효 화소 판단 수단은, 모션 벡터를 검출하는 대상인 제1 프레임, 및 제1 프레임의 다음의 제2 프레임 상의 연산 블록 내의 화소의 시간 방향의 화소 차분을 산출하는 시간 차분 산출 수단을 구비하고, 시간 차분 산출 수단에 의해 산출된 시간 방향의 화소 차분에 따라 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것으로 판단하도록 할 수 있다.
유효 화소 판단 수단은, 시간 차분(差分) 산출 수단에 의해 산출된 시간 방향의 화소 차분이 소정의 임계값보다 작은지 여부를 판단하는 시간 차분 판단 수단을 추가로 구비하고, 시간 차분 판단 수단에 의해 시간 방향의 화소 차분이 소정의 임계값보다 작은 것으로 판단된 경우, 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것으로 판단하도록 할 수 있다.
유효 화소 판단 수단은, 모션 벡터를 검출하는 대상인 제1 프레임 상의 연산 블록 내의 화소의 제1 공간 방향의 화소 차분을 산출하는 제1 공간 차분 산출 수단과, 제1 프레임의 다음의 제2 프레임 상의 연산 블록 내의 화소의 제2 공간 방향의 화소 차분을 산출하는 제2 공간 차분 산출 수단과, 제1 프레임 및 제2 프레임 상의 연산 블록 내의 화소의 시간 방향의 화소 차분을 산출하는 시간 차분 산출 수단을 구비하고, 제1 및 제2 공간 차분 산출 수단, 및 시간 차분 산출 수단에 의해 산출된 제1 및 제2 공간 방향, 및 시간 방향의 화소 차분에 따라 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것으로 판단하도록 할 수 있다.
유효 화소 판단 수단은, 제1 및 제2 공간 차분 산출 수단, 및 시간 차분 산출 수단에 의해 산출된 제1 및 제2 공간 방향, 및 시간 방향의 화소 차분에 따른, 화소의 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하는 구배 유사성 판단 수단을 추가로 구비하고, 구배 유사성 판단 수단에 의해 화소의 구배의 유사성이 소정의 임계값보다 작은 것으로 판단된 경우, 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것으로 판단하도록 할 수 있다.
구배 유사성 판단 수단은, 제1 및 제2 공간 방향, 및 시간 방향의 화소 차분에 따른, 화소의 수평 방향의 구배의 유사성, 수직 방향의 구배의 유사성, 및 수평 수직 방향의 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하고, 화소의 수평 방향의 구배의 유사성, 수직 방향의 구배의 유사성, 및 수평 수직 방향의 구배의 유사성 중 적어도 한쪽이 소정의 임계값보다 작은 것으로 판단한 경우, 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것으로 판단하도록 할 수 있다.
구배 유사성 판단 수단은, 제1 및 제2 공간 방향, 및 시간 방향의 화소 차분에 따른, 화소의 수평 방향의 구배의 유사성, 및 수직 방향의 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하고, 화소의 수평 방향의 구배의 유사성, 및 수직 방향의 구배의 유사성의 양쪽이 소정의 임계값보다 작은 것으로 판단한 경우, 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것으로 판단하도록 할 수 있다.
연산 블록에 있어서의, 유효 화소 판단 수단에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소의 수가 소정수보다 적은지 여부를 판단하는 화소수 판단 수단과, 화소수 판단 수단에 의한 판단 결과를 기초로, 유효 화소 판단 수단 또는 구배법 연산 수단의 처리를 제어하는 연산 제어 수단을 추가로 포함하도록 할 수 있다.
화소수 판단 수단에 의해, 연산 블록에 있어서의, 모션 벡터의 검출에 유효한 것으로 판단된 화소의 수가 소정수보다 적은 것으로 판단된 경우, 연산 제어 수단은, 구배법 연산 수단에 의한 구배법 연산을 정지시키는 제어를 행하도록 할 수 있다.
연산 제어 수단에 의해 구배법 연산 수단에 의한 구배법 연산을 정지시키는 제어가 행해진 결과, 검출되는 모션 벡터에는, 0벡터가 할당되도록 할 수 있다.
연산 블록은, 블록 단위로 모션 벡터를 검출하는 경우의 제1 연산 블록, 및 화소 단위로 모션 벡터를 검출하는 경우의 제2 연산 블록에 의해 구성되며, 유효 화소 판단 수단은, 제1 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하고, 화소수 판단 수단은, 제1 연산 블록에 있어서의, 유효 화소 판단 수단에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소의 수가 소정수보다 적은지 여부를 판단하고, 연산 제어 수단은, 화소수 판단 수단에 의해, 제1 연산 블록에 있어서, 모션 벡터의 검출에 유효한 것으로 판단된 화소의 수가 소정수보다 적은 것으로 판단된 경우, 제1 연산 블록을 대상으로 한 처리를, 제2 연산 블록을 대상으로 한 처리로 전환하게 하도록, 유효 화소 판단 수단 및 구배법 연산 수단의 처리를 제어하도록 할 수 있다.
연산 블록은, 블록 단위로 모션 벡터를 검출하는 경우의 제1 연산 블록, 및 화소 단위로 모션 벡터를 검출하는 경우의 제2 연산 블록에 의해 구성되며, 유효 화소 판단 수단은, 제1 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하고, 화소수 판단 수단은, 제1 연산 블록에 있어서의, 유효 화소 판단 수단에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소의 수가 소정수보다 적은지 여부를 판단하고, 연산 제어 수단은, 화소수 판단 수단에 의해, 제1 연산 블록에 있어서, 모션 벡터의 검출에 유효한 것으로 판단된 화소의 수가 소정수보다 많은 것으로 판단된 경우, 유효 화소 판단 수단에 의해 모션 벡터의 검출에 유효한 것은 없는 것으로 판단된 화소에 대하여, 제1 연산 블록을 대상으로 한 처리를, 제2 연산 블록을 대상으로 한 처리로 전환하게 하도록, 유효 화소 판단 수단 및 구배법 연산 수단의 처리를 제어하도록 할 수 있다.
본 발명의 화상 처리 방법은, 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 스텝과, 연산 블록 내의 화소 중, 유효 화소 판단 스텝의 처리에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 구배법 연산을 행하는 구배법 연산 스텝을 포함하는 것을 특징으로 한다.
본 발명의 기록 매체에 기록되어 있는 프로그램은, 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 스텝과, 연산 블록 내의 화소 중, 유효 화소 판단 스텝의 처리에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 구배법 연산을 행하는 구배법 연산 스텝을 포함하는 것을 특징으로 한다.
본 발명의 프로그램은, 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 스텝과, 연산 블록 내의 화소 중, 유효 화소 판단 스텝의 처리에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 구배법 연산을 행하는 구배법 연산 스텝을 포함하는 것을 특징으로 한다.
본 발명에 있어서는, 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부가 판단된다. 그리고, 연산 블록 내의 화소 중, 유동(有動) 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 구배법 연산을 한다.
본 발명에 의하면, 구배법에 따르는 모션 벡터의 검출 정밀도를 향상시킬 수 있다. 또한, 본 발명에 의하면, 생성되는 화상의, 특히, 모션이 있는 경계 부근에 있어서의 현저한 시각 열화를 억제할 수 있다.
도 1은 본 발명의 신호 처리 장치의 구성예를 나타낸 블록도이다.
도 2는 신호 처리 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 처리의 원리를 설명하는 도면이다.
도 4는 본 발명의 처리를 구체적으로 설명하는 도면이다.
도 5는 신호 처리 장치에 있어서 사용되는 모션 벡터의 평가값을 설명하는 도면이다.
도 6은 신호 처리 장치의 프레임 주파수 변환 처리를 설명하는 플로차트이다.
도 7은 화상 보간부의 구성을 나타낸 블록도이다.
도 8은 화상 보간 처리를 설명하는 플로차트이다.
도 9는 벡터 검출부의 구성을 나타낸 블록도이다.
도 10은 벡터 검출부로 사용되는 구배법을 설명하는 도면이다.
도 11은 초기 벡터를 사용한 반복 구배법을 설명하는 도면이다.
도 12는 모션 벡터 검출 처리를 설명하는 플로차트이다.
도 13은 시프트 초기 벡터 할당부의 구성을 나타낸 블록도이다.
도 14는 시프트 초기 벡터의 개념을 설명하는 도면이다.
도 15는 시프트 초기 벡터를 구체적으로 설명하는 도면이다.
도 16은 시프트 초기 벡터를 구체적으로 설명하는 도면이다.
도 17은 시프트 초기 벡터의 결정 방법을 설명하는 도면이다.
도 18은 시프트 초기 벡터의 할당의 예를 설명하는 도면이다.
도 19는 모션 벡터가 경합하는 경우의 시프트 초기 벡터의 예를 설명하는 도면이다.
도 20은 시프트 초기 벡터 할당 처리를 설명하는 플로차트이다.
도 21은 초기 벡터 선택부의 구성을 나타낸 블록도이다.
도 22는 초기 벡터의 주변 영역을 나타낸 도면이다.
도 23은 초기 벡터의 후보 블록을 나타낸 도면이다.
도 24는 초기 벡터 선택 처리를 설명하는 플로차트이다.
도 25는 반복 구배법 연산부의 구성을 나타낸 블록도이다.
도 26은 유효 화소 판정부의 구성을 나타낸 블록도이다.
도 27은 구배법 연산부의 구성을 나타낸 블록도이다.
도 28은 모션 벡터의 검출 대상 블록과 연산 블록을 설명하는 도면이다.
도 29은 검출 대상 블록에 있어서의 오브젝트의 모션을 설명하는 도면이다.
도 30은 같은 모션의 오브젝트를 가지는 검출 대상 블록에 있어서의 휘도 상태를 설명하는 도면이다.
도 31은 상이한 모션의 오브젝트를 가지는 검출 대상 블록에 있어서의 휘도 상태를 설명하는 도면이다.
도 32는 화소 단위 처리의 연산 블록의 예를 설명하는 도면이다.
도 33은 도 29의 검출 대상 블록에 있어서의 화소 단위 처리를 설명하는 도면이다.
도 34 (A)는 반복 구배법 연산 처리의 예를 설명하는 플로차트이다.
도 34 (B)는 반복 구배법 연산 처리의 다른 예를 설명하는 플로차트이다.
도 34 (C)는 반복 구배법 연산 처리의 또다른 예를 설명하는 플로차트이다.
도 35는 유효 화소 판정 처리를 설명하는 플로차트이다.
도 36은 구배법 연산 처리를 설명하는 플로차트이다.
도 37은 화소 단위의 반복 구배법 연산 처리를 설명하는 플로차트이다.
도 38은 유효 화소 판정부의 다른 구성을 나타낸 블록도이다.
도 39은 구배법 연산부의 다른 구성을 나타낸 블록도이다.
도 40은 검출 대상 블록과 연산 블록의 다른 예를 설명하는 도면이다.
도 41은 도 38의 유효 화소 판정 방법을 설명하는 도면이다.
도 42는 연산 블록에 있어서의 유효 화소의 구성을 설명하는 도면이다.
도 43은 유효 화소 판정 처리의 다른 처리를 설명하는 플로차트이다.
도 44는 유효 화소 판정 처리의 다른 처리를 설명하는 플로차트이다.
도 45는 벡터 할당부의 구성을 나타낸 블록도이다.
도 46은 본 발명의 4점 보간 처리의 개념을 설명하는 도면이다.
도 47은 벡터 할당 처리의 개요를 설명하는 도면이다.
도 48은 모션 벡터와 내삽(內揷) 프레임의 교점의 근방 화소의 예를 설명하 는 도면이다.
도 49은 할당 후보의 모션 벡터의 평가 방법을 설명하는 도면이다.
도 50은 벡터 할당에 있어서의 4점 보간의 예를 설명하는 도면이다.
도 51은 벡터 할당 처리를 설명하는 플로차트이다.
도 52는 화소 위치 연산 처리를 설명하는 플로차트이다.
도 53은 할당 벡터 평가 처리를 설명하는 플로차트이다.
도 54는 할당 보상부의 구성을 나타낸 블록도이다.
도 55는 벡터 보상부의 구성을 나타낸 블록도이다.
도 56은 할당 보상 처리의 원리를 설명하는 도면이다.
도 57은 모션 상관의 원리를 설명하는 도면이다.
도 58은 주목 화소의 주위 화소의 구성예를 설명하는 도면이다.
도 59는 주목 화소의 모션 벡터의 보상 후보 벡터의 예를 설명하는 도면이다.
도 60은 주목 화소의 모션 벡터의 보상 후보 벡터의 예를 설명하는 도면이다.
도 61은 주목 화소의 모션 벡터의 보상 후보 벡터의 예를 설명하는 도면이다.
도 62는 보상 후보 벡터를 평가하는 예를 설명하는 도면이다.
도 63은 보상 후보 벡터를 평가하는 예를 설명하는 도면이다.
도 64는 보상 후보 벡터를 평가하는 예를 설명하는 도면이다.
도 65는 보상 후보 벡터를 주목 화소의 모션 벡터로서 선택하는 예를 설명하는 도면이다.
도 66은 할당 보상 처리를 설명하는 플로차트이다.
도 67은 벡터 보상 처리를 설명하는 플로차트이다.
[도면의 주요부분에 대한 부호의 설명]
(1) 신호 처리 장치, (11) CPU, (12) ROM,
(13) RAM, (31) 자기 디스크, (32) 광디스크,
(33) 광자기 디스크, (34) 반도체 메모리, (51) 프레임 메모리,
(52) 벡터 검출부, (53) 검출 벡터 메모리, (54) 벡터 할당부,
(55) 할당 벡터 메모리, (56) 할당 플래그 메모리, (57) 할당 보상부,
(58) 화상 보간부, (101) 초기 벡터 선택부,
(103) 반복 구배법 연산부, (104) 벡터 평가부,
(105) 시프트 초기 벡터 할당부, (106) 평가값 메모리,
(107) 시프트 초기 벡터 메모리, (201) 할당 대상 위치 연산부,
(202) 평가값 비교부, (203) 시프트 초기 벡터 치환부,
(204) 평가값 치환부, (251) 후보 벡터 위치 연산부,
(252) 검출 벡터 취득부, (253) 시프트 초기 벡터 취득부,
(254) 오프셋 위치 연산부, (255) 평가값 연산부,
(256) 평가값 비교부, (257) 최적 후보 저장용 레지스터,
(401) 모드 선택부, (402) 실렉터, (403) 유효 화소 판정부,
(404) 구배법 연산부, (405) 지연부,
(411) 시간 화소 차분 산출부, (412) 화소 차분값 판정부,
(413) 유효 화소수 카운터, (414) 구배법 계속 판정부,
(421) 시간 화소 차분 산출부, (422) 화소 차분값 판정부,
(423) 수평 수직 화소 차분 산출부, (424) 구배 적산부,
(425) 벡터 산출부, (501) 제1 공간 구배 화소 차분 산출부,
(502) 제2 공간 구배 화소 차분 산출부, (503) 시간 방향 화소 차분 산출부,
(504) 연산 판정부, (521) 제1 공간 구배 화소 차분 산출부,
(522) 제2 공간 구배 화소 차분 산출부, (523) 시간 방향 화소 차분 산출부,
(524) 연산 판정부, (701) 화소 정보 연산부,
(702) 평가값 연산부, (703) 주목 화소 차분 연산부,
(704) 벡터 평가부, (705) 벡터 선택부,
(711) 화소 차분 판단부, (712) 평가값 판단부,
(801) 할당 벡터 판정부, (802) 벡터 할당부,
(811) 보상 처리부, (812) 평가값 연산부, (821) 메모리
이하, 도면을 참조하여 본 발명의 실시예에 대하여 설명한다.
도 1은, 본 발명을 적용한 신호 처리 장치(1)의 구성예를 나타내고 있다. 신호 처리 장치(1)는, 예를 들면, 퍼스널 컴퓨터 등으로 구성된다. 도 1에 있어서, CPU(Central Processing Unit)(11)는, ROM(Read Only Memory)(12), 또는 기억 부(18)에 기억되어 있는 프로그램에 따라 각종의 처리를 실행한다. RAM(Random Access Memory)(13)에는, CPU(11)가 실행하는 프로그램이나 데이터 등이 적당히 기억된다. 이들 CPU(11), ROM(12), 및 RAM(13)은, 버스(14)에 의해 서로 접속되어 있다.
CPU(11)에는 또, 버스(14)를 통하여 입출력 인터페이스(15)가 접속되어 있다. 입출력 인터페이스(15)에는, 키보드, 마우스, 마이크로폰 등으로 이루어지는 입력부(16), 디스플레이, 스피커 등으로 이루어지는 출력부(17)가 접속되어 있다. CPU(11)는, 입력부(16)로부터 입력되는 지령에 대응하여 각종의 처리를 실행한다. 그리고, CPU(11)는, 처리의 결과, 얻어진 화상이나 음성 등을 출력부(17)에 출력한다.
입출력 인터페이스(15)에 접속되어 있는 기억부(18)는, 예를 들면, 하드 디스크 등으로 구성되며, CPU(11)가 실행하는 프로그램이나 각종 데이터를 기억한다. 통신부(19)는, 인터넷, 그 외의 네트워크를 통하여 외부의 장치와 통신한다. 또, 통신부(19)를 통하여 프로그램을 취득하고, 기억부(18)에 기억해도 된다.
입출력 인터페이스(15)에 접속되어 있는 드라이브(20)는, 자기 디스크(31), 광디스크(32), 광자기 디스크(33), 또는 반도체 메모리(34) 등이 장착되었을 때, 이들을 구동하고, 거기에 기록되어 있는 프로그램이나 데이터 등을 취득한다. 취득된 프로그램이나 데이터는, 필요에 따라 기억부(18)에 전송되고, 기억된다.
그리고, 신호 처리 장치(1)는, 예를 들면, 텔레비전 수상기, 광디스크 플레이어 등, 또는 이들의 신호 처리부로 할 수도 있다.
도 2는, 신호 처리 장치(1)를 나타낸 블록도이다.
그리고, 신호 처리 장치(1)의 각 기능을 하드웨어로 실현할 것인지, 소프트 웨어로 실현할 것인지는 문제로 되지 않는다. 즉, 본 명세서의 각 블록도는, 하드웨어의 블록도라고 생각해도, 소프트 웨어에 의한 기능 블록도라고 생각해도 된다.
도 2에 구성을 나타낸 신호 처리 장치(1)에 있어서는, 예를 들면, 프레임 주파수 24Hz의 프로그래시브 화상 신호(이하, 24P 신호라고 함)의 화상이 입력되고, 입력된 화상(입력 화상)이, 프레임 주파수 60Hz의 프로그래시브 화상 신호(이하, 60P 신호라고 함)의 화상으로 변환되어, 출력된다. 즉, 도 2는, 화상 처리 장치인 신호 처리 장치의 구성을 나타낸 도면이다.
신호 처리 장치(1)에 입력된 24P 신호의 입력 화상은, 프레임 메모리(51), 벡터 검출부(52), 벡터 할당부(54), 할당 보상부(57), 및 화상 보간부(58)에 공급된다. 프레임 메모리(51)는, 입력 화상을 프레임 단위로 기억한다. 프레임 메모리(51)는, 시각 t+1의 입력 화상의 하나 전의 시각 t의 프레임을 기억한다. 프레임 메모리(51)에 기억되는 시각 t의 프레임은, 벡터 검출부(52), 벡터 할당부(54), 할당 보상부(57), 및 화상 보간부(58)에 공급된다. 그리고, 이하, 프레임 메모리(51) 상의 시각 t의 프레임을 프레임 t 라 하고, 시각 t+1의 입력 화상의 프레임을, 프레임 t+1이라고 한다.
벡터 검출부(52)는, 프레임 메모리(51) 상의 프레임 t의 주목 블록과, 입력 화상의 프레임 t+1의 대상 블록의 사이에서 모션 벡터를 검출하고, 검출한 모션 벡터를, 검출 벡터 메모리(53)에 기억한다. 이 2프레임 간의 모션 벡터의 검출 방법 에는, 구배법 또는 블록 매칭법 등이 사용된다. 벡터 검출부(52)의 구성의 자세한 것은, 후술한다. 검출 벡터 메모리(53)는, 프레임 t에 있어서, 벡터 검출부(52)에 의해 검출된 모션 벡터를 기억한다.
벡터 할당부(54)는, 24P 신호의 프레임 t 상에 있어서 구해진 모션 벡터를, 할당 벡터 메모리(55) 상의, 보간하는 60P 신호의 프레임(이하, 60P 신호의 프레임은, 24P 신호의 프레임과 구별하기 위하여, 내삽 프레임이라고도 함) 상의 화소에 할당하고, 모션 벡터가 할당된 화소의 할당 플래그 메모리(56)의 할당 플래그를 1(True)로 재기록한다. 벡터 할당부(54)의 구성의 자세한 것은, 후술한다.
할당 벡터 메모리(55)는, 벡터 할당부(54)에 의해 할당된 모션 벡터를, 내삽 프레임의 각 화소에 대응시켜 기억한다. 할당 플래그 메모리(56)는, 내삽 프레임의 화소마다, 할당되는 모션 벡터의 유무를 나타내는 할당 플래그를 기억하고 있다. 예를 들면, True(1)인 할당 플래그는, 대응하는 화소에 모션 벡터가 할당되어 있는 것을 나타내고, False(0)인 할당 플래그는, 대응하는 화소에 모션 벡터가 할당되어 있지 않은 것을 나타낸다.
할당 보상부(57)는, 할당 플래그 메모리(56)의 할당 플래그를 참조하고, 벡터 할당부(54)에 의해 모션 벡터가 할당되지 않은 주목 화소에 대하여, 그 주목 화소의 주변 화소의 모션 벡터를 보충하여, 할당 벡터 메모리(55)의 내삽 프레임 상에 할당한다. 이 때, 할당 보상부(57)는, 모션 벡터를 할당한 주목 화소의 할당 플래그를 1(True)로 재기록한다. 할당 보상부(57)의 구성의 자세한 것은, 후술한다.
화상 보간부(58)는, 할당 벡터 메모리(55)의 내삽 프레임에 할당된 모션 벡터와, 프레임 t 및 다음의 프레임 t+1의 화소값을 사용하여, 내삽 프레임의 화소값을 보간 생성한다. 그리고, 화상 보간부(58)는, 생성된 내삽 프레임을 출력하고, 그 다음에, 필요에 따라 프레임 t+1을 출력함으로써, 60P 신호의 화상을, 도시하지 않은 후단에 출력한다. 그리고, 이하에 있어서는, 화소값을, 적당히, 휘도값이라고도 한다.
도 3은, 본 발명에 관한 신호 처리 장치(1)에 있어서의 처리의 원리를 설명하는 도면이다. 도 3의 예에 있어서는, 점선이, 신호 처리 장치(1)에 입력되는, 시각 t, t+1, 및 t+2에 있어서의 24P 신호의 프레임을 나타내고 있고, 실선이, 입력된 24P 신호로부터 신호 처리 장치(1)에 의해, 생성되는 시각 t, t+0.4, t+0.8, t+1.2, t+1.6, 및 t+2에 있어서의 60P 신호 내삽 프레임을 나타내고 있다.
일반적으로, 24P 신호를, 60P 신호로 변환하기 위해서는, 5/2배의 프레임이 필요하였다. 즉, 2매의 24P 신호의 화상으로부터 5개의 60P 신호의 화상이 생성되지 않으면 않된다. 이 때, 생성되는 60P 신호 내삽 프레임은, 그 프레임 간격을 동등하게 하기 위하여, 24P 신호 상에서의 시간 위상이 0.0, 0.4, 0.8, 1.2, 및 1.6으로 되는 위치에 배치된다. 이 중, 시간 위상이 0.0인 시각 t의 1프레임을 제외한 4프레임(t+0.4, t+0.8, t+1.2, 및 t+1.6의 프레임)은, 24P 신호 상에는 존재하지 않는 화상이다. 따라서, 신호 처리 장치(1)는, 24P 신호의 화상이 입력되면, 24P 신호의 시각 t 및 시각 t+1의 2개의 프레임으로부터, 4개의 내삽 프레임을 생성한다. 따라서, 신호 처리 장치(1)로부터는, 시각 t, t+0.4, t+0.8, t+1.2, 및 t+1.6의 5개의 프레임으로 이루어지는 60P 신호의 화상이 출력된다.
이상과 같이 하여, 신호 처리 장치(1)는, 24P 신호의 화상으로부터 60P 신호의 화상에, 프레임 주파수를 변환하는 처리를 실행한다.
그리고, 원리적으로는, 전술한 바와 같이, 24P 신호의 시각 t 및 시각 t+1의 2개의 프레임으로부터, 시각 t, t+0.4, t+0.8, t+1.2, 및 t+1.6의 5개의 60P 신호의 프레임이 새롭게 생성되지만, 실제로는, 도 3의 예의 경우, 24P 신호의 시각 t 및 시각 t+1의 2개의 프레임에 따라 t, t+0.4, t+0.8의 60P 신호의 프레임이 생성되고, 24P 신호의 시각 t+1 및 t+2의 2개의 프레임에 따라 t+1.2, t+1.6, 및 t+2의 60P 신호의 프레임이 생성된다.
도 4는, 본 발명의 처리를 보다 구체적으로 설명하는 도면이다. 도 4의 예에 있어서는, 굵은 선 화살표는, 각 상태로의 천이를 나타내고 있고, 화살표 T는, 상태(81 내지 85)에 있어서의 시간의 경과 방향을 나타내고 있다. 또, 상태(81 내지 85)는, 신호 처리 장치(1)를 구성하는 각 부로의 입출력시의, 24P 신호의 시각 t의 프레임 t, 시각 t의 다음의 시각 t+1의 프레임 t+1, 또는 프레임 t 및 프레임 t+1의 사이에 생성되는 60P 신호 내삽 프레임 F의 상태를 개념적으로 나타내고 있다. 즉, 실제로는, 예를 들면, 상태(82)에 나타낸 바와 같은 모션 벡터가 검출된 프레임은 입력되지 않고, 프레임과 모션 벡터는, 별개로 입력된다.
상태(81)은, 벡터 검출부(52)에 입력되는, 24P 신호의 프레임 t 및 프레임 t+1 상태를 나타내고 있다. 상태(81)의 프레임 t 상의 흑점은, 프레임 t 상의 화소를 나타내고 있다. 벡터 검출부(52)는, 상태(81)의 프레임 t 상의 화소가, 다음 의 시각의 프레임 t+1에 있어서, 어떤 위치로 이동하는지를 검출하고, 그 모션을, 상태(82)의 프레임 t 상에 나타낸 바와 같이, 각 화소에 대응하는 모션 벡터로서 출력한다. 이 2프레임 간의 모션 벡터의 검출 방법에는, 블록 매칭법 또는 구배법 등이 사용된다. 그리고, 이 때, 화소에 복수개의 모션 벡터가 검출된 경우, 벡터 검출부(52)는, 각 모션 벡터에 대하여, 후술하는 평가값을 구하고, 그 평가값에 따라 모션 벡터를 선택한다.
상태(82)는, 벡터 할당부(54)에 입력되는, 프레임 t 및 프레임 t+1 상태를 나타내고 있다. 상태(82)에 있어서, 프레임 t의 각 화소의 화살표는, 벡터 검출부(52)에 의해 검출된 모션 벡터를 나타내고 있다.
벡터 할당부(54)는, 상태(82)의 프레임 t의 각 화소에 대하여 검출된 모션 벡터를, 다음의 프레임 t+1까지 연장시켜, 미리 설정되어 있는 시간 위상(예를 들면, 도 3의 t+0.4)에 있는 내삽 프레임 F 상의 어떤 위치를 통과하는지를 구한다. 이것은, 프레임 t 및 프레임 t+1의 사이가 일정 모션인 것으로 가정하면, 모션 벡터가 내삽 프레임 F를 통과한 점이, 그 프레임에서의 화소 위치로 되기 때문이다. 따라서, 벡터 할당부(54)는, 이 통과하는 모션 벡터를, 상태(83)의 내삽 프레임 F 상의 근방 4화소에 할당한다. 또, 이 때, 내삽 프레임의 화소에 따라서는, 모션 벡터가 존재하지 않는 경우, 또는 복수개의 모션 벡터가, 할당 후보로 되는 경우가 있다. 후자와 같은 경우에는, 벡터 할당부(54)는, 벡터 검출부(52)와 마찬가지로, 각 모션 벡터에 대한 평가값을 구하고, 그 평가값에 따라 할당하는 모션 벡터를 선택한다.
상태(83)은, 할당 보상부(57)에 입력되는, 프레임 t 및 프레임 t+1, 및 모션 벡터가 할당된 내삽 프레임 F의 상태를 나타내고 있다. 상태(83)의 내삽 프레임 F에 있어서는, 벡터 할당부(54)에 의해 모션 벡터가 할당되어 있는 화소와 모션 벡터가 할당되지 않은 화소가 나타나 있다.
할당 보상부(57)는, 상태(83)의 모션 벡터가 할당되어 있지 않은 화소에 대하여, 그 화소의 주변 화소에 할당되어 있는 모션 벡터를 사용하여 보충한다. 이것은, 어느 주목 화소의 근방 영역이 같은 모션이라는 가정이 성립된다면, 주목 화소의 주변 화소의 모션 벡터와 그 주목 화소의 모션 벡터는 유사한 것이기 때문이다. 이로써, 모션 벡터가 할당되지 않은 화소에도, 어느 정도 정확한 모션 벡터가 부여되고, 상태(84)의 내삽 프레임 F 상의 모든 화소에 모션 벡터가 할당된다. 그리고, 이 경우에도, 복수개의 주변 화소의 모션 벡터가 후보로서 존재하므로, 할당 보상부(57)는, 벡터 할당부(54)와 마찬가지로, 각 모션 벡터에 대한 평가값을 구하고, 그 평가값에 따라 할당하는 모션 벡터를 선택한다.
상태(84)는, 화상 보간부(58)에 입력되는, 프레임 t 및 프레임 t+1, 및 모든 화소에 모션 벡터가 할당된 내삽 프레임 F의 상태를 나타내고 있다. 이들 모든 화소에 할당된 모션 벡터에 의해, 화상 보간부(58)는, 내삽 프레임 F 상의 화소와, 2개의 프레임 t 및 프레임 t+1의 화소의 위치 관계를 결정할 수 있다. 따라서, 화상 보간부(58)는, 내삽 프레임 F 상에 할당된 모션 벡터와 프레임 t 및 프레임 t+1의 화소값을 사용하여, 상태(85)의 내삽 프레임 F의 흑점으로 나타낸 바와 같이, 내삽 프레임 F 상의 화소값을 보간 생성한다. 그리고, 화상 보간부(58)는, 생성된 내삽 프레임을 출력하고, 그 다음에, 필요에 따라 프레임 t+1을 출력함으로써, 60P 신호의 화상을, 도시하지 않은 후단에 출력한다.
다음에, 도 5를 참조하여, 본 발명에 관한 신호 처리 장치(1)에 있어서 사용되는 모션 벡터의 평가값을 설명한다. 도 4를 참조하여 전술한 바와 같이, 신호 처리 장치(1)의 각 부(벡터 검출부(52), 벡터 할당부(54), 및 할당 보상부(57))에 있어서, 후단의 처리에 최적인 모션 벡터가 선택된다. 이 때, 신호 처리 장치(1)의 각 부에 있어서는, 모션 벡터에 대한 평가값으로서 2개의 프레임의 주목하는 벡터량만큼 어긋나게 한 블록 사이의 상관값을 나타내는 차분 절대값합(DFD(Displaced Frame Difference)이 사용된다.
도 5의 예에 있어서는, 시각 t의 프레임 t 상의 화소 위치 p를 중심으로 한 m×n의 블록, 및 시각 t+1의 프레임 t+1 상의 화소 위치 p로부터 주목하는 모션 벡터v의 벡터량만큼 어긋나게 한 화소 위치 p+v를 중심으로 한 m×n의 블록의 2개의 블록이 나타나 있다. 이들 2개의 블록 사이에 있어서 구해지는 차분 절대값합DFDt(p)는, 다음의 식(1)에 의해 표현된다.
[수식 1]
Figure 112006072852497-PCT00001
…(1)
여기서, Ft(p)는, 시각 t에 있어서의 화소 위치 p의 휘도값을 나타내고 있고, m×n는, 차분 절대값합를 구하기 위한 DFD 연산 범위(블록)를 나타내고 있다. 이 차분 절대값합은, 2개의 프레임에 있어서의 DFD 연이내고 있으므로, 일반적으로 는, 이 분 절대값합이 작을 수록 프레임 간의 블록의 파형이 일치하고 있고, 차분 절대값합이 작을 수록, 모션 벡터v의 신뢰도가 높은 것으로 판정된다. 이로써, 이 차분 절대값합은, 복수개의 후보 중, 가장 확실한 모션 벡터를 선택하는 경우 등에 사용된다.
따라서, 이후, 신호 처리 장치(1)의 각 부(벡터 검출부(52), 벡터 할당부(54), 및 할당 보상부(57))에 있어서는, 모션 벡터가 선택되는 경우의 평가값으로서 특히 언급하지 않는 경우에는, 차분 절대값합(이하, 평가값 DFD 이라고 함)가 사용되는 것으로 한다.
다음에, 도 6의 플로차트를 참조하여, 신호 처리 장치(1)의 프레임 주파수를 변환하는 처리를 설명한다.
스텝 S1에 있어서, 벡터 검출부(52)는, 시각 t+1의 입력 화상의 프레임 t+1과 프레임 메모리(51)의 입력 화상의 하나전의 시각 t의 프레임 t의 화소값을 입력하고, 스텝 S2로 진행한다. 그리고, 이 때, 벡터 할당부(54), 할당 보상부(57) 및 화상 보간부(58)는, 시각 t+1의 입력 화상의 프레임 t+1과 프레임 메모리(51)의 입력 화상의 하나전의 시각 t의 프레임 t의 화소값을 입력한다.
스텝 S2에 있어서, 벡터 검출부(52)는, 모션 벡터 검출 처리를 실행하고, 스텝 S3으로 진행한다. 즉, 벡터 검출부(52)는, 프레임 메모리(51) 상의 프레임 t의 주목 블록과, 입력 화상인 다음의 프레임 t+1의 대상 블록의 사이에서 모션 벡터를 검출하고, 검출한 모션 벡터를, 검출 벡터 메모리(53)에 기억하고, 스텝 S3으로 진행한다. 이 2프레임 간의 모션 벡터의 검출 방법에는, 구배법 또는 블록 매칭법 등이 사용된다. 또, 모션 벡터의 후보가 복수개 있는 경우에는, 각 모션 벡터에 대하여, 평가값 DFD가 구해지고, 구해진 평가값 DFD에 근거한 신뢰도가 높은 모션 벡터가 검출된다. 즉, 이 경우, 모션 벡터를 검출하는 주목 블록에 있어서, 가장 확실한 모션 벡터가 선택되고, 검출된다. 스텝 S2에 있어서의, 모션 벡터 검출 처리의 자세한 것은, 후술한다.
스텝 S3에 있어서, 벡터 할당부(54)는, 벡터 할당 처리를 실행하고, 스텝 S4로 진행한다. 즉, 벡터 할당부(54)는, 스텝 S3에 있어서, 프레임 t 상에 있어서 구해진 모션 벡터를, 할당 벡터 메모리(55) 상의, 보간하는 내삽 프레임 상의 주목 화소에 할당하고, 모션 벡터가 할당된 화소의 할당 플래그 메모리(56)의 할당 플래그를 1(True)로 재기록한다. 예를 들면, True인 할당 플래그는, 대응하는 화소에 모션 벡터가 할당되어 있는 것을 나타내고, False인 할당 플래그는, 대응하는 화소에 모션 벡터가 할당되어 있지 않은 것을 나타낸다. 그리고, 각 화소에 있어서, 모션 벡터의 후보가 복수개 있는 경우에는, 각 모션 벡터에 대하여, 평가값 DFD가 구해지고, 구해진 평가값 DFD에 근거한 신뢰도가 높은 모션 벡터가 할당된다. 즉, 이 경우, 모션 벡터를 할당하는 주목 화소에 있어서, 가장 확실한 모션 벡터가 선택되고, 할당된다.
스텝 S4에 있어서, 할당 보상부(57)는, 할당 보상 처리를 실행하고, 스텝 S5로 진행한다. 즉, 할당 보상부(57)는, 스텝 S4에 있어서, 할당 플래그 메모리(56)의 할당 플래그를 참조하고, 벡터 할당부(54)에 의해 모션 벡터가 할당되지 않은 주목 화소에 대하여, 그 주목 화소의 주변 화소의 모션 벡터를 보충하여, 할당 벡 터 메모리(55)의 내삽 프레임 상에 할당한다. 이 때, 할당 보상부(57)는, 모션 벡터를 보충하여, 할당된 주목 화소의 할당 플래그를 1(True)로 재기록한다. 그리고, 주변 화소의 모션 벡터가 복수개 있는 경우에는, 각 모션 벡터에 대하여, 평가값 DFD가 구해지고, 구해진 평가값 DFD에 근거한, 신뢰도가 높은 모션 벡터가 할당된다. 즉, 이 경우, 모션 벡터를 할당하는 주목 화소에 있어서, 가장 확실한 모션 벡터가 선택되고, 할당된다. 스텝 S4에 있어서의, 할당 보상 처리의 자세한 것은, 후술한다.
스텝 S5에 있어서, 화상 보간부(58)는, 화상 보간 처리를 실행한다. 즉, 화상 보간부(58)는, 스텝 S5에 있어서, 할당 벡터 메모리(55)의 내삽 프레임에 할당된 모션 벡터와, 프레임 t 및 프레임 t+1의 화소값을 사용하여, 내삽 프레임의 화소값을 보간 생성하고, 스텝 S6으로 진행한다. 스텝 S5에 있어서의, 화상 보간 처리의 자세한 것은 후술한다. 화상 보간부(58)는, 스텝 S6에 있어서, 생성된 내삽 프레임을 출력하고, 그 다음에, 필요에 따라 프레임 t+1을 출력함으로써, 60P 신호의 화상을, 도시하지 않은 후단에 출력하고, 스텝 S7으로 진행한다.
스텝 S7에 있어서, 벡터 검출부(52)는, 모든 프레임의 처리가 종료되었는지 여부를 판단하고, 모든 프레임의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S1으로 복귀하고, 그 이후의 처리를 반복한다. 한편, 벡터 검출부(52)는, 스텝 S7에 있어서, 모든 프레임의 처리가 종료한 것으로 판단한 경우, 프레임 주파수를 변환하는 처리를 종료한다.
이상과 같이, 본 발명에 관한 신호 처리 장치(1)는, 24P 신호의 입력 화상의 프레임으로부터 모션 벡터를 검출하고, 검출한 모션 벡터를, 60P 신호의 프레임 상의 화소에 할당하고, 할당된 모션 벡터에 따라 60P 신호의 프레임 상의 화소값을 생성한다. 이 때, 신호 처리 장치(1)는, 각 처리에 있어서, 평가값 DFD(차분 절대값합)에 따른, 보다 신뢰도가 높은 모션 벡터를 선택하여, 후단에 출력한다. 따라서, 신호 처리 장치(1)에 있어서는, 모션이 파탄되는 것 등이 억제되어, 보다 정밀도 양호한 화상을 생성할 수 있다.
다음에, 화상 보간부(58)의 구성의 상세에 대하여 설명한다.
도 7은, 화상 보간부(58)의 구성을 나타낸 블록도이다. 도 7에 구성을 나타낸 화상 보간부(58)는, 할당 벡터 메모리(55)의 내삽 프레임에 할당된 모션 벡터와, 프레임 t 및 프레임 t+1의 화소값을 사용하여, 내삽 프레임의 화소값을 보간 생성하고, 60P 신호의 화상을 출력하는 처리를 행한다.
도 7의 예에 있어서, 시각 t의 화상의 프레임 t는, 공간 필터(92-1)에 입력되고, 시각 t+1의 화상의 프레임 t+1은, 공간 필터(92-2) 및 버퍼(95)에 입력된다.
보간 제어부(91)는, 할당 벡터 메모리(55)의 내삽 프레임의 화소를 선택하고, 선택한 화소에 할당되어 있는 모션 벡터에 따라 내삽 프레임 상의 화소와, 2개의 프레임 t 및 프레임 t+1의 화소와의 위치 관계(공간 시프트량)를 각각 구한다. 즉, 보간 제어부(91)는, 내삽 프레임의 화소를 기준으로, 그 모션 벡터에 의해 대응하는 프레임 t 상의 위치와, 내삽 프레임의 화소에 대응하는 프레임 t 상의 화소의 위치로부터, 이들의 공간 시프트량을 구하고, 구한 공간 시프트량을 공간 필터(92-1)에 공급한다. 마찬가지로, 보간 제어부(91)는, 내삽 프레임의 화소를 기 준으로, 그 모션 벡터에 의해 대응하는 프레임 t+1 상의 위치와, 내삽 프레임의 화소에 대응하는 프레임 t+1 상의 화소의 위치로부터, 이들의 공간 시프트량을 구하고, 구한 공간 시프트량을 공간 필터(92-2)에 공급한다.
또, 보간 제어부(91)는, 미리 설정되어 있는 내삽 프레임의 시간 위상(시각)에 따라 프레임 t와 프레임 t+1의 사이에서의 보간 가중치를 구하고, 구한 보간 가중치를, 승산기(93-1) 및 (93-2)에 설정한다. 예를 들면, 내삽 프레임의 시각이, 프레임 t+1의 시각 t+1으로부터 「k」멀어진 시각에서, 또한 프레임 t의 시각 t로부터 「1-k」멀어진 시각인 경우(즉, 내삽 프레임이 시각 t와 시각 t+1을 「1-k」: 「k」에 내분(內分)하는 시각에 생성되는 경우), 보간 제어부(91)는, 승산기(93-1)에 「1-k」의 보간 가중치를 설정하고, 승산기(93-2)에 「k」의 보간 가중치를 설정한다.
공간 필터(92-1) 및 (92-2)는, 예를 들면, 큐빅 필터 등에 의해 구성된다. 공간 필터(92-1)는, 입력되는 프레임 t 상의 화소의 화소값과, 보간 제어부(91)로부터 공급되는 공간 시프트량에 따라 내삽 프레임의 화소에 대응하는, 프레임 t 상의 화소값을 구하고, 구한 화소값을 승산기(93-1)에 출력한다. 공간 필터(92-2)는, 입력되는 프레임 t+1 상의 화소의 화소값과, 보간 제어부(91)로부터 공급되는 공간 시프트량에 따라 내삽 프레임의 화소에 대응하는, 프레임 t+1 상의 화소값을 구하고, 구한 화소값을 승산기(93-2)에 출력한다.
그리고, 내삽 프레임의 화소의 위치가, 프레임 t 또는 프레임 t+1 상의 화소의 위치와 일치하지 않는 경우(즉, 내삽 프레임의 화소의 위치가, 프레임 t 또는 프레임 t+1에 있어서 화소 이하 성분인 경우), 공간 필터(92-1) 및 (92-2)는, 프레임 t 또는 프레임 t+1에 있어서의 내삽 프레임의 화소의 위치의 주변 4화소의 화소값을 사용하여, 주변 4화소의 거리의 역비(逆比)의 합을 구함으로써, 내삽 프레임의 화소에 대응하는 프레임 상의 화소값을 구한다. 즉, 화소 이하 위치의 화소값은, 주변 4화소와의 거리를 기초로 한 선형 보간으로 값이 구해진다(그 자세한 것은 후술한다).
승산기(93-1)는, 공간 필터(92-1)로부터 입력되는 프레임 t 상의 화소값에, 보간 제어부(91)에 의해 설정된 보간 가중치 「1-k」를 곱하고, 중요한 화소값을, 가산기(94)에 출력한다. 승산기(93-2)는, 공간 필터(92-2)로부터 입력되는 프레임 t+1 상의 화소값에, 보간 제어부(91)에 의해 설정된 보간 가중치 「k」를 곱하고, 중요한 화소값을, 가산기(94)에 출력한다.
가산기(94)는, 승산기(93-1)로부터 입력되는 화소값과, 승산기(93-2)로부터 입력되는 화소값을 가산함으로써, 내삽 프레임의 화소의 화소값을 생성하고, 생성된 내삽 프레임의 화소값을, 버퍼(95)에 출력한다. 버퍼(95)는, 입력된 프레임 t+1을 버퍼링하고 있다. 버퍼(95)는, 생성된 내삽 프레임을 출력하고, 그 다음에, 미리 설정되어 있는 60P 프레임의 시간 위상(시각)에 따라 필요에 따라 버퍼링하고 있는 프레임 t+1을 출력함으로써, 60P 신호의 화상을, 도시하지 않은 후단에 출력한다.
이상과 같이 구성되는 화상 보간부(58)의 화상 보간 처리의 상세를, 도 8의 플로차트를 참조하여 설명한다.
보간 제어부(91)는, 스텝 S51에 있어서, 처리하는 내삽 프레임의 시간 위상에 따라 프레임 t와 프레임 t+1의 사이에서의 내삽 프레임의 보간 가중치(예를 들면, 「k」 및 「1-k」)를 구하고, 구해진 보간 가중치를, 승산기(93-1) 및 (93-2)에 각각 설정하고, 스텝 S52로 진행한다. 보간 제어부(91)는, 스텝 S52에 있어서, 할당 벡터 메모리(55)의 내삽 프레임의 화소를 선택하고, 스텝 S53으로 진행한다. 그리고, 내삽 프레임 상의 화소는, 프레임의 좌측 위의 화소로부터 라스터 스캔 순서로 선택된다.
보간 제어부(91)는, 스텝 S53에 있어서, 선택한 화소에 할당되어 있는 모션 벡터에 따라 내삽 프레임 상의 화소와, 2개의 프레임 t 및 프레임 t+1의 화소와의 위치 관계(공간 시프트량)를 각각 구하고, 구해진 공간 시프트량을, 각각 공간 필터(92-1) 및 (92-2)에 공급하고, 스텝 S54로 진행한다. 구체적으로는, 보간 제어부(91)는, 스텝 S53에 있어서, 내삽 프레임의 화소를 기준으로, 그 모션 벡터에 의해 대응하는 프레임 t 상의 위치와, 내삽 프레임의 화소에 대응하는 프레임 t 상의 화소의 위치로부터, 이들의 공간 시프트량을 구하고, 구한 공간 시프트량을 공간 필터(92-1)에 공급한다. 마찬가지로, 보간 제어부(91)는, 내삽 프레임의 화소를 기준으로, 그 모션 벡터에 의해 대응하는 프레임 t+1 상의 위치와, 내삽 프레임의 화소에 대응하는 프레임 t+1 상의 화소의 위치로부터, 이들의 공간 시프트량을 구하고, 구한 공간 시프트량을 공간 필터(92-2)에 공급한다.
시각 t의 화상의 프레임 t의 화소값은, 공간 필터(92-1)에 입력되고, 시각 t+1의 화상의 프레임 t+1의 화소값은, 공간 필터(92-2)에 입력되어 있다. 스텝 S54에 있어서, 공간 필터(92-1) 및 (92-2)는, 입력되는 프레임 t 및 t+1 상의 화소의 화소값과, 보간 제어부(91)로부터 공급되는 공간 시프트량에 따라 내삽 프레임의 화소에 대응하는, 각 프레임 상의 화소값을 구하고, 구한 화소값을 승산기(93-1) 및 (93-2)에 각각 출력하고, 스텝 S55로 진행한다.
승산기(93-1) 및 (93-2)는, 스텝 S55에 있어서, 공간 필터(92-1) 또는 (92-2)로부터 입력되는 각 프레임 상의 화소값에, 보간 제어부(91)에 의해 설정된 보간 가즉, 승산기(93-1)는, 공간 필터(92-1)로부터 입력되는 프레임 t 상의 화소값에, 보간 제어부(91)에 의해 설정된 보간 가중치 「1-k」를 곱하고, 중요한 화소값을, 가산기(94)에 출력한다. 승산기(93-2)는, 공간 필터(92-2)로부터 입력되는 프레임 t+1 상의 화소값에, 보간 제어부(91)에 의해 설정된 보간 가중치 「k」를 곱하고, 중요한 화소값을, 가산기(94)에 출력한다.
가산기(94)는, 스텝 S56에 있어서, 승산기(93-1)에 의해 중요한 화소값과, 승산기(93-2)에 의해 중요한 화소값을 가산함으로써, 내삽 프레임의 화소의 화소값을 생성하고, 생성된 화소값을, 버퍼(95)에 출력하고, 스텝 S57로 진행한다. 보간 제어부(91)는, 스텝 S57에 있어서, 내삽 프레임 상의 모든 화소에 대한 처리가 종료되었는지 여부를 판단하고, 내삽 프레임 상의 모든 화소에 대한 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S52로 복귀하고, 그 이후의 처리를 반복한다. 보간 제어부(91)는, 스텝 S57에 있어서, 내삽 프레임 상의 모든 화소에 대한 처리가 종료한 것으로 판단한 경우, 화상 보간 처리를 종료한다.
이상과 같이, 내삽 프레임에 할당된 모션 벡터에 따라 내삽 프레임의 화소값 이 생성되고, 전술한 도 6의 스텝 S6에 있어서, 버퍼(95)에 의해, 내삽 프레임이 출력되고, 그 다음에, 필요에 따라 프레임 t+1이 출력됨으로써, 60P 신호의 화상이, 후단에 출력된다. 따라서, 내삽 프레임의 화소에, 가장 확실한 모션 벡터가 할당되므로, 정밀도 양호한 내삽 프레임을 생성할 수 있다.
다음에, 벡터 검출부(52)의 구성의 상세에 대하여 설명한다.
도 9는, 벡터 검출부(52)의 구성을 나타낸 블록도이다. 도 9에 구성을 나타낸 벡터 검출부(52)는, 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 프레임 t 상의 모션 벡터를 검출한다. 이 모션 벡터를 검출하는 처리는, 복수개의 화소로 이루어지는 소정의 블록마다 실행된다.
초기 벡터 선택부(101)는, 소정의 블록마다, 과거의 모션 벡터의 검출 결과로부터 구해지는 신뢰도가 높은 모션 벡터를, 구배법에 이용되는 초기값으로 되는 초기 벡터 V0로서 반복 구배법 연산부(103)에 출력한다. 구체적으로는, 초기 벡터 선택부(101)는, 검출 벡터 메모리(53)에 기억되는 과거에 구해진 주변의 블록의 모션 벡터나, 시프트 초기 벡터 메모리(107)에 기억되는 시프트 초기 벡터를, 초기 벡터의 후보 벡터로서 선택한다. 그리고, 초기 벡터 선택부(101)는, 프레임 t와 프레임 t+1을 사용하여, 후보 벡터의 평가값 DFD를 구하고, 후보 벡터 중, 구해진 평가값 DFD에 따른, 가장 신뢰도가 높은 것을 선택하고, 초기 벡터 V0로서 출력한다. 그리고, 초기 벡터 선택부(101)의 구성의 자세한 것은, 후술한다.
프리 필터(102-1) 및 (102-2)는, 로패스 필터나 가우시안(Gaussian) 필터에 의해 구성되며, 각각, 입력되는 화상의 프레임 t 및 프레임 t+1의 노이즈 성분을 제거하고, 반복 구배법 연산부(103)에 출력한다.
반복 구배법 연산부(103)는, 초기 벡터 선택부(101)로부터 입력된 초기 벡터 V0와 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 프레임 t 및 프레임 t+1을 사용하여, 소정의 블록마다, 구배법에 의해, 모션 벡터 Vn를 산출한다. 반복 구배법 연산부(103)는, 초기 벡터 V0와 산출된 모션 벡터 Vn를 벡터 평가부(104)에 출력한다. 또, 반복 구배법 연산부(103)는, 벡터 평가부(104)에 의한 모션 벡터의 평가 결과에 따라 구배법의 연산을 반복 행하고, 모션 벡터 Vn를 산출한다. 그리고, 반복 구배법 연산부(103)의 구성의 자세한 것은, 후술한다.
벡터 평가부(104)는, 반복 구배법 연산부(103)로부터의 모션 벡터 Vn-1(또는 초기 벡터 V0)과, 모션 벡터 Vn의 평가값 DFD를 구하고, 구해진 평가값 DFD에 따라 반복 구배법 연산부(103)를 제어하고, 구배법의 연산을 반복 실행시켜, 최종적으로, 평가값 DFD에 따른, 신뢰성이 높은 것을 선택하고, 모션 벡터 V로서 검출 벡터 메모리(53)에 기억한다. 이 때, 벡터 평가부(104)는, 모션 벡터 V와 함께, 그 모션 벡터 V에 대하여 구해진 평가값 DFD를, 시프트 초기 벡터 할당부(105)에 공급한다.
시프트 초기 벡터 할당부(105)는, 벡터 평가부(104)로부터 모션 벡터 V 및 그 평가값 DFD가 공급되면, 다음의 프레임 상의 주목 블록을 통과하는 모션 벡터를, 그 주목 블록으로 시프트시킨, 시프트 초기 벡터로서 설정한다. 환언하면, 시프트 초기 벡터 할당부(105)는, 모션 벡터 V의 종점의 블록과 같은 위치의 다음의 프레임 상의 주목 블록을 시점으로 한, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터를, 시프트 초기 벡터로서 설정한다. 그리고, 시프트 초기 벡터 할당부(105)는, 설정한 시프트 초기 벡터를, 주목 블록에 대응시켜, 시프트 초기 벡터 메모리(107)에 할당한다.
구체적으로는, 시프트 초기 벡터 할당부(105)는, 시프트 초기 벡터로서 할당된 모션 벡터 V의 평가값 DFD를, 주목 블록에 대응시켜, 평가값 메모리(106)에 기억하게 하여, 같은 주목 블록을 통과하는(즉, 주목 블록과 같은 위치의 과거의 프레임의 블록을 종점으로 하는) 다른 모션 벡터 V의 평가값 DFD와 비교한다. 그리고, 시프트 초기 벡터 할당부(105)는, 평가값 DFD에 따른, 신뢰도가 높은 것으로 된 모션 벡터 V를, 주목 블록으로 시프트시켜, 주목 블록의 시프트 초기 벡터로서 시프트 초기 벡터 메모리(107)에 할당한다. 그리고, 시프트 초기 벡터 할당부(105)의 구성의 자세한 것은, 후술한다.
다음에, 벡터 검출부(52)에 있어서 사용되는 구배법의 원리에 대하여 설명한다. 먼저, 동화상 중에 있어서, 수평, 수직, 시간축을 사용한 좌표(x,y,t)에 의해 표현되는 화소의 휘도값을 g(x,y,t)로 한다. 여기서, 주목 화소(x0,y0,t0)가, 미소(微小) 시간 중에, (dx, dy, dt)만큼 변위했을 때, 수평, 수직, 시간축의 구배(차분 차이)를, 각각 gx(x0,y0,t0), gy(x0,y0,t0), gt(x0,y0,t0)로 나타내면, 변위 후의 화소의 휘도값은, Taylor 전개 근사(近似)를 이용하여, 다음의 식(2)에 의해 표현된다.
g(x0+dx,y0+dy,t0+dt)
≒ g(x0,y0,t0)+gx(x0,y0,t0)dx
+ gy(x0,y0,t0)dy+gt(x0,y0,t0)dt
…(2)
여기서, 동화상 중의 어떤 주목 화소가 1프레임 후에 수평vx, 수직vy 만큼 이동한 경우(이후, (vx, vy)로 나타냄), 그 화소의 휘도값은, 다음의 식(3)에 의해 표현된다.
g(x0+vx, y0+vy, t0+1)= g(x0,y0,t0)
…(3)
식(2)를 식(3)에 대입하면, 다음의 식(4)에 의해 표현된다.
gx(x0,y0,t0)vx+gy(x0,y0,t0)vy
+gt(x0,y0,t0)= 0
…(4)
식(4)는, vx, vy의 2변수의 식이므로, 주목 1화소에 대한 단독의 식에서는, 그 해(解;solve)를 구할 수 없다. 그래서, 다음에, 설명하는 바와 같이, 주목 화소의 주변 영역인 블록을 1개의 처리 단위로 하여 생각하고, 블록(주변 영역) 내의 모든 화소가 같은 모션(vx, vy)을 하는 것으로 가정하여, 각 화소에 대하여 마찬가지의 식을 세운다. 가정이 전제로 되지만, 2변수에 대하여 주변 화소의 개수의 식을 얻을 수 있다. 따라서, 이들 식을 연립시켜, 블록 내 모든 화소의 모션 보상 프레임 차분의 곱의 합(자승합)이 최소로 되도록 한 (vx, vy)을 구한다.
화소(x,y,t)가 1프레임 간에 (vx, vy)만큼 이동했을 때, 그 모션 보상 프레임 간 차분 d는, 다음의 식(5)에 의해 표현된다.
d = g(x+vx, y+vy, t+1) - g(x,y,t)
= Δxvx+Δyvy+Δt
…(5)
식(5)에 있어서, Δx= gx(x,y,t)이며, 수평 방향의 구배를 나타내고, Δy= gy(x,y,t)이며, 수직 방향의 구배를 나타내고, Δt= gt(x,y,t)이며, 시간 방향의 구배를 나타낸다. 이들을 사용하여, 모션 보상 프레임 간 차분의 곱의 합을 E로 하면, 식(6)에 의해 표현된다.
E = Sd2
= S(Δx2vx2+Δy2vy2+2ΔxΔyvxvy
+2ΔxΔtvx+2ΔyΔtvy+Δt2)
= vx2ΣΔx2+vy2ΣΔy2+2vxvyΣΔxΔy
+2vxΣΔxΔt+2vyΣΔyΔt+ΣΔt2
…(6)
여기서, E가 최소로 되는 (vx, vy)은, 각 변수에 있어서의 편미분(偏微分) 값이 0으로 될 때, 즉 δE/x= δE/y= 0의 조건이 성립할 때이므로, 식(6)으로부터, 다음의 식(7) 및 식(8)로 된다.
vxΣΔx2+vyΣΔxΔy+ΣΔxΔt = 0
…(7)
vyΣΔy2+vxΣΔxΔy+ΣΔyΔt = 0
…(8)
이들 식(7) 및 식(8)로부터, 구하려는 모션인(vx, vy)는, 다음의 식(9)을 연산함으로써 구할 수 있다.
[수식 2]
Figure 112006072852497-PCT00002
…(9)
여기서, 도 10을 참조하여, 구체적으로 설명한다. 도 10의 예에 있어서, 화살표 X는, 수평 방향을 나타내고, 화살표 Y는, 수직 방향을 나타내고 있다. 또, 화살표 T는, 도면 중, 우측 안쪽의 시각 t의 프레임 t로부터, 좌측 바로 앞의 시각 t+1의 프레임 t+1로의 시간의 경과 방향을 나타내고 있다. 그리고, 도 10의 예에 있어서는, 각 프레임은, 주목 화소 p의 주변 영역(블록)으로서 구배법 연산에 사용되는 8화소×8화소의 영역만 나타나 있다.
프레임 t에 있어서, 좌측 위의 화소로부터 아래로 5번째, 우측으로 5번째의 화소인 주목 화소 p의 모션 벡터 V(vx, vy)를, 전술한 구배법을 이용하여 구하는 경우, 모션 벡터 V(vx, vy)는, 주목 화소 p의 x, y 방향의 각각에 대하여 구해지는 인접 화소 px 및 py와의 휘도의 차분 차(즉, 구배) Δx 및Δy, 프레임 t+1에 있어서 구해지는 주목 화소 p의 같은 위상에 위치하는 화소 q와의 시간 방향의 휘도의 차분 차(구배)Δt를, 주목 화소 p의 주변 영역(8화소×8화소)의 모든 화소에 대하여 구하고, 이들 차분 차이를, 식(9)를 이용하여 연산함으로써, 구할 수 있다.
즉, 구배법이란, 2프레임 간에 있어서, 구배Δx, Δy, 및Δt를 구하고, 구해진 Δx, Δy, 및Δt로부터, 차분 곱의 합을 이용하여, 통계적으로, 모션 벡터 V(vx, vy)를 산출하는 것이다.
일반적으로, 이와 같은 구배법을 이용한 모션 벡터 검출 방법에 있어서는, 미소 모션에 대하여 정밀도가 높은 결과를 얻을 수 있다. 그러나, 실제의 동화상 중 모션을 요구하려고 하는 경우, 이 구배법은, 그 모션량이 너무 크기 때문에 실용적이라고는 할 수 없다. 이에 대응하여, 이 구배법을 복수회 반복하는 방법이 고려된다. 구배법을 반복하여 실행함으로써, 각 연산에 의해 구해지는 모션량이 수속(收束)되므로, 서서히 정확한 모션이 구해진다.
그러나, 단, 구배법을 반복하는 것만으로는, 리얼 타임 처리를 행하려고 한 경우, 연산 시간의 면에서 실용적이지 않다. 그래서, 벡터 검출부(52)에 있어서는, 과거 프레임과 현재 프레임에서의 주변 화소의 모션에 따라 구해지는 초기 벡터를, 초기값으로서 사용함으로써, 구배법의 반복 회수를 경감하고 있다. 즉, 모 션의 기점(起點)으로 되는 주목 화소로부터, 초기 벡터가 가리키는 선(先)으로 오프셋을 미리 가함으로써 대범한 모션을 산출하고, 오프셋이 가해진 그 위치로부터 구배법을 이용한 연산을 행하도록 하면, 화소 이하 모션을 포함한 미조정을 행할 수 있다. 이로써, 연산 시간을 증대시키지 않고, 정밀도 양호한 모션 벡터를 검출할 수 있다.
도 11은, 초기 벡터를 사용하여 실행되는 반복 구배법에 대하여 구체적으로 설명하는 도면이다. 도 11의 예에 있어서는, 화살표 T는, 도면 중, 좌측 바로 앞의 시각 t의 프레임 t로부터, 우측 안쪽의 시각 t+1의 프레임 t+1로의 시간의 경과를 나타내고 있다. 그리고, 각 화소 p, q0, q1, q2, 및 q3를 중심으로 한 블록은, 그 화소의, 구배법 연산에 사용되는 주변 영역(블록)을 나타내고 있다.
도 11의 예의 경우, 프레임 t에 있어서의 주목 화소 p에 대하여, 프레임 t+1에 있어서는, 주목 화소 p의 같은 위상에 위치하는 화소 q0이 아니고, 미리 구하여 둔 초기 벡터v0을 오프셋(이동)하여 계산한 위치(화소q1)를 개시점으로 하여 1회째의 구배법 연산이 행해지고, 그 결과, 모션 벡터v1을 얻을 수 있다.
다음에, 화소 q0로부터 v0+v1을 오프셋하여 계산한 위치(화소)q2를 개시점으로 하여 2회째의 구배법 연산이 행해지고, 그 결과, 모션 벡터v2를 얻을 수 있다. 이로써, 최종적으로 모션 벡터 V는, 식(10)으로서 구해진다.
V = v0+v1+v2
…(10)
이상과 같이 하여, 초기 벡터를 사용하여, 반복 구배법의 연산을 실행함으로 써, 연산 시간을 단축시키면서, 정밀도가 높은 모션 벡터를 구할 수 있다.
다음에, 도 12의 플로차트를 참조하여, 모션 벡터 검출 처리의 상세에 대하여 설명한다. 벡터 검출부(52)에는, 입력되는 시각 t의 화상의 프레임 t와, 시각 t+1의 화상의 프레임 t+1이 입력된다.
초기 벡터 선택부(101)는, 스텝 S101에 있어서, 프레임 t 상의 처리의 대상으로 되는 블록을, 주목 블록으로 하여 선택하고, 스텝 S102로 진행한다. 그리고, 프레임 상에 있어서는, 좌측 위의 블록으로부터 라스터 스캔 순서로 처리가 실행된다.
스텝 S102에 있어서, 초기 벡터 선택부(101)는, 초기 벡터 선택 처리를 실행한다. 초기 벡터 선택부(101)는, 스텝 S101에 있어서, 소정의 블록마다, 과거의 모션 벡터의 검출 결과로부터, 신뢰도가 높은 모션 벡터를 선택하고, 선택한 모션 벡터를, 구배법에 이용되는 초기값으로 되는 초기 벡터 V0로서 반복 구배법 연산부(103)에 출력하고, 스텝 S103으로 진행한다.
즉, 초기 벡터 선택부(101)는, 과거의 구배법 연산 평가 처리(후술하는 스텝 S103)에 있어서 구해지고, 검출 벡터 메모리(53)에 기억된 주변 블록의 모션 벡터나, 과거의 시프트 초기 벡터 할당 처리(후술하는 스텝 S104)에 있어서 시프트 초기 벡터 메모리(107)에 기억된 시프트 초기 벡터를, 초기 벡터의 후보 벡터로서 선택한다. 그리고, 초기 벡터 선택부(101)는, 프레임 t와 프레임 t+1을 사용하여, 후보 벡터의 평가값 DFD를 구하고, 후보 벡터 중, 구해진 평가값 DFD에 근거한 신뢰도가 높은 것을 선택하고, 선택된 후보 벡터를, 초기 벡터 V0로서 출력한다. 그 리고, 스텝 S102에 있어서의, 초기 벡터 선택 처리의 자세한 것은, 후술한다.
스텝 S103에 있어서, 반복 구배법 연산부(103) 및 벡터 평가부(104)는, 반복 구배법 연산 평가 처리(그리고, 반복 구배법 연산 처리라고도 함)를 실행하고, 스텝 S104로 진행한다. 구체적으로는, 스텝 S103에 있어서, 반복 구배법 연산부(103)는, 초기 벡터 선택부(101)로부터 입력된 초기 벡터 V0와, 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 프레임 t 및 프레임 t+1을 사용하여, 벡터 평가부(104)에 의한 모션 벡터의 평가 결과에 따라 구배법의 연산을 반복 행하여, 모션 벡터 Vn를 산출한다. 또, 벡터 평가부(104)는, 반복 구배법 연산부(103)로부터의 모션 벡터 Vn-1과, 모션 벡터 Vn의 평가값 DFD를 구하고, 구해진 평가값 DFD에 따른, 가장 신뢰성이 높은 것을 선택하여, 모션 벡터 V로서 검출 벡터 메모리(53)에 기억한다. 이 때, 벡터 평가부(104)는, 모션 벡터 V와 함께, 그 모션 벡터 V에 대하여 구한 평가값 DFD를, 시프트 초기 벡터 할당부(105)에 공급한다. 그리고, 스텝 S103에 있어서의, 반복 구배법 연산 처리의 자세한 것은, 후술한다.
스텝 S104에 있어서, 시프트 초기 벡터 할당부(105)는, 시프트 초기 벡터 할당 처리를 실행하고, 스텝 S105로 진행한다. 시프트 초기 벡터 할당부(105)는, 벡터 평가부(104)로부터 모션 벡터 V 및 그 평가값 DFD가 공급되면, 스텝 S104에 있어서, 다음의 프레임 상의 주목 블록을 통과하는 모션 벡터를, 그 주목 블록으로 시프트시킨, 시프트 초기 벡터로서 설정한다. 즉, 환언하면, 모션 벡터 V의 종점의 블록과 같은 위치의 다음의 프레임 상의 주목 블록을 시점으로 한, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터가, 시프트 초기 벡터로서 설정된다. 그 리고, 시프트 초기 벡터 할당부(105)는, 설정한 시프트 초기 벡터를, 주목 블록에 대응시켜, 시프트 초기 벡터 메모리(107)에 할당한다.
그리고, 구체적으로는, 시프트 초기 벡터 할당부(105)는, 시프트 초기 벡터로서 할당된 모션 벡터 V의 평가값 DFD를, 주목 블록에 대응시켜, 평가값 메모리(106)에 기억하게 하여, 같은 주목 블록을 통과하는(즉, 주목 블록과 같은 위치의 과거의 프레임의 블록을 종점으로 하는) 다른 모션 벡터 V의 평가값 DFD와 비교하여, 평가값 DFD에 따른, 신뢰도가 높은 것으로 된 모션 벡터 V를, 그 블록으로 시프트시켜 시프트 초기 벡터로 설정하고, 시프트시킨 블록에 대응시켜, 시프트 초기 벡터 메모리(107)에 할당한다. 그리고, 시프트 초기 벡터 할당부(105)의 구성의 자세한 것은, 후술한다.
스텝 S105에 있어서, 초기 벡터 선택부(101)는, 프레임 t에 있어서, 모든 블록의 처리가 종료되었는지 여부를 판단하고, 모든 블록의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S101로 복귀하고, 그 이후의 처리를 반복한다. 또, 스텝 S105에 있어서, 초기 벡터 선택부(101)는, 프레임 t에 있어서, 모든 블록의 처리가 종료한 것으로 판단한 경우, 즉 프레임 t 상의 모든 블록에 있어서, 모션 벡터 V가 검출된 것으로 판단하고, 모션 벡터 검출 처리를 종료한다.
이상과 같이, 과거에 검출된 모션 벡터로부터 초기 벡터가 선택되고, 선택된 초기 벡터에 따라 반복 구배법의 연산이 이용되어, 반복 모션 벡터가 산출되고, 산출된 모션 벡터 중, 평가값 DFD에 따른, 신뢰도가 높은(즉, 가장 확실한) 모션 벡터가 검출된다. 이 결과, 검출 벡터 메모리(53)에, 프레임 t 상의 모든 블록에 대 응하는 모션 벡터 V가 기억된다.
다음에, 시프트 초기 벡터 할당부(105)의 구성의 상세에 대하여 설명한다.
도 13은, 시프트 초기 벡터 할당부(105)의 구성을 나타낸 블록도이다. 도 13에 구성을 나타낸 시프트 초기 벡터 할당부(105)는, 전(과거)프레임에 있어서, 벡터 평가부(104)로부터 검출된 모션 벡터 V에 따라 초기 벡터의 후보 벡터로 되는 시프트 초기 벡터를 설정하고, 시프트 초기 벡터 메모리(107)에 할당하는 처리를 행한다. 시프트 초기 벡터 할당부(105)에는, 벡터 평가부(104)로부터 검출된 모션 벡터 V, 및 그 모션 벡터 V의 평가값 DFD가 입력된다.
할당 대상 위치 연산부(201)는, 벡터 평가부(104)로부터 검출된 모션 벡터 V가, 다음의 시각의 프레임 상에 있어서 통과하는 블록의 위치(즉, 현재의 프레임 상에 있어서 검출된 모션 벡터 V의 종점의 블록과 같은 위치에 있는 다음의 프레임 상의 블록의 위치)를 연산하고, 연산된 블록의 위치를, 평가값 메모리(106) 및 시프트 초기 벡터 치환부(203)에 공급한다.
평가값 비교부(202)는, 모션 벡터 V, 및 그 모션 벡터 V의 평가값 DFD가 입력되면, 할당 대상 위치 연산부(201)로부터의 블록의 위치의 평가값 DFD를, 평가값 메모리(106)로부터 판독한다. 그리고, 평가값 비교부(202)는, 평가값 메모리(106)로부터 판독된 평가값 DFD와, 벡터 평가부(104)에 의해 검출된 모션 벡터 V의 평가값 DFD를 비교 판단하고, 검출된 모션 벡터 V의 평가값 DFD 쪽이 작은(즉, 신뢰도가 높은) 것이라고 판단한 경우, 시프트 초기 벡터 치환부(203)를 제어하고, 시프트 초기 벡터 메모리(107)의, 시프트 초기 벡터 할당부(105)에 의해 공급된 블록의 위치의 시프트 초기 벡터를, 평가값 DFD에 따른, 신뢰도가 높은 것으로 판단한 모션 벡터 V로 재기록시킨다. 또, 그와 동시에, 평가값 비교부(202)는, 평가값 치환부(204)를 제어하고, 평가값 메모리(106)에 있어서, 할당 대상 위치 연산부(201)에 의해 선택된 블록의 위치의 평가값 DFD를, 모션 벡터 V의 평가값 DFD으로 재기록시킨다.
시프트 초기 벡터 치환부(203)은, 시프트 초기 벡터 메모리(107)의, 할당 대상 위치 연산부(201)에 의해 공급된 블록의 위치의 시프트 초기 벡터를, 평가값 비교부(202)로부터 공급되는 모션 벡터 V(즉, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터)로 재기록한다. 평가값 치환부(204)는, 평가값 비교부(202)의 제어 하에, 평가값 메모리(106)에 있어서, 할당 대상 위치 연산부(201)에 의해 선택된 블록의 위치의 평가값 DFD를, 모션 벡터V의 평가값 DFD로 재기록 한다.
평가값 메모리(106)는,다음의 프레임 상에서의, 각 블록에 할당되는 시프트 초기 벡터 후보의 평가값 DFD를 블록마다 기억한다. 시프트 초기 벡터 메모리(107)은, 다음의 프레임에 있어서의 각 블록에 있어서 가장 평가값 DFD가 작은(즉, 가장 신뢰도가 있는) 모션 벡터를, 시프트 초기 벡터로서 그 블록에 대응시켜 기억한다.
도 14는, 시프트 초기 벡터 할당부(105)에 의해 할당되는 시프트 초기 벡터를 1차원적으로 설명하는 도면이다. 도 14의 예에 있어서는, 위로부터 차례로, 시각 T=t-1의 프레임 t-1, 시각 T=t의 프레임 t, 및 시각 T=t+1의 프레임 t+1이 표시되어 있고, 각 프레임 상의 구분은, 각 프레임에 있어서의 블록의 경계를 나타내고 있다.
도 14의 예의 경우, 프레임 t-1 상의 블록 B에 있어서 검출되는 모션 벡터를, 모션 벡터 V(도면 중, 실선 화살표)로 하고, 블록 B를 시점으로 하는 모션 벡터 V에 의한 프레임 t 상의 모션 보상처(이하, 오프셋선이라고도 함)를, 블록 Bt라고 한다. 또, 프레임 t-1 상의 모션 벡터 V를 프레임 t 상의 블록 Bt에 시프트한 모션 벡터를, 시프트 초기 벡터 SV(도면 중, 점선 화살표)로 한다. 그리고, 이 경우, 오프셋선이란, 프레임 t-1 상에 있어서 검출된 모션 벡터 V의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록 Bt를 나타내고 있고, 시프트란, 프레임 t-1 상에 있어서 검출된 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터의 시점을, 프레임 t-1 상의 모션 벡터 V의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록 Bt로 하는 것을 말한다. 즉, 시프트 초기 벡터 SV는, 프레임 t-1 상에 있어서 검출된 모션 벡터 V의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록 Bt를 시점으로 한, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터이다.
일반적으로, 연속하는 프레임 간에서는, 동물체의 모션량에 어느 정도의 연속성이 있으므로, 그 모션량의 변화가 적으면 되므로, 도 14의 예에 있어서는, 블록 B상의 물체가 등속이거나 그에 가까운 모션을 하는 경우, 블록 Bt에 있어서의 모션 벡터도, 모션 벡터 V이거나 그에 가까운 모션의 벡터가 되는 경우가 많다.
따라서, 이 시프트 초기 벡터 SV를, 프레임 t 상의 주목 블록 Bt의 모션 벡터를 검출하는 경우에, 구배법 연산에 부여하는 초기 벡터의 후보로서 사용함으로써, 주변 블록의 모션 벡터만을 초기 벡터의 후보로서 사용하는 경우보다, 구배법 연산에 의한 모션 벡터 검출에, 보다 적절한 초기 벡터를 얻을 수 있다.
이상을, 도 15 및 도 16을 참조하여, 구체적으로 설명한다. 그리고, 도 15 및 도 16에 있어서는, 각 프레임 상에는, 9개의 블록이 나타나 있다.
도 15는, 큰 모션의 물체가 통과하고 있는 블록과, 그 주변 블록의 모션 벡터의 예를 나타내고 있다. 도 15의 예의 경우, 1블록으로 이루어지는, 어느 물체 O1의 화상 오브젝트는, 큰 모션의 모션 벡터 V1이며, 프레임 t-1 상의 최우측단(좌측으로부터 9번째)의 블록으로부터, 프레임 t 상의 좌측으로부터 5번째의 블록을 경유하여, 프레임 t+1 상의 최좌측단의 블록으로 이동하고 있다. 한편, 4블록으로 이루어지는 물체 O2의 화상 오브젝트는, 모션 벡터 V1보다 작은 모션의 모션 벡터 V2이며, 프레임 t-1 상의 좌측으로부터 3 내지 6번째의 4블록으로부터, 프레임 t 상의 좌측으로부터 4 내지 7번째의 4블록을 경유하여, 프레임 t+1 상의 좌측으로부터 5 내지 8번째의 4블록으로 이동하고 있다. 즉, 프레임 t 상의 좌측으로부터 5번째의 블록에 있어서, 물체 O1의 화상 오브젝트와 물체 O2의 화상 오브젝트는, 물체 O1의 화상 오브젝트를 바로 앞으로 하여 교차하고 있다.
이 때, 프레임 t 상에 있어서, 물체 O1의 화상 오브젝트가 모션 벡터 V1로서 통과하는, 좌측으로부터 5번째의 블록의 모션 벡터를 검출하기 위하여, 주변 블록의 모션으로부터 초기 벡터를 추출하려고 해도, 주변 블록(좌측으로부터 4 또는 6번째의 블록)에, 물체 O2의 화상 오브젝트가, 물체 O1의 화상 오브젝트와는 상이한 모션 벡터 V2로서 통과하고 있으므로, 적절한 모션 벡터는, 존재하지 않는다. 한편, 시프트 초기 벡터 SV1(도면 중, 점선 화살표)는, 이와 같은 경우라도, 과거의 프레임 t-1 상에서 검출된 모션 벡터 V1를, 그 프레임 t 상의 좌측으로부터 5번째의 블록으로 시프트한 모션 벡터(즉, 프레임 t-1 상에 있어서 검출된 모션 벡터 V1의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록을 시점으로 한, 모션 벡터 V1와 같은 크기이며 같은 방향의 모션 벡터)이므로, 확실하게 취득할 수 있다.
도 16은, 동물체의 경계의 블록과, 그 주변 블록의 모션 벡터의 예를 나타내고 있다. 도 16의 예의 경우, 1블록으로 이루어지는, 어떤 물체 O3의 화상 오브젝트는 모션 벡터 O3이며, 프레임 t-1 상의 좌측으로부터 6번째의 블록으로부터, 프레임 t 상의 좌측으로부터 5번째의 블록을 경유하여, 프레임 t+1 상의 좌측으로부터 4번째의 블록으로 이동하고 있다. 한편, 9블록 이상으로 이루어지는 물체 O4의 화상 오브젝트는, 모션 벡터 V1와는 상이한 모션 벡터 V4이며, 프레임 t-1 상의 전체 9블록으로부터, 프레임 t 상의 좌측으로부터 2 내지 9번째의 8블록을 경유하여, 프레임 t+1 상의 좌측으로부터 3 내지 9번째의 7블록으로 이동하고 있다. 즉, 물체 O3의 화상 오브젝트는, 프레임 t-1의 좌측으로부터 6번째의 블록, 프레임 t 상의 좌측으로부터 5번째의 블록, 및 프레임 t+1 좌측으로부터 4번째의 블록에 있어서, 물체 O4의 화상 오브젝트의 바로 앞을 통과하고 있다.
이 때, 프레임 t 상에 있어서, 물체 O3의 화상 오브젝트가 모션 벡터 V3로서 통과하는, 좌측으로부터 5번째의 블록의 모션 벡터를 검출하기 위하여, 주변 블록의 모션으로부터 초기 벡터를 추출하려고 해도, 주변 블록(좌측으로부터4 또는 6번째의 블록)에, 물체 O4의 화상 오브젝트가, 물체 O3의 화상 오브젝트와는 상이한 모션 벡터 V4로서 통과하고 있으므로, 적절한 모션 벡터는, 존재하지 않는다. 그 러나, 이 경우에도, 도 15의 경우와 마찬가지로, 시프트 초기 벡터 SV3(도면 중, 점선 화살표)는, 과거의 프레임 t-1 상에서 검출된 모션 벡터 V3를, 그 프레임 t 상의 우측으로부터 5번째의 블록으로 시프트한 벡터(즉, 프레임 t-1 상에 있어서 검출된 모션 벡터 V3의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록을 시점으로 한, 모션 벡터 V3와 같은 크기이며 같은 방향의 모션 벡터)이므로, 확실하게 취득할 수 있다.
이상과 같이, 도 15에 나타낸 바와 같은 큰 모션을 가지는 물체나, 도 16에 나타낸 바와 같이 움직이고 있는 물체의 경계에 있어서는, 모션 벡터를 검출하려고 하는 주목 블록의 초기 벡터의 후보로 되는 주변 블록에, 주목 블록의 초기 벡터로서 최적인 모션 벡터가 존재하지 않는 경우가 많이 존재한다. 이에 대하여, 시프트 초기 벡터는, 과거의 프레임 t-1 상에 있어서 검출된 모션 벡터의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록을 시점으로 한, 모션 벡터와 같은 크기이며 같은 방향의 모션 벡터이므로, 블록 사이의 공간 거리에 의존하지 않기 때문에, 주변 블록에, 주목 블록의 초기 벡터로서 적절한 모션 벡터가 존재하지 않는 경우에도, 확실하게 취득할 수 있어, 초기 벡터의 최적인 후보로서 사용할 수 있다.
여기서, 일단, 도 14로 복귀하여, 시프트 초기 벡터의 결정 방법에 대하여 설명한다. 도 14의 예에 있어서, 모션 벡터 검출 처리를 행하는 프레임 t 상의 주목 블록 Bt를 기준으로 하여, 프레임 t-1으로부터, 주목 블록 Bt를 통과하는 모션 벡터(즉, 프레임 t 상의 블록 Bt와 같은 위치에 있는 프레임 t-1의 블록을 종점으로 하는 모션 벡터)를 탐색하려고 하면, 프레임 t-1 상의 전체 블록의 모션 벡터를 검색하지 않으면 안되므로, 처리가 방대하게 되어 버린다. 따라서, 이 경우, 모션 벡터 검출시에, 방대한 처리 분의 연산량을 행하지 않으면 안되므로, 그 실현(하드웨어화)이 곤란했다.
그래서, 시프트 초기 벡터 할당부(105)는, 프레임 t-1에 있어서의 모션 벡터 검출 시에, 주목 블록 Bt에 있어서 검출된 모션 벡터 V가, 다음의 시각의 프레임 t 상에서 통과하는 블록의 위치(즉, 모션 벡터 V의 종점의 블록과 같은 위치의 프레임 t 상의 블록)를 구하고, 그 모션 벡터 V를, 블록 Bt에 대한 시프트 초기 벡터 SV로서 미리 할당해 둔다. 이로써, 프레임 t를 연산량을 삭감할 수 있고, 하드웨어화를 실현할 수 있도록 되어, 현실적으로, 시프트 초기 벡터를, 초기 벡터의 후보로서 사용하는 것이 가능하게 된다.
도 17을 참조하여, 시프트 초기 벡터 할당부(105)에 의한 시프트 초기 벡터의 결정 방법을 구체적으로 설명한다. 도 17의 예에 있어서는, 화살표 T는, 도면 중, 좌측 바로 앞의 시각 t-1의 프레임 t-1으로부터, 우측 안쪽의 시각 t의 프레임 t로의 시간의 경과를 나타내고 있다. 또, 각 프레임 상의 원은, 화소를 나타내고 있다.
프레임 t-1 상에 있어서, 블록 B0는, 4×4화소에 의해 구성된다. 블록 B0에 있어서 검출된 모션 벡터 Vb로 하면, 블록 B0를 프레임 t 상에 오프셋(모션 보상)한 오프셋선(블록 B0의 모션 벡터 Vb의 종점의 블록과 같은 위치의 프레임 t 상의 블록)A0는, 일반적으로는, 프레임 t 상의 4×4화소에 의해 구성되는 4개의 블록 Bt1 내지 Bt4와 중첨된다. 따라서, 도 17의 예의 경우에 있어서는, 이 오프셋선 A0와 중첩되는 4개의 블록 Bt1 내지 Bt4의 모든 것이, 모션 벡터 Vb를, 시프트 초기 벡터로서 할당하는 대상 블록으로 된다.
이상과 같이 하여 전(前)의 프레임에 있어서 검출된 모션 벡터를, 시프트 초기 벡터로서 할당한다. 이 경우, 할당되는 대상으로 되는 블록의 위치는, 모션 벡터의 크기와 방향에 따른다. 그러므로, 프레임 t-1 상에서 검출되는 모션 벡터의 분포에 따라서는, 도 18에 나타낸 바와 같이, 프레임 t 상에 있어서, 복수개의 시프트 초기 벡터가 할당되는 대상으로 되어 경합하는 블록이나, 역으로, 시프트 초기 벡터의 할당이 일어나지 않는 블록이 발생하여 버린다.
도 18은, 시프트 초기 벡터의 할당의 예를 나타내고 있다. 도 18의 예에 있어서, 각 프레임의 구분은, 블록의 경계를 나타내고, 프레임 t-1 상에는, 도면 중 좌측으로부터, 블록 B1 내지 B5에 의해 구성되며, 프레임 t 상에는, 도면 중 좌측으로부터, 블록 Bt1 내지 Bt5가 나타나 있다.
블록 B1에 있어서는, 모션 벡터 V1가 검출되고, 블록 B1의 오프셋선 A1는, 프레임 t 상의 블록 Bt1 및 Bt2와 중첩된다. 블록 B2에 있어서는, 모션 벡터 V2가 검출되고, 블록 B2의 오프셋선A2는, 프레임 t 상의 블록 Bt1 및 Bt2와 중첩된다. 블록 B3있어서는, 모션 벡터 V3가 검출되고, 블록 B3의 오프셋선A3는, 프레임 t 상의 블록 Bt4 및 Bt5와 중첩된다. 블록 B4에 있어서는, 모션 벡터 V4가 검출되고, 블록 B4의 오프셋선A4는, 프레임 t 상의 블록 Bt4 및 Bt5와 중첩된다. 블록 B5에 있어서는, 모션 벡터 V5가 검출되고, 블록 B5의 오프셋선A5는, 프레임 t 상의 블록 Bt5 및 도시하지 않은 인접 블록과 중첩된다.
즉, 도 18의 예에 있어서는, 프레임 t 상의 블록 Bt1 및 Bt2에는, 모션 벡터 V1 또는 V2 중 어느 한쪽이 시프트 초기 벡터로서 할당된다. 또, 프레임 t 상의 블록 Bt4에는, 모션 벡터 V3 및 V4 중 어느 한쪽이 시프트 초기 벡터로서 할당되어 프레임 t 상의 블록 Bt5에는, 모션 벡터 V3, V4, 및 V5 중 어느 하나가 시프트 초기 벡터로서 할당된다. 그러나, 프레임 t 상의 블록 Bt3에는, 시프트 초기 벡터의 후보로 되는 모션 벡터가 존재하지 않아, 시프트 초기 벡터는 할당할 수 없다.
따라서, 시프트 초기 벡터 할당부(105)는, 블록 Bt3와 같이, 시프트 초기 벡터의 할당이 일어나지 않는 블록에 대하여, 0벡터를 시프트 초기 벡터로서 할당한다. 한편, 시프트 초기 벡터 할당부(105)는, 블록 Bt1, Bt2, Bt4, 및 Bt5와 같이, 복수개의 모션 벡터가 경합하는 블록에 대하여, 전술한 평가값 DFD에 따른, 신뢰도가 높은 모션 벡터를 선택하고, 선택한 모션 벡터를, 시프트 초기 벡터로서 각각의 블록에 할당한다.
그리고, 도 18의 예에 있어서는, 설명의 편의상, 오프셋선A는, 프레임 t 상으로부터 약간 어긋나 나타나 있다.
도 19는, 경합하는 모션 벡터의 예를 나타낸 도면이다. 도 19의 예에 있어서는, 프레임 t-1 상의 블록 B1 및 B2로부터, 각각에 있어서 검출된 모션 벡터 V1 및 V2가, 프레임 t 상의 블록 Bt를 통과하고 있다. 즉, 블록 Bt는, 모션 벡터 V1의 프레임 t-1 상의 종점과 같은 위치의 프레임 t 상의 블록이며, 모션 벡터 V2의 프레임 t-1 상의 종점과 같은 위치의 프레임 t 상의 블록이다. 이와 같이, 복수개의 모션 벡터가 같은 블록에 대하여 경합하는 경우에는, 모션 벡터 V1에 대한 평가 값 DFD1와 모션 벡터 V2에 대한 평가값 DFD2의 값이 비교되어 평가값 DFD가 작은 쪽(즉, 신뢰도가 높은 쪽)이 블록 Bt에 대응하는 시프트 초기 벡터 SV2로서 선택된다. 이로써, 평가값 DFD에 따른, 신뢰도가 높은 시프트 초기 벡터를 얻을 수 있다.
다음에, 도 20의 플로차트를 참조하여, 시프트 초기 벡터 할당 처리의 상세에 대하여 설명한다. 전단에 있어서, 벡터 평가부(104)는, 프레임 t-1 상의 주목 블록의 모션 벡터 V를 검출하면, 검출된 모션 벡터 V와 함께, 그 모션 벡터 V에 대하여 구한 평가값 DFD를, 시프트 초기 벡터 할당부(105)에 공급한다.
스텝 S201에 있어서, 평가값 비교부(202)는, 벡터 평가부(104)로부터, 모션 벡터 V와 함께, 그 모션 벡터 V의 평가값 DFD를 입력한다. 또, 이 때, 할당 대상 위치 연산부(201)도, 모션 벡터 V를 입력하고, 스텝 S202으로 진행한다. 할당 대상 위치 연산부(201)는, 모션 벡터 V의 프레임 t에 있어서의 오프셋(모션 보상)선의 할당 대상 블록의 위치를 구한다. 즉, 할당 대상 위치 연산부(201)는, 프레임 t-1 상에 있어서 검출된 모션 벡터 V의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록의 위치를 구하고, 스텝 S203으로 진행한다. 할당 대상 위치 연산부(201)는, 스텝 S203에 있어서, 구해진 할당 대상 블록 중, 1개의 할당 대상 블록을 선택하고, 선택한 할당 대상 블록의 위치를, 평가값 메모리(106) 및 시프트 초기 벡터 치환부(203)에 공급하고, 스텝 S204로 진행한다. 그리고, 스텝 S203에 있어서는, 할당 대상 블록 중, 프레임 t 상에 있어서 좌측 위의 블록으로부터 차례로 선택된다.
스텝 S204에 있어서, 평가값 비교부(202)는, 평가값 메모리(106)로부터, 할당 대상 위치 연산부(201)에 의해 선택된 할당 대상 블록의 평가값 DFD를 취득하고, 스텝 S205로 진행하고, 스텝 S201에 있어서 입력된 모션 벡터 V의 평가값 DFD가, 평가값 메모리(106)의 평가값 DFD보다 작은지 여부(즉, 모션 벡터 V의 평가값 DFD가, 평가값 메모리(106)의 평가값 DFD보다 신뢰도가 높은지 여부)를 판단하고, 모션 벡터 V의 평가값 DFD가, 평가값 메모리(106)의 평가값 DFD보다 작은 것으로 판단된 경우, 스텝 S206으로 진행한다.
평가값 비교부(202)는, 스텝 S206에 있어서, 시프트 초기 벡터 치환부(203)를 제어하고, 할당 대상 위치 연산부(201)에 의해 선택된 시프트 초기 벡터 메모리(107)의 할당 대상 블록의 시프트 초기 벡터를, 모션 벡터 V(즉, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터)에 재기록시키고, 스텝 S207로 진행하여, 평가값 치환부(204)를 제어하고, 할당 대상 위치 연산부(201)에 의해 선택된 할당 대상 블록의 평가값 DFD를, 모션 벡터 V의 평가값 DFD로 재기록시키고, 스텝 S208로 진행한다.
또, 평가값 비교부(202)는, 스텝 S205에 있어서, 스텝 S201에 있어서 입력된 모션 벡터 V의 평가값 DFD가, 평가값 메모리(106)에 기억되는 평가값 DFD보다 작지 않은 것으로 판단한 경우, 스텝 S206 및 S207의 처리를 스킵하고, 스텝 S208로 진행한다. 즉, 이 경우, 평가값 메모리(106)의 평가값 DFD가, 모션 벡터 V의 평가값 DFD보다 신뢰도가 높은 것으로 판단되므로, 평가값 메모리(106) 및 시프트 초기 벡터 메모리(107)의 값은, 재기록되지 않는다.
할당 대상 위치 연산부(201)는, 스텝 S208에 있어서, 모션 벡터 V의 할당 대상 블록 모든 처리가 종료되었는지 여부를 판단하고, 할당 대상 블록 모든 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S203으로 복귀하고, 그 이후의 처리를 반복한다. 또, 할당 대상 위치 연산부(201)는, 스텝 S208에 있어서, 모션 벡터 V의 할당 대상 블록 모든 처리가 종료한 것으로 판단한 경우, 시프트 초기 벡터 할당 처리를 종료한다.
그리고, 첫회의 처리에 있어서는, 선택된 할당 대상 블록에 대응하는 시프트 초기 벡터가, 시프트 초기 벡터 메모리(107)에 아직 기억되어 있지 않다. 따라서, 그 시프트 초기 벡터의 평가값 DFD가, 평가값 메모리(106)의 대응하는 할당 대상 블록에, 아직 기억되어 있지 않은 경우에는, 스텝 S204에 있어서, 선택된 할당 대상 블록으로부터 평가값 DFD는, 취득되지 않기 때문에, 스텝 S205에 있어서는 Yes로 판단되는 것으로 하고, 스텝 S206 및 S207의 처리가 실행된다.
이상과 같이, 주목 블록의 모션 벡터의 검출을 처리할 때, 연속하는 프레임 간에 있어서 동물체의 모션량에는 어느 정도의 연속성이 있으므로, 모션량의 변화가 작은 것에 따라서, 전의 시각(과거)의 프레임으로부터, 다음의 시각의 프레임의 주목 블록을 통과하는 모션 벡터(즉, 과거의 프레임 상에 있어서 검출된 모션 벡터 V의 종점의 블록과 같은 위치에 있는 다음의 프레임 상의 블록을 시점으로 한, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터)인 시프트 초기 벡터를, 초기 벡터의 후보 벡터로 함으로써, 종래와 같이, 주변 블록에 있어서 과거에 요구되고 있던 모션 벡터만을 초기 벡터의 후보 벡터로 하는 경우보다, 특히, 움직이고 있는 물체의 경계에 있어서는, 구배법 연산의 초기값으로서 적절한 모션 벡터를 부여할 수 있고, 이로써, 구배법의 연산에 의한 모션 벡터 검출의 정밀도를 향상시킬 수 있다.
또, 시프트 초기 벡터를 구할 때, 전의 시각의 프레임에 있어서 검출된 모션 벡터가 다음의 시각의 프레임에 있어서 통과하는 블록(즉, 프레임 t-1 상에 있어서 검출된 모션 벡터 V의 종점의 블록과 같은 위치에 있는 프레임 t 상의 블록)을 구하고, 다음의 시각의 프레임 상의 주목 블록에 있어서의 시프트 초기 벡터로서 할당하도록 했으므로, 주목 블록을 통과하는 모션 벡터를, 전의 시각의 프레임의 전체 블록의 모션 벡터로부터 탐색하는 경우보다, 처리의 연산량이 삭감되므로 방대한 연산량에 의해 실현이 곤란했던 하드웨어화를 실현할 수 있다.
다음에, 초기 벡터 선택부(101)의 구성의 상세에 대하여 설명한다.
도 21은, 초기 벡터 선택부(101)의 구성을 나타낸 블록도이다. 도 21에 구성을 나타낸 초기 벡터 선택부(101)는, 전(과거)프레임에 있어서 검출된 모션 벡터나, 시프트 초기 벡터 등의 후보 벡터(이하, 초기 후보 벡터이라고도 함)로부터, 신뢰도가 높은 모션 벡터를, 초기 벡터로서 선택하는 처리를 행한다. 초기 벡터 선택부(101)에는, 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1이 입력된다.
후보 벡터 위치 연산부(251)는, 프레임 t가 입력되면, 프레임 t 상의 처리의 대상으로 되는 주목 블록을 선택하고, 주목 블록의 주변 영역으로부터, 주목 블록의 초기 후보 벡터를 취득하는 후보 블록의 위치, 초기 후보 벡터로 되는 모션 벡 터의 종류 및 우선 순위를 구하고, 구해진 우선 순위의 순서로, 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보를, 검출 벡터 취득부(252) 및 시프트 초기 벡터 취득부(253)에 공급한다. 또, 후보 벡터 위치 연산부(251)는, 후보 블록의 위치 정보를, 오프셋 위치 연산부(254)에도 공급한다.
그리고, 신호 처리 장치(1)에 있어서는, 초기 후보 벡터의 수는, 초기 벡터의 정밀도와 하드웨어 능력의 균형 등에 따라서, 소정수로 설정되어 있고, 또한 후보 블록의 위치, 초기 후보 벡터의 종류, 및 우선 순위도, 예를 들면, 도 23을 참조하여 후술하는 바와 같이, 미리 설정되어 있다. 또, 초기 후보 벡터의 종류로서는, 과거 프레임에 있어서, 소정의 블록을 통과하는 모션 벡터를, 그 소정의 블록으로 시프트시킨 모션 벡터(즉, 과거 프레임 상에 있어서 검출된 모션 벡터의 종점의 블록과 같은 위치에 있는 다음의 프레임 상의 블록을 시점으로 한, 모션 벡터 V와 같은 크기이며 같은 방향의 모션 벡터)인 시프트 초기 벡터 SV, 과거 프레임에 있어서 검출된 모션 벡터(이하, 과거 벡터 PV이라고도 함), 현재의 프레임에 있어서 주목 블록으로부터 바로 앞의 블록에 있어서 검출된 모션 벡터(현재 벡터 CV라고도 함), 및 0벡터가 있다.
따라서, 후보 벡터 위치 연산부(251)는, 미리 설정된 초기 후보 벡터의 종류가 과거 벡터 또는 현재 벡터였던 경우, 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보를, 검출 벡터 취득부(252)에 공급하고, 구한 초기 후보 벡터의 종류가 시프트 초기 벡터였던 경우, 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보를, 시프트 초기 벡터 취득부(253)에 공급하고, 그 어느 쪽도 아니었던 경우 (예를 들면, 초기 후보 벡터의 종류가, 0벡터인 경우), 0벡터를 설정하고, 0벡터와 함께, 후보 블록의 위치 정보를, 오프셋 위치 연산부(254)에 공급한다.
검출 벡터 취득부(252)는, 후보 벡터 위치 연산부(251)에 의해 공급된 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보에 따른 모션 벡터를, 검출 벡터 메모리(53)로부터 취득하고, 취득한 모션 벡터를, 초기 후보 벡터로서 오프셋 위치 연산부(254)에 출력한다.
시프트 초기 벡터 취득부(253)은, 후보 벡터 위치 연산부(251)에 의해 공급된 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보에 따라 후보 블록의 위치 정보에 대응한 시프트 초기 벡터를, 시프트 초기 벡터 메모리(107)으로부터 취득하고, 초기 후보 벡터로서 오프셋 위치 연산부(254)에 출력한다. 또, 시프트 초기 벡터 취득부(253)은, 후보 벡터 위치 연산부(251)에 의해 지시된 블록의 위치에, 시프트 초기 벡터가 할당되어 있지 않은 경우, 0벡터를, 오프셋 위치 연산부(254)에 출력한다. 그리고, 시프트 초기 벡터가 할당되어 있지 않은 경우에는, 0벡터가, 시프트 초기 벡터 메모리(107)에 미리 기억되어 있도록 해도 된다.
오프셋 위치 연산부(254)는, 검출 벡터 취득부(252) 또는 시프트 초기 벡터 취득부(253)로부터 초기 후보 벡터(또는 후보 벡터 위치 연산부(251)로부터의 0벡터)를 입력하면, 후보 벡터 위치 연산부(251)에 의해 공급된 후보 블록의 위치 정보에 따라 각 초기 후보 벡터에 대하여, 프레임 t의 주목 블록을, 프레임 t+1에 오프셋(모션 보상)시킨 오프셋선의 블록 위치를 연산한다. 그리고, 오프셋 위치 연산부(254)는, 초기 후보 벡터와 함께, 후보 블록의 위치 정보, 및 오프셋선 블록 위치의 정보를, 평가값 연산부(255)에 출력한다.
평가값 연산부(255)는, 오프셋 위치 연산부(254)로부터 초기 후보 벡터와 함께, 후보 블록의 위치 정보, 및 오프셋선 블록 위치의 정보를 입력하면, 프레임 t와 프레임 t+1을 사용하여, 초기 후보 벡터의 평가값 DFD를 구한다. 그리고, 평가값 연산부(255)는, 초기 후보 벡터와 함께, 구해진 평가값 DFD를, 평가값 비교부(256)에 출력한다.
평가값 비교부(256)는, 평가값 연산부(255)에 의해 입력된 평가값 DFD와 최적 후보 저장용 레지스터(257)에 저장되어 있는 최적 후보 벡터의 평가값 DFD를 비교하고, 평가값 연산부(255)에 의해 입력된 초기 후보 벡터의 평가값 DFD가, 최적 후보 벡터의 평가값 DFD보다 작은, 즉 초기 후보 벡터가 최적 후보 벡터보다 신뢰도가 높은 것으로 판단된 경우, 최적 후보 저장용 레지스터(257)의 최적 후보 벡터 및 그 평가값 DFD를, 신뢰도가 높은 것으로 된 초기 후보 벡터 및 그 평가값 DFD로 치환한다. 그리고, 최종적으로, 평가값 비교부(256)는, 최적 후보 저장용 레지스터(257)을 제어하고, 모든 후보 벡터 중, 평가값 DFD에 따른, 신뢰도가 가장 높은 것으로 판단된 최적 후보 벡터를, 초기 벡터 V0로서 반복 구배법 연산부(103)에 출력시킨다.
최적 후보 저장용 레지스터(257)은, 평가값 비교부(256)에 의해 평가값 DFD가 작은(신뢰도가 높은) 것으로 된 초기 후보 벡터가, 최적 후보 벡터로서 그 평가값 DFD과 함께 기억되어 있다. 그리고, 최적 후보 저장용 레지스터(257)은, 평가값 비교부(256)의 제어 하에, 최종적으로 기억되어 있는 최적 후보 벡터를, 초기 벡터 V0로서 반복 구배법 연산부(103)에 출력한다.
도 22는, 초기 벡터의 후보 블록으로 될 수 있는 주변 영역을 나타내고 있다. 도 22의 예에 있어서, 화살표 T는, 도면 중, 좌측 바로 앞의 시각 t-1의 과거(전)프레임 t-1으로부터, 우측 안쪽의 시각 t의 현재 프레임 t로의 시간의 경과 방향을 나타내고 있다. 그리고, 도 22의 예에 있어서는, 초기 벡터의 후보로 되는 주변 영역은, 주목의 블록 Bt를 중심으로 한 7블록×7블록에 의해 구성되며, 각 블록은, 화소수가 4화소×4화소에 의해 구성되어 있다.
모션 벡터 검출 처리는, 전술한 바와 같이, 프레임의 좌측 위의 블록으로부터 라스터 스캔 순서로 실행된다. 따라서, 초기 벡터 선택부(101)는, 현재 프레임 t의 주목 블록 Bt의 모션 벡터 검출 처리 시에는, 그 직전의 블록까지의 모션 벡터 검출의 결과를, 초기 벡터의 후보로 할 수 있다.
즉, 주목 블록 Bt의 주변 영역은, 주목 블록 Bt보다 바로 앞에 처리되는 블록 CVB, 및 주목 블록 Bt보다 후에 처리되는 블록 PVB에 의해 구성되어 있다. 따라서, 주목 블록 Bt의 초기 벡터를 구하는 경우, 초기 후보 벡터는, 블록 CVB의 현재 프레임 t 상에서 검출된 모션 벡터(현재 벡터 CV), 및 블록 PVB의 과거 프레임 t-1 상에서 검출된 모션 벡터(과거 벡터 PV) 중 선택할 수 있다. 그리고, 이 때, 같은 주변 영역의 블록에 할당되는 시프트 초기 벡터도, 초기 후보 벡터의 후보로 된다.
도 23은, 후보 벡터 위치 연산부(251)에 있어서 설정되는 초기 벡터의 후보 블록의 예를 나타내고 있다. 도 23의 예에 있어서는, 주목 블록 Bt의 주변 영역 중, 「영문자/숫자」의 심볼이 각각 나타나 있는 8개의 소정의 블록이, 초기 후보 벡터가 취득되는 후보 블록으로서 설정되어 있다. 이들 8개의 소정의 블록에 나타나 있는 사선의 전후의 심볼은, 「초기 후보 벡터의 종류」와「우선 순위」를 각각 나타내고 있다. 그리고, 초기 후보 벡터의 종류 중, P는, 과거 프레임 t-1에서 검출된 과거 벡터 PV를 나타내고 있고, C는, 현재 프레임 t에서 검출된 현재 벡터를 나타내고 있고, S는, 시프트 초기 벡터 SV를 나타내고 있다.
주목 블록 Bt의 「S/1」은, 주목 블록 Bt에 할당된 시프트 초기 벡터 SV가 초기 후보 벡터로서 우선 순위 「1」번째로 사용되는 것을 나타내고 있다. 주목 블록 Bt의 좌측 인접한 블록의 「C/2」는, 현재 프레임 t에 있어서 검출된 그 블록의 현재 벡터 CV가 초기 후보 벡터로서 우선 순위 「2」번째로 사용되는 것을 나타내고 있다. 주목 블록 Bt의 우측 위의 블록의 「C/3」은, 현재 프레임 t에 있어서 검출된 그 블록의 현재 벡터 CV가, 우선 순위 「3」번째로 초기 후보 벡터로서 사용되는 것을 나타내고 있다. 주목 블록 Bt의 우측 아래의 블록의 「P/4」는, 과거 프레임 t-1에 있어서 검출된 그 블록의 과거 벡터 PV가, 우선 순위 「4」번째로 초기 후보 벡터로서 사용되는 것을 나타내고 있다.
주변 영역 7×7의 좌측 상부 코너의 우측 아래의 블록의 「C/6」은, 현재 프레임 t에 있어서 검출된 그 블록의 현재 벡터 CV가, 우선 순위 「6」번째로 초기 후보 벡터로서 사용되는 것을 나타내고 있다. 주변 영역 7×7의 우측 상부 코너의 좌측 아래의 블록의 「C/5」는, 현재 프레임 t에 있어서 검출된 그 블록의 현재 벡터 CV가, 우선 순위 「5」번째로 초기 후보 벡터로서 사용되는 것을 나타내고 있 다. 주변 영역 7×7의 좌측 하부 코너의 우측 위의 블록의 「P/7」은, 과거 프레임 t-1에 있어서 검출된 그 블록의 과거 벡터 PV가, 우선 순위 「7」번째로 초기 후보 벡터로서 사용되는 것을 나타내고 있다. 주변 영역 7×7의 우측 하부 코너의 좌측 위의 블록의 「P/8」은, 과거 프레임 t-1에 있어서 검출된 그 블록의 과거 벡터 PV가, 우선 순위 「8」번째로 초기 후보 벡터로서 사용되는 것을 나타내고 있다.
이상과 같이, 도 23의 예에 있어서, 초기 후보 벡터는, 주목 블록 Bt를 포함하는, 주목 블록 Bt에 인접하는 블록 중, 주목 블록 Bt, 주목 블록 Bt의 좌측 근방, 우측 위, 및 우측 아래의 블록으로 되고, 주목 블록 Bt에 인접하고 있지 않은 블록 중, 주변 영역 7×7의 네 코너로부터, 각각 내측에 1개 들어간 위치의 블록으로부터 선택된다.
즉, 도 23의 예의 경우, 주목 블록 Bt에 인접하는 블록(공간적으로도 시간적으로도 가까운 블록) 쪽이 약간 멀어진 블록보다 우선 순위가 높고, 현재 프레임 t로 검출된 현재 벡터 쪽이, 과거 프레임 t-1으로 검출된 과거 벡터보다 우선 순위가 높게 설정되어 있다. 그리고, 이들 초기 벡터의 후보의 위치, 종류, 및 우선도는, 가능한 한 적은 후보수로, 확실한 초기 후보 벡터를 얻을 수 있도록, 주목 블록 Bt의 근방만아니고, 조금 떨어진 위치의 블록도 포함하고, 또, 편향이 없게 등, 공간적인 상관이나 시간적인 상관 등에 따라서, 설정된 것이다. 따라서, 이와 같이, 미리 설정된 소정의 블록의 모션 벡터를 초기 후보 벡터로서 사용함으로써, 초기 후보 벡터 수가 많아져 버려, 처리의 연산량이 방대하게 되어 버리는 것이 억제 된다.
그리고, 후보 블록의 종류와 후보 블록의 위치는, 도 23의 예에 한정되지 않고, 다른 종류의 벡터나, 블록의 위치를 사용해도 된다. 또, 주변의 블록에, 최적인 벡터가 존재하지 않는 경우를 고려하여, 그와 같은 경우에 열화를 억제하는, 0벡터를 사용해도 된다. 또, 후보 블록의 수도 8개보다 많아도 적어져도 된다.
다음에, 도 24의 플로차트를 참조하여, 초기 벡터 선택 처리의 상세에 대하여 설명한다.
후보 벡터 위치 연산부(251)는, 스텝 S251에 있어서, 선택된 주목 블록의 주변 영역으로부터, 미리 설정되어 있는 주목 블록의 초기 후보 벡터를 취득하는 후보 블록의 위치, 초기 후보 벡터의 종류 및 우선 순위를 구하고, 스텝 S252에 있어서, 구해진 우선 순위의 순서로, 후보 블록의 초기 후보 벡터의 종류가, 과거 벡터 또는 현재 벡터인지 여부를 판단한다. 스텝 S252에 있어서, 후보 벡터 위치 연산부(251)는, 후보 블록의 초기 후보 벡터의 종류가, 과거 벡터 또는 현재 벡터인 것으로 판단한 경우, 스텝 S253으로 진행하고, 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보를, 검출 벡터 취득부(252)에 공급하고, 검출 벡터 취득부(252)에, 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보에 따른 모션 벡터(과거 벡터 PV 또는 현재 벡터 CV)를, 검출 벡터 메모리(53)으로부터 취득시켜, 취득시킨 모션 벡터를, 오프셋 위치 연산부(254)에 출력시켜, 스텝 S257으로 진행한다.
스텝 S252에 있어서, 후보 벡터 위치 연산부(251)는, 후보 블록의 초기 후보 벡터의 종류가, 과거 벡터 또는 현재 벡터가 아닌 것으로 판단한 경우, 스텝 S254 으로 진행하고, 후보 벡터 위치 연산부(251)는, 후보 블록의 초기 후보 벡터의 종류가, 시프트 초기 벡터인지 여부를 판단한다. 스텝 S254에 있어서, 후보 벡터 위치 연산부(251)는, 후보 블록의 초기 후보 벡터의 종류가, 시프트 초기 벡터인 것으로 판단한 경우, 스텝 S255으로 진행하고, 후보 블록의 위치 정보 및 초기 후보 벡터의 종류 정보를, 시프트 초기 벡터 취득부(253)에 공급하고, 시프트 초기 벡터 취득부(253)에, 후보 블록의 위치 정보에 대응한 시프트 초기 벡터를, 시프트 초기 벡터 메모리(107)으로부터 취득시켜, 취득시킨 시프트 초기 벡터를, 오프셋 위치 연산부(254)에 출력시켜, 스텝 S257으로 진행한다.
스텝 S254에 있어서, 후보 벡터 위치 연산부(251)는, 후보 블록의 초기 후보 벡터의 종류가, 시프트 초기 벡터는 아닌 것으로 판단한 경우(즉, 후보 블록의 초기 후보 벡터의 종류가, 0벡터인 것으로 판단한 경우), 스텝 S256으로 진행하고, 초기 후보 벡터에 0벡터를 설정하고, 0벡터와 함께, 후보 블록의 위치 정보를, 오프셋 위치 연산부(254)에 공급하고, 스텝 S257로 진행한다. 그리고, 스텝 S253 및 S255에 있어서도, 후보 벡터 위치 연산부(251)는, 후보 블록의 위치 정보를, 오프셋 위치 연산부(254)에 공급하고 있다.
오프셋 위치 연산부(254)는, 스텝 S257에 있어서, 검출 벡터 취득부(252) 또는 시프트 초기 벡터 취득부(253)로부터 초기 후보 벡터를 입력하면, 후보 벡터 위치 연산부(251)에 의해 공급된 후보 블록의 위치 정보에 따라 각 초기 후보 벡터에 대하여, 프레임 t의 주목 블록을, 프레임 t+1에 오프셋시킨 오프셋선의 블록 위치를 연산한다. 그리고, 오프셋 위치 연산부(254)는, 초기 후보 벡터와 함께, 후보 블록의 위치 정보, 및 오프셋선 블록 위치의 정보를, 평가값 연산부(255)에 출력하고, 스텝 S258로 진행한다.
평가값 연산부(255)는, 오프셋 위치 연산부(254)로부터 초기 후보 벡터와 함께, 후보 블록의 위치 정보, 및 오프셋선 블록 위치의 정보를 입력하면, 스텝 S258에 있어서, 프레임 t와 프레임 t+1을 사용하여, 초기 후보 벡터의 평가값 DFD를 구하고, 초기 후보 벡터와 함께, 구해진 평가값 DFD를, 평가값 비교부(256)에 출력하고, S259로 진행한다.
평가값 비교부(256)는, 스텝 S259에 있어서, 평가값 연산부(255)에 의해 구해진 평가값 DFD가, 최적 후보 저장용 레지스터(257)에 저장되어 있는 최적 후보 벡터의 평가값 DFD 보다 작은지 여부를 판단하고, 평가값 연산부(255)에 의해 구해진 평가값 DFD가, 최적 후보 저장용 레지스터(257)에 저장되어 있는 최적 후보 벡터의 평가값 DFD 보다 작은, 즉 초기 후보 벡터가 최적 후보 벡터보다 신뢰도가 높은 것으로 판단된 경우, 스텝 S260에 있어서, 최적 후보 저장용 레지스터(257)의 최적 후보 벡터 및 그 평가값 DFD를, 신뢰도가 높은 것으로 된 초기 후보 벡터 및 그 평가값 DFD로 재기록하고, 스텝 S261로 진행한다.
또, 스텝 S259에 있어서, 평가값 비교부(256)는, 평가값 연산부(255)에 의해 구해진 평가값 DFD가, 최적 후보 저장용 레지스터(257)에 저장되어 있는 최적 후보 벡터의 평가값 DFD보다 작지 않은 것으로 판단한 경우, 스텝 S260의 처리를 스킵하고, 스텝 S261로 진행한다.
스텝 S261에 있어서, 후보 벡터 위치 연산부(251)는, 모든 초기 후보 벡터 (도 23의 예의 경우, 8벡터)의 처리가 종료되었는지 여부를 판단하고, 모든 초기 후보 벡터의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S252로 복귀하고, 그 이후의 처리를 반복한다.
스텝 S261에 있어서, 모든 초기 후보 벡터의 처리가 종료한 것으로 판단된 경우, 처리는, 스텝 S262로 진행하고, 평가값 비교부(256)는, 최적 후보 저장용 레지스터(257)을 제어하고, 모든 초기 후보 벡터 중, 평가값 DFD에 따른, 신뢰도가 가장 높은 것으로 된 최적 후보 벡터를, 초기 벡터 V0로서 반복 구배법 연산부(103)에 출력시켜, 초기 벡터 선택 처리를 종료한다.
이상과 같이, 주목 블록에 있어서, 복수개의 초기 후보 벡터의 평가값 DFD를 구하고, 평가값 DFD가 가장 작은, 즉 신뢰도가 가장 높은 것으로 되는 초기 후보 벡터를, 초기 벡터로서 선택하도록 했으므로, 후단의 모션 벡터 검출에 최적인 초기 벡터를 부여할 수 있고, 그 결과, 후단의 모션 벡터 검출의 정밀도를 향상시킬 수 있다. 또, 미리 정해진 소정의 블록의 모션 벡터를, 초기 후보 벡터로서 사용하도록 했으므로, 초기 후보 벡터 수가 많아져 버려, 처리의 연산량이 방대하게 되어 버리는 것이 억제된다.
또한, 연속하는 프레임 간에 있어서 동물체의 모션량에는 어느 정도의 연속성이 있으므로, 모션량의 변화가 작은 것에 따라서, 전방 프레임으로부터 주목 블록을 통과하는 모션 벡터인 시프트 초기 벡터를, 초기 벡터의 후보로 하도록 했으므로, 종래와 같이, 주변 블록에 있어서 과거에 요구되고 있는 모션 벡터만을 초기 벡터의 후보로 하는 경우보다, 정밀도가 높은 모션 검출을 행할 수 있다. 이것은, 특히, 움직이고 있는 물체의 경계에 있어서, 효과적이다.
다음에, 반복 구배법 연산부(103)의 구성의 상세에 대하여 설명한다.
도 25는, 반복 구배법 연산부(103)의 구성을 나타낸 블록도이다. 도 25에 구성을 나타낸 반복 구배법 연산부(103)는, 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 최적인 모션 벡터를 검출하는 처리를 행한다. 이 모션 벡터를 검출하는 처리는, 복수개의 화소로 이루어지는 소정의 블록마다 실행되는 처리이며, 반복 구배법 연산부(103)는, 각 블록에 있어서, 블록 단위마다, 또는 화소 단위마다, 구배법을 이용한 연산을 반복 실행함으로써, 평가값 DFD에 따른, 신뢰도가 높은, 최적인 모션 벡터를 출력한다.
반복 구배법 연산부(103)에는, 프리 필터(102-1) 및 (102-2)를 통하여, 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1이 입력되고, 또, 초기 벡터 선택부(102)로부터의 초기 벡터 V0가 입력된다.
모드 선택부(401)는, 유효 화소 판정부(403)로부터의 제어 하에, 소정의 블록마다, 구배법 연산의 처리 모드를 선택하고, 초기 벡터 선택부(102)로부터의 초기 벡터 V0를 실렉터(402) 및 벡터 평가부(104)에 출력한다. 구배법 연산의 처리 모드는, 모션 벡터의 검출 대상이 블록인 블록 단위 처리 모드와, 모션 벡터의 검출 대상이 화소인 화소 단위 처리 모드에 의해 구성되며, 초기값으로서 블록 단위 처리 모드가 선택된다. 실렉터(402)는, 벡터 평가부(104)로부터의 제어 하에, 모드 선택부(401)로부터의 초기 벡터 V0, 또는 구배법 연산부(404)로부터 출력된 모션 벡터 Vn 중 어느 쪽인지를, 구배법 연산의 초기값으로서 사용하는 모션 벡터(이 하, 오프셋 벡터라고 함)로서 유효 화소 판정부(403) 및 구배법 연산부(404)에 출력한다.
유효 화소 판정부(403)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 오프셋 벡터를 오프셋하여 계산한 위치를 개시점으로 하여 각 단위 처리 모드의 연산 블록에, 구배법의 연산에 유효한 화소의 수가 임계값보다 많은가 여부를 판단하고, 그 결과에 따라 처리 방법을 전환한다. 즉, 유효 화소 판정부(403)는, 구배법의 연산에 유효한 화소의 수가 임계값 이하인 것으로 판단한 경우, 모드 선택부(401)을 제어하고, 그 소정의 블록에 대한 처리 모드를, 화소 단위 처리 모드로 변경시키거나 연산을 중지시킨다. 유효 화소 판정부(403)는, 각 단위 처리 모드의 연산 블록에, 구배법의 연산에 유효한 화소의 수가 임계값보다 많은 것으로 판단한 경우, 구배법 연산부(404)를 제어하고, 각 처리 단위에서의 구배법 연산 처리를 실행시킨다.
구배법 연산부(404)는, 실렉터(402)로부터 입력된 오프셋 벡터를 입력하면, 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 실렉터(402)로부터의 오프셋 벡터를 오프셋하여 계산한 위치를 개시점으로 하여 각 단위 처리 모드의 구배법 연산을 실행하고, 산출된 모션 벡터 Vn를, 지연부(405) 및 벡터 평가부(104)에 출력한다.
지연부(405)는, 구배법 연산부(404)로부터 출력된 모션 벡터 Vn를, 유효 화소 판정부(403) 및 구배법 연산부(404)의 다음 처리의 사이클까지 유지하고 있고, 실렉터(402)의 제어에 따라 유지하는 모션 벡터 Vn를 유효 화소 판정부(403)에 출력한다.
도 26은, 유효 화소 판정부(403)의 상세한 구성을 나타낸 블록도이다. 도 26의 예에 있어서, 유효 화소 판정부(403)는, 시간 화소 차분 산출부(411), 화소 차분값 판정부(412), 유효 화소 카운터(413), 및 구배법 계속 판정부(414)에 의해 구성된다.
시간 화소 차분 산출부(411)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 블록 단위의 연산 블록에 있어서, 화소를 선택하고, 오프셋 벡터, 및 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t, 및 시각 t+1의 화상의 프레임 t+1을 사용하여, 선택된 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 시간 방향의 화소 차분Δt를, 화소 차분값 판정부(412)에 출력한다.
화소 차분값 판정부(412)는, 시간 화소 차분 산출부(411)에 의해 산출된 시간 방향의 화소 차분Δt가, 소정의 임계값(이하, 화소 차분값이라고 함)보다 작은지 여부를 판단하고, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은 것으로 판단한 경우에는, 유효 화소수 카운터(413)의 유효 화소의 수를 1개 카운트한다. 유효 화소수 카운터(413)은, 연산 블록마다 화소 차분값 판정부(412)에 의해 유효한 것으로 판단된 화소분의 값을 카운트한다. 또, 유효 화소수 카운터(413)은, 연산 블록마다 값이 리셋된다.
구배법 계속 판정부(414)는, 각 단위 처리 모드의 연산 블록에, 구배법의 연 산에 유효한 화소의 수가 임계값보다 많은가 여부를 판단하고, 각 단위 처리 모드의 연산 블록에, 구배법의 연산에 유효한 화소의 수가 임계값보다 많은 것으로 판단한 경우, 구배법 연산부(404)에, 각 단위 처리 모드의 구배법 연산을 실행시키는 플래그(flg= 1)를 출력한다. 구배법 계속 판정부(414)는, 각 단위 처리 모드의 연산 블록에, 구배법의 연산에 유효한 화소의 수가 임계값보다 적은 것으로 판단한 경우, 모드 선택부(401)을 제어하고, 다른 단위 처리 모드를 선택시키거나 구배법 연산부(404)에 구배법 연산을 중지하는 플래그(flg= 0)를 출력한다.
도 27은, 구배법 연산부(404)의 상세한 구성을 나타낸 블록도이다. 도 27의 예에 있어서, 구배법 연산부(404)는, 시간 화소 차분 산출부(421), 화소 차분값 판정부(422), 수평 수직 화소 차분 산출부(423), 구배 적산부(424), 및 벡터 산출부(425)에 의해 구성된다.
시간 화소 차분 산출부(421)는, 유효 화소 판정부(403)로부터 입력되는 플래그에 따라 구배법 연산부(404)의 각 부를 제어한다. 즉, 시간 화소 차분 산출부(421)는, 플래그가 1을 나타내는(flg= 1) 경우에는, 구배법 연산부(404)의 각 부에, 구배법 연산의 처리를 실행시킨다. 구체적으로는, 시간 화소 차분 산출부(421)는, 유효 화소 판정부(403)로부터 플래그를 입력하면, 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t와, 시각 t+1의 화상의 프레임 t+1을 사용하여, 실렉터(402)로부터의 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소를 선택하고, 선택된 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 시간 방향의 화소 차분Δt 및 오 프셋 벡터를, 화소 차분값 판정부(422)에 출력한다. 또, 시간 화소 차분 산출부(421)는, 연산 블록 내의 화소의 처리가 종료한 경우에, 오프셋 벡터를, 벡터 산출부(425)에 출력하고, 벡터 산출부(425)를 제어하여, 검출 대상 블록의 모션 벡터를 산출시킨다.
한편, 플래그가 0을 나타내는(flg= 0) 경우에는, 시간 화소 차분 산출부(421)는, 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 산출하지 않기 때문에, 구배법 연산부(404)의 각 부에서는, 구배법 연산의 처리가 실행되지 않고, 처리는 중지된다. 그리고, 이 때, 시간 화소 차분 산출부(421)는, 벡터 산출부(425)를 제어하여, 모션 벡터 V를 0벡터로 설정하게 한다.
화소 차분값 판정부(422)는, 시간 화소 차분 산출부(421)에 의해 산출된 시간 방향의 화소 차분Δt가, 소정의 임계값(이하, 화소 차분값이라고 함)보다 작은지 여부를 판단하고, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은 것으로 판단한 경우, 그 화소를, 구배법의 연산 대상으로 하여, 시간 방향의 화소 차분Δt 및 오프셋 벡터를 수평 수직 화소 차분 산출부(423)에 출력한다. 즉, 소정의 화소 차분값보다 작은 것으로 판단된 화소 차분Δt의 화소는, 수평 수직 화소 차분 산출부(423) 및 구배 적산부(424)에 있어서, 연산 대상으로 된다. 또, 화소 차분값 판정부(422)는, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값 이상이라고 판단한 경우, 수평 수직 화소 차분 산출부(423) 및 구배 적산부(424)에, 그 화소의 처리를 금지시킨다.
수평 수직 화소 차분 산출부(423)는, 화소 차분값 판정부(422)로부터 입력된 오프셋 벡터를 입력하면, 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내에 있어서, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은 것으로 판단된 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출한다. 또, 수평 수직 화소 차분 산출부(423)는, 시간 방향의 화소 차분Δt, 수평 방향의 화소 차분Δx, 수직 방향의 화소 차분Δy를 구배 적산부(424)에 출력한다. 구배 적산부(424)는, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은 것으로 판단된 화소의 구배를 적산한다. 즉, 구배 적산부(424)는, 시간 화소 차분 산출부(421)에 의해 산출된 시간 방향의 화소 차분Δt, 수평 수직 화소 차분 산출부(423)에 의해 산출된 수평 방향의 화소 차분Δx, 및 수직 방향의 화소 차분Δy를 적산하고, 적산된 구배의 값을, 벡터 산출부(425)에 출력한다.
벡터 산출부(425)는, 시간 화소 차분 산출부(421)로부터 오프셋 벡터가 입력되면, 구배 적산부(424)에 의해 적산된 구배의 값, 및 전술한 식(9)의 최소 곱의 합을 이용하여, 모션 벡터vn를 산출한다. 또, 벡터 산출부(425)는, 시간 화소 차분 산출부(421)로부터의 오프셋 벡터를, 산출한 모션 벡터vn에 가산하여, 모션 벡터 Vn를 구하여, 벡터 평가부(104) 및 지연부(405)에 출력한다.
다음에, 모션 벡터의 검출 대상 블록과 연산 블록에 대하여 설명한다. 화상 내의 오브젝트의 모션을 고려한 경우, 같은 오브젝트이면, 대부분 같은 모션을 하고 있는 것이 많다. 따라서, 모션 벡터를 검출하는 검출 처리의 단위는, 통상, 도 28에 나타낸 바와 같이, 블록 단위로 행하는 것이 많다.
도 28의 예에 있어서, 화살표 X는, 수평 방향을 나타내고, 화살표 Y는, 수직 방향을 나타내고 있다. 또, 화살표 T는, 도면 중, 우측 안쪽의 시각 t의 프레임 t로부터, 좌측 바로 앞의 시각 t+1의 프레임 t+1로의 시간의 경과 방향을 나타내고 있다.
도 28의 예의 경우, 각 프레임의 검출 대상 블록 K로서 8화소×8화소의 블록(이하, 8×8블록이라고 함)이 나타나 있다. 이 검출 대상 블록 K란, 8×8블록에 관하여 모션 벡터의 검출을 행했을 때, 그 8×8블록에 대하여 같은 모션이 구해지는 블록을 말한다.
한편, 구배법에 따르는 모션 벡터의 검출(즉, 연산)은, 화소마다 모션 벡터를 검출할 수 있는 특징을 가지고 있다. 그러나, 화소 단위에서의 모션 벡터의 연산을 행하면, 통계적인 해법인 최소 제곱법을 이용하는 구배법에서는, 검출 정밀도가 현저하게 저하되는 결점이 있다. 따라서, 통상, 블록마다만아니고, 화소마다의 처리 단위로서도, 모션 벡터를 연산하는 경우에는, 구배법의 연산에 사용되는 화소는, 블록(연산 블록)단위로 구성되는 것이 많다.
이상과 같이, 구배법의 연산에 사용되는 화소는, 8×8블록의 연산 블록의 화소로 되고. 즉, 도 28의 예에 있어서는, 연산 블록(8×8)을 사용하여, 구배법 연산을 행한 결과 얻어지는 모션 벡터는, 검출 대상 블록 K(8×8)의 모든 화소에 대응하는 모션 벡터라는 것으로 된다.
그러나, 전술한 바와 같이 구배법의 연산에 사용되는 화소를, 연산 블록 단 위로 취급할 때 발생하는 문제로서 도 29에 나타낸 바와 같이, 검출 대상 블록을 구성하는 화소 중에, 상이한 모션을 가지는 오브젝트의 화소가 혼재하는 경우를 들 수 있다.
도 29의 예에 있어서는, 8×8화소(64화소)에 의해 구성되는 검출 대상 블록(=연산 블록K)에 있어서, 좌측 위의 화소로부터 28화소(굵은 선의 원)가, 화살표 A에 나타낸 경사 좌측 위로의 움직임을 가지고 있고, 8×8의 검출 대상 블록 K에 있어서, 우측 아래의 화소로부터 36화소(가는 선의 원)가, 화살표 B에 나타낸 우횡(右橫)으로의 모션을 가지고 있다.
따라서, 검출 대상 블록 K에 있어서, 전술한 바와 같은 대부분 같은 모션이라는 가정이 무너져 버려, 모션이 상이한 화소를 포함한 채로의 연산 블록을 사용하여, 구배법의 연산을 행하면, 현저하게, 모션 벡터의 검출 정밀도가 저하되어 버린다. 즉, 이것은, 상이한 모션을 가지는 오브젝트끼리의 경계에 발생하는, 오브젝트의 소멸 영역(커버드 백그라운드 영역) 및 발생 영역(언커버드 백그라운드 영역)에 관한 검출 정밀도 저하 문제이다. 소멸 영역은, 전경 영역에 대하여, 전경의 오브젝트의 진행 방향의 모든 단부(端部)에 대응하는 위치의 혼합 영역이며, 시간의 경과에 대응하여 배경 성분이 전경(前景)에 덮어 숨겨지는 영역을 말한다. 이에 대하여, 발생 영역은, 전경 영역에 대하여, 전경의 오브젝트의 진행 방향의 후단부에 대응하는 위치의 혼합 영역이며, 시간의 경과에 대응하여 배경 성분이 나타나는 영역을 말한다.
도 30은, 같은 오브젝트인 경우의 검출 대상 블록의 휘도 상태를 설명하는 도면이다. 도면 중 좌측에 있어서는, 화살표 X는, 수평 방향을 나타내고, 화살표 Y는, 수직 방향을 나타내고 있다. 또, 화살표 T는, 도면 중, 우측 안쪽의 시각 t의 프레임 t로부터, 좌측 바로 앞의 시각 t+1의 프레임 t+1로의 시간의 경과 방향을 나타내고 있다. 또, 도면 중 우측에 있어서는, 화살표 X는, 수평 방향을 나타내고, 화살표 L는, 휘도값을 나타내고 있다. 즉, 도면 중 우측의 휘도값 Lp1, Lp2, Lp3, …, Lpi(3<i<(7), …, Lp7은, 도면 중 좌측의 프레임 t의 8×8의 검출 대상 블록에 있어서, 예를 들면, 좌측 위의 화소로부터 아래로 5번째의 행의 화소 p1, p2, p3, …, pi(3<i<7), …, p7, …의 휘도값을 나타내고 있고, 마찬가지로, 휘도값 Lq1, Lq2, Lq3, …, Lqi(3<i<7), …, Lq7은, 도면 중 좌측의 프레임 t+1의 8×8의 검출 대상 블록에 있어서, 화소 p1, p2, p3, …, pi(3<i<7), …, p7, …와 각각 같은 위상에 위치하는 화소인, 좌측 위의 화소로부터 아래로 5번째의 행의 화소 q1, q2, q3, …, qi(3<i<7), …, q7, …의 휘도값을 나타내고 있다. 또, 휘도값 Lp1 내지 Lp7 및 Lq1 내지 Lq7 간의 화살표는, 프레임 t 상의 화소와 프레임 t+1 상의 화소의 시간 방향 차분Δt를 나타내고 있다.
따라서, 도 30의 예에 있어서는, 화소 p1와 화소 q1의 시간 방향 차분Δt는, 휘도값 Lp1와 휘도값 Lq1의 차로 표현되고, 화소 p2와 화소 q2의 시간 방향 차분Δt는, 휘도값 Lp2와 휘도값 Lq2의 차로 표현되고, 화소 p3와 화소 q3의 시간 방향 차분Δt는, 휘도값 Lp3와 휘도값 Lq3의 차로 표현되고, 화소 pi와 화소 qi의 시간 방향 차분Δt는, 휘도값 Lpi와 휘도값 Lqi의 차로 표현되고, 화소 p7와 화소 q7의 시간 방향 차분Δt는, 휘도값 Lp7와 휘도값 Lq7의 차로 표현되고, 각 휘도값의 차 는, 휘도값 Lp1 내지 Lp7를 연결한 곡선과 휘도값 Lq1 내지 Lq7를 연결한 곡선의 형상이 대략 같은 형상에 의해 나타낸 바와 같이, 휘도 변화가 작다.
이상과 같이, 검출 대상 블록의 중의 화소가, 같은 오브젝트인(즉, 동일 모션인) 경우에는, 시간 방향의 대응 화소에 대하여, 휘도 변화는, 그다지 크지 않다.
도 31은, 상이한 모션을 가지는 오브젝트의 화소가 혼재하는 경우의 검출 대상 블록의 휘도 상태를 설명하는 도면이다. 그리고, 도 30에 있어서, 도 31에 있어서의 경우와 대응하는 부분에는 대응하는 부호를 부여하고 있으므로, 그 설명은 반복되므로 생략하지만, 도 31의 예에 있어서는, 프레임 t 상의 화소 p7가, 다른 화소와 다른 모션을 가지고 있다.
예를 들면, 프레임 t 상의 화소 p7가, 다른 화소와 같은 모션을 가지고 있는 경우에는, 프레임 t+1 상에 있어서, 화소 p7와 같은 위상에 위치하는 화소 q7의 휘도값은, 휘도값 Lq 7-1에 의해 표현되어야만 하지만, 도 31의 예에 있어서는, 화소 p7는, 다른 화소와 다른 모션을 가지고 있으므로, 화소 q7의 휘도값은, 휘도값 Lq 7-2에 나타낸 바와 같이, 휘도값 Lq 7-1보다 도면 중 아래쪽으로 크게 변화하고 있다. 따라서, 화소 p7와 화소 q7의 시간 방향 차분Δt(휘도값 Lp7와 휘도값 Lq 7-2의 차는, 커져 버린다.
이와 같이, 예를 들면, 검출 대상 블록 내에, 전술한 오브젝트의 소멸, 발생, 또는 변형 등에 의해, 상이한 모션을 가지는 오브젝트의 화소가 혼재하는 경우에는, 대응하는 화소의 휘도 값이 크게 변화하는 것이 많고, 이것이, 모션의 혼란 으로 연결되어 버릴 우려가 있다. 그래서, 유효 화소 판정부(403)에 있어서, 휘도 변화가 작은 화소는, 모션 벡터 검출에 사용해도 유효하고, 역으로, 휘도 변화가 큰 화소는, 모션 벡터 검출에 사용하면, 유효한 것은 없는 것으로 판단하도록 한다. 즉, 휘도 변화의 대소라는 요소에 주목하고, 휘도 변화의 대소로 그 화소가 유효한지 무효인지를 판단함으로써, 휘도 변화가 작은 화소는, 모션 벡터 검출에 사용하고, 역으로, 휘도 변화가 큰 화소는, 모션 벡터 검출에 이용하지 않게 할 수 있다. 이로써, 모션 벡터 검출의 정밀도를 높게 할 수 있다.
구체적으로 설명하면, 유효 화소 판정부(403)는, 연산 블록 내의 각 화소에 대하여, 시간 방향의 화소 차분Δt에 소정의 화소 차분값(임계값)을 설정하고, 시간 방향의 화소 차분Δt가, 설정된 소정의 화소 차분값보다 작은 경우에는, 그 화소는, 모션 벡터 검출에 기여한다(유효하다)고 판정하고, 모션 벡터를 검출할 때의 구배법의 연산에 사용하지만, 시간 방향의 화소 차분Δt가, 설정된 소정의 화소 차분값 이상인 경우에는, 그 화소는, 모션의 혼란을 발생시킬 우려가 있다고 하여, 모션 벡터를 검출할 때의 구배법의 연산으로부터 제외한다. 이로써, 상이한 모션이 혼입되는 것이 억제되고, 보다 안정된 구배법 연산이 실행되고, 그 결과, 확실한 모션 벡터가 검출된다.
단, 전술한 바와 같이, 구배법 연산은, 통계적인 해법인 최소 제곱법에 근거한 연산이므로, 구배법 연산에 사용하는 화소와 이용하지 않는 화소를 분리함으로써, 구배법 연산에 사용되는 화소가 극단으로 적어지고, 이들 극단으로 적은 화소수로 구배법 연산이 행해져 버리면, 역으로, 연산의 신뢰성이 저하되어 버려, 모션 벡터 검출의 정밀도가 저하되어 버릴 우려가 있다.
그래서, 유효 화소 판정부(403)는, 구배법 연산에 사용되는 화소수가 적은 경우에는, 이 검출 대상 블록(8×8)의 처리 단위에서의 연산은 불안정한 것으로 하고, 도 32에 나타낸 바와 같이, 8×8블록 내의 화소(64개)마다의 연산 단위로 전환하여 처리를 행한다.
도 32는, 화소 단위 처리에 있어서의 연산 블록의 예를 나타내고 있다. 도 32의 예에 있어서는, 프레임 상의 검출 대상 블록(블록 단위의 연산 블록)K(8×8)가 화소 단위 처리로 전환할 수 있었던 경우의, 검출 대상 블록 K의 좌측 위의 화소 p의 연산 블록 E(도 32의 예의 경우, 9×9)를 나타내고 있다.
즉, 화소 p의 모션 벡터를 구할 때는, 화소 p를 중심으로 한 연산 블록 E(도 32의 예의 경우, 9×9)가 사용된다. 또, 예를 들면, 화소 p의 우측 인접한 화소의 모션 벡터를 구하는 경우에는, 화소 p의 우측 인접한 화소를 중심으로 한 연산 블록 9×9(도시하지 않음)가 사용된다.
따라서, 예를 들면, 검출 대상 블록 K에 있어서, 대부분이 화소 p와 다른 모션을 하고 있었다고 해도, 검출 대상 블록 K(8×8)에 있어서, 구배법 연산에 사용되는 화소수가 계수되고, 그 수가 적은 경우에는, 화소 단위 처리로 전환할 수 있으므로, 도 32에 나타낸 바와 같이, 화소 단위 처리에서의 연산 블록 E를 사용하여 구배법의 연산을 실행할 수 있다.
이와 같이, 구배법 연산에 사용하는 화소와 이용하지 않는 화소를 분리해 구배법 연산에 사용되는 화소가 극단으로 적게 되었을 경우에, 검출 대상 블록 K(8× 8)블록 내 모든 화소에 대하여 모션 벡터의 검출을 그만두는 것이 아니라, 화소 단위 처리로 전환하여, 화소마다, 연산 블록 E(9×9)의 화소를 바꾸어 구배법 연산하도록 함으로써, 연산에 이용되지 않는 화소의 혼재를 조금이라도 막아, 화소에 따라서는, 보다 고정밀도의 모션 벡터의 검출을 행할 수 있다.
도 33은, 도 29의 검출 대상 블록(연산 블록K)의 화소에, 화소 단위 처리를 적용하는 예를 나타낸 도면이다. 도 33의 예에 있어서는, 화살표 A로 나타내는 경사 좌측 위로의 움직임을 가지는 화소(굵은 선의 원)와, 화살표 B로 나타내는 우횡(右橫)으로의 모션의 2개의 상이한 모션을 가지는 화소(가는 선의 원)로 이루어지는 도 29의 검출 대상 블록 K(8×8)에 있어서, 화소 단위에서의 처리가 행해진다. 이 경우에 있어서, 검출 대상 블록 K의 좌측 위의 검출 대상 화소 p의 모션 벡터를 검출하면, 검출 대상 화소 p를 중심으로 한 연산 블록 E(도 33의 예의 경우, 9×9)가 사용된다.
연산 블록 E 내의 화소는, 화살표 B에 나타낸 우횡으로의 모션을 가지는 우측 아래의 3화소(가는 선의 원) 이외를 제외하고, 화살표 A로 나타내는 경사 좌측 위로의 움직임을 가지고 있다. 여기서, 전술한 블록 단위 처리의 경우와 마찬가지로, 연산 블록 E 내의 각 화소에 대하여, 시간 방향 화소 차분Δt에 소정의 임계값(화소 차분값)을 설정하고, 시간 방향 화소 차분Δt가, 설정된 소정의 화소 차분값보다 작은 경우에는, 그 화소는, 모션 벡터 검출에 기여한다(유효하다)고 판정하고, 모션 벡터를 검출할 때의 구배법 연산에 사용하지만, 시간 방향 화소 차분Δt가, 설정된 소정의 화소 차분값보다 큰 경우에는, 그 화소는, 모션의 혼란을 발생 시킬 우려가 있으므로, 모션 벡터를 검출할 때의 구배법 연산에 이용하지 않는다.
즉, 도 33의 예에 있어서는, 연산 블록 E에 있어서, 우측 아래의 3화소(가는 선의 원)를 제외한 화소(굵은 선의 원)가, 검출 대상 화소 p의 구배법 연산에 유효한 화소인 것으로 되고, 그 유효한 화소가 이용되어 구배법 연산이 실행되므로, 도 29의 검출 대상 블록 K(8×8)를, 연산 블록으로 하여 사용하여 실행되는 블록 단위 처리의 구배법 연산보다, 보다 안정된 구배법 연산이 실행되고, 그 결과, 확실한 모션 벡터가 검출된다.
그리고, 이 화소마다의 연산 블록에 있어서도, 구배법 연산에 사용하는 화소와 이용하지 않는 화소를 분리함으로써, 구배법 연산에 사용되는 화소가 극단으로 적게 되어 버릴 경우에는, 모션 벡터를 검출하는 것이 위험한 것으로 하고, 연산은, 중지된다. 즉, 모션 벡터 검출이 불안정한 것으로 될 뿐아니라, 어떤 크기를 가지는 모션이 검출된 것으로 되어 버리면, 실제의 화상 내의 오브젝트의 모션에 맞지 않는(확실한 것 같지 않은) 모션 벡터로 되어 버릴 우려가 있기 때문이다. 이와 같은 확실한 것 같지 않은 모션 벡터를 사용한 후에, 이후의 처리(예를 들면, 벡터 할당 처리 또는 벡터 보상 처리)가 실행되고, 생성된 화상은, 모션이 불연속으로 되어 버리거나, 블록 노이즈가 발생하여 버리는 등의 큰 시각 열화를 미쳐 버릴 경우가 많다.
따라서, 화소 단위의 구배법 연산에 사용되는 화소가 극단으로 적게 되어 버릴 경우, 검출되는 모션 벡터는, 예를 들면, 0벡터(즉, 정지 상태)가 사용된다. 이로써, 이후의 처리에 있어서, 이 모션 벡터가, 악영향을 미치는 것이 억제되므 로, 생성되는 화상의 큰 시각 열화를 억제할 수 있다.
다음에, 도 34 (A) 내지 도 34 (C)의 플로차트를 참조하여, 반복 구배법 연산 처리의 상세를 설명한다. 도 34 (A)의 예는, 블록 단위, 화소 단위, 및 0벡터의 처리 모드의 조합으로 이루어지는 블록 기준의 반복 구배법 연산 처리를 나타내고 있다. 그리고, 블록 기준이란, 유효 화소수가 소정의 임계값보다 많은 것으로 판단된 경우의 블록 단위 처리 모드의 연산 블록에 있어서의 유효 화소가 아닌 화소에 대하여, 블록 단위 처리 모드의 연산 블록이, 화소 단위 처리 모드의 연산 블록으로 전환되지 않은(즉, 블록 단위 처리 모드의 연산 블록에 있어서 유효 화소가 아닌 화소에 대해서도, 블록 단위 처리 모드의 연산이 행해지는) 것을 나타내고 있다. 도 34 (B)의 예는, 블록 단위와 0벡터의 처리 모드의 조합으로 이루어지는 반복 구배법 연산 처리를 나타내고 있다.
도 34 (C)의 예는, 블록 단위, 화소 단위, 및 0벡터의 처리 모드의 조합으로 이루어지는 화소 기준의 반복 구배법 연산 처리를 나타내고 있다. 그리고, 화소 기준이란, 유효 화소수가 소정의 임계값보다 많은 것으로 판단된 경우의 블록 단위 처리 모드의 연산 블록에 있어서 유효 화소가 아닌 화소에 대하여, 블록 단위 처리 모드의 연산 블록이, 화소 단위 처리 모드의 검출 대상 블록으로 전환되는, 즉 블록 단위 처리 모드의 연산 블록에 있어서 유효 화소가 아닌 화소에 대하여는, 화소 단위 처리 모드의 연산을 하는 것을 나타내고 있다.
최초에, 도 34 (A)의 플로차트를 참조하여, 반복 구배법 연산 처리의 예를 설명한다. 전단으로부터 모드 선택부(401)에 초기 벡터 V0가 입력된다.
모드 선택부(401)는, 스텝 S401에 있어서, 블록 단위 처리 모드를 선택하고, 프레임 t 상의 블록을, 검출 대상 블록(연산 블록)으로 하고, 검출 대상 블록의 초기 벡터 V0를 실렉터(402) 및 벡터 평가부(104)에 출력하고, 스텝 S402으로 진행한다. 이로써, 반복 구배법 연산부(103)의 각 부에 있어서는, 블록 단위에서의 처리가 실행된다. 스텝 S402에 있어서, 실렉터(402)는, 벡터 평가부(104)로부터의 제어에 따라 모드 선택부(401)로부터 입력된 초기 벡터 V0를 오프셋 벡터로서 선택하고, 선택한 오프셋 벡터를, 시간 화소 차분 산출부(411) 및 시간 화소 차분 산출부(421)에 출력하고, 스텝 S403으로 진행한다.
스텝 S403에 있어서, 시간 화소 차분 산출부(411) 및 화소 차분값 판정부(412)는, 선택된 오프셋 벡터를 사용하여(지금의 경우, 초기 벡터 V0를 오프셋하여), 블록 단위의 유효 화소 판정 처리를 실행하고, 스텝 S404로 진행한다. 이 유효 화소 판정 처리의 자세한 것은, 도 35를 참조하여 후술하지만, 이 유효 화소 판정 처리에 의해, 유효 화소수 카운터(413)에는, 블록 단위의 연산 블록 내에 있어서, 화소 차분값이 소정의 화소 차분값보다 작은 것으로 판정된(즉, 후단의 구배법 연산으로 유효한 화소인 것으로 판정된) 화소의 수가 카운트되어 있다.
구배법 계속 판정부(414)는, 스텝 S404에 있어서, 유효 화소수 카운터(413)에 카운트되어 있는 화소수(유효 화소수)가 소정의 임계값α보다 많은가 여부를 판단하고, 유효 화소수가 소정의 임계값α보다 많은 것으로 판단한 경우, 구배법 연산부(404)에, 블록 단위로, 구배법 연산을 실행시키는 플래그(flg= 1)를 출력하고, 스텝 S405로 진행한다.
스텝 S405에 있어서, 구배법 연산부(404)는, 구배법 계속 판정부(414)로부터의 플래그에 따라 실렉터(402)로부터의 오프셋 벡터(지금의 경우, 초기 벡터 V0)를 사용하여, 블록 단위의 구배법 연산 처리를 실행하고, 스텝 S406으로 진행한다. 이 구배법 연산 처리의 자세한 것은, 도 36을 참조하여 후술하지만, 이 구배법 연산 처리에 의해, 모션 벡터 Vn가 구해지고, 벡터 평가부(104) 및 지연부(405)에 출력된다. 그리고, 모션 벡터 Vn는, 1회째의 구배법 연산에 의해 산출된 모션 벡터vn에, 오프셋 벡터 Vn-1이 가산된 것(Vn= Vn-1+vn)이다. 예를 들면, 모션 벡터 V1는, 1회째의 구배법 연산에 의해 산출된 모션 벡터v1에, 오프셋 벡터(초기 벡터 V0)가 가산된 것(V1= V0+v1)이다.
스텝 S406에 있어서, 벡터 평가부(104)는, 구배법 연산 처리에 의해 구해진 모션 벡터 Vn의 평가값 DFD(n)와, 오프셋 벡터로서 이용된 모션 벡터 Vn-1의 평가값 DFD(n-1)를 구하고, 평가값 DFD(n-1)보다 평가값 DFD(n)가 작은지 여부, 즉 오프셋 벡터로서 이용된 모션 벡터 Vn-1보다 구배법 연산 처리에 의해 구해진 모션 벡터 Vn의 신뢰도가 높은지 여부를 판단한다. 구체적으로는, 예를 들면, 1회째의 처리에 있어서는, 구해진 모션 벡터 V1의 평가값 DFD(1)와, 오프셋 벡터로서 이용된 초기 벡터 V0의 평가값 DFD(0)가 비교되고, 2회째의 처리에 있어서는, 구해진 모션 벡터 V2의 평가값 DFD(2)와, 오프셋 벡터로서 이용된 모션 벡터 V1의 평가값 DFD(1)가 비교된다.
벡터 평가부(104)는, 스텝 S406에 있어서, 평가값 DFD(n-1)보다 평가값 DFD(n)가 작은 것으로 판단한 경우, 즉 모션 벡터 Vn-1보다 모션 벡터 Vn의 신뢰도 가 높은 것으로 판단된 경우, 스텝 S407에 있어서, 산출된 모션 벡터 Vn(1회째의 경우, 모션 벡터 V1, 2회째의 경우, 모션 벡터 V2)를, 검출 대상 블록의 모션 벡터 V에 설정하여, 스텝 S408로 진행한다. 벡터 평가부(104)는, 스텝 S408에 있어서, 반복 회수 n를 1개 카운트하고, 스텝 S409로 진행하고, 반복 회수 n가 설정된 최대 반복 회수(예를 들면, 2회)로 되었는지 여부를 판단하고, 또, 반복 회수 n가 설정된 최대 반복 회수는 아닌 것으로 판단한 경우, 실렉터(402)를 제어하고, 스텝 S402로 복귀하고, 그 이후의 처리를 반복하게 한다.
즉, 스텝 S402에 있어서, 실렉터(402)는, 벡터 산출부(425)로부터 출력되고, 지연부(405)에 유지된 모션 벡터 V1를, 오프셋 벡터로서 선택하고, 스텝 S403에 있어서, 시간 화소 차분 산출부(411) 및 화소 차분값 판정부(412)는, 모션 벡터 V1를 오프셋 벡터로서 사용하여, 블록 단위의 유효 화소 판정 처리를 실행하고, 그 이후의 처리를 반복한다. 따라서, 스텝 S405에 있어서 산출되는 모션 벡터 V2는, 2회째의 구배법 연산에 의해 산출된 모션 벡터v2에, 오프셋 벡터로서 이용된 모션 벡터 V1가 가산된 것(즉, V2= V1+v2= V0+v1+v2)로 된다.
벡터 평가부(104)는, 스텝 S406에 있어서, 평가값 DFD(n-1)보다 평가값 DFD(n)가 작지 않은 것으로 판단한 경우, 즉 모션 벡터 Vn-1쪽이, 모션 벡터 Vn보다 신뢰도가 높은 것으로 판단한 경우, 스텝 S410으로 진행하고, 구배법 연산의 오프셋으로 한 벡터 Vn-1(1회째의 경우, 초기 벡터 V0, 2회째의 경우, 모션 벡터 V1)을, 검출 대상 블록의 모션 벡터 V에 설정하여, 스텝 S411로 진행한다. 또, 벡터 평가부(104)는, 스텝 S409에 있어서, 반복 회수 n가 설정된 최대 반복 회수로 된 것으로 판단한 경우, 스텝 S411로 진행한다.
벡터 평가부(104)는, 스텝 S411에 있어서, 모션 벡터 V가, 모션 벡터를 검출하는 범위로서 미리 설정된 서치 영역 내인가 여부를 판단하고, 모션 벡터 V가, 서치 영역 내인 것으로 판단한 경우, 스텝 S415으로 진행하고, 모션 벡터 V를, 검출 대상 블록에 대응시켜, 검출 벡터 메모리(53)에 기억하고, 반복 구배법 처리를 종료한다.
또, 벡터 평가부(104)는, 스텝 S411에 있어서, 모션 벡터 V가, 서치 영역 내는 아닌 것으로 판단한 경우, 스텝 S412로 진행하고, 모션 벡터 V를 0벡터로 설정하고, 스텝 S415로 진행하고, 모션 벡터 V( 0벡터)를, 검출 대상 블록에 대응시켜, 검출 벡터 메모리(53)에 기억하고, 반복 구배법 처리를 종료한다.
한편, 구배법 계속 판정부(414)는, 스텝 S404에 있어서, 유효 화소수 카운터(413)의 유효 화소수가 소정의 임계값α 이하인 것으로 판단한 경우, 스텝 S413으로 진행하고, 모드 선택부(401)를 제어하여, 화소 단위 처리 모드를 선택시켜, 스텝 S414으로 진행한다. 이로써, 반복 구배법 연산부(103)의 각 부에 있어서는, 화소 단위에서의 처리가 실행된다. 모드 선택부(401)는, 스텝 S414에 있어서, 화소 단위의 반복 구배법 연산 처리를 실행하고, 스텝 S415로 진행한다. 이 화소 단위 처리 모드의 반복 구배법 연산 처리의 자세한 것은, 도 37을 참조하여 후술하지만, 화소 단위 처리 모드의 반복 구배법 연산 처리에 의해, 검출 대상 블록 내의 모든 화소의 모션 벡터 V가 구해지므로, 벡터 평가부(104)는, 스텝 S415에 있어서, 모션 벡터 V를, 검출 대상 블록의 각 화소에 대응시켜, 검출 벡터 메모리(53)에 기 억하고, 반복 구배법 처리를 종료한다.
그리고, 전술한 스텝 S406에 있어서는, 모션 벡터의 신뢰도의 평가를, 구배법 처리에 의해 구해진 모션 벡터 Vn의 평가값 DFD(n)와 오프셋 벡터로서 이용된 모션 벡터 Vn-1의 평가값 DFD(n-1)를 비교함으로써 판단하였으나, 평가값 DFD의 비교 판단과 동시에, 구배법 연산에 의해 구해진 모션 벡터(오프셋 벡터가 가산되기 전의 모션 벡터)vn의 법칙의 값(|vn|)이 소정의 크기(연산 블록 8×8의 경우, 예를 들면, 16)보다 작은 것도 판단하도록 해도 된다.
여기서, 법칙이란, 어느 벡터 공간에 있어서의 벡터의 크기를 나타내고, 예를 들면, 원점(0, 0)을 기점으로 한 (x, y)로의 벡터v의 법칙은, 다음의 식(11)에 의해 표현된다.
[수식 3]
Figure 112006072852497-PCT00003
…(11)
즉, 구배법 연산에 있어서는, 일반적으로, 미소 모션에 대하여, 정밀도가 높은 결과를 얻을 수 있지만, 구배법 연산에 의해 구해진 모션 벡터의 기준값|vn|가 소정의 크기를 넘어 버리면, 그 큰 모션 벡터vn에 대하여 정밀도가 높은 결과가 얻어지고 있는 것으로는 한정되지 않는다. 따라서, 평가값 DFD와 병행하여, 구배법 연산에 의해 구해진 모션 벡터의 기준값|vn|가 소정의 크기를 넘었는지 여부를 판단하고, 기준값|vn|가 소정의 크기를 넘은 모션 벡터를 제외함으로써, 이 구배법 연산에 있어서는, 미소 모션에 대해서도, 큰 모션에 대해서도, 정밀도가 높은 결과를 얻을 수 있고, 또한 모션 벡터 검출의 정밀도를 향상시킬 수 있다.
그리고, 이 평가값 DFD의 판단과 기준값에 의한 판단의 경우에는, 스텝 S406에 있어서, |vn|≤16인 경우에, 또한 평가값 DFD(n-1)>평가값 DFD(n)인 경우에는, 스텝 S407로 진행하고, V= Vn에 설정되고, 스텝 S406에 있어서, |vn|>16인 경우에, 또는 평가값 DFD(n-1)≤평가값 DFD(n)인 경우에는, 스텝 S410으로 진행하고, V= Vn-1으로 설정된다.
다음에, 도 35의 플로차트를 참조하여, 유효 화소 판정 처리의 상세를 설명한다. 그리고, 도 35는, 도 34 (A)의 스텝 S403의 유효 화소 판정 처리의 예를 나타내고 있다.
실렉터(402)로부터, 오프셋 벡터가 입력되면, 시간 화소 차분 산출부(411)는, 스텝 S431에 있어서, 화소 차분값 판정부(412)를 제어하고, 유효 화소수 카운터(413)을 리셋시켜, 스텝 S432으로 진행하고, 블록 단위의 연산 블록에 있어서, 화소를 선택하고, 스텝 S433으로 진행한다. 그리고, 화소는, 연산 블록의 좌측 위의 화소로부터 라스터 스캔 순서로 선택된다.
시간 화소 차분 산출부(411)는, 스텝 S433에 있어서, 오프셋 벡터, 및 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t, 및 시각 t+1의 화상의 프레임 t+1을 사용하여, 선택된 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 시간 방향의 화소 차분Δt를 화소 차분값 판정부(412)에 출력하고, 스텝 S434으로 진행한다.
화소 차분값 판정부(412)는, 스텝 S434에 있어서, 시간 화소 차분 산출부(411)에 의해 산출된 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은지 여부를 판단하고, 즉 후단의 구배법 연산에 유효한 화소인지 여부를 판단하고, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은 것으로 판단한 경우, 스텝 S435으로 진행하고, 유효 화소수 카운터(413)의 유효 화소의 수를 1개 카운트하고, 스텝 S436으로 진행한다. 또, 화소 차분값 판정부(412)는, 스텝 S434에 있어서, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값 이상이라고 판단한 경우, 즉 후단의 구배법 연산에 유효한 화소는 아닌 것으로 판단하고, 스텝 S435의 처리를 스킵하여, 스텝 S436으로 진행한다.
시간 화소 차분 산출부(411)는, 스텝 S436에 있어서, 연산 블록 내의 모든 화소의 처리가 종료되었는지 여부를 판단하고, 연산 블록 내의 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S432로 복귀하고, 다음의 화소를 선택하고, 그 이후의 처리를 반복한다. 한편, 시간 화소 차분 산출부(411)는, 스텝 S436에 있어서, 연산 블록 내의 모든 화소의 처리가 종료한 것으로 판단한 경우, 유효 화소 판정 처리를 종료하고, 도 34 (A)의 스텝 S404로 복귀한다.
이상의 처리에 의해, 유효 화소 카운터(413)에는, 연산 블록 내에 있어서, 그 화소 차분Δt가 소정의 화소 차분값보다 작고, 후단의 구배법 연산에 있어서 유효한 것으로 판단된 화소의 수가 카운트되어 있다. 따라서, 구배법 계속 판단부(414)는, 도 34 (A)의 스텝 S404에 있어서, 이 유효 화소 카운터(413)의 화소의 수를 참조함으로써, 블록 단위의 구배법 연산을 행할 것인지, 화소 단위의 구배법 연산을 행할 것인지를 판단할 수 있다.
상기 설명에 있어서는, 도 34 (A)를 참조하여, 블록 단위, 화소 단위, 및 0벡터의 처리 모드의 조합으로 이루어지는 블록 기준의 반복 구배법 연산 처리를 설명하였다.
다음에, 도 34 (B)의 플로차트를 참조하여, 블록 단위와 0벡터의 처리 모드의 조합으로 이루어지는 반복 구배법 연산 처리를 설명한다. 그리고, 도 34 (B)의 반복 구배법 연산 처리는, 도 34 (A)의 스텝 S413 및 S414가, 스텝 S416로 이행한 점이 상이할 뿐이므로, 그 외의 처리는, 도 34 (A)의 반복 구배법 연산 처리와 기본적으로 마찬가지의 처리를 행하므로, 그 설명은 반복되므로 생략한다.
즉, 도 34 (B)의 예의 경우, 스텝 S404에 있어서, 유효 화소수 카운터(413)의 유효 화소수가 소정의 임계값α 이하인 것으로 판단된 경우, 벡터 평가부(104)는, 스텝 S416으로 진행하고, 모션 벡터 V를 0벡터로 설정하고, 스텝 S415로 진행하고, 모션 벡터 V(0 벡터)를, 검출 대상 블록에 대응시켜, 검출 벡터 메모리(53)에 기억하고, 반복 구배법 처리를 종료한다.
이상과 같이 하여, 유효 화소수가 소정의 임계값α 이하인 경우에, 모션 벡터 V( 0벡터)가 설정되는 간단한 연산 처리인 도 34 (B)의 반복 구배법 연산 처리가 실현된다.
다음에, 도 34 (C)의 플로차트를 참조하여, 블록 단위, 화소 단위, 및 0벡터의 처리 모드의 조합으로 이루어지는 화소 기준의 반복 구배법 연산 처리를 설명한다. 그리고, 도 34 (C)의 반복 구배법 연산 처리는, 도 34 (A)의 스텝 S404와 S405의 사이에, 스텝 S417가 추가되어 있는 점이 상이할 뿐이고, 그 외의 처리는, 도 34 (A)의 반복 구배법 연산 처리와 기본적으로 마찬가지의 처리를 행하므로, 그 설명은 반복되므로 생략한다.
특히, 도 34 (C)의 예의 경우, 스텝 S413 및 S414의 처리는, 스텝 S404에 있어서, 유효 화소수 카운터(413)의 유효 화소수가 소정의 임계값α보다 많은 것으로 판단된 경우의 연산 블록 내의 유효 화소가 아닌 화소에 대하여 실행된다. 그리고, 스텝 S414에 있어서 연산 블록 내의 유효 화소가 아닌 화소에 대하여 얻어진 모션 벡터는, 스텝 S411 또는 S412에 있어서 연산 블록 내의 유효 화소에 대하여 얻어진 모션 벡터와 함께, 스텝 S415에 있어서 검출 벡터 메모리(53)에 기억된다.
그리고, 이 스텝 S413 및 S414의 처리는, 도 34 (A)의 경우와 마찬가지로, 스텝 S404에 있어서, 유효 화소수 카운터(413)의 유효 화소수가 소정의 임계값α 이하인 것으로 판단된 경우의 연산 블록(검출 대상 블록)의 각 화소에 대해서도 실행된다.
구체적으로 설명하면, 도 34 (C)의 스텝 S404에 있어서, 유효 화소수 카운터(413)의 유효 화소수가 소정의 임계값α보다 많은 것으로 판단된 경우, 처리는, 스텝 S417으로 진행한다. 여기서, 연산 블록은, 유효한 화소인 것으로 판정된 유효 화소로 구성되는 유효 화소군 및 유효한 화소는 아닌 것으로 판정된 무효 화소군 중, 적어도 한쪽의 화소군으로 구성되어 있다. 따라서, 구배법 계속 판정부(414)는, 스텝 S417에 있어서, 블록 단위의 연산 블록 내의 화소군이, 유효 화소군인지 여부를 판단한다.
구배법 계속 판정부(414)는, 스텝 S417에 있어서, 블록 단위의 연산 블록 내의 화소군이, 유효 화소군인 것으로 판단한 경우, 스텝 S405로 진행하고, 구배법 연산부(404)에, 연산 블록 내의 유효 화소군에 대하여만, 블록 단위의 구배법 연산 처리를 실행시킨다. 그리고, 스텝 S406 내지 S412의 처리는, 도 34 (A)와 기본적으로 마찬가지이므로, 그 설명은 생략한다.
한편, 구배법 계속 판정부(414)는, 스텝 S417에 있어서, 블록 단위의 연산 블록 내의 화소군이, 유효 화소군은 아닌 것으로 판단한 경우, 모드 선택부(401)을 제어하고, 스텝 S413으로 진행하고, 화소 단위 처리 모드를 선택시켜, 스텝 S414으로 진행하고, 무효 화소군에 대하여만, 화소 단위의 반복 구배법 연산 처리를 실행시킨다. 그리고, 스텝 S413 및 S414의 처리는, 도 34 (A)와 기본적으로 마찬가지이므로, 그 설명은 생략한다.
이상의 처리에 의해, 연산 블록 내의 유효 화소군에 대하여는, 스텝 S411 또는 S412에 있어서 모션 벡터가 설정되고, 연산 블록 내의 무효 화소군에 대하여는, 스텝 S414에 있어서 모션 벡터가 설정된다. 그리고, 연산 블록 내의 유효 화소군에 대하여 설정된 모션 벡터, 및 무효 화소군에 대하여 설정된 모션 벡터는, 스텝 S415에 있어서 벡터 검출 메모리(53)에 기억되고, 반복 구배법 처리는, 종료된다.
이상과 같이, 도 34 (C)의 예에서의, 블록 단위, 화소 단위, 및 0벡터의 처리 모드의 조합으로 이루어지는 화소 기준의 반복 구배법 연산 처리는, 복잡한 판단 처리를 가지는 반면, 도 34 (A)나 도 34 (B)의 예의 구배법 연산 처리에 있어서 대응 할 수 없는, 블록 단위 처리 모드의 블록에 있어서의 비유효 화소에 대응할 수 있으므로, 보다 정밀도 높은 모션 벡터를 제공한다.
또, 도 34 (B)의 예에서의, 블록 단위와 0벡터의 처리 모드의 조합으로 이루어지는 반복 구배법 연산 처리는, 간단한 구성이므로, 도 34 (A) 내지 도 34 (C)에 나타낸 예 중에서는, 연산 처리로의 부하가 가장 낮지만, 그런데도 역시, 구배법 연산 처리에 있어서 마이너스 요인을 부여하여 버릴 화소를 제한하고, 이들 화소를 모션 벡터에 이용하지 않도록 함으로써 모션 벡터 검출의 정밀도를 증가시킬 수 있다.
그리고, 도 34 (A)의 예에서의, 블록 단위, 화소 단위, 및 0벡터의 처리 모드의 조합으로 이루어지는 블록 기준의 반복 구배법 연산 처리는, 도 34 (B)와 도 34 (C)의 처리와 비교하여 중용(中庸)의 레벨의 연산 처리를 제공하고, 특히 블록 단위 처리 모드의 블록에 있어서 유효 화소수가 소정의 임계값보다 작을 때, 도 34 (B)에 나타낸 바와 같은 블록 단위 처리 모드만으로는 대응되지 않는 블록의 화소에 대응할 수 있다.
다음에, 도 36의 플로차트를 참조하여, 블록 단위의 구배법 연산 처리의 상세를 설명한다. 그리고, 도 36은, 도 34 (A)의 스텝 S405의 블록 단위의 구배법 연산 처리의 예를 나타내고 있다. 따라서, 도 36의 예에 있어서는, 시간 화소 차분 산출부(421)에는, 구배법 계속 판정부(414)로부터, 구배법 연산을 실행시키는 플래그(flg= 1)가 입력된다.
구배법 계속 판정부(414)로부터 플래그(flg= 1)가 입력되면, 시간 화소 차분 산출부(421)는, 스텝 S451에 있어서, 블록 단위의 연산 블록에 있어서, 화소를 선 택하고, 스텝 S452로 진행한다. 그리고, 화소는, 연산 블록의 좌측 위의 화소로부터 라스터 스캔 순서로 선택된다.
시간 화소 차분 산출부(421)는, 스텝 S452에 있어서, 실렉터(402)로부터의 오프셋 벡터, 및 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t, 및 시각 t+1의 화상의 프레임 t+1을 사용하여, 선택된 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 시간 방향의 화소 차분Δt 및 오프셋 벡터를, 화소 차분값 판정부(422)에 출력하고, 스텝 S453으로 진행한다.
화소 차분값 판정부(422)는, 스텝 S453에 있어서, 시간 화소 차분 산출부(421)에 의해 산출된 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은지 여부를 판단하고, 즉 후단의 구배법 연산에 유효한 화소인지 여부를 판단하고, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값보다 작은 것으로 판단한 경우, 스텝 S454으로 진행하고, 수직 수평 화소 차분 산출부(423)을 제어하고, 유효한 것으로 판단한 화소의 수평 방향의 화소 차분Δx를 산출시킨다. 그리고, 화소 차분값 판정부(422)에 있어서의 소정의 화소 차분값은, 화소 차분값 판정부(412)에 있어서의 소정의 화소 차분값과 같은 값이라도 되고, 상이한 값이라도 된다. 또, 이 때, 화소 차분값 판정부(422)는, 시간 화소 차분 산출부(421)에 의해 산출된 시간 방향의 화소 차분Δt 및 오프셋 벡터를, 수직 수평 화소 차분 산출부(423)에 출력한다.
수직 수평 화소 차분 산출부(423)는, 스텝 S454에 있어서, 오프셋 벡터, 및 프리 필터(102-1) 및 (102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t, 및 시 각 t+1의 화상의 프레임 t+1을 사용하여, 유효한 것으로 판단된 화소의 수평 방향의 화소 차분Δx를 산출하고, 스텝 S455로 진행하고, 유효한 것으로 판단된 화소의 수직 방향의 화소 차분Δy를 산출하고, 시간 방향의 화소 차분Δt, 수평 방향의 화소 차분Δx, 및 수직 방향의 화소 차분Δy를, 구배 적산부(424)에 출력하고, 스텝 S456으로 진행한다. 구배 적산부(424)는, 스텝 S456에 있어서, 수직 수평 화소 차분 산출부(423)로부터의 시간 방향의 화소 차분Δt, 수평 방향의 화소 차분Δx, 및 수직 방향의 화소 차분Δy를 적산하고, 적산하고 결과를 벡터 산출부(425)에 출력하고, 스텝 S457로 진행한다.
화소 차분값 판정부(422)는, 스텝 S453에 있어서, 시간 방향의 화소 차분Δt가, 소정의 화소 차분값 이상이라고 판단한 경우, 스텝 S454 내지 S456의 처리를 스킵하여, 스텝 S457로 진행한다. 즉, 이 화소의 각 화소 차분(구배)은, 후단의 구배법 연산에 유효한 화소는 아니기 때문에, 연산에 이용되지 않는다.
스텝 S457에 있어서, 시간 화소 차분 산출부(421)는, 연산 블록 내의 모든 화소의 처리가 종료되었는지 여부를 판단하고, 연산 블록 내의 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S451으로 복귀하고, 다음의 화소를 선택하고, 그 이후의 처리를 반복한다. 한편, 시간 화소 차분 산출부(421)는, 스텝 S457에 있어서, 연산 블록 내의 모든 화소의 처리가 종료한 것으로 판단한 경우, 벡터 산출부(425)에 오프셋 벡터를 출력하고, 스텝 S458으로 진행한다. 벡터 산출부(425)는, 시간 화소 차분 산출부(421)로부터 오프셋 벡터가 입력되면, 구배 적산부(424)로부터의 구배의 적산 결과와 전술한 식(9)의 최소 곱의 합을 사용하 여, 모션 벡터vn를 산출하고, 스텝 S459으로 진행하고, 시간 화소 차분 산출부(421)로부터의 오프셋 벡터에, 산출된 모션 벡터vn를 가산한, 모션 벡터 Vn를 구하여, 구해진 모션 벡터 Vn를 벡터 평가부(104)에 출력하고, 구배법 연산 처리를 종료하고, 도 34 (A)의 스텝 S406로 복귀한다.
이상과 같이, 시간 방향의 화소 차분Δt가, 설정된 소정의 화소 차분값 이상의 경우에는, 그 화소는, 모션의 혼란을 발생시킬 우려가 있다고 하여, 모션 벡터를 검출할 때의 구배법의 연산으로부터 제외하도록 했으므로, 보다 안정된 구배법 연산이 실행되고, 그 결과, 확실한 모션 벡터가 검출되고, 이로써, 모션 벡터 검출의 정밀도가 향상된다.
다음에, 도 37의 플로차트를 참조하여, 화소 단위의 반복 구배법 연산 처리의 상세를 설명한다. 도 37은, 도 34 (A)의 스텝 S414의 화소 단위의 반복 구배법 연산 처리의 예를 나타내고 있다. 그리고, 이 처리는, 검출 대상 블록 내의 각 화소에 대하여 실행된다.
모드 선택부(401)는, 화소 단위 처리 모드를 설정하면, 스텝 S471에 있어서, 검출 대상 블록의 화소를 검출 대상 화소로서 선택하고, 그 화소의 연산 블록(예를 들면, 9×9의 초기 벡터 V0를, 실렉터(402) 및 벡터 평가부(104)에 출력하고, 스텝 S472로 진행한다. 그리고, 화소는, 검출 대상 블록의 좌측 상의 화소로부터 라스터 스캔 순서로 선택된다. 스텝 S472에 있어서, 실렉터(402)는, 벡터 평가부(104)로부터의 제어에 따라 모드 선택부(401)로부터 입력된 초기 벡터 V0를 오프셋 벡터로서 선택하고, 선택한 오프셋 벡터를, 시간 화소 차분 산출부(411) 및 시간 화소 차분 산출부(421)에 출력하고, 스텝 S473으로 진행한다.
스텝 S473에 있어서, 시간 화소 차분 산출부(411) 및 화소 차분값 판정부(412)는, 선택된 오프셋 벡터를 사용하여(지금의 경우, 초기 벡터 V0를 오프셋으로 하여), 화소 단위의 유효 화소 판정 처리를 실행하고, 스텝 S474로 진행한다. 이 유효 화소 판정 처리의 자세한 것은, 도 35를 참조하여 전술한 블록 단위의 유효 화소 판정 처리와, 대상으로 되는 연산 블록(블록 범위나, 블록을 구성하는 화소)이 상이한 이외에, 기본적으로 마찬가지의 처리를 행하기 위하여, 그 상세한 설명을 생략하지만, 이 유효 화소 판정 처리에 의해, 유효 화소수 카운터(413)에는, 화소 단위의 연산 블록 내에 있어서, 화소 차분값이 소정의 화소 차분값보다 작은 것으로 판정된(즉, 후단의 구배법 연산으로 유효한 화소인 것으로 판정된) 화소의 수가 카운트되어 있다. 그리고, 화소 단위의 유효 화소 판정을 행하는 소정의 화소 차분값은, 블록 단위의 경우와 같은 값으로 해도 되고, 상이한 값을 설정하도록 해도 된다.
구배법 계속 판정부(414)는, 스텝 S474에 있어서, 유효 화소수 카운터(413)에 카운트되어 있는 화소수(유효 화소수)가 소정의 임계값β보다 많은지 여부를 판단하고, 유효 화소수가 소정의 임계값β보다 많은 것으로 판단한 경우, 구배법 연산부(404)에, 구배법 연산을 실행시키는 플래그(flg= 1)를 출력하고, 스텝 S475으로 진행한다. 그리고, 임계값β도, 블록 단위의 경우의 임계값α과 같은 값으로 해도 되고, 상이한 값을 설정하도록 해도 된다.
스텝 S475에 있어서, 구배법 연산부(404)는, 구배법 계속 판정부(414)로부터 의 플래그에 따라 실렉터(402)로부터의 오프셋 벡터(초기 벡터 V0)를 사용하여, 화소 단위의 구배법 연산 처리를 실행하고, 스텝 S476으로 진행한다. 이 구배법 연산 처리의 자세한 것은, 도 36을 참조하여 전술한 블록 단위의 구배법 연산 처리와, 대상으로 되는 연산 블록(범위나, 블록을 구성하는 화소)이 상이한 이외에, 기본적으로 마찬가지의 처리를 행하므로, 그 상세한 설명을 생략하지만, 이 구배법 연산 처리에 의해, 검출 대상 화소의 모션 벡터 Vn가 구해지고, 벡터 평가부(104) 및 지연부(405)에 출력된다. 그리고, 모션 벡터 Vn는, 1회째의 구배법 연산에 의해 구해진 모션 벡터vn에, 오프셋 벡터가 가산된 것(Vn= Vn-1+vn)로 된다.
스텝 S476에 있어서, 벡터 평가부(104)는 구배법 처리에 의해 산출된 모션 벡터 Vn의 평가값으로서 사용된 모션 벡터 Vn-1의 평가값 DFD(n-1)를 구하고, 평가값 DFD(n1)보다 평가값 DFD(n)가 작은지 여부, 즉 오프셋으로서 이용된 모션 벡터 Vn-1보다도 구배법 처리에 의해 산출된 모션 벡터 Vn의 신뢰도가 높은지 여부를 판단한다.
벡터 평가부(104)는, 스텝 S476에 있어서, 평가값 DFD(n-1)보다도 평가값 DFD(n)가 작은 것으로 판단된 경우, 즉 모션 벡터 Vn-1보다 모션 벡터 Vn의 신뢰도가 높은 것으로 판단된 경우, 스텝 S477에 있어서, 산출된 모션 벡터 Vn(1회째의 경우, 모션 벡터 V1, 2회째의 경우, 모션 벡터 V2)를, 검출 대상 화소의 모션 벡터 V에 설정하여, 스텝 S478로 진행한다. 벡터 평가부(104)는, 스텝 S478에 있어서, 반복 회수 n를 1개 카운트하여, 스텝 S479로 진행하고, 반복 회수 n가 설정된 최대 반복 회수(예를 들면, 2회)로 되었는지 여부를 판단하고, 또, 반복 회수 n가 설정 된 최대 반복 회수는 아닌 것으로 판단한 경우, 실렉터(402)를 제어하고, 스텝 S472로 복귀하고, 그 이후의 처리를 반복하게 한다.
즉, 스텝 S472에 있어서, 실렉터(402)는, 벡터 산출부(425)로부터 출력되고 지연부(405)에 유지된 모션 벡터 V1를, 오프셋 벡터로서 선택하고, 스텝 S473에 있어서, 시간 화소 차분 산출부(411) 및 화소 차분값 판정부(412)는, 오프셋 벡터인 모션 벡터 V1를 오프셋하여, 화소 단위의 유효 화소 판정 처리를 실행하고, 그 이후의 처리를 반복한다. 따라서, 스텝 S475에 있어서 구해지는 모션 벡터 V2는, 2회째의 구배법 연산에 의해 산출된 모션 벡터v2에, 오프셋으로 되는 모션 벡터 V1가 가산된 것(즉, V2= V0+v1+v2)이다.
벡터 평가부(104)는, 스텝 S476에 있어서, 평가값 DFD(n-1)보다 평가값 DFD(n)가 큰 것으로 판단한 경우, 즉 모션 벡터 Vn-1쪽이, 모션 벡터 Vn보다 신뢰도가 높은 것으로 판단된 경우, 스텝 S480으로 진행하고, 구배법 연산의 오프셋으로 한 벡터 Vn-1(1회째의 경우, 초기 벡터 V0, 2회째의 경우, 모션 벡터 V1)을, 검출 대상 블록의 모션 벡터 V에 설정하여, 스텝 S481으로 진행한다. 또, 벡터 평가부(104)는, 스텝 S479에 있어서, 반복 회수 n가 설정된 최대 반복 회수로 된 것으로 판단한 경우, 스텝 S481로 진행한다.
벡터 평가부(104)는, 스텝 S481에 있어서, 모션 벡터 V가, 모션 벡터를 검출하는 범위로서 미리 설정된 서치 영역 내인가 여부를 판단하고, 모션 벡터 V가, 서치 영역 내인 것으로 판단한 경우, 스텝 S483으로 진행한다. 또, 벡터 평가부(104)는, 스텝 S481에 있어서, 모션 벡터 V가, 서치 영역 내인 것으로 판단하지 않은 경우, 스텝 S482로 진행하고, 모션 벡터 V를 0벡터로 설정하고, 스텝 S483으로 진행한다.
한편, 스텝 S474에 있어서, 구배법 계속 판정부(414)는, 유효 화소수 카운터(413)의 유효 화소수가 소정의 임계값β보다 적은 것으로 판단한 경우, 구배법 연산부(404)에 구배법 연산을 중지하는 플래그(flg= 0)를 출력하고, 스텝 S482으로 진행한다. 시간 화소 차분 산출부(421)는, 플래그에 따라 벡터 산출부(425)를 제어하고, 모션 벡터 V를 0벡터로 설정시키고, 스텝 S483으로 진행한다.
모드 선택부(401)는, 스텝 S483에 있어서, 검출 대상 블록 내의 모든 화소의 처리가 종료되었는지 여부를 판단하고, 검출 대상 블록 내의 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S471로 복귀하고, 검출 대상 블록의 다음의 화소를, 검출 대상 화소로서 그 이후의 처리를 반복한다. 모드 선택부(401)는, 스텝 S483에 있어서, 검출 대상 블록 내의 모든 화소의 처리가 종료한 것으로 판단한 경우, 화소 단위의 반복 구배법 연산 처리를 종료하고, 도 34 (A)의 스텝 S415로 복귀한다. 즉, 화소 단위의 반복 구배법 연산 처리에 의해, 검출 대상 블록 내 모든 화소에 대하여 모션 벡터 V가 구해지므로, 도 34 (A)의 스텝 S415으로 복귀하고, 벡터 평가부(104)는, 모션 벡터 V를, 검출 대상 블록의 각 화소에 대응시켜, 검출 벡터 메모리(53)에 기억하고, 반복 구배법 처리를 종료한다.
그리고, 스텝 S476의 모션 벡터의 신뢰도의 평가도, 스텝 S406의 경우와 마찬가지로, 평가값 DFD의 판단과 기준값에 의한 판단을 병용하도록 해도 된다.
이상과 같이, 연산 블록 내의 화소 차분이 소정의 화소 차분값보다 작은 화 소만 구배법 연산에 사용하도록 함으로써, 상이한 모션을 가지는 화소를 연산 대상으로부터 제외할 수 있어 구배법 연산에 의해 구해지는 모션 벡터의 확실함이 향상되어, 모션 벡터 검출의 정밀도가 향상된다.
또, 연산 블록 내의 화소 차분이 소정의 화소 차분값보다 크고, 구배법 연산에 이용되지 않는 화소수가, 소정의 임계값보다 많았던 경우에, 적응적으로, 구배법 연산의 처리를 제어하도록 했으므로, 특히, 오브젝트의 모션의 경계 등에 있어서, 또한 모션 벡터 검출의 정밀도를 향상시킬 수 있고, 그 결과, 구해지는 모션 벡터도 보다 확실한 것 같은 것으로 할 수 있다.
구체적으로는, 연산 블록 내의 화소 차분이 소정의 화소 차분값보다 크고, 구배법 연산에 이용되지 않는 화소수가, 소정의 임계값보다 많았던 경우에, 블록 단위 모드로부터 화소 단위 모드로 변경하고, 검출 대상 블록의 화소마다 연산 블록을 설정하고, 유효 판정 처리 및 구배법 연산 처리를 행하도록 했으므로, 화소에 따라서는, 보다 고정밀의 모션 벡터를 검출할 수 있다. 또, 연산 블록 내의 화소 차분이 소정의 화소 차분값보다 크고, 구배법 연산에 이용되지 않는 화소수가, 소정의 임계값보다 많았던 경우에, 구배법 연산 처리의 처리를 중단, 0벡터로 하도록 했으므로, 불균일한 모션 벡터의 검출을 억제하여, 보다 안전한 모션 벡터를 검출할 수 있다.
다음에, 유효 화소 판정부(403) 및 구배법 연산부(404)의 다른 구성에 대하여 설명한다.
이하에 설명하는 유효 화소 판정부(403) 및 구배법 연산부(404)에 있어서는, 시간 방향의 화소 차분만아니고, 공간 방향의 화소 차분에도 따라서, 연산 블록 내의 화소가 모션 벡터 검출에 유효한지 여부가 구해진다.
도 38은, 유효 화소 판정부(403)의 상세한 구성을 나타낸 블록도이다. 그리고, 도 38의 유효 화소 판정부(403)는, 도 25의 유효 화소 판정부(403)의 다른 구성예를 나타내는 것이며, 도 38에 있어서, 도 26에 있어서의 경우와 대응하는 부분에는 대응하는 부호를 부여하고 있으므로, 그 설명은 반복되므로 생략한다.
도 38의 예에 있어서, 유효 화소 판정부(403)는, 제1 공간 구배 화소 차분 산출부(501), 제2 공간 구배 화소 차분 산출부(502), 시간 방향 화소 차분 산출부(503), 연산 판정부(504), 유효 화소수 카운터(413), 및 구배법 계속 판정부(414)에 의해 구성된다.
프리 필터(102-1)을 통하여 입력되는 시각 t+1의 화상의 프레임 t+1은, 제1 공간 구배 화소 차분 산출부(501) 및 시간 방향 화소 차분 산출부(503)에 입력된다. 프리 필터(102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t는, 제2 공간 구배 화소 차분 산출부(502) 및 시간 방향 화소 차분 산출부(503)에 입력된다. 또, 실렉터(402)에 의해 선택된 오프셋 벡터(예를 들면, V0 또는 Vn-1)는, 제1 공간 구배 화소 차분 산출부(501), 제2 공간 구배 화소 차분 산출부(502), 및 시간 방향 화소 차분 산출부(503)에 입력된다.
제1 공간 구배 화소 차분 산출부(501)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-1)을 통하여 입력되는 프레임 t+1에 있어서의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블 록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(504)에 출력한다.
제2 공간 구배 화소 차분 산출부(502)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-2)를 통하여 입력되는 프레임 t에 있어서의 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(504)에 출력한다.
시간 방향 화소 차분 산출부(503)은, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-1) 및 프리 필터(102-2)를 통하여 입력되는 프레임 t+1 및 프레임 t 사이의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를, 연산 판정부(504)에 출력한다.
연산 판정부(504)는, 제1 공간 구배 화소 차분 산출부(501)으로부터의 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 제2 공간 구배 화소 차분 산출부(502)로부터의 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 및 시간 방향 화소 차분 산출부(503)으로부터의 프레임 t+1 및 프레임 t 사이 의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 사용하여, 소정의 논리 연산을 행하고, 그 소정의 논리 연산에 따라 연산 블록 내의 화소가, 모션 벡터의 검출(즉, 후단의 구배법 연산부(404)의 연산)에 유효한지 여부를 판단한다. 그리고, 연산 판정부(504)의 유효 화소 판정 방법에, 소정의 논리 연산의 자세한 것은, 도 41을 참조하여 후술한다.
또, 연산 판정부(504)는, 모션 벡터의 검출에 유효한 것으로 판단한 경우, 유효 화소수 카운터(413)의 유효 화소의 수를 1개 카운트한다. 유효 화소수 카운터(413)은, 연산 블록마다 연산 판정부(504)에 의해 모션 벡터의 검출에 유효한 것으로 판단된 화소분의 값을 카운트한다.
도 39는, 구배법 연산부(404)의 상세한 구성을 나타낸 블록도이다. 그리고, 도 38의 유효 화소 판정부(403)는, 도 25의 구배법 연산부(404)의 다른 구성예를 나타내는 것이며, 도 39에 있어서, 도 27에 있어서의 경우와 대응하는 부분에는 대응하는 부호를 부여하고 있으므로, 그 설명은 반복되므로 생략한다.
도 39의 예에 있어서, 구배법 연산부(404)는, 제1 공간 구배 화소 차분 산출부(521), 제2 공간 구배 화소 차분 산출부(522), 시간 방향 화소 차분 산출부(523), 연산 판정부(524), 구배 적산부(424), 및 벡터 산출부(425)에 의해 구성된다.
프리 필터(102-1)을 통하여 입력되는 시각 t+1의 화상의 프레임 t+1은, 제1 공간 구배 화소 차분 산출부(521) 및 시간 방향 화소 차분 산출부(523)에 입력된다. 프리 필터(102-2)를 통하여 입력되는 시각 t의 화상의 프레임 t는, 제2 공간 구배 화소 차분 산출부(522) 및 시간 방향 화소 차분 산출부(523)에 입력된다. 또, 실렉터(402)에 의해 선택된 오프셋 벡터는, 제1 공간 구배 화소 차분 산출부(521), 제2 공간 구배 화소 차분 산출부(522), 시간 방향 화소 차분 산출부(523) 및 연산 판정부(524)에 입력된다. 유효 화소 판정부(403)로부터 입력되는 플래그는, 연산 판정부(524)에 입력된다.
제1 공간 구배 화소 차분 산출부(521)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-1)을 통하여 입력되는 프레임 t+1에 있어서의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(524)에 출력한다.
제2 공간 구배 화소 차분 산출부(522)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-2)를 통하여 입력되는 프레임 t에 있어서의 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(524)에 출력한다.
시간 방향 화소 차분 산출부(523)은, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 프리 필터(102-1) 및 프리 필터(102-2)를 통하여 입력되는 프레임 t+1 및 프레임 t 사이의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를, 연산 판정부(524)에 출력한다.
연산 판정부(524)는, 유효 화소 판정부(403)로부터 입력되는 플래그에 따라 구배 적산부(424) 및 벡터 산출부(425)를 제어한다. 즉, 연산 판정부(524)는, 플래그가 1을 나타내는(flg= 1) 경우에는, 제1 공간 구배 화소 차분 산출부(521)으로부터의 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 제2 공간 구배 화소 차분 산출부(522)로부터의 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 및 시간 방향 화소 차분 산출부(523)으로부터의 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 사용하여, 연산 판정부(504)와 마찬가지의 소정의 논리 연산을 행하고, 그 소정의 논리 연산에 따라 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단하고, 모션 벡터의 검출에 유효한 것으로 판단된 화소를, 구배법의 연산 대상으로 하여, 그 화소의 수평 방향의 화소 차분Δx, 수직 방향의 화소 차분Δy, 및 시간 방향의 화소 차분Δt를, 구배 적산부(424)에 공급한다. 또, 연산 판정부(524)는, 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한 것은 없는 것으로 판단한 경우, 구배 적산부(424)에, 그 화소의 처리를 금지시킨다.
한편, 플래그가 0을 나타내는(flg= 0) 경우에는, 연산 판정부(524)는, 소정의 논리 연산을 실행하지 않고, 연산 블록 내의 화소가, 모션 벡터의 검출에 유효 한지 여부를 판단하지 않기 때문에, 구배 적산부(424)도, 적산 처리를 실행하지 않고, 처리는 중지된다. 그리고, 이 때, 연산 판정부(524)는, 벡터 산출부(425)를 제어하고, 모션 벡터 V를 0벡터로 설정시킨다. 또, 연산 판정부(524)는, 연산 블록 내의 화소의 처리가 종료한 경우에, 오프셋 벡터를, 벡터 산출부(425)에 출력하고, 벡터 산출부(425)를 제어하고, 검출 대상 블록의 모션 벡터를 산출시킨다.
구배 적산부(424)는, 연산 판정부(524)로부터 공급된 시간 방향의 화소 차분Δt, 수평 방향의 화소 차분Δx, 및 수직 방향의 화소 차분Δy를 적산하고, 적산된 구배의 값을, 벡터 산출부(425)에 출력한다.
벡터 산출부(425)는, 연산 판정부(524)로부터 오프셋 벡터가 입력되면, 구배 적산부(424)에 의해 적산된 구배의 값, 및 전술한 식(9)의 최소 곱의 합을 사용하여, 모션 벡터vn를 산출한다. 또, 벡터 산출부(425)는, 연산 판정부(524)로부터의 오프셋 벡터를, 산출한 모션 벡터vn에 가산하여, 모션 벡터 Vn를 구하고, 벡터 평가부(104) 및 지연부(405)에 출력한다.
도 40은, 모션 벡터의 검출 대상으로 되는 검출 대상 블록과, 그 검출 대상 블록에 대응하는, 구배법 연산의 대상으로 되는 연산 블록의 다른 예를 나타내고 있다. 그리고, 도 40의 예에 있어서는, 프레임 t가 표시되어 있고, 프레임 t 상의 원은, 화소를 나타내고 있다.
도 40의 예의 경우, 프레임 t 상에 있어서, 4화소×4화소로 이루어지는 검출 대상 블록 K1 내지 K3와 검출 대상 블록 K1 내지 K3를 각각 중심으로 한 8화소×8화소의 각 연산 블록 E1 내지 E3가 나타나 있다. 그리고, 각 연산 블록 E1 내 지 E3는, 각각에 접하는 연산 블록과, 구성하는 화소의 반(半)이 오버랩하고 있다.
벡터 검출부(52)에 있어서는, 프레임 상의 좌측 위의 검출 대상 블록으로부터 라스터 스캔 순서로, 모션 벡터의 검출이 실행된다. 따라서, 프레임 t 상에 있어서, 검출 대상 블록 K1, 검출 대상 블록 K2, 및 검출 대상 블록 K3가 차례로, 모션 벡터의 검출 대상 블록으로 된다. 그리고, 이것에 대응하여, 구배법의 연산 블록은, 연산 블록 E1, 연산 블록 E2, 및 연산 블록 E3로 된다. 즉, 도 40의 예의 검출 대상 블록과 연산 블록의 경우에는, 각 연산 블록 E1 내지 E3는, 인접한 연산 블록과, 구성되는 화소의 반이 오버랩하게 된다.
그리고, 이후에 있어서는, 이와 같이 구성되는 검출 대상 블록과 연산 블록을 사용하여, 도 38의 유효 화소 판정부(403) 및 도 39의 구배법 연산부(404)를 설명하지만, 이들 구성의 검출 대상 블록 및 연산 블록에는 한정되지 않고, 도 38의 유효 화소 판정부(403) 및 도 39의 구배법 연산부(404)에 있어서, 도 28을 참조하여 전술한 검출 대상 블록 및 연산 블록을 사용하도록 해도 되고, 그 외의 검출 대상 블록 및 연산 블록을 사용하도록 해도 된다.
다음에, 도 41을 참조하여, 연산 판정부(504)의 유효 화소 판정 방법을 설명한다. 도 41의 예에 있어서는, 화살표 T는, 도면 중, 좌측 바로 앞의 시각 t의 프레임 t로부터, 우측 안쪽의 시각 t+1의 프레임 t+1로의 시간의 경과 방향을 나타내고 있다.
프레임 t 상에 있어서는, 모션 벡터의 검출의 대상으로 되는 4화소×4화소로 이루어지는 검출 대상 블록 Kt(도면 중 검은 원)와, 검출 대상 블록 Kt를 중심으로 한(검출 대상 블록의 주위의) 8화소×8화소로 이루어지는 연산 블록 Et가 나타나 있다. 한편, 프레임 t+1 상에 있어서는, 검출 대상 블록 Kt에 대응하는 4화소×4화소로 이루어지는 검출 대상 블록 Kt+1(도면 중 검은 원)과 연산 블록 Et에 대응하는 8화소×8화소로 이루어지는 연산 블록 Et+1이 나타나 있다. 그리고, 프레임 t+1 상의 점선의 블록은, 검출 대상 블록 Kt와 같은 위상의 블록을 나타내고 있고, 프레임 t+1 상에 있어서, 모션 벡터 V(Vx, Vy)가 초기 벡터로서 주어진 분만큼, 점선의 블록으로부터 시프트(이동)된 위치의 연산 블록 Et+1이 구배법의 연산의 대상으로서 사용된다.
여기서, 프레임 t 상의 연산 블록 Et의 화소 p1와 프레임 t+1 상의 연산 블록 Et+1 사이의 동일 위치의 화소 p2에 있어서의 시간 방향의 화소 차분(프레임 차분)을Δt으로 하고, 이 때의 화상 프레임을 w로 하면, 연산 블록 Et의 화소 p1의 수평 방향의 화소 차분Δx1, 수직 방향의 화소 차분Δy1, 및 시간 방향의 화소 차분Δt는, 식(12) 내지 식(14)에 의해 구해진다.
Δx1 = Yt(k+1)-Yt(k)            …(12)
Δy1 = Yt(k+w)-Yt(k)            …(13)
Δt  = Yt+1(k)-Yt(k)            …(14)
그리고, Yt+1은, 시각 t+1에 있어서의 화소값을 나타내고, Yt는, 시각 t에 있어서의 화소값을 나타내고, k+1 및 k는, 어드레스(위치)를 나타낸다. 또, 화소 p1에 대응하는 연산 블록 Et+1의 화소 p2의 수평 방향의 화소 차분Δx2, 및 수직 방향의 화소 차분Δy2도 마찬가지로 구해진다.
연산 판정부(504)는, 이들 값을 사용하여, 논리 연산을 행하고, 그 결과에 따라 유효 화소 판정을 행한다. 즉, 연산판정부(504)는, 연산 블록 Et의 화소 중 다음 3개의 조건식 (15) 내지 (17) 중 어느 하나를 만족시키는지(즉, 식(18)을 만족시키는지) 여부를 구함으로써, 그 화소가 모션 벡터 검출에 유효한 화소인지 여부를 판정한다.
Δx1≠0 && Δx2≠0 &&
|Δx1|>th1ㆍ|Δy1| && |Δt/Δx1-Δt/Δx2|
<th2                      …(15)
Δy1≠0 && Δy2≠0 &&
|Δy1|>th1ㆍ|Δx1| && |Δt/Δy1-Δt/Δy2|
<th2
                           …(16)
Δx1≠0 && Δx2≠0 && Δy1≠0 && Δy2≠0 &&
 |Δt/Δx1-Δt/Δx2|<th2 &&
 |Δt/Δy1-Δt/Δy2|<th2
                          …(17)
식(15)∥식(16)∥식(17) …(18)
여기서, ∥는, 논리합, &&은, 논리곱, ·은, 곱셈, th1 및 th2는, 각각 소정의 임계값을 나타내고 있다. 그리고, th1는, 예를 들면, 1, 1.5, 또는 2로 되 고, th2는, 예를 들면, 4로 된다.
따라서, 식(15)에 있어서, Δx1≠0 && Δx2≠0은, 화소 p1 및 화소 p2의 수평 구배가 평탄하지 않은(수평 방향으로 구배를 가짐) 것을 나타낸다. |Δx1|>th1·|Δy1|는, 수평 구배가 수직 구배보다 어느 정도 큰 것을 나타낸다.
|Δt/x1-Δt/x2|<th2는, 화소 단위의 구배법에 따르는(정규화한 경우의)수평 방향의 모션이, 소정의 임계값 th2보다 작은, 즉 수평 방향의 모션에, 유사성이 있는 것을 나타낸다. 이상에 의해, 식(15)은, 수평 방향으로 주목한 조건을 나타내고 있고, 이들 모두를 만족시킨 화소는, 수평 방향의 모션에 유사성이 있는 것으로 판단되고, 후단의 구배법에 이용하기에 유효한 것으로 판정된다.
또, 식(16)에 있어서, Δy1≠0 && Δy2≠0은, 수직 구배가 평탄하지 않은(수직 방향으로 구배를 가짐) 것을 나타낸다. |Δy1|>th1·|Δx1|는, 수직 구배가 수평 구배보다 어느 정도 큰 것을 나타낸다. |Δt/y1-Δt/y2|<th2는, 화소 단위의 구배법에 따르는(정규화한 경우의)수직 방향의 모션에 유사성이 있는 것을 나타낸다. 이상에 의해, 식(16)은, 수직 방향으로 주목한 조건을 나타내고 있고, 이들 모두를 만족시킨 화소는, 수직 방향의 모션에 유사성이 있는 것으로 판단되고, 후단의 구배법에 이용하기에 유효한 것으로 판정된다.
마찬가지로, 식(17)에 있어서, Δx1≠0 && Δx2≠0 && Δy1≠0 && Δy2≠0은, 수직 및 수평 구배가 평탄하지 않은(수직 및 수평 방향으로 구배를 가짐) 것을 나타낸다. |Δt/x1-Δt/x2|<th2 && |Δt/y1-Δt/y2|<th2는, 화소 단위의 구배법에 따르는(정규화한 경우의) 수직 방향 및 수평 방향의 모션에 유사 성이 있는 것을 나타낸다. 이상에 의해, 식(17)은, 식(15) 및 (16)을 만족시키지 못하는 것에 대한 수평 및 수직의 양쪽 방향(경사 방향)에 주목한 조건을 나타내고 있고, 이들 모두를 만족시킨 화소는, 수평 및 수직 방향의 모션에 유사성이 있는 것으로 판단되고, 후단의 구배법에 이용하기에 유효한 것으로 판정된다.
즉, 연산 판정부(504)는, 식(18)을 사용하여, 연산 블록 Et 내의 각 화소에 대하여, 수평 방향, 수직 방향, 또는 경사 방향 중 어느 하나의 모션에 대하여 유사성이 있는지 여부를 판단하고, 수평 방향, 수직 방향, 또는 경사 방향 목의 모션에 대해서도 유사성이 없는 것으로 판단한 화소를, 도 42에 나타낸 바와 같이, 구배법 연산의 것 대상에서 제외한다.
도 42는, 연산 블록에 있어서의 화소의 구성예를 나타내고 있다. 도 42의 예에 있어서는, 4화소×4화소로 이루어지는 검출 대상 블록 K를 중심으로 하는 8화소×8화소(64화소)로 이루어지는 연산 블록 E 내에 있어서, 전술한 식(18)을 만족시키고, 유효 화소로서 판정된 화소(도면 중 흰 원)와, 식(18)을 만족시키지 않고, 구배법의 연산 대상으로 되지 않는 화소(도면 중 검은 원)가 나타나 있다.
따라서, 구배법 연산부(404)는, 연산 블록 E 내에 있어서, 유효 화소로서 판정된 화소만(34 화소)을 사용하여, 구배법 연산을 행한다. 이로써, 수평 방향, 수직 방향, 또는 경사 방향 중 어느 하나의 모션에 대하여 유사성이 있는 화소만으로, 구배법 연산이 실행되므로, 상이한 모션이 혼입되는 것이 억제되어, 보다 안정된 구배법 연산이 실행되고, 그 결과, 확실한 모션 벡터가 검출된다.
그러나, 연산 블록 내에 유효 화소로서 판정된 화소가 적은 경우에는, 전술 한 바와 같이, 구배법 연산이 불안정하게 되어 버릴 경우가 있다. 그래서, 구배법 계속 판정부(414)는, 유효 화소로서 판정된 화소의 수가, 50%인지(전체 64 화소 중 32 화소보다 많은지) 여부를 판단하고, 유효 화소로서 판정된 화소가 50% 이하의 경우에는, 검출 대상 블록 K의 블록 단위 처리에서의 연산은 불안정한 것으로 하고, 도 33을 참조하여 전술한 바와 같이, 검출 대상 블록 K 내의 화소마다의 연산으로 전환하여 처리를 행하거나, 또는 연산을 중지하는 처리를 행한다. 그리고, 유효 화소 카운터의 임계값을 50%로 하였으나, 이 값은, 물론 다른 값이라도 된다.
이로써, 유사성이 그다지 없고, 상이한 모션의 화소의 혼재를 조금이라도 방지할 수 있으므로, 안정된 구배법 연산을 행할 수 있다. 이 결과, 구배법 연산에 의해 구해지는 모션 벡터의 확실함이 향상되고, 모션 벡터 검출의 정밀도가 향상된다.
그리고, 연산 판정부(504)에 있어서의 유효 화소 판정 방법으로서는, 다음의 조건식(19) 및 (20)을 사용할 수도 있다. 즉, 연산 판정부(504)는, 연산 블록 Et의 화소 중, 다음의 2개의 조건식(19) 및 (20)의 양쪽을 만족시키는지(즉, 식(21)을 만족시키는지) 여부를 구함으로써, 그 화소가 유효 화소인지 여부를 판정하도록 해도 된다.
Δx1≠0 && Δx2≠0 && |Δt/x1-Δt/x2|<th3
…(19)
Δy1≠0 && Δy2≠0 && |Δt/y1-Δt/y2|<th3
…(20)
식(19) && 식(20) …(21)
여기서, &&는, 논리곱, th3는, 소정의 임계값을 나타내고 있다. 그리고, th3≠th2로 된다. 예를 들면, th3는, 16으로 되지만, th2보다 작은 값이라도 된다.
즉, 식(21)의 경우에는, 수평 방향 및 수직 방향의 양쪽의 모션에 대하여 유사성이 판단된다. 따라서, 연산 판정부(504)는, 식(18)을 사용하여, 연산 블록 Et 내의 각 화소에 대하여, 수평 방향 및 수직 방향의 양쪽의 모션에 대하여 유사성이 있는지 여부를 판단하고, 수평 방향 및 수직 방향 중 적어도 한쪽의 모션에 대하여 유사성이 없는 것으로 판단한 화소를, 구배법 연산의 것 대상에서 제외한다.
다음에, 도 43의 플로차트를 참조하여, 도 38의 유효 화소 판정부(403)의 유효 화소 판정 처리의 상세를 설명한다. 그리고, 도 43은, 도 34 (A)의 스텝 S403의 유효 화소 판정 처리의 예를 나타내고 있다.
실렉터(402)로부터 오프셋 벡터가 입력되면, 시간 방향 화소 차분 산출부(503)은, 스텝 S511에 있어서, 연산 판정부(504)를 제어하고, 유효 화소수 카운터(413)을 리셋시켜, 스텝 S512로 진행하고, 블록 단위의 연산 블록에 있어서, 화소를 선택하고, 스텝 S513으로 진행한다. 그리고, 화소는, 연산 블록의 좌측 위의 화소로부터 라스터 스캔 순서로 선택된다.
시간 방향 화소 차분 산출부(503)은, 스텝 S513에 있어서, 프리 필터(102-1) 및 프리 필터(102-2)를 통하여 입력되는 프레임 t+1 및 프레임 t 사이의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내 의 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를, 연산 판정부(504)에 출력하고, 스텝 S514로 진행한다.
제1 공간 구배 화소 차분 산출부(501)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 스텝 S514에 있어서, 프리 필터(102-1)을 통하여 입력되는 프레임 t+1에 있어서의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(504)에 출력하고, 스텝 S515으로 진행한다.
제2 공간 구배 화소 차분 산출부(502)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 스텝 S515에 있어서, 프리 필터(102-2)를 통하여 입력되는 프레임 t에 있어서의 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(504)에 출력하고, 스텝 S516으로 진행한다.
연산 판정부(504)는, 스텝 S516에 있어서, 제1 공간 구배 화소 차분 산출부(501)으로부터의 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 제2 공간 구배 화소 차분 산출부(502)로부터의 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 및 시간 방향 화소 차분 산출부(503)로부터의 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 사용하여, 식(18)의 논리 연산을 행하고, 스텝 S517 내지 S519에 있어서, 그 소정의 논리 연산에 따라 연산 블록 내의 화소가, 모션 벡터의 검출(즉, 후단의 구배법 연산부(404)의 연산)에 유효한지 여부를 판단한다.
즉, 연산 판정부(504)는, 스텝 S516에 있어서, 수평 방향의 주목 조건인 식(15), 수직 방향의 주목 조건인 식(16), 및 수평 수직 방향의 주목 조건인 식(17)을 연산하고, 스텝 S517에 있어서, 연산 블록 내의 화소가 수평 방향의 주목 조건인 식(15)을 만족시키고 있는지 여부를 판단하고, 연산 블록 내의 화소가 수평 방향의 주목 조건을 만족시키고 있는 것으로 판단한 경우, 스텝 S520으로 진행하고, 유효 화소수 카운터(413)의 유효 화소의 수를 1개 카운트하고, 스텝 S521로 진행한다.
연산 판정부(504)는, 스텝 S517에 있어서, 연산 블록 내의 화소가 수평 방향의 주목 조건을 만족시키지 못한 것으로 판단한 경우, 스텝 S518로 진행하고, 연산 블록 내의 화소가 수직 방향의 주목 조건인 식(16)을 만족시키고 있는지 여부를 판단하고, 연산 블록 내의 화소가 수직 방향의 주목 조건을 만족시키고 있는 것으로 판단한 경우에는, 스텝 S520으로 진행하고, 유효 화소수 카운터(413)의 유효 화소의 수를 1개 카운트하고, 스텝 S521로 진행한다.
연산 판정부(504)는, 스텝 S518에 있어서, 연산 블록 내의 화소가 수직 방향의 주목 조건을 만족시키지 못한 것으로 판단한 경우, 스텝 S519으로 진행하고, 연 산 블록 내의 화소가 수평 수직 방향(경사 방향)의 주목 조건인 식(17)을 만족시키고 있는지 여부를 판단하고, 연산 블록 내의 화소가 수평 수직 방향의 주목 조건을 만족시키고 있는 것으로 판단한 경우에는, 스텝 S520으로 진행하고, 유효 화소수 카운터(413)의 유효 화소의 수를 1개 카운트하고, 스텝 S521로 진행한다. 연산 판정부(504)는, 스텝 S519에 있어서, 연산 블록 내의 화소가 수평 수직 방향의 주목 조건을 만족시키지 못한 것으로 판단한 경우, 스텝 S520의 처리를 스킵하고, 스텝 S521으로 진행한다. 즉, 이 화소는, 수평 방향의 모션, 수직 방향의 모션, 및 수평 수직 방향의 모션의 어딘가에도 유사성이 없는 것으로 판단되고, 후단의 구배법 연산에 유효하지 않은 화소로서 제외된다.
시간 방향 화소 차분 산출부(503)은, 스텝 S520에 있어서, 연산 블록 내의 모든 화소의 처리가 종료되었는지 여부를 판단하고, 연산 블록 내의 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S512로 복귀하고, 그 이후의 처리를 반복한다. 한편, 시간 방향 화소 차분 산출부(503)은, 스텝 S520에 있어서, 연산 블록 내의 모든 화소의 처리가 종료한 것으로 판단한 경우, 유효 화소 판정 처리를 종료하고, 도 34 (A)의 스텝 S404로 복귀한다.
이상의 처리에 의해, 유효 화소 카운터(413)에는, 연산 블록 내에 있어서, 수평 방향 주목 조건, 수직 방향 주목 조건, 및 수평 수직 방향 주목 조건 중 적어도 1개를 만족시키고, 후단의 구배법 연산에 있어서 유효한 것으로 판단된 화소의 수가 카운트되어 있다. 따라서, 구배법 계속 판단부(414)는, 도 34 (A)의 스텝 S404에 있어서, 이 유효 화소 카운터(413)의 화소의 수를 참조함으로써, 블록 단위 의 구배법 연산을 행할 것인지, 화소 단위의 구배법 연산을 행할 것인지를 판단할 수 있다.
다음에, 도 44의 플로차트를 참조하여, 도 39의 구배법 연산부(404)의 구배법 연산 처리의 상세를 설명한다. 그리고, 도 44는, 도 34 (A)의 스텝 S405의 블록 단위의 구배법 연산 처리의 예를 나타내고 있다.
실렉터(402)로부터 오프셋 벡터가 입력되면, 시간 방향 화소 차분 산출부(523)은, 스텝 S551에 있어서, 블록 단위의 연산 블록에 있어서, 화소를 선택하고, 스텝 S552로 진행한다. 그리고, 화소는, 연산 블록의 좌측 위의 화소로부터 라스터 스캔 순서로 선택된다.
시간 방향 화소 차분 산출부(523)은, 스텝 S552에 있어서, 프리 필터(102-1) 및 프리 필터(102-2)를 통하여 입력되는 프레임 t+1 및 프레임 t 사이의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 산출하고, 산출된 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를, 연산 판정부(524)에 출력하고, 스텝 S553으로 진행한다.
제1 공간 구배 화소 차분 산출부(521)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 스텝 S553에 있어서, 프리 필터(102-1)을 통하여 입력되는 프레임 t+1에 있어서의, 오프셋 벡터를 오프셋하여 계산한 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(524)에 출력하고, 스텝 S554으로 진행한다.
제2 공간 구배 화소 차분 산출부(522)는, 실렉터(402)에 의해 선택된 오프셋 벡터를 입력하면, 스텝 S554에 있어서, 프리 필터(102-2)를 통하여 입력되는 프레임 t에 있어서의 화소를 중심으로 한, 각 단위 처리 모드의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를 산출하고, 산출된 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy를, 연산 판정부(524)에 출력하고, 스텝 S555로 진행한다.
연산 판정부(524)는, 스텝 S555에 있어서, 제1 공간 구배 화소 차분 산출부(521)으로부터의 프레임 t+1에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 제2 공간 구배 화소 차분 산출부(522)로부터의 프레임 t에 있어서의 연산 블록 내의 화소의 수평 방향의 화소 차분Δx 및 수직 방향의 화소 차분Δy, 및 시간 방향 화소 차분 산출부(523)으로부터의 프레임 t+1 및 프레임 t 사이의 연산 블록 내의 화소의 시간 방향의 화소 차분Δt를 사용하여, 식(18)의 논리 연산을 행하고, 스텝 S556 내지 S558에 있어서, 그 소정의 논리 연산에 따라 연산 블록 내의 화소가, 모션 벡터의 검출에 유효한지 여부를 판단한다.
즉, 연산 판정부(524)는, 스텝 S555에 있어서, 수평 방향의 주목 조건인 식(15), 수직 방향의 주목 조건인 식(16), 및 수평 수직 방향의 주목 조건인 식(17)을 연산하고, 스텝 S556에 있어서, 연산 블록 내의 화소가 수평 방향의 주목 조건인 식(15)을 만족시키고 있는지 여부를 판단하고, 연산 블록 내의 화소가 수평 방향의 주목 조건을 만족시키고 있는 것으로 판단한 경우, 모션 벡터의 검출에 유효한 것으로 판단된 화소를, 구배법의 연산 대상으로 하여, 그 화소의 수평 방향의 화소 차분Δx, 수직 방향의 화소 차분Δy, 및 시간 방향의 화소 차분Δt를, 구배 적산부(424)에 공급하고, 스텝 S559로 진행한다.
연산 판정부(524)는, 스텝 S556에 있어서, 연산 블록 내의 화소가 수평 방향의 주목 조건을 만족시키지 못한 것으로 판단한 경우, 스텝 S557으로 진행하고, 연산 블록 내의 화소가 수직 방향의 주목 조건인 식(16)을 만족시키고 있는지 여부를 판단하고, 연산 블록 내의 화소가 수직 방향의 주목 조건을 만족시키고 있는 것으로 판단한 경우에는, 모션 벡터의 검출에 유효한 것으로 판단된 화소를, 구배법의 연산 대상으로 하여, 그 화소의 수평 방향의 화소 차분Δx, 수직 방향의 화소 차분Δy, 및 시간 방향의 화소 차분Δt를, 구배 적산부(424)에 공급하고, 스텝 S559로 진행한다.
연산 판정부(524)는, 스텝 S557에 있어서, 연산 블록 내의 화소가 수직 방향의 주목 조건을 만족시키지 못한 것으로 판단한 경우, 스텝 S558으로 진행하고, 연산 블록 내의 화소가 수평 수직 방향(경사 방향)의 주목 조건인 식(17)을 만족시키고 있는지 여부를 판단하고, 연산 블록 내의 화소가 수평 수직 방향의 주목 조건을 만족시키고 있는 것으로 판단한 경우에는, 모션 벡터의 검출에 유효한 것으로 판단된 화소를, 구배법의 연산 대상으로 하여, 그 화소의 수평 방향의 화소 차분Δx, 수직 방향의 화소 차분Δy, 및 시간 방향의 화소 차분Δt를, 구배 적산부(424)에 공급하고, 스텝 S559으로 진행한다. 연산 판정부(524)는, 스텝 S558에 있어서, 연산 블록 내의 화소가 수평 수직 방향의 주목 조건을 만족시키지 못한 것으로 판단한 경우, 스텝 S559의 처리를 스킵하고, 스텝 S560으로 진행한다. 즉, 이 화소는, 수평 방향의 모션, 수직 방향의 모션, 및 수평 수직 방향의 모션의 어딘가에도 유사성이 없는 것으로 판단되어, 구배법 연산에 유효하지 않은 화소로서 제외된다.
구배 적산부(424)는, 스텝 S559에 있어서, 연산 판정부(524)로부터 공급된 시간 방향의 화소 차분Δt, 수평 수직 화소 차분 산출부(423)에 의해 산출된 수평 방향의 화소 차분Δx, 및 수직 방향의 화소 차분Δy를 적산하고, 적산된 구배의 값을, 벡터 산출부(425)에 출력하고, 스텝 S560으로 진행한다.
연산 판정부(524)는, 스텝 S560에 있어서, 연산 블록 내의 모든 화소의 처리가 종료되었는지 여부를 판단하고, 연산 블록 내의 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S551로 복귀하고, 그 이후의 처리를 반복한다. 한편, 연산 판정부(524)는, 스텝 S560에 있어서, 연산 블록 내의 모든 화소의 처리가 종료한 것으로 판단한 경우, 벡터 산출부(425)에 오프셋 벡터를 출력하고, 스텝 S561으로 진행한다. 벡터 산출부(425)는, 스텝 S561에 있어서, 연산 판정부(524)로부터 오프셋 벡터가 입력되면, 구배 적산부(424)로부터의 구배의 적산 결과와 전술한 식(9)의 최소 곱의 합을 사용하여, 모션 벡터vn를 산출하고, 스텝 S562으로 진행하고, 연산 판정부(524)로부터의 오프셋 벡터에, 산출된 모션 벡터vn를 가산한, 모션 벡터 Vn를 구하여, 구해진 모션 벡터 Vn를 벡터 평가부(104)에 출력하고, 구배법 연산 처리를 종료하고, 도 34 (A)의 스텝 S406으로 복귀한다.
이상과 같이, 시간 방향의 화소 차분Δt, 수평 방향의 화소 차분Δx, 수직 방향의 화소 차분Δy를 사용하여, 연산 블록 내의 화소의 수평 방향으로 주목한 구배의 유사성, 수직 방향으로 주목한 구배의 유사성, 및 수평 방향 및 수직 방향으로 주목한 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하고, 어느 방향의 구배에 대해서도 유사성이 소정의 임계값보다 큰 것으로(즉, 모션의 유사성이 그다지 없다고) 판단된 경우에는, 그 화소는, 모션의 혼란을 발생시킬 우려가 있다고 하여, 모션 벡터를 검출할 때의 구배법의 연산으로부터 제외하도록 했으므로, 보다 안정된 구배법 연산이 실행되고, 그 결과, 확실한 모션 벡터가 검출되고, 이로써, 모션 벡터 검출의 정밀도가 향상된다.
이상과 같이, 연산 블록 내의 화소의 모션이 구배법의 연산에 있어서 유효한지 여부를 구하고, 유효한 것으로 판단된 화소만 구배법 연산에 사용하도록 함으로써, 상이한 모션을 가지는 화소를 연산 대상으로부터 제외할 수 있어 구배법 연산에 의해 구해지는 모션 벡터의 확실함이 향상되고, 모션 벡터 검출의 정밀도가 향상된다.
또, 구배법 연산에 이용되지 않는 화소수가, 소정의 임계값보다 많았던 경우에, 적응적으로, 구배법 연산의 처리를 제어하도록 했으므로, 특히, 오브젝트의 모션의 경계 등에 있어서, 또한 모션 벡터 검출의 정밀도를 향상시킬 수 있고, 그 결과, 구해지는 모션 벡터도 보다 확실한 것 같은 것으로 할 수 있다.
그리고, 상기 설명에 있어서는, 유효 화소 판정부(403) 및 구배법 연산부(404)에, 유효 화소를 판정하는 시간 화소 차분 산출부 및 소 차분 판정부, 또는 제1 공간 구배 화소 차분 산출부, 제2 공간 구배 화소 차분 산출부, 시간 방향 화소 차분 산출부, 및 연산 판정부를 설치하도록 했지만, 그들을 하나에 함께 설치하도록 해도 된다.
또, 상기 설명에 있어서는, 유효 화소 판정부(403)의 유효 화소 판정을, 연산 블록 내의 화소의 시간 방향의 차분을 구함으로써 판정하는 경우, 또는 연산 블록 내의 화소의 수평 방향, 수직 방향, 또는 경사 방향의 화소 차분을 구함으로써 판정하는 경우를 설명하였으나, 다른 방법을 이용하여, 연산 블록 내의 화소가 구배법 연산에 유효한 화소인지 여부를 판정하도록 해도 된다.
다음에, 벡터 할당부(54)의 구성의 상세에 대하여 설명한다.
도 45는, 벡터 할당부(54)의 구성을 나타낸 블록도이다. 도 45에 구성을 나타낸 벡터 할당부(54)는, 24P 신호가 입력되는 시각 t의 화상의 프레임 t와, 시각 t+1의 화상의 프레임 t+1을 사용하여, 프레임 t 상에 있어서 검출된 모션 벡터를, 할당 벡터 메모리(55) 상의, 보간하는 60P 신호 내삽 프레임 상의 화소에 할당하는 처리를 행한다.
도 45의 예에 있어서, 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1은, 화소 정보 연산부(701), 평가값 연산부(702), 및 주목 화소 차분 연산부(703)에 입력된다.
화소 정보 연산부(701)는, 검출 벡터 메모리(53)의 프레임 t 상의 화소에 검출된 모션 벡터를, 좌측 위의 화소로부터 라스터 스캔 순서로 취득하고, 취득한 모션 벡터를, 다음의 시각의 프레임 t+1 방향으로 연장시키고, 연장된 모션 벡터와 내삽 프레임과의 교점을 산출한다. 그리고, 화소 정보 연산부(701)는, 산출된 모션 벡터와 내삽 프레임과의 교점으로부터, 내삽 프레임 상에 있어서, 그 모션 벡터의 할당 대상으로 되는 화소(이하, 할당 대상 화소라고 함)를 설정하고, 모션 벡터 및 할당 대상 화소의 위치의 정보를, 벡터 선택부(705)에 출력한다. 또, 화상 정보 연산부(701)는, 할당 대상 화소와 모션 벡터에 의해 대응하는 프레임 t의 위치 P 및 프레임 t+1 상의 위치 Q를 산출하고, 산출된 프레임 t 및 프레임 t+1 상의 위치 정보를, 평가값 연산부(702), 및 주목 화소 차분 연산부(703)에 출력한다.
평가값 연산부(702)는, 화소 정보 연산부(701)로부터, 할당 대상 화소와, 모션 벡터에 의해 대응하는 프레임 t 및 프레임 t+1 상의 위치 정보를 입력하면, 프레임 t의 위치 P 및 프레임 t+1의 위치 Q의 평가값 DFD를 연산하기 위하여, 위치 P 및 위치 Q를 중심으로 한 일정 범위의 DFD 연산 범위(m×n)를 각각 설정하고, 이들의 DFD 연산 범위가 화상 프레임 내인지 여부를 판단한다. 평가값 연산부(702)는, DFD 연산 범위가 화상 프레임 내에 있는 것으로 판단한 경우, 이 DFD 연산 범위를 사용하여 연산함으로써, 모션 벡터에 대한 할당 대상 화소의 평가값 DFD를 구하고, 구한 평가값 DFD를, 벡터 평가부(704)에 출력한다.
주목 화소 차분 연산부(703)은, 화소 정보 연산부(701)로부터, 할당 대상 화소와, 모션 벡터에 의해 대응하는 프레임 t 및 프레임 t+1 상의 위치 정보를 입력하면, 프레임 t의 위치 P 및 프레임 t+1의 위치 Q를 사용하여, 할당 대상 화소에 대한 휘도 차분 절대값을 구하고, 구한 휘도 차분 절대값을, 벡터 평가부(704)에 출력한다.
벡터 평가부(704)는, 화소 차분 판단부(711) 및 평가값 판단부(712)에 의해 구성된다. 화소 차분 판단부(711)은, 주목 화소 차분 연산부(703)로부터 입력된 할당 대상 화소에 대한 휘도 차분 절대값이 소정의 임계값보다 작은지 여부를 판단한다. 평가값 판단부(712)는, 화소 차분 판단부(711)에 의해 주목 화소 차분 연산부(703)으로부터 입력된 할당 대상 화소에 대한 휘도 차분 절대값이 소정의 임계값보다 작은 것으로 판단된 경우에, 평가값 연산부(702)로부터 입력된 할당 대상 화소의 평가값 DFD가, 벡터 선택부(705)가 가지는 DFD 테이블의 최소 평가값보다 작은지 여부를 판단한다. 그리고, 평가값 판단부(712)는, 할당 대상 화소의 평가값 DFD가, DFD 테이블의 최소 평가값보다 작은 것으로 판단한 경우에, 할당 대상 화소가 대응하는 모션 벡터의 신뢰도가 높은 것으로 판단하고, 벡터 선택부(705)에, 할당 대상 화소의 평가값 DFD를 출력한다.
벡터 선택부(705)는, 내삽 프레임 상의 각 화소에 있어서의 최소 평가값을 유지하는 DFD 테이블을 가지고 있고, 내삽 프레임 상의 각 화소에 대하여, 0벡터를 할당한 경우의 평가값 DFD0를, 내삽 프레임 상의 각 화소에 있어서의 최소 평가값으로서 DFD 테이블에 미리 유지하고 있다. 벡터 선택부(705)는, 벡터 평가부(704)로부터의 할당 대상 화소의 평가값 DFD를 입력하면, 화소 정보 연산부(701)로부터의 할당 대상 화소의 위치의 정보에 따라 할당 플래그 메모리(56)의 플래그를 1(True)로 재기록하고, 할당 대상 화소의 DFD 테이블의 최소 평가값을, 그 할당 대상 화소의 평가값 DFD에 재기록한다. 또, 벡터 선택부(705)는, 화소 정보 연산부(701)로부터의 할당 대상 화소의 위치의 정보에 따라 할당 벡터 메모리(55)의 할 당 대상 화소에, 화소 정보 연산부(701)로부터의 모션 벡터를 할당한다.
다음에, 모션 벡터의 화소 이하 정밀도를 설명한다. 전술한 식(1)에 의해 표현되는 DFD 평가의 연산에 있어서는, 프레임 t의 화소 위치 p를 벡터v량분 어긋나게 한 앞의 프레임 t+1 상의 위상 p+v는, 실제로는, 24P 신호의 프레임 t+1 상의 화소 위치와 일치하지 않는 경우가 많고, 그 경우의 휘도값은 정의되어 있지 않다. 따라서, 화소 이하 정밀도를 가지는 모션 벡터v에 대한 평가값 DFD의 연산을 행하기 위해서는, 화소 이하의 위상에 있어서의 휘도값을 어떠한 방법으로 생성해야만 한다.
이것에 대응하여, 프레임 t의 화소 위치 p를 벡터v량만큼 어긋나게 한 앞의 프레임 t+1 상의 위상 p+v에 가장 가까운 화소의 휘도값을 그대로 사용하는 방법이 있다. 그러나, 이 방법에서는, 평가하는 모션 벡터의 화소 이하 성분을 말아 버리므로(rounded), 모션 벡터의 화소 이하 성분을 버리게 되므로, 이로써, 구해진 평가값 DFD의 신뢰도는, 낮아져 버린다.
그래서, 본 발명에 있어서는, 주변 4화소의 휘도값에 의한 4점 보간 처리를 사용하고 있다. 도 46은, 본 발명의 4점 보간 처리의 개념을 나타낸 도면이다. 도 46에 있어서는, 화살표 X가, 프레임 t+1에 있어서의 수평 방향을 나타내고, 화살표 Y가, 프레임 t+1에 있어서의 수직 방향을 나타내고 있다. 이 프레임 t+1에 있어서, 흰 원은, 프레임 t+1 상의 화소 위치를 나타내고 있고, 흑점은, 화소 이하의 위치를 나타내고 있다. 또, 프레임 t+1 상에서의 최좌측 위의 흑점 p+v와 그 주변 4화소는, 윈도우 E로 확대하여 나타내고 있다. 윈도우 E에 있어서, 흰 원 내 의 알파벳은, 주변 4화소의 휘도값을 나타내고 있다.
이 프레임 t+1에 있어서의 최좌측 위의 흑점 p+v가, 프레임 t의 화소 위치 p를 벡터v량만큼 어긋나게 한 앞의 위상 p+v로 하면, 위상 p+v의 휘도값 Ft+1(p+v)은, 위상 p+v의 수평 방향의 화소 이하 성분α 및 수직 방향의 화소 이하 성분β, 및 위상 p+v의 주변 4화소의 휘도값 L0 내지 L4를 사용하여, 주변 4화소의 거리의 역비의 합으로 구해진다. 즉, 휘도값 Ft +1(p+v)은, 다음의 식(22)에 의해 표현된다.
t+1(p+v) = (1―α)(1-β)L0+α(1-β)L1
           +(1-α)βL2+αβL3 …(22)
이상과 같이, 4점 보간 처리에 의해 구해지는 휘도값 Ft +1(p+v)을 사용하여, DFD 평가의 연산을 행함으로써, 하드웨어 실장상의 비용의 인상없이, 평가값 DFD의 신뢰도의 저하를 억제할 수 있다. 그리고, 이하에 있어서는, 벡터 할당 시의 평가값 DFD나 휘도 차분 절대값 등의 연산에 있어서, 이 4점 보간을 적용한 예를 설명하지만, 물론, 전술한 초기 벡터 선택 처리나 벡터 검출 처리, 또는 후술하는 할당 보상 처리 등의 벡터를 평가하는 경우의 평가값 DFD의 연산에 있어서도, 이 4점 보간은 적용된다.
다음에, 벡터 할당 처리의 개념을 설명한다. 예를 들면, 24P 신호 상에서 오브젝트가 속도v로 움직이고 있고, 임의의 2프레임 간에서, 이 오브젝트의 모션에 대하여 등속(等速) 가정이 성립되는 것으로 가정한 경우에, 24P 신호의 프레임 간에, 새롭게 프레임을 내삽하는 것을 생각할 수 있다. 이 경우, 24P 신호의 오브젝트로부터 모션 벡터v를 늘리면, 모션 벡터v와 내삽 프레임과의 교점은, 같은 오브젝트이며, 같은 속도v를 가진다.
따라서, 벡터 검출부(53)에서 검출된 24P 신호의 프레임(이하, 내삽 프레임에 대하여, 원(元) 프레임이라고도 함)의 모션 벡터를, 그 모션 벡터와, 내삽하는 60P 신호 내삽 프레임 상의 교점에 할당함으로써, 내삽 프레임 상의 각 화소의 모션을 구할 수 있다. 또, 역으로, 할당된 모션 벡터로부터, 내삽 프레임 상의 화소가 24P 신호 프레임 상에서 어떤 위치로부터 움직인 것인가를 구할 수 있다.
도 47은, 24P 신호의 원 프레임에서 검출된 모션 벡터와, 60P 신호 내삽 프레임 상의 화소의 예를 1차원으로 나타내고 있다. 도 47의 예에 있어서는, 2개의 24P 신호의 시각 t의 프레임 t 및 시각 t+1의 프레임 t+1의 사이에, 예를 들면, 시각 t+0.4의 내삽 프레임 F1, 및 시각 t+0.8의 내삽 프레임 F2가 2개 삽입되어 있다. 그리고, 이 내삽 프레임의 위치는, 전술한 바와 같이, 24P 신호 상에서의 시간 위상이 0.0, 0.4, 0.8, 1.2, 및 1.6으로 되는 위치에, 60P 신호의 프레임이 놓여지므로, 신호 처리 장치(1)에 있어서 미리 설정되어 있다.
각 프레임 상의 원은, 각 화소를 나타내고 있다. 전단의 벡터 검출부(52)에 의해 프레임 t에 있어서 검출된 모션 벡터v1, v2, 및v3이, 프레임 t+1 방향으로 연장되어 있다. 이들 모션 벡터를 내삽 프레임 F1 및 F2의 각 화소에 할당하는 경우, 내삽 프레임 상의 각 화소의 근방을 통과하는 모션 벡터는, 그 화소에 할당되는 후보 벡터(이하, 할당 후보 벡터라고도 함)로 된다.
따라서, 프레임 t의 좌측의 화소로부터, 프레임 t+1의 좌측으로부터 4, 5번째의 화소 근방으로의 모션 벡터v1은, 내삽 프레임 F1 상의 좌측으로부터 2번째와 3번째의 화소의 사이, 내삽 프레임 F2 상의 좌측으로부터 3번째와 4번째 화소의 사이를 통과하고 있다. 따라서, 모션 벡터v1은, 모션 벡터v1이 내삽 프레임 F1 및 F2를 교차하는 점의 근방 N1에 포함되는 화소(내삽 프레임 F1의 좌측으로부터 2번째와 3번째의 화소 및 내삽 프레임 F2의 좌측으로부터 3번째와 4번째의 화소)에 할당되는 할당 후보 벡터로 된다.
또, 프레임 t의 좌측으로부터 3번째의 화소로부터, 프레임 t+1의 좌측으로부터(2, 3번째의 화소 근방으로의 모션 벡터v2는, 내삽 프레임 F1 상의 좌측으로부터 2번째와(3번째의 화소의 사이, 내삽 프레임 F2 상의 좌측으로부터 2번째와(3번째의 화소의 사이를 통하고 있다. 따라서, 모션 벡터v2는, 모션 벡터v2가 내삽 프레임 F1 및 F2를 교차하는 점의 근방 영역 N2에 포함되는 화소(내삽 프레임 F1의 좌측으로부터 2번째와(3번째의 화소 및 내삽 프레임 F2의 좌측으로부터 2번째와(3번째의 화소)에 할당되는 할당 후보 벡터로 된다.
또한, 프레임 t의 좌측으로부터 5번째의 화소로부터, 프레임 t+1의 좌측으로부터 4, 5번째의 화소 근방으로의 모션 벡터v3은, 내삽 프레임 F1 상의 좌측으로부터 4번째와 5번째의 화소의 사이, 내삽 프레임 F2 상의 좌측으로부터 4번째와 5번째의 화소의 사이를 통하고 있다. 따라서, 모션 벡터v3은, 모션 벡터v3이 내삽 프레임 F1 및 F2를 교차하는 점의 근방 영역 N3에 포함되는 화소(내삽 프레임 F1의 좌측으로부터 4번째와 5번째의 화소 및 내삽 프레임 F2의 좌측으로부터 4번째 와 5번째의 화소)에 할당되는 할당 후보 벡터로 된다.
즉, 내삽 프레임 F2의 좌측으로부터 2번째의 화소의 할당 후보 벡터는, 모션 벡터v2이며, 내삽 프레임 F1 상의 좌측으로부터 2번째 및 3번째의 화소, 및 내삽 프레임 F2의 좌측으로부터 3번째의 화소의 할당 후보 벡터는, 모션 벡터v1 및v2이다. 또, 내삽 프레임 F2의 좌측으로부터 4번째의 화소의 할당 후보 벡터는, 모션 벡터v1 및v3이며, 내삽 프레임 F1 상의 좌측으로부터 4번째 및 5번째의 화소, 및 내삽 프레임 F2의 좌측으로부터 5번째의 화소의 할당 후보 벡터는, 모션 벡터v3이다.
이상과 같이, 원 프레임에 있어서 검출된 모션 벡터 중, 내삽 프레임 상의 각 화소에 할당되는 할당 후보 벡터가 구해진다. 그리고, 내삽 프레임 F1 및 F2의 좌측단의 화소 및 우측단의 화소(도면 중 검은 원)에 있어서는, 근방을 통과하는 모션 벡터는, 표시되어 있지 않다. 즉, 내삽 프레임 F1 및 F2의 좌측단의 화소 및 우측단의 화소에는, 할당되는 할당 후보 벡터가 존재하지 않는다. 따라서, 이들 화소에 대하여는, 후술하는 후단의 할당 보상부(57)에 있어서 할당 보상 처리가 실행된다.
또한, 도 48을 참조하여, 원 프레임으로 검출된 모션 벡터와, 60P 신호 내삽 프레임 상의 화소에 대하여 상세하게 설명한다. 도 48의 예에 있어서, 화살표 T는, 도면 중, 좌측전방의 시각 t의 프레임 t로부터, 우측 안쪽의 시각 t+1의 프레임 t+1로의 시간의 경과 방향을 나타내고 있다. 또, 시각 t와 시각 t+1의 사이의 시각 t+post에 내삽 프레임 F1이 놓여져 있다.
도 48의 예의 경우, 프레임 t 상의 화소(xa, ya)에서 검출된 모션 벡터va(xva, yva)를 프레임 t+1 방향으로 연장시키고, 내삽 프레임 F과의 교점(xia, yia)을 연산한다. 교점은, 24P 신호의 프레임 t 상의 모션 벡터va의 끝점에 해당하는 화소가 이동한 것으로 생각되므로, 구체적으로는, 식(23) 및 식(24)과 같이 표현된다.
xia = xa+postxva …(23)
yia = ya+postyva …(24)
여기서, 전술한 바와 같이, 모션 벡터va가 화소 이하 정밀도를 가지는 경우에는, 모션 벡터va의 교점과, 내삽 프레임 F1 상의 화소 위치는, 일치하는 것으로는 한정되지 않는다. 일치하지 않는 경우, 도 48에 나타낸 바와 같이, 모션 벡터va는, 내삽 프레임 F1 상의 교점의 근방 4화소 G1 내지 G4에 대하여 할당된다. 즉, 모션 벡터va는, 근방의 각 화소 G1 내지 G4 상에 시프트(평행이동)되어, 각각의 화소에 대하여 할당되는 할당 후보 벡터로 되고, 할당 보상 처리가 실행된다.
그리고, 이와 같이, 1개의 모션 벡터가, 근방 4화소에 대하여 할당되는 후보로 되는 것도 있으므로, 화소에 따라서는, 복수개의 모션 벡터가 할당 후보 벡터로 된다. 이 경우, 벡터 할당부(54)는, 각 모션 벡터에 대하여, 내삽 프레임 상의 화 소와, 그 모션 벡터에 의해 대응하는 원 프레임 상의 교점을 산출하고, 그 교점을 사용하여, 각 모션 벡터를 평가함으로써, 최종적으로, 내삽 프레임 상의 화소에, 할당할 모션 벡터를 결정한다.
도 49를 참조하여, 벡터 할당부(54)에 있어서의 모션 벡터의 평가에 대하여 설명한다. 도 49는, 아래로부터, 도 48의 시각 t의 프레임 t, 시각 t+post의 내삽 프레임 F1, 및 시각 t+1의 프레임 t+1을, 1차원적으로 나타내고 있다.
도 49의 예에 있어서, 모션 벡터 sva는, 프레임 t 상의 화소(xa, ya)에 있어서 검출된 모션 벡터va가, 근방의 화소 G4의 할당 후보 벡터로서 화소 G4 상에 시프트(평행 이동)된 것이다. 여기서, 화소 G4 상에 시프트된 모션 벡터 sva와 프레임 t 및 프레임 t+1과의 교점을, 각각 점P 및 점Q로 한다.
벡터 할당부(54)는, 모션 벡터 sva의 제1 평가로서, 먼저, 점P 및 점Q를 중심으로 한 DFD 연산 범위를 각각 구하고, 구한 DFD 연산 범위가 화상 프레임을 넘어 버릴 것인지 여부를 판단한다. 따라서, 점P 및 점Q를 중심으로 한 DFD 연산 범위가 화상 프레임을 초과해 버렸을 경우에는, 모션 벡터 sva는, 후보로부터 제외된다.
또, 이 점P 및 점Q가, 예를 들면, 상이한 오브젝트에 속하는 경우, 점P의 휘도값 Ft(P)와 점Q의 휘도값 Ft +1(Q)의 차는, 커져 버린다. 따라서, 벡터 할당부(54)는, 모션 벡터 sva의 제2 평가로서, 점P와 점Q를 사용하여, 화소 G4에 있어서의 휘 도 차분 절대값 dp를 구하고, 휘도 차분 절대값 dp가 소정치보다 큰가 여부를 판단한다. 휘도 차분 절대값 dp가 소정치보다 큰 것으로 판단된 경우에는, 화소 G4에 있어서의 모션 벡터 sva의 신뢰도가 낮은 것으로 되고, 모션 벡터 sva는, 후보로부터 제외된다. 그리고, 휘도 차분 절대값 dp는, 다음의 식(25)에 의해 표현된다.
dp = |Ft(P)― Ft +1(Q)| …(25)
그리고, 모션 벡터 sva의 제3 평가로서, 벡터 할당부(54)는, 점P 및 점Q를 중심으로 한 DFD 연산 범위의 상관값을 나타내는 차분 절대값에 의한 평가 판단을 행한다. 즉, 벡터 할당부(54)는, 점P 및 점Q를 중심으로 한 DFD 연산 범위를 사용하여, 화소 G4에 있어서의 모션 벡터 sva의 평가값 DFD(차분 절대값)를 구하고, 구해진 평가값 DFD가 DFD 테이블의 최소 평가값보다 작은지 여부를 판단한다. 이상의 평가의 결과, 벡터 할당부(54)는, 구해진 평가값 DFD 중 최소의 평가값 DFD를 가지는 모션 벡터를, 화소 G4에 할당한다.
이상과 같이, 내삽 프레임의 화소에 있어서의 할당 후보의 모션 벡터를, 할당 대상 화소의 평가값 DFD만아니고, 할당 대상 화소에 있어서의 휘도 차분 절대값을 사용하여 평가하도록 했으므로, 종래의 평가값 DFD를 사용하는 만큼의 경우보다, 확실한 모션 벡터를, 할당 대상 화소에 할당된다. 이 결과, 벡터 할당의 정밀도가 향상된다.
그리고, 전술한 바와 같이 내삽 프레임의 화소에 있어서의 할당 후보의 모션 벡터를 평가하기 위해서는, 내삽 프레임의 화소를 기준으로, 그 모션 벡터에 의해 대응하는 원 프레임 상의 위치가 사용되지만, 휘도 차분 절대값 dp 및 평가값 DFD를 구할 때, 할당 후보의 모션 벡터는, 내삽 프레임의 화소 위치를 기준으로 연장하기 위하여, 모션 벡터와 원 프레임 상의 교점은, 원 프레임의 화소 위치와 일치하지 않는 경우가 있고, 이대로는 화소값을 구할 수 없다. 이와 같은 경우에, 도 46을 참조하여 전술한 4점 보간 처리가 실행된다.
도 50은, 벡터 할당 처리에 있어서의 4점 보간의 예를 나타내고 있다. 도 50에 있어서, 도 48 및 도 49에 있어서의 경우와 대응하는 부분에는 대응하는 부호를 부여하고 있으므로, 그 설명은 반복되므로 생략한다.
도 50의 예에 있어서는, 할당 후보의 모션 벡터 sva는, 내삽 프레임 F1의 화소 위치 G4를 기준으로 연장되어 있으므로, 모션 벡터 sva와 프레임 t와의 교점 P는, 프레임 t 상의 화소 위치(프레임 t 상의 흰 원)와 일치하고 있지 않고, 또, 모션 벡터 sva와 프레임 t+1과의 교점 Q도, 프레임 t+1 상의 화소 위치(프레임 t 상의 흰 원)와 일치하고 있지 않다. 따라서, 프레임 t 및 프레임 t+1에 있어서는, 각각 교점 P 및 교점 Q를 중심으로 한 근방 E의 4화소(프레임 t 및 프레임 t+1 상의 흰 원)를 사용하여, 전술한 4점 보간 연산이 행해져 교점 P 및 교점 Q의 화소값이 구해진다.
이와 같이, 본 발명의 벡터 할당 처리에 있어서는, 4점 보간 처리에 의해 구해지는 교점 P 및 교점 Q의 화소값이 이용되어, 휘도 차분 절대값 dp 및 평가값 DFD가 연산되므로, 종래의 화소 이하 성분을 말아 버리는(round) 방법보다, 휘도 차분 절대값 dp나 평가값 DFD를 양호한 정밀도로 구할 수 있다.
다음에, 도 51의 플로차트를 참조하여, 벡터 할당 처리의 상세를 설명한다. 24P 신호의 원 프레임인, 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1은, 화소 정보 연산부(701), 평가값 연산부(702), 및 주목 화소 차분 연산부(703)에 입력된다.
화소 정보 연산부(701)는, 새로운 원 프레임이 입력되면, 벡터 선택부(705)를 제어하고, 스텝 S701에 있어서, 할당 플래그 메모리(56)의 할당 플래그를 0(False)으로 초기화시켜, 스텝 S702로 진행하고, 할당 벡터 메모리(55)를 0벡터로 초기화시키고, 스텝 S703으로 진행한다. 이로써, 결과적으로, 모션 벡터가 할당할 수 없는 화소에, 0벡터가 할당된다.
또, 화소 정보 연산부(701)는, 스텝 S703에 있어서, 평가값 연산부(702)를 제어하고, 내삽 프레임 상의 모든 화소에 대하여, 0벡터를 사용하여 평가값 DFD0를 산출시켜, 벡터 선택부(705)를 제어하고, 평가값 연산부(702)에 의해 산출된 0벡터의 평가값 DFD0를, 내삽 프레임의 각 화소에 대한 최소 평가값으로서 DFD 테이블에 기억시키고, 스텝 S704로 진행한다. 즉, 스텝 S703에 있어서, 평가값 연산부(702)는, 내삽 프레임 모든 화소에 대하여, 0벡터를 사용하여 평가값 DFD0를 산출하고, 산출한 평가값 DFD0를, 벡터 평가부(704)를 통하여, 벡터 선택부(705)에 출력한다. 그리고, 벡터 선택부(705)는, 벡터 평가부(704)를 통하여 입력된 평가값 DFD0를, DFD 테이블의 대응하는 화소의 최소 평가값으로서 기억한다.
화소 정보 연산부(701)는, 스텝 S704에 있어서, 검출 벡터 메모리(53) 상의 원 프레임으로부터 화소를 선택하고, 스텝 S705로 진행한다. 그리고, 이 경우, 프레임의 좌측 위로부터 라스터 스캔 순서로 화소가 선택된다.
화소 정보 연산부(701)는, 스텝 S705에 있어서, 화소 위치 연산 처리를 실행하고, 스텝 S706으로 진행한다. 이 화소 위치 연산 처리의 자세한 것은, 도 52를 참조하여 후술하지만, 이 화소 위치 연산 처리에 의해, 스텝 S704에 있어서 선택된 화소에 있어서 검출된 모션 벡터가 할당되는 대상으로 되는 내삽 프레임 상의 할당 대상 화소가 산출되고, 산출된 할당 대상 화소를 기준으로, 그 모션 벡터에 의해 대응하는 원 프레임 상의 위치가 산출된다.
화소 정보 연산부(701)는, 스텝 S706에 있어서, 산출된 할당 대상 화소를 선택하고, 선택한 할당 대상 화소와, 그 모션 벡터를, 벡터 선택부(705)에 출력하고, 스텝 S707로 진행한다. 이 때, 동시에, 화소 정보 연산부(701)는, 선택한 할당 대상 화소를 기준으로, 그 모션 벡터에 의해 대응하는 원 프레임 상의 위치의 정보를, 평가값 연산부(702) 및 주목 화소 연산부(703)에 출력한다. 그리고, 스텝 S706에 있어서, 화소 정보 연산부(701)는, 할당 대상 화소가 복수개 존재하는 경우에는, 좌측 위의 화소로부터 선택한다.
스텝 S707에 있어서, 화소 정보 연산부(701)는, 선택된 할당 대상 화소에 관하여, 할당 벡터 평가 처리를 실행하고, 스텝 S708로 진행한다. 이 할당 벡터 평가 처리의 자세한 것은, 도 53을 참조하여 후술하지만, 이 할당 벡터 평가 처리에 의해, 할당 대상 화소에 있어서의 모션 벡터의 평가값 DFD 및 휘도 차분 절대값이 구해지고, 할당 대상 화소에 있어서의 모션 벡터의 신뢰도가 판단되고, 이들 판단 의 결과, 신뢰도가 높은 것으로 된 모션 벡터로, 할당 벡터 메모리(55)의 모션 벡터가 재기록된다.
화소 정보 연산부(701)는, 스텝 S708에 있어서, 모든 할당 대상 화소의 처리가 종료되었는지 여부를 판단하고, 또, 모든 할당 대상 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우에는, 스텝 S706으로 복귀하고, 다음의 할당 대상 화소를 선택하고, 그 이후의 처리를 반복한다.
스텝 S708에 있어서, 모든 할당 대상 화소의 처리가 종료한 것으로 판단된 경우, 화소 정보 연산부(701)는, 스텝 S709에 있어서, 검출 벡터 메모리(53) 상의 원 프레임의 모든 화소의 처리가 종료되었는지 여부를 판단한다. 화소 정보 연산부(701)는, 스텝 S709에 있어서, 검출 벡터 메모리(53) 상의 원 프레임의 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S704로 복귀하고, 검출 벡터 메모리(53) 상의 원 프레임의 다음의 화소를 선택하고, 그 이후의 처리를 반복한다. 또, 화소 정보 연산부(701)는, 스텝 S709에 있어서, 검출 벡터 메모리(53)의 모든 화소에 대한 처리를 종료한 것으로 판단한 경우, 벡터 할당 처리를 종료한다.
다음에, 도 52의 플로차트를 참조하여, 화소 위치 연산 처리의 상세를 설명한다. 그리고, 도 52는, 도 51의 스텝 S705의 화소 위치 연산 처리의 예를 나타내고 있다.
스텝 S721에 있어서, 화소 정보 연산부(701)는, 스텝 S704의 처리에 의해 선택된 화소로 검출된 모션 벡터를, 검출 메모리 벡터(53)로부터 취득하고, 스텝 S722로 진행한다. 그리고, 선택된 화소의 모션 벡터가 0벡터인 경우, 할당 벡터 메모리(55)에는, 초기값으로서 0벡터가 미리 기억되어 있으므로, 이후의 스텝 S722 내지 S724, 및 도 51의 스텝 S706 내지 S708의 처리는 스킵되고, 처리는, 스텝 S709로 진행한다.
화소 정보 연산부(701)는, 스텝 S722에 있어서, 취득된 모션 벡터와 내삽 프레임의 교점을 산출한다. 즉, 화소 정보 연산부(701)는, 취득한 모션 벡터를, 차 프레임 t+1 방향으로 연장시키고, 연장된 모션 벡터와 내삽 프레임과의 교점을 산출하고, 스텝 S723으로 진행한다.
화소 정보 연산부(701)는, 스텝 S723에 있어서, 모션 벡터와 내삽 프레임으로부터 산출된 교점으로부터, 할당 대상 화소를 설정하고, 스텝 S724로 진행한다. 이 때, 화소 정보 연산부(701)는, 교점이 내삽 프레임 상의 화소 위치에 일치하는 경우에는, 교점을, 할당 대상 화소로 설정한다. 한편, 화소 정보 연산부(701)는, 교점이 내삽 프레임 상의 화소 위치에 일치하지 않는 경우에는, 전술한 바와 같이, 내삽 프레임 상의 교점의 근방 4화소를, 할당 대상 화소로 설정한다.
스텝 S724에 있어서, 화소 정보 연산부(701)는, 평가값 연산부(702) 및 주목 화소 차분 연산부(703)이 평가값 DFD 및 휘도 차분 절대값을 구하는 데 필요하다, 각 할당 대상 화소를 기준으로, 취득된 모션 벡터에 의해 대응한 원 프레임 상의 위치를 산출한다. 구체적으로는, 화소 정보 연산부(701)는, 스텝 S724에 있어서, 취득된 모션 벡터를, 설정된 할당 대상 화소에 시프트(평행이동)하고, 시프트된 모션 벡터와 원 프레임 상의 교점의 위치를 구하고, 화소 위치 연산 처리를 종료하 고, 도 50의 스텝 S706로 복귀한다.
다음에, 도 53의 플로차트를 참조하여, 할당 벡터 평가 처리의 상세를 설명한다. 그리고, 도 53은, 도 51의 스텝 S707의 할당 벡터 평가 처리의 예를 나타내고 있다.
도 51의 스텝 S706에 있어서, 화소 정보 연산부(701)에 의해, 선택한 할당 대상 화소를 기준으로, 그 모션 벡터에 의해 대응하는 원 프레임 상의 위치가 구해지고, 구해진 원 프레임 상의 위치의 정보가, 평가값 연산부(702) 및 주목 화소 차분 연산부(703)에 입력된다.
평가값 연산부(702)는, 화소 정보 연산부(701)로부터, 원 프레임 상의 위치의 정보가 입력되면, 스텝 S741에 있어서, 할당 대상 화소에 있어서의 모션 벡터의 평가값 DFD를 구하기 위하여, 프레임 t 및 프레임 t+1 상의 위치를 중심으로 한 DFD 연산 범위(m×n)를 각각 구하고, 스텝 S742로 진행하고, 구해진 DFD 연산 범위가 화상 프레임 내인지 여부를 판단한다. 평가값 연산부(702)는, 스텝 S742에 있어서, DFD 연산 범위가 화상 프레임에서 비어져 나오고 있는 것으로 판단한 경우, 그 모션 벡터는, 할당 대상 화소에 할당하는 할당 후보 벡터는 되지 않는 것으로 판단하고, 스텝 S743 내지 S749의 처리를 스킵하고, 할당 벡터 평가 처리를 종료하고, 도 51의 스텝 S708로 복귀한다.
평가값 연산부(702)는, 스텝 S742에 있어서, 구해진 DFD 연산 범위가 화상 프레임 내에 있는 것으로 판단한 경우, 스텝 S743으로 진행하고, 화상 프레임 내에 있는 것으로 판단된 DFD 연산 범위를 사용하여, 할당 대상 화소의 평가값 DFD를 연 산하고, 구해진 평가값 DFD를, 평가값 판단부(712)에 출력하고, 스텝 S744로 진행한다. 그리고, 이 때, 원 프레임 상의 위치가 화소 이하였던 경우에는, 전술한 4점 보간을 이용하여, 원 프레임 상의 교점의 휘도값을 구함으로써, 할당 대상 화소의 평가값 DFD가 연산된다.
한편, 주목 화소 차분 연산부(703)은, 화소 정보 연산부(701)로부터, 원 프레임 상의 위치의 정보가 입력되면, 스텝 S744에 있어서, 할당 대상 화소에 있어서의 휘도 차분 절대값 dp를 구하고, 구해진 휘도 차분 절대값 dp를, 화소 차분 판단부(711)에 출력하고, 스텝 S745로 진행한다. 그리고, 이 때도, 원 프레임 상의 위치가 화소 이하였던 경우에는, 주목 화소 차분 연산부(703)은, 전술한 4점 보간을 이용하여, 원 프레임 상의 교점의 휘도값을 구함으로써, 할당 대상 화소에 있어서의 휘도 차분 절대값 dp를 연산한다.
화소 차분 판단부(711)은, 스텝 S745에 있어서, 주목 화소 차분 연산부(703)로부터의 할당 대상 화소의 휘도 차분 절대값 dp가, 소정의 임계값 이하인지 여부를 판단하고, 할당 대상 화소의 휘도 차분 절대값 dp가, 소정의 임계값보다 큰 것으로 판단한 경우, 프레임 t 및 프레임 t+1의 교점이 각각 상이한 오브젝트에 속할 가능성이 높은 것으로 판단하고, 즉 그 모션 벡터는, 할당 대상 화소에 있어서의 신뢰도가 낮고, 할당 대상 화소에 할당하는 할당 후보 벡터는 되지 않는 것으로 판단하고, 스텝 S746 내지 S749의 처리를 스킵하고, 할당 벡터 평가 처리를 종료하고, 도 51의 스텝 S708로 복귀한다.
화소 차분 판단부(711)은, 스텝 S745에 있어서, 할당 대상 화소의 휘도 차분 절대값 dp가, 소정의 임계값 이하인 것으로 판단한 경우, 스텝 S746으로 진행한다. 평가값 판단부(712)는, 스텝 S746에 있어서, 벡터 선택부(705)의 DFD 테이블을 참조하고, 평가값 연산부(702)로부터의 할당 대상 화소의 평가값 DFD가, DFD 테이블에 기억되어 있는 할당 대상 화소의 최소 평가값(지금의 경우, 0벡터의 평가값 DFD0)보다 작은지 여부를 판단하고, 평가값 연산부(702)로부터의 할당 대상 화소의 평가값 DFD가, DFD 테이블에 기억되어 있는 할당 대상 화소의 최소 평가값 이상이라고 판단한 경우, 그 모션 벡터는, 할당 대상 화소에 있어서, 신뢰도가 높지 않은 것으로 판단하고, 스텝 S747 내지 S749의 처리를 스킵하고, 할당 벡터 평가 처리를 종료하고, 도 51의 스텝 S708로 복귀한다.
한편, 평가값 판단부(712)는, 스텝 S746에 있어서, 평가값 연산부(702)로부터의 할당 대상 화소의 평가값 DFD가, DFD 테이블에 기억되어 있는 할당 대상 화소의 최소 평가값보다 작은 것으로 판단한 경우, 그 모션 벡터는, 할당 대상 화소에 있어서, 지금까지 비교한 모션 벡터 중 가장, 평가값 DFD에 따른 신뢰도가 높은 것으로 판단하고, 신뢰도가 높은 것으로 판단된 할당 대상 화소의 평가값 DFD를, 벡터 선택부(705)에 출력하고, 스텝 S747로 진행한다.
벡터 선택부(705)는, 평가값 판단부(712)로부터의 할당 대상 화소의 평가값 DFD를 입력하면, 스텝 S747에 있어서, 할당 플래그 메모리(56)의 할당 대상 화소의 할당 플래그를 1(True)로 재기록하고, 스텝 S748로 진행하고, DFD 테이블의 할당 대상 화소가 대응하는 최소 평가값을, 평가값 판단부(712)에 의해 신뢰도가 높은 것으로 판단된 평가값 DFD에 재기록하고, 스텝 S749로 진행한다.
벡터 선택부(705)에는, 스텝 S706에 있어서, 화소 정보 연산부(701)로부터 선택한 할당 대상 화소와 그 모션 벡터가 입력되어 있다. 따라서, 벡터 선택부(705)는, 스텝 S749에 있어서, 할당 벡터 메모리(55)의 할당 대상 화소에 할당되어 있는 모션 벡터를, 신뢰도가 높은 것으로 판단된 평가값 DFD에 대응하는 모션 벡터로 재기록하고, 할당 벡터 평가 처리를 종료하고, 도 51의 스텝 S708로 복귀한다.
이상과 같이, 내삽 프레임의 할당 대상 화소에 할당되는 모션 벡터를 선택할 때, 평가값 DFD만아니고, 할당 대상 화소를 기준에 모션 벡터로 대응한 원 프레임 상의 위치에 따라 구해지는, 할당 대상 화소의 휘도 차분 절대값을 구별 취급해로 하여, 평가하도록 했으므로, 종래의 평가값 DFD를 사용하는 만큼의 경우보다, 할당 후보 벡터 중, 가장 확실한 모션 벡터를 선택하여, 할당 대상 화소에 할당된다. 이로써, 벡터 할당의 정밀도가 향상되고, 후단의 화상 보간 처리에 있어서 생성되는 화상의 불연속성 등을 억제할 수 있어, 화상의 품질을 향상시킬 수 있다.
또한, 평가값 DFD나 휘도 차분 절대값을 구할 때 등에, 화소 이하 위치의 화소값이 필요한 경우에, 그 화소 이하 위치의 근방 4화소와의 거리를 기초로 한 선형 보간으로 값을 구하도록 했으므로, 화소 이하 위치 정밀도의 처리가 가능해져, 또한 종래의 화소 이하 성분을 말아 버리는 방법보다, 휘도 차분 절대값 dp나 평가값 DFD를 양호한 정밀도로 구할 수 있고, 이로써, 할당 후보 벡터 중, 주목 화소에 의해 확실한 모션 벡터가 할당된다. 즉, 벡터 할당 처리의 정밀도가 향상된다.
또, 0벡터에 의한 평가값 DFD를 초기값으로서, DFD 테이블에 미리 유지해 두 고, 모션 벡터를 차례로 처리하고 있는 동안, 어떤 모션 벡터에 의한 평가값 DFD가 그 시점에서 최소 평가값으로 되었을 경우에, DFD 테이블의 최소 평가값과 할당 벡터 메모리(55)에 할당되어 있는 모션 벡터를, 수시 갱신하도록 했으므로, 시간과 자원을 효율적으로 사용할 수 있다.
다음에, 할당 보상부(57)의 구성의 상세에 대하여 설명한다.
도 54는, 할당 보상부(57)의 구성을 나타낸 블록도이다. 도 54에 구성을 나타낸 할당 보상부(57)는, 할당 벡터 판정부(801) 및 벡터 보상부(802)에 의해 구성되며, 벡터 할당부(54)에 의해 모션 벡터가 할당되지 않은 60P 신호 내삽 프레임 상의 화소에, 그 주변 화소의 모션 벡터를 보충해 할당하는 처리를 행한다.
전단의 벡터 할당부(54)에 의해, 할당 벡터 메모리(55) 상의 내삽 프레임의 화소에는 모션 벡터가 할당되어 있다. 또, 벡터 할당부(54)에 의해 모션 벡터가 할당된 화소의 할당 플래그 메모리(56)의 할당 플래그에는, 1(True)이 기록되어 있고, 모션 벡터가 할당되지 않은 화소의 할당 플래그 메모리(56)의 할당 플래그에는, 0(False)이 기록되어 있다.
할당 벡터 판정부(801)은, 할당 플래그 메모리(56)의 할당 플래그를 참조하고, 주목 화소에, 벡터 할당부(54)에 의해 모션 벡터가 할당되어 있는지 여부를 판정한다. 그리고, 할당 벡터 판정부(801)은, 벡터 할당부(54)에 의해 모션 벡터가 할당되지 않은 주목 화소를 선택하고, 선택한 주목 화소에 대하여, 벡터 보상부(802)를 제어하고, 그 주목 화소의 주변 화소의 모션 벡터를 선택하여, 할당 벡터 메모리(55)의 내삽 프레임 상에 할당하게 한다.
벡터 보상부(802)는, 할당 벡터 메모리(55)로부터, 주목 화소의 주변 화소에 할당되어 있는 모션 벡터를 취득하고, 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 취득한 모션 벡터의 평가값 DFD를 구하여 비교함으로써, 주목 화소의 주변 화소에 할당된 모션 벡터 중, 평가값 DFD에 따른, 가장 신뢰도가 높은 모션 벡터를, 할당 벡터 메모리(55)의 주목 화소에 할당한다. 또, 벡터 보상부(802)는, 모션 벡터가 할당된 주목 화소의 할당 플래그를 1(True)로 재기록한다.
도 55는, 벡터 보상부(802)의 구성을 나타낸 블록도이다. 도 55에 구성을 나타낸 벡터 보상부(802)는, 보상 처리부(811) 및 평가값 연산부(812)에 의해 구성된다.
보상 처리부(811)는, 최소 평가값 DFD와 최소 평가값 DFD의 모션 벡터를 후보 벡터(이하, 보상 후보 벡터이라고도 함)로서 기억하는 메모리(821)을 가지고 있고, 할당 벡터 판정부(801)에 의해 선택된 주목 화소의 초기값으로서, 0벡터의 평가값 DFD를 최소 평가값으로서 메모리(821)에 기억하고, 0벡터를, 보상 후보 벡터로서 메모리(821)에 기억한다. 보상 처리부(811)는, 할당 플래그 메모리(56)을 참조하여, 주목 화소의 주변 화소의 모션 벡터의 유무를 판단하고, 할당 벡터 메모리(55)로부터, 주변 화소에 할당되어 있는 모션 벡터를 취득하고, 평가값 연산부(812)를 제어하고, 그 모션 벡터의 평가값 DFD를 연산시킨다.
또, 보상 처리부(811)는, 평가값 연산부(812)에 의해 연산된 평가값 DFD가 메모리(821)에 기억되어 있는 최소 평가값보다 작은지 여부를 판단하고, 연산된 평 가값 DFD가 최소 평가값보다 작은 것으로 판단한 경우, 메모리(821)의 보상 후보 벡터와 최소 평가값을, 연산된 평가값 DFD와 그 모션 벡터에 재기록하고, 최종적으로, 평가값 DFD가 가장 작은 것으로 판단된 주변 화소의 모션 벡터(보상 후보 벡터)를, 주목 화소의 모션 벡터로서 할당 벡터 메모리(55)의 주목 화소에 할당한다. 또한, 보상 처리부(811)는, 모션 벡터가 할당된 주목 화소의 할당 플래그 메모리(56)의 할당 플래그를 1(True)로 재기록한다.
평가값 연산부(812)는, 할당 벡터 메모리(55)로부터 주변 화소의 모션 벡터를 취득하면, 입력되는 시각 t의 24P 신호의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 할당 벡터 메모리(55)로부터의 모션 벡터의 평가값 DFD를 연산하고, 연산한 평가값 DFD를 보상 처리부(811)에 출력한다.
도 56은, 할당 보상 처리의 원리를 설명하는 도면이다. 도 56의 예에 있어서는, 내삽 프레임 상의 각 화소가 나타나 있다. 화소로부터 출력되는 화살표는, 각 화소에 할당되어 있는 모션 벡터를 나타내고 있고, 화살표가 없는 화소는, 모션 벡터가 할당되어 있지 않은 화소를 나타내고 있다.
여기서, 전단의 벡터 할당부(54)에 의해 모션 벡터가 할당되지 않았던 중앙의 주목 화소 P에 대하여, 주목 화소 P의 근방의 주변 화소에 할당되어 있는 모션 벡터 중, 평가값 DFD에 따른, 신뢰도가 높은 것을 선택하여 할당한다. 도 56의 예의 경우, 주목 화소 P에는, 주목 화소 P 위의 화소의 모션 벡터(굵은 선 화살표)가 선택되어, 할당되어 있다. 이것은, 다음에, 설명하는 모션 상관에 따라 실행되는 처리이다.
도 57은, 모션 상관의 원리에 대하여 설명하는 도면이다. 도 57의 예에 있어서는, 어느 프레임 상을 모션v1으로 움직이는 오브젝트 O1와, 모션v2로 움직이는 오브젝트 O2가 나타나 있다. 오브젝트 O1에 속해 있는 주목 화소 P1와 그 근방 K1는, 오브젝트 O1와 대략 동일 모션v1을 가지고 있다. 또, 오브젝트 O2에 속해 있는 주목 화소 P2와 그 근방 K2는, 오브젝트 O2와 대략 같은 모션v2를 가지고 있다.
이와 같이, 모션 상관이란, 어떤 같은 시간에 있어서의 공간 내(동일 프레임 내)에 있어서, 어느 오브젝트에 속하는 화소의 모션은, 대략 동일 모션을 하고 있는 것이 많다는 것을 나타내는 것이다. 따라서, 모션 벡터를 할당할 수가 없었던 화소에 대하여는, 어떤 같은 시간에 있어서의 공간 내(동일 프레임 내)에 있어서, 이와 같은 모션 상관이 있는 것을 이용하여, 주변 화소의 모션 벡터로부터, 그 화소의 대응하는 모션 벡터를 선택할 수 있다. 그리고, 설명은 생략하지만, 시간 방향의 상관도 마찬가지이다.
다음에, 도 58 내지 도 64를 참조하여, 모션 상관에 따라 실행되는 모션 벡터의 보상 처리에 대하여 설명한다. 즉, 주변 화소의 모션 벡터로부터, 모션 벡터를 선택하고, 주목 화소의 모션 벡터로서 보충하는 처리이다. 도 58의 예에 있어서는, 흰 원은, 내삽 프레임 상의 화소를 나타내고 있고, 모션 벡터를 요구하려는 주목 화소 P의 주변에, 주변 8화소가 나타나 있다. 이 주목 화소 P의 모션 벡터는, 이 주변 8화소의 모션 벡터를 참조하여 구해진다.
도 59의 예에 있어서는, 주목 화소 P의 주변 8화소 중, 좌측 상 화소, 우측 상 화소, 및 우측 하 화소(검은 원)에, 전단의 처리(예를 들면, 전술한 벡터 할당 처리) 등에 의해 구해진 모션 벡터(화살표)가 나타나 있다. 즉, 이 경우의 주목 화소 P의 보상 후보 벡터는, 좌측 상 화소, 우측 상 화소, 및 우측 하 화소의 모션 벡터로 된다. 그리고, 프레임 상에 있어서, 모션 벡터는, 프레임 상의 좌측 위의 화소로부터 라스터 스캔 순서로 구해져 가므로, 주변 8화소 중, 아직 모션 벡터가 구해지지 않은 화소도 존재할 가능성도 있지만, 아직 모션 벡터는 구해져 있지 않으므로, 보상 후보 벡터로는 할 수 없다.
여기서, 도 60의 예에 나타낸 바와 같이, 주변 8화소 중에는, 전단(前段)의 처리에 있어서 구해진 모션 벡터를 가지는 화소(검은 원) 외에, 본 처리에 의해 구해진 모션 벡터를 가지는 화소(해칭된 원)도 존재한다. 즉, 본 처리에 있어서는, 본 처리 자체의 전단의 결과도 이용된다. 따라서, 도 60의 예의 경우의 주목 화소 P의 보상 후보 벡터는, 모션 벡터가 이미 존재하는 화소(검은 원)의 모션 벡터와 전단의 본 처리에 의해 구해진 모션 벡터를 가지는 화소(해칭된 원)의 모션 벡터에 의해 구성되어 있다.
또, 도 61의 예로 나타낸 바와 같이, 모션량을 0으로 한 0벡터(정지 벡터) S0도 보상 후보 벡터로서 이용할 수 있다. 그리고, 도 60의 예에 있어서는, 본 처리에 의해 구해진 모션 벡터를 가지는 화소와, 모션 벡터가 이미 존재하는 화소를 별개로 나타냈지만, 어느 쪽이나 모션 벡터를 가진다는 점에서 같으므로, 도 61 내지 도 64에 있어서는, 본 처리에 의해 구해진 모션 벡터를 가지는 화소도, 모션 벡터가 이미 존재하는 화소(검은 원)에 포함되는 것으로 한다. 따라서, 도 61의 예 의 경우, 주목 화소 P의 보상 후보 벡터는, 모션 벡터가 이미 존재하는 화소(검은 원)의 모션 벡터 및 0벡터 S0에 의해 구성되어 있다.
이상과 같이 하여 구성되는 보상 후보 벡터의 신뢰도(확실함)를 비교하기 위하여, 모션 벡터의 평가 방법에 평가값 DFD는, 이후의 도 62 내지 도 64에 나타낸 바와 같이 하여 구해진다. 도 62는, 보상 후보 벡터로서 0벡터 S0가 사용되는 예를 나타내고 있다. 도 63은, 보상 후보 벡터로서 주변 8화소의 좌측 상 화소의 모션 벡터 VK1가 사용되는 예를 나타내고 있다. 도 64는, 보상 후보 벡터로서 주변 8화소의 위 중앙 화소의 모션 벡터 VK2가 사용되는 예를 나타내고 있다.
도 62의 예에 있어서는, 도면 중 좌측에 나타낸 주목 화소 P의 보상 후보 벡터 중, 0벡터 S0가 선택되고, 선택된 0벡터 S0의 평가값 DFD를 구하는 예가 나타나 있다. 즉, 0벡터 S0에 대한 평가값 DFD는, 주목 화소 P(60P 신호의 내삽 프레임)를 협지하는, 24P 신호의 프레임 t와 프레임 t+1 상에 있어서, 내삽 프레임 상의 주목 화소 P를 기준으로 하여, 선택된 0벡터 S0가 대응되는 교점을 구하고, 이 교점을 중심으로 하여 소정 범위(m×n)의 DFD 연산 범위 D 1-1 및 D 1-2를 산출하고, 산출된 DFD 연산 범위 D 1-1 및 D 1-2를 사용하여, 전술한 식(1)을 연산함으로써 구해진다.
도 63의 예에 있어서는, 도면 중 좌측에 나타낸 주목 화소 P의 보상 후보 벡터 중, 주변 8화소의 좌측 상 화소의 모션 벡터 VK1가 선택되고, 선택된 모션 벡터 VK1의 평가값 DFD를 구하는 예가 나타나 있다. 즉, 주변 8화소의 좌측 상 화소의 모션 벡터 VK1에 대한 평가값 DFD는, 주목 화소 P(내삽 프레임)를 협지하는 프레임 t와 프레임 t+1 상에 있어서, 내삽 프레임 상의 주목 화소 P를 기준으로 하여, 선택된 모션 벡터 VK1가 대응되는 교점을 구하고, 이 교점을 중심으로 하여 소정 범위(m×n)의 DFD 연산 범위 D 2-1 및 D 2-2를 산출하고, 산출된 DFD 연산 범위 D 2-1 및 D 2-2를 사용하여, 전술한 식(1)을 연산함으로써 구해진다.
도 64의 예에 있어서는, 도면 중 좌측에 나타낸 주목 화소 P의 보상 후보 벡터 중, 보상 후보 벡터로서 주변 8화소의 위 중앙 화소의 모션 벡터 VK2가 선택되고, 선택된 모션 벡터 VK2의 평가값 DFD를 구하는 예가 나타나 있다. 즉, 주변 8화소의 위 중앙 화소의 모션 벡터 VK2에 대한 평가값 DFD는, 주목 화소 P(내삽 프레임)를 협지하는 프레임 t와 프레임 t+1 상에 있어서, 내삽 프레임 상의 주목 화소 P를 기준으로 하여, 선택된 모션 벡터 VK2가 대응되는 교점을 구하고, 이 교점을 중심으로 하여 소정 범위(m×n)의 DFD 연산 범위 D 3-1 및 D 3-2를 산출하고, 산출된 DFD 연산 범위 D 3-1 및 D 3-2를 사용하여, 전술한 식(1)을 연산함으로써 구해진다.
그리고, 도면 중 좌측에 나타낸 다른 보상 후보 벡터에 대해서도, 기본적으로 마찬가지의 처리이므로, 그 설명은 생략하지만, 이상과 같이 하여, 주목 화소 P의 주변 화소의 보상 후보 벡터 모든 평가값 DFD가 구해지고, 구해진 이들의 평가값 DFD가 비교되고, 그 중, 가장 평가값 DFD가 최소가 되는 보상 후보 벡터가, 도 65에 나타낸 바와 같이, 주목 화소 P에 할당되는 가장 신뢰도가 있는, 확실한 모션 벡터로서 선택된다.
도 65의 예의 경우, 주목 화소 P의 주변 화소의 보상 후보 벡터 중, 주변 8 화소의 좌측 상 화소의 모션 벡터 VK1의 평가값 DFD가 가장 작은 것으로서 판단되고, 모션 벡터 VK1가, 주목 화소 P의 모션 벡터로서 선택되어, 할당되어 있다.
이상과 같이, 벡터 할당부(54)에 있어서 할당할 수가 없었던 화소의 모션 벡터를, 모션 상관을 이용하여, 주변 화소의 모션 벡터로부터 보상하도록 했으므로, 모션 벡터가 할당되지 않고, 예를 들면, 0벡터가 할당되지 않았던 것과 같은 경우보다, 모션의 혼란을 억제할 수 있다. 또, 이같이 하여 보상된 화소의 모션 벡터도, 다른 화소의 보상 후보 벡터로서 재차 이용할 수 있다. 즉, 공간 방향의 근방의 모션 벡터만아니고, 시간 방향의 근방의 모션 벡터도, 보상 후보 벡터로 사용할 수 있으므로, 오브젝트 내에서 대략 같은 모션을 하는 화소에는, 대략 동일한 모션 벡터가 선택되고, 에러가 적은 안정된 모션 벡터를 얻을 수 있다. 이로써, 벡터 할당의 정밀도가 향상된다.
다음에, 도 66의 플로차트를 참조하여, 할당 보상 처리의 상세를 설명한다. 전단의 벡터 할당부(54)에 의해, 할당 벡터 메모리(55) 상의 내삽 프레임의 화소에는 모션 벡터가 할당되어 있다. 또, 벡터 할당부(54)에 의해 모션 벡터가 할당된 화소의 할당 플래그 메모리(56)의 할당 플래그에는, 1(True)이 기록되어 있고, 모션 벡터가 할당되지 않은 화소의 할당 플래그 메모리(56)의 할당 플래그에는, 0(False)이 기록되어 있다.
할당 벡터 판정부(801)는, 스텝 S801에 있어서, 할당 플래그 메모리(56)의 내삽 프레임의 화소를, 주목 화소로서 선택하고, 스텝 S802로 진행한다. 이 때, 할당 벡터 판정부(801)은, 프레임의 좌측 위의 화소로부터 라스터 스캔 순서로 화 소를 선택한다.
할당 벡터 판정부(801)은, 스텝 S802에 있어서, 할당 플래그 메모리(56) 내의 주목 화소의 할당 플래그가, 0(False)인가 여부를 판단하고, 할당 플래그 메모리(56) 내의 주목 화소의 할당 플래그가, 0(False)인 것으로 판단한 경우, 모션 벡터가 할당되어 있지 않은 것으로 판정하여, 스텝 S803으로 진행하고, 보상 처리부(811)을 제어하고, 벡터 보상 처리를 실행시켜, 스텝 S804로 진행한다. 이 벡터 보상 처리의 자세한 것은, 도 67을 참조하여 후술하지만, 이 벡터 보상 처리에 의해, 주변 화소에 할당된 모션 벡터 중, 평가값 DFD의 최소의 모션 벡터가 보상 후보 벡터로서 메모리(821)에 기억된다.
보상 처리부(811)는, 스텝 S804에 있어서, 메모리(821)의 보상 후보 벡터를, 주목 화소의 모션 벡터로서 할당 벡터 메모리(55)에 할당하고, 스텝 S805로 진행하고, 할당 플래그 메모리(56)의 주목 화소의 할당 플래그를, 1(True)로 재기록하고 스텝 S806으로 진행한다.
한편, 스텝 S802에 있어서, 할당 벡터 판정부(801)은, 할당 플래그 메모리(56) 내의 주목 화소의 할당 플래그가, 1(True)인 것으로 판단한 경우, 그 주목 화소에는 이미 모션 벡터가 할당되어 있는 것으로 판정하여, 스텝 S803 내지 S805의 처리를 스킵하고, 스텝 S806으로 진행한다.
할당 벡터 판정부(801)은, 스텝 S806에 있어서, 할당 플래그 메모리(56)의 내삽 프레임의 모든 화소의 처리가 종료되었는지 여부를 판단하고, 모든 화소의 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S801로 복귀하고, 할당 플래그 메모리(56)의 내삽 프레임의 다음 화소를, 주목 화소로서 선택하고, 그 이후의 처리를 실행한다. 스텝 S806에 있어서, 할당 플래그 메모리(56)의 내삽 프레임의 모든 화소의 처리를 종료한 것으로 판단한 경우, 할당 보상 처리를 종료한다.
다음에, 도 67의 플로차트를 참조하여, 벡터 보상 처리의 상세를 설명한다. 그리고, 도 67은, 도 66의 스텝 S803의 벡터 보상 처리의 예를 나타내고 있다.
보상 처리부(811)는, 스텝 S821에 있어서, 평가값 연산부(812)를 제어하고, 0벡터를 사용하여 평가값 DFD0를 산출시켜, 스텝 S822로 진행한다. 구체적으로는, 평가값 연산부(812)는, 스텝 S821에 있어서, 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 예를 들면, 도 62를 참조하여 전술한 바와 같이, 주목 화소에 대하여, 0벡터에서의 평가값 DFD0를 연산하고, 연산한 평가값 DFD0를 보상 처리부(811)에 출력한다.
스텝 S822에 있어서, 보상 처리부(811)는, 평가값 DFD0를 최소 평가값으로서 메모리(821)에 기억하고, 스텝 S823로 진행하고, 0벡터를 보상 후보 벡터로서 메모리(821)에 기억하고, 스텝 S824로 진행한다. 보상 처리부(811)는, 스텝 S824에 있어서, 할당 벡터 판정부(801)에 의해 선택된 주목 화소의 주변 8화소 중, 1개의 주변 화소를 선택하고, 스텝 S825로 진행한다. 이 때, 보상 처리부(811)는, 주변 8화소 중, 좌측 위의 화소로부터 라스터 스캔 순서로 주변 화소를 선택한다.
보상 처리부(811)는, 스텝 S825에 있어서, 할당 플래그 메모리(56)을 참조하고, 선택한 주변 화소의 모션 벡터가 존재하는지 여부를 판단한다. 할당 플래그 메모리(56)의 주변 화소의 할당 플래그가 1(True)이면, 보상 처리부(811)는, 스텝 S825에 있어서, 선택한 주변 화소에 할당되어 있는 모션 벡터가 존재하면 판단하고, 스텝 S826으로 진행하고, 할당 벡터 메모리(55)로부터, 주변 화소의 모션 벡터를 취득하고, 스텝 S827으로 진행한다. 이 때, 할당 벡터 메모리(55)로부터 평가값 연산부(812)에도 주변 화소의 모션 벡터가 출력된다.
평가값 연산부(812)는, 할당 벡터 메모리(55)로부터 주변 화소의 모션 벡터가 입력되면, 스텝 S827에 있어서, 입력되는 시각 t의 화상의 프레임 t와 시각 t+1의 화상의 프레임 t+1을 사용하여, 주목 화소에 대하여, 할당 벡터 메모리(55)로부터의 모션 벡터의 평가값 DFD를 연산하고, 연산한 평가값 DFD를, 보상 처리부(811)에 출력하고, 스텝 S828으로 진행한다.
보상 처리부(811)는, 평가값 연산부(812)로부터 평가값 DFD가 입력되면, 스텝 S828에 있어서, 평가값 DFD가, 메모리(821)에 기억되어 있는 주목 화소의 최소 평가값보다 작은지 여부를 판단하고, 평가값 DFD가, 메모리(821)에 기억되어 있는 주목 화소의 최소 평가값보다 작은 것으로 판단한 경우, 스텝 S829로 진행하고, 메모리(821)의 최소 평가값을, 최소 평가값보다 작은 것으로 판단된 평가값 DFD에 재기록하고, 스텝 S830으로 진행하고, 메모리(821)의 보상 후보 벡터를, 그 최소 평가값의 모션 벡터에 재기록하고, 스텝 S831로 진행한다.
한편, 스텝 S825에 있어서, 할당 플래그 메모리(56)의 주변 화소의 할당 플래그가 0(False)인 것이면, 보상 처리부(811)는, 선택한 주변 화소에 할당되어 있는 모션 벡터가 없는 것으로 판단하고, 스텝 S826 내지 S830의 처리를 스킵하고, 스텝 S831로 진행한다. 또, 스텝 S828에 있어서, 보상 처리부(811)는, 평가값 DFD 가, 메모리(821)에 기억되어 있는 주목 화소의 최소 평가값 이상이라고 판단한 경우, 스텝 S829 및 S830의 처리를 스킵하고, 스텝 S831로 진행한다.
보상 처리부(811)는, 스텝 S831에 있어서, 주목 화소의 주변 8화소 모두에 대하여 처리가 종료되었는지 여부를 판단하고, 주목 화소의 주변 8화소 모두에 대하여 처리가 종료되어 있지 않은 것으로 판단한 경우, 스텝 S824으로 복귀하고, 다음의 주변 화소를 선택하고, 그 이후의 처리를 반복한다. 또, 보상 처리부(811)는, 스텝 S831에 있어서, 주목 화소의 주변 8화소 모두에 대하여 처리가 종료한 것으로 판단한 경우, 벡터 보상 처리를 종료하고, 도 66의 스텝 S804로 복귀한다.
이상과 같이, 벡터 할당 처리에 있어서, 할당할 수가 없었던 화소에 관해서도, 모션 상관이 있는 것을 이용하여, 그 화소의 주변의 모션 벡터 중, 평가값 DFD에 따른, 가장 신뢰도가 있는, 확실한 모션 벡터를 얻을 수 있다. 이로써, 벡터가 할당되지 않고, 0벡터 등을 할당해 두는 경우보다, 벡터 할당의 정밀도가 향상되고, 후단의 화상 보간 처리에 있어서 생성되는 화상의 불연속성을 억제할 수 있다.
또, 전술한 할당 보상 처리에 의해 모션 벡터가 할당된 화소의 할당 플래그를 1(True)로 재기록하도록 하고, 할당 보상 처리에 의해 할당된 모션 벡터도, 다음의 화소의 보상 후보 벡터로서 사용하도록 했으므로, 오브젝트 내에서 대략 같은 모션을 하는 화소에는, 대략 동일한 모션 벡터가 선택되도록 되어, 에러가 적은 안정된 모션 벡터를 얻을 수 있다. 그 결과, 후단에 있어서 생성되는 화상의 블록 노이즈나 분상 노이즈 등을 억제하여, 품질을 향상시킬 수 있다.
또, 모션 벡터를 구하는 주목 화소에 대하여, 0벡터의 평가값 DFD를 미리 산 출하고, 최소 평가값으로서 메모리에 유지해 둠으로써, 모든 보상 후보 벡터 평가값 DFD를 한번에 산출하고, 그 중에서 최소의 평가값 DFD를 선택하는 경우보다, 시간과 자원을 효율적으로 사용할 수 있다.
그리고, 상기 설명에 있어서는, 벡터 할당부(54)에 있어서 할당되지 않은 화소에 대하여 벡터 보상 처리를 행하고 있지만, 벡터 검출부(52)에 있어서 검출되지 않은(0벡터가 검출된) 화소 등, 어떠한 처리에 있어서 모션 벡터가 구해지지 않았던 화소에 대하여 벡터 보상 처리를 행하도록 해도 된다. 또한, 검출된 모션 벡터, 또는 할당된 모션 벡터가 확실한 것 같지 않은 것(신뢰도가 낮은)으로 되는 화소에 대하여 벡터 보상 처리를 행하도록 해도 된다.
본 실시예에 있어서는, 모션 벡터를 선택할 때의 평가값으로서 차분 절대값합인 평가값 DFD를 사용하여 설명하였으나, 평가값 DFD에 한정되지 않고, 모션 벡터의 신뢰도를 평가하는 것이면, 다른 것을 사용하도록 해도 된다.
또, 본 실시예에 있어서는, 각 처리를 행하는 블록을, 예를 들면, 8화소×8화소나 9화소×9화소 등에 의해 구성하도록 하여 설명하였으나, 이들은, 일례이며, 각 처리를 행하는 블록을 구성하는 화소는, 상기 화소수에 한정되지 않는다.
또한, 본 실시예에 있어서는, 24P 신호로부터 60P 신호로의 신호 변환을 예로, 설명을 행하였으나, 본 발명은, 예를 들면, 동화상의 프레임 주파수 변환으로서 인터레이스 신호나, 다른 프레임 레이트 변환에도 적용할 수 있다.
전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있지만, 소프트 웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트 웨어에 의해 실행시키는 경우 에는, 그 소프트 웨어를 구성하는 프로그램이, 전용의 하드웨어에 내장되어 있는 컴퓨터, 또는 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면, 범용의 퍼스널 컴퓨터 등에, 프로그램 저장 매체로부터 인스톨된다.
컴퓨터에 인스톨되어 컴퓨터에 의해 실행 가능한 상태로 되는 프로그램을 저장하는 프로그램 저장 매체는, 도 1에 나타낸 바와 같이, 자기 디스크(31)(플렉시블 디스크를 포함함), 광디스크(32)(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)를 포함함), 광자기 디스크(33)(MD(Mini-Disc)(상표)를 포함함), 또는 반도체 메모리(34) 등으로 이루어지는 착탈 가능 기록 매체(패키지 미디어), 또는 프로그램이 일시 목표 또는 영속적으로 저장되는 ROM(12) 등에 의해 구성된다.
그리고, 본 명세서에 있어서, 플로차트에 나타낸 스텝은,에 기재된 순서에 따라 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
전술한 바와 같이, 본 발명에 의하면, 구배법에 따르는 모션 벡터의 검출 정밀도를 향상시킬 수 있다. 또한, 본 발명에 의하면, 생성되는 화상의, 특히, 모션이 있는 경계 부근에 있어서의 현저한 시각 열화를 억제할 수 있다.

Claims (15)

  1. 모션 벡터를 검출하기 위한 구배법(勾配法) 연산의 대상으로 되는 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 수단과,
    상기 연산 블록 내의 화소 중 상기 유효 화소 판단 수단에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여 상기 구배법 연산을 행하는 구배법 연산 수단
    을 구비한 화상 처리 장치.
  2. 제1항에 있어서,
    상기 유효 화소 판단 수단은,
    상기 모션 벡터를 검출하는 대상인 제1 프레임, 및 상기 제1 프레임의 다음의 제2 프레임 상의 상기 연산 블록 내의 화소의 시간 방향의 화소 차분을 산출하는 시간 차분 산출 수단을 추가로 구비하고,
    상기 시간 차분 산출 수단에 의해 산출된 상기 시간 방향의 화소 차분에 따라 상기 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한 것으로 판단하는 것을 특징으로 하는 화상 처리 장치.
  3. 제2항에 있어서,
    상기 유효 화소 판단 수단은,
    상기 시간 차분 산출 수단에 의해 산출된 상기 시간 방향의 화소 차분이 소정의 임계값보다 작은지 여부를 판단하는 시간 차분 판단 수단을 추가로 구비하고,
    상기 시간 차분 판단 수단에 의해 상기 시간 방향의 화소 차분이 소정의 임계값보다 작은 것으로 판단된 경우 상기 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한 것으로 판단하는 것을 특징으로 하는 화상 처리 장치.
  4. 제1항에 있어서,
    상기 유효 화소 판단 수단은,
    상기 모션 벡터를 검출하는 대상인 제1 프레임 상의 상기 연산 블록 내의 화소의 제1 공간 방향의 화소 차분을 산출하는 제1 공간 차분 산출 수단과,
    상기 제1 프레임의 다음의 제2 프레임 상의 상기 연산 블록 내의 화소의 제2 공간 방향의 화소 차분을 산출하는 제2 공간 차분 산출 수단과,
    상기 제1 프레임 및 상기 제2 프레임 상의 상기 연산 블록 내의 화소의 시간 방향의 화소 차분을 산출하는 시간 차분 산출 수단을 추가로 구비하고,
    상기 제1 및 제2 공간 차분 산출 수단, 및 상기 시간 차분 산출 수단에 의해 산출된 상기 제1 및 제2 공간 방향, 및 상기 시간 방향의 화소 차분에 따라 상기 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한 것으로 판단하는 것을 특징으로 하는 화상 처리 장치.
  5. 제4항에 있어서,
    상기 유효 화소 판단 수단은,
    상기 제1 및 제2 공간 차분 산출 수단, 및 상기 시간 차분 산출 수단에 의해 산출된 상기 제1 및 제2 공간 방향, 및 상기 시간 방향의 화소 차분에 따른, 상기 화소의 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하는 구배 유사성 판단 수단을 추가로 구비하고,
    상기 구배 유사성 판단 수단에 의해 상기 화소의 구배의 유사성이 소정의 임계값보다 작은 것으로 판단된 경우 상기 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한 것으로 판단하는 것을 특징으로 하는 화상 처리 장치.
  6. 제5항에 있어서,
    상기 구배 유사성 판단 수단은, 상기 제1 및 제2 공간 방향, 및 상기 시간 방향의 화소 차분에 따른, 상기 화소의 수평 방향의 구배의 유사성, 수직 방향의 구배의 유사성, 및 수평 수직 방향의 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하고, 상기 화소의 수평 방향의 구배의 유사성, 수직 방향의 구배의 유사성, 및 수평 수직 방향의 구배의 유사성 중 적어도 한쪽이 소정의 임계값보다 작은 것으로 판단한 경우 상기 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한 것으로 판단하는 것을 특징으로 하는 화상 처리 장치.
  7. 제5항에 있어서,
    상기 구배 유사성 판단 수단은, 상기 제1 및 제2 공간 방향, 및 상기 시간 방향의 화소 차분에 따른, 상기 화소의 수평 방향의 구배의 유사성, 및 수직 방향의 구배의 유사성이 소정의 임계값보다 작은지 여부를 판단하고, 상기 화소의 수평 방향의 구배의 유사성, 및 수직 방향의 구배의 유사성의 양쪽이 소정의 임계값보다 작은 것으로 판단한 경우 상기 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한 것으로 판단하는 것을 특징으로 하는 화상 처리 장치.
  8. 제1항에 있어서,
    상기 연산 블록에 있어서의, 상기 유효 화소 판단 수단에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 상기 화소의 수가 소정수보다 적은지 여부를 판단하는 화소수 판단 수단과,
    상기 화소수 판단 수단에 의한 판단 결과를 기초로 상기 유효 화소 판단 수단 또는 상기 구배법 연산 수단의 처리를 제어하는 연산 제어 수단을 추가로 구비한 것을 특징으로 하는 화상 처리 장치.
  9. 제8항에 있어서,
    상기 화소수 판단 수단에 의해, 상기 연산 블록에 있어서의, 상기 모션 벡터의 검출에 유효한 것으로 판단된 상기 화소의 수가 소정수보다 적은 것으로 판단된 경우 상기 연산 제어 수단은 상기 구배법 연산 수단에 의한 구배법 연산을 정지시키는 제어를 행하는 것을 특징으로 하는 화상 처리 장치.
  10. 제9항에 있어서,
    상기 연산 제어 수단에 의해 상기 구배법 연산 수단에 의한 구배법 연산을 정지시키는 제어가 행해진 결과, 검출되는 모션 벡터에는 0벡터가 할당되는 것을 특징으로 하는 화상 처리 장치.
  11. 제8항에 있어서,
    상기 연산 블록은, 블록 단위로 상기 모션 벡터를 검출하는 경우의 제1 연산 블록, 및 화소 단위로 상기 모션 벡터를 검출하는 경우의 제2 연산 블록에 의해 구성되며,
    상기 유효 화소 판단 수단은 상기 제1 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한지 여부를 판단하고,
    상기 화소수 판단 수단은 상기 제1 연산 블록에 있어서의, 상기 유효 화소 판단 수단에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 상기 화소의 수가 소정수보다 적은지 여부를 판단하고,
    상기 연산 제어 수단은, 상기 화소수 판단 수단에 의해, 상기 제1 연산 블록에 있어서, 상기 모션 벡터의 검출에 유효한 것으로 판단된 상기 화소의 수가 소정수보다 적은 것으로 판단된 경우 상기 제1 연산 블록을 대상으로 한 처리를 상기 제2 연산 블록을 대상으로 한 처리로 전환하게 하도록 상기 유효 화소 판단 수단 및 상기 구배법 연산 수단의 처리를 제어하는 것을 특징으로 하는 화상 처리 장치.
  12. 제8항에 있어서,
    상기 연산 블록은, 블록 단위로 상기 모션 벡터를 검출하는 경우의 제1 연산 블록, 및 화소 단위로 상기 모션 벡터를 검출하는 경우의 제2 연산 블록에 의해 구성되며,
    상기 유효 화소 판단 수단은 상기 제1 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한지 여부를 판단하고,
    상기 화소수 판단 수단은, 상기 제1 연산 블록에 있어서의, 상기 유효 화소 판단 수단에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 상기 화소의 수가 소정수보다 적은지 여부를 판단하고,
    상기 연산 제어 수단은, 상기 화소수 판단 수단에 의해, 상기 제1 연산 블록에 있어서, 상기 모션 벡터의 검출에 유효한 것으로 판단된 상기 화소의 수가 소정수보다 많은 것으로 판단된 경우 상기 유효 화소 판단 수단에 의해 상기 모션 벡터의 검출에 유효한 것은 없는 것으로 판단된 화소에 대하여, 상기 제1 연산 블록을 대상으로 한 처리를, 상기 제2 연산 블록을 대상으로 한 처리로 전환하게 하도록 상기 유효 화소 판단 수단 및 상기 구배법 연산 수단의 처리를 제어하는 것을 특징으로 하는 화상 처리 장치.
  13. 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 스텝과,
    상기 연산 블록 내의 화소 중 상기 유효 화소 판단 스텝의 처리에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 상기 구배법 연산을 행하는 구배법 연산 스텝
    을 포함하는 화상 처리 방법.
  14. 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 스텝과,
    상기 연산 블록 내의 화소 중, 상기 유효 화소 판단 스텝의 처리에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 상기 구배법 연산을 행하는 구배법 연산 스텝을 포함하는, 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  15. 모션 벡터를 검출하기 위한 구배법 연산의 대상으로 되는 연산 블록 내의 화소가 상기 모션 벡터의 검출에 유효한지 여부를 판단하는 유효 화소 판단 스텝과,
    상기 연산 블록 내의 화소 중, 상기 유효 화소 판단 스텝의 처리에 의해 상기 모션 벡터의 검출에 유효한 것으로 판단된 화소만을 사용하여, 상기 구배법 연산을 행하는 구배법 연산 스텝
    을 컴퓨터로 하여금 실행하게 하는 프로그램.
KR1020067020963A 2004-04-09 2005-04-08 화상 처리 장치 및 방법, 기록 매체, 및 프로그램 KR101118981B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00116008 2004-04-09
JP2004116008 2004-04-09
PCT/JP2005/006931 WO2005098752A1 (ja) 2004-04-09 2005-04-08 画像処理装置および方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
KR20070015169A true KR20070015169A (ko) 2007-02-01
KR101118981B1 KR101118981B1 (ko) 2012-03-13

Family

ID=35125289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067020963A KR101118981B1 (ko) 2004-04-09 2005-04-08 화상 처리 장치 및 방법, 기록 매체, 및 프로그램

Country Status (6)

Country Link
US (1) US7848427B2 (ko)
EP (1) EP1734478A4 (ko)
JP (1) JP4692845B2 (ko)
KR (1) KR101118981B1 (ko)
CN (1) CN100555330C (ko)
WO (1) WO2005098752A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4462823B2 (ja) * 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
JP2007074592A (ja) * 2005-09-09 2007-03-22 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
JP4835075B2 (ja) * 2005-09-09 2011-12-14 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
JP4752407B2 (ja) 2005-09-09 2011-08-17 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US7706625B2 (en) * 2006-06-09 2010-04-27 Siemens Aktiengesellschaft Trilateral filter for medical diagnostic imaging
US8929434B2 (en) * 2006-10-14 2015-01-06 Ubiquity Broadcasting Corporation Video enhancement internet media experience in converting high definition formats to video formats
US8090022B2 (en) * 2007-01-05 2012-01-03 Sony Corporation Video coding system
JP5023805B2 (ja) * 2007-05-16 2012-09-12 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8355077B2 (en) * 2008-03-27 2013-01-15 Csr Technology Inc. Adaptive windowing in motion detector for deinterlacer
JP5306061B2 (ja) * 2009-06-01 2013-10-02 キヤノン株式会社 画像処理装置、画像処理方法、プログラム及び記憶媒体
US8891831B2 (en) * 2010-12-14 2014-11-18 The United States Of America, As Represented By The Secretary Of The Navy Method and apparatus for conservative motion estimation from multi-image sequences
US9094561B1 (en) * 2010-12-16 2015-07-28 Pixelworks, Inc. Frame interpolation and motion vector reconstruction
JP5558431B2 (ja) * 2011-08-15 2014-07-23 株式会社東芝 画像処理装置、方法及びプログラム
KR101960761B1 (ko) * 2011-11-24 2019-03-22 에스케이텔레콤 주식회사 모션 벡터의 예측 부호화/복호화 방법 및 장치
GB2514334B (en) * 2013-05-13 2020-04-22 Snell Advanced Media Ltd Video processing
CN104811726B (zh) * 2015-04-24 2018-12-18 宏祐图像科技(上海)有限公司 帧率转换中运动估计的候选运动矢量选择方法
USD862505S1 (en) 2015-10-02 2019-10-08 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD854557S1 (en) 2015-10-02 2019-07-23 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
KR102525033B1 (ko) * 2015-11-11 2023-04-24 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
KR20220166777A (ko) * 2021-06-09 2022-12-19 엔비디아 코포레이션 이미지들 간의 픽셀들의 모션 컴퓨팅

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200820A (en) 1978-06-30 1980-04-29 Varian Associates, Inc. High power electron beam gyro device
JPS60158786A (ja) * 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
FR2648254B2 (fr) * 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US5200820A (en) * 1991-04-26 1993-04-06 Bell Communications Research, Inc. Block-matching motion estimator for video coder
US5822007A (en) * 1993-09-08 1998-10-13 Thomson Multimedia S.A. Method and apparatus for motion estimation using block matching
JPH07135663A (ja) * 1993-09-17 1995-05-23 Oki Electric Ind Co Ltd 動きベクトル検出方法および動きベクトル検出装置
DE69422876T2 (de) * 1993-10-11 2000-06-15 Thomson Multimedia Sa Verfahren und Gerät zur Korrektur von Bewegungsvektoren
JP3800640B2 (ja) * 1995-07-04 2006-07-26 ソニー株式会社 画像情報の動き検出方法及びその装置、画像情報の符号化方法及びその装置、画像情報伝送システム、画像情報記録システム並びに記録媒体
KR100224752B1 (ko) * 1997-06-11 1999-10-15 윤종용 표적 추적 방법 및 장치
US7003134B1 (en) * 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information

Also Published As

Publication number Publication date
JPWO2005098752A1 (ja) 2008-02-28
CN1950850A (zh) 2007-04-18
EP1734478A4 (en) 2011-04-13
KR101118981B1 (ko) 2012-03-13
EP1734478A1 (en) 2006-12-20
US20050259738A1 (en) 2005-11-24
US7848427B2 (en) 2010-12-07
WO2005098752A1 (ja) 2005-10-20
JP4692845B2 (ja) 2011-06-01
CN100555330C (zh) 2009-10-28

Similar Documents

Publication Publication Date Title
KR101118981B1 (ko) 화상 처리 장치 및 방법, 기록 매체, 및 프로그램
KR101118982B1 (ko) 화상 처리 장치 및 방법, 기록 매체, 및 프로그램
KR101157053B1 (ko) 화상 처리 장치 및 방법, 기록 매체, 및 프로그램
JP4752407B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP2007074592A (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP4432714B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4512983B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4512982B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4419069B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4512984B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4655214B2 (ja) 画像処理装置および方法、プログラム並びに記録媒体
JP4512985B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP2007110461A (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP4655217B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP4650682B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP4835075B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP4655216B2 (ja) 画像処理装置および方法、並びにプログラム
JP4655215B2 (ja) 画像処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee