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

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

Info

Publication number
KR20060044849A
KR20060044849A KR20050025517A KR20050025517A KR20060044849A KR 20060044849 A KR20060044849 A KR 20060044849A KR 20050025517 A KR20050025517 A KR 20050025517A KR 20050025517 A KR20050025517 A KR 20050025517A KR 20060044849 A KR20060044849 A KR 20060044849A
Authority
KR
South Korea
Prior art keywords
pixel
field
interest
motion vector
interpolation
Prior art date
Application number
KR20050025517A
Other languages
English (en)
Other versions
KR101106419B1 (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 KR20060044849A publication Critical patent/KR20060044849A/ko
Application granted granted Critical
Publication of KR101106419B1 publication Critical patent/KR101106419B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B42BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
    • B42DBOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
    • B42D1/00Books or other bound products
    • B42D1/009Books or other bound products characterised by printed matter not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B42BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
    • B42DBOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
    • B42D15/00Printed matter of special format or style not otherwise provided for

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Television Systems (AREA)

Abstract

본 발명은 적정한 보간 화소를 생성하는 것을 목적으로 한다. 이를 위해, 필드 간 보간 화소 Pt와 동일한 필드 상에서 인접하는 화소 B, D의 각각의 차분 절대값의 합에 기초하여, 필드 간 보간 공간 천이가 구해진다. 필드 간 보간 화소 Pt와 전 지연 필드 내의 동일한 위치의 화소 A 및 현 필드 내의 동일한 위치의 화소 C의 각각의 차분값의 절대값의 합에 기초하여, 필드 간 보간 시간 천이가 구해진다. 필드 내 보간 화소 Ps와 전 지연 필드 내의 동일한 위치의 화소 A 및 현 필드 내의 동일한 위치의 화소 C의 각각의 차분의 절대값의 합에 기초하여, 필드 내 보간 시간 천이가 구해진다. 필드 간 보간 공간 천이, 필드 간 보간 시간 천이, 및 필드 내 보간 시간 천이의 정보에 기초하여, 보간 생성 화소의 에러 발생량이 구해지고, 에러 발생량에 따라, 필드 간 보간이나, 필드 내 보간을 전환하여 화소를 생성한다.
움직임 보상부, 조건 판정부, 화소 벡터 선택부, 움직임 벡터 평활화부, 공간 보간부

Description

화상 처리 장치 및 방법, 기록 매체, 및 프로그램{IMAGE PROCESSING APPARATUS AND METHOD, RECORDING MEDIUM, AND PROGRAM}
도 1은 종래의 화상 처리 장치의 구성을 도시하는 블록도.
도 2는 본 발명을 적용한 화상 처리 장치의 일 실시예의 구성을 도시하는 블록도.
도 3은 도 1의 화소 단위 움직임 벡터 검출부(21)의 구성을 도시하는 블록도.
도 4는 도 1의 화상 처리 장치에 의한 화상 처리를 설명하는 흐름도.
도 5는 도 4의 단계 S2의 처리의 움직임 보상 처리를 설명하는 흐름도.
도 6은 주목 블록과 근방 블록을 설명하는 도면.
도 7은 블록의 사이즈를 설명하는 도면.
도 8은 주목 블록과 근방 블록의 블록 단위 움직임 벡터를 설명하는 도면.
도 9는 화소가 생성되는 생성 필드를 설명하는 도면.
도 10은 차분을 구하는 화소를 설명하는 도면.
도 11은 도 4의 단계 S3의 처리의 조건 판정 처리를 설명하는 흐름도.
도 12는 도 4의 단계 S4의 처리의 선택 처리를 설명하는 흐름도.
도 13은 처리 전의 화상의 예를 나타내는 도면.
도 14는 도 13의 화상을 종래의 방법에 의해 해상도를 변환한 예를 설명하는 도면.
도 15는 도 13의 화상을 본 발명의 방법에 의해 해상도를 변환한 예를 설명하는 도면.
도 16은 화소 단위 움직임 벡터 검출부의 그 밖의 구성을 도시하는 도면.
도 17은 도 16의 화상 처리 장치에 의한 화상 처리를 설명하는 흐름도.
도 18은 도 17의 단계 S72의 처리의 부가 정보 검출 처리를 설명하는 흐름도.
도 19는 부가 정보인 엣지의 방향을 식별하는 코드를 설명하는 도면.
도 20은 부가 정보인 엣지의 방향을 식별하는 코드를 설명하는 도면.
도 21은 도 17의 단계 S73의 처리의 움직임 보상 처리를 설명하는 흐름도.
도 22는 도 17의 단계 S74의 처리의 조건 판정 처리를 설명하는 흐름도.
도 23은 화소 단위 움직임 벡터 검출부의 또한 그 밖의 구성을 도시하는 도면.
도 24는 도 23의 화소 단위 움직임 벡터 검출부를 구비한 화상 처리 장치의 화상 처리를 설명하는 흐름도.
도 25는 블록 단위 움직임 벡터의 그 밖의 예를 나타내는 도면.
도 26은 도 24의 단계 S152의 처리의 움직임 벡터 평활화 처리를 설명하는 흐름도.
도 27은 움직임 벡터 평활화 처리를 설명하는 도면.
도 28은 화소 단위 움직임 벡터 검출부의 또한 그 밖의 구성을 도시하는 도면.
도 29는 도 28의 화소 단위 움직임 벡터 검출부에 의한 조건 판정 처리를 설명하는 흐름도.
도 30은 도 29의 단계 S207의 처리의 움직임 벡터 평활화 처리를 설명하는 흐름도.
도 31은 도 28의 화소 단위 움직임 벡터 검출부에 의한 선택 처리를 설명하는 흐름도.
도 32는 화상 처리 장치의 그 밖의 실시예의 구성을 도시하는 블록도.
도 33은 도 32의 화상 합성부의 구성을 도시하는 블록도.
도 34는 도 33의 에러 처리부의 구성을 도시하는 블록도.
도 35는 도 32의 화상 처리 장치에 의한 화상 처리를 설명하는 흐름도.
도 36은 도 35의 흐름도의 단계 S305의 처리인 화상 합성 처리를 설명하는 흐름도.
도 37은 도 35의 흐름도의 단계 S305의 처리인 화상 합성 처리를 설명하는 도면.
도 38은 도 36의 흐름도의 단계 S323의 처리인 에러 검출 처리를 설명하는 흐름도.
도 39는 도 38의 흐름도의 단계 S341의 처리인 필드 간 보간 공간 천이 해석 처리를 설명하는 흐름도.
도 40은 도 38의 흐름도의 단계 S341의 처리인 필드 간 보간 공간 천이 해석 처리를 설명하는 도면.
도 41은 도 38의 흐름도의 단계 S341의 처리인 필드 간 보간 공간 천이 해석 처리를 설명하는 도면.
도 42는 도 38의 흐름도의 단계 S342의 처리인 필드 간 보간 시간 천이 해석 처리를 설명하는 흐름도.
도 43은 도 38의 흐름도의 단계 S342의 처리인 필드 간 보간 시간 천이 해석 처리를 설명하는 도면.
도 44는 도 38의 흐름도의 단계 S342의 처리인 필드 간 보간 시간 천이 해석 처리를 설명하는 도면.
도 45는 도 38의 흐름도의 단계 S343의 처리인 필드 내 보간 시간 천이 해석 처리를 설명하는 흐름도.
도 46은 도 38의 흐름도의 단계 S343의 처리인 필드 내 보간 시간 천이 해석 처리를 설명하는 도면.
도 47은 도 32의 화상 처리 장치에 입력되는 화상의 예를 나타내는 도면.
도 48은 도 32의 화상을 종래의 처리 방법에 의해 해상도를 변환한 화상의 예를 나타내는 도면.
도 49는 도 32의 화상 처리 장치에 의해 필드 간 보간 공간 천이 해석 처리에 의해 에러 발생량이 소정의 값보다 큰 화소를 나타내는 처리를 한 화상의 예를 나타내는 도면.
도 50은 도 32의 화상 처리 장치에 의해 필드 간 보간 시간 천이 해석 처리에 의해 에러 발생량이 소정의 값보다 큰 화소를 나타내는 처리를 한 화상의 예를 나타내는 도면.
도 51은 도 32의 화상 처리 장치에 의해 에러 발생량에 기초하여, 보간 방법이 상이한 화소를 채용하도록 하여 해상도를 변환한 화상의 예를 나타내는 도면.
도 52는 기록 매체를 설명하는 도면이다.
〈도면의 주요 부분에 대한 부호의 설명〉
12 : 블록 단위 움직임 벡터 검출부
21 : 화소 단위 움직임 벡터 검출부
22 : 화상 합성부
31 : 블록 단위 움직임 벡터용 메모리
32 : 현 필드 데이터용 전처리부
33 : 현 필드 데이터용 버퍼
34 : 전 지연 필드 데이터용 전처리부
35 : 전 지연 필드 데이터용 버퍼
36 : 움직임 보상부
37 : 조건 판정부
38 : 화소 벡터 선택부
51 : 현 필드 부가 정보 검출부
52 : 현 필드 부가 정보용 버퍼
53 : 전 지연 필드 부가 정보 검출부
54 : 전 지연 필드 부가 정보용 버퍼
55 : 움직임 보상부
56 : 조건 판정부
71 : 움직임 벡터 평활화부
81 : 조건 판정부
82 : 움직임 벡터 평활화부
38 : 화소 벡터 선택부
101 : 화상 합성부
111 : 공간 보간부
112 : 시간 보간부
113 : 에러 처리부
114 : 화소 생성부
131 : 필드 내 보간 시간 천이 해석부
132 : 필드 간 보간 시간 천이 해석부
133 : 필드 내 보간 공간 천이 해석부
134 : 혼합부
[특허 문헌 1] 일본 특개평05-219529호 공보
본 발명은, 화상 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것으로, 특히, 화소 단위로 움직임 벡터를 정확하게 구함과 함께, 구해진 움직임 벡터에 기초하여 생성되는 화소의 에러 발생량에 따라, 화소의 생성 방법을 전환하도록 한 화상 처리 장치 및 방법, 기록 매체, 및 프로그램에 관한 것이다.
기존의 화상의 화소에 기초하여, 새로운 화소를 생성하고, 화상의 해상도나 필드 주파수를 변환시키는 기술이 일반적으로 보급되어 있다.
동화상의 화소 생성에는, 움직임 벡터를 이용하는 방법이 알려져 있다. 움직임 벡터란, 동화상 등에서, 시간적으로 동일한 화소값을 갖는 화소가 이동하는 경우, 그 화소가 움직이는 방향과 거리를 나타내는 것이다.
도 1은, 종래의 움직임 벡터를 이용한 주사선 수 변환을 행하는 화상 처리 장치(1)의 구성을 도시하고 있다.
화상 처리 장치(1)는, 화상 메모리(11-1, 11-2), 블록 단위 움직임 벡터 검출부(12), 및 화상 합성부(13)로 구성되며, 도시하지 않는 TV(Television) 튜너나 DVD(Digital Versatile Disc) 플레이어 등으로부터 공급되는 영상 소스를 통해 얻어진 인터레이스 화상 신호로서, AD(Analog to Digital) 변환기에 의해 디지털화된 입력 데이터의 주사선 수를 변환하여 출력한다.
화상 메모리(11-1, 11-2)는, 입력된 필드 데이터를 1 필드분 저장하고, 1 필드분 지연 후 출력한다. 따라서, 화상 메모리(11-1)는, 현 필드에 대하여 1 필드 분 지연한 지연 필드 데이터를 화상 합성부(13)에 공급한다. 또한, 화상 메모리(11-2)는, 1 필드분 더 지연된 전 지연 필드 데이터(previous-delayed-field data)를 공급한다. 결과적으로, 화상 메모리(11-2)는, 합계 2 필드분 지연된 필드 데이터(=전 지연 필드 데이터)가 블록 단위 움직임 벡터 검출부(12), 및 화상 합성부(13)에 공급된다.
블록 단위 움직임 벡터 검출부(12)는, 현 필드 데이터와 화상 메모리(11-2)로부터 공급되는 전 지연 필드 데이터를 취득하고, 이 2 필드 간의 필드 데이터의 상관으로부터 움직임 벡터를 검출한다. 보다 구체적으로는, 블록 단위 움직임 벡터 검출부(12)는, 예를 들면, 블록 매칭법에 의해 움직임 벡터를 블록 단위로 검출한다. 블록 매칭법이란, 예를 들면, 현 필드 내의 소정 수의 화소로 이루어지는 기준 블록을 설정하며, 또한 전 지연 필드 내에서, 기준 블록과 동일한 사이즈의 검색 블록을 설정하고, 이 검색 블록을 순차적으로 전 지연 필드 내를 이동시키면서 검색 블록 내의 화소를 순차적으로 추출하며, 기준 블록과 검색 블록의 각각의 대응하는 화소 위치의 화소 간의 화소값의 차분 절대값의 합을 계산하고, 그 차분 절대값의 합을 최소로 하는 검색 블록과, 기준 블록 간의 상대적인 위치 관계에 기초하여, 움직임 벡터를 구하는 방법이다.
화상 합성부(13)는, 현 필드 데이터, 화상 메모리(11-1, 11-2)로부터 공급되는 지연 필드 데이터 및 전 지연 필드 데이터, 및 블록 단위 움직임 벡터 검출부(12)로부터 공급되는 블록 단위 움직임 벡터를 취득하고, 이들 정보로부터 화상을 합성하며, 주사선 수 변환을 행하고, 출력 데이터로서 후단으로 출력한다.
다음으로, 도 1의 화상 처리 장치(1)의 동작에 대하여 설명한다.
먼저, 화상 메모리(11-1)가, 선두의 필드 데이터를 기억한다. 다음 타이밍에서, 화상 메모리(11-1)는, 기억하고 있었던 필드 데이터를 지연 필드 데이터로서 화상 메모리(11-2), 및 화상 합성부(13)에 공급한다. 또한, 다음 타이밍에서, 화상 메모리(11-1)는, 기억하고 있는 지연 필드 데이터를, 화상 메모리(11-2)에 공급함과 함께, 화상 합성부(13)에 공급한다. 또한, 화상 메모리(11-2)는, 기억하고 있었던 전 지연 필드 데이터를 각각 블록 단위 움직임 벡터 검출부(12), 및 화상 합성부(13)에 공급한다.
이 때, 블록 단위 움직임 벡터 검출부(12)는, 현 필드 데이터와 전 지연 필드 데이터를 이용하여, 블록 매칭에 의해 블록 단위로 움직임 벡터를 구하고, 화상 합성부(13)에 공급한다.
화상 합성부(13)는, 공급된 지연 필드 상의 프로그레시브 화상용으로 새롭게 생성할 필요가 있는 주사선 상의 각 화소를 통과하는 움직임 벡터와 교차되는, 현 필드 데이터와 전 지연 필드 데이터 상의 화소를 이용하여 필드 간 보간에 의해 화소를 생성하고, 인터레이스 화상의 지연 필드 화상을 프로그레시브 화상으로 하여 출력한다.
또한, 휘도 신호의 움직임뿐만 아니라 색차 신호 등의 움직임도 검출하도록 하여 움직임 벡터를 검출하도록 하여, 정확하게 움직임 벡터를 검출할 수 있도록 하는 것이 있다(예를 들면, 특허 문헌 1 참조).
그러나, 전술한 움직임 벡터를 검출하기 위한 연산 방법인 블록 매칭법에서는, 블록 사이즈가 크면 움직임 벡터의 검출 정밀도가 저하되지만, 어느 정도의 블록 사이즈보다 작게 하여도 움직임 벡터의 검출 정밀도가 향상하지 않는 것이 알려져 있다. 또한, 블록 매칭에서는, 블록 사이즈를 작게 하면 방대한 계산량으로 되기 때문에 계산 코스트가 지나치게 들게 된다는 문제가 있었다.
또한, 움직임 벡터의 검출 정밀도의 향상과 리얼타임 처리를 실현시키기 위해 계산 코스트를 억제시키는 등의 상반되는 요구의 균형으로부터, 움직임 벡터는 소정의 크기의 블록 단위로 구해지는 것으로 된다. 그 때문에, 움직임 벡터가 검출되는 검색 블록 내에서, 2개 이상의 움직임 벡터를 갖는 화소가 존재하고 있는 경우, 보간에 의해 생성되는 화소로 이루어지는 화상에서는, 블록 단위로 왜곡이 발생하거나, 보간에 의해 생성된 화소와, 주변의 화소가 미스매치를 일으키거나, 또한 블록 단위로 움직임 벡터가 동일해지기 때문에, 보간에 의해 생성된 화상의 공간 해상도가 외관 상 열화되는 등의 문제가 발생하고 있었다.
본 발명은 이러한 상황을 감안하여 이루어진 것으로, 특히, 움직임 벡터를 이용한 움직임 보정형 화상 처리에서, 화소 단위의 움직임 벡터를 정확하게 구함과 함께, 보간에 의해 생성된 화소의 에러가 발생하는 정도를 구하고, 보간에 의한 화소의 생성 방법을 전환함으로써, 계산량의 저비용화를 도모하면서, 블록 단위로 발생하는 보간에 의해 생성되는 화상의 왜곡이나, 보간에 의해 생성된 화소의 주변 화소와의 미스매치를 억제하여서 화질을 향상시키도록 하는 것이다.
본 발명의 화상 처리 장치는, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터를 검출하는 블록 단위 움직임 벡터 검출 수단과, 블록 단위 움직임 벡터 검출 수단에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분을 계산하는 차분 계산 수단과, 차분 계산 수단에 의해 계산된 화소값의 차분이 최소로 되는 블록 단위의 움직임 벡터를, 주목 화소의 화소 단위 움직임 벡터로서 선택하는 화소 단위 움직임 벡터 선택 수단과, 화소 단위 움직임 벡터 선택 수단에 의해 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소를 이용하여, 필드 간 보간에 의해 주목 화소의 화소값을 생성하는 필드 간 보간에 의해 생성 수단과, 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용하여, 필드 내 보간에 의해 주목 화소의 화소값을 생성하는 필드 내 보간에 의해 생성 수단과, 필드 간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초하여, 에러 발생량을 계산하는 에러 발생량 계산 수단과, 에러 발생량 계산 수단에 의해 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 수단에 의해 생성된 화소값, 및 필드 간 보간에 의해 생성 수단에 의해 생성된 화소값을 이용하여 주목 화소의 화소값을 결정하는 화소값 결정 수단을 구비하는 것을 특징으로 한다.
상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 각각의 화소에서의 보조 정보를 생성하는 보조 정보 생성 수단을 더 설치하게 할 수 있으며, 화소 단위 움직임 벡터 선택 수단에는, 주목 화소의 생성에 사용되는 제1 필드 상의 화소에서의 보조 정보와, 제2 필드 상의 화소에서의 보조 정보가 일치하며, 또한 차분 계산 수단에 의해 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터를, 주목 화소의 화소 단위 움직임 벡터로서 선택하게 할 수 있다.
상기 보조 정보는, 화소마다의 엣지의 방향을 나타내는 코드로 하게 할 수 있다.
상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소에서의 보조 정보와, 제2 필드 상의 화소에서의 보조 정보가 일치하지 않는 경우, 복수의 블록의 기준 위치와, 주목 화소 간의 거리에 따라, 복수의 블록마다의 블록 단위 움직임 벡터를 평활화하여, 주목 화소의 화소 단위의 움직임 벡터를 계산하는 화소 단위 움직임 벡터 계산 수단을 더 설치하게 할 수 있다.
상기 필드 간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값과, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 공간 천이 정보로서 계산하는 필드 간 보간 화소 공간 천이 정보 계산 수단과, 필드 간 보간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값과, 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 시간 천이 정보로서 계산하는 필드 간 보간 화소 시간 천이 정보 계산 수단과, 필드 내 보간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값과, 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 시간 천이 정보로서 계산하는 필드 내 보간 화소 시간 천이 정보 계산 수단을 더 설치하게 할 수 있으며, 에러 발생량 계산 수단은, 필드 간 보간 화소 공간 천이 정보, 필드 간 보간 화소 시간 천이 정보, 및 필드 내 보간 화소 시간 천이 정보에 기초하여, 에러 발생량을 계산하게 할 수 있다.
본 발명의 화상 처리 방법은, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터를 검출하는 블록 단위 움직임 벡터 검출 단계와, 블록 단위 움직임 벡터 검출 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분을 계산하는 차분 계산 단계와, 차분 계산 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위의 움직임 벡터를, 주목 화소의 화소 단위 움직임 벡터로서 선택하는 화소 단위 움직임 벡터 선택 단계와, 화소 단위 움직임 벡터 선택 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소를 이용하여, 필드 간 보간에 의해 주목 화소의 화소값을 생성하는 필드 간 보간에 의해 생성 단계와, 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용하여, 필드 내 보간에 의해 주목 화소의 화소값을 생성하는 필드 내 보간에 의해 생성 단계와, 필드 간에 의해 생성 단계의 처리에서 생성된 주목 화소의 화소값, 주 목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 단계의 처리에서 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초하여, 에러 발생량을 계산하는 에러 발생량 계산 단계와, 에러 발생량 계산 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 단계의 처리에서 생성된 화소값을 이용하여 주목 화소의 화소값을 결정하는 화소값 결정 단계를 포함하는 것을 특징으로 한다.
본 발명의 기록 매체의 프로그램은, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터의 검출을 제어하는 블록 단위 움직임 벡터 검출 제어 단계와, 블록 단위 움직임 벡터 검출 제어 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분의 계산을 제어하는 차분 계산 제어 단계와, 차분 계산 제어 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위의 움직임 벡터의, 주목 화소의 화소 단위 움직임 벡터로서의 선택을 제어하는 화소 단위 움직임 벡터 선택 제어 단계와, 화소 단위 움직임 벡터 선택 제어 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소를 이용한, 필드 간 보간에 의한 주목 화소의 화소값의 생성을 제어하는 필드 간 보간에 의해 생성 제어 단계와, 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용한, 필드 내 보간에 의한 주목 화소의 화소값의 생성을 제어하는 필드 내 보간에 의해 생성 제어 단계와, 필드 간에 의해 생성 제어 단계의 처리에서 생성된 주목 화소의 화소값, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 제어 단계의 처리에서 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초한, 에러 발생량의 계산을 제어하는 에러 발생량 계산 제어 단계와, 에러 발생량 계산 제어 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값을 이용한 주목 화소의 화소값의 결정을 제어하는 화소값 결정 제어 단계를 포함하는 것을 특징으로 한다.
본 발명의 프로그램은, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터의 검출을 제어하는 블록 단위 움직임 벡터 검출 제어 단계와, 블록 단위 움직임 벡터 검출 제어 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분의 계산을 제어하는 차분 계산 제어 단계와, 차분 계산 제어 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위의 움직임 벡터의, 주목 화소의 화소 단위 움직임 벡터로 하는 선택을 제어하는 화소 단위 움직임 벡터 선택 제어 단계와, 화소 단위 움직임 벡터 선택 제어 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소를 이용한, 필드 간 보간에 의한 주목 화소 의 화소값의 생성을 제어하는 필드 간 보간에 의해 생성 제어 단계와, 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용한, 필드 내 보간에 의한 주목 화소의 화소값의 생성을 제어하는 필드 내 보간에 의해 생성 제어 단계와, 필드 간에 의해 생성 제어 단계의 처리에서 생성된 주목 화소의 화소값, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 제어 단계의 처리에서 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초한, 에러 발생량의 계산을 제어하는 에러 발생량 계산 제어 단계와, 에러 발생량 계산 제어 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값을 이용한 주목 화소의 화소값의 결정을 제어하는 화소값 결정 제어 단계를 포함하는 처리를 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명의 화상 처리 장치 및 방법, 및 프로그램에서는, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터가 검출되며, 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분이 계산되고, 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터가, 주목 화소의 화소 단위 움직임 벡터로서 선택되며, 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소가 이용되어, 필드 간 보간에 의해 주목 화소의 화소값이 생성되고, 주목 화소를 수직 방향, 또는 수평 방향으로 인접 하는 화소가 이용되어, 필드 내 보간에 의해 주목 화소의 화소값이 생성되며, 필드 간에 의해 생성된 주목 화소의 화소값, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초하여, 에러 발생량이 계산되고, 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성된 화소값, 및 필드 간 보간에 의해 생성된 화소값을 이용하여 주목 화소의 화소값이 결정된다.
본 발명의 화상 처리 장치는, 독립한 장치이어도 되며, 화상 처리를 행하는 블록이어도 된다.
〈실시예〉
이하에 본 발명의 실시예를 설명하는데, 본 명세서에 기재된 발명과, 발명의 실시예의 대응 관계를 예시하면, 다음과 같이 된다. 이 기재는, 본 명세서에 기재되어 있는 발명을 서포트하는 실시예가 본 명세서에 기재되어 있는 것을 확인하기 위한 것이다. 따라서, 발명의 실시예 내에는 기재되어 있지만, 발명에 대응하는 것으로서, 여기에는 기재되어 있지 않은 실시예가 있었다고 하여도, 그것은, 그 실시예가, 그 발명에 대응하는 것이 아닌 것을 의미하는 것은 아니다. 반대로, 실시예가 발명에 대응하는 것으로서 여기에 기재되어 있었다고 하여도, 그것은, 그 실시예가, 그 발명 이외의 발명에는 대응하지 않는 것인 것을 의미하는 것도 아니다.
또한, 이 기재는, 본 명세서에 기재되어 있는 발명 전체를 의미하는 것은 아니다. 바꾸어 말하면, 이 기재는, 본 명세서에 기재되어 있는 발명으로서, 본 출 원에서는 청구되고 있지 않은 발명의 존재, 즉, 장래, 분할 출원되거나, 보정에 의해 출현, 추가되는 발명의 존재를 부정하는 것은 아니다.
즉, 본 발명의 화상 처리 장치는, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터를 검출하는 블록 단위 움직임 벡터 검출 수단(예를 들면, 도 2의 블록 단위 움직임 벡터 검출부(12))과, 블록 단위 움직임 벡터 검출 수단에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분을 계산하는 차분 계산 수단(예를 들면, 도 3의 움직임 보상부(36))과, 차분 계산 수단에 의해 계산된 화소값의 차분이 최소로 되는 블록 단위의 움직임 벡터를, 주목 화소의 화소 단위 움직임 벡터로서 선택하는 화소 단위 움직임 벡터 선택 수단(예를 들면, 도 3의 조건 판정부(37))과, 화소 단위 움직임 벡터 선택 수단에 의해 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소를 이용하여, 필드 간 보간에 의해 주목 화소의 화소값을 생성하는 필드 간 보간에 의해 생성 수단(예를 들면, 도 33의 시간 보간부(112))과, 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용하여, 필드 내 보간에 의해 주목 화소의 화소값을 생성하는 필드 내 보간에 의해 생성 수단(예를 들면, 도 33의 공간 보간부(111))과, 필드 간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드 의 화소의 화소값에 기초하여, 에러 발생량을 계산하는 에러 발생량 계산 수단(예를 들면, 도 33의 에러 처리부(113))과, 에러 발생량 계산 수단에 의해 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 수단에 의해 생성된 화소값, 및 필드 간 보간에 의해 생성 수단에 의해 생성된 화소값을 이용하여 주목 화소의 화소값을 결정하는 화소값 결정 수단(예를 들면, 도 33의 화소 생성부(114))을 구비하는 것을 특징으로 한다.
상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소에서의 각각의 보조 정보를 생성하는 보조 정보 생성 수단(예를 들면, 도 16의 현 필드 데이터용 부가 정보 검출부(51))을 더 제공하게 할 수 있으며, 화소 단위 움직임 벡터 선택 수단에는, 주목 화소의 생성에 사용되는 제1 필드 상의 화소에서의 보조 정보와, 제2 필드 상의 화소에서의 보조 정보가 일치하며, 또한 차분 계산 수단에 의해 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터를, 주목 화소의 화소 단위 움직임 벡터로서 선택하게 할 수 있다.
상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소에서의 보조 정보와, 제2 필드 상의 화소에서의 보조 정보가 일치하지 않는 경우, 복수의 블록의 기준 위치와, 주목 화소 간의 거리에 따라, 복수의 블록마다의 블록 단위 움직임 벡터를 평활화하여, 주목 화소의 화소 단위 움직임 벡터를 계산하는 화소 단위 움직임 벡터 계산 수단(예를 들면, 도 27의 움직임 벡터 평활화부(82))을 더 제공하게 할 수 있다.
상기 필드 간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값과, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 공간 천이 정보로서 계산하는 필드 간 보간 화소 공간 천이 정보 계산 수단(예를 들면, 도 34의 필드 간 보간 화소 공간 천이 해석부(133))과, 필드 간 보간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값과, 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 시간 천이 정보로서 계산하는 필드 간 보간 화소 시간 천이 정보 계산 수단(예를 들면, 도 34의 필드 간 보간 화소 시간 천이 해석부(132))과, 필드 내 보간에 의해 생성 수단에 의해 생성된 주목 화소의 화소값과, 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 시간 천이 정보로서 계산하는 필드 내 보간 화소 시간 천이 정보 계산 수단(예를 들면, 도 34의 필드 내 보간 화소 시간 천이 해석부(131))을 더 제공하게 할 수 있으며, 에러 발생량 계산 수단은, 필드 간 보간 화소 공간 천이 정보, 필드 간 보간 화소 시간 천이 정보, 및 필드 내 보간 화소 시간 천이 정보에 기초하여, 에러 발생량을 계산하게 할 수 있다.
본 발명의 화상 처리 방법은, 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터를 검출하는 블록 단위 움직임 벡터 검출 단계(예를 들면, 도 4의 흐름도의 단계 S1의 처리)와, 블록 단위 움직임 벡터 검출 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분을 계산하는 차분 계산 단계(예를 들면, 도 5의 흐름도의 단계 S13 내지 S17의 처리)와, 차분 계산 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위의 움직임 벡터를, 주목 화소의 화소 단위 움직임 벡터로서 선택하는 화소 단위 움직임 벡터 선택 단계(예를 들면, 도 4의 흐름도의 단계 S4의 처리)와, 화소 단위 움직임 벡터 선택 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 제1 필드 상의 화소와 제2 필드 상의 화소를 이용하여, 필드 간 보간에 의해 주목 화소의 화소값을 생성하는 필드 간 보간에 의해 생성 단계(예를 들면, 도 36의 흐름도의 단계 S322의 처리)와, 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용하여, 필드 내 보간에 의해 주목 화소의 화소값을 생성하는 필드 내 보간에 의해 생성 단계(예를 들면, 도 36의 흐름도의 단계 S321의 처리)와, 필드 간에 의해 생성 단계의 처리에서 생성된 주목 화소의 화소값, 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 단계의 처리에서 생성된 주목 화소의 화소값, 및 주목 화소와 동일한 위치의 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초하여, 에러 발생량을 계산하는 에러 발생량 계산 단계(예를 들면, 도 36의 흐름도의 단계 S323의 처리)와, 에러 발생량 계산 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 단계의 처리에서 생성된 화소값을 이용하여 주목 화소의 화소값을 결정하는 화소값 결정 단계(예를 들면, 도 36의 흐름도의 단계 S325, S327의 처리)를 포함하는 것을 특징으로 한다.
또한, 기록 매체, 및 프로그램에 대한 대응 관계는, 화상 처리 방법과 마찬가지이기 때문에, 그 설명은 생략한다.
도 2는, 본 발명을 적용한 화상 처리 장치(20)의 일 실시예의 구성을 도시하는 도면이다. 또한, 도 2의 화상 처리 장치(20)의 구성에서, 도 1의 화상 처리 장치(1)와 대응하는 구성에 대해서는, 동일한 부호를 붙이고 있으며, 그 설명은, 적절하게 생략하는 것으로 한다.
화소 단위 움직임 벡터 검출부(21)는, 입력 데이터인 현 필드 데이터, 화상 메모리(11-2)로부터 공급되는 전 지연 필드 데이터, 및 블록 단위 움직임 벡터 검출부(12)로부터 공급되는 블록 단위 움직임 벡터에 기초하여, 화소 단위로 움직임 벡터를 생성하고, 화소 단위 움직임 벡터로서 화상 합성부(22)에 공급한다.
화상 합성부(22)는, 입력 데이터인 현 필드 데이터, 화상 메모리(11-1)로부터 공급되는 지연 필드 데이터, 화상 메모리(11-2)로부터 공급되는 전 지연 필드 데이터, 및 화소 단위 움직임 벡터 검출부(21)로부터 공급되는 화소 단위 움직임 벡터에 기초하여, 현 필드와 전 지연 필드를 합성함으로써 새로운 필드를 생성하고 후단의 장치로 출력한다.
화상 합성부(22)는, 생성한 새로운 필드를 포함하는 출력 데이터로서, 예를 들면, 주사선 변환 처리에서는, 입력된 인터레이스 화상을 프로그레시브 화상으로 변환하여 출력하거나, 해상도 변환 또는 필드 주파수 변환을 실행한다. 여기서, 후단의 장치란, 예를 들면, 그 밖의 화상 처리 장치이거나, 텔레비전 수상기와 같은 화상 표시 장치이거나, VTR(Video Tape Recoder)과 같은 화상 기록 장치이어도 된다.
다음으로, 도 3을 참조하여, 화소 단위 움직임 벡터 검출부(21)의 상세한 구성에 대하여 설명한다.
블록 단위 움직임 벡터용 메모리(31)는, 블록 단위 움직임 벡터 검출부(12)로부터 공급되는 블록 단위 움직임 벡터를 저장하고, 주목 블록의 움직임 벡터뿐만 아니라, 그 근방의 움직임 벡터도 포함시킨 복수의 움직임 벡터를 동시에 움직임 보상부(36)에 공급한다. 또한, 주목 화소란, 처리 대상으로 되는 화소이며, 주목 블록이란, 처리 대상으로 되는 주목 화소를 포함하는 복수의 화소로 이루어지는 블록이다.
현 필드 데이터용 전처리부(32)는, LPF(Low Pass Filter) 등으로 구성되며, 입력되는 현 필드 데이터의 노이즈의 영향을 제거하는 전처리를 행하며, 처리 결과로 되는 노이즈 제거된 현 필드 데이터를 현 필드 데이터용 버퍼(33)에 공급한다. 또한, 현 필드 데이터용 전처리부(32)는, LPF에 한하지 않으며, 예를 들면, 미디언 필터와 같은 것이어도 되며, 또한 현 필드 데이터용 전처리부(32)를 설치하지 않고, 전처리를 행하지 않도록 하여도 된다.
현 필드 데이터용 버퍼(33)는, 현 필드 데이터용 전처리부(32)로부터 공급된 전처리 완료의 현 필드 데이터를 저장한다. 현 필드 데이터용 버퍼(33)는, 예를 들면, 메모리 등으로 구성되어 있으며, 현 필드 데이터 중 처리에 필요한 데이터를 보유할 수 있는 용량이 있으면 된다. 현 필드 데이터용 버퍼(33)는, 움직임 보상부(36)로부터의 요구에 따라, 메모리 상을 랜덤하게 액세스함으로써 판독한 데이터 를 움직임 보상부(36)에 공급한다.
전 지연 필드 데이터용 전처리부(34)는, 현 필드 데이터용 전처리부(32)와 마찬가지로 LPF 등으로 구성되며, 화상 메모리(11-2)로부터 공급되는 전 지연 필드 데이터의 노이즈의 영향을 제거하는 전처리를 행하며, 처리 결과를 전 지연 필드 전처리 완료 데이터로 하여 전 지연 필드 데이터용 버퍼(35)에 공급한다.
전 지연 필드 데이터용 버퍼(35)는, 현 필드 데이터용 버퍼(33)와 마찬가지로, 예를 들면, 메모리 등으로 구성되어 있으며, 전 지연 필드 데이터용 전처리부(34)로부터 공급되는 전처리 완료된 전 지연 필드 데이터를 저장한다. 전 지연 필드 데이터용 버퍼(35)는, 움직임 보상부(36)로부터의 요구에 따라, 메모리 상을 랜덤하게 액세스함으로써 판독한 전 지연 필드 데이터를 움직임 보상부(36)에 공급한다.
움직임 보상부(36)는, 움직임 보상 처리를 실행하여, 블록 단위 움직임 벡터용 메모리(31)로부터, 주목 블록과 그 근방의 복수의 블록의 블록 단위의 움직임 벡터를 판독하고, 각 움직임 벡터가, 주목 화소를 통과할 때, 주목 화소가 존재하는 필드로부터 볼 때, 시간적으로 전후의 프레임으로 되는 현 필드 상과 전 지연 필드 상을, 그 움직임 벡터가 통과하는 위치의 화소 간의 화소값의 차분을 구하고, 차분 데이터로서 움직임 벡터마다 조건 판정부(37)에 출력한다. 이 때, 움직임 보상부(36)는, 차분 데이터에 대응하는 움직임 벡터도 조건 판정부(37)에 공급한다.
조건 판정부(37)는, 조건 판정 처리를 실행하여, 움직임 벡터마다 구해진 차분 데이터 중, 최소로 되는 차분 데이터를 선택하고, 최소로 된 차분 데이터에 대 응하는 움직임 벡터를 식별하는 선택 신호와, 비교한 차분 데이터에 대응하는 움직임 벡터를 화소 벡터 선택부(38)에 공급한다.
화소 벡터 선택부(38)는, 선택 처리를 실행하여, 조건 판정부(37)로부터 공급된 선택 신호에 기초하여, 차분 데이터가 최소로 되는 블록 단위 움직임 벡터를 주목 화소의 화소 단위 움직임 벡터로서 선택하여, 화상 합성부(22)로 출력한다.
다음으로, 도 4의 흐름도를 참조하여, 도 2의 화상 처리 장치(20)에 의한 화상 처리에 대하여 설명한다.
단계 S1에서, 블록 단위 움직임 벡터 검출부(12)는, 입력되는 현 필드 데이터와 화상 메모리(11-2)로부터 공급되는 전 지연 필드 데이터에 기초하여, 블록 매칭에 의해 블록 단위로 움직임 벡터를 구하고, 화소 단위 움직임 벡터 검출부(21)에 출력한다. 또한, 블록 단위의 움직임 벡터의 검출 방법에 대해서는, 종래의 블록 매칭법을 이용한 검출 방법과 마찬가지이기 때문에, 그 설명은 생략한다.
단계 S2에서, 화소 단위 움직임 벡터 검출부(21)의 움직임 보상부(36)는, 움직임 보상 처리를 실행하며, 처리 결과로서 처리에 사용한 블록 단위의 움직임 벡터와 차분 데이터를 조건 판정부(37)에 출력한다.
여기서, 도 5의 흐름도를 참조하여, 움직임 보상부(36)에 의한 움직임 보상 처리에 대하여 설명한다.
단계 S11에서, 움직임 보상부(36)는, 처리 횟수를 카운트하기 위한 카운터(도시 생략) y를 초기화하여 0으로 한다. 단계 S12에서, 움직임 보상부(36)는, 처리 횟수를 카운트하기 위한 카운터(도시 생략) x를 초기화하여 0으로 한다.
단계 S13에서, 움직임 보상부(36)는, 현 필드 데이터용 버퍼(33)로부터 현 필드 데이터용 전처리부(32)에 의해 전처리된 현 필드 데이터와, 전 지연 필드 데이터용 버퍼(35)로부터 전 지연 필드 데이터용 전처리부(34)에 의해 전처리된 전 지연 필드 데이터를 판독하고, 도 5에서 나타내는 생성하고자 하고 있는 주목 화소(x, y)가 속하는 블록인 생성 블록과, 그 근방의 복수의 블록 A 내지 E 중, 블록 A의 블록 단위 움직임 벡터인 움직임 벡터 a에 기초하여, 주목 화소(x, y)의 생성에 사용되는 현 필드 상의 화소 a_pr과 전 지연 필드 상의 화소 a_de의 화소값을 구하며, 또한 그 차분 a_diff를 구하고, 계산에 이용한 블록 단위 움직임 벡터 a와 대응시켜서 조건 판정부(37)에 출력한다. 또한, 이후의 설명에서는, 주목 화소가 존재하는 블록을 주목 블록이라 하고, 그 근방의 블록을 근방 블록이라 칭하며, 또한 주목 화소의 필드를 생성 필드라 하는 것으로 한다.
즉, 예를 들면, 도 6에 나타낸 바와 같이, 주목 화소가 존재하는 생성 필드의 사이즈가 xsize×ysize로서, 주목 블록이 도 6 중의 블록 C(도면 중에서는, 검게 표시되어 있는 블록임)인 경우, 그 근방 블록은, 블록 A, B, D, E(도면 중에서는 사선으로 나타내고 있는 블록임)의 4 블록인 것으로 한다. 여기서, 각 블록의 사이즈는, 어느 것이나 동일하며, 예를 들면, 도 7에 나타낸 바와 같이, step_x×step_y이다. 또한, 주목 블록과 근방 블록인 블록 A 내지 E의 블록 단위 벡터는, 예를 들면, 도 8에 나타낸 바와 같이, 각각 움직임 벡터 a 내지 e인 것으로 한다.
또한, 생성 필드는, 시간적으로 전 지연 필드와 현 필드 사이에 존재하는 것이며, 전 지연 필드와 현 필드의 간격을 1로 하면, 도 9에 나타낸 바와 같이, 현 필드까지의 간격을 α로 할 때, 전 지연 필드까지의 거리는 (1-α)로 표시되게 된다.
또한, 주목 화소(x, y)의 생성에 사용하는 현 필드 상의 화소 a_pr과 전 지연 필드 상의 화소 a_de는, 예를 들면, 블록 A의 블록 단위 움직임 벡터 a를 (Xa, Ya)로 나타내는 것으로 하면, 도 10에서 나타낸 바와 같이, 화소 a_pr은, 현 필드 상의 좌표(x+α×Xa, y+α×Ya) 상의 화소이며, 화소 a_de는, 전 지연 필드 상의 좌표(x-(1-α)×Xa, y-(1-α)×Ya) 상의 화소로 된다.
따라서, 블록 단위 움직임 벡터 a가 (Xa, Ya)로 나타나는 경우, 움직임 보상부(36)는, 현 필드 상의 좌표(x+α×Xa, y+α×Ya) 상의 화소 a_pr의 화소값과, 전 지연 필드 상의 좌표(x-(1-α)×Xa, y-(1-α)×Ya) 상의 화소 a_de의 화소값의 차분 a_diff를 구하고, 연산에 이용한 블록 단위 움직임 벡터 a와 대응시켜서 조건 판정부(37)에 공급한다.
즉, 움직임 보상부(36)는, 블록 단위 움직임 벡터 a가, 생성 필드 상의 주목 화소(x, y)를 통과할 때에, 현 필드를 통과하는 위치의 화소(도 10 중의 블록 단위 움직임 벡터 a의 종점으로 되는 위치의 화소)의 화소값과, 전 지연 필드를 통과하는 위치의 화소(도 10 중의 블록 단위 움직임 벡터 a의 시점으로 되는 위치의 화소)의 화소값 간의 차분을 차분 a_diff로서 계산한다.
단계 S14에서, 움직임 보상부(36)는, 단계 S13의 처리와 마찬가지로, 블록 B의 블록 단위 움직임 벡터 b에 기초하여, 주목 화소(x, y)의 생성에 사용하는 현 필드 상의 화소 b_pr과 전 지연 필드 상의 화소 b_de의 화소값을 구하며, 또한 그 차분 b_diff를 구하고, 계산에 이용한 움직임 벡터 b를 대응시켜서 조건 판정부(37)에 출력한다.
단계 S15에서, 움직임 보상부(36)는, 단계 S13의 처리와 마찬가지로, 블록 C의 블록 단위 움직임 벡터 c에 기초하여, 주목 화소(x, y)의 생성에 사용하는 현 필드 상의 화소 c_pr과 전 지연 필드 상의 화소 c_de의 화소값을 구하며, 또한 그 차분 c_diff를 구하고, 계산에 이용한 움직임 벡터 c를 대응시켜서 조건 판정부(37)에 출력한다.
단계 S16에서, 움직임 보상부(36)는, 단계 S13의 처리와 마찬가지로, 블록 D의 블록 단위 움직임 벡터 d에 기초하여, 주목 화소(x, y)의 생성에 사용하는 현 필드 상의 화소 d_pr과 전 지연 필드 상의 화소 d_de의 화소값을 구하며, 또한 그 차분 d_diff를 구하고, 계산에 이용한 움직임 벡터 d를 대응시켜서 조건 판정부(37)에 출력한다.
단계 S17에서, 움직임 보상부(36)는, 단계 S13의 처리와 마찬가지로, 블록 E의 블록 단위 움직임 벡터 e에 기초하여, 주목 화소(x, y)의 생성에 사용하는 현 필드 상의 화소 e_pr과 전 지연 필드 상의 화소 e_de의 화소값을 구하며, 또한 그 차분 e_diff를 구하고, 계산에 이용한 움직임 벡터 e를 대응시켜서 조건 판정부(37)에 출력한다.
단계 S18에서, 움직임 보상부(36)는, 카운터 x가, 필드의 수평 방향의 사이즈에 상당하는 xsize인지의 여부를 판정하여, xsize가 아니라고 판정된 경우, 단계 S19에서, 카운터 x를 1 인크리먼트하고, 그 처리는, 단계 S13으로 되돌아간다.
단계 S18에서, 카운터 x가 xsize가 아니라고 판정된 경우, 단계 S20에서, 움직임 보상부(36)는, 카운터 y가 ysize인지의 여부를 판정하여, 예를 들면, ysize가 아니라고 판정되었을 때, 단계 S21에서, 카운터 y를 1 인크리먼트하고, 그 처리는, 단계 S12로 되돌아가서, 그 이후의 처리가 반복된다.
단계 S20에서, 카운터 y가 ysize라고 판정된 경우, 그 처리는, 종료된다.
즉, 단계 S13 내지 S17의 처리가, 생성 필드 상의 각 화소에 대하여 반복되며, 각 화소에 대하여, 자기가 속하는 블록과, 그 근방의 블록의 블록 단위 움직임 벡터의 전 지연 필드 상의 시점 위치의 화소값과, 현 필드 상의 종점 위치의 화소값 간의 차분 a_diff 내지 e_diff가 구해지고, 연산에 사용된 블록 단위 움직임 벡터와 대응시켜서 조건 판정부(37)에 공급되고, 단계 S18 내지 S21의 처리에 의해, 생성 필드 상의 모든 화소에 대하여, 그 처리가 이루어졌다고 판정될 때까지 반복된다.
여기서, 도 4의 흐름도의 설명으로 되돌아간다.
단계 S4에서, 움직임 보상 처리가 이루어지면, 단계 S5에서, 조건 판정부(37)는, 조건 판정 처리를 실행하고, 각 화소에 대하여 화소 단위 움직임 벡터의 후보로 되는 블록 단위 움직임 벡터 a 내지 e 중 어느 하나를 선택하는 신호를 화소 벡터 선택부(38)에 공급한다.
여기서, 도 11의 흐름도를 참조하여, 조건 판정부(37)에 의한 조건 판정 처리에 대하여 설명한다.
단계 S31에서, 조건 판정부(37)는, 움직임 보상부(36)로부터 공급된 차분 b_diff와 차분 d_diff를 비교하여, 차분 b_diff가 차분 d_diff보다도 작은지 여부를 판정한다. 즉, 조건 판정부(37)는, 주목 블록으로부터 볼 때 수평 방향으로 인접하는 근방 블록의 차분 b_diff와 차분 d_diff의 대소를 비교한다.
예를 들면, 단계 S31에서, 차분 b_diff가 차분 d_diff보다도 작다고 판정된 경우, 조건 판정부(37)는, 단계 S32에서, 수평 방향의 차분 h_diff로서 b_diff를 설정하고(h_diff=b_diff로 설정함), 수평 방향의 근방 블록의 대표로 되는 움직임 벡터 h를 움직임 벡터 b로 설정한다(h=b로 설정함).
한편, 예를 들면, 단계 S31에서, 차분 b_diff가 차분 d_diff보다도 작지 않다고 판정된 경우, 조건 판정부(37)는, 단계 S33에서, 수평 방향의 차분 h_diff로서 d_diff를 설정하고(h_diff=d_diff로 설정함), 수평 방향의 근방 블록의 대표로 되는 움직임 벡터 h를 움직임 벡터 d로 설정한다(h=d로 설정함).
단계 S34에서, 조건 판정부(37)는, 움직임 보상부(36)로부터 공급된 차분 a_diff와 차분 e_diff를 비교하여, 차분 a_diff가 차분 e_diff보다도 작은지 여부를 판정한다. 즉, 조건 판정부(37)는, 주목 블록으로부터 볼 때 수직 방향으로 인접하는 근방 블록의 차분 a_diff와 차분 e_diff의 대소를 비교한다.
예를 들면, 단계 S34에서, 차분 a_diff가 차분 e_diff보다도 작다고 판정된 경우, 조건 판정부(37)는, 단계 S35에서, 수직 방향의 차분 v_diff로서 a_diff를 설정하고(v_diff=a_diff로 설정함), 수직 방향의 근방 블록의 대표로 되는 움직임 벡터 v를 움직임 벡터 e로 설정한다(v=e로 설정함).
한편, 예를 들면, 단계 S34에서, 차분 a_diff가 차분 e_diff보다도 작지 않 다고 판정된 경우, 조건 판정부(37)는, 단계 S36에서, 수직 방향의 차분 v_diff로서 a_diff를 설정하고(v_diff=a_diff로 설정함), 수직 방향의 근방 블록의 대표로 되는 움직임 벡터 v를 움직임 벡터 a로 설정한다(v=a로 설정함).
단계 S37에서, 조건 판정부(37)는, c_diff가 소정의 임계값 th보다도 작은지 여부를 판정하여, 예를 들면, 소정의 임계값 th보다도 작은 경우, 단계 S38에서, 선택 신호 PSEL로서 c_diff를 채용한 것을 나타내는 C와 함께, 블록 단위 움직임 벡터 c를 화소 벡터 선택부(38)에 공급한다.
단계 S37에서, 차분 c_diff가 임계값 th보다도 작지 않다고 판정된 경우, 단계 S39에서, 조건 판정부(37)는, 차분 h_diff가 차분 v_diff보다도 작은지 여부를 판정하여, 예를 들면, 차분 h_diff가 차분 v_diff보다도 작다고 판정된 경우, 단계 S40으로 진행한다.
단계 S40에서, 조건 판정부(37)는, h_diff가 소정의 임계값 th보다도 작은지 여부를 판정하여, 예를 들면, 소정의 임계값 th보다도 작은 경우, 단계 S41에서, 선택 신호 PSEL로서 h_diff를 채용한 것을 나타내는 H와 함께, 블록 단위 움직임 벡터 h를 화소 벡터 선택부(38)에 공급한다. 또한, 단계 S40에서, h_diff가 소정의 임계값 th보다도 작지 않은 경우, 그 처리는, 단계 S38로 진행한다.
단계 S39에서, 차분 h_diff가 차분 v_diff보다도 작지 않다고 판정된 경우, 단계 S42에서, 조건 판정부(37)는, v_diff가 소정의 임계값 th보다도 작은지 여부를 판정하여, 예를 들면, 소정의 임계값 th보다도 작은 경우, 단계 S43에서, 선택 신호 PSEL로서 v_diff를 채용한 것을 나타내는 V와 함께, 블록 단위 움직임 벡터 v 를 화소 벡터 선택부(38)에 공급한다. 또한, 단계 S42에서, v_diff가 소정의 임계값 th보다도 작지 않은 경우, 그 처리는, 단계 S38로 진행한다.
즉, 단계 S31 내지 S33의 처리에 의해, 주목 블록에 대하여 수평 방향으로 인접하는 근방 블록 간의 차분 중 작은 쪽이 수평 방향의 차분으로서 설정되고, 단계 S34 내지 S36의 처리에 의해, 주목 블록에 대하여 수직 방향으로 인접하는 근방 블록 간의 차분 중 작은 쪽이 수직 방향의 차분으로서 설정된다.
그리고, 단계 S37에서, 주목 블록의 차분이 소정의 임계값 th보다도 작은 경우, 단계 S38에서, 선택 신호로서 c_diff를 선택한 것을 나타내는 C가 화소 벡터 선택부(38)에 공급된다. 또한, 단계 S37에서, 주목 블록의 차분이 소정의 임계값 th보다도 작지 않은 경우, 단계 S39에서, 수평 방향의 차분 h_diff와 수직 방향의 차분 v_diff의 대소 관계로부터 차분이 작은 쪽이 선택되고, 단계 S40, S42에서, 각각 소정의 임계값 th보다도 작으면, 단계 S41, S43의 처리에 의해, 각각 선택 신호로서, 각각 h_diff, v_diff를 선택한 것을 나타내는 PSEL=H, V를 화소 벡터 선택부(38)에 공급한다. 또한, 단계 S40, S42에서, 소정의 임계값보다도 작지 않은 경우, 단계 S38에서, 선택 신호로서 c_diff를 선택한 것을 나타내는 C가 화소 벡터 선택부(38)에 공급된다.
결과적으로, 차분 a_diff 내지 e_diff 중, c_diff가 소정의 임계값 th보다도 작으면, 선택 신호 PSEL=C가 화소 벡터 선택부(38)에 공급되고, c_diff가 소정의 임계값 th보다도 작지 않으면, 차분 a_diff, b_diff, d_diff, e_diff 중, 가장 작은 것이며, 또한, 소정의 임계값 th보다도 작은 차분인 선택 신호 PSEL=H 또는 V가 화소 벡터 선택부(38)에 공급되고, 또한 어떠한 차분도 소정의 임계값 th보다도 작지 않은 경우, 선택 신호 PSEL=C가 화소 벡터 선택부(38)에 공급된다.
다음으로, 도 12의 흐름도를 참조하여, 화소 벡터 선택부(38)에 의한 선택 처리에 대하여 설명한다.
단계 S61에서, 화소 벡터 선택부(38)는, 선택 신호 PSEL이 C인지의 여부를 판정하여, 예를 들면, 선택 신호 PSEL이 C라고 판정된 경우, 단계 S62에서, 블록 단위 움직임 벡터 c를, 주목 화소(x, y)의 화소 단위 움직임 벡터로 설정하고, 화소의 위치 정보와 함께 화상 합성부(13)로 출력한다.
단계 S61에서, 선택 신호 PSEL이 C가 아니라고 판정된 경우, 단계 S63에서, 화소 벡터 선택부(38)는, 선택 신호 PSEL이 H인지의 여부를 판정하여, 예를 들면, 선택 신호 PSEL이 H라고 판정된 경우, 단계 S64에서, 블록 단위 움직임 벡터 h(즉, 블록 단위 움직임 벡터 b 또는 d)를, 주목 화소(x, y)의 화소 단위 움직임 벡터로 설정하고, 화소의 위치 정보와 함께 화상 합성부(13)로 출력한다.
단계 S63에서, 선택 신호 PSEL이 H가 아니라고 판정된 경우, 즉, 선택 신호 PSEL이 V라고 판정된 경우, 단계 S65에서, 화소 벡터 선택부(38)는, 블록 단위 움직임 벡터 v(즉, 블록 단위 움직임 벡터 a 또는 e)를, 주목 화소(x, y)의 화소 단위 움직임 벡터로 설정하고, 화소의 위치 정보와 함께 화상 합성부(13)로 출력한다.
이상의 처리에 의해, 선택 신호에 대응한 화소 단위 움직임 벡터가 설정된다.
여기서, 도 4의 흐름도의 설명으로 되돌아간다.
단계 S5에서, 화상 합성부(13)는, 화소 단위 움직임 벡터의 정보에 기초하여, 현 필드 데이터, 지연 필드 데이터, 전 지연 필드 데이터를 합성하고, 해상도를 변환한 화상 데이터를 출력한다. 즉, 예를 들면, 생성 필드 상의 주목 화소의 화소 단위 움직임 벡터가, 블록 단위 움직임 벡터 a이도록 설정되어 있었던 경우, 화상 합성부(13)는, 전술한 도 10에 나타낸 바와 같이, 생성 필드 상의 주목 화소에 대하여, 대응하는 화소 단위 움직임 벡터 a를 이용하여, 화소 단위 움직임 벡터 a가 주목 화소를 통과할 때의 전 지연 필드 상의 화소 단위 움직임 벡터 a의 시점으로 되는 위치의 화소의 화소값과, 현 필드 상의 화소 단위 움직임 벡터 a의 종점으로 되는 위치의 화소의 화소값을 이용하여, 예를 들면, 그 화소 간의 평균값을 취함으로써 필드 간을 보간하여 화소를 생성하며, 또한 필요에 따라 지연 필드 데이터와 합성하여, 화상을 생성하고, 출력한다.
즉, 이상의 처리에 의해, 생성하고자 하는 화소가 속하는 블록을 포함하는, 그 근방의 블록의 블록 단위 벡터를, 생성하고자 하는 화소 위치에서의 화소 단위 움직임 벡터의 후보로 하고, 그 후보로 되어 있는 블록 단위 움직임 벡터를 이용하여, 실제로 필드 간 보간에 사용되는 화소 간의 화소값의 차분이 가장 작은, 즉, 필드 간 보간에 의해 생성되는 새로운 화소가, 필드 간 보간에 사용되는 화소와 가장 상관이 높은 화소로 되는 블록 단위 움직임 벡터가, 화소 단위 움직임 벡터로 설정된다. 결과적으로, 화소 단위 움직임 벡터를 이용하여 필드 간 보간에 의해 생성된 화소는, 화소 단위로 주변과 상관이 높은 것으로 하는 것이 가능해져서, 블 록 단위 움직임 벡터를 이용한 경우에 비해, 보다 자연스러운 화상으로 된다.
또한, 이 처리에 의해, 예를 들면, 도 13에서 나타낸 바와 같은 벡터로 나타내는 영역의 화상의 경우, 종래의 처리에서는, 블록 단위로 움직임 벡터가 설정되어 있기 때문에, 블록으로서 설정된 영역 내에서 상이한 움직임이 있는 화소가 존재하여도(도 13에서는, 배경이 정지되어 있으며, 인물의 어깨 부분이 이동하고 있음), 블록 단위로 동일한 움직임 벡터가 사용되기 때문에, 도 14에서 나타낸 바와 같이, 블록 단위로 계단 형상으로 마찬가지의 위치 관계에 있는 현 필드와 전 지연 필드 상의 화소가 필드 간 보간에 사용됨으로써, 화소가 생성된 화상 상에, 예를 들면, 계단 형상의 샤기(shaggy)가 발생하게 되는 경우가 있었다. 또한, 도 14, 도 15는, 각 화소의 움직임 벡터의 수평 방향의 크기를 농도로 하여 나타낸 것이다. 도 14에서는, 백색 프레임으로 묶인 각 블록 내에 수치가 나타나 있으며, 이들 수치는, 각 블록의 블록 단위의 화소의 움직임 벡터의 수평 방향의 크기를 나타내고 있다. 현재의 경우, 주목 블록이 +12이며, 위에 인접한 근방 블록이 0이고, 아래에 인접한 근방 블록이 13이며, 좌측에 인접한 블록이 -1이고, 우측에 인접한 블록이 +12이며, 주목 블록에서는, 움직임이 있는 화소가 존재하는 영역과, 움직임이 없는 화소가 존재하는 영역이 혼재되어 있음에도 불구하고, 동일한 움직임 벡터가 설정되어 있다.
한편, 본 발명을 이용한 처리에서는, 화소 단위로 움직임 벡터가 설정되며, 또한 이들 움직임 벡터는, 필드 간 보간에 의해 생성되는 화소가 필드 간 보간에 사용되는 화소 간의 차분이 주변의 블록 단위 움직임 벡터 중에서 최소의 것이기 때문에, 주변의 화소와의 상관이 높은 것으로 되어서, 예를 들면, 도 15의 백색 프레임 부분에서 나타내는 주목 블록 내에 움직임이 있는 화소가 존재하는 영역과 움직임이 없는 화소가 존재하는 영역 간의 경계 부분에 대해서도, 각각 구별하여 움직임 벡터가 생성되게 되기 때문에, 결과적으로, 자연스러운 화소 생성을 실현하는 것이 가능하게 된다.
또한, 필드에는, 위상이 상이한 2개의 필드가 있으며, 각각 톱 필드와 보텀 필드라 부른다. 톱 필드는, 최상단의 수평 주사선 상으로부터 1 라인 걸러 화소가 배치되며, 그것 이외의 라인에는, 화소가 없고, 보텀 필드는, 최상단의 1 라인 아래의 수평 주사선으로부터 1 라인 걸러 화소가 생성되고, 그것 이외의 라인에 화소가 존재하지 않는다. 즉, 톱 필드와 보텀 필드에서는, 화소가 존재하는 라인이 1 라인 어긋난 관계로 되어 있다. 이 때문에, 이 예에서는, 현 필드와 전 지연 필드는, 동일한 위상의 필드이지만, 지연 필드는, 현 필드와 전 지연 필드 상에서의 화소 배치가 1 라인 어긋난 상이한 위상의 필드이다.
따라서, 도 9에서 나타내는 α를 1/2로 설정한 경우, 생성 필드는, 지연 필드 그 자체로 되며, 지연 필드 상의 화소가 존재하지 않은 라인 상에, 현 필드와 전 지연 필드 상에 존재하는 화소의 정보에 기초하여, 지연 필드 상의 화소가 존재하지 않은 라인 상에 화소를 생성하며, 또한 지연 필드 데이터와 합성함으로써, 인터레이스 화상을 프로그레시브 화상으로 변환하는 것이 가능하게 된다.
또한, 이상에서는, 화소 단위 움직임 벡터의 후보로서, 주목 블록의 블록 단위 움직임 벡터 외에 근방 블록으로서, 주목 블록에 수평 방향, 및 수직 방향으로 인접하는 블록인 근방 블록의 블록 단위 움직임 벡터를 사용하는 예에 대하여 설명하였지만, 근방 블록은, 그것 이외의 위치의 블록이어도 되며, 또한 수(數)에 대해서도, 전술한 4 블록뿐만 아니라, 예를 들면, 주목 블록의 좌우의 사선의 위, 또는 좌우의 사선의 아래의 위치의 블록을 포함시킨 8 블록으로 하도록 하여도 된다. 또한, 동일한 위상을 갖는 상이한 필드 상의 블록을 근방 블록으로서 사용하여도 되며, 예를 들면, 전후의 동일한 위상의 필드(생성 필드에 대하여 2 필드 전의 필드와 2 필드 후의 필드) 상의 주목 블록과 동일한 위치의 블록 등을 사용하여도 된다.
그런데, 도 3의 화소 단위 움직임 벡터 검출부(21)의 경우, 이 방법에서는, 화소 단위의 움직임 벡터를 도출할 때에, 복수의 블록 단위 움직임 벡터의 후보를 이용하여, 필드 간 보간에 사용하는 화소 간의 화소값의 차분이 작은, 즉, 상관이 높은 화소 간을 시점과 종점으로 하는 움직임 벡터를 화소 단위 움직임 벡터로 하기 때문에, 예를 들면, 마찬가지의 형상이 반복되는 화상이나 복잡한 형상을 갖는 화상에서는, 화소 단위의 움직임 벡터가 오검출될 우려가 있다. 이 오검출된 화소 단위 움직임 벡터가 필드 간 보간에 사용되면, 보간에 의해 생성된 화소로 이루어지는 화상에, 공간적, 또는 시간적인 불연속성이 발생할 우려가 있으며, 결과적으로, 화질의 열화를 초래할 우려가 있다.
따라서, 주목 블록과 근방 블록의 복수의 블록 단위 움직임 벡터를 화소 단위의 움직임 벡터의 후보로 하여, 어느 하나를 선택할 때, 움직임 벡터에 대응한 필드 간 보간에 사용되는 화소 간의 차분뿐만 아니라, 그 밖의 부가 정보에서의 선 택 조건을 부가함으로써 정확하게 화소 단위 움직임 벡터를 선택할 수 있도록 하여도 된다.
도 16은, 주목 블록과 근방 블록의 복수의 블록 단위 움직임 벡터를 화소 단위의 움직임 벡터의 후보로 하여, 어느 하나를 선택할 때, 움직임 벡터에 대응한 필드 간 보간에 사용되는 화소 간의 차분뿐만 아니라, 그 밖의 부가 정보에서의 선택 조건을 부가함으로써, 보다 정확하게 화소 단위 움직임 벡터를 선택할 수 있도록 한 화소 단위 움직임 벡터 검출부(21)의 구성을 도시하고 있다. 또한, 도 3의 화소 단위 움직임 벡터 검출부(21)와 대응하는 구성에 대해서는, 동일한 부호를 붙이고 있으며, 그 설명은 적절하게는 생략하는 것으로 한다.
도 16의 화소 단위 움직임 벡터 검출부(21)에서, 도 3의 화소 단위 움직임 벡터 검출부(21)와 상이한 것은, 현 필드 부가 정보 검출부(51), 현 필드 부가 정보용 버퍼(52), 전 지연 필드 부가 정보 검출부(53), 및 전 지연 필드 부가 정보용 버퍼(54)가 새롭게 추가되어 있으며, 또한 움직임 보상부(36) 및 조건 판정부(37) 대신 움직임 보상부(55) 및 조건 판정부(56)를 설치하고 있는 점이다.
현 필드 부가 정보 검출부(51)는, 현 필드 데이터를 취득하고, 소정의 수순에 따라 부가 정보로서, 화소 단위의 2차원의 엣지의 존재하는 방향을 나타내는 코드를 계산한다. 또한, 현 필드 부가 정보 검출부(51)는, 도 16에 나타내고 있는 바와 같이, 현 필드 데이터를 그대로 사용하여 화소 단위의 2차원의 엣지의 존재하는 방향을 나타내는 코드를 계산하도록 하여도 되지만, 현 필드 데이터용 전처리부(32)에 의해 전처리가 이루어진 현 필드 데이터를 사용하여 화소 단위의 2차원의 엣지의 존재하는 방향을 나타내는 코드를 계산하도록 하여도 된다.
현 필드 부가 정보용 버퍼(52)는, 현 필드 부가 정보 검출부(51)로부터 공급된 부가 정보를 취득하여, 저장한다. 현 필드 부가 정보용 버퍼(52)는, 움직임 보상부(55)로부터의 요구에 따라, 데이터를 움직임 보상부(55)에 공급한다.
전 지연 필드 부가 정보 검출부(53)는, 전 지연 필드 데이터를 취득하고, 소정의 수순에 따라 부가 정보로서, 화소 단위의 2차원의 엣지의 존재하는 방향을 나타내는 코드를 계산한다. 또한, 전 지연 필드 부가 정보 검출부(53)는, 도 16에서 나타내고 있는 바와 같이, 전 지연 필드 데이터를 그대로 사용하여 화소 단위의 2차원의 엣지의 존재하는 방향을 나타내는 코드를 계산하도록 하여도 되지만, 전 지연 필드 데이터용 전처리부(34)에 의해 전처리가 이루어진 전 지연 필드 데이터를 사용하여 화소 단위의 2차원의 엣지의 존재하는 방향을 나타내는 코드를 계산하도록 하여도 된다.
전 지연 필드 부가 정보용 버퍼(54)는, 전 지연 필드 부가 정보 검출부(53)로부터 공급된 부가 정보를 취득하고, 저장한다. 전 지연 필드 부가 정보용 버퍼(54)는, 움직임 보상부(55)로부터의 요구에 따라, 데이터를 움직임 보상부(55)에 공급한다.
움직임 보상부(55)는, 기본적으로는 움직임 보상부(36)와 마찬가지로 움직임 보상 처리를 실행하는 것이지만, 차분 데이터와 블록 단위 움직임 벡터를 조건 판정부(56)에 공급할 뿐만 아니라, 현 필드 부가용 버퍼(52), 및 전 지연 필드 부가용 버퍼(54)로부터 취득한 부가 정보에 기초하여, 복수의 후보로 되는 블록 단위 움직임 벡터마다 필드 간 보간에 사용되는 화소 간의 부가 정보를 비교하여, 비교 결과를 조건 판정부(56)로 출력한다.
조건 판정부(56)는, 조건 판정 처리를 실행하고, 전술한 차분 데이터 외에 비교 결과를 고려하여, 차분 데이터가 작으며, 또한 비교 결과가 일치하는 움직임 벡터를 식별하는 선택 신호와, 비교한 차분 데이터에 대응하는 움직임 벡터를 화소 벡터 선택부(38)에 공급한다.
다음으로, 도 17의 흐름도를 참조하여, 도 21의 화소 단위 움직임 벡터 검출부(21)를 구비한 화상 처리 장치(20)에 의한 화상 처리에 대하여 설명한다. 또한, 도 17의 단계 S71, S75, S76의 처리는, 도 4의 흐름도를 참조하여 설명한 단계 S1, S4, S5의 처리와 마찬가지이기 때문에, 그 설명은 생략한다.
단계 S72에서, 현 필드 부가 정보 검출부(51), 및 전 지연 필드 부가 정보 검출부(53)는, 각각 부가 정보 검출 처리를 실행하여, 현 필드 데이터와 전 지연 필드 데이터의 각각에 대하여, 화소 단위 엣지의 존재하는 방향을 나타내는 코드를 계산하고, 현 필드 부가 정보 버퍼(52) 및 전 지연 필드 부가 정보 버퍼(54)에 저장시킨다.
여기서, 도 18의 흐름도를 참조하여, 현 필드 부가 정보 검출부(51)에 의한 부가 정보 검출 처리를 설명한다.
단계 S81에서, 현 필드 부가 정보 검출부(51)는, 현 필드 상의 각 화소에 대하여, 수평 엣지의 유무를 나타내는 코드인 수평 엣지 코드 EH를 계산한다. 즉, 예를 들면, 도 19에서 나타낸 바와 같이, 주목 화소가 화소 D(x, y)인 경우, 현 필 드 부가 정보 검출부(51)는, 도면 중의 주목 화소의 좌측에 인접하는 화소 D(x-1, y)와의 화소값의 차분(D(x, y)-D(x-1, y))을 수평 엣지 코드 EH로서 연산한다.
단계 S82에서, 현 필드 부가 정보 검출부(51)는, 현 필드의 각 화소에 대하여, 수직 엣지의 유무를 나타내는 코드인 수직 엣지 코드 EV를 계산한다. 즉, 예를 들면, 도 19에서 나타낸 바와 같이, 주목 화소가 화소 D(x, y)인 경우, 현 필드 부가 정보 검출부(51)는, 도면 중의 주목 화소의 상측에 인접하는 화소 D(x, y-1)와의 화소값의 차분(D(x, y)-D(x, y-1))을 수직 엣지 코드 EV로서 계산한다. 또한, 도 19에서는, 수평 방향의 좌표는, 우측을 향해 상승하며, 수직 방향의 좌표는, 아래를 향해 상승하는 것으로 한다.
단계 S83에서, 현 필드 부가 정보 검출부(51)는, 현 필드의 각 화소에 대하여, 소정의 테이블에 기초하여, 수평 엣지 코드 EH와 수직 엣지 코드 EV의 각각의 값이, 플러스의 값인지, 0인지, 또는 마이너스의 값인지에 기초하여, 엣지의 방향을 나타내는 코드를 결정하고, 결정한 엣지의 방향의 코드를 화소 위치의 정보에 대응하여 현 필드 부가 정보 버퍼(52)에 저장시킨다.
즉, 엣지의 방향의 코드를 결정하는 테이블은, 예를 들면, 도 20에서 나타낸 바와 같은 테이블이며, 수평 엣지 코드 EH와 수직 엣지 코드 EV가 플러스의 값, 마이너스의 값, 또는 0 중 어느 하나에 의해 결정된다. 따라서, 도 20에서 나타내는 테이블을 사용하는 경우, 현 필드 부가 정보 검출부(51)는, 수평 엣지 코드 EH와 수직 엣지 코드 EV가, 모두 0인 경우, 엣지는 존재하지 않는다고 간주하고, 코드를 0으로 한다. 또한, 수평 엣지 코드 EH와 수직 엣지 코드 EV가, 모두 마이너스의 값인 경우, 엣지는 주목 화소로부터 볼 때 좌측 위 방향의 위치에 존재하는 것으로 하고, 코드는 1로 된다. 또한, 수평 엣지 코드 EH가 0이며, 수직 엣지 코드 EV가 마이너스의 값인 경우, 엣지는 주목 화소로부터 볼 때 위 방향의 위치에 존재하는 것으로 하고, 코드는 2로 된다. 또한, 수평 엣지 코드 EH가 플러스의 값이며, 수직 엣지 코드 EV가 마이너스의 값인 경우, 엣지는 주목 화소로부터 볼 때 우측 위 방향의 위치에 존재하는 것으로 하고, 코드는 3으로 된다. 또한, 수평 엣지 코드 EH가 플러스의 값이며, 수직 엣지 코드 EV가, 0인 경우, 엣지는 주목 화소로부터 볼 때 우측 방향의 위치에 존재하는 것으로 하고, 코드는 4로 된다. 또한, 수평 엣지 코드 EH와 수직 엣지 코드 EV가, 모두 플러스의 값인 경우, 엣지는 주목 화소로부터 볼 때 우측 아래 방향의 위치에 존재하는 것으로 하고, 코드는 5로 된다. 또한, 수평 엣지 코드 EH가 0이며, 수직 엣지 코드 EV가 플러스의 값인 경우, 엣지는 주목 화소로부터 볼 때 아래 방향의 위치에 존재하는 것으로 하고, 코드는 6으로 된다. 또한, 수평 엣지 코드 EH가 마이너스의 값이며, 수직 엣지 코드 EV가, 플러스의 값인 경우, 엣지는 주목 화소로부터 볼 때 좌측 아래 방향의 위치에 존재하는 것으로 하고, 코드는 7로 된다. 또한, 수평 엣지 코드 EH가 마이너스의 값이고, 수직 엣지 코드 EV가 0인 경우, 엣지는 주목 화소로부터 볼 때 좌측 방향의 위치에 존재하는 것으로 하고, 코드는 8로 된다.
이상의 처리에 의해, 현 필드 데이터 상의 각 화소에 대하여 인접하는 화소 간의 대소 관계로부터 엣지가 존재할 가능성을 나타내는 정보를, 엣지의 방향을 나타내는 코드로 하여 각 화소에 부가할 수 있다. 또한, 이상에서는, 현 필드 부가 정보 검출부(51)에 의한 부가 정보 검출 처리에 대하여 설명하였지만, 전 지연 필드 부가 정보 검출부(53)에서도, 전 지연 필드에서 마찬가지의 처리에 의해 부가 정보가 검출되게 되기 때문에, 그 처리의 설명은 생략한다.
여기서, 도 17의 흐름도의 설명으로 되돌아간다.
단계 S72에서, 부가 정보 검출 처리가 실행된 후, 단계 S73에서, 움직임 보상부(55)는, 움직임 보상 처리를 실행하고, 차분 데이터 및 비교 결과를 조건 판정부(56)로 출력한다.
여기서, 도 21의 흐름도를 참조하여, 움직임 보상부(55)에 의한 움직임 보상 처리에 대하여 설명한다. 또한, 도 21의 흐름도에서, 단계 S101 내지 S103, S105, S107, S109, S111, 및 단계 S113 내지 S116의 처리는, 도 5를 참조하여 설명한 단계 S11 내지 S21의 처리와 마찬가지이기 때문에, 그 설명은 생략한다.
단계 S104에서, 움직임 보상부(55)는, 화소 a_pr과 화소 a_de의 엣지 방향의 코드를 비교하여, 비교 결과 code_a를 조건 판정부(56)로 출력한다. 보다 상세하게는, 움직임 보상부(55)는, 화소 a_pr과 화소 a_de의 엣지 방향의 코드를 비교하여, 일치한 경우, 비교 결과 code_a=1을, 일치하지 않는 경우, 비교 결과 code_a=0을 조건 판정부(56)로 출력한다.
단계 S106에서, 움직임 보상부(55)는, 화소 b_pr과 화소 b_de의 엣지 방향의 코드를 비교하여, 비교 결과 code_b를 조건 판정부(56)로 출력한다. 보다 상세하게는, 움직임 보상부(55)는, 화소 b_pr과 화소 b_de의 엣지 방향의 코드를 비교하여, 일치한 경우, 비교 결과 code_b=1을, 일치하지 않는 경우, 비교 결과 code_b=0 을 조건 판정부(56)로 출력한다.
단계 S108에서, 움직임 보상부(55)는, 화소 c_pr과 화소 c_de의 엣지 방향의 코드를 비교하여, 비교 결과 code_c를 조건 판정부(56)로 출력한다. 보다 상세하게는, 움직임 보상부(55)는, 화소 c_pr과 화소 c_de의 엣지 방향의 코드를 비교하여, 일치한 경우, 비교 결과 code_c=1을, 일치하지 않는 경우, 비교 결과 code_c=0을 조건 판정부(56)로 출력한다.
단계 S110에서, 움직임 보상부(55)는, 화소 d_pr과 화소 d_de의 엣지 방향의 코드를 비교하여, 비교 결과 code_d를 조건 판정부(56)로 출력한다. 보다 상세하게는, 움직임 보상부(55)는, 화소 d_pr과 화소 d_de의 엣지 방향의 코드를 비교하여, 일치한 경우, 비교 결과 code_d=1을, 일치하지 않는 경우, 비교 결과 code_d=0을 조건 판정부(56)로 출력한다.
단계 S112에서, 움직임 보상부(55)는, 화소 e_pr과 화소 e_de의 엣지 방향의 코드를 비교하여, 비교 결과 code_e를 조건 판정부(56)로 출력한다. 보다 상세하게는, 움직임 보상부(55)는, 화소 e_pr과 화소 e_de의 엣지 방향의 코드를 비교하여, 일치한 경우, 비교 결과 code_e=1을, 일치하지 않는 경우, 비교 결과 code_e=0을 조건 판정부(56)로 출력한다.
이상의 처리에 의해, 움직임 보상부(55)는, 후보로 되는 주목 블록과 근방 블록의 블록 단위 움직임 벡터마다의 차분 데이터와 함께, 대응하는 블록 단위 움직임 벡터마다의 프레임 간 보간 처리에 사용하는 화소 간의 엣지의 방향을 나타내는 코드의 비교 결과를 조건 판정부(56)로 출력한다.
여기서, 도 17의 흐름도의 설명으로 되돌아간다.
단계 S74에서, 조건 판정부(56)는, 조건 판정 처리를 실행한다.
여기서, 도 22의 흐름도를 참조하여, 조건 판정부(56)에 의한 조건 판정 처리에 대하여 설명한다.
단계 S131에서, 조건 판정부(56)는, 차분 a_diff, b_diff, d_diff, e_diff를 비교하여, 작은 순으로 재배열한다. 이후의 설명에서는, 차분은, 작은 순으로 차분 a_diff, b_diff, d_diff, e_diff로 배열되어 있는 것으로 하여 설명해가겠지만, 순서는, 이것에 한하는 것이 아님은 말할 필요도 없다.
단계 S132에서, 조건 판정부(56)는, 단계 S131의 처리에서 배열된 차분 a_diff, b_diff, d_diff, e_diff 중, 가장 작은 차분을 선택한다. 따라서, 현재의 경우, 차분 a_diff가 선택되게 된다.
단계 S133에서, 조건 판정부(56)는, 선택된 차분이, 주목 블록에 대하여 수직 방향으로 인접하는 블록의 차분인 a_diff 또는 e_diff인지의 여부를 판정한다. 현재의 경우, a_diff가 선택되어 있기 때문에, a_diff라고 판정되고, 단계 S134로 진행한다.
단계 S134에서, 조건 판정부(56)는, 수직 방향의 차분 v_diff로서 a_diff 또는 e_diff 중 어느 하나가 선택되어 있는 값을 설정하고(v_diff=a_diff 또는 e_diff로 설정함), 수직 방향의 근방 블록의 대표로 되는 움직임 벡터 v를, 차분에 대응하여 움직임 벡터 a 또는 e로 설정하며(v=a 또는 e로 설정함), 비교 결과 code_v를 차분에 대응하여, 비교 결과 code_a, 또는 code_e 중 어느 하나로 설정한 다(code_v=code_a 또는 code_e로 설정함). 현재의 경우, a_diff가 선택되어 있기 때문에, 수직 방향의 차분 v_diff는, a_diff로서 선택되며, 수직 방향의 근방 블록의 대표로 되는 움직임 벡터 v가 움직임 벡터 a로 되고, 비교 결과 code_v는, code_e로 된다.
한편, 예를 들면, 단계 S133에서, 차분 a_diff 또는 차분 e_diff가 선택되어 있지 않다고 판정된 경우, 조건 판정부(56)는, 단계 S135에서, 수평 방향의 차분 h_diff로서 b_diff 또는 d_diff 중 어느 선택되어 있는 값을 설정하고(h_diff=b_diff 또는 d_diff로 설정함), 수평 방향의 근방 블록의 대표로 되는 움직임 벡터 h를, 차분에 대응하여 움직임 벡터 b 또는 d로 설정하며(v=b 또는 d로 설정함), 비교 결과 code_h를 차분에 대응하여, 비교 결과 code_b, 또는 code_d 중 어느 하나로 설정한다(code_h=code_b 또는 code_d로 설정함).
단계 S136에서, 조건 판정부(56)는, c_diff가 소정의 임계값 th보다도 작고, 또한 비교 결과 code_c가 1인지의 여부를 판정하여, 예를 들면, 소정의 임계값 th보다도 작고, 또한 비교 결과 code_c가 1인 경우, 단계 S137에서, 선택 신호 PSEL로서 c_diff를 채용한 것을 나타내는 C와 함께, 블록 단위 움직임 벡터 c를 화소 벡터 선택부(38)에 공급한다. 즉, 주목 블록의 차분 c_diff가 소정의 임계값 th보다도 작고, 또한 비교 결과 code_c가 1(블록 단위 움직임 벡터 c가 주목 화소를 통과할 때의, 블록 단위 움직임 벡터 c의 현 필드 상의 교점의 위치의 화소와 전 지연 필드 상의 교점의 위치에서의 화소의 엣지가 존재하는 방향이 일치하고 있음)인 경우, 주목 블록의 블록 단위 움직임 벡터 c가 선택되게 된다.
단계 S137에서, 차분 c_diff가 임계값 th보다도 작지 않거나, 또는 code_c가 1이 아니라고 판정된 경우, 단계 S138에서, 조건 판정부(56)는, 선택된 차분이, 차분 h_diff인지의 여부를 판정하여, 현재의 경우, 차분 v_diff=a_diff이기 때문에, 차분 h_diff가 아니라고 판정되고, 그 처리는, 단계 S142로 진행한다.
단계 S142에서, 조건 판정부(56)는, v_diff가 소정의 임계값 th보다도 작은지 여부를 판정하여, 예를 들면, 소정의 임계값 th보다도 작은 경우, 단계 S143에서, code_v가 1인지의 여부를 판정하고, 예를 들면, 1이라고 판정되었을 때, 단계 S144에서, 선택 신호 PSEL로서 v_diff를 채용한 것을 나타내는 V와 함께, 블록 단위 움직임 벡터 v를 화소 벡터 선택부(38)에 공급한다. 또한, 단계 S142에서, v_diff가 소정의 임계값 th보다도 작지 않은 경우, 그 처리는, 단계 S137로 진행한다.
또한, 단계 S138에서, h_diff라고 판정된 경우, 단계 S139에서, 조건 판정부(56)는, h_diff가 소정의 임계값 th보다도 작은지 여부를 판정하여, 예를 들면, 소정의 임계값 th보다도 작은 경우, 단계 S140에서, code_h가 1인지의 여부를 판정하며, 예를 들면, 1이라고 판정되었을 때, 단계 S141에서, 선택 신호 PSEL로서 h_diff를 채용한 것을 나타내는 H와 함께, 블록 단위 움직임 벡터 h를 화소 벡터 선택부(38)에 공급한다. 또한, 단계 S139에서, h_diff가 소정의 임계값 th보다도 작지 않은 경우, 그 처리는, 단계 S137로 진행한다.
단계 S140, 또는 단계 S143에서, 각각 code_h가 1이 아니거나, 또는 code_v가 1이 아니라고 판정된 경우, 단계 S145에서, 조건 판정부(56)는, 블록 단위 움직 임 벡터의 후보가 2 이상 남겨져 있는지의 여부를 판정한다. 현재의 경우, 차분 a_diff, b_diff, d_diff, e_diff에 대응하는 블록 단위 움직임 벡터 a, b, d, e의 4개가 남겨져 있기 때문에, 2 이상 남겨져 있다고 판정되고, 그 처리는, 단계 S146으로 진행한다.
단계 S146에서, 조건 판정부(56)는, 지금 현재 차분 diff가 가장 작은 움직임 벡터를 후보로부터 삭제하고, 그 처리는, 단계 S132로 되돌아간다. 즉, 현재의 경우, 차분 a_diff가 가장 작기 때문에, 대응하는 움직임 벡터 a가 후보로부터 삭제되게 된다.
또한, 단계 S132에서는, 후보로부터 움직임 벡터 a가 삭제되어 있기 때문에, 차분 a_diff의 다음으로 작은 차분 b_diff를 선택하고, 그 이후의 처리를 반복한다. 그리고, 단계 S132 내지 S136, S138 내지 S140, S142, S143, S145, S146의 순으로 처리가 이루어지면, 후보로 되어 있는 움직임 벡터 b가 삭제되고, 단계 S132에서, 차분 d_diff가 선택되며, 그 이후의 처리가 반복된다.
그리고, 또한 단계 S132 내지 S136, S138 내지 S140, S142, S143, S145의 순으로 처리가 이루어지면, 단계 S145에서, 후보가 2 이상이 아니게 되기 때문에, 그 처리는, 단계 S137로 진행한다.
즉, 주목 블록의 차분 c_diff가 소정의 임계값 th보다도 작고, 비교 결과 code_c가 1인 경우, 조건 판정부(56)는, 선택 신호 PSEL=C를 출력한다. 또한, 주목 블록의 차분 c_diff가 소정의 임계값 th보다도 작고, 비교 결과 code_c가 1이 아닌 경우, 조건 판정부(56)는, 차분 a_diff, b_diff, d_diff, e_diff 중, 비교 결 과가 1인 것으로 가장 작은 것에 대응하는 선택 신호 PSEL=H 또는 V를 출력한다. 또한, 주목 블록의 차분 c_diff가 소정의 임계값 th보다도 작고, 비교 결과 code_c가 1이 아닌 경우로서, 그 밖의 후보의 비교 결과가 모두 1이 아닐 때, 조건 판정부(56)는, 선택 신호 PSEL=C를 출력한다.
결과적으로, 화소 단위 움직임 벡터의 후보로 되는 블록 단위 움직임 벡터가 주목 화소를 통과할 때의 현 필드 상의 교점의 위치의 화소와 전 지연 필드 상의 교점의 위치의 화소와의 화소 간 차분뿐만 아니라, 각각의 화소의 엣지가 존재하는 방향이 일치하는지의 여부의 요소도 고려하여, 주목 블록과 그 근방 블록의 블록 단위 움직임 벡터의 후보로부터 최적의 블록 단위 움직임 벡터가 화소 단위 움직임 벡터로서 선택되게 되기 때문에, 자세한 도형이나 반복의 형상 등을 포함하는 화상이라도, 정확하게 화소 단위의 움직임 벡터를 결정하는 것이 가능하게 된다.
그런데, 이상에서는, 화소 단위 움직임 벡터의 후보로 되는 블록 단위 움직임 벡터가 주목 화소를 통과할 때의 현 필드 상의 교점의 위치의 화소와 전 지연 필드 상의 교점의 위치의 화소와의 화소 간 차분뿐만 아니라, 각각의 화소의 엣지가 존재하는 방향이 일치하는지의 여부를 고려하여, 주목 블록 및 복수의 근방 블록의 블록 단위 움직임 벡터로부터 최적의 화소 단위 움직임 벡터를 선택하는 예에 대하여 설명하였지만, 이상의 방법에서는, 화소 단위 움직임 벡터로서 선택할 수 있는 움직임 벡터에 한계가 있으며, 해상도 변환이나 인터레이스 화상으로부터 프로그레시브 화상으로의 변환 등의 화상 처리에서는 부자연스러운 화소가 생성될 가능성을 작게 할 수 있지만, 예를 들면, 필드 주파수 변환이나 코마 수 변환 등의 원래 존재하지 않는 필드를 생성하는 화상 생성인 경우, 움직임 벡터의 정밀도가 생성되는 화상에 직접 반영되게 되어, 일부에서 움직임 벡터를 정확하게 검출할 수 없는 등의 사태가 발생하면 정확하게 필드를 생성할 수 없게 될 우려가 있다.
따라서, 주목 화소의 주변의 후보로 되는 움직임 벡터를 주목 화소로부터의 거리에 따라, 평활화하여, 주변 화상과의 상관을 살려서, 화소 단위의 움직임 벡터를 구하도록 하여도 된다.
도 23은, 주목 화소의 주변의 후보로 되는 움직임 벡터를 주목 화소로부터의 거리에 따라, 평활화하고, 주변 화상과의 상관을 살린 화소 생성을 함으로써, 화소 단위의 움직임 벡터를 구하도록 한 화소 단위 움직임 벡터 검출부(21)의 구성을 도시하고 있다. 또한, 도 23의 화소 단위 움직임 벡터 검출부(21)에서, 도 3 또는 도 16의 화소 단위 움직임 벡터 검출부(21)와 대응하는 구성에 대해서는, 동일한 부호를 붙이고 있으며, 그 설명은 적절하게 생략하는 것으로 한다.
도 23의 화소 단위 움직임 벡터 검출부(21)는, 블록 단위 움직임 벡터용 메모리(31)와 움직임 벡터 평활화부(71)로 구성되어 있다.
움직임 벡터 평활화부(71)는, 주목 블록과 근방 블록의 각 블록 단위 움직임 벡터를, 각 블록의 중심 위치(기준으로 되는 위치이면 되며, 반드시 중심일 필요는 없지만, 여기서는, 중심 위치를 기준 위치로 함)를 기점으로 하는 벡터로 간주하며, 생성 필드 상의 각 화소에 대하여, 근방 블록의 블록 단위 움직임 벡터의 기점 위치로부터의 거리에 따라 계수를 곱한 선형 합을 취함으로써, 주목 화소 근방의 움직임 블록을 평활화하여, 화소 단위 움직임 벡터를 생성하고, 화상 합성부(22)로 출력한다.
다음으로, 도 24의 흐름도를 참조하여, 도 23의 화소 단위 움직임 벡터 검출부(21)를 구비한 화상 처리 장치(20)에 의한 화상 처리에 대하여 설명한다. 또한, 도 24의 흐름도에서의 단계 S151, S153의 처리는, 도 4의 흐름도에서의 단계 S1, S5의 처리와 마찬가지이기 때문에, 그 설명은 생략한다. 또한, 설명의 편의 상, 주목 블록과 근방 블록은, 도 25에 나타낸 바와 같이 설정하는 것으로 한다. 즉, 주목 블록을 블록 E로 하고, 근방 블록을 블록 A 내지 D, F 내지 I로 하여, 각각의 블록 단위 움직임 벡터를 a 내지 i로 나타내는 것으로 한다.
단계 S152에서, 움직임 벡터 평활화부(71)는, 블록 단위 움직임 벡터용 메모리(31)에 저장되어 있는 움직임 벡터를 판독하여, 움직임 벡터 평활화 처리를 실행한다.
여기서, 도 26의 흐름도를 참조하여, 움직임 벡터 평활화부(71)에 의한 움직임 벡터 평활화 처리에 대하여 설명한다.
단계 S161에서, 움직임 벡터 평활화부(71)는, 각 화소의 화소 단위 움직임 벡터가 구해져 있지 않은 블록을 주목 블록으로 하고, 그 근방 블록인 블록 A 내지 I에 대응하는 블록 단위 움직임 벡터 a 내지 i를 블록 단위 움직임 벡터용 메모리(31)로부터 판독한다. 예를 들면, 주목 블록과 근방 블록이, 도 27에서 나타낸 바와 같이, 3 블록×3 블록인 것으로 하고, 각 블록의 사이즈가 step_x×step_y인 것으로 한다. 또한, 도면 중의 주목 블록인 블록 E의 좌측 위의 위치가 원점으로 되며, x 방향은, 수평 우측 방향으로 하고, y 방향은 수직 아래 방향인 것으로 한다. 또한, 도 27에서, 각 블록의 중앙부의 흑색 동그라미는, 각 블록의 중심 위치를 나타내고 있다. 또한, 이 처리에서는, 주목 블록 내의 각 화소의 화소 단위 움직임 벡터를 구하는 처리를 설명한다.
단계 S162에서, 움직임 벡터 평활화부(71)는, 카운터(도시 생략) y를 초기화한다. 단계 S163에서, 움직임 벡터 평활화부(71)는, 카운터(도시 생략) x를 초기화한다.
단계 S164에서, 움직임 벡터 평활화부(71)는, 카운터 y가 y<step_y/2인지의 여부를 판정하여, 예를 들면, 카운터 y가 y<step_y/2라고 판정된 경우, 즉, 주목 화소(x, y)가, 주목 블록의 수직 방향의 중앙보다도 상측에 존재하는 경우, 단계 S165에서, 이하의 수학식 1을 연산한다.
Figure 112005016300863-PAT00001
여기서, b, e는, 블록 단위 움직임 벡터 b, e이다. 즉, 수학식 1에서는, 주목 화소와 블록 B, E의 중심 위치까지의 각각의 수직 방향의 거리에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 b, e의 선형 합(linear conbination) vv0을 구하고 있다.
단계 S166에서, 움직임 벡터 평활화부(71)는, 카운터 x가 x<step_x/2인지의 여부를 판정하여, 예를 들면, 카운터 x가 x<step_x/2라고 판정된 경우, 즉, 주목 화소가, 주목 블록의 수평 방향의 중앙보다도 좌측에 존재하는 경우, 단계 S167에서, 이하의 수학식 2를 연산한다.
Figure 112005016300863-PAT00002
여기서, a, d는, 블록 단위 움직임 벡터 a, d이다. 즉, 수학식 2에서는, 주목 화소와 블록 A, D의 중심 위치까지의 각각의 수직 방향의 거리에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 a, d의 선형 합 vv1을 구하고 있다.
단계 S168에서, 움직임 벡터 평활화부(71)는, 이하의 수학식 3을 연산한다.
Figure 112005016300863-PAT00003
즉, 수학식 3에서는, 주목 화소와 블록 E, D의 중심 위치까지의 각각의 수평 방향의 거리(=블록 A, B의 중심 위치까지의 각각의 수평 방향의 거리)에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 vv0, vv1의 선형 합을 주목 화소의 화소 단위 움직임 벡터 pv(x, y)로서 구해두고, 여기서는, 수평 방향의 거리(=블록 A, B의 중심 위치까지의 각각의 수평 방향의 거리)에 따른 가중 계수를 이용하여, 블록 단위 움직임 벡터 b, e의 선형 합 vv0과 블록 단위 움직임 벡터 a, d의 선형 합 vv1의 선형 합을 구하고 있다.
따라서, 단계 S165, S167, S168에 의해, 주목 화소가 주목 블록의 좌측 위의 영역에 존재하는 경우, 각 화소의 화소 단위의 움직임 벡터는, 블록 A, B, D, E의 각각의 중심 위치로부터의 거리에 따른 가중 계수에 의한 벡터 a, b, d, e의 선형 합으로서 구한다.
단계 S164에서, 카운터 y가, y<step_y/2가 아니라고 판정된 경우, 즉, 주목 화소가, 주목 블록의 수직 방향의 중앙보다도 하측에 존재하는 경우, 단계 S171에서, 이하의 수학식 4를 연산한다.
Figure 112005016300863-PAT00004
여기서, e, h는, 블록 단위 움직임 벡터 e, h이다. 즉, 수학식 4에서는, 주목 화소와 블록 E, H의 중심 위치까지의 각각의 수직 방향의 거리에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 e, h의 선형 합 vv0을 구하고 있다.
단계 S172에서, 움직임 벡터 평활화부(71)는, 카운터 x가 x<step_x/2인지의 여부를 판정하여, 예를 들면, 카운터 x가 x<step_x/2라고 판정된 경우, 즉, 주목 화소가, 주목 블록의 수평 방향의 중앙보다도 좌측에 존재하는 경우, 단계 S173에서, 이하의 수학식 5를 연산하고, 그 처리는, 단계 S168로 진행한다.
Figure 112005016300863-PAT00005
여기서, d, g는, 블록 단위 움직임 벡터 d, g이다. 즉, 수학식 5에서는, 주목 화소와 블록 D, G의 중심 위치까지의 각각의 수직 방향의 거리에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 d, g의 선형 합 vv1을 구하고 있다.
따라서, 단계 S171, S173, S168에 의해, 주목 화소가 주목 블록의 좌측 아래의 영역에 존재하는 경우, 각 화소의 화소 단위의 움직임 벡터는, 블록 D, E, G, H 의 각각의 중심 위치로부터의 거리에 따른 가중 계수에 의한 벡터 d, e, g, h의 선형 합으로서 구한다.
단계 S166에서, 예를 들면, 카운터 x가 x<step_x/2가 아니라고 판정된 경우, 즉, 주목 화소가, 주목 블록의 수평 방향의 중앙보다도 우측에 존재하는 경우, 단계 S176에서, 이하의 수학식 6을 연산한다.
Figure 112005016300863-PAT00006
여기서, c, f는, 블록 단위 움직임 벡터 c, f이다. 즉, 수학식 6에서는, 주목 화소와 블록 C, F의 중심 위치까지의 각각의 수직 방향의 거리에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 c, f의 선형 합 vv1을 구하고 있다.
단계 S175에서, 움직임 벡터 평활화부(71)는, 이하의 수학식 7을 연산한다.
Figure 112005016300863-PAT00007
즉, 수학식 7에서는, 주목 화소와 블록 B, C의 중심 위치까지의 각각의 수평 방향의 거리(=블록 E, F의 중심 위치까지의 각각의 수평 방향의 거리)에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 vv0, vv1의 선형 합을 주목 화소의 화소 단위 움직임 벡터 pv(x, y)로서 구하고 있다.
따라서, 단계 S165, S176, S175에 의해, 주목 화소가 주목 블록의 우측 위의 영역에 존재하는 경우, 각 화소의 화소 단위의 움직임 벡터는, 블록 B, C, E, F의 각각의 중심 위치로부터의 거리에 따른 가중 계수에 의한 벡터 b, c, e, f의 선형 합으로서 구한다.
단계 S172에서, 예를 들면, 카운터 x가 x<step_x/2가 아니라고 판정된 경우, 즉, 주목 화소가, 주목 블록의 수평 방향의 중앙보다도 우측에 존재하는 경우, 단계 S174에서, 이하의 수학식 8을 연산하고, 그 처리는, 단계 S175로 진행한다.
Figure 112005016300863-PAT00008
여기서, f, i는, 블록 단위 움직임 벡터 f, i이다. 즉, 수학식 8에서는, 주목 화소와 블록 F, I의 중심 위치까지의 각각의 수직 방향의 거리에 따른 가중 계수를 이용하여 블록 단위 움직임 벡터 f, i의 선형 합 vv1을 구하고 있다.
따라서, 단계 S171, S174, S175에 의해, 주목 화소가 주목 블록의 우측 아래의 영역에 존재하는 경우, 각 화소의 화소 단위의 움직임 벡터는, 블록 E, F, H, I의 각각의 중심 위치로부터의 거리에 따른 가중 계수에 의한 벡터 e, f, h, i의 선형 합으로서 구한다.
단계 S169에서, 카운터 x가, 필드 화상의 수평 방향의 크기인 xsize인지의 여부가 판정되어, 카운터 x가 xsize가 아니라고 판정된 경우, 그 처리는, 단계 S170으로 진행하고, 움직임 벡터 평활화부(71)는, 카운터 x를 1 인크리먼트하며, 그 처리는, 단계 S164로 되돌아간다.
단계 S169에서, 카운터 x가 xsize라고 판정된 경우, 즉, 주목 블록의 수평 방향의 1 라인의 각 화소의 화소 단위 움직임 벡터가 구해졌다고 판정된 경우, 단 계 S177에서, 움직임 벡터 평활화부(71)는, 카운터 y가 필드 화상의 수직 방향의 크기인 ysize인지의 여부를 판정하여, 예를 들면, 카운터 y가 ysize가 아니라고 판정된 경우, 단계 S178에서, 카운터 y를 1 인크리먼트하고, 그 처리는, 단계 S163으로 되돌아간다.
단계 S177에서, 카운터 y가, ysize라고 판정된 경우, 즉, 그 블록의 모든 화소에 대하여 화소 단위 움직임 벡터가 구해졌다고 판정된 경우, 단계 S179에서, 움직임 벡터 평활화부(71)는, 모든 블록에 대하여, 화소 단위 움직임 벡터가 구해졌는지 여부를 판정하여, 모든 블록에 대하여 처리가 종료되어 있지 않다고 판정된 경우, 그 처리는, 단계 S161로 되돌아가서, 그 이후의 처리가 반복되며, 단계 S177에서, 모든 블록에 대하여 처리가 종료되어 있다고 판정된 경우, 그 처리는, 종료한다.
이상의 처리에 따르면, 각 화소에 대하여 주목 블록의 우측 위의 영역의 화소의 화소 단위 움직임 벡터는, 주목 블록, 및 주목 블록의 위, 우측 위, 및 우측에 인접하는 블록의 각각의 중심 위치와의 거리에 따른 계수를 곱한 선형 합을 구함으로써, 평활화하여 구해지고, 각 화소에 대하여 주목 블록의 우측 아래의 영역의 화소의 화소 단위 움직임 벡터는, 주목 블록, 및 주목 블록의 하, 우측 아래, 및 우측에 인접하는 블록의 각각의 중심 위치와의 거리에 따른 계수를 곱한 선형 합을 구함으로써, 평활화하여 구해지며, 각 화소에 대하여 주목 블록의 좌측 위의 영역의 화소의 화소 단위 움직임 벡터는, 주목 블록, 및 주목 블록의 위, 좌측 위, 및 좌측에 인접하는 블록의 각각의 중심 위치와의 거리에 따른 계수를 곱한 선형 합을 구함으로써, 평활화하여 구해지고, 각 화소에 대하여 주목 블록의 좌측 아래의 영역의 화소의 화소 단위 움직임 벡터는, 주목 블록, 및 주목 블록의 하, 좌측 아래, 및 좌측에 인접하는 블록의 각각의 중심 위치와의 거리에 따른 계수를 곱한 선형 합을 구함으로써, 평활화하여 구해진다.
결과적으로, 공간적으로 분포하는 블록 단위 움직임 벡터를 그 거리에 따라 합성함으로써, 화소 단위의 움직임 벡터가 생성되므로, 계산 코스트를 억제하면서, 움직임 벡터의 검출 에러가 적은 움직임 벡터를 화소 단위로 생성하는 것이 가능하게 된다.
이상에서는, 1의 화소 단위의 움직임 벡터를 생성하는 것에 대하여, 4 블록분의 블록 단위 움직임 벡터를 합성하도록 하였지만, 그 이상의 수의 블록의 블록 단위 움직임 벡터를 거리에 따라 계수를 곱한 선형 합을 구하도록 하여도 된다.
또한, 이상에서는, 동일한 필드 내의 블록 단위 움직임 벡터를 합성하였지만, 주목 블록이 존재하는 필드 이외의 필드의 블록 단위 움직임 벡터를 사용하도록 하여도 되며, 예를 들면, 주목 블록이 존재하는 필드와 2 필드분 전과 후의 필드 상의 동일한 위치의 블록의 블록 단위 움직임 벡터를 필드의 간격에 따른 계수를 곱한 선형 합으로서 구하도록 하여도 된다.
또한, 도 3이나 도 16의 화소 단위 움직임 벡터 검출부(21)의 구성과, 도 23의 화소 단위 움직임 벡터(21)의 구성을 합성하도록 하고, 예를 들면, 도 22의 흐름도의 단계 S145의 처리에 의해 후보로 되는 블록 단위 움직임 벡터가 없어져서, 화소 단위의 움직임 벡터를 집광할 수 없는 상태로 되었을 때, 그 화소의 움직임 벡터에 대해서는, 평활화에 의해 구하도록 하여도 된다.
도 28은, 도 16의 화소 단위 움직임 벡터 검출부(21)의 구성과 도 23의 화소 단위 움직임 벡터 검출부(21)의 구성을 조합한 화소 단위 움직임 벡터 검출부(21)를 나타내고 있다.
기본적인 구성은, 도 16의 화소 단위 움직임 벡터 검출부(21)와 마찬가지이지만, 움직임 벡터 평활화부(82)가 추가되어 있으며, 그에 대응하여 조건 판정부(56), 화소 벡터 선택부(57) 대신, 조건 판정부(81), 화소 벡터 선택부(83)가 설치되어 있다. 조건 선택부(81)는, 조건 선택부(56)와 기본적으로 마찬가지지만, 또한 후보로 되는 블록 단위 움직임 벡터가 없어져서, 화소 단위의 움직임 벡터를 집광할 수 없는 상태로 되었을 때, 그 화소의 움직임 벡터에 대해서는, 움직임 벡터 평활화부(82)를 동작시킨다. 움직임 벡터 평활화부(82)는, 기본적으로 움직임 벡터 평활화부(71)와 마찬가지의 것이다. 화소 벡터 선택부(83)는, 화소 벡터 선택부(57)와 기본적으로 마찬가지의 것이지만, 화소 단위 움직임 벡터의 선택에서, 움직임 벡터 평활화부(82)에 의해 평활화된 움직임 벡터를 화소 단위의 움직임 벡터로서 선택할 수 있다.
또한, 도 28의 화소 단위 움직임 벡터 검출부(21)를 구비한 화상 처리 장치(20)의 화상 처리에 대해서는, 기본적으로 도 4의 흐름도의 처리와 마찬가지이지만, 조건 판정 처리, 및 선택 처리 이외에는, 마찬가지이기 때문에, 여기서는, 도 29 내지 도 31의 흐름도를 참조하여, 도 28의 화소 단위 움직임 벡터 검출부(21)의 조건 판정 처리 및 선택 처리에 대해서만 설명한다. 또한, 도 29의 흐름도에서의 단계 S191 내지 206은, 도 22의 흐름도에서의 단계 S131 내지 S146과 마찬가지이기 때문에, 그 설명은 생략한다.
단계 S207에서, 움직임 벡터 평활화부(82)는, 조건 판정부(81)로부터의 명령에 기초하여, 움직임 벡터 평활화 처리를 실행한다.
여기서, 도 30에서 나타내는 흐름도에 대해서는, 움직임 벡터 평활화부(82)에 의한 움직임 벡터 평활화 처리이지만, 도 30의 흐름도에서의 단계 S221 내지 S231의 처리에 대해서는, 도 26의 흐름도에서의 단계 S161, S164 내지 S175의 처리와 마찬가지이기 때문에 그 설명은 생략한다.
다음으로, 도 31의 흐름도를 참조하여, 도 28의 화소 단위 움직임 벡터 검출부(21)에 의한 선택 처리에 대하여 설명한다. 또한, 도 31의 흐름도에서의 단계 S251 내지 S254, S256의 처리에 대해서는, 도 12의 흐름도를 참조하여 설명한 단계 S61 내지 S65의 처리와 마찬가지이기 때문에, 그 설명은 생략한다.
단계 S255에서, 화소 벡터 선택부(83)는, 선택 신호 PSEL이 V인지의 여부를 판정하여, 예를 들면, 선택 신호 PSEL이 V라고 판정된 경우, 그 처리는, 단계 S256으로 진행한다. 또한, 단계 S255에서, 선택 신호 PSEL이 V가 아니라고 판정된 경우, 단계 S257에서, 화소 벡터 선택부(83)는, 움직임 벡터 평활화부(82)로부터 공급되는 움직임 벡터를 화소 단위의 움직임 벡터로 한다.
이상의 처리에 의해, 후보로 되는 블록 단위 움직임 벡터가 없어져서, 화소 단위의 움직임 벡터를 집광할 수 없는 상태로 되었을 때, 그 화소의 움직임 벡터에 대해서는, 평활화에 의해 구해지게 되기 때문에, 보다 안정된 화소 단위 움직임 벡 터를 구하는 것이 가능하게 된다.
이상에서는, 움직임 벡터를 정확하게 구하고, 필드 간 보간에 의한 화소 생성을 정확하게 실현할 수 있도록 하는 방법에 대하여 설명하였지만, 움직임 벡터의 신뢰성을 향상시킴으로써, 생성되는 화상을 보다 자연스러운 것으로 하는 것을 가능하게 하는 것이지만, 예를 들면, 검출된 움직임 벡터에 의해 복수의 보간 방법에 의해 보간 생성된 화소를 각각 평가하여 에러 발생량을 파악한 후, 보간 방법을 전환하도록 하여도 된다.
도 32는, 화상 합성부(22) 대신, 화상 합성부(101)를 설치하도록 한 화상 처리 장치(20)의 구성을 도시하고 있다. 화상 합성부(22)는, 필드 간 보간에 의해 화상을 생성하였지만, 화상 합성부(101)는, 필드 간 보간과 필드 내 보간 중 어느 것이라도 화소를 보간 생성할 수 있으며, 각각의 방법에 의해 생성된 화소를 평가하여, 에러 발생량을 구하고, 에러 발생량에 따라, 필드 간 보간과 필드 내 보간을 전환하여 출력한다.
도 33은, 화상 합성부(101)의 구성을 도시하고 있다.
공간 보간부(111)는, 지연 필드 데이터에 기초하여, 지연 필드의 화상 내에 존재하는 화소를 이용한, 소위 필드 내 보간에 의해 화소를 생성하여 에러 처리부(113) 및 화소 생성부(114)에 공급한다.
시간 보간부(112)는, 화소 단위 움직임 벡터에 기초하여, 현 필드 데이터, 및 전 지연 필드 데이터를 이용한, 소위, 필드 간 보간에 의해 새로운 화소를 생성하여 에러 처리부(113) 및 화소 생성부(114)에 공급한다.
에러 처리부(113)는, 입력되는 현 필드 데이터, 지연 필드 데이터, 전 지연 필드 데이터, 공간 보간부(111)로부터 공급되는 필드 내 보간된 데이터, 및 시간 보간부(112)로부터 공급되는 필드 간 보간된 데이터에 기초하여, 에러 발생량(에러의 발생량을 정성적으로 구하는 값으로서, 엄밀하게 에러가 정의되고, 또한 그 에러가 발생되는 양을 구하는 것은 아님)을 구하여, 화소 생성부(114)에 공급한다.
화소 생성부(114)는, 에러 처리부(113)로부터 공급되는 에러 발생량의 정보에 기초하여, 공간 보간부(111)로부터 공급되는 필드 내 보간 화소 데이터와, 시간 보간부(112)로부터 공급되는 필드 간 보간 화소 데이터를 전환하여 화소를 생성하고, 출력한다.
다음으로, 도 34를 참조하여, 에러 처리부(113)의 구성에 대하여 설명한다.
필드 내 보간 시간 천이 해석부(131)는, 필드 내 보간 화소로 이루어지는 필드 내 보간 화소와, 현 필드 데이터 및 전 지연 필드 데이터에 기초하여, 필드 내 보간 화소의 시간에 따른 화소값의 변화를 천이로서 구하여, 혼합부(134)에 공급한다.
필드 간 보간 시간 천이 해석부(132)는, 필드 간 보간 화소로 이루어지는 필드 간 보간 화소와, 현 필드 데이터 및 전 지연 필드 데이터에 기초하여, 필드 간 보간 화소의 시간에 따른 화소값의 변화를 천이로서 구하여, 혼합부(134)에 공급한다.
필드 간 보간 공간 천이 해석부(133)는, 필드 간 보간 화소로 이루어지는 필드 간 보간 화소와, 지연 필드 데이터에 기초하여, 필드 간 보간 화소의 공간에서 의 화소값의 변화를 천이로서 구하여, 혼합부(134)에 공급한다.
혼합부(134)는, 필드 내 보간 시간 천이 해석부(131), 필드 간 보간 시간 천이 해석부(132), 및 필드 간 보간 공간 천이 해석부(133)로부터 공급되는 필드 내 보간 시간 천이 해석 결과, 필드 간 보간 시간 천이 해석 결과, 및 필드 간 보간 공간 천이 해석 결과에 기초하여, 에러의 발생량을 계산하고, 화소 생성부(114)에 공급한다.
다음으로, 도 35의 흐름도를 참조하여, 도 32의 화상 처리 장치(20)에 의한 화소 처리에 대하여 설명한다. 또한, 도 35의 흐름도의 단계 S301 내지 S304의 처리는, 도 4의 흐름도에서의 단계 S1 내지 S4와 마찬가지이기 때문에, 그 설명은 생략한다.
단계 S305에서, 화상 합성부(101)는, 화상 합성 처리를 실행한다.
여기서, 도 36의 흐름도를 참조하여, 화상 합성부(101)에 의한 화상 합성 처리에 대하여 설명한다.
단계 S321에서, 공간 보간부(111)는, 입력된 지연 필드 데이터를 이용하여 필드 내 보간 화상을 생성한다. 즉, 공간 보간부(111)는, 지연 필드 상의 주목 화소를, 동일한 필드 내의 기존의 화소를 이용하여 필드 내를 보간하여 생성하고, 에러 처리부(113), 및 화소 생성부(114)에 공급한다.
예를 들면, 도 37에 도시한 바와 같이, 전 지연 필드, 지연 필드, 및 현 필드 상에 화소가 배치되어 있었던 경우, 공간 보간부(111)는, 지연 필드 내의 기존의 화소인 화소 B, D의 중간 위치에, 주목 화소로서 화소 Ps를 생성하고, 이 때의 화소값을 화소 B, D의 평균 화소값으로 한다.
또한, 도 37에서는, 시간 방향(도면 중의 t 축)을 향해 순서대로 전 지연 필드, 지연 필드, 및 현 필드의 각각의 수직 방향(Y 방향)의 화소의 배치를 나타내고 있다. 전 지연 필드 상에는, 도면 중 위에서부터 화소 Q, A, L이 배치되며, 지연 필드 상에는, 도면 중 위에서부터 화소 B, D가 배치되고, 또한 현 필드 상에는 도면 중 위에서부터 화소 M, C, R이 배치되어 있으며, 전 지연 필드와 현 필드는, 동일한 위상의 필드이기 때문에, 수직 방향의 동일한 위치에 화소가 배치되어 있지만, 지연 필드는, 위상이 다르기 때문에, 화소의 배치가 1 라인 어긋난 배치로 되어 있다. 또한, 마찬가지의 도면에 대해서는, 이후에서도 마찬가지로 한다.
단계 S322에서, 시간 보간부(112)는, 공급된 움직임 벡터에 기초하여, 지연 필드의 전후의 필드인 현 필드 상의 화소와 전 지연 필드 상의 화소로부터 필드 간 보간에 의해 지연 필드 상의 화소를 생성하고, 에러 처리부(113) 및 화소 생성부(114)에 공급한다. 즉, 시간 보간부(112)는, 예를 들면, 움직임 벡터가 도 37에서의 화소 R을 시점으로 하여 화소 Q를 종점으로 한 벡터인 경우, 지연 필드 상의 화소 Pt를, 전후의 필드인 현 필드 상의 화소 Q와 전 지연 필드 상의 화소 R의 평균 화소값으로서 생성한다. 또한, 도 37에서, 화소 Ps, Pt가 동일한 위치에 나타내고 있지만, 각각 필드 내 보간 화소와 필드 간 보간 화소이며, 상이한 것이지만 동일한 위치의 화소인 것을 나타내고 있다.
단계 S323에서, 에러 처리부(113)는, 에러 검출 처리를 실행하여, 에러 발생량을 계산하고, 계산한 에러 발생량을 화소 생성부(114)에 공급한다.
여기서, 도 38의 흐름도를 참조하여, 에러 처리부(113)에 의한 에러 검출 처리에 대하여 설명한다.
단계 S341에서, 에러 처리부(113)의 필드 간 보간 공간 천이 해석부(133)는, 필드 간 보간 공간 천이 해석 처리를 실행하여, 해석 결과인 필드 간 공간 천이 정보를 혼합부(134)에 공급한다.
여기서, 도 39의 흐름도를 참조하여, 필드 간 보간 공간 천이 해석부(133)에 의한 필드 간 보간 공간 천이 해석 처리에 대하여 설명한다.
단계 S361에서, 필드 간 보간 공간 천이 해석부(133)는, 공간 보간부(112)로부터 공급된 지연 필드 상의 필드 간 보간 화소와, 지연 필드 상의 공간적으로 위의 화소 간의 화소값의 차분을 상승 천이로서 구한다. 즉, 도 40에 나타낸 바와 같이 필드 간 보간 화소인 화소 Ps가 지연 필드 상에 존재하고 있었던 경우, 필드 간 보간 공간 천이 해석부(133)는, 그 공간적으로 위에 존재하는 화소 B의 화소값의 차분을 상승 천이(upward transition)(Pt-B)로서 구한다.
단계 S362에서, 필드 간 보간 공간 천이 해석부(133)는, 공간 보간부(111)로부터 공급된 지연 필드 상의 필드 간 보간 화소와, 지연 필드 상의 공간적으로 하의 화소 간의 화소값의 차분을 하강 천이(downward transition)로서 구한다. 즉, 도 40에 나타낸 바와 같이 필드 간 보간 화소인 화소 Ps가 지연 필드 상에 존재하고 있었던 경우, 필드 간 보간 공간 천이 해석부(133)는, 그 공간적으로 아래에 존재하는 화소 D의 화소값의 차분을 하강 천이(D-Pt)로서 구한다.
단계 S363에서, 필드 간 보간 공간 천이 해석부(133)는, 상승 천이와 하강 천이의 곱을 구한다. 즉, 도 40의 경우, 필드 간 보간 공간 천이 해석부(133)는, 상승 천이와 하강 천이의 곱으로서 (D-Pt)×(Pt-B)를 구하고, 혼합부(134)로 출력한다.
단계 S364에서, 필드 간 보간 공간 천이 해석부(133)는, 상승 천이와 하강 천이의 각각의 절대값의 합을 구하여 혼합부(134)로 출력한다. 즉, 도 40의 경우, 필드 간 보간 공간 천이 해석부(133)는, 이하의 수학식 9로 나타내는 필드 간 보간 공간 천이 해석 결과를 혼합부(134)로 출력한다.
Figure 112005016300863-PAT00009
필드 간 보간 공간 천이 해석부(133)는, 필드 간 보간 공간 천이 해석 결과로서, 상승 천이와 하강 천이의 각각의 절대값의 합을 혼합부(134)로 출력함과 함께, 상승 천이와 하강 천이의 곱도 출력한다.
즉, 예를 들면, 도 41에 나타낸 바와 같이 지연 필드 상의 화소 B, D의 화소값과 필드 간 보간 생성된 화소 Pt의 화소값의 변화가 단조 증가, 또는 단조 감소하고 있지 않은 경우, 부자연스러운 화소가 생성되어 있을 가능성이 높은 것으로 생각할 수 있다. 따라서, 상승 천이와 하강 천이의 곱으로서 (D-Pt)×(Pt-B)가 마이너스의 값인 경우, 생성된 화소 간이 부자연스러울 가능성이 있을 것으로 예상된다. 또한, 상승 천이와 하강 천이의 각각의 절대값의 합이 커지면, 보다 부자연스러운 화소가 생성되어 있을 가능성이 높은 것으로 생각할 수 있다. 또한, 도 41에서는, 종축이 화소의 공간 방향의 위치를 나타내며, 횡축이 화소값을 나타내고 있 다.
여기서, 도 38의 흐름도의 설명으로 되돌아간다.
단계 S342에서, 필드 간 보간 시간 천이 해석부(132)는, 필드 간 보간 시간 천이 해석 처리를 실행하여, 필드 간 보간 시간 천이 해석 결과를 혼합부(134)로 출력한다.
여기서, 도 42의 흐름도를 참조하여, 필드 간 보간 시간 천이 해석부(132)에 의한 필드 간 보간 시간 천이 해석 처리에 대하여 설명한다.
단계 S381에서, 필드 간 보간 시간 천이 해석부(132)는, 필드 간 전천이를 구한다. 즉, 예를 들면, 도 43에 나타낸 바와 같이 주목 화소로서 필드 간 보간 생성된 지연 필드 상의 화소 Pt와, 시간적으로 전인 전 지연 필드 상의 동일한 위치의 화소 A의 화소값의 차분을 필드 간 전천이(A-Pt)로서 구한다. 또한, 도 43에서는, 필드 간 보간 생성된 화소 Pt와 필드 내 보간 생성된 화소 Ps가, 각각 상이한 위치에 표시되어 있지만, 설명의 편의 상 나누어 표시하고 있을 뿐, 실제로는, 화소 Pt, Ps는, 모두 지연 필드 상의 화소 B, D의 중앙 위치에 생성되어 있다.
단계 S382에서, 필드 간 보간 시간 천이 해석부(132)는, 필드 간 후천이를 구한다. 즉, 예를 들면, 도 43에 나타낸 바와 같이 주목 화소로서 필드 간 보간 생성된 지연 필드 상의 화소 Pt와, 시간적으로 후의 현 필드 상의 동일한 위치의 화소 C의 화소값의 차분을 필드 간 후천이(Pt-C)로서 구한다.
단계 S383에서, 필드 간 보간 시간 천이 해석부(132)는, 필드 간 전천이와 필드 간 후천이의 각각의 절대값의 합을 구하고, 필드 간 보간 시간 천이 해석 결 과로서 혼합부(134)에 공급한다.
즉, 필드 간 보간 시간 천이 해석부(132)는, 도 43의 경우, 필드 간 전천이의 절대값과 필드 간 후천이의 절대값의 합으로서 이하의 수학식 10으로 나타내는 필드 간 보간 시간 천이 해석 결과를 구하여 혼합부(134)에 공급한다.
Figure 112005016300863-PAT00010
또한, 예를 들면, 도 44에 나타낸 바와 같이 전 지연 필드 상의 화소 A, 지연 필드 상의 화소 Pt, 및 현 필드 상의 화소 C의 화소값의 시간 방향의 변화가 단조 증가, 또는, 단조 감소하고 있지 않은 경우, 부자연스러운 화소가 생성되어 있을 가능성이 높은 것으로 생각할 수 있다. 따라서, 필드 간 전천이와 필드 간 후천이의 곱으로서 (A-Pt)×(Pt-C)가 마이너스의 값인 경우, 생성된 화소 간이 부자연스러울 가능성이 있을 것으로 예상된다. 또한, 필드 간 전천이와 필드 간 후천이의 각각의 절대값의 합이 커지면, 보다 부자연스러운 화소가 생성되어 있을 가능성이 높은 것으로 생각할 수 있다. 또한, 도 44에서는, 종축이 화소값을 나타내며, 횡축이 시간 방향의 위치를 나타내고 있다.
여기서, 도 38의 흐름도의 설명으로 되돌아간다.
단계 S343에서, 필드 내 보간 시간 천이 해석부(131)는, 필드 내 보간 시간 천이 해석 처리를 실행하고, 필드 내 보간 시간 천이 해석 결과를 혼합부(134)로 출력한다.
여기서, 도 45의 흐름도를 참조하여, 필드 내 보간 시간 천이 해석부(131)에 의한 필드 내 보간 시간 천이 해석 처리에 대하여 설명한다.
단계 S401에서, 필드 내 보간 시간 천이 해석부(131)는, 필드 내 전천이를 구한다. 즉, 예를 들면, 도 43에 나타낸 바와 같이 주목 화소로서 필드 내 보간 생성된 지연 필드 상의 화소 Ps와, 시간적으로 전인 전 지연 필드 상의 동일한 위치의 화소 A의 화소값의 차분을 필드 간 전천이(A-Ps)로서 구한다.
단계 S402에서, 필드 내 보간 시간 천이 해석부(131)는, 필드 내 후천이를 구한다. 즉, 예를 들면, 도 43에 나타낸 바와 같이 주목 화소로서 필드 내 보간 생성된 지연 필드 상의 화소 Ps와, 시간적으로 후의 현 필드 상의 동일한 위치의 화소 C의 화소값의 차분을 필드 내 후천이(Ps-C)로서 구한다.
단계 S403에서, 필드 내 보간 시간 천이 해석부(131)는, 필드 내 전천이와 필드 내 후천이의 각각의 절대값의 합을 구하고, 필드 내 보간 시간 천이 해석 결과로서 혼합부(134)에 공급한다.
즉, 필드 내 보간 시간 천이 해석부(131)는, 도 43의 경우, 필드 내 전천이의 절대값과 필드 내 후천이의 절대값의 합으로서 이하의 수학식 11을 구하고, 필드 내 보간 시간 천이 해석 결과로서 혼합부(134)에 공급한다.
Figure 112005016300863-PAT00011
또한, 예를 들면, 도 46에 나타낸 바와 같이 전 지연 필드 상의 화소 A, 지연 필드 상의 화소 Pt, 및 현 필드 상의 화소 C의 화소값의 시간 방향의 변화가 단조 증가, 또는, 단조 감소하고 있는 경우, 화소값의 변화가 적어서 시간적으로 자 연스러운 화소가 생성되어 있을 가능성이 높은 것으로 생각할 수 있다. 따라서, 필드 내 전천이와 필드 내 후천이의 곱으로서 (A-Ps)×(Ps-C)가 플러스의 값인 경우, 생성된 화소 사이가 자연스러울 가능성이 있을 것으로 예상된다. 또한, 필드 내 전천이와 필드 내 후천이의 각각의 절대값의 합이 커지면, 보다 부자연스러운 화소가 생성되어 있을 가능성이 높은 것으로 생각할 수 있다. 또한, 도 46에서는, 종축이 화소값을 나타내며, 횡축이 시간 방향의 위치를 나타내고 있다.
여기서, 도 38의 흐름도의 설명으로 되돌아간다.
단계 S344에서, 혼합부(134)는, 공급된 필드 내 보간 시간 천이 해석 결과, 필드 간 보간 시간 천이 해석 결과, 및 필드 간 보간 공간 천이 해석 결과에 기초하여, 이하의 수학식 12를 연산함으로써, 에러 발생량을 구한다.
Figure 112005016300863-PAT00012
여기서, K는, 상수이며, 에러의 발생량을 변화시키는 값이 설정되고, 예를 들면, 움직임 벡터의 신뢰도 등이 설정된다.
또한, 수학식 12에서 나타내는 에러 발생량은, 필드 간 보간 화소에서의 신뢰도와 필드 내 보간 화소에서의 신뢰도의 비율을 나타낸 것이며, 에러의 정도를 정성적으로 나타내는 것으로서, 실제의 화상 처리에 수반하여 발생하는 에러의 발생 횟수를 나타내는 것은 아니다. 그러나, 이 수학식 12에서 나타내는 에러 발생량이 커지면 커질수록, 필드 간 보간 화소의 신뢰도가 저하되고, 에러 발생량이 작으면, 필드 간 보간 화소의 신뢰도가 높아진다고도 할 수 있다.
따라서, 이 에러 발생량에 기초하여, 필드 간 보간 화소를 사용하거나, 또는 필드 내 보간 화소를 전환하여 이용함으로써, 생성되는 화상이 보다 자연스러운 것으로 된다.
단계 S345에서, 혼합부(134)는, 단계 S344의 처리에서 구한 에러 발생량과 함께, 필드 간 보간 공간 천이 해석 처리에서 구한 상승 천이와 하강 천이의 곱의 값을 화소 생성부(114)로 출력한다.
이상의 처리에 의해, 필드 간 보간 화소로 이루어지는 화상과 필드 내 보간 화소로 이루어지는 화상의 보간에 의해 발생하는 화소 단위의 에러 발생량이 구해진다.
여기서, 도 36의 흐름도의 설명으로 되돌아간다.
단계 S324에서, 화소 생성부(114)는, 미처리 화소에 대하여, 필드 간 공간 천이 해석부(133)로부터 공급된 필드 간 공간 천이에서의 상승 천이와 하강 천이의 곱이 플러스인지의 여부를 판정하여, 예를 들면, 플러스라고 판정된 경우, 단계 S325에서, 화소 생성부(114)는, 시간 보간부(112)로부터 공급된 필드 간 보간 화상의 화소를 채용한다. 즉, 필드 간 보간 생성된 화소의 화소값이 공간적으로 근방에 존재하는 화소의 화소값에 대하여, 단조 증가, 또는 단조 감소하는 관계로 되어 있기 때문에, 공간적으로는 자연스러운 화소가 생성되어 있을 가능성이 높아서, 필드 간 보간 생성된 화소를 그대로 사용한다.
단계 S324에서, 상승 천이와 하강 천이의 곱이 플러스가 아니라고 판정된 경우, 단계 S326에서, 화소 생성부(114)는, 에러 발생량이 임계값 th보다도 큰지 여 부를 판정하여, 예를 들면, 에러 발생량이 임계값 th보다도 크다고 판정된 경우, 그 처리는, 단계 S327로 진행한다.
단계 S327에서, 화소 생성부(114)는, 공간 보간부(111)로부터 공급되는 필드 내 보간 화소를 채용한다. 즉, 에러 발생량이 소정의 임계값 th보다도 크다는 것은, 필드 간 보간 화소의 에러 발생량이, 필드 내 보간 화소의 에러 발생량보다도 높은 비율로 되는 것을 나타내게 되기 때문에, 필드 내 보간 화소가 채용된다.
단계 S326에서, 에러 발생량이 소정의 임계값 th보다도 크지 않은 경우, 필드 내 보간 화소의 에러 발생량에 대하여, 필드 간 보간 화소에 의한 에러 발생량이 적은 것으로 되기 때문에, 그 처리는, 단계 S325로 진행하여, 화소 생성부(114)는, 주목 화소로 필드 간 보간 화소를 채용한다.
단계 S328에서, 화소 생성부(114)는, 화소가 생성되어 있지 않은 미처리된 화소가 존재하는지의 여부를 판정하여, 미처리된 화소가 존재한다고 판정된 경우, 그 처리는, 단계 S324로 되돌아가서, 그 이후의 처리가 반복된다. 그리고, 미처리된 화소가 존재하지 않는다고 판정된 경우, 단계 S329에서, 화소 생성부(114)는, 생성한 화소로 이루어지는 화상을 출력한다.
생성되는 화소의 시간적, 또는 공간적인 관계에 기초하여 에러 발생량을 구함으로써, 적응적으로 화소의 보간 방법을 전환할 수 있기 때문에, 부자연스러운 화소가 생성되는 것이 억제되며, 예를 들면, 도 47에 나타낸 바와 같은 격자 형상의 화상을, 해상도 변환에 의해 확대하면, 종래에서는, 도 48에 나타낸 바와 같이, 필드 간 보간에 의해 생성된 화소의 화소값이 부자연스럽기 때문에, 얼룩덜룩한 에 러(mottle error)가 발생한 화소가 표시된다.
도 49는, 도 48의 화상의 각 화소에 대하여, 필드 간 보간 공간 천이 결과 중, 소정의 임계값을 초과한(에러의 발생하고 있음) 화소의 분포를 나타내고 있다. 또한, 도 49, 도 50에서는, 도면 중의 사선 부분이 에러가 발생하고 있는 화소를 나타내고 있다.
또한, 도 50은, 도 48의 화상의 각 화소에 대하여, 필드 간 보간 시간 천이 결과 중, 소정의 임계값을 초과한(에러의 발생하고 있음) 화소의 분포를 나타내고 있다.
따라서, 전술한 에러 발생량은, 도 49, 도 50에서, 모두 에러를 나타내고 있는 화소인 것에 대해서는, 임계값 th를 초과한 것으로 생각할 수 있기 때문에, 도 49, 도 50 모두, 임계값 th를 초과하고 있는 화소라고 볼 수 있기 때문에, 이들 화소를 필드 내 보간에 의해 생성시킴으로써, 예를 들면, 도 51에 나타낸 바와 같이, 얼룩덜룩한 에러가 억제되어 있는 것이 나타나 있다.
또한, 이상에서는, 에러 발생량에 기초하여, 필드 내 보간 화소인지, 필드 간 보간 화소인지를 전환하는 예에 대하여 설명하였지만, 예를 들면, 에러 발생량에 기초하여, 필드 내 보간 화소와 필드 간 보간 화소의 비율을 바꾸면서 혼합하여 화소를 생성하도록 하여도 된다.
또한, 필드 간 보간에 의해 화소를 생성할 때, 이상에서는, 2개의 필드를 이용하도록 하고 있지만, 그 이상의 필드를 이용하여 필드 간 보간하도록 하여도 된다.
이상에 의하면, 필드 간 보간 화소, 또는 필드 내 보간 화소의 각각의 에러 발생량을 구하는 것이 가능해지며, 또한 구해진 에러 발생량에 기초하여, 화소의 생성 방법(보간 방법)을 전환하여 화소를 생성하는 것이 가능하게 된다.
전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있지만, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는 각종 프로그램을 인스톨함으로써, 각종 기능을 실행시키는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에 기록 매체로부터 인스톨된다.
도 52는, 도 2, 도 32의 화상 처리 장치(20)의 전기적인 내부 구성을 소프트웨어에 의해 실현하는 경우의 퍼스널 컴퓨터의 일 실시예의 구성을 도시하고 있다. 퍼스널 컴퓨터의 CPU(501)는, 퍼스널 컴퓨터의 전체의 동작을 제어한다. 또한, CPU(501)는, 버스(504) 및 입출력 인터페이스(505)를 통하여 사용자로부터 키보드나 마우스 등으로 이루어지는 입력부(506)로부터 명령이 입력되면, 그것에 대응하여 ROM(Read Only Memory)(502)에 저장되어 있는 프로그램을 실행한다. 혹은 또한, CPU(501)는, 드라이브(510)에 접속된 자기 디스크(521), 광 디스크(522), 광 자기 디스크(523), 또는 반도체 메모리(524)로부터 판독되며, 기억부(508)에 인스톨된 프로그램을, RAM(Random Access Memory)(503)에 로드하여 실행한다. 이에 따라, 전술한 도 2, 도 32의 화상 처리 장치(20)의 기능이, 소프트웨어에 의해 실현되고 있다. 또한, CPU(501)는, 통신부(509)를 제어하여, 외부와 통신하여, 데이터의 수수를 실행한다.
프로그램이 기록되어 있는 기록 매체는, 도 52에 도시한 바와 같이, 컴퓨터와는 별도로, 사용자에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(121)(플렉시블 디스크를 포함함), 광 디스크(522)(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disk)를 포함함), 광 자기 디스크(523)(MD(Mini-Disc)를 포함함), 혹은 반도체 메모리(524) 등으로 이루어지는 패키지 미디어에 의해 구성될 뿐만 아니라, 컴퓨터에 미리 조립된 상태에서 사용자에게 제공되는, 프로그램이 기록되어 있는 ROM(502)이나, 기억부(508)에 포함되는 하드디스크 등으로 구성된다.
또한, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 단계는, 기재된 순서를 따라 시계열적으로 행해지는 처리는, 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 혹은 개별적으로 실행되는 처리를 포함하는 것이다.
본 발명에 따르면, 계산량의 저비용화를 도모하면서, 블록 단위로 발생하는 보간에 의해 생성되는 화상의 왜곡이나, 보간에 의해 생성된 화소의 주변 화소와의 미스매치를 억제하는 것이 가능하게 된다.

