KR101240119B1 - 역 텔레시네 기술 - Google Patents

역 텔레시네 기술 Download PDF

Info

Publication number
KR101240119B1
KR101240119B1 KR1020117026078A KR20117026078A KR101240119B1 KR 101240119 B1 KR101240119 B1 KR 101240119B1 KR 1020117026078 A KR1020117026078 A KR 1020117026078A KR 20117026078 A KR20117026078 A KR 20117026078A KR 101240119 B1 KR101240119 B1 KR 101240119B1
Authority
KR
South Korea
Prior art keywords
frames
telecine
video
frame
individual
Prior art date
Application number
KR1020117026078A
Other languages
English (en)
Other versions
KR20110133635A (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 KR20110133635A publication Critical patent/KR20110133635A/ko
Application granted granted Critical
Publication of KR101240119B1 publication Critical patent/KR101240119B1/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
    • H04N7/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Television Systems (AREA)

Abstract

본 개시물은 비디오 시퀀스의 프레임을 조정 및 변환하도록 수행되는 역 텔레시네 기술들을 설명한다. 설명된 기술들은 비디오 시퀀스의 프레임 레이트를 증가시키는데 이용된 텔레시네 기술을 식별하기 위한 매우 유용한 방법을 제공한다. 이용된 텔레시네 기술을 식별할 때, 대응하는 역 텔레시네 기술이 그 오리이널 형태 (텔레시네 전) 로 다시 프레임 레이트를 감소시키기 위해 비디오 프레임의 시퀀스에 대하여 수행될 수 있다. 본 개시물은 또한, 예를 들어 역 텔레시네 프로세스를 단순화함으로써 그리고 프로세스 동안 메모리 액세스를 감소시킴으로써 역 텔레시네를 향상시킬 수 있다.

Description

역 텔레시네 기술{INVERSE TELECINE TECHNIQUES}
본 개시물은 디지털 비디오 인코딩 및 디코딩에 관한 것이고, 및 보다 구체적으로 비디오 시퀀스의 프레임 레이트가 변화되는 텔레시네 (telecine) 및 역 텔레시네 (inverse telecine) 기술에 관한 것이다.
디지털 비디오 성능들은, 디지털 텔레비전, 디지털 다이렉트 브로드캐스트 시스템, 무선 브로드캐스트 시스템, 개인 휴대 정보 단말기 (PDA), 랩톱 또는 데스트톱 컴퓨터, 디지털 카메라, 디지털 레코딩 디바이스, 비디오 게이밍 디바이스, 비디오 게임 콘솔, 셀룰러 또는 위성 라디오 전화기 등을 포함하는 광범위한 디바이스들 안에 포함될 수 있다. 디지털 비디오 디바이스들은, 더 효율적으로 디지털 비디오 정보를 송신 및 수신하기 위해 MPEG-2, MPEG-4, 또는 ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding) 에 의해 정의된 표준들에서 설명된 바와 같은 비디오 압축 기술들을 구현한다. 비디오 압축 기술들은 블록기반 공간 예측 및/또는 시간 예측을 수행하여, 비디오 시퀀스에 내재하는 리던던시 (redundancy) 를 감소 또는 제거할 수도 있다.
텔레시네 기술들은 비디오 시퀀스의 프레임 레이트를 변화시키는데 이용될 수도 있다. 텔레시네 기술들은, 예를 들어 텔레비전, 비디오 미디어 플레이어 또는 컴퓨터와 같은 표준 비디오 장비를 이용하여 보여질 필름 미디어 상에서 원래 캡처되었던 모션 픽처를 인에이블하는데 바람직하다. 특히, 텔레시네 기술들은 종래의 비디오 시퀀스를 (필름 미디어 상에 기록된 모션 픽처 필름들에서 일반적인) 초당 24 프레임에서 (디지털 장비에 의해 플레이된 디지털 비디오에 대해 일반적인) 초당 30 프레임으로 변화시키는데 이용될 수도 있다.
역 텔레시네 기술은 텔레시네 기술들의 역 동작들을 수행한다. 따라서, 텔레시네 기술이 비디오 시퀀스를 초당 24 프레임에서 초당 30 프레임으로 변환하면, 역 텔레시네 기술은 비디오 시퀀스를 초당 30 프레임에서 초당 24 프레임으로 변환할 수도 있다. 일부 경우에서, 텔레시네 기술들은 비디오 인코딩 프로세스의 일부로서 수행될 수도 있는 한편, 역 텔레시네 기술들은 비디오 디코딩 프로세스의 일부로서 수행될 수도 있다.
일부 경우에서, 역 텔레시네는 트랜스코딩 프로세스의 일부일 수 있다. 이 경우에서, 역 텔레시네는 트랜스코더의 일부로서, 또는 인코더 또는 디코더의 일부로서 구현될 수도 있다. 트랜스코딩의 경우에서, 텔레시네된 콘텐츠는 초당 24 프레임과 같은 오리지널 프레임 레이트로 다시 변환되고, 상이한 인코딩 포맷에 따라 재-인코딩될 수도 있다. 이 경우에서, 역 텔레시네는 트랜스코딩 프로세스 전에 발생할 수도 있고, 데이터를 트랜스코더로 전송하는 송신 디바이스, 또는 트랜스코딩을 수행하는 수신 디바이스에서 구현될 수도 있다.
그러나, 텔레시네 및 역 텔레시네는 비디오 인코딩 또는 디코딩 시나리오에 제한되지 않는다. 텔레시네 및 역 텔레시네 기술들은 임의의 공간 또는 시간 기반 비디오 인코딩 또는 디코딩에 독립적인 많은 사유를 위해 이용될 수도 있다. 기본적으로, 언제든지 비디오 시퀀스의 프레임 레이트를 변화시키는 것이 바람직하고, 텔레시네는 이 목표를 달성하기 위한 유용한 방법을 제공할 수도 있다.
일반적으로, 본 개시물은 비디오 시퀀스의 프레임 레이트를 조정 또는 변환하도록 수행되는 역 텔레시네 기술들을 설명한다. 설명된 기술들은 비디오 시퀀스의 프레임 레이트를 증가시키기 위해 이용된 텔레시네 기술을 식별하기 위한 유용한 방법을 제공한다. 이용된 텔레시네 기술을 식별할 때, 대응하는 역 텔레시네 기술은, 프레임 레이트를 (텔레시네 이전의) 그 오리지널 형태로 다시 감소시키기 위해서 비디오 프레임들의 시퀀스에 대하여 수행될 수 있다. 본 개시물은 또한, 예를 들어 역 텔레시네 프로세스를 단순화함으로써 그리고 프로세스 동안 메모리 액세스를 감소시킴으로써 역 텔레시네 프로세스를 개선할 수 있는 역 텔레시네 기술들의 많은 유용한 상세들을 제공한다.
일 예에서, 본 개시물은, 비디오 프레임의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들 (progressive frames) 인지 또는 인터레이싱된 프레임들 (interlaced frames) 인지 여부를 판정하는 단계, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하는 단계, 이 패턴에 기초하여 텔레시네 기술을 식별하는 단계, 및 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행하는 단계를 포함하는 방법을 제공하고, 여기서 역 텔레시네 기술은 초당 N 비디오 프레임들을 초당 M 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이며 M 은 N 보다 작다.
다른 예에서, 본 개시물은 비디오 프레임의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 판정하고, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하고, 이 패턴에 기초하여 텔레시네 기술을 식별하며, 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행하는 역 텔레시네 유닛을 포함하는 장치를 제공하고, 여기서 역 텔레시네 기술은 초당 N 비디오 프레임들을 초당 M 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이며 M 은 N 보다 작다.
다른 예에서, 본 개시물은 비디오 프레임의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 판정하기 위한 수단, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하기 위한 수단, 이 패턴에 기초하여 텔레시네 기술을 식별하기 위한 수단, 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행하기 위한 수단을 포함하는 디바이스를 제공하고, 여기서 역 텔레시네 기술은 초당 N 비디오 프레임들을 초당 M 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이며 M 은 N 보다 작다.
본 개시물에 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어에서 구현되는 경우, 소프트웨어는 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 또는 디지털 신호 프로세서 (DSP) 와 같은 프로세서에서 실행될 수도 있다. 기술을 실행하는 소프트웨어는 처음에 컴퓨터 판독가능 매체에 저장될 수도 있고, 프로세서에서 로딩 및 실행될 수도 있다.
따라서, 본 개시물은 또한 명령들을 포함하는 컴퓨터 판독가능 매체를 고려하고, 명령들은 프로세서에 의해 실행될 때 프로세서로 하여금, 비디오 프레임의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 판정하게 하고, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하게 하고, 이 패턴에 기초하여 텔레시네 기술을 식별하게 하며, 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행하게 하고, 여기서 역 텔레시네 기술은 초당 N 비디오 프레임들을 초당 M 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이며 M 은 N 보다 작다.
본 개시물의 하나 이상의 양태들의 상세들은 첨부된 도면들 및 이하의 상세한 설명에서 설명된다. 본 개시물에 설명된 기술들의 다른 피처들, 객체들, 및 이점들은 상세한 설명 및 도면들로부터, 그리고 청구범위들로부터 명백해질 것이다.
도 1 은 3:2 풀 다운이 적용되어 초당 24 프레임들로부터 초당 30 프레임들을 획득하는 텔레시네 프로세스를 나타내는 개념도이다.
도 2 는 텔레시네 프로세스 다음에 역 텔레시네 프로세스를 나타내는 개념도이다.
도 3 은 본 개시물의 역 텔레시네 기술들의 하나 이상을 구현할 수도 있는 예시적인 시스템을 나타내는 블록도이다.
도 4 는 본 개시물에 따른 역 텔레시네 기술을 나타내는 흐름도이다.
도 5 는 역 텔레시네 모듈의 블록도이다.
도 6 은 역 텔레시네 유닛의 예시적인 컴포넌트들을 나타내는 블록도이다.
도 7 은 필름 프레임들 및 텔레시네된 비디오 프레임들을 나타내는 개념도이다.
도 8 은 텔레시네 패턴이 깨지는 프레임들의 시퀀스를 나타내는 개념도이다.
도 9 는 비디오 프레임들이 역 텔레시네되는 것을 나타내는 개념도이다.
도 10 은 3:2 풀 다운에 따라 텔레시네된 5 개의 프레임들의 시퀀스를 나타내는 개념도이다.
도 11 은 역 텔레시네 프로세스의 예시적인 스테이지들을 나타내는 블록도이다.
도 12 는 인터레이싱된 비디오 프레임의 개념도이다.
도 13 은 본 개시물에 일치하는 아웃 오브 페이즈 (out of phase) 비디오 프레임을 식별하는 프로세스를 나타내는 흐름도이다.
도 14 는 아웃 오브 페이즈 비디오 프레임의 식별자에서 이용될 수도 있는 피처들을 나타내는 개념도이다.
도 15 는, 텔레시네에 일치하는 패턴들을 보여주기 위해 음영을 넣은, 아웃 오프 페이즈 및 인 페이즈 비디오 프레임들의 시퀀스들의 차이를 나타내는 개념도이다.
도 16 은 현재 프레임 및 이전 프레임으로부터 위빙된 프레임을 생성하는 프로세스를 나타내는 개념도이다.
도 17 은 본 개시물에 일치하는 역 텔레시네를 수행하도록 이용될 수도 있는 디바이스의 컴포넌트들의 다른 블록도이다.
도 18 은 본 개시물의 하나 이상의 양태들에 일치하는 텔레시네 검출 플래그들을 설정하는 프로세스를 나타내는 흐름도이다.
도 19 는 본 개시물의 하나 이상의 양태들에 일치하는 텔레시네 플래그 라벨들을 설정하는 프로세스를 나타내는 흐름도이다.
도 20 은 본 개시물의 하나 이상의 양태들에 일치하는 프레임 스테이트들을 식별하는 프로세스를 나타내는 흐름도이다.
도 21 은 본 개시물의 하나 이상의 양태들에 일치하는 프레임들에 대해 패턴 ID 들을 정의하는 프로세스를 나타내는 흐름도이다.
도 22 는 본 개시물의 하나 이상의 양태들에 일치하는 텔레시네 패턴 플래그들을 설정하는 프로세스를 나타내는 흐름도이다.
도 23 은 본 개시물의 하나 이상의 양태들에 일치하는 프레임 스테이트들을 결정하는 프로세스를 나타내는 흐름도이다.
도 24 는 3:2 풀 다운의 역 텔레시네 검출에 일치하는 예상된 프레임 스테이트 변화들을 나타내는 상태도이다.
도 25 는 본 개시물의 하나 이상의 양태들에 일치하는 텔레시네 검출 플래그들을 설정하는 프로세스를 나타내는 흐름도이다.
도 26 은 5 개의 프레임 시퀀스 중 프레임 2 및 3 에 대하여 보정이 발생하여 5 개의 프레임이 4 개의 프레임으로 변환되는 것을 나타내는 개념도이다.
도 27 은 텔레시네 보정의 개요를 나타내고, 또한 구현의 일 가능성을 나타내는 흐름도이다.
도 28 은 텔레시네 검출의 목적을 위해 프레임들의 부분 페치들에 대한 여러 옵션들을 나타내는 개념도이다.
도 29 는 "IBP" 그룹의 픽처들 (GOP) 구조의 디코딩 및 디스플레이 순서를 나타내는 개념도이다.
도 30 은 도 30 에 도시된 바와 같은 IBP GOP 구조에 대한 디코더에 의해 예측 디코딩과 역 텔레시네 데이터 페치 간의 가능한 동기화를 나타내는 개념도이다.
도 31 은 "IBBP" GOP 구조의 디코딩 및 디스플레이 순서를 나타내는 개념도이다.
도 32 는 도 34 에 도시된 바와 같은 IBBP GOP 구조에 대한 디코더에 의해 예측 디코딩과 역 텔레시네 데이터 페치 간의 가능한 동기화를 나타내는 개념도이다.
도 33 은 본 개시물에 일치하는 역 텔레시네에서 이용될 수도 있는 결정론적인 페치 기술을 나타내는 흐름도이다.
도 34 는 본 개시물에 일치하는 역 텔레시네에 유용한 블록 유효 맵을 생성하기 위한 기술을 나타내는 흐름도이다.
도 35 는 본 개시물에 일치하는 역 텔레시네에 유용한 예시적인 블록 유효 맵의 예시이다.
도 36 은 본 개시물에 일치하는 역 텔레시네를 위한 블록 유효 맵을 분석하는 기술을 나타내는 흐름도이다.
도 37 은 블록 유효 맵으로부터 생성된 통계치에 기초하여 역 텔레시네에 대한 비디오 프레임의 행들을 랭크 및 선별하는 기술의 흐름도이다.
도 38 은 통계치가 이용 가능할 때 적응적으로 생성되는 예시적인 부분 블록 유효 맵의 예시이다.
본 개시물은 텔레시네를 검출하고 역 텔레시네를 수행하기 위한 기술을 설명한다. 텔레시네는 비디오 시퀀스의 프레임 레이트를 변환하는 프로세스이고, 역 텔레시네는 프레임 레이트를 오리지널 레이트로 다시 변환하는 프로세스이다. 텔레시네는 통상적으로, 초당 24 프레임에서의 샷 (shot) 이었던 필름을 초당 30 프레임 (또는 초당 60 필드) 으로 변환하는데 이용된다. 텔레시네는 종종 3:2 풀 다운으로 지칭된 절차에 의해 수행되지만, 다른 유형의 변환들이 이용될 수 있다.
도 1 은 3:2 풀 다운 (pull down) 을 이용하는 텔레시네 기술을 나타내는 개념도이다. 이 경우에서, 초당 24 프레임으로 기록된 필름은 초당 60 필드를 정의하는 비디오 필드들의 세트로 텔레시네된다. 각 필드는 적어도 프레임의 일부를 포함할 수도 있다. 특히, 상부 필드 (A1) 는 프레임 A 의 홀수 넘버링된 라인들을 포함하고, 하부 필드 (A2) 는 프레임 A 의 짝수 넘버링된 라인들을 포함한다. 필드들은 도시된 바와 같이 인터레이싱되어, 초당 30 프레임으로 비디오 프레임을 정의한다. 특히, 필드들 (A1 및 A2) 은 필름에서의 프레임 A 와 유사한 프레임을 정의하도록 인터레이싱된다. 인터레이싱에서, 프레임 A 의 모든 다른 라인은 교대 (alternating) 방식으로 필드들 (A1 및 A2) 로부터 도출된다. 필드들 (A1 및 B2) 은 필름의 프레임 A 및 B 의 인터레이싱된 조합인 프레임을 정의하도록 인터레이싱되고, 필드들 (B1 및 C2) 은 필름의 프레임 B 및 C 의 인터레이싱된 조합인 프레임을 정의하도록 인터레이싱된다. 필드들 (C1 및 C2) 은 필름의 프레임 C 와 유사한 프레임을 정의하도록 인터레이싱되고, 필드들 (D1 및 D2) 은 필름의 프레임 D 와 유사한 프레임을 정의하도록 인터레이싱된다.
역 텔레시네는 텔레시네 프로세스를 역전시키는 프로세스이고, 도 2 에서 개념적으로 도시된다. 3:2 풀 다운에서, 역 텔레시네는 비디오를 초당 30 프레임에서 초당 24 프레임으로 다시 변환하는 것을 포함한다 (도 2 참조). 역 텔레시네는, 프로세스가 제공할 수 있는 각종 공간 및 시간적 비디오 품질 이점으로 인한 비디오 포스트-프로세싱의 필요한 부분일 수도 있다. 역 텔레시네는 또한, 트랜스코더의 부분일 수 있다. 예를 들어, 비디오가 디코딩된 후에, 역 텔레시네가 적용될 수 있고, 프레임 레이트는 감소 (즉, 그 오리지널 값, 예를 들어 초당 24 프레임으로 다시 변환) 될 수 있다. 이 경우에서, 비디오 데이터는 나중에 재-인코딩된다 (re-encoded). 트랜스코딩의 경우에서, 역 텔리시네는 총 비트 레이트를 감소시키는 것을 도울 수도 있고, 이는 저장 또는 송신에 이로울 수 있다.
본 개시물을 따르는 역 텔레시네 알고리즘은 반복하는 필드들을 결정하기 위해 비디오 시퀀스의 프레임들 및 필드들을 분석하고, 이에 따라 특정의 풀 다운 패턴을 식별할 수도 있다. 역 텔리시네 기술은, 풀 다운 패턴을 검출하고 풀 다운 보정을 수행하기 위해서 4 개의 필드들을 이용할 수도 있다. 유사한 기술들은 텔레시네 검출을 위해 더 많은 필드들 (예를 들어, 10 개의 필드들) 을 이용할 수도 있다. 그러나, 이러한 대량의 데이터 (예를 들어, 4 개의 필드들 또는 5 개의 프레임들) 를 프로세싱하기 위한 필요성은 고 전력 소비를 초래하고, 비디오 디코딩에 대한 도전을 불러일으킬 수도 있다.
본 개시물은 또한, 프레임 또는 필드의 필요한 부분들을 선택함으로써 역 텔레시네 동안 프로세싱될 필요가 있는 픽셀 영역을 감소시킬 수도 있는 방법을 제공한다. 설명된 기술은 실제 역 텔레시네 알고리즘에 독립적일 수도 있고, 3:2 풀 다운 뿐만 아니라 다수의 다른 유형의 텔레시네를 포함하는 임의의 유형의 역 텔레시네 알고리즘과 이용될 수 있다. 설명된 기술은, 그렇지 않은 경우 외부 메모리로부터 필요할 수도 있는 픽셀 데이터의 서브세트를 페치하는 단계를 포함할 수도 있고, 이에 의해 역 텔레시네 알고리즘의 수행을 저하시키지 않고 메모리 액세스의 수를 감소시킨다.
다시, 텔레시네는 종종 필름을 비디오로 변환하는 프로세스를 지칭한다. 필름은 통상적으로 영화관에서 생성된 사진 자료를 지칭한다. 필름은 통상적으로, 초당 24 프레임으로 기록된다. 그러나, NTSC (National Television System Committee) 에 의해 정의된 텔레비전, 및 다른 디지털 비디오 브로드캐스트들은 비디오에 대해 초당 30 프레임을 정의한다. 따라서, NTSC 부응 텔레비전 상에 필름 콘텐츠를 디스플레이하기 위해서, 필름은 비디오 변환된다. 변환 프로세스가 텔레시네로서 지칭된다. 일부 경우에서, NTSC 표준 종래의 텔리비전 시스템들은 초당 60 개의 인터레이싱된 필드들 (실제로 초당 59.94 필드들) 에서 동작할 수도 있고, 필름의 모션이 NTSC 비디오 신호 상에서 정확하게 렌더링되도록 텔레시네는 필름 프레임 레이트를 24 fps 에서 30 fps (즉, 대략 초당 60 필드) 로 변환할 필요가 있을 수도 있다.
각각의 비디오 프레임 위에 각각의 필름 프레임을 간단하게 트랜스퍼하는 것은 의도된 것 보다 대략 24.9 퍼센트 빠른 필름 구동을 초래한다. 텔레시네를 위한 더 좋은 솔루션은, 필름이 초당 30 프레임 비디오 프레임 레이트로 보여질 때 필름의 분명한 스피드업을 방지하기 위해, 소위 "3:2 풀 다운" 의 경우에서와 같이 몇몇 필름 프레임들을 주기적으로 반복하는 것이다.
3:2 풀 다운은 24 fps 필름 레이트를 30 fps 비디오 레이트로 변환하는 프로세스의 일 특정 유형이다. 영화 레이트를 TV 레이트로 변환하기 위해서, 3:2 풀 다운은 도 1 에서 보여질 수 있는 되풀이되는 (recurring) 3:2 패턴으로 필름 프레임들을 반복한다. 제 1 스텝은 4 개의 프레임들 세트를 8 개의 필드들로 변환하는 것이다. 이것은 초당 24 프레임을 초당 48 개의 인터레이싱된 필드로 변환한다. 그 다음에, NTSC 표준의 더 빠른 레이트 (즉, 30 fps, 또는 초당 60 필드) 를 고려하기 위해, 다른 프레임 마다 여분의 필드를 추가함으로써 3:2 풀 다운에서 행해지는 소정 필드들을 반복할 필요가 있다.
제 1 필름 프레임 A 는 상부 필드 (A1) 및 하부 필드 (A2) 로 분리될 수도 있다. 상부 필드 (A1) 는 홀수 넘버링된 라인들을 포함하고, 하부 필드 (A2) 는 짝수 넘버링된 라인들을 포함한다. 상부 필드 (A1) 및 하부 필드 (A2) 는 도 1 에 도시된 바와 같이 제 1 비디오 프레임을 정의한다. 필름 프레임 B 의 일부분들은 2 번 반복되고, 제 2 출력 비디오 프레임에 대한 하부 필드 (B2) 및 제 3 출력 비디오 프레임에 대한 상부 필드 (B1) 로서 기록된다. 제 3 필름 프레임 C 의 상이한 필드들이 또한, 도 1 에 도시된 바와 같이 하부 필드 (C2), 상부 필드 (C1), 및 다른 하부 필드 (C2) 로서 3 번 반복된다. 제 4 필름 필드 D 의 필드들은 하부 필드 (D1) 및 상부 필드 (D2) 로서 2 번 반복된다. 제 3 출력 프레임은 B1 및 C2 의 인터레이싱된 버전이고, 제 4 출력 프레임은 C1 및 C2 의 인터레이싱된 버전이다. 제 5 출력 프레임은 D1 및 D2 의 인터레이싱된 버전이다. 이 프로세스에 의해, 여분의 비디오 프레임이 4 개의 입력 필름 프레임 마다 생성된다. 이 패턴이 6 번 반복되면, 24 개의 필름 프레임들은 30 개의 비디오 프레임들이 된다.
다른 풀 다운 패턴들이 또한 존재하고, 본 개시물의 교시를 따른다. 예를 들어, 2:3 풀 다운은 제 1 필름 프레임을 2 번, 그리고 제 2 필름 프레임을 3 번 반복한다. 따라서, 2:3 풀 다운은 1 프레임 만큼 시프트되는 것을 제외하고 3:2 풀 다운과 매우 유사하다.
2:2 풀 다운은 다른 통상의 풀 다운 패턴이다. 이것은, 예를 들어, 초당 24 프레임 필름을 초당 48 개의 필드를 정의하는 비디오로 변환할 때 이용될 수도 있다. 2:2 풀 다운에서, 각각의 필름 프레임은 2 번 반복되고, 초당 48 개의 필드가 된다. 이 방법은, 필름을 스피드업하는 결과를 초래하고, 필름으로 하여금 약간 적은 시간으로 구동하게 한다. 2:2 풀 다운의 덜 통상적인 버전은 "2:2:2:2:2:2:2:2:2:2:2:3" 풀 다운으로 지칭된다. 이 방법은 12 프레임마다 반복된 필드를 삽입하여, 25 개의 비디오 필드들 위에 12 개의 필름 프레임들을 분산하고, 따라서 24 개의 필름 프레임들을 50 개의 비디오 필드들로 변환한다. 일부 영화들은, 이 "2:2:2:2:2:2:2:2:2:2:2:3" 방법으로 텔레시네된다. 3:2 및 2:2 풀 다운에 추가하여, 5:5, 6:4 및 8:7 와 같은 덜 통상적인 카덴스 (cadence) 들이 또한 존재하고, 가끔 일본 애니메이션에서 이용된다. 다른 유형의 풀 다운들이 또한, 본 개시물을 따른다.
역 텔레시네는, 예를 들어 초당 24 프레임들로 오리지널 콘텐츠를 되찾기 위해 텔레시네 프로세스를 반전시키거나 "무효화 (undo)" 하는데 이용된다. 초당 24 프레임들을 재구성하기 위해 인터레이싱된 비디오 소스들로부터의 3:2 풀 다운 패턴의 검출 및 제거의 역 텔레시네 기술은 "역 텔레시네 (inverse telecine)" 또는 "반전 텔레시네 (reverse telecine)" 양자 모두로 지칭된다. 텔레시네 다음에 역 텔레시네의 예시가 도 2 에 도시된다. 고 품질의 넌-인터레이싱된 디스플레이 상에 인터레이싱된 콘텐츠를 디스플레이할 때, 역 텔레시네가 필요할 수도 있다. 또한, 트랜스코더 디바이스, 또는 다른 디바이스와 같은, 많은 다른 상황들에서 역 텔레시네가 바람직할 수도 있다.
역 텔레시네는 상이한 방법들로 행해질 수 있다. 일부 경우에서, 입력 텔레시네된 비디오는 비디오 프레임과 오리지널 필름 프레임 간의 관련성을 나타내는 텔레시네 정보와 함께 입수 (ingest) 된다. 이들 경우에서, 디코더 (또는 플레이어) 디바이스는 풀 다운 패턴을 검출할 필요가 없지만, (주로, 텔레시네 트레이스 텍스트 파일의 형태로 존재하는) 이 정보에 기초하여 비디오를 플레이할 수 있다.
역 텔레시네의 다른 방법은 풀 다운 패턴을 검출하고, 본원에 설명된 기술의 기초인 패턴의 이전 지식 없이 풀 다운 패턴을 반전시키는 것이다. 가끔, 3:2 풀 다운 패턴이 검출되면, 그것은 비디오의 나머지에 대해 록킹될 수 있고, 패턴의 보정이 초기에 검출된 패턴에 기초하여 행해질 수 있다. 그러나, 3:2 풀 다운 패턴은 전체 비디오에 걸쳐 반드시 일관될 필요는 없고, 편집이 필름 자료 상에서 수행될 수 있다. 편집 프로세스가 필름 프레임을 제거하고 또는 그들 사이에 광고나 새로운 클립들과 같은 비디오 자료를 삽입하는 경향이 있을 때, 소위 "배드 편집 (bad edit)" 이 일어날 수 있다. 3:2 풀 다운 패턴이 소스에서 변화하고, 그것을 적응가능하게 보정할 때, 우수한 역 텔레시네 알고리즘이 식별 가능해질 수 있다. 이는 가끔, "배드 편집 검출" 로 지칭된다.
본 개시물에 따른 역 텔레시네의 이점들은 비주얼 품질 향상, 및/또는 대역폭 및 전력 절감을 포함할 수도 있고, 이는 이하의 설명으로부터 더욱 명백해진다. 구체적으로, 역 텔레시네는 텔레시네된 콘텐츠에서 공간 및 시간적 인공물들 양자 모두를 제거하는 것을 도울 수도 있다. 디-인터레이싱 없이 순차적인 디스플레이들에서 텔레시네된 콘텐츠가 디스플레이되면, 인공물들의 결합은 특히 비디오 시퀀스에서 이동하는 객체들의 바운더리에서 나타날 수도 있다. 그러나, 텔레시네된 콘텐츠가 디-인터레이싱되면, 블러링 (blurring) 이 발생할 수도 있다. 또한, 공간적 인공물들에 추가하여, 텔레시네로 인한 모션 떨림 (motion judder) 과 같은 시간적 인공물들이 발생할 수도 있다. 가끔, 모션 떨림은 텔레시네 떨림으로서 지칭되고, 느리고 안정된 카메라 이동들 동안 특히 분명할 수도 있다. 모션 떨림은, 매 10 개의 필드 중 2 개의 필드가 3:2 풀 다운 프로세스 동안 반복된다는 사실로 인한 것이다.
또한, 시간 정보를 이용하는 것과 같은 일부 디-인터레이싱 알고리즘은, 참조 필드가 반복되고 이것이 또한 경련 (jerkiness) 을 야기하는 정도까지 참조 (또는 이전) 필드를 향해 디-인터레이싱 필터링을 바이어스한다. 반면에, 인공물과 같은 "지연 (hiccup)" 은 2:2:2:2:2:2:2:2:2:2:2:3 풀 다운이 적용되었던 자료에서 발생할 수도 있다. 지연은 모션 떨림과 약간 상이하고, 비디오에서 두번째로 약 2 번 발생한다.
"하드 (hard) 텔레시네" 는 풀 다운이 인코딩 전에 적용되는 것을 의미한다. 하드 텔레시네와 대조적으로, "소프트 (soft) 텔레시네" 는 인코딩 전에 풀 다운을 적용하지 않고, 차라리 24P (여기서 P 는 순차적인 것을 나타냄) 로서 비디오를 처리한다. 소프트 텔레시네는 비트스트림을 적절한 풀 다운 플래그로 임베딩하고, 풀 다운은 인터레이싱된 디스플레이에서 콘텐츠를 디스플레이할 때 실행될 수 있다. 대부분의 SD-DVD 는 "하드 텔레시네" 모드에 있다는 것이 또한 중요하고, 따라서 역 텔레시네는 순차적인 디스플레이 및 인터레이싱된 디스플레이 양자 모두에 필요할 수도 있다. 하드 텔레시네에서, 비디오는 풀 다운이 후에 60/50 I 이 되고 (여기서, I 는 인터레이싱된 것을 의미함), 보통의 인터레이싱된 콘텐츠와 동일한 방식으로 비디오 버퍼에 60/50I 콘텐츠로서 저장된다. 풀 다운 후의 결과의 비디오 프레임은 모션 추정 및 보상을 위한 참조 프레임들로서 이용된다.
많은 비디오 시퀀스에서, 3:2 풀 다운 프로세스는 초당 24 프레임 필름 소스에 적용된다. 결과의 초당 60 필드 비디오는 직접적으로, 또는 간접적으로 인코딩될 수 있고, 비디오 소스에 광고들이 추가될 수 있으며, 결과의 초당 60 필드의 비디오 콘텐츠가 편집 후에 인코딩될 수 있다. 이 경우에서, 비디오 플레이어가 초당 60 필드의 비디오 콘텐츠를 디코딩한 후에, 본 개시물의 역 텔레시네 및 배드 편집 검출 기술이 적용될 수도 있다. 따라서, 역 텔레시네가 검출 및 보정되면, 사실의 순차적인 초당 24 프레임 필름이 디스플레이된다. 그러나, 텔레시네가 검출되지 않거나 존재하지 않으면 (예를 들어, 입력이 입력에 적용된 텔레시네가 없는 순전히 인터레이싱된 콘텐츠인 경우), 디-인터레이싱이 필터를 통해 적용될 수 있고 출력 디바이스는 초당 30 프레임의 순차적인 비디오를 디스플레이할 수 있다.
역 텔레시네는 기본적인 포스트-프로세싱 피처이다. 역 텔레시네는 또한 "필름 모드 검출 기술", "필름 카덴스 및 배드 편집 복구", "필름 모드 검출" 및 "역 3:2 풀 다운" 으로서 지칭될 수도 있다. 3:2 풀 다운이 산업에서 광범위하게 수용된다.
도 3 은 본 개시물의 역 텔레시네 기술들 중 하나 이상을 구현하는데 이용될 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 나타내는 블록도이다. 도 3 의 예에서, 역 텔레시네 유닛 (29) 은 비디오 디코더 (28) 뒤에 위치한다. 그러나, 본 개시물을 따르는 역 텔레시네 유닛은 또한 많은 다른 로케이션들 또는 디바이스들에서 이용될 수 있다. 브로드캐스팅 애플리케이션에 있어서, 예를 들어 역 텔레시네 유닛은 송신들을 브로드캐스트하기 전에 비트레이트를 저장하기 위해 비디오 인코더 앞에 위치할 수 있다. 요약하면, 도 3 은 본 개시물의 역 텔레시네 기술들 중 하나 이상을 구현할 수도 있는 시스템의 단순한 일례이다.
도 3 에 도시된 바와 같이, 시스템 (10) 은 통신 채널 (15) 을 통해 착신 디바이스 (16) 로 인코딩된 비디오를 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 착신 디바이스 (16) 는 광범위의 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우에서, 소스 디바이스 (12) 및 착신 디바이스 (16) 는 무선 통신 디바이스들, 예컨대 무선 핸드셋, 소위 셀룰러 또는 위성 무선전화기, 또는 통신 채널 (15) 이 무선인 경우에서 통신 채널 (15) 을 통해 비디오 정보를 통신할 수 있는 임의의 무선 디바이스들을 포함한다. 그러나, 역 텔레시네 검출, 메모리 액세스 감축, 및 역 텔레시네와 연관된 전력 절감과 관련되는 본 개시물의 기술들은 무선 애플리케이션 또는 설정에 반드시 제한되지 않는다. 기술들은 또한, 물리적 와이어, 광 섬유 또는 다른 물리적 또는 무선 매체를 통해 통신하는 디바이스들을 포함하는, 광범위한 디바이스들 및 다른 설정들에서 유용할 수도 있다. 또한, 인코딩 또는 디코딩은 임의의 다른 디바이스와 반드시 통신하지 않는 독립형 디바이스에 적용될 수도 있다.
도 3 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 텔레시네 유닛 (20), 비디오 인코더 (22), 변조기/복조기 (모뎀)(23) 및 송신기 (24) 를 포함할 수도 있다. 텔레시네 유닛 (20) 은 "하드 텔레시네" 로서 지칭될 수도 있다. 착신 디바이스 (16) 는 수신기 (25), 모뎀 (26), 비디오 디코더 (28), 역 텔레시네 유닛 (29), 및 디스플레이 디바이스 (30) 를 포함할 수도 있다. 본 개시물에 따르면, 착신 디바이스 (16) 의 역 텔레시네 유닛 (29) 은 비디오 디코딩 프로세스의 일부로서 본 개시물의 기술들 중 하나 이상을 적용하도록 구성될 수도 있으나, 본 개시물에 따르는, 역 텔레시네는 비디오 디코딩에 관련하지 않고 적용될 수도 있다.
또한, 도 3 의 도시된 시스템 (10) 은 단지 예시적이다. 본 개시물의 각종 기술들은 역 텔레시네를 지원하는 임의의 디바이스에 의해 수행될 수도 있다. 착신 디바이스 (16) 는 단지, 소스 디바이스 (12) 가 착신 디바이스 (16) 로의 송신을 위해 코딩된 비디오 데이터를 생성하는 시스템 (10) 내의 그러한 디바이스의 일 예이다. 일부 경우에서, 디바이스들 (12, 16) 은 비디오 인코딩 및 디코딩 컴포넌트들을 포함한다. 따라서, 시스템 (10) 은, 예를 들어 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 비디오 텔레포니를 위해 비디오 디바이스들 (12, 16) 간의 일 방향 또는 양 방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 또는 비디오 콘텐츠 제공자로부터의 비디오 공급기 (feed) 를 포함할 수도 있다. 또한 다르게는, 비디오 소스 (18) 는 소스 비디오, 또는 라이브 비디오, 아카이브된 비디오 및 컴퓨터 생성된 비디오의 조합과 같은 컴퓨터 그래픽 기반 데이터를 생성할 수도 있다. 일부 경우에서, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 착신 디바이스 (16) 는 소위 카메라 폰 또는 비디오 폰을 형성할 수도 있다. 각 경우에서, 캡처된, 이미 캡처된 또는 컴퓨터 생성된 비디오는 텔레시네 유닛 (20) 에 의해 텔레시네되고, 비디오 인코더 (22) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 그 다음에, 예를 들어, 코드 분할 다중 액세스 (CDMA) 또는 다른 통신 표준과 같은 통신 표준에 따라 모뎀 (23) 에 의해 변조되고, 송신기 (24) 및 통신 채널 (15) 을 통해 착신 디바이스 (16) 로 송신될 수도 있다. 모뎀 (23) 은 각종 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는 증폭기, 필터, 및 하나 이상의 안테나를 포함하는, 데이터를 송신하기 위해 설계된 회로들을 포함할 수도 있다.
착신 디바이스 (16) 의 수신기 (25) 는 통신 채널 (15) 을 통해 정보를 수신하고, 모뎀 (26) 은 이 정보를 복조한다. 송신기 (24) 와 같이, 수신기 (25) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함하는 데이터를 수신하기 위해 설계된 회로들을 포함할 수도 있다. 일부 경우에서, 송신기 (24) 및/또는 수신기 (25) 는 수신 및 송신 회로 양자 모두를 포함하는 단일 트랜시버 컴포넌트 내에 통합될 수도 있다. 모뎀 (26) 은 각종 믹서들, 필터들, 증폭기들 또는 신호 복조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 일부 경우에서, 모뎀들 (23 및 26) 은 변조 및 복조 양자 모두를 수행하기 위한 컴포넌트들을 포함할 수도 있다. 비디오 디코더 (28) 는, 예를 들어 비디오 인코더 (22) 에 의해 인코딩되었던 인코딩된 비디오 블록들을 재구성하는 블록 기반 비디오 디코딩을 수행한다. 역 텔레시네 유닛 (29) 은 그 다음에, 디코딩된 비디오에 대하여 역 텔레시네를 수행한다.
착신 디바이스 (16) 에 의해 수행된 역 텔레시네 프로세스는 비디오 디코딩 동안 수행될 수도 있으나, 본 개시물의 양태들은 또한 블록 기반 비디오 디코딩 없이 수행될 수도 있다. 특히, 역 텔레시네 유닛 (29) 은 비디오 시퀀스의 프레임 레이트를 오리지널 필름 레이트로 다시 변환하도록 (예를 들어, 소스 디바이스 (12) 의 텔레시네 유닛 (20) 에 의해 수행된 텔레시네를 "무효화" 하도록), 본원에 설명된 바와 같은 역 텔레시네 기술들을 수행할 수도 있다.
보다 구체적으로, 역 텔레시네 유닛 (29) 은, 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지를 결정하고, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하고, 이 패턴에 기초하여 텔레시네 기술을 식별하며 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행할 수도 있다. 이 경우에서, 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이고 M 은 N 보다 작다. 따라서, 역 텔레시네는 프레임 레이트를 필름 미디어 상에서 원래 기록되었던 바와 같이 비디오 시퀀스와 연관된 오리지널 필름 레이트로 다시 감소시킨다.
비디오 디코더 (28) 는 시간 기반 디코딩을 위한 모션 추정 및 모션 보상 컴포넌트들을 포함할 수도 있다. 또한, 비디오 디코더 (28) 는 공간 기반 디코딩을 위한 공간 추정 및 인트라 코딩 유닛을 포함할 수도 있다. 디스플레이 디바이스 (30) 는 역 텔레시네 프로세스 다음에 디코딩된 비디오 데이터를 이용자에게 디스플레이하고, 다양한 디스플레이 디바이스들, 예컨대 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스 중 임의의 것을 포함할 수도 있다.
도 3 의 예에서, 통신 채널 (15) 은 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선 및 유선 매체의 임의의 조합을 포함할 수도 있다. 통신 채널 (15) 은 패킷 기반 네트워크, 예컨대 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 일반적으로, 통신 채널 (15) 은 소스 디바이스 (12) 로부터 착신 디바이스 (16) 로 비디오 데이터를 송신하기 위한, 임의의 적합한 통신 매체, 또는 상이한 통신 매체의 집합을 나타낸다. 통신 채널 (15) 은 라우터, 스위치, 기지국, 또는 소스 디바이스 (12) 로부터 착신 디바이스 (16) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 비디오 압축 표준, 다르게는 MPEG-4, Part 10, AVC (Advanced Video Coding) 로서 설명된 예컨대 ITU-T H.264 표준에 따라 동작할 수도 있다. 그러나, 본 개시물의 기술들은 임의의 특정 비디오 코딩 표준에 제한되지 않는다. 도 1 에 도시되지 않았으나, 일부 양태에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 공통의 데이터 스트림 또는 별개의 데이터 스트림으로 오디오 및 비디오 양자 모두의 인코딩을 핸들링하기 위한 적합한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 응용 가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 이용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들을 따를 수도 있다.
착신 디바이스 (16) 의 역 텔레시네 유닛 (29) 을 포함하는, 착신 디바이스 (16) 및 소스 디바이스 (12) 의 각종 컴포넌트들은 하나 이상의 마이크로프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합으로서 구현될 수도 있다. 텔레시네 유닛 (20) 및 역 텔레시네 유닛 (29) 은 비디오 인코더 (22) 및 비디오 디코더 (28) 내에 각각 통합될 수도 있다. 또한, 본 개시물의 역 텔레시네 기술들은 비디오 디코딩 프로세스의 일부로서 구현될 수도 있으나, 또한 다른 설정 및 시나리오에서 이용될 수도 있다. 또한, 역 텔레시네 동작 후에, 비디오 데이터는 반드시 디스플레이될 필요가 없다. 다른 예에서, 역 텔레시네 다음에, (예를 들어, 트랜스코딩 시나리오에서) 비디오 데이터는 재-인코딩될 수도 있고, 새로운 인코딩된 비디오 데이터는 미래의 플레이백을 위해 저장되거나 또는 브로드캐스팅 애플리케이션을 위해 송신될 수 있다.
통상적으로, 비디오 시퀀스는 일련의 비디오 프레임들을 포함한다. 비디오 인코더 (22) 는 비디오 데이터를 인코딩하기 위해서 개별적인 비디오 프레임들 내의 비디오 블록들 상에서 동작한다. 비디오 블록들은 고정 또는 가변 크기들을 가질 수도 있고, 지정된 코딩 표준에 따라 크기 면에서 상이할 수도 있다. 각각의 비디오 프레임은 일련의 슬라이스들을 포함한다. 각각의 슬라이스는, 서브 블록들로 배열될 수도 있는 일련의 매크로블록들을 포함할 수도 있다. 예로서, ITU-T H.264 표준은 각종 블록 크기들, 예컨대 루마 컴포넌트에 대해 16×16, 8×8, 또는 4×4, 그리고 크로마 컴포넌트에 대해 8×8 에서 인트라 예측, 뿐만 아니라 각종 블록 크기들, 예컨대 루마 컴포넌트에 대해 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4, 및 크로마 컴포넌트에 대해 대응하는 스케일링된 크기들에서 인터 예측을 지원한다. 비디오 블록들은 픽셀 데이터의 블록들, 또는 예를 들어, 이산 코사인 변환 (DCT) 과 같은 변환 프로세스 또는 개념적으로 유사한 변환 프로세스 다음의, 변환 계수들의 블록들을 포함할 수도 있다. 본 개시물의 기술에 따르면, 비디오 인코더 (22) 및 비디오 디코더 (29) 는, 예를 들어 유닛 (20) 에 의해 수행된 텔레시네 다음의, 텔레시네된 도메인에서 동작한다. 다른 시나리오에서, 인코더는 역 텔레시네 유닛 (29) 뒤에 적용될 수 있고, 이 경우, 인코더는 넌-텔레시네 도메인에서 동작할 수도 있다.
보다 작은 비디오 블록들은 보다 좋은 해상도를 제공할 수 있고, 고 레벨의 디테일을 포함하는 비디오 프레임의 로케이션에 이용될 수도 있다. 일반적으로, 매크로블록 및 각종 서브-블록들이 비디오 블록들로 고려될 수도 있다. 또한, 슬라이스가 일련의 비디오 블록들, 예컨대 매크로블록들 및/또는 서브-블록들로 고려될 수도 있다. 각각의 슬라이스는 비디오 프레임의 독립적으로 디코딩 가능한 유닛일 수도 있다. 다르게는, 프레임들 자체가 디코딩 가능한 유닛일 수도 있고, 또는 프레임의 다른 부분들이 디코딩가능한 유닛들로서 정의될 수도 있다. 용어 "코딩된 유닛" 은 전체 프레임, 프레임의 슬라이스, 또는 이용된 코딩 기술들에 따라 정의된 다른 독립적으로 디코딩가능한 유닛과 같은 비디오 프레임의 독립적으로 디코딩 가능한 유닛을 지칭한다.
비디오 블록들을 인코딩하기 위해, 비디오 인코더 (22) 는 인트라 또는 인터 예측을 수행하여 예측 블록을 생성한다. 비디오 인코더 (22) 는 인코딩될 오리지널 비디오 블록들로부터 예측 블록들을 감산하여, 잔여 블록들을 생성한다. 따라서, 잔여 블록은 코딩되는 블록들과 예측 블록들 간의 차이를 나타낸다. 비디오 인코더 (22) 는 잔여 블록들 상에서 변환을 수행하여, 변환 계수들의 블록들을 생성할 수도 있다. 인트라 또는 인터 기반 예측 코딩 및 변환 기술 다음에, 비디오 인코더 (22) 는 양자화를 수행한다. 일반적으로, 양자화는, 가능하게는 계수들을 나타내기 위해 이용된 데이터의 양을 감소시키도록 계수들이 양자화되는 프로세스를 지칭한다. 양자화 다음에, 엔트로피 코딩 방법론, 예컨대 CAVLC (context adaptive variable length coding) 또는 CABAC (context adaptive binary arithmetic coding) 에 따라 엔트로피 코딩이 수행될 수도 있다.
착신 디바이스 (16) 에서, 비디오 디코더 (28) 는 인코딩된 비디오 데이터를 수신하고, 엔트로피는 수신된 비디오 데이터를 엔트로피 코딩 방법론, 예컨대 CAVLC 또는 CABAC 에 따라 디코딩하여, 양자화된 계수들을 획득한다. 비디오 디코더 (28) 는 역 양자화 (양자화 해제, de-quantization) 및 역 변환 기능을 적용하여, 픽셀 도메인에서 잔여 블록을 재구성한다. 비디오 디코더 (28) 는 또한, 인코딩된 비디오 데이터에 포함된 제어 정보 또는 신택스 정보 (예를 들어, 코딩 모드, 모션 벡터, 필터 계수 등을 정의하는 신택스) 에 기초하여 예측 블록을 생성한다. 비디오 디코더 (28) 는 예측 블록을 재구성된 잔여 블록과 합산하여, 디스플레이를 위해 재구성된 비디오 블록을 생성한다.
본 개시물의 기술들에 따르면, 역 텔레시네 유닛 (29) 은 비디오 프레임의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 판정하고, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하고, 이 패턴에 기초하여 텔레시네 기술을 식별하며 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행할 수도 있다. 이 경우에서, 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이고 M 은 N 보다 작다. 따라서, 역 텔레시네는, 그것이 필름 미디어 상에서 원래 기록되었던 바와 같은 비디오 시퀀스와 연관된 오리지널 필름 레이트로 프레임 레이트를 다시 감소시킨다.
또한, 역 텔레시네 유닛 (29) 은, 비디오 디코더 (28) 가 디코딩 프로세스의 일부로서 이미 로딩된 소정 비디오 데이터를 갖는다는 사실에 영향을 줄 수도 있다. 즉, 동일한 데이터가 또한 역 텔레시네 유닛 (29) 에 의해 수행된 역 텔레시네 프로세스에 필요하다면, 비디오 디코더 (29) 에 의한 비디오 디코딩의 목적을 위해 데이터의 메모리 로드들이 이용되어 이러한 데이터의 불필요한 중복되는 메모리로드를 감소시킬 수도 있다. 이 방법에서, 역 텔레시네 유닛 (29) 과 연관된 메모리 로드가 감소될 수도 있고, 전력 및 메모리 대역폭을 아낀다.
도 4 는 본 개시물에 따른 역 텔레시네 기술을 나타내는 흐름도이다. 도 4 에 도시된 바와 같이, 역 텔레시네 유닛 (29) 은, 비디오 프레임들의 시퀀스에서 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 판정한다 (41). 역 텔레시네 유닛 (29) 은 그 다음에, 비디오 프레임들의 시퀀스에서 순차적인 프레임들 및 인터레이싱된 프레임들의 패턴을 식별하며 (42), 이 패턴에 기초하여 텔레시네 기술을 식별한다 (43). 예를 들어, 역 텔레시네 유닛 (29) 이 프레임들의 반복 패턴 (예를 들어, P I I P P 프레임들 또는 P P I I P 프레임들의 반복 패턴) 을 식별하면, 역 텔레시네 유닛 (29) 은 프레임들을 정의하기 위해 원래 수행되었던 텔레시네 기술로서 3:2 풀 다운을 식별할 수도 있다. 역 텔레시네 유닛 (29) 은 그 다음에, 식별된 텔레시네 기술에 기초하여 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행할 수 있다 (44). 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, 여기서 M 및 N 은 양의 정수이고 M 은 N 보다 작다.
3:2 풀 다운에 있어서, 예를 들어 역 텔레시네 기술은 5 개의 프레임들 (P, P, I, I, P) 의 각 패턴을 4 개의 순차적인 프레임들 (P, P, P, P) 의 패턴으로, 또는 5 개의 프레임들 (P, I, I, P, P) 의 각 패턴을 4 개의 순차적인 프레임들 (P, P, P, P) 의 패턴으로 변환함으로써, 초당 30 개의 비디오 프레임들을 초당 24 개의 비디오 프레임들로 변환한다. 어느 한 경우에서, 패턴이 3:2 풀 다운 텔레시네 기술과 연관될 때, 패턴을 식별하는 것은 3 개의 순차적인 프레임들 및 2 개의 인터레이싱된 프레임들로 이루어진 5 개의 프레임 시퀀스들을 식별하는 것을 포함한다. PPIIP 에 있어서, 2 개의 순차적인 프레임들 다음에 2 개의 인터레이싱된 프레임들 다음에 1 개의 순차적인 프레임들이 있는 반면, PIIPP 에 있어서, 1 개의 순차적인 프레임 다음에 2 개의 인터레이싱된 프레임들 다음에 2 개의 순차적인 프레임들이 있다. 어느 한 경우에서, 역 텔레시네 기술을 수행하는 것은 5 개의 프레임 시퀀스를 4 개의 프레임 시퀀스로 변환하는 것을 포함할 수도 있고, 역 텔레시네 기술은 초당 30 개의 비디오 프레임들을 초당 24 개의 비디오 프레임들로 변환한다.
비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 인터레이싱된 프레임들인지 여부를 식별하는데 있어서, 텔레시네 유닛 (29) 은 개별적인 비디오 프레임들과 연관된 데이터의 서브세트 만을 프로세싱할 수도 있다. 이 서브세트가 어떻게 정의될 수 있는지의 추가적인 상세들이 이하에 제공된다. 일반적으로, 서브세트는 개별적인 프레임들 내의 픽셀 데이터의 블록을 포함할 수도 있고, 여기서 블록은 역 텔레시네 검출을 위해 이미 정의되고, 픽셀 데이터의 블록은 개별적인 프레임들 각각에 대해 메모리로부터 페치된다. 서브세트는 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함할 수도 있고, 여기서 개별적인 프레임들 내의 픽셀 데이터의 수직 열들은 역 텔레시네 검출을 위해 이미 정의되고, 개별적인 프레임들 내의 픽셀 데이터의 수직 열들은 개별적인 프레임들 각각에 대해 메모리로부터 페치된다.
일부 경우에서, 역 텔레시네를 위해 프로세싱된 데이터의 서브세트는 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함할 수도 있고, 여기서 개별적인 프레임들 내의 픽셀 데이터의 수직 열들은, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의된다. 다른 경우에서, 임의의 주어진 프레임과 연관된 서브세트는, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의될 수도 있다. 이하에서 더 상세히 서술되는 바와 같이, 예를 들어 역 텔레시네 유닛 (29) 은, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각각의 프레임과 연관된 픽셀들의 맵을 생성하고, 이 맵에 기초하여 각각의 프레임에 대한 서브세트를 정의할 수도 있다. 프로세싱을 보다 단순화하기 위해, 역 텔레시네 유닛 (29) 은, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 부분 맵을 생성하고, 이 부분 맵에 기초하여 각 프레임에 대한 서브세트를 정의할 수도 있고, 여기서 부분 맵은 통계치들이 이용 가능하게 될 때 각 프레임의 비디오 코딩 동안 정의되고, 통계치들은 개별적인 픽셀들이 비디오 코딩을 위해 이미 페치되었는지 여부를 정의한다. 어느 한 경우에서, 맵은 디코딩 유닛 (28) 에 의한 비디오 디코딩을 위해 이미 저장되는 유용한 데이터를 정확히 찾아낼 수도 있고, 따라서 역 텔레시네 유닛 (29) 이 동일한 데이터를 다시 페치할 필요성을 제거한다.
역 텔레시네 프로세스를 위해 제안된 많은 알고리즘들이 존재한다. 본 개시물의 포커스는 이용된 텔레시네 기술을 식별하기 위해 비트스트림 내의 정보를 필요로 하지 않는 역 텔레시네 프로세스이다. 또한, 본 개시물의 다른 포커스는 역 텔레시네 프로세스 동안 메모리 대역폭 감축이다. 도 5 는 도 3 의 역 텔레시네 유닛 (29) 에 대응할 수도 있고, 또는 다른 디바이스의 모듈 또는 유닛에 대응할 수도 있는 역 텔레시네 모듈 (51) 의 블록도이다. 역 텔레시네 모듈 (51) 은 입력 프레임들 또는 필드들을 수신하고 출력 프레임들을 출력하며, 여기서 프레임 레이트는 입력에서 출력으로 변화한다. 특히, 통상적으로 프레임 레이트는 역 텔레시네의 입력에서 출력으로 감소한다.
역 텔레시네 모듈 (51) 은 입력 프레임들을 분석하고, 텔레시네 검출을 수행하며, 검출 스테이지 동안 식별된 패턴에 기초하여 보정을 행한다. 텔레시네 검출 알고리즘들은 풀 다운 패턴을 식별하기 위해 이용된 입력 필드들 또는 프레임들의 수에 기초하여 분류될 수도 있다. 텔레시네 검출 알고리즘에 이용된 필드들의 수는 주로 2, 즉 비디오 프레임의 상부 및 하부 필드이다. 그러나, 알고리즘들은 텔레시네 검출에서 4 개의 필드들 (즉, 2 개의 상이한 프레임들의 상부 및 하부 필드들) 을 이용할 수도 있다. 다른 수의 필드들, 예를 들어 5 이상의 입력 필드들이 또한 정의될 수 있다.
그러나, 이러한 대량의 데이터의 프로세싱은 고 전력 및 리소스들을 필요로할 수 있다. 텔레시네 알고리즘은 프레임의 지그 재그 스캔을 행하여, 프로세싱될 픽셀들의 양을 감소시킬 수도 있다. 또한, 역 텔레시네 모듈 (51) 에 의해 수행된 동작들의 수를 감소시키기 위해서, "텔레시네 패턴이 록킹되면 역 텔레시네를 디스에이블하는" 기술들이 역 텔레시네 모듈 (51) 에 의해 실행될 수 있다. 이 경우, 텔레시네 패턴이 발견되면, 패턴은 록킹되고, 따라서 역 텔레시네 모듈 (51) 은 새로운 입력 프레임들을 계속해서 액세스할 필요가 없어, 프로세싱 전력 및 대역폭을 감소시킬 수도 있다. 그러나, 이 유형의 접근은 역 텔레시네 모듈 (51) 에 의해 이용되는 입력 픽셀 데이터를 감소시키는 것이 아니고, 차라리 역 텔레시네 모듈 (51) 이 동작하는 회수를 감소시킨다. 따라서, 이 유형의 기술은 배드 편집 동안 발생할 수 있는 텔레시네 패턴 변화를 놓칠 수도 있다.
본 개시물의 기술들은 텔레시네 검출을 위해 페치하도록 픽셀 데이터를 식별하기 위한 효율적인 알고리즘을 제안한다. 본 개시물의 기술들의 이점들은 역 텔레시네 프로세스에서 이용된 픽셀들의 양에서의 감축을 포함할 수도 있고, 이는 역 텔레시네 수행을 저하시키지 않고 메모리 대역폭을 감소시킬 수도 있다. 또한, 메모리 및 프로세싱 사이클들로부터 데이터 트래픽의 양을 감소시킴으로써, 전술된 기술들은 고화질 애플리케이션 (high-definition application) 과 같은 비디오의 해상도를 높이도록 역 텔레시네의 애플리케이션을 지원하는 것을 도울 수도 있다. 전술된 기술은 텔레시네를 식별하기 위해 비트스트림에서 전달될 임의의 정보를 필요로 하지 않고, 차라리, 텔레시네는 비디오의 콘텐츠 상에서 순전히 검출된다.
전력 소비가 주목되는 디바이스들 (예컨대, 무선 디바이스들) 에 있어서, 전술된 역 텔레시네 기술들은 유사한 양의 전력을 이용하는 다른 기술들에 관한 텔레시네 검출을 위해 많은 프레임들을 프로세싱하도록 도울 수도 있고, 이는 또한 광고 및 컷씬 (scene cut) 의 삽입 동안 일어나는 배드 편집을 캐치하는 것을 돕는다. 본 개시물의 메모리 대역폭 및 전력 보존 양태들은 텔레시네 검출 알고리즘에 독립적일 수도 있고, 프레임의 적어도 2 개의 필드들 (예를 들어, 짝수 및 홀수 필드) 에 대한 액세스를 필요로 하는 다른 텔레시네 검출 알고리즘들과 이용될 수도 있다. 이 경우, 이점들은 픽셀 데이터의 단지 일부분을 페치함으로써 달성될 수도 있고, 여기서 픽셀 데이터의 일부분은 압축된 도메인 통계치에 의해 적응적으로, 또는 이하에서 더 상세히 설명되는 수직 샘플링 접근법에 의해 결정론적으로 결정된다. 픽처의 이동하는 부분들은 주로, 텔레시네 검출을 위한 보다 우수한 인디케이터 (indicator) 들이다. 따라서, 고 레벨의 모션을 갖는 관심 영역들에 대하여 역 텔레시네를 수행하는 것은 메모리 대역폭을 감소시키면서 우수한 텔레시네 검출 성능을 제공할 수도 있다. 또한, 본 개시물의 기술들은 모션 벡터들에 의해 식별된 참조 픽처들 및 모션 벡터들을 추적함으로써 비디오 디코딩 동안 내부 메모리에 이미 페치된 이용 가능한 픽셀 데이터를 이용할 수도 있다.
역 텔레시네 기술들 중 2 개의 주요 양태들은 "텔레시네 검출" (즉, 풀 다운 검출) 및 "텔레시네 보정" 이다. 이들에 추가하여, "배드 편집 검출" 이 또한 역 텔레시네 기술의 일부일 수도 있다. 도 6 은 텔레시네 검출 스테이지 (61), 배드 편집 검출 스테이지 (62), 및 텔레시네 보정 스테이지 (63) 를 포함하는 텔레시네 검출 유닛 (61) 의 기본 블록도이다.
텔레시네 검출 (61) 의 기본 목표는 인터레이싱된 비디오가 3:2 풀 다운, 2:2 풀 다운, 또는 다른 풀 다른 프로세스를 통과했는지 여부를 알아내는 것이다. 프레임들의 "스테이트 (states)" 는 도 7 에 도시된 바와 같은 비디오 프레임들의 순서를 지칭하고, 스테이트는 어느 필름 프레임들이 비디오 프레임을 형성 (make up) 하는지의 정보를 운반할 수도 있다. 예를 들어, 스테이트_2 는, 5 의 그룹에서의 제 2 비디오 프레임이 제 1 필름 프레임의 상부 필드 및 제 2 필름 프레임의 하부 필드로 이루어진다는 것을 의미한다. 유사하게, 스테이트_4 는, 5 의 그룹에서의 제 4 비디오 프레임이 제 3 필름 프레임의 상부 및 하부 필드로 이루어진다는 것을 의미한다.
배드 편집 검출 (62) 의 목표는 초기에 식별된 풀 다운 패턴이 시간이 지나면서 깨지는지 아닌지 여부를 판정하기 위한 것일 수도 있다. 설명을 위해 깨진 풀 다운 패턴은 도 8 에 도시된다. 도 8 에서 화살표로 나타난 바와 같이 패턴이 깨지면, 다음 비디오 프레임들의 새로운 스테이트들 뿐만 아니라 새로운 풀 다운 패턴의 시작 포인트가 식별되어야 한다. 3:2 풀 다운과 연관된 깨진 패턴은 도 8 에 도시된다.
텔레시네 보정 (63) 의 목표는 도 9 에 나타난 바와 같이 텔레시네 검출에 의해 제공된 스테이트 정보를 이용함으로써 비디오 프레임들을 필름 프레임들로 변환하는 것이다. 보정은, 비디오 프레임 스테이트들이 텔레시네 검출 스테이지 (61) 에 의해 정확하게 식별되면 비교적 복잡하지 않은 프로세스일 수도 있다. 특히, 도 9 에 나타난 바와 같이, 보정은 스테이트 정보에 따라 수행될 수도 있다. 예를 들어, 비디오 프레임이 스테이트_1, 스테이트_4, 또는 스테이트_5 로서 식별되면, 변화가 필요하지 않다. 비디오 프레임이 스테이트_2 에 있으면, 프레임은 보정을 위해 드롭된다. 비디오 프레임이 스테이트_3 에 있으면, 이전 비디오 프레임으로부터 하부 필드를 페치하고 현재 비디오 프레임의 하부 필드를 드롭함으로써 보정된다. 이 보정은 도 9 에 도시된다.
텔레시네 검출 알고리즘은 풀 다운 패턴을 식별하기 위해 이용하는 필드들의 수에 기초하여 분류될 수도 있다. 텔레시네 검출 알고리즘에 이용된 필드들의 최소의 수는 2, 예를 들어 비디오 프레임의 상부 및 하부 필드이지만, 더 많은 필드들이 이용될 수도 있다. 텔레시네 검출 알고리즘은 또한, 검출 프로세스에서 이용되는 메트릭에 기초하여 분류될 수 있다. 이하에서 열거된 다음의 메트릭이, 예를 들어 텔레시네 검출에 이용될 수 있다:
● 절대 차이의 합계 (SAD)
● 절대 SAD
● 픽셀 블록 파라미터
● 픽셀 통계치
● 모션
일부 텔레시네 알고리즘의 단위는, 예를 들어 SAD 메트릭을 이용하는 픽셀 차이이다. SAD 는 2 개의 프레임들의 대응하는 필드들 사이에서 계산되어, 특정 필드가 반복되는지 아닌지 여부를 식별할 수도 있다. 예를 들어, 도 9 를 참조하면, 스테이트_2 에서의 비디오 프레임은 스테이트_1 에서의 비디오 프레임과 동일한 상부 필드를 갖는다. 이들 2 개의 상부 필드들 사이에서 SAD 를 수행하고, 이 SAD 값을 스레홀딩 (thresholding) 함으로써, 상부 필드들이 반복되는지 아닌지 여부를 식별하는 것이 가능하다.
픽셀 블록 파라미터들이 또한 텔레시네 알고리즘에 이용될 수도 있다. 파라미터들은 픽셀들의 특정 블록의 에지와 같은 콘텐츠 정보를 포함할 수도 있다. 이 메트릭은 픽셀 값 변화 대신에 콘텐츠 변화를 측정한다는 점에서 SAD 와 상이하다. 픽셀 통계치를 이용하는 것은 블록 파라미터 접근과 유사하고, 여기서 픽셀들의 세트의 평균 및 분산을 이용함으로써 2 개의 필드들 사이에서 비교가 이루어진다.
배드 편집 검출은 주로 텔레시네 검출에서 강조되지 않는다. 일부 알고리즘들은 상이한 풀 다운 패턴들을 가정할 수도 있지만, 이는 주로 바람직하지 않다. 상이한 텔레시네 검출 알고리즘들은, 알고리즘이 이용하는 메트릭 및 검출에서 알고리즘이 이용하는 참조 필드들의 선택 및 수의 관점에서 상이할 수도 있다. 본 개시물의 각종 양태들, 특히 메모리 대역폭 감소 양태들은 다양한 역 텔레시네 알고리즘들과 이용될 수도 있다.
역 텔레시네 알고리즘의 일 유형에서, SAD 메트릭은 텔레시네 검출을 식별하기 위해서 이용될 수도 있다. 이 경우에서, SAD 는 2 개의 연속적인 프레임들의 동일한 패리티 (parity) 필드들 사이에서 계산된다. 일 필드의 SAD 값이 이미설정된 임계 보다 크면, 반대 필드의 SAD 값이 또한 계산된다. SAD 값이 반대 필드의 SAD 값과 비교 가능하면, 텔레시네가 검출되지 않는다. 한편, 반대 필드의 SAD 값이 작으면, "아웃_오브_페이즈 (Out_of_phase)" 가 식별된다. 스테이트_2 및 스테이트_4 동안 아웃_오브_페이즈가 연속적으로 검출되면, 텔레시네 패턴이 록킹될 수도 있다. 본 알고리즘과 관련해서, 아웃_오브_페이즈는 비디오 프레임의 상부 또는 하부 필드 중 어느 하나가 이전 비디오 프레임으로부터 오는 인터레이싱된 비디오 프레임을 지칭한다. 3:2 풀 다운 검출을 통과하는 5 개의 비디오 프레임들의 그룹에서, 아웃_오브_페이즈는 2 번 검출된다: (i) 스테이트_2 와 스테이트_1 사이, (ii) 스테이트_4 와 스테이트_3 사이. 도 10 은 역 텔레시네에 대한 이러한 아웃 오브 페이즈 검출을 나타낸다.
모든, 2 개의 프레임들에서, 즉 4 개의 필드들이 이 유형의 역 텔리시네 알고리즘에서 이용될 수도 있다. 그러나, SAD 는 본원에서 더 상세히 요약되는 바와 같이 프레임에서의 픽셀들 일부만을 이용함으로써 계산될 수도 있다. 이미지는 지그재그 방식으로 스캐닝될 수도 있고, 이미지의 단지 작은 부분만이 이용될 수도 있다. SAD 구현은 8 비트 아키텍처에서 행해질 수도 있다. 텔레시네 패턴을 록킹하고, 스테이트_2 다음에 스테이트_4 및 그 다음에 스테이트_2 를 검출한 후에, 알고리즘은 텔레시네 보정을 수행하고, 역 텔레시네 콘텐츠를 출력할 수도 있다. 출력은, 텔레시네 패턴이 스테이트_2 및 스테이트_4 에서 실패할 때 언제든 중단 (interrupt) 될 수도 있다. 비디오 프레임들은 다음의 경우에 있을 때 (즉, 보정 또는 변화가 없을 때) 출력된다:
● 텔레시네가 검출되지 않는 경우,
● 충분한 텔레시네 히스토리가 존재하지 않는 경우,
● 텔레시네 패턴이 중단된 경우.
(이하에서 더 상세히 어드레싱되는) 본 개시물의 각종 메모리 대역폭 감축 양태들은 이들 예시적인 역 텔레시네 접근들 중 어느 하나에 적용 가능할 수도 있다. 그러나, 이 포인트에서, 본 개시물은 "텔레시네 검출" 및 "텔레시네 보정" 모듈 또는 유닛을 구현하는 제안된 역 텔레시네 기술을 포커싱한다.
이 경우에서, 텔레시네 검출은 2 개의 주요 스테이지들: 텔레시네 비용 계산 및 텔레시네 패턴 분석에 의해 수행될 수도 있다. 제 3 스테이지 (텔레시네 보정) 는 또한 역 텔레시네 알고리즘의 일부를 형성할 수도 있다. 도 11 은 이들 3 개의 스테이지들을 나타내는 기본적인 흐름도이다. 비용 계산 유닛 (111) 은 프레임의 홀수 및 짝수 필드로부터의 픽셀들을 이용함으로써 분석을 수행한다. 이 분석의 결과는 비디오 픽처가 사실의 (true) 순차적인 픽처인지 또는 사실의 인터레이싱된 픽처인지 여부를 판정한다. 비용 계산 스테이지 (111) 의 출력은 텔레시네 패턴 분석 유닛 (112) 에 의해 이용될 수도 있다. 텔레시네 패턴 분석은 하드웨어, 펌웨어 및/또는 소프트웨어에서 구현될 수도 있다. 텔레시네 패턴 분석 유닛 (112) 은 입력 패턴을 분석하고, 그것이 표준 3:2 또는 2:2 풀 다운 패턴과 매치되는지 여부를 체크한다. 매치되면, 텔레시테 패턴은 록킹될 수도 있고, 각 픽처의 스테이트 정보가 계산될 수 있다. 스테이트 정보는, 텔레시네 보정 유닛 (113) 이 텔레시네 보정을 위해 픽셀 페치할지 여부를 지시한다.
텔레시네 비용 계산 유닛 (111) 은 픽처의 2 개의 필드들 (즉, 짝수 및 홀수 필드들) 을 이용할 수도 있다. 2 보다 많은 필드들을 이용하는 다른 알고리즘들과 비교할 때, 이 유형의 텔레시테 비용 계산은, 리소소 제약 환경에서 구현될 때 낮은 메모리 대역폭 요건을 만족시킨다는 점에서 이점을 갖는다.
제안된 알고리즘이 3:2 및 2:2 풀 다운 패턴을 검출하기 위해 설계되었으나, 제안된 알고리즘은 다른 풀 다운 패턴들을 검출하기 위해 용이하게 조정 및 이용될 수 있다. 유닛 (112) 의 패턴 분석 스테이지는 필요하다면, 다른 풀 다운 패턴들을 검출하기 위해 용이하게 변형될 수 있다.
텔레시네 비용 계산 유닛 (111) 에서의 "비용 (cost)" 은 "아웃-오브-페이즈로서 검출되는 열들의 수" 를 나타낼 수도 있고, 여기서 "아웃-오브-페이즈" 는 픽처에서의 짝수 및 홀수 필드가 상이한 시간 경우들로부터 온다는 것을 의미한다. 아웃-오브-페이즈 데이터는 인터레이싱을 나타낸다. 비용 계산 알고리즘의 목표는 기본적으로, 픽처가 인터레이싱되는지 또는 순차적인지 여부를 식별하는 것이다. 도 12 는 텔레시네된 인터레이싱된 프레임을 나타내는 개념도이고, 여기서 홀수 필드들 및 짝수 필드들은 상이한 프레임들로부터 오는 픽셀 데이터를 식별한다.
도 13 은 도 11 에 도시된 텔레시네 비용 계산 유닛 (111) 과 같은 텔레시네 비용 계산 유닛에 의해 수행될 수도 있는 프로세스를 나타내는 흐름도이다. 도 13 에 도시된 바와 같이, 텔레시네 비용 계산 유닛 (111) 은 페치하기 위한 라인들을 식별하고 (130), 예를 들어 메모리 (미도시) 로부터 현재 프레임으로부터의 수직 라인을 페치한다 (131). 텔레시네 비용 계산 유닛 (111) 은 연속적인 픽셀 차이를 계산하고 (132), 픽셀 차이를 스레홀딩한다 (133). 텔레시네 비용 계산 유닛 (111) 은 다음에, 수직 라인에서의 연속적인 피크 및 밸리의 길이를 계산한다 (134).
각각의 계산된 길이 (135) 에 대해, 텔레시네 비용 계산 유닛 (111) 은 길이가 길이 임계 (Len_TH) 보다 큰지 여부를 판정한다 (136). 크면 ("예" 136), 텔레시네 비용 계산 유닛 (111) 은 아웃_오브_페이즈_카운터를 증분하고 (137), 그 다음에 라인이 완료되는지 여부를 판정한다 (138). 텔레시네 비용 계산 유닛 (111) 은, 주어진 길이가 길이 임계보다 클 때 매번 아웃_오브_페이즈_카운터를 증분하여, 라인에서의 모든 픽셀에 대해 이 프로세스를 반복할 수도 있다. 라인이 완료되면, 텔레시네 비용 계산 유닛 (111) 은 아웃_오브_페이즈_카운터가 카운트 임계 (카운트_TH) 보다 큰지 여부를 판정한다 (139). 크다면 ("예" 139), 텔레시네 비용 계산 유닛 (111) 은 아웃_오브_페이즈 플래그를 1 로 설정한다 (140). 크지 않으면 ("아니오" 139), 텔레시네 비용 계산 유닛 (111) 은 모든 수직 라인들이 완료되는지 여부를 판정한다 (141).
더 많은 수직 라인들이 고려될 필요가 있다면 ("아니오" 141), 텔레시네 비용 계산 유닛 (111) 은 이러한 라인들에 대해 프로세스를 반복한다. 그러나, 텔레시네 비용 계산 유닛 (111) 이 아웃_오브_페이즈_카운터가 카운트 임계 (카운트_TH) 보다 작은지 여부를 판정하고 ("아니오" 139), 모든 수직 라인들이 완료되면 ("예" 141), 텔레시네 비용 계산 유닛 (111) 은 아웃_오브_페이즈_플래그를 0 으로 설정한다. 이 예에서, 아웃_오브_페이즈 플래그가 0 인 것은 프레임이 순차적이라는 것을 의미하는 한편, 아웃_오브_페이즈 플래그가 1 인 것은 프레임이 인터레이싱된다는 것을 의미한다.
도 13 의 흐름도에 도시된 알고리즘은 픽셀 값들을 열 방향 (column-wise) 으로 스캔 및 프로세싱할 수 있다. 먼저, 수직 라인 (즉, 픽처의 열) 이 페치된다. 그 다음에, 열 내의 연속적인 픽셀들의 차이가 다음과 같이 계산된다:
Figure 112011086066541-pct00001
(식 1)
Figure 112011086066541-pct00002
(식 2)
다음으로, 픽셀 차이는 다음의 식으로 스레홀딩된다:
Figure 112011086066541-pct00003
(식 3)
여기서, 식 (3) 의 t(x,y) 는 이것이 1 인 경우에 피크를 그리고 이것이 -1 인 경우에 밸리를 나타낸다.
피크-밸리 결정에서 잡음의 효과를 방지하기 위해서, 텔레시네 비용 계산 유닛 (111) 은 픽셀 임계 (th_p) 를 이용할 수도 있다. 알고리즘 후의 직관 (intuition) 은 다음과 같이 설명될 수 있다. 픽처가 인터레이싱되면, 홀수 및 짝수 필드는 서로 높은 상관을 갖고 유사한 픽셀 값들을 가질 것이다. 도 12 에 도시된 바와 같이, 픽처가 인터리빙되면, 픽처 열의 수직 방향에서의 연속적인 픽셀들은 교대의 픽셀 값들을 가질 것이다. 수직 방향에서 픽셀 세기들의 차이는 거치문 (saw-tooth) 패턴처럼 보일 것이다. 거치문 패턴은 짝수 필드와 홀수 필드 사이의 모션이 존재하는 경우 매우 큰 (significant) 것이고, 반면에 정지된 영역들에서는 덜 클 것이다. 인터레이싱된 테스트 시퀀스에 대한 거치문 패턴의 예는 도 14 의 145 에 도시된다. 특히, 패턴 (145) 은 클 피크 및 밸리를 보이고, 이는 픽처에서의 움직임에 대응한다. 그러나, 배경 영역에 대응하는 픽처의 다른 부분에서는 큰 피크 및 밸리 패턴이 존재하지 않고, 이 피크 및 밸리의 부족은 146 에 도시된다.
피크 및 밸리를 결정한 후에, 연속적인 피크 및 밸리의 길이가 다음과 같이 계산될 수 있다:
(y=1: 행의 수) 에 대해, {(│t(x,y)-t(x,y+1)│==2) 인 경우, length(y)++;
그 밖의 경우, length(y)=0;} (식 4)
연속적인 피크 및 밸리의 길이가 임계 (len_th) 를 초과하면, 열은 아웃_오브_페이즈로서 식별되고, 아웃_오브_페이즈 카운터가 증가된다. len_th 는 이미지의 해상도에 기초하여 조정된다.
(length(y)>(len_th)) 이면, 아웃_오브_페이즈_카운터(t) 가 증분. (식 5)
그 다음에, 마지막 단계로서, 아웃_오브_페이즈로서 검출된 열들의 수가 임계와 비교될 수도 있다. 아웃_오브_페이즈로서 검출된 열들의 수가 카운트_th 보다 크면, 전체 픽처는 아웃_오브_페이즈로서 식별될 수도 있고 바이너리 라벨 "1" 로 표현될 수도 있다. 아웃_오브_페이즈 열들의 수가 임계보다 적으면, 픽처는 인_페이즈 (in-phase) 로서 식별되고 바이너리 라벨 "0" 으로 표현된다. 다시 말하면:
(out_of_phase_counter(t) > (count_th)) 인 경우, picture_label(t)= 1;
그 밖의 경우, picture_label(t)=0 ; (식 6)
일부 구현에서, 프로세스의 이른 종료는 열 및 픽처 레벨 양자 모두에서 가능할 수도 있다. 열 레벨의 이른 종료에서, 연속적인 피크 및 밸리의 길이가 임계 (len_th) 를 초과하면, 알고리즘은 현재 열의 프로세싱을 멈추고 다음 열로 이동할 수도 있다. 픽처 레벨의 이른 종료에서, 일부 퍼센트 임계 (예를 들어, count_th) 가 도달되면, 후속의 열들을 체크할 필요가 없을 수도 있다.
텔레시네 패턴 분석 유닛 (112) 은 연속적인 픽처들의 픽처 라벨 정보를 분석하고, 입력 비디오가 3:2 또는 2:2 풀 다운 패턴을 갖는지 아닌지 여부를 식별할 수도 있다. 또한, 텔레시네 패턴 분석 유닛 (112) 은 풀 다운 패턴의 시작 스테이트에 기초하여 각 프레임의 스테이트 정보를 결정할 수도 있다. 정확한 3:2 풀 다운 패턴 및 픽처 라벨들이 도 15 에 도시된다. 특히, 정확한 3:2 풀 다운 패턴은 다음의 비트 패턴으로 표현될 수도 있다:
CPD_32=[0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 ...] (식 7)
[0 1 1 0 0] 이 CPD_32 에서 그 자체를 반복하는 기본 비트 패턴이라는 것이 상기 식 7 에서 보여질 수 있다. 패턴은 시프트될 수 있고 CPD_32 의 제 2 및 제 3 열로부터 시작할 수 있다. 식 7 이 가장 통상의 패턴을 나타낼 수도 있으나, 풀 다운 패턴의 오프셋 값을 지정하는 표준은 없다. 따라서, 풀 다운 패턴을 정확하게 검출하기 위해 모든 가능한 오프셋들이 고려될 필요가 있을 수도 있다. 2 의 오프셋을 갖는 동일한 3:2 풀 다운 패턴의 예는 아래와 같이 제시된다.
CPD_32=[1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1...] (식 8)
수학적으로, 다음의 식이 만족되면 정확한 패턴을 발견할 수도 있다:
([picture_label(t-4)picture_label(t-3)picture_label(t-2)picture_label(t-1)picture_label(t)] =
Pattern_ID(1)||Pattern_ID(2)||Pattern_ID(3)||Pattern_ID(4)||Pattern_ID(5)) 이면,
Picture_ID = get_ID(Pattern_ID) 을 설정; (식 9)
여기서, t 는 시간을 나타내고, || 는 OR 연산자이고, 상이한 오프셋들을 갖는 Pattern_ID 들은 아래와 같이 주어진다.
1=Pattern_ID(1)=[0 1 1 0 0]
2=Pattern_ID(2)=[1 1 0 0 0]
3=Pattern_ID(3)=[1 0 0 0 1] (식 10)
4=Pattern_ID(4)=[0 0 0 1 1]
5=Pattern_ID(5)=[0 0 1 1 0]
통상적으로, 알고리즘은 제 5 프레임과 같이 이른 제 1 의 3:2 풀 다운 패턴을 발견할 수 있다. 그러나, 도 15 의 3 개의 예들 각각에서 도시된 바와 같이, 4 개의 기본 패턴들이 6 개의 패턴들 밖에서 (즉, 30 번째 프레임 후에) 발견되면 3:2 풀 다운 패턴을 록킹하는 것이 바람직할 수도 있다. 패턴이 조기에 록킹되면, 부정확한 텔레시네 검출의 리스크가 존재하고, 이는 또한 텔레시네 보정에 영향을 줄 수 있고 궁극적으로 나쁜 비디오 품질을 초래할 수 있다.
풀 다운 패턴이 록킹되면, 각 픽처의 스테이트가 식별될 수도 있다. 각 픽처의 스테이트는 아래의 표 1 에 나타난 바와 같이 테이블 룩업 방법에 의해 용이하게 발견될 수 있다.
픽처 스테이트 결정
픽처 ID 1=[01100] 2=[11000] 3=[10001] 4=[00011] 5=[00110]
픽처 스테이트 스테이트_5 스테이트_1 스테이트_2 스테이트_3 스테이트_4
2:2 (즉, 2:2:2:2:2:2:2:2:2:2:2:3) 풀 다운 패턴 검출 절차는 3:2 풀 다운 경우와 유사할 수도 있다. 2:2 풀 다운은 특정의 (식 11 에 도시된) 정확한 풀 다운 패턴을 갖고, 기본 2:2 패턴은 3:2 풀 다운 기본 패턴과 비교하여 길이 면에서 더 크기 때문에, 록킹 시간이 더 길다는 차이가 있다.
CPD_22=[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1...] (식 11)
"체크된 파라미터들의 수" 및 "정확한 풀 다운 패턴" 과 같은 파라미터들은 상이한 구현들에서 용이하게 변형될 수 있다.
텔레시네 보정 유닛 (113) 은, 텔리시네 비용 계산 유닛 (111) 및 텔리시네 패턴 분석 유닛 (112) 에 의해 수행되는, 텔레시네 검출에 의해 제공된 스테이트 정보를 이용함으로써 비디오 프레임들을 필름 프레임들로 변환한다. 텔레시네 보정은, 비디오 프레임 스테이트가 텔레시네 검출 프로세스에 의해 정확하게 식별되면, 비교적 복잡하지 않은 프로세스이다. 텔레시네 보정은 디스플레이를 위해 페치되는 시간 프레임들에서 행해진다. 간단히, 일 프레임은 텔레시네 보정 동안 5 개의 프레임들로부터 폐기될 수도 있고, 이 방법에서 초당 24 프레임들이 비디오의 초당 30 프레임들로부터 획득될 수도 있다.
텔레시네 검출은 픽처 스테이트 머신을 유지하면서 텔레시네 패턴을 저장하는 것을 포함할 수도 있다. 텔레시네 검출 모듈 또는 유닛은 픽처 스테이트 정보를 텔레시네 보정 모듈 또는 유닛에 알릴 수도 있다. 스테이트 정보는 텔레시네 보정을 위해 수행될 페칭 액션의 유형을 나타낸다. 상이한 텔레시네 보정 액션들이 표 2 에 도시된 바와 같이 각 스테이트에 대해 수행될 수도 있다.
텔레시네 보정에서의 액션
픽처
스테이트
스테이트_1 스테이트_2 스테이트_3 스테이트_4 스테이트_5
액션 설명 변하지 않음 출력이 없음 보정 변하지 않음 변하지 않음
액션 순차적인
페치
페치 없음 보정 페치 순차적인
페치
순차적인
페치
텔레시네 검출은 디스플레이 (예를 들어, 도 3 의 디스플레이 디바이스 (30)) 에 보정 버퍼 로케이션 및 보정 액션 (예를 들어, 순차적인 페치 또는 보정 페치) 을 알릴 수도 있다. 픽처 스테이트가 스테이트_1, 스테이트_4 또는 스테이트_5 이면, 액션이 필요하지 않다. 다시 말하면, 이들은 순차적인 프레임들이고, 순차적으로 페치될 것이다. 픽처가 스테이트_2 에 있으면, 이것은 폐기된다. 픽처가 스테이트_3 에 있으면, 픽처가 인터레이싱된 포맷에 있고, 이전 픽처의 하부 필드와 픽처의 현재 하부 필드를 스왑 (swapping) 함으로써 보정될 필요가 있다는 것을 의미한다. 이 보정 페치는 도 16 에 도시되는데, 여기서 현재 프레임 (161) 의 홀수 필드들은 이전 프레임 (162) 의 짝수 필드들과 조합되어 위빙된 프레임 (weaved frame; 163) 을 형성한다.
텔레시네 검출 모듈은 비디오 디코더 안에서 구현될 수 있다. 이는, 텔레시네 검출 유닛에 의해 이용되는 프레임 내의 픽셀들의 절반 이상이 이미 내부 메모리 내에 있고, 이 경우 외부 메모리로부터 페치될 필요가 없기 때문에 편리한 로케이션이다. 이 구현은 메모리 페치들과 연관된 데이터 트패릭을 감소시키는, 즉 메모리 대역폭의 이용을 감소시키는 관점에서 이점을 제공한다. 텔레시네가 검출되면, "필름 모드 플래그" 및 "픽처 스테이트" 와 같은 정보는 텔레시네 보정 모듈로 전송될 수 있다. 텔레시네 보정 후에, 보정된 프레임은 픽셀 프로세싱 파이프라인에 의해 프로세싱될 수도 있고, 이는 이미지 스케일링, 샤프닝 및 강화, 및 가능하게는 다른 이미지 프로세싱을 위한 알고리즘들을 포함할 수도 있다.
본 개시물의 기술들의 일 구현은, 디바이스 (200) 의 조합형 블록도 및 흐름도인, 도 17 에 도시된다. 초기에, 디바이스 (200) 는, 입력이 인터레이싱된 포맷인지 아닌지 여부를 체크한다 (201). 인터레이싱되고 ("예" 201) 텔레시네 검출 플래그가 온 ("예" 202) 이면, 텔레시네 검출은, 텔레시네 비용 계산 유닛 (204), 프레임 레벨 텔레시네 라벨 계산 유닛 (205), 및 텔레시네 패턴 검출 유닛 (206) 을 포함하는 텔레시네 검출 유닛 (203) 에 의해 수행된다. 입력 비디오가 인터레이싱된 포맷으로 있지 않으면, 전체 역 텔레시네 프로세스 (검출 및 보정 양자 모두) 는 바이패스된다. 입력이 인터레이싱된 포맷으로 있고 텔레시네 검출 플래그가 오프이면, 텔레시네 검출은 바이패스되고, 스테이트 머신에 의해 제공된 스테이트 정보에 기초하여 텔레시네 보정이 수행된다. 콘텐츠가 원래 인터레이싱되더라도 모드가 인터레이싱되도록 설정되지 않는 DVD 에서 특별한 경우 (또는 버그) 가 있을 수 있다. 이들 경우에 대해, 유닛 (201) 이 바이패스될 수 있다.
디코딩의 시작에서, 텔레시네 검출 플래그가 자동으로 온될 수도 있다. 그러나, 풀 다운 패턴이 발견 및 록킹되면, 플래그는 오프로 복귀될 수 있다. 텔레시네 검출 플래그는 업데이트 텔레시네 검출 유닛 (207) 과 같이 라벨링된 "텔레시네 업데이트" 모듈에 의해 제어될 수도 있다. 이 업데이트 텔레시네 검출 유닛 (207) 은, 풀 다운 패턴이 록킹될 수 있더라도 규칙적인 간격으로 텔레시네 검출을 인에이블하고, 잠재적인 "배드 편집" 를 식별하도록 알고리즘을 도울 수도 있다.
텔레시네 검출 플래그가 온이면 ("예" 202), 알고리즘의 제 1 단계는 "비용 계산" 을 수행할 수도 있다. 텔레시네 비용 계산 유닛 (204) 의 출력은 프레임 레벨 텔레시네 라벨 계산 유닛 (205) 으로 패스되고, 여기서 각 픽처의 스테이트가 식별된다. 각 픽처의 스테이트 정보는 (본원에 설명된) 텔레시네 패턴 검출 유닛 (206) 에 의해 이용되어, 비디오가 텔레시네되는지 아닌지 여부를 판정한다. 풀 다운 패턴이 발견되면, 텔레시네가 록킹되고 "필름 모드 플래그" 가 턴온된다. 필름 모드 플래그가 온이면 ("예" 208), 디바이스 (200) 는 각 픽처의 스테이트들을 계산할 수 있다. 스테이트 정보는, 각 스테이트에 대한 보정의 상이한 방법이 존재하기 때문에 보정을 어떻게 수행할지를 텔레시네 보정 유닛 (209) 에 지시한다.
프레임_스테이트 계산 유닛 (210) 은 각 픽처의 스테이트들을 계산하고, 프레임_스테이트를 출력할 수도 있다. 프레임_스테이트가 F3 이면, 텔레시네 보정 유닛 (209) 은 스테이트 3 에 대해 전술된 바와 같은 스테이트_F3 텔레시네 보정 (212) 을 수행한다. 프레임_스테이트가 스테이트 1, 4 또는 5 이면 ("예" 213), 이들 프레임들은 순차적인 프레임들로서 출력된다. 프레임_스테이트가 스테이트 2 이면 ("예" 214), 프로세스는 종료되고 그 프레임에 대한 출력이 없다, 즉 스테이트 2 의 프레임들은 역 텔레시네 보정 프로세스에서 드롭된다.
필름 모드 플래그가 오프이면, 디-인터레이싱 유닛 (215) 에 의해 프레임에 대해 디-인터레이싱이 적용된다. 알고리즘의 상이한 부분들은 구현 플랫폼에 따라 하드웨어 또는 소프트웨어로 분할될 수 있다.
텔레시네 비용 계산은 도 18 에 도시된 바와 같이 픽셀 단위 당에서 수행될 수도 있다. 예를 들어, 이 프로세스는 열 방향 방식으로 픽셀 값들을 스캔 및 프로세싱할 수도 있다. 21 내의 X-1, X0, X1 은 열 내의 연속적인 픽셀들을 나타내고, 여기서 X0 는 현재 픽셀이다. 라인레벨_텔레시네 검출 플래그가 1 로 설정되면 ("예" 402), 행_카운트가 증분되고 (403), 다음 단계들이 실행될 수도 있다:
1. X0 과 X- 1 의 차이를 취하고, 이 차이를 Dif1 로 설정한다 (가산기 (405) 및 네거티브 유닛 (404) 이 이들 연산들에 이용될 수도 있다).
2. Dif1> TH 이면, P1=1 을 설정하고 (409 및 414); Dif1 <-TH 이면, P1= -1 을 설정하고 (408 및 413), 그 밖에는 P1=O 을 설정한다 (412).
3. X1 과 X0 의 차이를 취하고, 이 차이를 Dif2 로 설정한다 (가산기 (407) 및 네거티브 유닛 (406) 이 이들 연산들에 이용될 수도 있다).
4. Dif2> TH 이면, P2=1 을 설정하고 (411 및 417); Dif2 <-TH 이면, P2= -1 을 설정하고 (410 및 416), 그 밖에는 P2=O 을 설정한다 (415).
5. P1 과 P2 의 차이의 절대 값을 취하고, 이것을 ADif 로 설정한다 (가산기 (419) 및 네거티브 유닛 (418) 은 차이 연산들을 위해 이용될 수도 있고, ABS 유닛 (420) 은 절대 값 연산을 수행할 수도 있다).
6. ADif=2 이면, 그 열 (즉, i 번째 열) 에 대한 길이_카운트[i] 를 증가시키고 ("예" 422 및 421); ADif≠2 이면, 길이_카운트[i]=0 을 설정한다 ("아니오" 422 및 423).
7. 길이_카운트[i]≥Th2 이면, 라인_OO페이즈[i]=1 을 설정하고, 라인레벨텔레시네검출플래그=0 을 설정한다 ("예" 425, 424 및 427).
8. 길이_카운트[i]<Th2 이고 행_카운트가 최대값에 도달하면 (즉, 열 내의 모든 픽셀들이 프로세싱됨), 라인_OO페이즈[i]=0 을 설정한다 ("아니오" 425, "예" 426 및 428).
9. 길이_카운트[i]<Th2 이지만 행_카운트가 최대값에 도달하지 않으면 (즉, 열 내의 모든 픽셀들이 프로세싱되지 않음), 라인_OO페이즈[i]=1 을 설정하고 열 내의 다음 픽셀들을 계속해서 프로세싱한다 ("아니오" 425, "아니오" 426 및 429).
도 19 를 참조하면, 모든 픽셀들을 프로세싱한 후에, 각 열이 인 페이즈 (즉, 순차적인 특징을 보임) 인지 또는 아웃 오브 페이즈 (즉, 인터레이싱된 특징을 보임) 인지 여부를 지정하는 라인_OO페이즈[....] 가 예를 들어 소프트웨어를 통해 프로세싱될 수 있다. 라인_카운트는 대응하는 라인_OO페이즈[i] 의 합계로 설정된다 (221). 아웃 오브 페이즈의 열들의 수가 TH3 보다 크면 ("예", 222), 픽처 라벨은 1 로 설정되고 (223)(픽처 라벨이 인터레이싱된다고 지정함), 또는 그 밖에 픽처 라벨은 0 으로 설정된다 (224)(픽처 라벨이 순차적이라고 지정함).
텔레시네 패턴 분석 및 검출의 예시적인 알고리즘의 개요가 도 20 에 나타난다. 텔레시네 패턴 분석 및 검출 알고리즘은 패턴 ID 를 식별하고 (231), 필드 라벨을 업데이트하고 (233), 텔레시테 (TC) 패턴을 체크하며 (232), 패턴 ID 를 업데이트한다 (234).
텔레시네 패턴이 발견되면 ("예" 235), 알고리즘은 필름모드플래그를 1 로설정하고 (236), 텔레시네검출플래그를 0 으로 설정하며 (237), 현재 프레임 스테이트를 설정한다 (238). 텔레시네 패턴이 발견되지 않으면 ("아니오" 235), 알고리즘은 필름모드플래그를 0 으로 설정하고 (239), 텔레시네검출플래그를 1 로 설정하며 (240), 현재 프레임_스테이트를 F0 로 설정한다 (241).
도 20 에 도시된 알고리즘에 대한 입력은 각 픽처에 대해 간단히 "픽처 라벨" 로서 보여질 수도 있다. 알고리즘은 시간 윈도우 내의 픽처의 라벨들을 분석하고, 비디오가 텔레시네되는지 또는 아닌지를 판정한다. 알고리즘의 출력은 "필름 모드 판정" 및 "프레임 스테이트" 이고, 이는 텔레시네 보정 모듈에 의해 이용된다. 도 20 의 알고리즘의 개별적인 단계들은 다음과 같이 요약될 수도 있다:
1. 현재 픽처 라벨 및 이전 픽처 라벨에 기초하여, 현재 픽처의 패턴 ID 를 식별한다.
2. 결정된 현재 패턴 ID 및 이전 패턴 ID 를 이용함으로써, 텔레시네 패턴이 존재하는지 아닌지 여부를 체크한다.
3. 텔레시네 패턴이 발견되면, 필름 모드 플래그를 1 로 텔레시네 검출 플래그를 0 으로 설정한다. 현재 픽처의 스테이트를 결정한다. (텔레시네 검출 플래그=0 은 [비용 계산 및 패턴 분석을 포함하는] 텔레시네 검출이 연속적인 프레임들 상에서 수행되지 않을 것이다 라는 것을 의미한다. 연속적인 프레임들의 보정은 스테이트 머신에 의해 제공된 스테이트 정보에 기초하여 수행될 것이다).
4. 텔레시네 패턴이 발견되지 않으면, 필름 모드 플래그를 0 으로 설정하고, 텔레시네 검출 플래그를 1 로 설정한다. 또한, 픽처의 현재 스테이트를 0 으로 설정한다. (텔레시네 검출 플래그=0 은, [비용 계산 및 패턴 분석을 포함하는] 텔레시네 검출이 연속적인 프레임들에 대해 수행될 것이라는 것을 의미한다. 픽처의 현재 스테이트를 0 으로 설정하는 것은, 현재 프레임 상에서 보정이 수행되지 않을 것이다 라는 것을 의미한다. 이 경우에서, 텔레시네 보정 유닛은 프레임을 순차적으로 페치할 수도 있다).
프레임들에 대한 패턴 ID 들을 찾는 프로세스는 간단히, 어레이에 5 개의 프레임들의 픽처 라벨들을 놓는 단계, 5 개의 이미결정된 템플릿들에 대해 템플릿 매칭을 수행하는 단계, 및 현재 픽처의 패턴 ID 를 찾는 단계를 포함할 수도 있다. 3:2 풀 다운에서, 대응하는 스테이트들과 함께 아래 표 3 에 주어지는 5 개의 가능한 패턴 옵션들이 존재한다. 입력 비디오로부터 획득된 패턴이 (입력이 텔레시네되지 않거나 알고리즘이 패턴을 식별할 수 없다면 가능한) 5 개의 가능한 패턴 옵션들 중 어느 하나와 매칭되지 않으면, 더미 패턴 ID 가 픽처에 할당될 수도 있다 (도 24 참조).
패턴 어레이 및 그 대응하는 ID 및 픽처 스테이트
패턴 ID 패턴 어레이 픽처 스테이트
1 [01100] 스테이트_5 (F5)
2 [11000] 스테이트_1 (F1)
3 [10001] 스테이트_2 (F2)
4 [00011] 스테이트_3 (F3)
5 [00110] 스테이트_4 (F4)
도 21 에 도시된 바와 같이, 프레임들에 대한 패턴 ID 를 정의하는 알고리즘은 현재 라벨 어레이를 형성 (461) 하는 프로세스에서의 5 개의 상이한 어레이들의 설정 (463, 464, 465, 466 및 467) 을 포함할 수도 있다. 프레임 라벨들은 단계들 468, 469, 470 및 471 에서 도시된 바와 같이 업데이트될 수도 있다 (462). 그 다음에, 패턴 ID 들은 472, 474, 476, 478 및 480 에 열거된 상이한 어레이들에 기초하여 설정한다 (474, 475, 477, 479 및 481). 이들 어레이들 중 어느 것도 식별되지 않으면, 10 의 패턴 ID (482) 는 이 사실을 나타낼 수도 있다.
텔레시네 체크 스테이지가 또한 실행될 수도 있다. 텔레시네 패턴 체크는 텔레시네 패턴이 존재하는지 아닌지 여부를 판정하는 또 다른 간단한 단계이다. 이 스테이지에 대한 입력은 전술된 방식으로 획득된 현재 패턴 ID 일 수도 있다. 텔레시네 패턴은 이전 프레임들로부터 저장된 패턴 ID 들 뿐만 아니라 현재 패턴 ID 를 이용함으로써 검출된다. 정확한 3:2 풀 다운 패턴 및 대응하는 패턴 ID 가 아래의 표 4 에 주어진다. 3:2 풀 다운 패턴이 발견될 수도 있고, 도 22 에 도시된 바와 같이 연속적인 패턴 ID 들이 1 의 차이를 갖는다면 TC_ 패턴_플래그는 1 로 설정될 수도 있다. 그렇지 않으면, TC_패턴_플래그는 0 으로 설정될 수 있고, 텔레시네 검출 알고리즘이 연속적인 픽처들 상에 적용된다.
Figure 112011086066541-pct00004
도 22는 역 텔레시네 프로세스의 텔레시네 패턴 체크 스테이트에 의해 구현될 수도 있는 텔레시네 패턴 체크 프로세스를 도시한다. 다양한 파라미터는 단계 501, 502, 504, 505, 506 및 507 에서 설정될 수도 있고, k 의 값이 1 까지 감소될 때까지 단계 507 및 508 에서 값이 조정될 수도 있고, 여기서 k 는 패턴 ID 어레이의 인덱스이다. 그 다음에, 값들은 단계 509, 510, 511 에서 설정될 수 있고, 패턴_ID_Diff 가 1 과 같은 경우 ("예" 512) 조정될 수 있고, k 는 아직 1 까지 감소되지 않는다 (513 및 "아니오" 514). k 가 1 인 경우, 그 포인트에서, 텔레시네 패턴 플래그는 1 로 설정된다 (516). 패턴_ID_Diff 가 1과 같이 않다면 ("아니오" 512) 텔레시네 패턴 플래그는 1 로 설정된다 (515).
일단 패턴 ID 가 발견되면, 픽처 스테이트를 결정하는 것은 도 23 과 표 3에 도시된 바와 같이 단순한 테이블 룩업 절차이다. 이 예에서, 패턴 ID 가 1 인 경우 ("예" 261), 프레임 스테이트는 5 로 설정된다 (262). 패턴 ID 가 2 인 경우 ("예" 263), 프레임 스테이트는 1 로 설정된다 (264). 패턴 ID 가 3 인 경우 ("예" 265), 프레임 스테이트는 2 로 설정된다 (266). 패턴 ID가 4인 경우 ("예" 267), 프레임 스테이트는 3 으로 설정된다 (268). 패턴 ID가 5인 경우 ("예" 269), 프레임 스테이트는 4로 설정된다 (270). 그렇지 않으면, 프레임 스테이트는 0 으로 설정된다 (271).
텔레시네 검출 알고리즘이 풀 다운 패턴을 식별하고 스테이트를 록킹한 후에, 스테이트 머신은 연속적인 픽처의 스테이트 정보를 유지할 수 있다. 예를 들어, 스테이트_2 동안 패턴이 록킹되는 경우, 다음 픽처의 스테이트는 스테이트_3 이되고, 그 다음에 스테이트_4, 그 다음에 스테이트_5, 그다음에 스테이트_F1 이 되고 스테이트_2로 되돌아간다. 도 24는 스테이트 2 (274) 로부터 스테이트 3 (275) 으로 스테이트 4 (276) 로 스테이트 5 (277) 로 스테이트 1 (273) 로 변경하고, 그 다음에 이러한 변경들을 반복하는 스테이트 머신을 도시한다. 이 방식으로, 일단 일 프레임의 스테이트가 발견되면, 후속 프레임들의 후속 스테이트는, 텔레시네 프로세스가 변경되지 않는다는 것을 가정한다는 것 (즉, "배드 편집"이 존재하지 않는다고 가정) 이 알려진다.
텔레시네 플래그 업데이트 프로세스가 도 25에 도시된다. 카운트가 감소되고 (281), 이 카운트가 0 이 아닌 경우 ("아니오" 282), 텔레시네 검출 플래그는 0으로 설정될 수도 있다 (283). 카운트가 0인 경우 ("예" 282), 카운트는 30으로 재설정될 수도 있고 (284), 텔레시네 검출 플래그는 0으로 설정될 수도 있다 (285).
디코딩의 시작 시, 텔레시네 검출 플래그는 자동으로 온 된다. 일단 풀 다운 패턴이 발견되고 록킹되면, 플래그가 오프로 복귀할 수 있다. 텔레시네 검출 플래그는 "텔레시네 업데이트" 모듈에 의해 제어될 수도 있다. 이러한 "텔레시네 업데이트" 모듈은, 풀 다운 패턴이 이미 록킹되었더라도, 규칙적인 간격로 텔레시네 검출을 인에이블한다. 업데이트 "간격"은 1초, 예를 들어, 30개의 프레임들로 설정될 수도 있다. 일단 패턴이 록킹되면, 프로세스는 텔레시네를 다시 체크하기 시작하기 위해 1초 대기할 수도 있고 (도 25의 TC 업데이트 카운트에 의해 제어됨), 텔레시네 검출 플래그 온을 설정한다. 원한다면, 시간 간격을 변경할 수도 있다. 1분 (1800 프레임) 또는 10분 (18000 프레임) 과 같은 더 긴 대기 기간도 가능하다. 이것은 알고리즘이 잠재적인 "배드 에딧"을 식별하도록 돕는다. 대기 기간이 너무 길다면, 배드 편집 로케이션을 놓칠 수 있다. 대기 기간이 너무 짧고, 비디오 내에 풀 다운 패턴 변경이 존재하지 않으면, 불필요한 전력 소모가 발생한다.
도 26에 도시된 방식으로, 디스플레이를 위해 프레임이 페치될 때 텔레시네 보정이 수행될 수도 있다. 텔레시네 패턴은 전술된 바와 같이, 스테이트 머신에 의해 유지될 수도 있다. 텔레시네 검출 및 스테이트 결정 후에, 비디오 유닛은 보정된 버퍼 로케이션과 거동 (순차적인 페치 또는 보정 페치) 을 디스플레이에 통지한다. 다시, 스테이트_1, 스테이트_3 및 스테이트_5는 3:2 풀 다운의 순차적인 스테이트로서 고려될 수도 있다. 픽처 스테이트가 스테이트_1, 스테이트_3 또는 스테이트_5인 경우, 액션이 불필요하다. 다시 말하면, 스테이트 1, 3 또는 5의 프레임들은 디스플레이 프로세서에서 계속해서 페치되는 순차적인 프레임들일 수도 있다. 픽처가 스테이트_2에 있는 경우, 이것은 폐기되고 페치되거나 디스플레이되지 않는다. 다시 말하면, 비디오 유닛은 프레임을 디스플레이로 패스하지 않고, 따라서 디스플레이 프로세서는 비디오 버퍼로부터 프레임을 페치하지 않는다. 이것은 3:2 풀 다운에서 모든 5개의 프레임들 중 1개의 프레임에 대해 발생한다. 픽처가 스테이트_3에 있는 경우, 이것은 픽처가 인터페이싱된 포맷으로 존재한다는 것을 의미하고 픽처의 현재의 하부 필드를 비디오 시퀀스의 이전 픽처의 하부 필드로 스왑함으로써 보정될 필요가 있다. 이것은 도 26에서 "보정"으로 표시된다. 비디오 유닛이 타이밍 간격을 1/30초에서 1/24초로 조정한 후, 이 비디오 유닛은, 고화질 멀티미디어 인터페이스 (HDMI) 사양과 일치하는 HDMI 핸드쉐이킹 기술을 수행함으로써 이 콘텐츠를 24P로 마킹할 수도 있다.
도 27은 텔레시네 보정의 개관을 도시하고, 또한 구현의 일 가능성을 보여주는 흐름도이다. 이 예시적인 구현에서, 단계 303, 304 및 305는 유닛 또는 모듈 (301) 에서 수행되는 반면, 단계 306, 307, 308 및 309 는 유닛 또는 모듈 (302) 에서 수행된다. 스테이트 0, 1, 4 및 5 의 프레임들이 정상적으로 페치된다 ("예" 303). 스테이트 2 에서의 프레임들이 드롭된다 ("예" 305). 스테이트 3 에서의 프레임들 ("예" 304) 이 유닛 또는 모듈 (302) 로 패스되어, 보정 디-인터레이싱 페치가 단계 306, 307, 308 및 308와 일치하여 실시될 수 있다.
라인_OO페이즈는 각각의 열의 페이즈 정보를 저장한다. 이 정보가 패스되어 전체 프레임의 페이즈 정보를 식별할 수도 있다. TH1 및 TH2는 비용 계산 알고리즘에 의해 이용된 임계들이고, 이들은 제어될 수도 있다 (즉, 비디오의 해상도에 기초하여 조정될 수도 있다). 프레임_레벨_텔레시네_검출_플래그는 비용 계산이 수행되는지 아닌지 여부를 제어한다.
본 개시물의 다른 양태에 따르면, 텔레시네 검출을 수행할 때, 프레임의 일부를 평가하는 것이 매우 바람직할 수도 있다. 페치된 픽셀들의 수를 감소시킴으로써, 메모리 대역폭과 메모리 이용량의 감소가 달성될 수도 있다. 텔레시네 검출을 위해 프레임들의 부분 페치를 위한 여러 옵션이 존재하고, 이들 중 몇몇을 도 28 에 도시하며, 도 28 에서 프레임의 페치된 부분은 음영을 넣어 도시된다.
● 옵션 0: 전체 프레임
● 옵선 1: 프레임의 좌측 절반 (도 28 의 케이스 1)
● 옵션 2: 프레임의 우측 절반 (도 28 의 케이스 2)
● 옵션 3: 상부 절반 (도 28 의 케이스 3)
● 옵션 4: 하부 절반 (도 28 의 케이스 4)
● 옵션 5: 중앙 (도 28 의 케이스 5)
● 수직 샘플링 A
○ 옵션 6-2 : 샘플링 인자 = 2 (도 28 의 케이스 6-2)
○ 옵션 6-4 : 샘플링 인자 = 4 (도 28 의 케이스 6-4)
○ 옵션 6-8 : 샘플링 인자 = 8 (도 28 의 케이스 6-8)
○ 옵션 6-16 : 샘플링 인자 = 16 (도 28 의 케이스 6-16)
● 수직 샘플링 B
○ 옵션 7 : 16 개 열들 중 4 개가 텔레시네 검출을 위해 체크됨 (도 28 의 케이스 7)
역 텔레시네 알고리즘의 실행 전에 데이터 페치의 유형이 이미결정되는 한 텔레시네 검출을 위해 데이터의 부분적인 페치를 위한 상이한 옵션들을 본원에서 "결정론적" 페치로서 지칭될 수도 있다. 다시 말하면, 페치될 데이터는 어떤 비트스트림 통계치도 고려하지 않고 결정론적 방식으로 결정된다. 그러나, 다른 모드에서는, 페치될 데이터가 비트스트림 정보에 의해 적응적으로 결정될 수도 있다.
결정론적 방법에서, 텔레시네 검출을 위해 이용될 프레임들의 특정 부분이 외부 메모리로부터 페치된다. 다시, 도 28은 여러 상이한 샘플링 옵션들을 도시하며, 상이한 샘플링 옵션들 각각은, 프레임과 연관된 데이터 모두를 페치할 필요성을 방지하지만 역 텔레시네를 위해 프레임의 적절한 샘플을 제공하도록 데이터의 결정론적 페치를 위해 정의되고 이용될 수도 있다. 이 목적은 기본적으로, 텔레시네 검출의 수행을 저하시키지 않고 페치된 픽셀들의 수를 검소시키는 것이다. 페치되는 픽셀들의 수의 감소는 도 28 의 케이스 1-5 의 케이스에서와 같은 글로벌 방식, 또는 케이스 6-2에서와 같이 수직 샘플링을 이용하는 것 중 어느 하나에 의해 행해질 수 있다.
텔레시네 검출의 거의 대부분이 수직 상관을 이용하게 하고 수평 샘플링은 텔레시네 검출에 필요한 중요 정보를 잃어버린다는 사실 때문에 수평 샘플링은 바람직하지 않다. 그러나, 수평 샘플링은 비디오의 일부 포맷들에서 이용되고, 수직 샘플링이 텔레시네 검출에 보다 적합하다는 사실에도 불구하고 본 개시물은 일반적으로 수평 샘플링을 고려한다. 도28 의 케이스 7 을 포함하는 몇몇 경우들은 매크로블록 레벨 상에서 샘플링을 가능하게 할 수도 있고, 매크로 블록 레벨은, 본 개시물의 기술이 H.264 비디오 디코더와 같은 비디오 프로세서와 연관되어 이용될 때 유익할 수도 있다.
언급된 바와 같이, 적응형 페치가 또한 바람직하고, 이미 이용가능한 이러한 데이터에 기초하여 텔레시네 검출을 용이하게 하기 위해서 비디오 디코딩에 이용된 유사한 비디오 데이터의 메모리 로드를 레버리지할 수도 있다. 이 경우, 역 텔레시네 알고리즘을 위해 페치된 데이터의 양은 모션 벡터와 매크로블록 모드 통계치 뿐만 아니라 비디오의 GOP (Group of Picture) 구조에 의존할 수도 있다.
도 29는 "IBP" GOP 구조의 디코딩 및 디스플레이 순서를 도시하는 개념도이다. 이 섹션에서, 용어 "픽처" 및 "프레임은" 상호교환가능하게 이용될 수도 있다. IBP GOP 구조는 B 픽처, P 픽처 및 I 픽처를 포함한다. B 픽처 및 I 픽처는 다른 픽처들에 기초하여 인터시딩 (intercede) 된다. 특히, B 픽처는 이전 및 다음 P 픽처에 의해 양방향으로 예측되는 반면, P 픽처는 이전 P (또는 I) 픽처를 이용함으로써 예측된다. I 픽처는 인트라 코딩되며, 이는, I 픽처가 임의의 다른 픽처들에 의존하지 않지만, 그 동일한 픽처 내의 데이터에 기초하여 코딩된다는 것을 의미한다. 역 텔레시네에서, 현재 픽처 (즉, 현재의 짝수 필드) 와 이전 픽처 (즉, 홀수 필드) 양자 모두는 텔레시네 검출을 위해 충분한 픽셀 통계치를 수집하기 위해 동시에 프로세싱될 필요가 있을 수도 있다. 그러나, (도 29에 도시된 것과 같은) 디스플레이와 디코딩 순서 간의 차이로 인해서, 역 텔레시네 데이터 페치를 디코딩 순서와 동기화시키기 위해서 주의해야한다.
도 30 은 도 29 에 도시된 것과 동일한 IBP GOP 구조를 위한 디코더에 의한 예측 디코딩 및 역 텔레시네 데이터 페치 간의 예시적인 동기화를 도시한다. 예를 들어, B3 으로부터의 매크로블록이 디코딩되는 경우, B3 의 재구성된 매크로블록 픽셀은 프로세서 코어의 내부 메모리에 저장될 수도 있고, 이 프로세서 코어는 디코딩 프로세스 및 역 텔레시네 프로세스 양자 모두를 실행시킬 수도 있다. 역 텔레시네를 위해, 3 개의 픽처가 조기에 디코딩되었던 P2 는 외부 메모리로부터 페치될 필요가 있을 수도 있다. 그러나, 같은 장소에 위치한 P2 매크로블록이 캐시에 이미 존재하는지 여부를 알기 위해 내부 메모리 (예를 들어, 내부 캐시) 가 체크될 수도 있다. 현재 B3 MB 매크로블록이 모션 보상을 위한 참조으로서 이것을 (또는 이것의 일부) 이용하는 경우, 같은 장소에 위치한 P2 매크로블록 (또는 그 매크로블록의 일부) 이 통상적으로 캐시에 존재한다. 그러나, 현재 B3 매크로블록이 모션 보상을 위한 참조으로서 P2를 이용하지 않는다면, P2 매크로블록은 역 텔레시네를 위해 외부 메모리로부터 페치될 필요가 있을 수도 있다. IBP GOP 구조는 역 텔레시네 데이터 페치와 매우 잘 호환된다. 이것은, B 픽처가 모션 보상을 위해 통상적으로 이전 P 픽처를 이용한다는 사실로 인한 것이다. 그러나, IBBP GOP 구조에서, P 픽처들 사이의 제 2 B 픽처 (예를 들어, 도 31의 B5) 는 이전 B 픽처 (B4) 를 참조으로 이용하지 않으므로, 이 데이터는 통상적으로, 텔레시네 검출을 실행하기 위해 외부 메모리로부터 페치될 필요가 있다.
도 31 은 IBBP GOP 구조의 통상적인 디코딩 순서를 도시한다. IBP GOP 구조는 역 텔레시네 데이터 페치와 매우 잘 호환된다. 이것은, B 픽처가 모션 모상을 위해 이전 P 픽처를 통상적으로 이용한다는 사실로 인한 것이다. 그러나, IBBP GOP 구조에서, P 픽처들 사이의 제 2 B 픽처 (예를 들어, 도 31의 B5) 는 이전 B 픽처 (B4) 를 참조으로 이용하지 않으므로, 이 데이터는 통상적으로, 텔레시네 검출을 실행하기 위해서 외부 메모리로부터 페치될 필요가 있다.
따라서, IBBP GOP 구조가 이용될 때, 디코딩 및 역 텔레시네와 연관된 데이터 페치들을 동기화하기 위해 더 복잡한 프로세스를 필요로 할 수도 있다. 이러한 동기화의 일 예는 도 32 에 도시된다. 이 경우에 있어서, 역 텔레시네 프로세스는 다음의 필드 커플들을 프로세싱할 필요가 있다: I0-B1, B2-P3, B4-B5, P6-B7 및 B8-P9. 예를 들어, B2-P3 필드 커플을 프로세싱할 때, P3 가 조기에 디코딩되기 때문에, 텔레시네 검출 알고리즘은 B2 의 디코딩 동안 적용될 것이다. 다음의 역 텔레시네 데이퍼 페치 (예를 들어, B4-B5 필드 커플) 는 B5 디코딩 후에 수행될 수도 있다. IBP 및 IBBP 구조들을 비교하여, IBBP 에 대한 데이터 페치들이 IBP 구조에 대한 것 만큼 규칙적이지 않다는 것을 알 수 있다. IBP GOP 에서, 역 텔레시네 데이터는 다른 필드 마다 페치되고, 그러나 IBBP GOP 에서, 역 텔레시네 데이터는 가끔 연속적으로 (예를 들어, B1 의 디코딩 동안, 그 다음에 B2 의 디코딩 동안) 페치되고, 가끔 제 3 필드마다 (B5 의 디코딩 동안) 페치된다. 이들 페치들은 역 텔레시네 알고리즘 수행에 영향을 주지 않을 수도 있으나, 역 텔레시네 데이터 페치가 규칙적인 간격으로 수행되지 않으면, 페치들은 디코딩 동안 대역폭 지터 (jitter) 를 야기할 수도 있다.
본 개시물은 예측 코딩을 위해 데이터 페치들을 레버리지 (leverage) 하기 위해서 적응형 패칭 기술을 제안하고, 이에 의해 역 텔레시네를 위한 중복의 데이터 페치들을 방지한다. 제안된 적응형 페치 알고리즘은 비트 스트림 정보를 분석하여, 픽셀 페치에 이용된 대역폭을 감소시킬 수도 있다. 적응형 패칭을 위한 적어도 2 개의 상이한 방법들이 논의된다. 제 1 방법에서, 전체 프레임에 대한 비트스트림 통계치에 대한 액세스가 추정될 수도 있다. 이 경우, 글로벌 통계치에 기초하여 어느 픽셀들이 페치될지를 식별하기 위한 결정이 이루어질 수 있다. 제 2 방법에서, 부분 통계치 (전체 프레임이 아님) 에 대한 액세스가 가정될 수도 있고, 이 경우에서 이러한 이용 가능한 정보에 기초하여 페치될 픽셀들에 관한 결정이 이루어질 수 있다.
일부 경우에서, 전체 프레임 통계치에 대한 완전한 액세스가 존재할 수도 있다. 이 경우에서, 역 텔레시네 유닛은 매크로블록들이 MBAFF 포맷으로 인코딩되는지 여부를 체크할 수도 있다 (여기서, MBAFF 는 매크로블록 적응 프레임/필드를 의미함). 매크로블록이 MBAFF 포맷으로 인코딩되면, 현재 및 이전 필드 양자 모두 (즉, 프레임의 짝수 및 홀수 필드) 는 예측 비디오 디코딩을 위해 메모리에 이미 저장될 수도 있다. 이 경우에서, 역 텔레시네 유닛은 이전 필드와 연관된 픽셀 데이터를 페치할 필요가 없다. 그러나, 매크로블록이 MBAFF 포맷으로 인코딩되지 않으면, 역 텔레시네 유닛은 예를 들어 도 33 및 도 34 에 도시된 바와 같이 이러한 데이터를 페치할 필요가 없을 수도 있다.
도 33 에 도시된 바와 같이, 역 텔레시네 유닛 (29) 은 매크로블록 (MB) 이 MBAFF 포맷으로 있는지 여부를 판정할 수도 있다 (361). 매크로블록이 MBAFF 포맷이면 ("예" 361), 역 텔레시네 유닛 (29) 은 모션 통계치에 기초하여 페치될 픽셀 영역을 선택할 수도 있다 (362). 매크로블록이 MBAFF 포맷이 아니면 ("아니오" 361), 역 텔레시네 유닛 (29) 은 픽처 유형, GOP 구조, 모션 및 매크로블록에 이용된 모션 벡터 참조 프레임에 기초하여 페치될 픽셀 영역을 선택할 수도 있다.
도 34 에 도시된 바와 같이, 역 텔레시네 유닛 (29) 은 블록이 유효한 (block_is_valid) 비트를 0 으로 설정함으로써 (372) 블록들의 프로세싱을 시작할 수도 있다 (371). 역 텔레시네 유닛 (29) 은 블록이 인터 코딩되는지 여부를 판정할 수도 있다 (373). 인트라 코딩된 블록들의 역 텔레시네는, 동일한 블록 내의 데이터에 기초하고 다른 블록들로부터의 데이터를 기초하지 않고 인트라 코딩된 블록들이 코딩되는 한, 역 텔레시네를 위한 예측 코딩으로부터 데이터를 재이용하는 본 개시물의 양태들로부터 혜택을 받지 않을 수도 있다. 블록이 인터 코딩되면 ("예" 373), 역 텔레시네 유닛 (29) 은 참조 픽처의 디스플레이 순서를 계산하고 (374), 참조 픽처가 바로 이전 필드인지 여부를 판정할 수도 있다 (375).
참조 픽처가 바로 이전 필드이면 ("예" 375), 역 텔레시네 유닛 (29) 은 모션 벡터가 0 인지 아닌지 여부를 판정할 수도 있다 (376). 0 이면 ("예" 376), 역 텔레시네 유닛 (29) 은 블록이 유효한 (block_is_valid) 비트를 2 로 설정할 수도 있다. 참조 픽처가 바로 이전 필드이고 ("예" 375), 모션 벡터는 0 이 아니며 ("아니오" 376) 모션 벡터가 임계 (TH1) 가 곱해진 블록_사이즈 미만이면, 역 텔레시네 유닛 (29) 은 블록이 유효한 (block_is_valid) 비트를 1 로 설정할 수도 있다. 이 프로세스는, 마지막 블록이 도달될 때까지 (380) 프레임의 모든 블록 (또는 프레임의 서브세트의 모든 블록) 에 대해 반복될 수도 있다. 마지막 블록에 도달한 후에 ("예" 380), 역 텔레시네 유닛 (29) 은 블록_유효_맵 (block_validity-map) 을 형성하고 (381), 블록_유효_맵에 기초하여 열 방향 블록 통계치를 계산할 수도 있다 (382). 블록_유효_맵은 기본적으로, 비트 0, 1 또는 2 를 가짐으로써 블록들을 식별할 수도 있다. 비트 2 는, 그 매크로블록에 대한 데이터가 이미 메모리에 저장된다는 것을 의미하고, 비트 1 은 그 매크로블록에 대한 데이터의 일부가 메모리 내에 저장될 수도 있다는 것을 의미하며, 비트 0 은 그 매크로블록에 대한 데이터의 어느 것도 메모리 내에 저장되지 않는다는 것을 의미한다. 따라서, 블록_유효_맵을 형성함으로써, 데이터의 유용한 열들 (예를 들어, 우세한 블록_유효_비트들을 갖는 열들은 2 임) 이 역 텔레시네를 위해 이용될 수도 있다. 이러한 행들은 메모리에 이미 저장되는 데이터에 대응할 수도 있고, 따라서 이러한 데이터의 메모리 페치들이 방지될 수 있다.
다르게 말하면, 역 텔레시네 유닛 (29) 은 모든 블록들을 프로세싱하고, 블록 통계치를 분석하여 "블록_유효" 맵을 형성할 수도 있다. 각각의 블록에 대해, 0 과 2 사이의 값이 할당된다. 더 큰 값은, 대역폭을 감소시키는 것을 돕는 더 우수한 블록을 암시한다, 즉 이전 필드로부터의 블록들의 대부분 또는 전체 블록은 내부 메모리에서 발견될 수 있다. 각각의 블록에 대해, 먼저 블록 모드가 체크된다. 블록 모드가 인터 모드이면, 모션은 바로 이전 프레임을 참조하고, 또한 모션 벡터가 0 이면, 역 텔레시네 유닛 (29) 은 블록 라벨을 2 로 설정할 수도 있다.
역 텔레시네 유닛 (29) 이 제로 모션 벡터를 기대할 수도 있는 이유는 텔레시네 검출을 위해 이전 필드로부터 콜리케이팅된 (collocated) 블록이 필요하다는 것이다. 모션 벡터가 0 이 아니고, 일부 임계 값 미만이면, 역 텔레시네 유닛 (29) 은 블록 라벨을 1 로 설정할 수도 있다. 블록 값 1 은, 텔레시네 검출을 위해 이용될 콜리케이팅된 블록의 부분들이 내부 메모리 내에 있고 블록들의 일부 만이 외부로부터 페치되어야 한다는 것을 의미한다. 블록 값 0 은, 이전 필드에서 콜리케이팅된 블록이 이용 가능하지 않고, 완전히 페치되어야 한다는 것을 의미한다. 모든 블록들을 프로세싱 한 후에, 역 텔레시네 유닛 (29) 은 블록_유효_맵을 형성할 수도 있다. 맵의 예는 도 35 에 도시된다.
특히, 도 35 는 0, 1 또는 2 의 값들로 설정된 유효 비트들의 세트를 포함하는 블록 유효 맵 (385) 의 예를 나타낸다. 2 의 값은, 대응하는 비디오 블록에 대한 데이터 모두가 이미 내부 메모리에 저장된다는 것을 의미하고, 1 의 값은, 대응하는 비디오 블록에 대한 데이터의 일부가 이미 내부 메모리에 저장된다는 것을 의미하며, 0 의 값은 대응하는 비디오 블록의 어느 것도 내부 메모리에 이미 저장되지 않는다는 것을 의미한다. 블록 유효 맵 (385) 으로부터 알 수 있는 바와 같이, 제 6 및 제 10 행은 모두 "2" 를 갖고, 이는 이들 행에서의 각 비디오 블록이 내부 메모리 이미 저장되는 대응하는 비디오 블록을 가질 것이라는 것을 의미한다. 역 텔레시네 유닛은, 예측 코딩을 위해 데이터가 이미 내부 메모리에 저장되는 한 데이터 페치들이 이들 열들에 대해 방지될 수도 있기 때문에, 텔레시네 검출을 수행하는데 있어서 이들 열들의 이용을 선호할 수도 있다.
도 36 은 도 35 의 블록 유효 맵 (385) 과 같은 유효 맵을 분석하는 프로세스를 나타내는 흐름도이다. 도시된 바와 같이, 맵을 시작 시에 (391), 역 텔레시네 유닛 (29) 은 열들을 프로세싱한다 (392). 각 열에 대해, 역 텔레시네 유닛 (29) 은 0, 1 및 2 의 값이 할당되는 비디오 블록들의 수를 카운트한다. 엔트리가 0 이면 ("예" 393), 0_카운터가 증분된다 (394). 엔트리가 1 이면 ("예" 395), 1_카운터가 증분된다 (396). 엔트리가 2 이면 ("아니오" 395), 2_카운터가 증분된다 (397). 프로세스는, 행들 모두가 고려될 때까지 ("예" 398) 모든 열에 대해 반복될 수 있고 ("예" 398), 이 포인트에서 맵의 고려가 완료된다 (399).
도 37 은 유효 맵의 분석을 나타내는 흐름도이다. 이 경우에서, 역 텔레시네 유닛 (29) 내의 맵 유닛 (미도시) 은 0_카운터, 1_카운터 및 2_카운터와 연관된 입력을 수신한다. 맵 유닛은 카운터에 기초하여 열들을 랭크한다. 2_카운터에 대해 더 높은 값들은 상위 랭크를 초래하고, 한편 0_카운터에 대한 더 높은 값들은 하위 랭크들을 초래한다. 역 텔레시네 유닛 (29) 은 N 을 결정할 수도 있고 (401), 이 경우에서 N 은 역 텔레시네에 이용될 열들의 수에 대응한다. 랭킹에 기초하여, 맵 유닛은 그 다음에, 역 텔레시네에 이용될 유효 맵으로부터 N 개의 열들을 선별할 수 있다. 맵 유닛은 그 다음에, 가장 바람직한 행 수들과 연관된 픽셀들을 출력하고, 이러한 데이터를 내부 메모리로 전달하며 역 텔레니세 유닛 (29) 에 의해 이용된다 (405). 그 정도까지 데이터는 이미 내부 메모리에 저장되고 (예를 들어, 2 의 값이 할당되는 블록들 또는 1 의 값이 할당되는 블록들의 일부), 이러한 데이터는 재-페치될 필요가 없다.
따라서, 도 36 및 도 37 의 기술들에 따르면, 블록 유효 맵의 열와이즈 통계치가 수집될 수 있다. 각 행들에 대해, 역 텔레시네 유닛은 개별적인 블록 라벨들을 카운트할 수도 있다. 도 35 의 맵에 대응하는 라벨 카운터들의 예는 이하 표 5 에서 나타낸다.
Figure 112011086066541-pct00005
라벨들에 기초하여 열들이 랭크될 수 있고, 열들 중 N 개의 수가 선택되어 외부 메모리로부터 페치될 수 있다. 수 N 은 이미결정된 값이거나 또는 조정 가능할 수 있다. 주어진 블록이 MBAFF 포맷이면, 두 필드들은 디코딩 후에 내부 메모리에서 발견될 수 있다. 그러나, 이 경우에서, 텔레시네 검출을 위해 수행되는 프로세싱의 양을 감소시키기 위해서 모션 통계치에 기초하여 결정이 여전히 주어질 필요가 있다. 이 경우는 반드시 대역폭을 감소시키지 않을 수도 있으나, 프레임을 분석하기 위해 하드웨어에 의해 이용된 메모리의 양을 여전히 감소시킬 수도 있다. 메모리 감축은 또한, 분석될 프레임의 부분을 감소시킴으로써 달성될 수도 있다.
프레임의 어느 부분들이 텔레시네 검출에서 이용되는지를 결정하기 위해서, 역 텔레시네 유닛은 모션 통계치 및 예측 에러를 이용하는 단순한 알고리즘을 적용할 수도 있다. 유사한 블록_유효 모션 맵이 형성될 수 있고, 여기서 2 의 라벨은 높은 모션 및 예측 에러를 갖는 블록에 할당되고, 1 의 라벨은 더 작은 모션 블록들에 할당되며, 0 라벨은 인트라 블록들에 할당된다. 유사한 랭킹-기반 방법이 그 다음에 적용되어, 외부 메모리로부터 페치하기에 적합한 픽셀들의 블록을 선택할 수 있다.
도 38 은 부분 맵인 유효 맵의 다른 형태를 나타내는 개념도이다. 그러나, 이 경우에서, 열들은 텔레시네 검출을 위해 배드 후보 열들로서 스테이지에서 제거될 수도 있다. 도시된 바와 같이, 열들의 전부가 이미지 높이의 1/M 까지 고려될 수도 있고, 여기서 M 은 정수이다. 이 포인트에서, 0, 또는 1, 그리고 2 가 아닌 값들이 할당된 블록들을 우세하게 갖는 열들은 폐기될 수도 있다. 따라서, 이미지 높이의 1/M 후에, 제 1, 제 7 및 제 12 열들은 그들이 배드 후보가기 때문에 프로세싱되지 않는다. 열들의 제 1 서브세트는 이미지 높이의 1/P 을 지나 프로세싱될 수도 있고, 여기서 P 는 M 보다 작은 정수이다. 이 포인트에서, 더 많은 열들이 제거될 수도 있다. 열들의 제 2 서브세트는 이미지 높이의 1/R 을 지나 프로세싱될 수도 있고, 여기서 R 은 P 보다 작은 정수이다. 이 포인트에서, 더 많은 열들이 제거될 수도 있다. 열들의 제 3 서브세트는 이미지 높이의 1/Q 을 지나 프로세싱될 수도 있고, 여기서 Q 는 R 보다 작은 정수이다.
도 38 에서 개념적으로 도시된 프로세싱 기술은 역 텔레시네 검출에 이용될 바람직한 열들을 식별하는데 필요한 프로세싱의 양을 감소시킬 수도 있다. 또한, 바람직한 열들은 2 의 값이 할당된 대부분의 블록들을 갖는 것들이고, 이들 블록들은, 예측 코딩을 위해 데이터가 이미 패채되었을 수도 있는 한 메모리 페치를 필요로 하지 않는다. 도시된 바와 같이, 제 3, 제 6 및 제 10 열들은 메모리 효율적인 역 텔레시네 검출에 매우 적합한 것으로 나타난다.
도 38 의 예는, 예를 들어, 이러한 통계치이 비디오 코딩에서 이용가능하게 되는 바와 같이 프레임의 단지 부분 통계치을 이용할 수도 있다. 이 경우에서, 역 텔레시네 유닛은 단지 부분 프레임 통계치에 대한 액세스를 가질 수도 있고, 블록의 디코딩이 발생하는 동안 픽셀 페치 판정이 결정될 수도 있다. 이 경우에 있어서, 역 텔레시네 유닛은, 블록들이 디코딩에 의해 디코딩될 때 통계치를 수집할 수도 있다. 도 38 에 도시된 바와 같이, 픽셀들의 어느 열들이 역 텔레시네에 이용될지 모르기 때문에, 초기에, 모든 콜리케이팅된 블록들은 소정 수의 열에 대한 이전 필드로부터 페치된다. 열들의 수는 이미지 높이의 단지 1/M 번째 에만 대응하도록 고정될 수도 있다. 디코딩 동안, 블록 라벨들이 계산될 수도 있고, 열 방향 통계치들이 수집된다. 이미지의 다음 부분 (이미지 폭의 1/P 번째) 에서, (스테이지 1 에서 결정된) 상위 블록 라벨 값들을 갖는 열들 만이 외부 메모리로부터 페치된다. 그 다음에, 다음 스테이지가 그 라벨들이 더 높은 열 블록들 만을 페치한다. 각 스테이지에서, 페치될 블록들의 수가 감소될 수 있다.
요약하면, 제안된 기술들은 역 텔레시네 검출을 용이하게 하는데, 그리고 텔레시네 검출 프로세스를 위한 비디오 디코더/프로세서의 메모리 요건 및 대역폭을 감소시키는데 유익할 수도 있다. 대역폭 감소는 기본적으로, 비트스트림 특징들을 이용함으로써 결정론적으로 또는 적응적으로 텔레시네 검출을 수행하기 위해 메모리에 이미 있는 이전 필드의 픽셀 영역들을 식별하고, 픽셀들의 이들 열들을 선택함으로써 수행된다.
본 개시물의 기술들은, 무선 핸드셋, 및 집적 회로 (IC) 또는 IC 들의 세트 (즉, 칩 세트) 를 포함하는 각종 디바이스들 또는 장치들에서 구현될 수도 있다. 임의의 컴포넌트들, 모듈들 또는 유닛들은 기능적 양태들을 강조하기 위해 제공되었고, 상이한 하드웨어 유닛들 등에 의한 실현을 반드시 필요로 하지 않는다.
따라서, 본원에 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 모듈 또는 컴포넌트로서 설명된 임의의 피처들은 통합된 로직 디바이스에서 함께 또는 별개이지만 상호 동작 가능한 로직 디바이스들과 같이 개별적으로 구현될 수도 있다. 소프트웨어에서 구현되는 경우, 기술들은, 실행될 때 전술된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 데이터 저장 매체는 패키징 자료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능 매체는, 동기식 동적 랜덤 액세스 메모리 (SDRAM) 와 같은 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), 전기적으로 소거가능한 프로그래머블 판독 전용 메모리 (EEPROM), 플래시 메모리, 자기 또는 광 데이터 저장 매체 등을 포함할 수도 있다. 기술들은 부가적으로, 또는 다르게는, 컴퓨터에 의해 액세스, 판독, 및/또는 실행될 수 있고 명령들 또는 데이터 구조들의 형태로 코드를 운반 또는 통신하는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
하나 이상의 프로세서들, 예컨대 하나 이상의 디지털 신호 프로세서 (DSP), 범용 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그래머블 로직 어레이 (FPGA), 또는 다른 등가의 집적 또는 이산 로직 회로에 의해 코드가 실행될 수도 있다. 따라서, 본원에 이용되는 용어 "프로세서" 는 본원에 설명된 기술들의 구현에 적합한 임의의 상기 구조 또는 임의의 다른 구조를 지칭할 수도 있다. 또한, 일부 양태에서, 본원에 설명된 기능은 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈 또는 하드웨어 모듈 내에 제공될 수도 있고, 또는 결합된 비디오 코덱에 포함될 수도 있다. 또한, 기술들은 하나 이상의 회로 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 각종 양태들이 설명되었다. 이들 및 다른 양태들은 다음의 청구범위의 범위 내에 있다.

Claims (43)

  1. 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들 (progressive frames) 인지 또는 인터레이싱된 프레임들 (interlaced frames) 인지 여부를 판정하는 단계;
    상기 비디오 프레임들의 시퀀스에서 상기 순차적인 프레임들 및 상기 인터레이싱된 프레임들의 패턴을 식별하는 단계;
    상기 패턴에 기초하여 텔레시네 기술 (telecine technique) 을 식별하는 단계; 및
    상기 식별된 텔리시네 기술에 기초하여 상기 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술 (inverse telecine technique) 을 수행하는 단계를 포함하고,
    상기 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, M 및 N 은 양의 정수들이며 M 은 N 보다 작고,
    상기 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 식별하는 것은, 상기 개별적인 비디오 프레임들과 연관된 데이터의 서브세트 만을 프로세싱하는 것을 포함하고,
    임의의 주어진 프레임과 연관된 상기 서브세트는, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치 (fetch) 되었는지 여부에 기초하여 적응적으로 정의되는, 방법.
  2. 제 1 항에 있어서,
    상기 패턴은 3:2 풀 다운 텔레시네 기술과 연관되고,
    상기 패턴을 식별하는 단계는 상기 3:2 풀 다운과 연관된 특정 순서로 3 개의 순차적인 프레임들 및 2 개의 인터레이싱된 프레임들로 이루어지는 5 개의 프레임 시퀀스들을 식별하는 단계를 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 역 텔레시네 기술을 수행하는 단계는 상기 5 개의 프레임 시퀀스들을 4 개의 프레임 시퀀스들로 변환하는 단계를 포함하고,
    상기 역 텔레시네 기술은 초당 30 개의 비디오 프레임들을 초당 24 개의 비디오 프레임들로 변환하는, 방법.
  4. 제 1 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 블록을 포함하고,
    상기 블록은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 픽셀 데이터의 블록은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 방법.
  5. 제 1 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 방법.
  6. 제 1 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 방법.
  7. 제 1 항에 있어서,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 맵을 생성하는 단계; 및
    상기 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하는 단계를 더 포함하는, 방법.
  8. 제 1 항에 있어서,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 부분 맵을 생성하는 단계; 및
    상기 부분 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하는 단계를 더 포함하고,
    상기 부분 맵은 통계치가 이용 가능해질 때 상기 각 프레임의 상기 예측 비디오 코딩 동안 정의되고,
    상기 통계치는 개별적인 픽셀들이 상기 예측 비디오 코딩을 위해 이미 페치되었는지 여부를 정의하는, 방법.
  9. 역 텔레시네 (inverse telecine) 유닛을 포함하는 비디오 프로세싱 장치로서,
    상기 역 텔레시네 유닛은,
    비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들 (progressive frames) 인지 또는 인터레이싱된 프레임들 (interlaced frames) 인지 여부를 판정하고;
    상기 비디오 프레임들의 시퀀스에서 상기 순차적인 프레임들 및 상기 인터레이싱된 프레임들의 패턴을 식별하고;
    상기 패턴에 기초하여 텔레시네 기술을 식별하며;
    상기 식별된 텔리시네 기술에 기초하여 상기 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술을 수행하고,
    상기 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, M 및 N 은 양의 정수들이며 M 은 N 보다 작고,
    상기 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 식별함에 있어서, 상기 역 텔레시네 유닛은 상기 개별적인 비디오 프레임들과 연관된 데이터의 서브세트 만을 프로세싱하고,
    상기 비디오 프로세싱 장치는 예측 비디오 코딩을 수행하는 비디오 디코더를 더 포함하고,
    임의의 주어진 프레임과 연관된 상기 서브세트는, 데이터가 상기 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 비디오 프로세싱 장치.
  10. 제 9 항에 있어서,
    상기 패턴은 3:2 풀 다운 텔레시네 기술과 연관되고,
    상기 역 텔레시네 유닛은 상기 3:2 풀 다운과 연관된 특정 순서로 3 개의 순차적인 프레임들 및 2 개의 인터레이싱된 프레임들로 이루어지는 5 개의 프레임 시퀀스들을 식별하는, 비디오 프로세싱 장치.
  11. 제 10 항에 있어서,
    상기 역 텔레시네 유닛은 상기 5 개의 프레임 시퀀스들을 4 개의 프레임 시퀀스들로 변환하도록 상기 역 텔레시네 기술을 수행하고,
    상기 역 텔레시네 기술은 초당 30 개의 비디오 프레임들을 초당 24 개의 비디오 프레임들로 변환하는, 비디오 프로세싱 장치.
  12. 제 9 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 블록을 포함하고,
    상기 블록은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 픽셀 데이터의 블록은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 비디오 프로세싱 장치.
  13. 제 9 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 비디오 프로세싱 장치.
  14. 제 9 항에 있어서,
    상기 장치는 예측 비디오 코딩을 수행하는 비디오 디코더를 더 포함하고,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은, 데이터가 상기 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 비디오 프로세싱 장치.
  15. 제 9 항에 있어서,
    상기 비디오 프로세싱 장치는 예측 비디오 코딩을 수행하는 비디오 디코더를 더 포함하고,
    상기 역 텔레시네 유닛은,
    데이터가 상기 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 맵을 생성하며,
    상기 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하는, 비디오 프로세싱 장치.
  16. 제 9 항에 있어서,
    상기 비디오 프로세싱 장치는 예측 비디오 코딩을 수행하는 비디오 디코더를 더 포함하고,
    상기 역 텔레시네 유닛은,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 부분 맵을 생성하며;
    상기 부분 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하고,
    상기 부분 맵은 통계치가 이용 가능해질 때 상기 각 프레임의 상기 예측 비디오 코딩 동안 정의되고,
    상기 통계치는 개별적인 픽셀들이 상기 예측 비디오 코딩을 위해 이미 페치되었는지 여부를 정의하는, 비디오 프로세싱 장치.
  17. 제 9 항에 있어서,
    상기 비디오 프로세싱 장치는 집적 회로를 포함하는, 비디오 프로세싱 장치.
  18. 제 9 항에 있어서,
    상기 비디오 프로세싱 장치는 마이크로프로세서를 포함하는, 비디오 프로세싱 장치.
  19. 제 9 항에 있어서,
    상기 비디오 프로세싱 장치는 상기 역 텔레시네 유닛을 포함하는 무선 통신 디바이스를 포함하는, 비디오 프로세싱 장치.
  20. 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들 (progressive frames) 인지 또는 인터레이싱된 프레임들 (interlaced frames) 인지 여부를 판정하기 위한 수단;
    상기 비디오 프레임들의 시퀀스에서 상기 순차적인 프레임들 및 상기 인터레이싱된 프레임들의 패턴을 식별하기 위한 수단;
    상기 패턴에 기초하여 텔레시네 기술 (telecine technique) 을 식별하기 위한 수단; 및
    상기 식별된 텔리시네 기술에 기초하여 상기 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술 (inverse telecine technique) 을 수행하기 위한 수단을 포함하고,
    상기 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, M 및 N 은 양의 정수들이며 M 은 N 보다 작고,
    상기 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 식별하기 위한 수단은, 상기 개별적인 비디오 프레임들과 연관된 데이터의 서브세트 만을 프로세싱하기 위한 수단을 포함하고,
    임의의 주어진 프레임과 연관된 상기 서브세트는, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 디바이스.
  21. 제 20 항에 있어서,
    상기 패턴은 3:2 풀 다운 텔레시네 기술과 연관되고,
    상기 패턴을 식별하기 위한 수단은 상기 3:2 풀 다운과 연관된 특정 순서로 3 개의 순차적인 프레임들 및 2 개의 인터레이싱된 프레임들로 이루어지는 5 개의 프레임 시퀀스들을 식별하기 위한 수단을 포함하는, 디바이스.
  22. 제 21 항에 있어서,
    상기 역 텔레시네 기술을 수행하기 위한 수단은 상기 5 개의 프레임 시퀀스들을 4 개의 프레임 시퀀스들로 변환하기 위한 수단을 포함하고,
    상기 역 텔레시네 기술은 초당 30 개의 비디오 프레임들을 초당 24 개의 비디오 프레임들로 변환하는, 디바이스.
  23. 제 20 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 블록을 포함하고,
    상기 블록은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 픽셀 데이터의 블록은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 디바이스.
  24. 제 20 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 디바이스.
  25. 제 20 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 디바이스.
  26. 제 20 항에 있어서,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 맵을 생성하기 위한 수단; 및
    상기 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하기 위한 수단을 더 포함하는, 디바이스.
  27. 제 20 항에 있어서,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 부분 맵을 생성하기 위한 수단; 및
    상기 부분 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하기 위한 수단을 더 포함하고,
    상기 부분 맵은 통계치가 이용 가능해질 때 상기 각 프레임의 상기 예측 비디오 코딩 동안 정의되고, 상기 통계치는 개별적인 픽셀들이 상기 예측 비디오 코딩을 위해 이미 페치되었는지 여부를 정의하는, 디바이스.
  28. 명령들을 포함하는 컴퓨터 판독가능 매체로서,
    상기 명령들은 프로세서에 의해 실행될 때 상기 프로세스로 하여금,
    비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들 (progressive frames) 인지 또는 인터레이싱된 프레임들 (interlaced frames) 인지 여부를 판정하게 하고;
    상기 비디오 프레임들의 시퀀스에서 상기 순차적인 프레임들 및 상기 인터레이싱된 프레임들의 패턴을 식별하게 하고;
    상기 패턴에 기초하여 텔레시네 기술 (telecine technique) 을 식별하게 하며;
    상기 식별된 텔리시네 기술에 기초하여 상기 비디오 프레임들의 시퀀스에 대하여 역 텔레시네 기술 (inverse telecine technique) 을 수행하게 하고,
    상기 역 텔레시네 기술은 초당 N 개의 비디오 프레임들을 초당 M 개의 비디오 프레임들로 변환하고, M 및 N 은 양의 정수들이며 M 은 N 보다 작고,
    상기 비디오 프레임들의 시퀀스에서의 개별적인 비디오 프레임들이 순차적인 프레임들인지 또는 인터레이싱된 프레임들인지 여부를 식별함에 있어서, 상기 명령들은 상기 프로세서로 하여금, 상기 개별적인 비디오 프레임들과 연관된 데이터의 서브세트 만을 프로세싱하게 하고,
    임의의 주어진 프레임과 연관된 상기 서브세트는, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 컴퓨터 판독가능 매체.
  29. 제 28 항에 있어서,
    상기 패턴은 3:2 풀 다운 텔레시네 기술과 연관되고,
    상기 명령들은 상기 프로세서로 하여금, 상기 3:2 풀 다운과 연관된 특정 순서로 3 개의 순차적인 프레임들 및 2 개의 인터레이싱된 프레임들로 이루어지는 5 개의 프레임 시퀀스들을 식별하게 하는, 컴퓨터 판독가능 매체.
  30. 제 29 항에 있어서,
    상기 명령들은 상기 프로세서로 하여금, 상기 5 개의 프레임 시퀀스들을 4 개의 프레임 시퀀스들로 변환하게 하고,
    상기 역 텔레시네 기술은 초당 30 개의 비디오 프레임들을 초당 24 개의 비디오 프레임들로 변환하는, 컴퓨터 판독가능 매체.
  31. 제 28 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 블록을 포함하고,
    상기 블록은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 픽셀 데이터의 블록은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 컴퓨터 판독가능 매체.
  32. 제 28 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 역 텔레시네 검출을 위해 미리 정의되며,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은 상기 개별적인 프레임들 각각에 대해 메모리로부터 페치되는, 컴퓨터 판독가능 매체.
  33. 제 28 항에 있어서,
    상기 서브세트는 상기 개별적인 프레임들 내의 픽셀 데이터의 수직 열들을 포함하고,
    상기 개별적인 프레임들 내의 상기 픽셀 데이터의 수직 열들은, 데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부에 기초하여 적응적으로 정의되는, 컴퓨터 판독가능 매체.
  34. 제 28 항에 있어서,
    상기 프로세서로 하여금,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 맵을 생성하게 하고;
    상기 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능 매체.
  35. 제 28 항에 있어서,
    상기 프로세서로 하여금,
    데이터가 예측 비디오 코딩에서의 이용을 위해 메모리로부터 이미 페치되었는지 여부를 정의하도록 각 프레임과 연관된 픽셀들의 부분 맵을 생성하게 하고;
    상기 부분 맵에 기초하여 상기 각 프레임에 대한 상기 서브세트를 정의하게 하는 명령들을 더 포함하고,
    상기 부분 맵은 통계치가 이용 가능해질 때 상기 각 프레임의 상기 예측 비디오 코딩 동안 정의되고,
    상기 통계치는 개별적인 픽셀들이 상기 예측 비디오 코딩을 위해 이미 페치되었는지 여부를 정의하는, 컴퓨터 판독가능 매체.
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
KR1020117026078A 2009-04-02 2010-04-02 역 텔레시네 기술 KR101240119B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/417,527 US20100254453A1 (en) 2009-04-02 2009-04-02 Inverse telecine techniques
US12/417,527 2009-04-02
PCT/US2010/029768 WO2010115093A1 (en) 2009-04-02 2010-04-02 Inverse telecine techniques

Publications (2)

Publication Number Publication Date
KR20110133635A KR20110133635A (ko) 2011-12-13
KR101240119B1 true KR101240119B1 (ko) 2013-03-18

Family

ID=42227724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117026078A KR101240119B1 (ko) 2009-04-02 2010-04-02 역 텔레시네 기술

Country Status (7)

Country Link
US (1) US20100254453A1 (ko)
EP (1) EP2415258A1 (ko)
JP (1) JP2012523178A (ko)
KR (1) KR101240119B1 (ko)
CN (1) CN102369728A (ko)
TW (1) TW201127048A (ko)
WO (1) WO2010115093A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100309372A1 (en) * 2009-06-08 2010-12-09 Sheng Zhong Method And System For Motion Compensated Video De-Interlacing
US20110134211A1 (en) * 2009-12-08 2011-06-09 Darren Neuman Method and system for handling multiple 3-d video formats
US8537901B2 (en) * 2010-12-23 2013-09-17 Stmicroelectronics Asia Pacific Pte Ltd. Apparatus and method for exotic cadence detection
WO2012100117A1 (en) * 2011-01-21 2012-07-26 Thomson Licensing System and method for enhanced remote transcoding using content profiling
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
US8937683B2 (en) 2011-06-30 2015-01-20 Stmicroelectronics Asia Pacific Pte Ltd Apparatus and method for inverse telecine with local video de-interlacing
US9001223B2 (en) * 2011-09-28 2015-04-07 Advanced Micro Devices, Inc. Method and apparatus for applying camera shake compensation to video content
CN103907136A (zh) * 2011-10-01 2014-07-02 英特尔公司 用于视频代码转换中的集成后处理和预处理的系统、方法和计算机程序产品
US20130279882A1 (en) 2012-04-23 2013-10-24 Apple Inc. Coding of Video and Audio with Initialization Fragments
KR101858212B1 (ko) * 2014-02-10 2018-05-16 인터디지탈 패튼 홀딩스, 인크 역 텔레시네 필터
US10148894B2 (en) * 2014-07-02 2018-12-04 Sony Corporation Image processing device, image processing method, and program
US9386265B2 (en) * 2014-09-30 2016-07-05 Intel Corporation Content adaptive telecine and interlace reverser
CN111479083B (zh) * 2019-01-23 2021-06-25 瑞昱半导体股份有限公司 图像处理方法及图像处理系统
CN111369438B (zh) * 2020-02-28 2022-07-26 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
US11722635B2 (en) 2021-06-22 2023-08-08 Samsung Electronics Co., Ltd. Processing device, electronic device, and method of outputting video

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0637889A2 (en) 1993-08-06 1995-02-08 Goldstar Co. Ltd. Device for converting image frame format
US20050057646A1 (en) 2003-06-10 2005-03-17 Nam-Ik Cho Apparatus and method for performing inverse telecine process
US20060093228A1 (en) 2004-10-29 2006-05-04 Dmitrii Loukianov De-interlacing using decoder parameters
EP1874055A2 (en) 2006-06-27 2008-01-02 Apple Inc. Pulldown correction for progressive scan display of audiovisual recordings

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828786A (en) * 1993-12-02 1998-10-27 General Instrument Corporation Analyzer and methods for detecting and processing video data types in a video data stream
JP3063739B2 (ja) * 1998-08-03 2000-07-12 日本電信電話株式会社 逆テレシネ変換映像蓄積装置
JP2000232649A (ja) * 1998-12-10 2000-08-22 Fujitsu Ltd Mpegビデオ復号器及びmpegビデオ復号方法
DE69920055T2 (de) * 1999-02-26 2005-09-15 Stmicroelectronics Asia Pacific Pte Ltd. Verfahren und vorrichtung zur bestimmung von zeilensprung-/nichtzeilensprungbildern und erkennung von wiederholten halbbildern und szenenänderungen
US7450180B2 (en) * 2004-12-29 2008-11-11 General Instrument Corporation Method for detecting interlaced material and field order
US7933328B2 (en) * 2005-02-02 2011-04-26 Broadcom Corporation Rate control for digital video compression processing
US7982805B2 (en) * 2005-09-26 2011-07-19 Intel Corporation Detecting video format information in a sequence of video pictures
US9113147B2 (en) * 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
EP1927957A1 (de) * 2006-11-29 2008-06-04 Sick Ag Vorrichtung und Verfahren zur Überwachung eines Überwachungsbereichs
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0637889A2 (en) 1993-08-06 1995-02-08 Goldstar Co. Ltd. Device for converting image frame format
US20050057646A1 (en) 2003-06-10 2005-03-17 Nam-Ik Cho Apparatus and method for performing inverse telecine process
US20060093228A1 (en) 2004-10-29 2006-05-04 Dmitrii Loukianov De-interlacing using decoder parameters
EP1874055A2 (en) 2006-06-27 2008-01-02 Apple Inc. Pulldown correction for progressive scan display of audiovisual recordings

Also Published As

Publication number Publication date
JP2012523178A (ja) 2012-09-27
KR20110133635A (ko) 2011-12-13
WO2010115093A1 (en) 2010-10-07
US20100254453A1 (en) 2010-10-07
EP2415258A1 (en) 2012-02-08
CN102369728A (zh) 2012-03-07
TW201127048A (en) 2011-08-01

Similar Documents

Publication Publication Date Title
KR101240119B1 (ko) 역 텔레시네 기술
US8208563B2 (en) Boundary artifact correction within video units
US8411750B2 (en) Global motion parameter estimation using block-based motion vectors
US8675736B2 (en) Motion vector processing
JP5893002B2 (ja) ビデオ符号化におけるレート制御
US8792556B2 (en) System and method for correcting motion vectors in block matching motion estimation
US8107531B2 (en) Signaling and repeat padding for skip frames
US20090161766A1 (en) System and Method for Processing Video Content Having Redundant Pixel Values
US20040057517A1 (en) Content adaptive video processor using motion compensation
US20030202587A1 (en) Video data encoding apparatus and method for removing a continuous repeat field from the video data
US9071844B2 (en) Motion estimation with motion vector penalty
US20130329796A1 (en) Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
US7822123B2 (en) Efficient repeat padding for hybrid video sequence with arbitrary video resolution
US7839933B2 (en) Adaptive vertical macroblock alignment for mixed frame video sequences
US8704932B2 (en) Method and system for noise reduction for 3D video content
US20060078053A1 (en) Method for encoding and decoding video signals
US8767831B2 (en) Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream
KR20070011351A (ko) 압축된 비트스트림으로부터 코딩 정보를 사용하는 비디오품질 강화 및/또는 아티팩트 저감
US8848793B2 (en) Method and system for video compression with integrated picture rate up-conversion
JP2008311824A (ja) 画像符号化装置および画像符号化プログラム
JP2011129979A (ja) 画像処理装置
JP2007049520A (ja) 画像信号の高能率符号化装置
Choi et al. Error-resilient method for robust video transmissions

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: 20151230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee