KR20090074250A - 저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 방법 및 시스템 - Google Patents

저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 방법 및 시스템 Download PDF

Info

Publication number
KR20090074250A
KR20090074250A KR1020097010413A KR20097010413A KR20090074250A KR 20090074250 A KR20090074250 A KR 20090074250A KR 1020097010413 A KR1020097010413 A KR 1020097010413A KR 20097010413 A KR20097010413 A KR 20097010413A KR 20090074250 A KR20090074250 A KR 20090074250A
Authority
KR
South Korea
Prior art keywords
field
deinterlacing
current field
current
frame
Prior art date
Application number
KR1020097010413A
Other languages
English (en)
Other versions
KR101161390B1 (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 KR20090074250A publication Critical patent/KR20090074250A/ko
Application granted granted Critical
Publication of KR101161390B1 publication Critical patent/KR101161390B1/ko

Links

Images

Classifications

    • 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/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/06Transmission systems characterised by the manner in which the individual colour picture signal components are combined
    • H04N11/20Conversion of the manner in which the individual colour picture signal components are combined, e.g. conversion of colour television standards
    • 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
    • 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/0137Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones
    • 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/0142Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation being edge adaptive

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

저감된 메모리와 대역폭의 모션 적응형 비디오 디인터레이싱 방법이 개시된다. 이 방법은 (A) 복수의 모드들 중 첫번째 모드에서 현재 필드를 디인터레이싱함으로써 프레임을 생성하는 단계; (B) 상기 모드들 중 두번째 모드에서 상기 현재 필드 및 반대 패리티 필드를 이용하여 디인터레이싱함으로써 상기 프레임을 생성하는 단계; 및 (C) 상기 모드들 중 세번째 모드에서 상기 현재 필드, 상기 반대 패리티 필드, 및 다른 필드를 이용하여 디인터레이싱되는 상기 프레임을 생성하는 단계를 포함하고, 상기 방법은 상기 모드들 중 적어도 두개를 이용하는 것을 특징으로 한다.

Description

저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 방법 및 시스템{REDUCED MEMORY AND BANDWIDTH MOTION ADAPTIVE VIDEO DEINTERLACING}
본 발명은 비디오 디인터레이싱에 관한 것으로, 특히 저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 기술에 관한 것이다.
인터레이스된 스캔 포맷은 초기 비디오 시스템들을 위한 대역폭을 저감시키기 위해 개발된 이래로 널리 채택되어 사용되고 있다. 디인터레이싱은 인터레이스된 비디오 필드들을 래스터 프레임 포맷으로 변환하는데 사용되는 일련의 방법들이다. 일반적으로 디인터레이싱 방법들은 프로그레시브 스캔 방식을 지원하는 최신 디스플레이 장치들에 사용된다. 종래의 디인터레이싱 방법들은 라인 플리커 및 움직이는 에지의 세레이션과 같은 아티팩트들을 도입한다. 이 아티팩트들은 최신식 HD(high-definition) 및 프로그레시브 스캔 디스플레이 장치들에서보다 종래의 아날로그 CRT(cathod ray tube)에서 눈에 덜 띈다. 하지만, 주류의 디스플레이 기술은 CRT에서 액정 디스플레이(LCD), 플라즈마 등의 고해상도, 고대비 기술들로 이동하고 있기 때문에, 디인터레이싱에 의해 도입된 아티팩트들은 눈에 잘 띄어 소비자들을 짜증나게 한다.
종래의 디인터레이싱 방법은 "위브(weave)" 프로세스와 "밥(bob)" 프로세스 를 포함한다. 위브 디인터레이싱은 빠진 라인들을 반대 패리티 필드로부터 복사함으로써 현재 필드로부터 프레임을 생성한다. 불행하게도, 위브 방법은 화상내의 움직임 영역들에서 눈에 띄는 아티팩트들을 야기한다. 밥 방법은 최종 프레임의 빠진 라인들을 채우기 위해 현재 필드 라인들의 수직 삽입을 수행한다. 하지만, 밥 방법은 플리커 라인들을 야기하고 화상에 얼룩이 지게 한다.
본 발명은 디인터레이싱 방법에 관한 것이다. 일반적으로 이 방법은 (A) 복수의 모드들 중 첫번째 모드에서 현재 필드를 디인터레이싱함으로써 프레임을 생성하는 단계; (B) 상기 모드들 중 두번째 모드에서 상기 현재 필드 및 반대 패리티 필드를 이용하여 디인터레이싱함으로써 상기 프레임을 생성하는 단계; 및 (C) 상기 모드들 중 세번째 모드에서 상기 현재 필드, 상기 반대 패리티 필드, 및 다른 필드를 이용하여 디인터레이싱되는 상기 프레임을 생성하는 단계를 포함하고, 상기 방법은 상기 모드들 중 적어도 두개를 이용한다.
본 발명의 목적들, 특징들, 및 장점들은 (ⅰ)픽셀와이즈 조인트 휘도-채도 모션 적응형 고정 체크 방법, (ⅱ)에지 종속 방향성 필터, (ⅲ)통일된 휘도 및 채도 디인터레이싱 구조, (ⅳ)임플리멘테이션-프렌들리 고정 체크 방법, (ⅴ)3 채널(예를 들면, 1개의 휘도 채널과 2개의 채도 채널)에 대한 독립 디인터레이싱의 인에이블먼트, (ⅵ)23개에 이르는 동작 모드들, (ⅶ)주문생산의 광범위한 잠재적인 대역폭 및 라인 액세스 요건 제한들에의 지원 및/또는 (ⅷ)5.4도 아래의 각도들에 대한 날카로움을 강화시키는 개선된 방향성 필터를 제공할 수 있는 저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 기술의 제공을 포함한다.
본 발명의 상기 목적들, 특징들, 및 장점들은 다음의 상세한 설명, 첨부한 청구범위, 및 도면으로부터 명확해질 것이다.
도 1은 4:2:2 포맷 화상에 대한 종래의 휘도 인덱스 및 채도 인덱스를 나타낸 도면이다.
도 2는 4:2:0 포맷 화상에 대한 종래의 휘도 인덱스 및 채도 인덱스를 나타낸 도면이다.
도 3은 이용가능한 필드들 및 카운터들의 블록도이다.
도 4는 디인터레이싱에 사용되는 예시적인 휘도 픽셀들을 나타낸 도면이다.
도 5는 디인터레이싱에 사용되는 예시적인 채도 픽셀들을 나타낸 도면이다.
도 6a는 본 발명의 바람직한 실시예에 따른 디인터레이싱 기술을 구현하는 예시적인 시스템의 블록도이다.
도 6b는 디인터레이싱 회로의 예시적인 구현의 상세 블록도이다.
도 7은 예시적인 휘도 및 채도 디인터레이싱 방법의 흐름도이다.
도 8은 두 변수의 함수로서 혼합 인자의 그래프이다.
도 9는 예시적인 휘도각 검출 방법의 흐름도이다.
도 10은 예시적인 검출가능한 각도들을 나타낸 도면이다.
도 11은 첫번째 각도에서의 다중 라인 세그먼트들을 예시한 도면이다.
도 12는 두번째 각도에서의 다중 라인 세그먼트들을 예시한 도면이다.
도 13은 세번째 각도에서의 다중 라인 세그먼트들을 예시한 도면이다.
도 14는 두 위치에서의 DIFF[i]의 예시적인 관계를 나타낸 도면이다.
도 15는 예시적인 픽셀와이즈 휘도 고정 체크 방법의 흐름도이다.
도 16은 예시적인 픽셀와이즈 채도 고정 체크 방법의 흐름도이다.
도 17a 내지 17c는 표이다.
도 18a 내지 18j는 방정식이다.
본 발명은 TriMADI(third generation motion adaptive deinterlacing) 구조로서 참조될 수 있다. TriMADI 구조는 일반적으로 픽셀와이즈 조인트 휘도-채도 고정 체크, 종래의 방식과 비교하여 개선된 휘도와 낮은 각도 예측, 및 종래의 방식과 비교하여 개선된 채도 디인터레이싱을 제공한다. 일반적으로 TriMADI 구조는 디인터레이싱을 위하여 신뢰할 만한 스틸 픽셀 검출 및 픽셀의 정확한 위브를 얻는다. 일반적으로 이 구조는 다음 반대 패리티 필드의 예견 능력과 (휘도 샘플에 대한) 각 출력 프레임 픽셀에 대한 다중 비트(예를 들면, 2 비트) 고정 체크 카운터를 포함한다.
TriMADI 기술에 의해 수행되는 계산은 현재 필드(예를 들면, 홀수 패리티 필드 또는 짝수 패리티 필드)의 패리티에 무관하게 동일할 수 있다. 설명의 단순함을 위하여, (ⅰ)현재 필드(예를 들면, CUR)는 상위 필드로서 간주될 수 있고 (ⅱ)이전 필드(예를 들면, PRE)와 다음 필드(예를 들면, NXT)는 하위 필드로서 간주될 수 있다. 일반적으로 필드 CUR은 0,2,4,…, 2N-2(예를 들면, 짝수 패리티)로 번호가 부 여된 다중 라인들을 포함한다. 일반적으로 필드 PRE와 필드 NXT 각각은 1,3,5,…,2N-1(예를 들면, 홀수 패리티)로 번호가 부여된 다중 라인들을 포함한다(여기서, N은 각 필드에서 이용가능한 라인들의 개수일 수 있음). 일반적으로 디인터레이싱은 필드 CUR에서 이용가능한 라인들과 조합될 때 2N 라인들의 완전한 프레임을 형성하는 필드 CUR(예를 들면, 라인 번호 1,3,5,…,2N-1)에서 "빠진" 라인들을 구성한다.
일반적으로 TriMADI 구조는 휘도 샘플들과 채도 샘플들을 위한 고정 체크 및 방향성(예를 들면, 3차원) 혼합 및 위브를 갖는 각도 기반 디인터레이싱 기술을 포함한다. 일반적으로 하기의 입/출력 섹션은 (ⅰ)상기 기술에 의해 사용되는 필드들, (ⅱ)고정 체크 비트들을 포함하는 픽셀 입/출력(I/O), 및 (ⅲ)상기 기술에 의해 사용되는 픽셀들을 커버한다. 이 기술의 흐름도가 하기 TriMADI 구조 섹션에서 논의된다. 이 흐름도의 대부분의 블록들의 세부 설명은 일반적으로 (휘도에 대한) 휘도 디인터레이싱 컴포넌트 섹션 및 (채도에 대한) 채도 디인터레이싱 컴포넌트 섹션에 기재되어 있다. 일반적으로 휘도 각도 검출 섹션과 픽셀와이즈 고정 체크 섹션은 각도 검출 기술과 고정 체크 기술을 명시하고 있다.
도 1 및 2는 4:2:2 포맷 화상(도 1) 및 4:2:0 포맷 화상(도 2)을 위한 종래의 휘도 인덱싱 및 채도 인덱싱을 나타낸다. 관례로서, (ⅰ)(u,v)는 휘도(Y 채널) 샘플들의 현재 출력 위치를 나타내는데 사용될 수 있고, (ⅱ)(cu,cv)는 일반적으로 채도 샘플들의 현재 출력 위치를 나타내는데 사용되고, (ⅲ)슈퍼스크립트 Y는 휘도 채널을 나타내는데 사용될 수 있고, (ⅳ)슈퍼스크립트 C는 채도 채널들을 동시에 나타내는데 사용될 수 있고 (ⅴ)슈퍼스크립트 K는 일반적으로 채도 채널들중 하나, Cb(블루) 채널 또는 Cr(레드) 채널을 나타내는데 사용된다.
일반적으로 TriMADI 구조는 (u,v)와 (cu,cv) 사이의 표준 관계를 이용한다. 4:2:2 포맷:cu=u 및 cv=v≫1이 도 1에 예시되어 있고, 4:2:0 포맷: cu=u≫1 및 cv=v≫1이 도 2에 예시되어 있다. 일반적으로 채도 픽셀들의 수평 위치들은 짝수 휘도 수평 위치들에 위치한다. 표준 관계는 일반적으로 MPEG-2 표준, MPEG-4 표준, 및 H.264 표준에 의해 사용된다. 휘도 인덱싱과 채도 인덱싱 사이의 상기 관계는 다른 표준(예를 들면, MPEG-1)과 약간 다를 수 있지만, TriMADI 기술은 성능에 있어서의 약간의 변화로 여전히 구현될 수 있다.
입/출력 섹션
도 3은 이용가능한 필드들과 카운터들의 블록도이다. 메모리에서 읽혀진 현재 필드 CUR가 상위 필드인 경우에, 이전 필드 PRE와 다음 필드 NXT는 도 3의 상측 절반영역에 도시한 바와 같이 하위 필드들일 수 있다. 현재 필드 CUR가 하위 필드인 경우에, 이전 필드 PRE와 다음 필드 NXT는 도 3의 하측 절반영역에 도시한 바와 같이 상위 필드들일 수 있다. 일반적으로, 필드 CUR은 필드 PRE 및 필드 NXT와 반대 패리티를 갖는다. 필드 PRE는 일반적으로 필드 NXT와 동일한 패리티를 갖는다. 비디오 시퀀스의 첫번째 필드와 마지막 필드에 대하여, 단일 반대 패리트 필드만이 이용가능한다. 이러한 경우에, 단일 이용가능 반대 필드는 다음 필드 NXT와 이전 필드 PRE로서 기능할 수 있다.
동일한 패리티 휘도 샘플들과 반대 패리티 휘도 샘플들 각각에 대하여 고정 카운터(예를 들면, HSCnt [0-3])가 제공될 수 있다. 일예로, 카운터들 HSCnt는 각 프레임 휘도 샘플에 대하여 다중 비트(예를 들면, 2 비트)를 이용할 수 있다. 현재 필드 CUR 샘플들을 카운트하는데 사용되는 비트들은 TriMADI 구조하에서 메모리에 읽기 및 쓰기가 가능하다. 이전 필드 PRE 샘플들과 다음 필드 NXT 샘플들을 카운트하는데 사용되는 비트들은 TriMADI 구조하에서 메모리로부터 읽을 수 있다.
도 17a을 참조하면, TriMADI 구조의 입력 기준에 대한 표 1이 도시되어 있다. TriMADI 구조는 일반적으로 많은(예를 들면, 23개) 동작 모드들을 지원한다. 실제 입력 필드 기준은 각 모드에서 서로 다를 수 있다. 도 3 및 다음 섹션들은 일반적으로 최악의 시나리오(예를 들면, 모드 22 및 모드 23)에서의 기준을 나타낸다. 각 모드에 대한 세부 입력 기준은 표 1에서 알 수 있다.
각 현재 필드 CUR에 대하여, (ⅰ)단일 출력 프레임이 생성될 수 있고(예를 들면, 디인터레이싱이 수행됨) (ⅱ)2 비트 고정 카운터들 HSCnt[0-3]이 각 동일 패리티 필드 픽셀에 대하여 업데이트될 수 있다. 카운터들 HSCnt은 일반적으로 고정 체크가 인에이블되는 TriMADI 모드에서 업데이트된다. 고정 체크는 제어 신호(예를 들면, StatCheck)가 소정값(예를 들면, 1)으로 설정되면 인에이블될 수 있다.
도 4는 디인터레이싱에 사용되는 예시적인 휘도 픽셀들을 나타낸다. 현재 필드 CUR로부터 사용되는 픽셀들은 수직 줄무늬로 강조될 수 있다. 이전 필드 PRE로부터 사용되는 픽셀들은 대각선 줄무늬(좌측 하단에서 우측 상단으로 그리고 좌측 상단에서 우측 하단으로)로 강조될 수 있다. 다음 필드 NXT로부터 사용되는 픽셀들은 좌측 상단에서 우측 하단의 대각선 줄무늬로 강조될 수 있다(이전 필드 PRE의 픽셀들 일부와 중복됨). 현재 위치(u,v)에서 빠진 픽셀은 다이아몬드 패턴으로 강조될 수 있다.
현재 필드 CUR에서 현재 위치(u,v)에 있는 빠진 휘도 픽셀을 구성하기 위해, 다음 휘도 픽셀들은 일반적으로 이용가능한 것으로 간주된다. 현재 필드 CUR에서, 위치(i,j)에 있는 픽셀들은 이용가능하여야 한다(여기서, i ∈ {u-3,u-1,u+1,u+3}, 및 j ∈ {v-43,v-42,…, v+42,v+43}). 이전 필드 PRE에서, 위치(i,j)에 있는 픽셀들은 이용가능하여야 한다(여기서, i ∈ {u-2,u,u+2}, 및 j ∈ {v-5,v-4,…, v+4,v+5}). 다음 필드 NXT의 픽셀들에 대하여, 위치(i,j)에 있는 픽셀들은 이용가능하여야 한다(여기서, i = u, 및 j ∈ {v-5,v-4,…, v+4,v+5}). 3 라인들은 일반적으로 이전 필드 PRE에 사용된다. 단일 라인은 다음 필드 NXT에 사용될 수 있다. 일예로, 필드 NXT는 이전 PRE보다 일찍 발생하는 동일 패리티 필드로 대체될 수 있다.
도 5는 디인터레이싱에 사용되는 예시적인 채도 픽셀들을 나타낸다. 현재 필드 CUR에서 사용되는 채도 픽셀들은 일반적으로 수직 줄무늬로 강조된다. 이전 필드 PRE와 다음 필드 NXT로부터의 픽셀들은 대각선 줄무늬로 강조될 수 있다.
현재 필드 CUR의 현재 위치(cu,cv)에 있는 빠진 채도 픽셀을 구성하기 위해, 다음 채도 픽셀들은 일반적으로 이용가능한 것으로 가정된다. 현재 필드 CUR에서, 위치(i,j)에 있는 픽셀들은 이용가능하여야 한다(여기서, i ∈ {cu-1,cu+1}, 및 j ∈ {cv-3,cv-2,…, cv+2,cv+3}). 이전 필드 PRE의 픽셀들과 다음 필드 NXT의 픽셀들에 대하여, 위치(i,j)에 있는 픽셀들은 이용가능하여야 한다(여기서, i = cu, 및 j ∈ {cv-3,cv-2,…, cv+2,cv+3}).
OOB(Out-of-Bound) 조건 처리
필드 경계의 좌측 또는 우측에 있는 이용할 수 없는 픽셀들은 언제든지 휘도에 대하여 0(제로), 채도에 대하여 128로 가정될 수 있다. 필드 경계의 위 또는 아래(예를 들면, 액티브 비디오 영역의 외측)의 이용할 수 없는 라인들에 대하여, OOB 픽셀들을 처리하기 위해 두가지 방법이 이용될 수 있다. 상부 경계 위의 이용할 수 없는 라인들에 대한 첫번째 방법으로, 비디오의 최상위 라인은 이용할 수 없는 라인들로 대체될 수 있다. 예를 들면, 위치(-1,v),(-2,v),(-3,v) 등에 있는 픽셀들은 위치(0,v)에 있는 픽셀로 대체될 수 있다. 마찬가지로, 하부 경계 아래의 사용할 수 없는 라인들에 대하여, 비디오의 최하위 라인은 누락 라인들로 대체될 수 있다. 두번째 방법으로, 필드 경계 외측의 모든 픽셀들은 디폴트 값(예를 들면, 휘도에 대하여 0, 채도에 대하여 128)으로 설정될 수 있다.
TriMADI 기술은 일반적으로 수직 인접 카운터들 HSCnt를 이용한다. 따라서, 좌측 경계 외측 또는 우측 경계 외측에 있는 픽셀들에 대하여 카운터들 HSCnt이 구현될 수 없다. 상부 프레임 경계 위의 라인들에서의 이용할 수 없는 카운터들 HSCnt에 대하여, 카운터들 HSCnt은 상부 라인의 카운터들 HSCnt로 대체될 수 있다. 마찬가지로, 하부 프레임 경계 아래의 라인들에 대하여 이용할 수 없는 카운터들 HSCnt는 하부 라인의 카운터들 HSCnt로 대체될 수 있다. OOB 픽셀들의 처리와 달리, 카운터들 HSCnt는 디폴트 값(예를 들면, 0 또는 3)으로 대체될 수 없다. 디폴트 값들은 방정식 28이 잘못된 플래그(예를 들면, isStatHist)를 생성하게 할 수 있으며, 따라서 부정확한 플래그들(예를 들면, isStationaryY, isStationaryCb 및 isStationaryCr)이 디인터레이싱 기술에 의해 사용될 수 있다.
TriMADI 구조
TriMADI는 광범위한 잠재적인 대역폭 및 라인 액세스 다지인 제한들을 주문생산이 지원할 수 있게 하는 다중(예를 들면, 23개) 모드의 동작을 제공한다. 표 1은 일반적으로 TriMADI 구조에 의해 지원되는 모든 모드를 나타낸다. 표 1은 각 모드의 대역폭 소모에 근거하여 모드들을 그룹화할 수 있다. 첫번째 두 모드들을 제외하고, TriMADI 대역폭들은 1/2 휘도 필드 증분을 가질 수 있다. 이 표들은 쓰기가 아니라 읽기에 대한 대역폭 및 라인들을 나타낸다. 고정 체크 플래그(예를 들면, StatCheck) 디스에이블드(예를 들면, false)를 갖는 모든 모드들에 대하여, 쓰기 대역폭은 제로이다(예를 들면, 메모리 쓰기는 수행되지 않는다). 고정 체크 플래그 StatCheck 인에이블드(예를 들면, true)를 갖는 모든 모드들에 대하여, 쓰기 대역폭은 일반적으로 메모리(예를 들면, RAM)에 업데이트된 2 비트 카운트 HSCnt를 다시 쓰기 위한 1/4 휘도 필드이다. 고정 체크 플래그 StatCheck가 인에이블되면, 표 1에 도시된 라인 액세스 컬럼은 4:2:0 포맷에 사용되는 1 비트 라인스토어를 포함하지 않을 수 있다.
각 대역폭에 대하여, 최선의 모드는 노트 컬럼에서 √로 마킹된다. 일반적으로 대역폭이 증가할 수록 출력 품질도 증가한다. 따라서, 이용가능한 모든 모드들로, 이용가능한 대역폭 및 라인 스토리지에 근거하여 최선의 모드를 선택하기 위한 가이드라인으로서 표가 사용될 수 있다.
또한, 모드들 중 5는 추천 모드들(예를 들면,
Figure 112009030520823-PCT00001
로 마킹됨)을 포함한다. 대역폭이 증가할 수록 추천 모드들은 연속적이고 눈에 보이는 품질 개선을 제공할 수 있다. 최선의 전체 모드는 TriMADI 모드(예를 들면, 표 1에서 모드 23)로서 참조될 수 있다.
도 17a에 도시한 바와 같이, 각 모드는 다중(예를 들면, 7) 1 비트 제어 신호들((ⅰ)ThreeLumaField(예를 들면, T), (ⅱ)angleDetection(예를 들면, A), (ⅲ)TwoChromaField(예를 들면, C2), (ⅳ)ThreeChromaField(예를 들면, C3), (ⅴ)StatCheck(예를 들면, S), (ⅵ)Weave(예를 들면, W) 및 (ⅶ)Bob(예를 들면, B)에 의해 유일하게 특정될 수 있다. 모드 설명 컬럼에서, BB는 1 필드를 갖는 밥을 나타내고, WV는 일반적으로 2 필드를 갖는 위브를 나타내고, B2는 2 필드를 갖는 혼합이고, B3는 3 필드를 갖는 혼합이고, DI는 방향성 삽입을 나타내고, MW는 3 필드를 갖는 중간 위브이다. 전체 컬럼은 단일 4:2:0 휘도 필드/라인에 상대적일 수 있다. 제어 신호의 모든 조합이 유효한 것은 아니다. TriMADI 구조에 의해 지원되는 모든 유효 모드들은 일반적으로 표 1에 기재된다. 두개의 추가 제어 신호(예를 들면, HSCntReset 및 HSCntDefault)는 고정 카운터 HSCnt 및 리셋값들의 리셋을 인에이블/디스에이블시키는데 사용될 수 있다.
TriMADI 구조에 의해 다음 신호들 및/또는 플래그들이 정의될 수 있다. 제어신호(또는 플래그) ThreeLumaField는 일반적으로 초기 기술들 및 최우선 모드들(예를 들면, 종래의 위브 및 밥)로 과거의 호환성을 가능하게 하는데 사용된다. TriMADI 기술은 일반적으로 휘도 필드와 같거나 또는 적은 개수의 채도 필드를 이용한다. TriMADI 기술은 일반적으로 휘도 필드보다 많은 채도 필드를 이용하지 않는다.
제어 신호(또는 플래그) 밥은 외부 씬 변화 검출을 지원하는데 사용될 수 있다. 신호 Bob이 참이면, 밥 디인터레이스는 현재 필드에 근거하여 출력 프레임을 생성하는데 사용될 수 있다. 밥은 일반적으로 프레임을 생성하기 위해 필드를 공간적으로 삽입한다. 일반적으로, 밥 디인터레이싱은 누락 픽셀(들)을 만들기 위해 픽셀(들)의 위와 아래에서 공간적인 필터링을 수행한다. 공간적인 필터링은 수직 필터링으로 참조될 수 있다. 일반적인 밥 방법(AngleDetection = false인 경우)의 지원에 더하여, TriMADI 기술은 일반적으로 검출된 각도에 근거하여 방향성 삽입을 수행함으로써 에지 재그를 저감시킬 수 있는 다른 밥 방법(AngleDetection = true인 경우)을 지원한다. 다른 밥 모드(밥'으로 참조)는 라인 스토리지에 약간의 증가가 있는 종래의 밥 방법과 같은 대역폭을 이용할 수 있다. 밥 방법은 일반적으로 신호 threeLumaField가 거짓일 때 사용된다. 수직으로 그리고 대각선으로 밥'은 공간적으로 삽입될 수 있다.
제어 신호(또는 플래그) 위브는 인버스 텔레신에서와 같은 외부 화상 정지 검출을 지원하는데 사용될 수 있다. 일반적으로 위브 방법은 (ⅰ)두 필드가 이용가능한 경우 종래의 두 필드 위브(예를 들면, 필드 삽입) 및 (ⅱ)세 필드가 이용가능한 경우 (고정 체크에 의해 사용되는 것과 같은) 세 필드 중간 위브를 수행한다. 도 17a에 도시한 바와 같이, TriMADI는 일반적으로 이용가능한 개수에 따라 총 5개 의 위브 방법((ⅰ)휘도에 대한 두 필드 위브와 채도에 대한 밥, (ⅱ)휘도 및 채도에 대한 두 필드 위브(종래의 위브), (ⅲ)휘도에 대한 세 필드 중간 위브 및 채도에 대한 밥, (ⅳ)휘도에 대한 세 필드 중간 위브 및 채도에 대한 두 필드 위브, 및 (ⅴ)휘도 및 채도에 대한 세 필드 중간 위브)을 지원한다. 위브는 일반적으로 프레임을 형성하기 위해 상위 필드(들)과 하위 필드(들)로부터 픽셀들을 인터리브한다. 중간 위브는 3 필드를 이용하지만, 전형적인 위브는 상위 필드와 하위 필드만을 이용할 수 있다. 위브는 일반적으로 (추가 채도 필드들을 읽는) 대역폭을 절감하기 위해 휘도를 위빙하지만 채도를 밥한다. MADI는 일반적으로 픽셀 기반으로 위브와 밥 사이를 적응적으로 혼합한다. ReMADI는 픽셀 기반으로 밥+과 위브 사이를 혼합할 수 있다. 또한, TriMADI는 픽셀 기반으로 밥+과 위브 사이의 적응형 선택을 개선시키기 위해 인접하는 동일 패리티 필드들 사이의 고정 체크를 이용한다.
제어 신호(또는 플래그) AngleDetection이 참이면, 각도 검출 동작이 인에이블될 수 있다. 검출된 각도에 근거하여 누락 샘플을 만들기 위해 일반적으로 방향성 삽입이 사용된다. 방향성 삽입은 일반적으로 각도 컨텐츠의 재기를 만든다. 제어 신호 AngleDetection이 거짓이면, 각도 검출 동작은 디스에이블되고 TriMADI 기술의 리셋에 의해 디폴트 각도(예를 들면, 90°)가 사용된다.
일련의 제어신호들(또는 플래그들)(예를 들면, TwoChromaField 및 ThreeChromaField)는 TriMADI 방법에 의해 사용되는 다수의 채도 필드를 제어하는데 사용될 수 있다. 신호 TwoChromaField 및 신호 ThreeChromaField가 거짓이면, 현재 필드 CUR의 단일 채도 필드가 사용되며 밥 방법(수직 필터링 또는 방향성 삽입)은 누락 채도 샘플을 만들기 위해 사용될 수 있다. 신호 TwoChromaField만이 참이면, 이전 필드 PRE와 현재 필드 CUR의 채도 필드는 TriMADI 방법으로 사용될 수 있다. 신호 ThreeChromaField만이 참이면, 이전 필드 PRE, 현재 필드 CUR 및 다음 필드 NXT의 채도 필드는 TriMADI 방법에 의해 사용될 수 있다. 일반적으로, 신호 TwoChromaField와 신호 ThreeChromaField는 동시에 참이 아니어야 한다. 신호 ThreeChromaField는 신호 ThreeLumaField가 참인 경우에 사용될 수 있다. 신호 ThreeLumaField가 거짓이면, 신호 ThreeChromaField는 거짓일 수 있다.
신호(또는 플래그) StatCheck는 고정 체크 방법을 인에이블/디스에이블시키는데 사용될 수 있다. 신호 StatCheck가 참이면, 시간 동안 약간의 변화를 갖는 영역에 걸쳐 성능을 개선시키기 위해 고정 체크 방법이 인에이블될 수 있다. 일반적으로 고정 체크 방법은 디인터레이싱 기술에 의해 사용될 수 있는 신호들 isStationaryY, isStationaryCb 및 isStationaryCr을 제어한다. 일반적으로 신호 StatCheck는 고정 체크가 이전 필드 PRE와 다음 필드 NXT로 액세스하기 때문에 신호 ThreeLumaField가 참일 때 사용된다. 따라서, 신호 ThreeLumaField가 거짓이면, 신호 StatCheck는 거짓일 수 있다.
제어 신호(또는 플래그) HSCntReset은 고정 체크 카운터들 HSCnt의 리셋을 인에이블/디스에이블시키는데 사용될 수 있다. 일반적으로 제어 신호(또는 플래그) HSCntDefault는 리셋값에 2 비트 디폴트 값(예를 들면, 0 내지 3)을 제공한다. 신 호 HSCntReset이 거짓이면, 신호 HSCnt의 값은 메모리에서 로딩되어 라인 버퍼에 저장될 수 있다. 그렇지 않으면, 신호 HSCntDefault의 값은 일반적으로 HSCnt 라인 버퍼를 초기화하는데 사용된다. 신호 HSCntReset이 참이면, 신호 HSCntDefault의 디폴트 값에 의해 값들이 우선될 수 있기 때문에 카운터 HSCnt의 값들을 검색하기 위해 메모리가 읽혀질 수 없다.
스타트업시에 또는 신호 StatCheck가 0에서 1로 토글되면, 이 방법은 첫번째 프로세스된 필드(예를 들면, 상위)의 패리티를 매칭시키는 카운터를 위하여 우선 필드(예를 들면, 상위)를 0에 먼저 놓고 그리고 나서 두번째 프로세스된 필드의 패리티를 매칭시키는 카운터를 위하여 다른(예를 들면, 하위) 우선 필드를 제로에 놓는다. 그것에 의해, TriMADI 방법을 구현하는 제어 소프트웨어 및/또는 하드웨어는 HSCntReset = true 및 HSCntDefault = 0을 설정하여야 한다. 카운터 HSCnt의 0으로의 리셋 대신에, 제어 소프트웨어/하드웨어는 신호 StatCheck가 0에서 1로 토글되고 위브가 1에서 0으로 토글되면 카운터 HSCnt를 3(예를 들면, HSCntReset = true 및 HSCntDefaut=3)으로 리셋할 수 있다. 외부 제어 위빙은 최근 필드들이 고정이라는 것의 지시이기 때문에 포스 위빙이 이전 필드에 사용되고 고정 체크가 인에이블된 경우에 상기가 수행될 수 있다. 따라서, 카운터 HSCnt의 디폴트 값 3으로의 리셋은 0(예를 들면, scratch로부터 고정 카운터 HSCnt를 리빌딩)으로의 리셋보다 좋은 고정 상태를 반영할 수 있다. 또한, 외부 제어 신호들은 필드 경계들 또는 스타트업시에만 변해야 한다. 제어 신호들은 필드를 디인터레이싱하는 동안 변하지 않아야 한다.
도 6a는 본 발명의 바람직한 실시예에 따른 TriMADI 기술을 구현하는 예시적인 시스템(94)의 블록도이다. 일반적으로 시스템(94)은 회로(또는 모듈)(96), 회로(또는 모듈)(98) 및 회로(또는 모듈)(100)을 포함한다. 일련의 신호들(예를 들면, CONTROL)은 회로(96)에서 회로(100)로 전달될 수 있다. 신호(예를 들면, DATA)는 회로(98)와 회로(100) 사이를 주고 받을 수 있다. 신호(예를 들면, FRAME)는 회로(100)에 의해 생성되어 제공될 수 있다. 신호(예를 들면, FIELD)는 회로(98)에 의해 수신될 수 있다.
회로(96)는 제어 회로로 구현될 수 있다. 회로(96)는 신호 CONTROL로서 참조된 다중 제어 신호를 생성하도록 동작할 수 있다. 일반적으로 신호 CONTROL은 신호들 ThreeChromaField, TwoChromaField, ThreeLumaField, AngleDetection, BOB, WEAVE, StatCheck, HSCntReset 및 HSCntDefault을 포함한다. 일반적으로 신호 CONTROL의 성분들은 각각 하나 이상의 휘도 필드와 하나 이상의 채도 필드에 대한 이전 필드 및 다음 필드를 이용하여 회로(100)가 동작되도록 한다.
회로(98)는 RAM 회로로 구현될 수 있다. 회로(98)는 디인터레이싱 동작시 회로(100)에 의해 사용하기 위한 신호 FIELD가 수신될 때에 하나 이상의 필드를 버퍼링하도록 동작할 수 있다. 또한, 회로(98)는 다양한 카운터 HSCnt를 저장하도록 구성될 수 있다.
회로(100)는 디인터레이싱 회로로 구현될 수 있다. 회로(100)는 모드들 중 적어도 두개를 이용하여 신호 DATA에 수신되는 필드들을 디인터레이싱함으로써 신호 FRAME을 생성하도록 동작할 수 있다. 모드들의 그룹은 표 1(도 17a)에 예시되어 있으며 하기에 상세히 설명된다.
도 6b는 회로(100)의 예시적인 구현의 상세 블록도이다. 제어 신호들은 일반적으로 얇은 라인들로 도시되고 데이터 신호들은 두꺼운 라인들로 도시된다. 일반적으로 회로(100)는 Y 채널 각도 검출 블록(또는 모듈)(102), 제어 신호 디코더 블록(또는 모듈)(104), Y 채널 고정 체크 블록(또는 모듈)(106), Cb-채널 고정 체크 블록(또는 모듈)(108), Cr 채널 고정 체크 블록(또는 모듈)(110), HSCnt 버퍼 블록(또는 모듈)(112), Y 채널 디인터레이싱 블록(또는 모듈)(114), Cb 채널 디인터레이싱 블록(또는 모듈)(116), Cr 채널 디인터레이싱 블록(또는 모듈)(118), 및 업데이트 고정 카운터 블록(또는 모듈)(120)을 포함한다.
일반적으로 회로(100)는 몇가지 내부 제어 신호들(신호(예를 들면, enableAngleDetectionY), 신호(예를 들면, enableStatCheckY), 신호(예를 들면, enableStatCheckC), 신호(예를 들면, weaveTwoFieldY), 신호(예를 들면, weaveTwoFieldC), 신호(예를 들면, weaveThreeFieldY), 신호(예를 들면, weaveThreeFieldC), 신호(예를 들면, oneFieldY), 신호(예를 들면, oneFieldC), 신호(예를 들면, threeFieldY) 및 신호(예를 들면, threeFieldC))에 의해 제어된다. 내부 제어 신호들은 도 18a에 도시한 바와 같이 방정식 세트 1에 따라 외부 제어 신호들을 이용하여 제어 신호 디코더 블록(104)에 의해 디코딩될 수 있다. 또한, 제어 신호들(신호(예를 들면, isAngle), 신호(예를 들면, angleFit), 신호(예를 들 면, α), 신호(예를 들면, statY), 신호(예를 들면, statCb), 신호(예를 들면, statCr), 신호(예를 들면, isStationaryY), 신호(예를 들면, isStationaryCb), 및 신호(예를 들면, isStationaryCr))은 각도 검출 블록(102) 및 고정 체크 블록(106,108,110)에 의해 내부적으로 생성될 수 있다.
Y 채널에 대하여, 상위 2 휘도 라인과 하위 2 휘도 라인 사이에 강한 각도의 상관관계가 존재하는 지를 판단하기 위해 각도 검출이 각도 검출 블록(102)에 의해 수행될 수 있다. 그리고, 각도 정보는 휘도 고정 체크 블록(106)과 디인터레이싱 블록(114)에 의해 사용될 수 있다. 일반적으로 각도 검출은 휘도 채널을 위해 수행되지만 선택적으로 채도 채널을 위해 수행될 수 없다.
다음, 회로(100)는 일반적으로 비고정 픽셀로부터 고정(예를 들면, 정지) 픽셀들을 구별하기 위해 고정 체크 블록(106,108,110)에서 고정 체크 방법을 이용한다. 고정 체크(예를 들면, 신호들 isStationaryY, isStationaryCb, isStationaryCr)의 결과는 각각 디인터레이싱 블록(114,116,118)으로 전달될 수 있다. 모든 3 채널들에 대하여 고정 체크가 독립적으로 수행되더라도, 현재 픽셀 위치에 대한 고정 카운터 HSCnt는 일반적으로 3 채널에 대하여 함께 업데이트된다. 카운터 HSCnt의 단일 값은 모든 3 채널들에 대하여 고정 체크 블록(106,108,110)에 의해 사용될 수 있다.
도 7은 예시적인 휘도 및 채도 디인터레이싱 방법(140)의 흐름도이다. 일반 적으로 디인터레이싱 방법(또는 프로세스)(140)은 단계(또는 블록)(142), 단계(또는 블록)(144), 단계(또는 블록)(146), 단계(또는 블록)(148), 단계(또는 블록)(150), 단계(또는 블록)(152), 단계(또는 블록)(154), 단계(또는 블록)(156), 단계(또는 블록)(158), 단계(또는 블록)(160), 단계(또는 블록)(162), 및 단계(또는 블록)(164)를 포함한다. 일반적으로 TriMADI 구조는 휘도 및 채도 디인터레이싱에 대하여 동일한 디인터레이싱 방법(140)을 이용한다. 채도 디인터레이싱과 휘도 디인터레이싱 사이의 차이는 제어 신호들 및 결과들(예를 들면, x's)이 어떻게 계산되는지일 수 있다.
채도 디인터레이싱에 대하여, 모든 제어 신호들은 신호의 대응하는 채도 버전에 의해 대체될 수 있다(예를 들면, 슈퍼스크립트 Y를 슈퍼스크립트 C 또는 K로 대체). 예를 들면, 신호 weaveTwoFieldY는 신호 weaveTwoFieldC로 대체되고, 신호 weaveThreeFieldY는 신호 weaveThreeFieldC로 대체되고, 신호 oneFieldY는 신호 oneFieldC로 대체되고, 신호 threeFieldY는 신호 threeFieldC로 대체될 수 있다. 또한, 모든 x's는 대응하는 xK 버전으로 대체될 수 있다.
단계(142)에서, 디인터레이싱 방법(140)은 신호 weaveTwoField의 값을 체크할 수 있다. 이 값이 참이면(예를 들면, 단계 142의 참), 방법(140)은 단계(144)에서 weaveTwoField 방법을 이용하여 계산된 변수(예를 들면, xW2)를 이용하여 출력 샘플 변수(예를 들면, Xout)를 생성할 수 있다. 이 값이 거짓이면(예를 들면, 단계 142의 거짓), 방법(140)은 단계(146)로 나아갈 수 있다.
단계(146)에서, 디인터레이싱 방법(140)은 신호 isStationary 및 신호 weaveThreeFieldY의 값의 불 논리 OR(예를 들면, 심볼 "||")를 체크할 수 있다. 논리 OR가 참이면(예를 들면, 단계 146의 참), 방법(140)은 단계(148)에서 weaveThreeField 방법을 이용하여 계산된 변수(예를 들면, xW3)를 이용하여 출력 샘플 변수 Xout을 생성할 수 있다. 논리 OR가 거짓이면(예를 들면, 단계 146의 거짓), 방법(140)은 단계(150)로 나아갈 수 있다.
단계(150)에서, 디인터레이싱 방법(140)은 신호 isAngleY의 값을 체크할 수 있다. 값이 참이면(예를 들면, 단계 150의 참), 방법(140)은 단계(152)로 나아갈 수 있다. 값이 거짓이면(예를 들면, 단계 150의 거짓), 방법(140)은 단계(156)로 나아갈 수 있다.
단계(152)에서, 디인터레이싱 방법(140)은 신호 angleFit의 값을 체크할 수 있다. 값이 참이면(예를 들면, 단계 152의 참), 방법(140)은 단계(154)에서 각도 신호 α에서 변수(예를 들면, xdf)를 이용하여 출력 샘플 변수 Xout을 생성할 수 있다. 값이 거짓이면(예를 들면, 단계 152의 거짓), 방법(140)은 단계(156)로 나아갈 수 있다.
단계(156)에서, 디인터레이싱 방법(140)은 신호 oneField의 값을 체크할 수 있다. 값이 참이면(예를 들면, 단계 156의 참), 방법(140)은 단계(158)에서 수직 공간 필터링 방법(예를 들면, 밥 방법)을 이용하여 계산된 변수(예를 들면, xvf)를 이용하여 출력 샘플 변수 Xout을 생성할 수 있다. 값이 거짓이면(예를 들면, 단계 156의 거짓), 방법(140)은 단계(160)로 나아갈 수 있다.
단계(160)에서, 디인터레이싱 방법(140)은 신호 threeField의 값을 체크할 수 있다. 값이 참이면(예를 들면, 단계 160의 참), 방법(140)은 단계(162)에서 2 필드 방법(예를 들면, B2 방법)의 혼합을 이용하여 계산된 변수(예를 들면, xB2)를 이용하여 출력 샘플 변수 Xout을 생성할 수 있다. 값이 거짓이면(예를 들면, 단계 160의 거짓), 방법(140)은 단계(162)에서 3 필드 방법(예를 들면, B3 방법)의 혼합을 이용하여 계산된 변수(예를 들면, xB3)를 이용하여 출력 샘플 변수 Xout을 생성할 수 있다.
일예로, 각도 검출은 채도 채널에 대하여 수행될 수 없다. 따라서, (ⅰ)채도 디인터레이싱에서 각도 정보는 이용될 수 없고, (ⅱ)신호 isAngleC는 언제나 거짓이고 (ⅲ)신호 angleFitK와 신호 xDF K의 값은 무시될 수 있다. 일예로, 신호 isAngle에 대응하는 전체 브랜치는 채도를 위한 구현에서 생략될 수 있다.
휘도 디인터레이싱 성분
신호 weaveTwoFieldY의 값이 참이면, 휘도 출력을 생성하기 위해 위브 방법이 사용될 수 있다. 일반적으로 변수 xW2는 이전 필드 PREV의 같은 장소에 위치한 다. 따라서, 휘도 디인터레이싱에 대하여, xW2의 값은 도 18a에 도시한 바와 같이 방정식 2로서 정의될 수 있다. 방정식 2에서, PRE[u][v]는 이전 반대 패리티 필드의 같은 장소에 위치하는 휘도 샘플일 수 있다. 이전 (반대-패리티) 필드 PRE 필드는 위빙에 사용될 수 있다. 하지만, 3:2 풀다운 스킴을 갖는 입력 비디오에 대하여, 위빙은 다음 필드 NXT를 이용하여 수행될 수 있다. 이러한 경우에, 이전 필드 PRE는 TriMADI 방법에 의해 프로세싱되기 이전에 다음 필드 NXT와 스와핑될 수 있다.
일반적으로 세 필드 중간 위브는 현재 픽셀이 고정으로 판정되거나(예를 들면, 신호 isStationary가 참) 또는 신호 weaveThreeFieldY가 참(도 7 참조)인 경우에 사용된다. 중간 위브 출력 변수 xW3은 도 18a에 도시한 바와 같이 방정식 세트 3으로서 계산될 수 있다. 방정식 세트 3에서, 변수 Xvf는 방정식 4에 정의되고 변수 xCO는 변수 xcp, Xcn 및 xvf의 중간으로 정의될 수 있다.
삽입될 픽셀이 에지 픽셀이 아니라고 선언되면(예를 들면, 신호 isAngle = false), 4 탭 수직 필터는 도 18b에 도시한 바와 같이 방정식 4로서 삽입 변수 xvf를 생성하도록 적용될 수 있다. 변수 xvf는 범위[0,255]로 클리핑되어야 한다.
삽입될 픽셀이 에지 픽셀로 선언되면(예를 들면, 신호 isAngle = true), 방향성 필터는 도 18b에 도시한 바와 같이 방정식 5로서 삽입 변수 xdf를 생성하도록 적용될 수 있다. 각도 변수 α는 검출된 각도이고, 변수 b와 변수 l(소문자 L)는 각도 α로부터 얻을 수 있다. 일반적으로 상기 방향성 필터에 사용되는 네 픽셀은 위치(u,v)에서 "방향적으로" 집중된다. 예를 들면, α=2의 경우에 대하여 도 12를 참조한다.
삽입된 픽셀 Xout은 국부 수직 움직임에 극적인 변화를 주지 않아야 한다. 따라서, 다음 "보호" 조건들이 강요될 수 있다.
(1) local_set = {CUR[u-1][v-1], CUR[u+1][v-1], CUR[u-1][v+1], CUR[u+1][v+1], xout[u][v-1]}.
(2) min_set = {local_set, max(CUR[u-1][v], CUR[u+1][v])}.
(3) max_set = local_set, min(CUR[u-1][v], CUR[u+1][v])}.
(4) min0 = minimum of min_set.
(5) min1 = 2nd minimum of min_set.
(6) max0 = maximum of max_set.
(7) max1 = 2nd maximum of max_set.
(8) max_side_gradient = max(|CUR[u-1][v-1]-CUR[u+1][v-1]|, |CUR[u-1][v+1]-CUR[u+1][v+1]|).
(9) min_side_gradient = min(|CUR[u-1][v-1]-CUR[u+1][v-1]|, |CUR[u-1][v+1]-CUR[u+1][v+1|).
(10) gradient = max(min(max0-min1, max1-min0, max_side_gradient), min_side_gradient).
각도 적합값(예를 들면, angleFITY)는 도 18b에 도시한 바와 같이 방정식 6으로 계산될 수 있다. 방정식 6에서, 파라미터 c3는 0 내지 15의 정수값과 9의 디폴트 값을 갖는 프로그래머블 파라미터이다. 상기 조건이 만족되면, (방정식 5에서 정의된 것과 같은) xdf는 생성된 최종 출력으로 사용될 수 있다. 그렇지 않으면, 픽셀은 비에지 픽셀로 처리될 수 있다(도 7 참조). 방정식 6에서의 "기울기" 동작은 일반적으로 이상치를 거부하는 국부 픽셀 변수의 측정이다. 일반적으로 기울기 동작은 많은 "중단된" 대각선, 특히 낮은 명암의 선들을 고정하지만, 현저히 눈에 띄는 새로운 거짓 각도 삽입을 도입하지는 않는다. 화상 외측의 local_set 픽셀들에 대한 제로의 디폴트 값의 이용은 "사이드 기울기"가 일반적으로 지나치게 큰 기울기를 방지하기 때문에 수용가능하다.
최종 혼합된 변수(예를 들면, xblend)를 생성하기 위한 변수 xvf와 변수 xco의 혼합은 도 18b에 도시한 바와 같이 방정식 7로 계산될 수 있다. 방정식 7에서, (ⅰ) xcp = PRE[u][v]는 나란히 놓인 픽셀 이전 필드 픽셀일 수 있고, (ⅱ)threeFieldY가 참이고 threeFieldY가 거짓일 때 xcp와 같을 때
Figure 112009030520823-PCT00002
는 나란히 놓인 다음 필드 픽셀일 수 있고, (ⅲ) xco = median(xcp, xcn, xvf)는 일반적으로 혼합으로 픽셀와이즈 위브에 사용된다. 변수 xB2는 일반적으로 이전 필드들에서 나란히 놓인 픽셀들을 갖는 수직 필터링된 값(예를 들면, 밥)에서 유도된다. 변수 xB3는 이전 및 다음 필드들에서 나란히 놓인 픽셀들을 갖는 수직 필터링된 값(예를 들면, 밥)에서 유도될 수 있다.
혼합 인자(예를 들면, μ)는 도 18b에 도시한 것과 같이 방정식 세트 8로 계산될 수 있다. 방정식 세트 8에서, 파라미터 Δτ는 세트{2,4,8,16}에서 프로그래머블 파라미터일 수 있다. Δτ의 디폴트 값은 신호 ThreeLumaField가 참일 때 16이고 신호 ThreeLumaField가 거짓일 때 8일 수 있다. τ의 값은 도 18c에 도시한 바와 같이 방정식 세트 9로 계산될 수 있다. 방정식 세트 9에서, 파라미터 τscale 및 nscale는 일반적으로 세트(1,…,16)에서 프로그래머블 파라미터이다. nscale에 대한 디폴트 값은 8일 수 있다. τscale에 대한 디폴트 값은 신호 ThreeLumaField가 참일 때 8이고 신호 ThreeLumaField가 거짓일 때 4일 수 있다. 3 필드 혼합에 대하여, 디폴트 값은 τ3 및 xn에 대한 무 스케일링을 가져올 수 있다. 2 필드 혼합에 대하여, 다음 필드 NXT가 이전 필드 PRE로서 처리되기 때문에 xn은 언제나 0일 수 있다. 그것으로서, nscale은 일반적으로 2 필드 혼합에 영향을 주지 않는다.
도 8은 변수 Xco 및 Xvf의 함수로서 혼합 인자 μ의 그래프이다. 혼합 인자 μ는 다중 필드의 시공간 비선형 혼합에 사용될 수 있다. 혼합 방법에서 사용되는 변수 τ1(방정식 세트 9 참조)는 모션 적응형 디인터레이싱 및 모션 보상 디인터레 이싱과 유사할 수 있다. 변수 τ2의 사용은 일반적으로 (에지에서가 아니라) 이동 에지의 근방에서의 아티팩트들을 회피한다. 이러한 상황에서, 최대가 사용되면, 변수 τ1은 매우 커질 수 있고 따라서 시간 필터링은 일반적으로 수직 필터 대신에 사용된다. 변수 τ2를 포함함으로써 새로운 눈에 띄는 아티팩트들이 도입되지 않는다. 도 8의 함수는 (상기에 대한 어림수를 정확히 특정하기 위해) 다음의 의사 코드로 표현될 수 있다.
Figure 112009030520823-PCT00003
여기서, τscale은 세트{1/4,1/2,1,2}에서 값을 취하고 Δτ는 세트{4,8,16,32}에서 값을 취할 수 있다.
채도 디인터레이싱 성분
신호 weaveTwoFieldC가 참이면, 위브 방법은 채도 출력 변수를 생성하는데 사용될 수 있다. 변수 xW2 K는 일반적으로 이전 필드 PRE에서 나란히 놓인 픽셀이다. 따라서, 채도 디인터레이싱에 대하여, xW2 K의 값은 도 18c에 도시한 바와 같이 방정식 10으로 정의될 수 있다. 방정식 10에서, PREK[cu][cv]는 이전 반대 패리티 필드 에서 나란히 놓인 휘도 샘플일 수 있다. 또한, 필드 PREK(이전 반대 패리티 필드)는 위빙에 사용된다. 하지만, 3:2 풀다운 스킴을 갖는 비디오 시퀀스에 대하여, 위빙은 다음 필드 NXT를 이용하여 수행될 수 있다. 이러한 경우에, 이전 필드 PRE는 TriMADI 방법에 의해 프로세싱되기 이전에 다음 필드 NXT와 스와핑될 수 있다.
세 필드 중간 위브는 일반적으로 현재 픽셀이 고정으로 판정될 때(예를 들면, 신호 isStationaryK가 참) 또는 신호 weaveThreeFieldC가 참일 때(도 7 참조) 사용된다. 중간 위브 출력(예를 들면, xW3 K)은 도 18c에 도시한 바와 같이 방정식 세트 11로 계산될 수 있다. 방정식 세트 11에서, 변수 xvf K 및 xCO K는 각각 방정식 12 및 13으로 정의될 수 있다.
삽입될 픽셀이 에지 픽셀이 아닌 것으로 선언되면(예를 들면, 신호 isAngleC = false), 2 탭 수직 필터링은 도 18c에 도시한 바와 같이 방정식 12로 삽입 값을 생성하기 위해 적용될 수 있다. 방정식 12에서, 변수 xvf K는 범위[0,255]로 클리핑되어야 한다. 채도 수직 필터링에 대하여, 2 탭 필터는 휘도 수직 필터링에 사용되는 4 탭 필터 대신에 사용될 수 있다.
채도 혼합은 휘도 혼합과 반드시 동일할 수 있다. 휘도 혼합과 비교하여 채도 혼합에서의 차이는 변수 τ가 어떻게 계산되는지일 수 있다. 방정식 13은 도 18d에 도시한 바와 같이 xvf K와 xCO K의 혼합에 사용될 수 있다. 방정식 13에서, (ⅰ)xcp K = PREK[cu][cv]는 나란히 놓인 픽셀 이전 필드 픽셀일 수 있고, (ⅱ)신호 신호 threeFieldC가 참이고 threeFieldC가 거짓이면 이전 필드에서 나란히 놓인 픽셀일 때
Figure 112009030520823-PCT00004
는 다음 필드 픽셀에서 나란히 놓인 픽셀일 수 있고, (ⅲ)XCOK = median(xcp K,xcn K,xvf K)는 혼합을 갖는 픽셀와이즈 위브에 사용될 수 있다.
일반적으로 변수 xB2 K는 이전 필드들에서 나란히 놓인 픽셀들을 갖는 수직 필터링된 값(예를 들면, 밥)으로부터 유도된다. 변수 xB3 K는 이전 및 다음 필드에서 나란히 놓인 픽셀들을 갖는 수직 필터링된 값(예를 들면, 밥)으로부터 유도될 수 있다.
혼합 인자 변수(예를 들면, μK)는 도 18d에 도시한 바와 같이 방정식 세트 14로 계산될 수 있다. 방정식 세트 14에서, 파라미터 ΔτC는 세트{1,2,4,8}에서의 프로그래머블 파라미터일 수 있다. ΔτC의 디폴트 값은 신호 ThreeChromaField가 참이면 8이고 신호 TwoChromaField가 참이면 4일 수 있다. 변수 τK는 도 18d에 도 시한 바와 같이 방정식 세트 15로 계산될 수 있다. 방정식 세트 15에서, 파라미터 nscale는 휘도 혼합에서 정의된 것과 같은 프로그래머블 파라미터일 수 있고 τscale C는 세트{1,…,16}에서의 프로그래머블 파라미터일 수 있다. τscale C에 대한 디폴트 값은 신호 ThreeChromaField가 참이면 8이고 신호 TwoChromaField가 참이면 4일 수 있다. 3 필드 혼합에 대하여, 디폴트 값은 일반적으로 τ3 및 xn에 대한 무 스케일링을 야기한다. 2 필드 혼합에 대하여, 다음 필드 NXTK가 이전 필드 PREK로 처리되기 때문에 xn은 0일 수 있다. 그것으로서, nscale의 값은 일반적으로 2 필드 혼합에 영향을 주지 않는다.
채도 혼합은 일반적으로 휘도에서와 같은 혼합 기술을 이용한다. 의사 코드에 있어서, 채도 혼합은 다음과 같이 주어질 수 있다.
Figure 112009030520823-PCT00005
휘도 각도 검출
도 9는 예시적인 휘도 각도 검출 방법(180)의 흐름도이다. 각도 검출 방법(또는 프로세스)(180)은 일반적으로 단계(또는 블록)(182), 단계(또는 블록)(184), 단계(또는 블록)(186), 및 단계(또는 블록)(188)를 포함한다. 휘도 각도 검출 방법(180)은 (ⅰ)현재 위치가 에지인지 그리고 (ⅱ)에지이면, 에지의 각도를 판단하는데 사용된다.
단계(182)에서, 방법(180)은 각도 검출이 인에이블 또는 디스에이블인지를 판단하기 위해 신호(예를 들면, enableAngleDetection)를 체크할 수 있다. 각도 검출이 인에이블되면(예를 들면, 단계 182의 참), 방법은 단계(184)로 나아갈 수 있다. 단계(184)에서, 변수 DIFF가 계산될 수 있다. 이 후, 신호 isAngle은 단계(186)에서 참으로 설정될 수 있다. 각도 검출이 디스에이블되면(예를 들면, 단계 182의 거짓), 방법(180)은 단계(188)에서 신호 isAngle을 거짓으로 설정할 수 있다.
도 10은 예시적인 검출가능한 각도를 나타낸다. 각도 검출 모듈(102)은 위치(u,v)에 인접한 각도 특징에 있는 에지를 검출하기 위해 화상을 검사할 수 있다. TriMADI 구조에서, 화상은 수평축(190)에 대하여 다중(예를 들면, 2-19) 각도를 따라 검색될 수 있다. 좌측(예를 들면, 인덱스 번호 -9)에서 우측(예를 들면, 인덱스 번호 9)로, 각도는 각각 174.6°, 172.4°, 171.3°, 169.7°, 167.5°, 164.1°, 158.2°, 146.3°, 116.6°, 90.0°, 63.4°, 33.7°, 21.8°, 15.9°, 12.5°, 10.3°, 8.7°, 7.6°, 및 5.4°일 수 있다. 도 10에 도시한 바와 같이, 각도 인덱스 i는 -9≤i≤9의 범위를 가질 수 있다. 인덱스는 -21, -15, -13, -11, -9, -7, -5, -3, -1, 0, 1, 3, 5, 7, 9, 11, 13, 15, 21의 베이스 오프셋(예를 들면, b)에 대응한다. 베이스 오프셋은 일반적으로 위 라인들과 아래 라인들 사이의 픽셀 거리 로 정의된다. 따라서, 각도α는 tan-1(2/b)일 수 있다. 검출된 각도 인덱스 i, 베이스 오프셋 b, 및 각도 α 사이의 매핑은 도 17b에 도시한 바와 같이 표 2에 요약되어 있다. 또한, 베이스 인덱스 b는 각도 인덱스 i의 함수일 수 있으며, 역 또한 같다. 90.0°각도는 각도 검출의 정확도를 증가시키기 위해 유효 검출 각도로서 간주될 수 있다.
현재 필드 CUR의 위치(u,v)에 있는 픽셀을 삽입하기 위해, 어레이 DIFF[i]는 도 18d에 도시한 바와 같이 방정식 16으로 각 각도 인덱스 i에 대하여 계산될 수 있다. 방정식 16에서, 상관 윈도우는 2W의 사이즈를 가질 수 있다. 또한, 변수 l은 도 18d에 도시한 바와 같이 방정식 17로 정의될 수 있다.
24(예를 들면, W=12)의 사이즈를 갖는 상관 윈도우는 일반적으로 어레이 DIFF 계산에 우수한 정확도를 제공한다. 보다 큰 윈도우 사이즈는 낮은 각도에 대하여 각도 검출 정확도를 개선시킬 수 있다. 다른 윈도우 사이즈들은 특정 응용의 기준을 충족하도록 구현될 수 있다.
도 11-13은 세개의 예시적인 각도들을 나타낸다. 도 11은 일반적으로 63.4°의 첫번째 각도에서 DIFF[i]을 계산하는데 사용되는 다중(예를 들면, N=24) 라인 세그먼트(200a-200n)를 예시한다. 도 12는 일반적으로 33.7°의 두번째 각도에 있는 N 라인 세그먼트(202a-202n)를 예시한다. 도 13은 일반적으로 21.8°의 세번째 각도에 있는 N 라인 세그먼트(204a-204n)를 예시한다. 각 예에서, 유일한 어레이 DIFF[i]는 도면에서 각각 다수개의 검은 점들을 연결하는 N=24 라인 세그먼트들을 따라 (2W+3x2W = 4x24 = 96) 페어 와이즈 절대차의 합으로 계산될 수 있다. 특정 응용의 기준을 충족하기 위해 다른 개수의 라인 세그먼트, 다른 길이의 라인 세그먼트, 및 다른 간격의 라인 세그먼트가 구현될 수 있다.
실험 결과에 근거하여, 4비트/픽셀의 저감된 정밀도는 현재 필드 CUR에서 적어도 16 그레이 레벨들의 평균 단계 높이로 에지를 캡쳐하기에 충분하며, 따라서 지각 성능에 현저히 영향을 주지 않고 하드웨어 비용을 현저히 저감시킬 수 있다. 방정식 16에서, DIFF의 계산은 높은 계산 복잡도(예를 들면, 96 가산과 절대치를 각각 가지는 19 DIFF)를 갖는 것으로 보인다. 실제로, 구현은 소수의 계산을 가질 수 있다. 고속 계산은 일반적으로 위치(u,v)(DIFF(u,v)[i]로 표시)와 위치(u,v-1)(DIFF(u,v-1)[i]로 표시) 사이의 관계를 조사함으로써 얻을 수 있다.
도 14는 위치(u,v-1)와 위치(u,v)에 있는 DIFF[i]의 예시적인 관계를 나타낸다. 각 어레이 DIFF[i]는 96 가산과 절대치를 이용하지만, 방정식 16에서 절대차(SAD) 용어의 최대 합은 위치(u,v-1) 및 (u,v)에 공통이다. 두 위치의 DIFF[i] 사이의 차는 슬라이딩 윈도우에서 좌측 경계(210) 및 우측 경계(212)이다. 따라서, 방정식 16은 도 18e에 도시한 바와 같이 방정식 세트 18로 재공식화될 수 있다. DIFF(u,v-1)[i]를 (대부분의 경우에) 알고 있으면, DIFF(u,v-1)[i]는 적은 노력으로 계산될 수 있다. 방정식 세트 18에 도시한 바와 같이, 고속 기술은 위치(u,v)에 대한 각 DIFF[i]를 계산하기 위해 2+3+3=8 가산 및 절대치를 이용한다. 따라서, 계산 복잡도는 12개의 인자로 줄일 수 있다. 로우(예를 들면, DIFF(u,v=0)[i])에서 가장 좌측 픽셀에 대하여, DIFF(u,v=-1)[i]가 존재하지 않기 때문에 완전한 계산이 수행될 수 있다.
19 어레이 DIFF를 계산한 후에, 삽입될 현재 픽셀이 하기 룰에 따라 위치하는 지가 판정될 수 있다. 다음의 용어 정의는 룰에 의해 사용될 수 있다.
(1) DIFF_min1 = DIFF[α]가 19 DIFF의 최소일 수 있다.
(2) DIFF_min2 = DIFF[β]가 두번째 최소일 수 있다.
(3) DIFF_min3는 세번째 최소일 수 있다.
(4) DIFF_max는 최대일 수 있다.
DIFF_min1 = DIFF[α] == DIFF_min2 = DIFF[β]이면, α의 값은 한가운데 각도(예를 들면, |α| < |β|)의 인덱스이어야 한다. 마찬가지로, DIFF_min2 = DIFF[β] == DIFF_min3이면, β의 값은 DIFF_min2와 DIFF_min3의 한가운데의 인덱스이어야 한다. 인덱스 i에서 중심 각도(예를 들면, 90°)의 거리는 도 17b에 도시한 바와 같이 표 3에 정의될 수 있다. 일예로, "타이" 경우를 차단하는 다른 룰을 이용함으로써 하드웨어 구현이 보다 단순해질 수 있다. 특정 응용의 기준을 충족하기 위해 다른 룰이 구현될 수 있다.
(5) 변수(예를 들면, LEFT)는 α의 좌측에 대하여 중간 인접 각도로서 정의될 수 있고 변수(예를 들면, RIGHT)는 α의 우측에 대하여 중간 인접 각도로서 정의될 수 있다. 변수 LEFT 및 RIGHT는 도 18e에 도시한 바와 같이 방정식 세트 19에 따라 결정될 수 있다.
(6) 몇개의 변수들(예를 들면, UpLeft, UpRight, DownLeft, DownRight)은 윈도우의 라인 u-1 및 라인 u+1에서 가장 좌측 픽셀 및 가장 우측 픽셀일 수 있다. 변수들 UpLeft, UpRight, DownLeft, DownRight는 도 18e에 도시한 바와 같이 방정식 세트 20에 따라 결정될 수 있다.
(7) 임계 매트릭스(예를 들면, TH_DIFF)는 각도에 대한 최대 허용 SAD를 정의할 수 있다. 매트릭스 TH_DIFF는 각도 종속 8비트 프로그래머블 임계값을 저장할 수 있다. DIFF 계산시 각 픽셀이 4 비트로 표현되면, TH_DIFF에 대한 디폴트값은 도 17b에 도시한 바와 같이 표 4로 정의될 수 있다. 8 비트 DIFF 계산에 대하여, 표 4의 디폴트 값은 16이 곱해질 수 있다.
다음 조건들이 만족되면 픽셀은 각도 픽셀(예를 들면, isAngle flag = true)로 선언될 수 있다.
Figure 112009030520823-PCT00006
조건(a)에서 파라미터 c1은 7의 디폴트 값을 갖는 {3,5,…,15,18}로부터의 프로그래머블 파라미터일 수 있다. 조건(d)에서 파라미터 c2는 프로그래머블 임계일 수 있다. 픽셀들 UpLeft, UpRight, DownLeft 및 DownRight의 선행하는 4 비트만이 사용되면, 4의 디폴트 값을 갖는 4 비트 정수로서 임계가 구현될 수 있다. 모든 8 비트의 픽셀들이 사용되면, 64의 디폴트 값을 갖는 8 비트 정수로서 임계가 구현될 수 있다.
조건(a)는 일반적으로 적어도 하나의 다른 방향에서 보다 좋은 각도 방향을 설정함으로써 백그라운드 플리커를 회피한다. 조건(b)는 최소 각도 강도를 설정할 수 있다. 조건(c)는 일반적으로 세 각도들이 동등하게 양호하면 잘못된 각도로 결론짓는 것을 회피한다. 조건(c)는 저감된 비트 깊이 및/또는 낮은 명암 영역에 유용할 수 있다. 조건(d)는 아티팩트들을 줄이기 위해 추가 기준을 부가할 수 있다. 조건(e1) 및 (e2)는 논리적으로 "OR"일 수 있다. 조건(e1)은 일반적으로 최선의 두 각도가 인접할 수 있다는 것을 기술한다. 조건(e2)는 조건(e1)을 만족하지 않을 때 최선의 두 각도가 인접하지 않으면 DIFF에 추가 조건들을 설정할 수 있다. 또한, 신호 isAngle이 참이면, 각도 α는 방향성 필터에 대한 현재 픽셀의 각도로서 정의될 수 있다.
각도 검출 프로세스는 u-3, u-1, u+1, u+3의 라인들을 이용하기 때문에, 각도 검출 프로세스는 상위 라인 및 하위 라인에 대한 필드 경계 외측의 라인들을 액세스할 수 있다. 또한, 각도 검출 처리는 큰 윈도우 사이즈(예를 들면, v±43)를 이용할 수 있기 때문에, 이 프로세스는 좌측 필드 경계 및 우측 필드 경계에 인접한 이용가능한 픽셀들을 액세스할 수 있다.
상기한 바와 같이, 필드 경계들의 좌측 및 우측에 대하여 모든 이용가능한 휘도 픽셀들은 0의 값을 갖는 것으로 간주될 수 있다. 그러한 것으로서, 필드 경계들의 좌측 및 우측에 대한 패드 픽셀들(예를 들면, 화상 경계 외측의 계산된 픽셀들)은 문제를 일으키지 않을 수 있다. 하지만, 필드 경계의 상부 위와 하부 아래의 라인들에 대하여, 몇가지 가능한 방식들이 사용될 수 있다. (1)각도 검출 디스에이블 및 실제 픽셀값을 패드 픽셀들로 대체, (2)각도 검출 디스에이블 및 패드 픽셀들이 검다(예를 들면, 0의 값을 가짐)고 가정, (3)각도 검출 인에이블 및 상위/하위 라인들을 OOB 라인들로 대체, 및 (4)각도 검출 인에이블 및 모든 OOB 픽셀들에 대한 디폴트 값(예를 들면, 0)을 가정함. 일반적으로 상기 방식의 효율은 도 17b에 도시한 바와 같이 표 5에 제공된다. 다양한 파라미터들의 리스트는 도 17c에 도시한 바와 같이 표 6에서 찾을 수 있다.
픽셀와이즈 고정 체크 기술
TriMADI 구조는 일반적으로 약간의 또는 변화가 없는(예를 들면, 고정) 영역에 걸쳐 예리한 출력을 제공하기 위해 픽셀와이즈 고정 체크를 이용한다. 도 6에 도시한 바와 같이, 고정 체크는 각 채널(예를 들면, Y, Cb, Cr)에 대하여 독립적으로 수행될 수 있다. 각 채널에 대하여, 고정 체크는 두개의 출력 불 신호(또는 플래그) (ⅰ)isStationary 및 (ⅱ)stat를 생성할 수 있다. 신호 isStationary는 일반적으로 현재 필드 CUR의 출력을 만들기 위해 디인터레이싱 기술에 의해 사용된다. 신호 stat는 2비트 고정 카운터 HSCnt를 업데이트하는데 사용될 수 있다. 카운터 HSCnt는 과거에 프로세싱된 고정 필드의 개수 트랙킹을 유지하는데 사용될 수 있다. 카운터 HSCnt는 3 채널 모두의 고정 플래그에 근거하여 업데이트될 수 있다.
도 15는 예시적인 픽셀와이즈 휘도 고정 체크 방법(220)의 흐름도이다. 휘도 고정 체크 방법(또는 프로세스)(220)은 일반적으로 단계(또는 블록)(222), 단계(또는 블록)(224), 단계(또는 블록)(226), 단계(또는 블록)(228), 단계(또는 블록)(230), 단계(또는 블록)(232), 및 단계(또는 블록)(234)를 포함한다.
단계(222)에서, 신호 enableStatCheckY가 검사될 수 있다. 신호 enableStatCheckY가 거짓이면(예를 들면, 단계 222의 거짓), 고정 체크 방법(220)은 단계(224)에서 신호 isStationaryY를 거짓으로 설정하고 신호 statY를 거짓으로 설정할 수 있다. 신호 enableStatCheckY가 참이면(예를 들면, 단계 222의 참), 몇개의 플래그들(또는 신호들)이 단계(226,228,230)에서 생성될 수 있다.
단계(226)에서, 플래그(예를 들면, isStatHist)가 계산될 수 있다. 단계(228)에서, 첫번째 플래그(예를 들면, statLum[0])와 두번째 플래그(예를 들면, statLum[1])가 생성될 수 있다. 단계(230)에서, 플래그(예를 들면, isLumAngleStat)는 신호 isAngle와 신호 angleFit에 근거하여 계산될 수 있다. 단계(232)에서, 신호 isStationaryY는 플래그 isStatHist, 플래그 statLum[0], 및 플래그 isLumAngleStat에 근거하여 계산될 수 있다. 단계(234)에서, 플래그 statY는 플래그 statLum[1]로 설정될 수 있다.
도 15에 도시한 바와 같이, 몇개의 플래그들이 생성되어 휘도 고정 체크 방 법(220)내에 사용될 수 있다. 일반적으로 플래그 statLum[0] 및 플래그 statLum[1]는 현재 필드 CUR 및 반대 패리티 필드 PRE 및 NXT의 주변 픽셀들이 고정이라는 것을 말한다. 플래그 statLum[0]는 보다 엄격한 조건으로 계산되고 현재 필드 CUR를 디인터레이싱하는데 사용될 수 있다. 플래그 statLum[1]은 보다 자유로운 조건으로 계산되고 고정 카운터 HSCnt를 업데이트하는데 사용될 수 있다. 또한, 플래그 statLum[1]로 계산된 값은 고정 체크 기술의 플래그 statY로 출력될 수 있다.
플래그 isLumAngleStat는 현재 픽셀이 에지 픽셀로 판정될 때 휘도 고정 체크를 보다 확고하게 하는 추가 제한일 수 있다. 플래그 isStatHist는 일반적으로 현재 위치가 과거에 충분히 고정이었다는 것을 말한다. 플래그 isStatHist는 카운터 HSCnt에 근거하여 계산될 수 있다. 플래그 isStatHist는 휘도 고정 체크 방법(220)과 채도 고정 체크 방법에 의해 사용될 수 있다. 플래그 isStationaryY는 일반적으로 현재 픽셀이 고정이라는 것을 말하기 위해 휘도 디인터레이싱 기술에 의해 사용된다.
휘도 고정 플래그들은 현재 픽셀의 국부 움직임, 하나 이상의 수평 주위 픽셀들의 움직임, 및 이전 필드 PRE와 다음 필드 NXT 사이의 변화에 근거하여 계산될 수 있다. 현재 라인의 위치 v-4 내지 v+4의 국부 움직임은 계산에 사용될 수 있다. 계산에 대한 상세는 일반적으로 도 18f 및 18g에 도시한 바와 같이 방정식 21, 방정식 세트 22, 방정식 세트 23, 방정식 24, 방정식 세트 25, 및 방정식 26에 의해 특정된다. 파라미터들 ActOffset, ActScale, 및 MaxResidue는 다음과 같이 정의된 프로그래머블 파라미터들일 수 있다.
(1) 6의 디폴트 값으로 ActScale = {2,3,4,5,6,7,8,9}
(2) 7의 디폴트 값으로 Act0ffset = {0,1,2,…,14,15}
(3) 15의 디폴트 값으로 MaxResidue = {12,13,…,19}
일예로, 방정식 21 내지 26에서의 모든 중간 변수들의 완전한 계산이 회피될 수 있다. 방정식 세트 22로부터, 파라미터 hstatcnt 및 residue는 소정 사이즈(예를 들면, 9)의 슬라이딩 윈도우내의 파라미터 tdiffact에 근거하여 계산될 수 있다. 중간 변수들의 대부분은 위치(u,v-1)와 위치(u,v) 사이에 공유될 수 있기 때문에, 슬라이딩 윈도우내의 파라미터 tdiffact 및 파라미터 lumAct는 시간적으로 버퍼링되고, 따라서 윈도우에서 가장 우측 위치에 해당하는 변수들이 개별적으로 계산될 수 있다.
휘도 고정 체크의 정확도를 개선시키기 위해, 플래그 isLumAngleStat는 현재 휘도 픽셀들의 각도 정보에 근거하여 계산될 수 있다. 플래그 isLumAngleStat는 도 18g에 도시한 바와 같이 방정식 27로 계산될 수 있다. 방정식 27에서, 변수 MinHistAngle는 [0,1,2,3]의 범위를 갖는 프로그래머블 파라미터이고 2의 디폴트 값을 가질 수 있다. 보다 큰 MinHistAngle 값은 일반적으로 보다 엄격한 조건을 제공한다. 보다 엄격한 조건은 거짓 검출(예를 들면, 잘못된 참)의 가능성을 적게 하지만, 누락 검출(잘못된 거짓)의 가능성을 높일 수 있다. 마찬가지로, 보다 작은 MinHistAngle 값은 일반적으로 자유로운 조건을 제공하며, 따라서 거짓 검출의 가능성은 높지만 누락 검출의 가능성은 적다.
플래그 isStatHist는 현재 픽셀 위치(및 수직 주변 픽셀들)가 과정에 고정되었는 지를 제안하는데 사용될 수 있다. 플래그 isStatHist는 휘도 고정 체크 기술과 채도 고정 체크 기술에 의해 사용될 수 있다. 플래그 isStatHist는 도 18g에 도시한 바와 같이 방정식 28로 생성될 수 있다. 방정식 28에서, 파라미터 MinHistCenter, 파라미터 MinHistAdjacent, 및 파라미터 MinHistSum은 고정 체크 기술의 효율에 영향을 주는 프로그래머블 파라미터일 수 있다. 파라미터들의 범위는 각각 [0,1,2,3], [3,4,5,6], 및 [0,1,…,14,15]일 수 있다. 디폴트 값들은 각각 2, 6, 및 9일 수 있다. 보다 큰 파라미터 값들은 일반적으로 보다 엄격한 조건을 야기한다. 보다 엄격한 조건들에 의해 거짓 검출(잘못된 참) 가능성은 보다 적지만 누락 검출(잘못된 거짓) 가능성은 보다 높아진다. 마찬가지로, 보다 적은 값들은 일반적으로 보다 자유로운 조건을 제공하며, 따라서 거짓 검출 가능성은 높지만 누락 검출 가능성은 보다 적다.
플래그 isStationaryY는 휘도 디인터레이싱 기술(도 6 및 7 참조)에 의해 사용될 수 있다. 플래그 isStationaryY는 도 18g의 방정식 29에 도시한 바와 같이 플래그 statLum[0], 플래그 isLumAngleStat, 및 플래그 isStatHist의 논리 AND로서 생성될 수 있다.
도 16은 예시적인 픽셀와이즈 채도 고정 체크 방법(240)의 흐름도이다. 채도 고정 체크 방법(또는 프로세스)(240)은 일반적으로 단계(또는 블록)(242), 단계(또는 블록)(244), 단계(또는 블록)(246), 단계(또는 블록)(248), 단계(또는 블 록)(250), 및 단계(또는 블록)(252)를 포함한다.
단계(242)에서, 신호 enableStatCheckC가 검사될 수 있다. 신호 enableStatCheckC가 거짓이면(예를 들면, 단계 242의 거짓), 고정 체크 방법(240)은 단계(244)에서 신호 isStationaryC를 거짓으로 설정하고 신호 statC를 거짓으로 설정한다. 신호 enableStatCheckC가 참이면(예를 들면, 단계(242)의 참), 단계(246) 및 (248)에서 다수의 플래그들(또는 신호들)이 생성될 수 있다.
단계(246)에서, 플래그 isStatHist가 계산될 수 있다. 단계(248)에서, 플래그(예를 들면, statCK)가 생성될 수 있다. 단계(250)에서, 신호 isStationaryY는 플래그 isStatHist 및 플래그 statCK에 근거하여 계산될 수 있다. 단계(252)에서, 플래그 statK가 플래그 statCK로 설정될 수 있다. 일반적으로 고정 플래그들의 엄격한 버전 및 자유로운 버전을 만드는 휘도 고정 체크에서와 달리, 두 채도 채널들 각각에 대하여 단일 플래그(예를 들면, statCK)만이 생성될 수 있다. 플래그 statCK는 일반적으로 현재 필드(예를 들면, CURK) 및 반대 패리티 필드(예를 들면, PREK 및 NXTK)의 픽셀이 고정인지를 말한다. 또한, 플래그 statCK는 플래그 isStationaryK를 계산하는데 사용될 수 있다.
두 채도 채널을 위하여 동일한 고정 체크 기술이 사용될 수 있다. 도 6에 도 시한 바와 같이, Cb 채널과 Cr 채널을 위한 채도 고정 체크 방법(240)은 독립적으로 수행될 수 있다. 채도 고정 체크 방법(240)은 일반적으로 휘도 고정 체크 방법(220)에서와 같은 플래그 isStatHist를 이용한다.
플래그 statCK는 현재 픽셀 및 하나 이상의 수평 주위 픽셀들의 국부 움직임에 근거하여 계산될 수 있다. 플래그 statCK는 이전 필드 PRE와 다음 필드 NXT 사이의 변화에 근거할 수 있다. (4:2:0 포맷 및 4:2:2 포맷의) 채도 채널에서의 잠재적인 수평 다운샘플링으로 인해, 현재 라인의 위치 v-2 내지 v+2(휘도에서 ±4 대신)의 국부 움직임은 계산에 사용될 수 있다.
statCK 플래그는 도 18h 및 18i에 도시한 바와 같이 방정식 30 내지 방정식 35로 생성된다. 방정식 30 내지 방정식 35에서, 파라미터 ActOffsetC, 파라미터 ActSaleC 및 파라미터 MaxResidueC는 다음에 따라 프로그래머블 파라미터들일 수 있다.
(1) 13의 디폴트 값으로 ActScaleC = {9,…,16}
(2) 7의 디폴트 값으로 ActOffsetC = {0,1,2,…,15}
(3) 15의 디폴트 값으로 MaxResidueC = {12,13,…,19}
채도 픽셀은 현재 픽셀이 고정이고 현재 위치에서 역사적으로 고정이면 고정으로 간주된다. 그것으로서, 플래그 isStationaryK는 도 18j에 도시한 바와 같이 방 정식 36으로 생성될 수 있다.
고정 체크 카운터 HSCnt는 고정 체크가 인에이블될 때(예를 들면, statCheck 또는 enableStatCheckY가 참일 때) 업데이트될 수 있다. 카운터 HSCnt의 업데이트는 추가 쓰기 대역폭을 소모할 수 있기 때문에, 카운터 HSCnt는 고정 체크가 디스에이블될 때 업데이트되지 않을 수 있다.
고정 체크가 인에이블될 때 그리고 고정 체크가 세 채널 모두에 수행된 후(예를 들면, statY, statCb, statCr이 모두 설정된 후), 현재 출력 위치에 대한 카운터 HSCnt는 도 18j에 도시한 바와 같이 방정식 37로 업데이트될 수 있다. 카운터 HSCnt는 일반적으로 현재 위치가 세 채널 모두에서 고정으로 되면 1(3까지) 만큼 증분된다. 카운터 HSCnt는 약한 고정(예를 들면, 휘도는 고정이지만 채도들 중 적어도 하나는 고정되지 않음)이면 2로 나누어질 수 있다. 카운터 HSCnt는 현재 필드 CUR이 고정이 아니라고 판정되면 0으로 리셋될 수 있다. 잠재적인 채로 다운샘플링으로 인해, 모든 휘도 샘플들이 대응하는 채도 샘플을 갖지는 않는다. 따라서, 모든 플래그들 statY이 대응 플래그 statCb 및 대응 플래그 statCr를 갖지는 않는다.
채도 플래그들의 부족은 다음과 같이 처리될 수 있다. 수평 채도 다운샘플링에 대하여(예를 들면, 4:2:2 포맷 및 4:2:0 포맷에 대하여), 플래그 statK는 모든 홀수 v's에 존재하지 않는다. 이러한 경우에, 위치 v ≫ 1에서 이루어지는 채도 판정(예를 들면, 동일한 라인의 v-1에 있는 휘도 샘플에 대응하는 채도 샘플의 판정) 이 사용될 수 있다.
수직 채도 다운샘플링에 대하여(예를 들면, 4:2:0 포맷에 대하여), 다른 휘도 라인에 대하여 플래그 statK가 존재하지 않는다(도 2 참조). 이러한 경우에, 가장 최근에 디인터레이싱된 휘도 라인(예를 들면, u-2)에 사용되는 채도 판정들이 사용될 수 있다. 따라서, 채도 폭의 사이즈의 두개의 1 비트 라인스토어들(예를 들면, statCb linestore 및 statCr linestore)은 전체 채도 라인의 판정을 저장하는데 사용될 수 있다. 그것으로서, 휘도(채도는 4:2:0 포맷으로 2만큼 수평 다운샘플링되고 2 채도 채널들이 존재)의 폭의 추가 1비트 라인스토어가 구현될 수 있다. 하위 필드들에 있는 상위 휘도 라인에 대하여, 이전 채도 판정이 존재하지 않는다. 이러한 경우에, 플래그 statCb 및 플래그 statCr은 참(예를 들면, 방정식 37에 사용되는 채도 판정을 무시)으로 간주될 수 있다. 1비트 라인스토어에 저장된 정보는 메모리에 기록될 필요가 없다. 그것으로서, 1비트 라인스토어는 읽기 대역폭과 쓰기 대역폭을 증가시키지 않을 수 있다.
카운터 HSCnt는 플래그 isStatHist의 계산 및 카운트 HSCnt의 업데이트시 읽혀질 수 있다. 전반적으로, 수직 인접 카운터 HSCnt만 사용될 수 있다(예를 들면, x ∈ {u-2,u-1,u,u+1,u+2}인 경우에 카운터 HSCnt[x][v]만 사용될 수 있다). 수평 인접 HSCnt's는 일반적으로 사용되지 않는다. 따라서, 카운터 HSCnt의 종속은 동일 라인에서 존재하지 않는다. 하지만, 수직 인접 카운터 HSCnt 사이에는 종속이 존재할 수 있다.
상기의 결과로서, 휘도 디인터레이싱과 채도 디인터레이싱이 구현에서 완전히 동기화될 수 없으면, 다음 라인의 동일한 수직 위치에서의 디인터레이싱 이전에 업데이트되는 한 카운터 HSCnt[u][v]의 업데이트는 지연될 수 있다. 예를 들면, 카운터 HSCnt[u][v]는 HSCnt[(u+2)-2][v]가 사용되는 위치(u+2,v)의 디인터레이싱 이전에 업데이트될 수 있다. 카운터 HSCnt 업데이트가 지연되면, 각 지연된 위치에 대하여 statY/Cb/Cr 비트가 트랙킹되어야 한다. 일반적으로 결과적인 유연성은 지연이 라인보다 적은 한 휘도 프로세싱과 채도 프로세싱이 (미지의 정확한 지연과) 자유롭게 동기화될 수 있게 한다.
일예로, 이전 모션 보상 반대 패리티 필드(예를 들면, PREMC) 및 다음 모션 보상 반대 패리티 필드(예를 들면, NXTMC)는 각각 이전 필드 PRE 및 다음 필드 NXT 대신에 사용될 수 있다. 따라서, xCO에 대한 혼합 방정식은 이전 모션 보상 반대 패리티 필드 PREMC 및 다음 모션 보상 반대 패리티 필드 NXTMC의 나란히 놓인 픽셀들(예를 들면, PREMC[u][v] 및 NXTMC[u][v])로부터 유도될 수 있다. 마찬가지로, 고정 체크 카운터들은 모션 보상될 수 있다.
다른 실시예로, 휘도 및 채도에 대한 단일 고정 카운터 HSCnt를 갖는 대신에, 각 컬러 채널(예를 들면, 세 카운터들 HSCnt)에 대하여 개별적인 고정 히스토리 카운터가 구현될 수 있다. 그것으로서, 모든 채널에 대하여 함께 또는 각 채널에 대하여 독립적으로 고정 플래그 isStationary의 판정과 같은, 보다 많은 자유가 개별적인 카운터에 제공될 수 있다.
일예로, 낮은 각도들을 보다 잘 검출하기 위해 큰 윈도우가 각도 검출 기술에 의해 사용될 수 있다. 일반적으로, 모든 각도에 대한 윈도우 사이즈는 동일(예를 들면, 24 픽셀 너비)할 수 있다. 큰 윈도우가 낮은 각도의 검출 정확도를 증가시키지만, 큰 윈도우는 높은 각도에 대하여 오검출 가능성을 줄일 수 있다. 따라서, 다른 각도들에 대하여 가변적인 윈도우 사이즈들이 구현될 수 있다. 큰 윈도우 사이즈는 낮은 각도에 사용되고 작은 윈도우 사이즈는 큰 각도에 사용될 수 있다. 계산에 사용되는 샘플들의 서로 다른 개수로 인해, 최종 각도 후보를 판정할 때 다른 각도의 DIFF가 다르게 가중될 수 있다.
다른 예로, 독립적인 휘도/채도 디인터레이싱이 가능하도록 채도 각도 검출이 구현될 수 있다. 채도 각도 검출은 예측 방법 또는 검출 방법에 근거할 수 있다. 예측 방법은 일반적으로 휘도 각도에 근거하여 채도 각도를 예측하기 때문에 계산을 절감할 수 있다. 하지만, 예측 방법은 휘도와 채도가 비 상관관계인 경우에 약간만 수행될 수 있다.
검출 방법은 일반적으로 휘도 각도 검출에서와 같이 채도 각도를 검출한다. 검출 방법은 예측 방법보다 정확한 각도를 제공할 수 있다. 검출 방법은 일반적으로 독립적인 휘도/채도 디인터레이싱이 가능하다. 채도 다운샘플링으로 인해, 휘도에서와 같이 19개의 각도 검출 대신에 보다 적은 개수의 각도 후보들이 채도 각도 검출에 정해질 수 있다.
채도 각도 검출이 구현되면, 휘도에서와 같은 적합한 체크 방법이 이용될 수 있다. 방향적으로 필터링된 결과(예를 들면, xdf K)(도 7 참조)는 도 18g에 도시한 바와 같이 방정식 38로 계산될 수 있다. 방정식 38에서,
Figure 112009030520823-PCT00007
여기서, αK는 채도 각도이고 |은 상위 라인의 컬럼 오프셋으로 방정식 17로 정의될 수 있다.
도 6-9 및 15-18j의 그림, 방정식, 및 표에 의해 수행된 함수는 본 발명의 기술에 따라 프로그램된 종래의 범용 디지털 컴퓨터를 이용하여 구현될 수 있다는 것을 이 기술분야의 당업자는 이해할 것이다. 본 발명의 기술에 근거하여 숙력된 프로그래머들에 의해 적절한 소프트웨어 코딩이 용이하게 준비될 수 있다는 것도 이 기술분야의 당업자는 이해할 것이다.
본 발명은 ASIC, FPGA의 준비 또는 종래 성분 회로들의 적절한 네트워크 연결에 의해 구현될 수 있으며, 그 변형물은 이 기술분야의 당업자에게 자명할 것이다.
따라서, 본 발명은 본 발명에 따라 프로세스를 컴퓨터가 수행하도록 프로그램하는데 사용될 수 있는 명령들을 포함하는 저장 매체일 수 있는 컴퓨터 제품을 포함할 수 있다. 저장 매체는, 그에 한정되지는 않지만, 플로피 디스크를 포함하는 모든 종류의 디스크, 광 디스크, CD-ROM, 자기-광 디스크, ROM, RAM, EPROM, EEPROM, 플래시 메모리, 자기 또는 광학 카드, 또는 전자 명령들을 저장하기에 적합한 다른 종류의 매체를 포함한다. 여기에 사용된 용어 "동시에"는 어떤 공통 시간을 공유하는 사상들을 설명하기 위한 것이지만 이 용어는 시간적으로 동일한 시점에서 시작하고 동일한 시점에서 끝나거나 또는 동일한 시간을 갖는 사상들로 한정하는 것은 아니다.
본 발명이 바람직한 실시예를 참조하여 특별히 도시되고 설명되었지만, 본 발명의 범위를 일탈하지 않고 형태와 상세에 있어 다양한 변형물이 가능하다는 것을 이 기술분야의 당업자는 이해할 것이다.

Claims (20)

  1. 모션 적응형 비디오 디인터레이싱 방법으로서,
    (A) 복수의 모드들 중 첫번째 모드에서 현재 필드를 디인터레이싱함으로써 프레임을 생성하는 단계;
    (B) 상기 모드들 중 두번째 모드에서 상기 현재 필드 및 반대 패리티 필드를 이용하여 디인터레이싱함으로써 상기 프레임을 생성하는 단계; 및
    (C) 상기 모드들 중 세번째 모드에서 상기 현재 필드, 상기 반대 패리티 필드, 및 다른 필드를 이용하여 디인터레이싱되는 상기 프레임을 생성하는 단계를 포함하고,
    상기 방법은 상기 모드들 중 적어도 두개를 이용하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    (ⅰ)메모리 제약 및 (ⅱ)시스템 대역폭 제약 중 적어도 하나의 제약이 (a)시스템 또는 (b)상기 시스템의 특정 동작 모드 중 하나를 특징으로 하도록 상기 모드들의 서로다른 조합들 사이를 절환시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    (ⅰ)상기 프레임을 생성하도록 구성된 모듈 외부의 메모리에서 그리고
    (ⅱ)(a)상기 첫번째 모드에서 한 필드의 데이터보다 크지 않고, (b)상기 두번째 모드에서 두 필드의 데이터보다 크지 않고, (c)상기 세번째 모드에서 세 필드의 데이터보다 크지 않은 상기 프레임의 생성을 목적으로 버퍼링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    (ⅰ)메모리에서 상기 프레임을 생성하도록 구성된 모듈로 그리고
    (ⅱ)상기 프레임의 생성을 위하여 (a)상기 첫번째 모드에서 상기 현재 필드, (b)상기 두번째 모드에서 상기 현재 필드 및 상기 반대 패리티 필드, 및 (c)상기 세번째 모드에서 상기 현재 필드, 상기 반대 패리티 필드, 및 상기 다른 필드를 전달하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    (ⅰ)가변 개수의 하나 이상의 휘도 필드들과 (ⅱ)상기 모드들 중 네번째 모드에서의 상기 가변 개수의 하나 이상의 채드 필드들을 이용하여 디인터레이싱함으로써 상기 프레임을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 첫번째 모드, 상기 두번째 모드, 상기 세번째 모드, 및 상기 네번째 모 드 사이를 절환시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    시스템 재구성에 응답하여 디인터레이싱에 이용되는 다수의 휘도 필드들을 바꾸는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    시스템 재구성에 응답하여 디인터레이싱하는데 이용되는 다수의 채도 필드들을 바꾸는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 반대 패리티 필드 및 상기 다른 필드는 상기 현재 필드 전 시간에 일어나는 것을 특징으로 하는 방법.
  10. 현재 필드를 버퍼링하도록 구성된 메모리; 및
    복수의 모드들 중 적어도 두개를 이용하고, (ⅰ)상기 모드들 중 첫번째 모드에서 현재 필드를 디인터레이싱함으로써 프레임을 생성하고, (ⅱ)상기 모드들 중 두번째 모드에서 상기 현재 필드 및 반대 패리티 필드를 이용하여 디인터레이싱함으로써 상기 프레임을 생성하고, (ⅲ)상기 모드들 중 세번째 모드에서 상기 현재 필드, 상기 반대 패리티 필드, 및 다른 필드를 이용하여 디인터레이싱되는 상기 프 레임을 생성하도록 구성된 모듈을 포함하는 것을 특징으로 하는 시스템.
  11. 모션 적응형 비디오 디인터레이싱 방법으로서,
    (A)현재 필드에 있는 복수의 현재 픽셀 위치들을 위한, 각각이 상기 현재 픽셀 위치들 개개의 고정 히스토리를 트랙킹하는 복수의 현재 필드 카운트들을 생성하는 단계; 및
    (B)상기 현재 필드 카운트들에 근거하여 상기 현재 필드를 디인터레이싱함으로써 프레임을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 단계(B)는 이전 필드에 있는 복수의 이전 픽셀 위치들에 대한 복수의 이전 필드 카운트들에 더 근거하는 것을 특징으로 하는 방법.
  13. 제11항에 있어서,
    상기 현재 필드의 휘도 채널, 상기 현재 필드의 첫번째 채도 채널, 및 상기 현재 필드의 두번째 채도 채널을 위한 복수의 고정 체크들에 근거하여 상기 현재 필드 카운트들을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제11항에 있어서,
    상기 현재 필드 카운트들을 소정값으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 모션 적응형 비디오 디인터레이싱 방법으로서,
    (A)첫번째 모드에서, 현재 필드, 이전 필드, 및 다음 필드를 시공간 혼합함으로써 프레임을 생성하는 단계;
    (B)두번째 모드에서, 상기 현재 필드 및 상기 이전 필드를 시공간 혼합함으로써 상기 프레임을 생성하는 단계; 및
    (C)상기 현재 필드에 있는 복수의 픽셀들을 이용하여 상기 현재 필드에 대한 두개의 반대 패리티 필드들 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    세번째 모드에서, 상기 현재 필드 및 상기 다음 필드를 시공간 혼합함으로써 상기 프레임을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제15항에 있어서,
    상기 시공간 혼합은 중간 동작을 포함하는 것을 특징으로 하는 방법.
  18. 제15항에 있어서,
    상기 시공간 혼합은 비선형 동작을 포함하는 것을 특징으로 하는 방법.
  19. 제15항에 있어서,
    상기 이전 필드와 상기 다음 필드 사이의 차이에 근거하여 공간 필터링으로부터의 변화를 제한하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  20. 각각 복수의 휘도 필드들 및 복수의 채도 필드들을 위한 이전 필드 및 다음 필드가 가능하도록 하는 복수의 구성 신호들을 생성하도록 구성된 제어기; 및
    현재 필드만의 구성을 포함하는, 상기 휘도 필드들과 상기 채도 필드들의 모든 세트를 이용하여 디인터레이싱함으로써 프레임을 생성하도록 구성된 모듈을 포함하는 것을 특징으로 하는 시스템.
KR1020097010413A 2006-10-23 2007-09-24 저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 방법 및 시스템 KR101161390B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/585,345 US7973858B2 (en) 2006-10-23 2006-10-23 Reduced memory and bandwidth motion adaptive video deinterlacing
US11/585,345 2006-10-23
PCT/US2007/020603 WO2008051343A2 (en) 2006-10-23 2007-09-24 Reduced memory and bandwidth motion adaptive video deinterlacing

Publications (2)

Publication Number Publication Date
KR20090074250A true KR20090074250A (ko) 2009-07-06
KR101161390B1 KR101161390B1 (ko) 2012-07-02

Family

ID=39317519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097010413A KR101161390B1 (ko) 2006-10-23 2007-09-24 저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 방법 및 시스템

Country Status (7)

Country Link
US (2) US7973858B2 (ko)
EP (1) EP2095645A4 (ko)
JP (3) JP2010507972A (ko)
KR (1) KR101161390B1 (ko)
CN (1) CN101529923B (ko)
TW (1) TWI373257B (ko)
WO (1) WO2008051343A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891011B2 (en) * 2007-08-23 2014-11-18 Qualcomm Incorporated Systems and methods for combining deinterlacing and frame rate decimation for video format conversion
TWI381732B (zh) * 2008-10-08 2013-01-01 Silicon Integrated Sys Corp 低角度內插裝置及其方法
CN102456328B (zh) * 2010-10-22 2014-02-26 京东方科技集团股份有限公司 液晶显示装置及其驱动方法、液晶电视
US8629937B1 (en) * 2012-07-25 2014-01-14 Vixs Systems, Inc Motion adaptive filter and deinterlacer and methods for use therewith
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9258517B2 (en) * 2012-12-31 2016-02-09 Magnum Semiconductor, Inc. Methods and apparatuses for adaptively filtering video signals
US20140198855A1 (en) * 2013-01-14 2014-07-17 Qualcomm Incorporated Square block prediction
US8917354B2 (en) * 2013-09-30 2014-12-23 Amlogic Co., Ltd. Motion detection in video fields
US10382752B2 (en) * 2013-10-15 2019-08-13 Sony Corporation Image processing device and method
US10652298B2 (en) * 2015-12-17 2020-05-12 Intel Corporation Media streaming through section change detection markers
US10368080B2 (en) * 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
CN117336509A (zh) * 2017-07-06 2024-01-02 Lx 半导体科技有限公司 图像编码/解码方法、发送方法和数字存储介质
CN108377353B (zh) * 2018-02-02 2020-06-12 厦门蓝斯通信股份有限公司 应用于嵌入式系统的视频处理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4989090A (en) * 1989-04-05 1991-01-29 Yves C. Faroudja Television scan line doubler including temporal median filter
JPH03132278A (ja) * 1989-10-18 1991-06-05 Victor Co Of Japan Ltd 映像信号変換装置
JP3172323B2 (ja) * 1993-04-28 2001-06-04 池上通信機株式会社 映像信号の方式変換装置
JPH06350975A (ja) * 1993-06-02 1994-12-22 Hitachi Ltd テレビジョン信号の構成方法
EP0946055B1 (en) * 1998-03-09 2006-09-06 Sony Deutschland GmbH Method and system for interpolation of digital signals
JP2002199351A (ja) * 2000-12-27 2002-07-12 Matsushita Electric Ind Co Ltd 静止判定装置およびそれを備えた走査線補間装置
US7075580B2 (en) 2002-12-19 2006-07-11 Intel Corporation Edge adaptive spatial temporal deinterlacing
US7034888B2 (en) * 2003-03-26 2006-04-25 Silicon Integrated Systems Corp. Method for motion pixel detection
KR100563866B1 (ko) * 2003-05-19 2006-03-23 매크로영상기술(주) 영상 신호의 디인터레이스 방법 및 장치
JP4217543B2 (ja) * 2003-06-05 2009-02-04 キヤノン株式会社 動き情報処理装置及び方法
JP4003713B2 (ja) * 2003-08-06 2007-11-07 ソニー株式会社 画像処理装置および画像処理方法
TWI220366B (en) * 2003-08-11 2004-08-11 Mediatek Inc Scalable video format conversion system
JP4049087B2 (ja) * 2003-11-14 2008-02-20 ソニー株式会社 動き・静止の判定装置および判定方法、並びに画像信号の処理装置および処理方法
US7170561B2 (en) 2003-12-04 2007-01-30 Lsi Logic Corporation Method and apparatus for video and image deinterlacing and format conversion
JP4375080B2 (ja) * 2004-03-29 2009-12-02 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
JP2006121568A (ja) * 2004-10-25 2006-05-11 Sharp Corp 画像処理装置及び画像処理方法
US7405766B1 (en) * 2004-12-20 2008-07-29 Kolorific, Inc. Method and apparatus for per-pixel motion adaptive de-interlacing of interlaced video fields

Also Published As

Publication number Publication date
WO2008051343A2 (en) 2008-05-02
KR101161390B1 (ko) 2012-07-02
JP2013038819A (ja) 2013-02-21
TW200835304A (en) 2008-08-16
JP2013042526A (ja) 2013-02-28
CN101529923A (zh) 2009-09-09
EP2095645A4 (en) 2011-08-31
JP5592454B2 (ja) 2014-09-17
CN101529923B (zh) 2012-10-03
WO2008051343A3 (en) 2008-07-03
JP2010507972A (ja) 2010-03-11
US7973858B2 (en) 2011-07-05
US20080094501A1 (en) 2008-04-24
US20080094505A1 (en) 2008-04-24
JP5592453B2 (ja) 2014-09-17
US7961252B2 (en) 2011-06-14
TWI373257B (en) 2012-09-21
EP2095645A2 (en) 2009-09-02

Similar Documents

Publication Publication Date Title
KR101161390B1 (ko) 저감된 메모리 및 대역폭의 모션 적응형 비디오 디인터레이싱 방법 및 시스템
US8526502B2 (en) Method and apparatus for line based vertical motion estimation and compensation
US8233087B2 (en) Systems and methods for deinterlacing high-definition and standard-definition video
US7170561B2 (en) Method and apparatus for video and image deinterlacing and format conversion
EP2106136A1 (en) Motion compensated temporal interpolation for frame rate conversion of video signals
US7701508B2 (en) Accurate motion detection for the combination of motion adaptive and motion compensation de-interlacing applications
US7535512B2 (en) Image processing method and related apparatus
US7349030B2 (en) Segment buffer loading in a deinterlacer
US7202908B2 (en) Deinterlacer using both low angle and high angle spatial interpolation
US20100091183A1 (en) Video conversion apparatus and method, and program
US20090167938A1 (en) Synthesized image detection unit
KR100920547B1 (ko) 영상 신호 처리 장치
US20060033839A1 (en) De-interlacing method
US20040207754A1 (en) De-interlacing device of digital television set
Ku et al. Robust layered film-mode source 3: 2 pulldown detection/correction
TWI261467B (en) Apparatus for deinterlacing of video information
JP2003274371A (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
FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 4