Claims (8)

  1. 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터를 검출하는 블록 단위 움직임 벡터 검출 수단과,
    상기 블록 단위 움직임 벡터 검출 수단에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분을 계산하는 차분 계산 수단과,
    상기 차분 계산 수단에 의해 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터를, 상기 주목 화소의 화소 단위 움직임 벡터로서 선택하는 화소 단위 움직임 벡터 선택 수단과,
    상기 화소 단위 움직임 벡터 선택 수단에 의해 선택된 화소 단위 움직임 벡터에 의해, 상기 제1 필드 상의 화소와 상기 제2 필드 상의 화소를 이용하여, 필드 간 보간에 의해 상기 주목 화소의 화소값을 생성하는 필드 간 보간에 의해 생성 수단과,
    상기 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용하여, 필드 내 보간에 의해 상기 주목 화소의 화소값을 생성하는 필드 내 보간에 의해 생성 수단과,
    상기 필드 간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값, 상기 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값, 및 상기 주목 화소와 동일한 위치의 상기 주목 화소가 존재하는 필드에 대하여 시간적으로 전후의 필드의 화소의 화소값에 기초하여, 에러 발생량을 계산하는 에러 발생량 계산 수단과,
    상기 에러 발생량 계산 수단에 의해 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 수단에 의해 생성된 화소값, 및 필드 간 보간에 의해 생성 수단에 의해 생성된 화소값을 이용하여 상기 주목 화소의 화소값을 결정하는 화소값 결정 수단
    을 구비하는 것을 특징으로 하는 화상 처리 장치.
  2. 제1항에 있어서,
    상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 각각의 화소에서의 보조 정보를 생성하는 보조 정보 생성 수단을 더 구비하며,
    상기 화소 단위 움직임 벡터 선택 수단은, 상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소에서의 보조 정보와, 제2 필드 상의 화소에서의 보조 정보가 일치하며, 또한 상기 차분 계산 수단에 의해 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터를, 상기 주목 화소의 화소 단위 움직임 벡터로서 선택하는 것을 특징으로 하는 화상 처리 장치.
  3. 제2항에 있어서,
    상기 보조 정보는, 화소마다의 엣지의 방향을 나타내는 코드인 것을 특징으로 하는 화상 처리 장치.
  4. 제2항에 있어서,
    상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소에서의 보조 정보와, 제2 필드 상의 화소에서의 보조 정보가 일치하지 않는 경우, 상기 복수의 블록의 기준 위치와, 상기 주목 화소 간의 거리에 따라, 상기 복수의 블록마다의 상기 블록 단위 움직임 벡터를 평활화하여, 주목 화소의 화소 단위 움직임 벡터를 계산하는 화소 단위 움직임 벡터 계산 수단을 더 구비하는 것을 특징으로 하는 화상 처리 장치.
  5. 제1항에 있어서,
    상기 필드 간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값과, 상기 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 공간 천이 정보로서 계산하는 필드 간 보간 화소 공간 천이 정보 계산 수단과,
    상기 필드 간 보간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값과, 상기 주목 화소와 동일한 위치의 상기 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 시간 천 이 정보로서 계산하는 필드 간 보간 화소 시간 천이 정보 계산 수단과,
    상기 필드 내 보간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값과, 상기 주목 화소와 동일한 위치의 상기 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값 간의 차분의 절대값의 합을 필드 간 보간 화소 시간 천이 정보로서 계산하는 필드 내 보간 화소 시간 천이 정보 계산 수단을 더 구비하며,
    상기 에러 발생량 계산 수단은, 상기 필드 간 보간 화소 공간 천이 정보, 상기 필드 간 보간 화소 시간 천이 정보, 및 상기 필드 내 보간 화소 시간 천이 정보에 기초하여, 에러 발생량을 계산하는 것을 특징으로 하는 화상 처리 장치.
  6. 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터를 검출하는 블록 단위 움직임 벡터 검출 단계와,
    상기 블록 단위 움직임 벡터 검출 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분을 계산하는 차분 계산 단계와,
    상기 차분 계산 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터를, 상기 주목 화소의 화소 단위 움직임 벡터로서 선택하는 화소 단위 움직임 벡터 선택 단계와,
    상기 화소 단위 움직임 벡터 선택 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 상기 제1 필드 상의 화소와 상기 제2 필드 상의 화소를 이용하여, 필드 간 보간에 의해 상기 주목 화소의 화소값을 생성하는 필드 간 보간에 의해 생성 단계와,
    상기 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용하여, 필드 내 보간에 의해 상기 주목 화소의 화소값을 생성하는 필드 내 보간에 의해 생성 단계와,
    상기 필드 간에 의해 생성 단계의 처리에서 생성된 상기 주목 화소의 화소값, 상기 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 단계에 의해 생성된 상기 주목 화소의 화소값, 및 상기 주목 화소와 동일한 위치의 상기 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초하여, 에러 발생량을 계산하는 에러 발생량 계산 단계와,
    상기 에러 발생량 계산 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 단계의 처리에서 생성된 화소값을 이용하여 상기 주목 화소의 화소값을 결정하는 화소값 결정 단계
    를 포함하는 것을 특징으로 하는 화상 처리 방법.
  7. 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터의 검출을 제어하는 블록 단위 움직임 벡터 검출 제어 단계와,
    상기 블록 단위 움직임 벡터 검출 제어 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분의 계산을 제어하는 차분 계산 제어 단계와,
    상기 차분 계산 제어 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터의, 상기 주목 화소의 화소 단위 움직임 벡터로서의 선택을 제어하는 화소 단위 움직임 벡터 선택 제어 단계와,
    상기 화소 단위 움직임 벡터 선택 제어 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 상기 제1 필드 상의 화소와 상기 제2 필드 상의 화소를 이용한, 필드 간 보간에 의한 상기 주목 화소의 화소값의 생성을 제어하는 필드 간 보간에 의해 생성 제어 단계와,
    상기 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용한, 필드 내 보간에 의한 상기 주목 화소의 화소값의 생성을 제어하는 필드 내 보간에 의해 생성 제어 단계와,
    상기 필드 간에 의해 생성 제어 단계의 처리에서 생성된 상기 주목 화소의 화소값, 상기 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값, 및 상기 주목 화소와 동일한 위치의 상기 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초한, 에러 발생량의 계산을 제어하는 에러 발생량 계산 제어 단계와,
    상기 에러 발생량 계산 제어 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값을 이용한 상기 주목 화소의 화소값의 결정을 제어하는 화소값 결정 제어 단계
    를 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 기록되어 있는 기록 매체.
  8. 블록 매칭에 의해 주목 화소를 포함하는 블록과, 그 근방의 복수의 블록에 대하여, 각각 블록 단위 움직임 벡터의 검출을 제어하는 블록 단위 움직임 벡터 검출 제어 단계와,
    상기 블록 단위 움직임 벡터 검출 제어 단계의 처리에 의해 검출된 복수의 블록 단위 움직임 벡터에 기초하여, 상기 주목 화소의 생성에 사용되는 제1 필드 상의 화소와, 제2 필드 상의 화소의 화소값의 차분의 계산을 제어하는 차분 계산 제어 단계와,
    상기 차분 계산 제어 단계의 처리에서 계산된 화소값의 차분이 최소로 되는 블록 단위 움직임 벡터의, 상기 주목 화소의 화소 단위 움직임 벡터로서의 선택을 제어하는 화소 단위 움직임 벡터 선택 제어 단계와,
    상기 화소 단위 움직임 벡터 선택 제어 단계의 처리에서 선택된 화소 단위 움직임 벡터에 의해, 상기 제1 필드 상의 화소와 상기 제2 필드 상의 화소를 이용한, 필드 간 보간에 의한 상기 주목 화소의 화소값의 생성을 제어하는 필드 간 보 간에 의해 생성 제어 단계와,
    상기 주목 화소를 수직 방향, 또는 수평 방향으로 인접하는 화소를 이용한, 필드 내 보간에 의한 상기 주목 화소의 화소값의 생성을 제어하는 필드 내 보간에 의해 생성 제어 단계와,
    상기 필드 간에 의해 생성 제어 단계의 처리에서 생성된 상기 주목 화소의 화소값, 상기 주목 화소의 수직 방향, 또는 수평 방향으로 인접하는 화소의 화소값, 필드 내 보간에 의해 생성 수단에 의해 생성된 상기 주목 화소의 화소값, 및 상기 주목 화소와 동일한 위치의 상기 주목 화소가 존재하는 시간적으로 전후의 필드의 화소의 화소값에 기초한, 에러 발생량의 계산을 제어하는 에러 발생량 계산 제어 단계와,
    상기 에러 발생량 계산 제어 단계의 처리에서 계산된 에러 발생량에 기초하여, 필드 내 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값, 및 필드 간 보간에 의해 생성 제어 단계의 처리에서 생성된 화소값을 이용한 상기 주목 화소의 화소값의 결정을 제어하는 화소값 결정 제어 단계
    를 포함하는 처리를 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램.
KR20050025517A 2004-03-29 2005-03-28 화상 처리 장치 및 방법, 및 기록 매체 KR101106419B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00094790 2004-03-29
JP2004094790A JP4375080B2 (ja) 2004-03-29 2004-03-29 画像処理装置および方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
KR20060044849A true KR20060044849A (ko) 2006-05-16
KR101106419B1 KR101106419B1 (ko) 2012-01-17

Family

ID=34940639

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050025517A KR101106419B1 (ko) 2004-03-29 2005-03-28 화상 처리 장치 및 방법, 및 기록 매체

Country Status (6)

Country Link
US (1) US7362379B2 (ko)
EP (1) EP1587032B1 (ko)
JP (1) JP4375080B2 (ko)
KR (1) KR101106419B1 (ko)
CN (1) CN100370824C (ko)
DE (1) DE602005001967T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200073680A (ko) * 2018-12-14 2020-06-24 주식회사 에스원 해상도 업스케일 장치 및 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1846435A (zh) * 2003-09-04 2006-10-11 皇家飞利浦电子股份有限公司 视频信号的鲁棒去隔行
KR101127220B1 (ko) * 2004-07-28 2012-04-12 세종대학교산학협력단 움직임 보상 적응형 순차주사화 장치 및 그 방법
CN101189871B (zh) * 2005-05-23 2010-06-16 Nxp股份有限公司 具有误差准则的空间和时间去隔行
US20070076973A1 (en) * 2005-09-30 2007-04-05 Walid Ali Method and apparatus for detecting and deblocking variable-size grid artifacts in coded video
TW200725377A (en) * 2005-12-30 2007-07-01 Pixart Imaging Inc Displacement estimation method and device
US7973858B2 (en) * 2006-10-23 2011-07-05 Lsi Corporation Reduced memory and bandwidth motion adaptive video deinterlacing
US20080278633A1 (en) * 2007-05-09 2008-11-13 Mikhail Tsoupko-Sitnikov Image processing method and image processing apparatus
JP4375452B2 (ja) * 2007-07-18 2009-12-02 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム、並びに表示装置
WO2009085205A1 (en) * 2007-12-20 2009-07-09 Integrated Device Technology, Inc. Image interpolation with halo reduction
CN101946514B (zh) 2007-12-20 2014-06-04 高通股份有限公司 使用自适应搜索范围的真实运动矢量估计
JP4331234B2 (ja) * 2007-12-26 2009-09-16 株式会社東芝 順次走査変換装置および順次走査変換方法並びに映像表示装置
CN101635789B (zh) * 2008-07-21 2012-12-19 奇美电子股份有限公司 动态图像补偿装置及方法
KR101299249B1 (ko) * 2008-08-29 2013-08-22 삼성테크윈 주식회사 디지털 촬영장치, 그 제어방법 및 제어방법을 실행시키기 위한 프로그램을 저장한 기록매체
JP5253077B2 (ja) * 2008-10-08 2013-07-31 キヤノン株式会社 映像処理装置およびその方法
US8189874B2 (en) * 2009-01-13 2012-05-29 Himax Technologies Limited Method for motion detection of horizontal line
US8189873B2 (en) * 2009-01-13 2012-05-29 Himax Technologies Limited Method of motion detection using motion information of neighboring pixels
WO2010091937A1 (en) * 2009-02-12 2010-08-19 Zoran (France) Temporal video interpolation method with 2-frame occlusion handling
JP5210198B2 (ja) * 2009-02-13 2013-06-12 オリンパス株式会社 画像処理装置、画像処理方法、画像処理プログラム
JP2011035737A (ja) * 2009-08-03 2011-02-17 Olympus Corp 撮像装置、電子機器、画像処理装置及び画像処理方法
US8537283B2 (en) 2010-04-15 2013-09-17 Qualcomm Incorporated High definition frame rate conversion
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
JP5744614B2 (ja) * 2011-04-28 2015-07-08 オリンパス株式会社 画像処理装置、画像処理方法、および、画像処理プログラム
US8996923B2 (en) * 2012-11-29 2015-03-31 Intel Corporation Apparatus and method to obtain information regarding suppressed faults
US11949851B2 (en) * 2019-01-04 2024-04-02 Lg Electronics Inc. Inter prediction method and apparatus using CPR-based MMVD

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2231746B (en) * 1989-04-27 1993-07-07 Sony Corp Motion dependent video signal processing
US5400076A (en) * 1991-11-30 1995-03-21 Sony Corporation Compressed motion picture signal expander with error concealment
JP3230263B2 (ja) 1992-01-31 2001-11-19 ソニー株式会社 動きベクトル検出回路
EP0645933B1 (en) * 1993-09-28 2002-08-28 Canon Kabushiki Kaisha Image reproducing apparatus
DE69836473T2 (de) * 1997-09-23 2007-09-20 Koninklijke Philips Electronics N.V. Bewegungsschätzung und bewegungskompensierte interpolation
US6473460B1 (en) * 2000-03-31 2002-10-29 Matsushita Electric Industrial Co., Ltd. Method and apparatus for calculating motion vectors
US7116372B2 (en) * 2000-10-20 2006-10-03 Matsushita Electric Industrial Co., Ltd. Method and apparatus for deinterlacing
US6810081B2 (en) * 2000-12-15 2004-10-26 Koninklijke Philips Electronics N.V. Method for improving accuracy of block based motion compensation
EP1440581B1 (en) * 2001-07-10 2014-10-08 Entropic Communications, Inc. Unit for and method of motion estimation, and image processing apparatus provided with such motion estimation unit
JP3596520B2 (ja) * 2001-12-13 2004-12-02 ソニー株式会社 画像信号処理装置及び方法
KR100453714B1 (ko) * 2001-12-31 2004-10-20 (주)펜타마이크로 Mpeg 영상 압축 기술을 이용한 디지털 영상 저장장치에서의 움직임 검출 장치 및 그 방법
KR20040009967A (ko) * 2002-07-26 2004-01-31 삼성전자주식회사 디인터레이싱장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200073680A (ko) * 2018-12-14 2020-06-24 주식회사 에스원 해상도 업스케일 장치 및 방법

Also Published As

Publication number Publication date
CN100370824C (zh) 2008-02-20
JP4375080B2 (ja) 2009-12-02
US7362379B2 (en) 2008-04-22
KR101106419B1 (ko) 2012-01-17
US20050212974A1 (en) 2005-09-29
DE602005001967T2 (de) 2008-04-30
EP1587032B1 (en) 2007-08-15
CN1678056A (zh) 2005-10-05
DE602005001967D1 (de) 2007-09-27
EP1587032A1 (en) 2005-10-19
JP2005286491A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
KR101106419B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
KR101141467B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
US7012649B2 (en) Image processing apparatus and method, program, and recording medium
US6380986B1 (en) Motion vector search method and apparatus
US20050271144A1 (en) Image processing apparatus and method, and recording medium and program used therewith
WO2005084036A1 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
JPH07264603A (ja) 動き量検出方法及び動き量検出装置
JP2011071986A (ja) 低解像度ビデオから高解像度ビデオを生成する方法
JP2004215266A (ja) 映像の再現品質の向上装置及びその方法
JP4525064B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
JP4622264B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
JP3175914B2 (ja) 画像符号化方法および画像符号化装置
JP4622265B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにプログラム
KR100601638B1 (ko) 디-인터레이싱 방법, 그 장치, 그 비디오 디코더 및 그재생 장치
JPH0965342A (ja) 映像符号化装置及び映像復号化装置
JP2006186504A (ja) 画像処理装置および方法、記録媒体、並びにプログラム
JP2010219715A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2011170488A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器
JP4207763B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
JP2005004770A (ja) グループ化による映画映像検出方法及び装置
JP4525063B2 (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
JP2004153669A (ja) 画像処理装置および方法、記録媒体、並びにプログラム

Legal Events

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

Payment date: 20150105

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee