KR20170039251A - 콘텐트 적응적 텔레시네 및 비월 반전기 - Google Patents
콘텐트 적응적 텔레시네 및 비월 반전기 Download PDFInfo
- Publication number
- KR20170039251A KR20170039251A KR1020177005555A KR20177005555A KR20170039251A KR 20170039251 A KR20170039251 A KR 20170039251A KR 1020177005555 A KR1020177005555 A KR 1020177005555A KR 20177005555 A KR20177005555 A KR 20177005555A KR 20170039251 A KR20170039251 A KR 20170039251A
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- format
- determining
- interlaced
- frame group
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/0147—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation using an indication of film mode or an indication of a specific pattern, e.g. 3:2 pull-down pattern
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0112—Conversion 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0112—Conversion 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
- H04N7/0115—Conversion 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 with details on the detection of a particular field or frame pattern in the incoming video signal, e.g. 3:2 pull-down pattern
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion 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/012—Conversion between an interlaced and a progressive signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Television Systems (AREA)
- Studio Devices (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
인코딩 및/또는 디스플레이를 위한 순차 비디오를 생성하기 위해 혼합 콘텐트 비디오 스트림을 처리하는 것에 관련된 기법이 논의된다. 그러한 기법은 혼합 콘텐트 비디오 스트림의 다양한 부분에 대한 변환 기법을 판정하는 것 및 판정된 기법에 기반하여 그 부분을 변환하는 것을 포함할 수 있다. 진성 비월 비디오의 변환은 콘텐트 적응적 비월 반전을 포함하고 의사비월 텔레시네 변환 비디오의 변환은 적응적 텔레시네 패턴 반전을 포함할 수 있다.
Description
우선권 주장
이 출원은, "CONTENT ADAPTIVE TELECINE AND INTERLACE REVERSER"라는 표제로 2014년 9월 30일에 출원되고 참조에 의해 전체로서 포함되는 미국 특허 출원 제14/501,736호에 대한 우선권을 주장한다.
비디오 인코더(video encoder)는 저장을 위한 매우 더 작은 압축된 파일이 결과로서 생기거나 아니면 송신을 위한 소정의 가용 대역폭 상에서 더 많은 정보가 발신될 수 있도록 비디오 신호를 압축한다. 대안적으로, 개선된 비디오 인코더는 동일한 소정의 가용 대역폭 또는 파일 크기에 대해 훨씬 더 고도의 압축이나 아니면 더 나은 품질을 제공하도록 선택할 수 있다. 송신된 압축된 비디오 신호 또는 저장된 압축된 파일은 디스플레이를 위한 디코딩(decoding) 및 재생(playback)을 위해 비디오 수신기/디코더(decoder)에 입력될 수 있다. 예컨대, 고효율 비디오 코딩(High Efficiency Video Coding: HEVC)/H.265 비디오 코딩 표준은 더 초기의 표준에 비해 동일한 품질을 위해 매우 더 낮은 대역폭을 요구하거나 매우 더 작은 압축된 파일 크기를 생성하면서 높은 비디오 압축/품질을 가능케 하는 최신의 표준이다. 그러므로 HEVC는 더 초기의 표준을 대체하기 위한 중요한 후보이다. 그러나 HEVC는 순차 주사 비디오(progressive scan video)의 압축(compression) 및 압축해제(decompression)에 초점을 맞출 뿐이다. 예를 들면, 순차 주사 비디오에서는, 각각의 프레임(frame)이 두 개의 후속 시간 간격으로부터 포착되거나(captured) 디스플레이되는 필드의 쌍(pair of fields)으로 이루어지는 비월 비디오(interlaced video)와는 대조적으로 각각의 프레임 전부가 어떤 순간(instant of time)에서 포착되고 디스플레이된다. 그러므로, 각각의 프레임이 디스플레이를 위해 의도되는 경우에 또는 카메라에 의해 포착된 바와 같은 두 필드로 이루어지는 비월 주사 비디오(interlaced scan video)는, 본 문서에서 추가로 논의되는 바와 같이, 포착될 수 있는 움직임(motion)의 인지된 양 또는 디스플레이될 수 있는 움직임의 시간적 레이트(temporal rate)(평활한 움직임 연출(motion rendition)을 가능하게 함)를 거의 두 배로 한다.
이상적으로, 프레임 레이트(frame rate)의 두 배로 순차 포맷(progressive format) 비디오를 포착함으로써, 비월 포맷(interlaced format)의 움직임 연출 능력을 능가하여, 움직임의 더 나은 연출이 획득될 수 있으나, 이것은 또한 대역폭에서의 과도한 증가를 야기한다. 그러므로, 비월 포맷은 더 균형 잡힌(balanced) 움직임 연출 능력/대역폭 증가 트레이드오프(tradeoff)를 제공할 수 있다. 그러나, 비디오 장면(scene) 내의 대상체(object)의 더 느린 움직임의 경우에, 비월 비디오 포맷은 또한, 특히 텍스트(text)의 경우를 비롯하여 예리한 에지(edge)를 갖는 대상체에 대해, 증가된 시각적 열화(visual degradation)를 제공할 수 있다. 그러한 시각적 열화로 인해, 비월 포맷에서부터 순차 포맷으로의 추이가 있었다. 또한, 잠재적으로 더 낮은 시각적 왜곡의 인지로 인해, 디스플레이 기술은 또한 디스플레이를 위한 사실상의 포맷으로서 순차 비디오 포맷의 디스플레이를 향해 진화되었다. 그러므로, HEVC와 같은 최근의 코딩 표준은 순차 포맷 비디오의 코딩에 초점을 맞출 뿐이니(HEVC는 비월 포맷 비디오를 시그널링하기(signaling) 위한 비트(bit)를 포함하지만, 그것은 비월 포맷 압축을 위한 추가적인 도구를 지원하지는 않음) HEVC 인코더에 입력되는 순차 포맷의 비디오, 그리고 HEVC 디코더의 출력 비디오가 순차 포맷 디스플레이를 통한 표출(presentment)을 위해 순차 포맷이기를 기대한다.
압축을 위한 적합한 포맷으로의 전형적인 변환은 어려울 수 있고 갖가지 바람직하지 않은 변환 아티팩트(artifact)를 줄 수 있다. 이와 같이, 기존의 기법은 최신의 비디오 코덱(codec)을 사용하는 압축에 적합한 포맷으로의 소스(source) 비디오의 고품질 변환을 제공하지 않는다. 그러한 문제는 디지털 표준 선명도(standard definition), 고선명도(high definition) 및 초고선명도(ultra-high definition)를 통하여 고품질 소비자 등급 비디오를 산출하려는 바람이 더 널리 퍼지게 됨에 따라 중대하게 될 수 있다.
본 문서에 기술된 제재(material)는 첨부된 도면에서 한정으로서가 아니고 예로서 보여진다. 예시의 단순성 및 명확성을 위하여, 도면 내에 예시된 요소는 반드시 축척에 맞게 그려지지는 않는다. 예컨대, 몇몇 요소의 치수는 명확성을 위해 다른 요소에 비해 과장될 수 있다. 또한, 적절하다고 간주되는 경우, 대응하거나 비슷한 요소를 나타내기 위해 도면 중에서 참조 라벨이 반복되었다. 도면에서,
도면 1은 비월 비디오(interlaced video)의 예시적 프레임 및 필드를 보여주는 도해이고,
도 2는 비월 비디오의 예시적 프레임의 예시적 주사선(scan line)을 보여주는 도해이며,
도 3a는 예시적 3:2 풀다운(pull down) 텔레시네(telecine) 프로세스를 보여주는 도해이고,
도 3b는 3:2 풀다운 텔레시네 프로세스의 반전(reversal)의 예시적 프로세스를 보여주는 도해이며,
도 4a는 예시적 2:3:3:2 풀다운 텔레시네 프로세스를 보여주는 도해이고,
도 4b는 2:3:3:2 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스를 보여주는 도해이며,
도 27a는 예시적 4:1 풀다운 텔레시네 프로세스를 보여주는 도해이고,
도 27b는 4:1 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스를 보여주는 도해이며,
도 28a는 예시적 4:1 풀다운 텔레시네 프로세스를 보여주는 도해이고,
도 28b는 4:1 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스를 보여주는 도해이며,
도 5a는 비월 비디오를 비월제거하는(deinterlacing) 예시적 프로세스를 보여주는 도해이고,
도 5b는 비월 비디오를 비월제거하는 예시적 프로세스를 보여주는 도해이며,
도 6은 비월 비디오를 비월제거하는 예시적 프로세스를 보여주는 흐름도이고,
도 7은 비월 비디오를 비월제거하는 예시적인 적응적(adaptive) 프로세스를 보여주는 흐름도이며,
도 8은 예시적 비디오 프로그램 집성(aggregation) 시스템을 보여주는 도해이고,
도 9는 예시적 비디오 프로그램 집성 시스템을 보여주는 도해이며,
도 10은 예시적 비디오 프로그램 재패키지화(repackaging) 시스템을 보여주는 도해이고,
도 11a는 예시적 포맷 유형 분석기(format type analyzer), 프로그램 분리기(program segregator) 및 포맷 역변환기(format inverter) 시스템을 보여주며,
도 11b는 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템을 보여주고,
도 12는 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템을 보여주며,
도 13은 프레임을 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 14는 예시적 프레임을 위한 예시적인 동적 텍스처(dynamic texture) 대 필드 쌍 SAD의 차트(chart)이며,
도 15는 프레임을 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 16은 동적 임계(dynamic threshold)를 생성하는 예시적 프로세스를 보여주는 흐름도이며,
도 25는 프레임을 비월(interlaced) 또는 순차(progressive)로서 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 17a 및 도 17b는 프레임을 비월, 순차 또는 불명확(uncertain)으로서 분류하는 예시적 프로세스를 제공하는 흐름도를 보여주며,
도 26은 프레임을 비월, 순차 또는 불명확으로서 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 18은 프레임을 비월 또는 순차로서 분류하는 예시적 프로세스를 보여주는 흐름도이며,
도 19a 및 도 19b는 프레임 그룹을 분류하는 예시적 프로세스를 제공하는 흐름도를 보여주고,
도 20은 탈텔레시네화(detelecine) 프로세스 전과 후의 예시적 프레임을 보여주며,
도 21은 탈텔레시네화 프로세스 전과 후의 예시적 프레임을 보여주고,
도 22는 탈텔레시네화 프로세스 전과 후의 예시적 프레임을 보여주며,
도 23은 텔레시네 반전을 위한 예시적 프로세스(2300)를 보여주는 흐름도이고,
도 24는 예시적인 적응적 비월 반전기(adaptive interlace reverser)를 보여주는 흐름도이며,
도 29는 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 예시적 프로세스를 보여주는 흐름도이고,
도 30은 비디오 처리를 위한 예시적 시스템의 설명도이며,
도 31은 예시적 시스템의 설명도이고,
도 32는 전부 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 디바이스를 보여준다.
도면 1은 비월 비디오(interlaced video)의 예시적 프레임 및 필드를 보여주는 도해이고,
도 2는 비월 비디오의 예시적 프레임의 예시적 주사선(scan line)을 보여주는 도해이며,
도 3a는 예시적 3:2 풀다운(pull down) 텔레시네(telecine) 프로세스를 보여주는 도해이고,
도 3b는 3:2 풀다운 텔레시네 프로세스의 반전(reversal)의 예시적 프로세스를 보여주는 도해이며,
도 4a는 예시적 2:3:3:2 풀다운 텔레시네 프로세스를 보여주는 도해이고,
도 4b는 2:3:3:2 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스를 보여주는 도해이며,
도 27a는 예시적 4:1 풀다운 텔레시네 프로세스를 보여주는 도해이고,
도 27b는 4:1 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스를 보여주는 도해이며,
도 28a는 예시적 4:1 풀다운 텔레시네 프로세스를 보여주는 도해이고,
도 28b는 4:1 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스를 보여주는 도해이며,
도 5a는 비월 비디오를 비월제거하는(deinterlacing) 예시적 프로세스를 보여주는 도해이고,
도 5b는 비월 비디오를 비월제거하는 예시적 프로세스를 보여주는 도해이며,
도 6은 비월 비디오를 비월제거하는 예시적 프로세스를 보여주는 흐름도이고,
도 7은 비월 비디오를 비월제거하는 예시적인 적응적(adaptive) 프로세스를 보여주는 흐름도이며,
도 8은 예시적 비디오 프로그램 집성(aggregation) 시스템을 보여주는 도해이고,
도 9는 예시적 비디오 프로그램 집성 시스템을 보여주는 도해이며,
도 10은 예시적 비디오 프로그램 재패키지화(repackaging) 시스템을 보여주는 도해이고,
도 11a는 예시적 포맷 유형 분석기(format type analyzer), 프로그램 분리기(program segregator) 및 포맷 역변환기(format inverter) 시스템을 보여주며,
도 11b는 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템을 보여주고,
도 12는 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템을 보여주며,
도 13은 프레임을 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 14는 예시적 프레임을 위한 예시적인 동적 텍스처(dynamic texture) 대 필드 쌍 SAD의 차트(chart)이며,
도 15는 프레임을 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 16은 동적 임계(dynamic threshold)를 생성하는 예시적 프로세스를 보여주는 흐름도이며,
도 25는 프레임을 비월(interlaced) 또는 순차(progressive)로서 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 17a 및 도 17b는 프레임을 비월, 순차 또는 불명확(uncertain)으로서 분류하는 예시적 프로세스를 제공하는 흐름도를 보여주며,
도 26은 프레임을 비월, 순차 또는 불명확으로서 분류하는 예시적 프로세스를 보여주는 흐름도이고,
도 18은 프레임을 비월 또는 순차로서 분류하는 예시적 프로세스를 보여주는 흐름도이며,
도 19a 및 도 19b는 프레임 그룹을 분류하는 예시적 프로세스를 제공하는 흐름도를 보여주고,
도 20은 탈텔레시네화(detelecine) 프로세스 전과 후의 예시적 프레임을 보여주며,
도 21은 탈텔레시네화 프로세스 전과 후의 예시적 프레임을 보여주고,
도 22는 탈텔레시네화 프로세스 전과 후의 예시적 프레임을 보여주며,
도 23은 텔레시네 반전을 위한 예시적 프로세스(2300)를 보여주는 흐름도이고,
도 24는 예시적인 적응적 비월 반전기(adaptive interlace reverser)를 보여주는 흐름도이며,
도 29는 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 예시적 프로세스를 보여주는 흐름도이고,
도 30은 비디오 처리를 위한 예시적 시스템의 설명도이며,
도 31은 예시적 시스템의 설명도이고,
도 32는 전부 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 디바이스를 보여준다.
동봉된 도면을 참조하여 하나 이상의 실시예 또는 구현이 이제 기술된다. 특정 구성 및 조성이 논의되나, 이것은 단지 예시적인 목적으로 행해짐이 이해되어야 한다. 관련 업계에서 숙련된 자는 설명의 사상 및 범주로부터 벗어나지 않고서 다른 구성 및 조성이 이용될 수 있음을 인식할 것이다. 본 문서에 기술된 기법 및/또는 조성은 본 문서에 기술된 것이 아닌 다양한 다른 시스템 및 응용에서 또한 이용될 수 있음은 관련 업계에서 숙련된 이에게 명백할 것이다.
이하의 설명은 예컨대 시스템 온 칩(System-on-a-Chip: SoC) 아키텍처와 같은 아키텍처 내에 현출될 수 있는 다양한 구현을 개진하나, 본 문서에 기술된 기법 및/또는 조성의 구현은 특정한 아키텍처 및/또는 컴퓨팅 시스템에 제한되지 않으며 유사한 목적으로 임의의 아키텍처 및/또는 컴퓨팅 시스템에 의해 구현될 수 있다. 예를 들면, 셋톱 박스(set top box), 스마트폰(smart phone) 등등과 같은 다양한 컴퓨팅 디바이스 및/또는 가전(Consumer Electronic: CE) 디바이스, 그리고/또는 예컨대 여러 집적 회로(Integrated Circuit: IC) 칩 및/또는 패키지를 이용하는 다양한 아키텍처가 본 문서에 기술된 기법 및/또는 조성을 구현할 수 있다. 또한, 이하의 설명은 로직(logic) 구현, 시스템 컴포넌트의 유형 및 상호관계, 로직 분할(partitioning)/통합(integration) 선택 등등과 같은 다수의 특정 세부사항을 개진할 수 있으나, 청구된 대상물(claimed subject matter)은 그러한 특정 세부사항 없이 실시될 수 있다. 다른 사례에서, 예컨대 제어 구조(control structure) 및 온전한 소프트웨어 명령어 시퀀스(full software instruction sequence)와 같은 어떤 제재는 본 문서에 개시된 제재를 모호하게 하지 않기 위해서 상세히 보여지지 않을 수 있다.
본 문서에 개시된 제재는 하드웨어, 펌웨어, 소프트웨어, 또는 이의 임의의 조합으로 구현될 수 있다. 본 문서에 개시된 제재는 머신 판독가능 매체(machine-readable medium) 상에 저장된 명령어로서 또한 구현될 수 있는데, 이는 하나 이상의 프로세서에 의해 판독되고 실행될 수 있다. 머신 판독가능 매체는 머신(가령, 컴퓨팅 디바이스(computing device))에 의해 판독가능한 형태로 정보를 저장하거나 송신하기 위한 임의의 매체 및/또는 메커니즘을 포함할 수 있다. 예컨대, 머신 판독가능 매체는 판독 전용 메모리(Read Only Memory: ROM), 랜덤 액세스 메모리(Random Access Memory: RAM), 자기적 디스크 저장 매체, 광학적 저장 매체, 플래시 메모리(flash memory) 디바이스, 전기적이거나 광학적이거나 음향적이거나 다른 형태의 전파되는 신호(가령, 반송파, 적외선 신호, 디지털 신호 등등) 및 다른 것을 포함할 수 있다.
명세서 내에서의 "하나의 구현", "일 구현", "일 예시적 구현" 등등에 대한 참조는 기술된 구현이 특정한 특징, 구조 또는 특성을 포함할 수 있으나, 모든 실시예가 반드시 그 특정한 특징, 구조 또는 특성을 포함하지는 않을 수 있음을 나타낸다. 더욱이, 그러한 문구는 반드시 동일한 구현을 참조하고 있는 것은 아니다. 또한, 특정한 특징, 구조 또는 특성이 일 실시예와 관련하여 기술되는 경우, 본 문서에 명시적으로 기술되든 또는 그렇지 않든 다른 구현과 관련하여 그러한 특징, 구조 또는 특성을 야기하는 것은 당업자의 지식 내에 있다고 제론된다.
방법, 디바이스, 장치, 컴퓨팅 플랫폼 및 물품이 비디오 코딩에 관련하여 본 문서에서 기술되고, 특히 효율적인 압축 및 종국의 디스플레이를 위한 적합한 포맷으로의 콘텐트(content)의 전처리(preprocessing)에 관련하여 논의된다.
논의된 바와 같이, 현재의 코덱 및 디스플레이는 순차 비디오(progressive video)와 함께 가장 잘 활용될 수 있다. 그러나, 어떤 비디오 콘텐트는 순차, 진성 비월(true interlaced) 및 의사 비월 텔레시네 변환(pseudo-interlaced telecine converted)을 포함하는 포맷의 혼합(mix)으로 제공될 수 있다. 예컨대, 진성 비월 비디오는 비월 콘텐트(interlaced content)를 제공하는 카메라를 통하여 생성될 수 있는 반면 의사 비월 텔레시네 변환은 본 문서에서 논의되는 바와 같이 텔레시네 변환을 통하여 생성될 수 있다. 본 문서에서 논의된 기법은 혼합 콘텐트 비디오 스트림(mixed content video stream)과 같은 비디오를 자동으로 분석하여 비디오의 부분 또는 세그먼트(segment)의 포맷을 판정할 수 있다. 판정된 포맷에 따라서, 일부분 또는 세그먼트가 순차 비디오로 변환될 수 있다. 논의된 바와 같이, 그러한 포맷은 현재의 기법을 사용하는 압축 및/또는 디스플레이에 적합할 수 있다. 예컨대, 검출된 순차 비디오는 추가 처리 없이 통과될 수 있고, 검출된 비월 비디오(가령, 진성 비월 비디오)는 콘텐트 적응적 기법을 통하여 비월제거될(deinterlaced) 수 있으며, 의사 비월 텔레시네 변환 비디오는 만일 텔레시네 패턴(telecine pattern)이 판정되는 경우 텔레시네 반전되거나(telecine reversed) 만일 어떤 패턴도 검출되지 않는 경우 비월제거될 수 있다.
본 문서에서 논의된 몇몇 실시예에서, 하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷이 판정될 수 있다. 본 문서에서 논의된 바와 같이, 프레임 포맷은 순차 또는 비월일 수 있고 단일 스테이지(stage) 곡선 맞춤(curve fitting) 방법, 또는 곡선 맞춤 제1 스테이지 및 제1 스테이지를 통하여 포맷이 판정될 수가 없는 프레임을 위한 머신 러닝(machine learning) 기법을 포함하는 제2 스테이지를 사용하는 2 스테이지 방법을 사용하여 판정될 수 있다. 나아가, 프레임을 포함하는 혼합 콘텐트 비디오 스트림의 프레임 그룹을 위한 프레임 그룹 포맷이 판정될 수 있다. 프레임 그룹 포맷은 예컨대 완전 순차(all progressive), 완전 비월(all interlaced), 텔레시네 패턴(telecine pattern) 또는 미지의 패턴(unknown pattern) 중 하나일 수 있다. 프레임 그룹 포맷에 적어도 부분적으로 기반하여, 프레임 그룹에 대해 변환 기법이 판정될 수 있고 프레임 그룹은 판정된 변환 기법에 기반하여 최종 순차 포맷으로 변환될 수 있다. 예컨대, 만일 프레임 그룹 포맷이 완전 순차인 경우, 프레임은 추가 처리 없이 통과될 수 있다. 나아가, 만일 프레임 그룹 포맷이 완전 비월인 경우, 프레임은 순차 프레임을 생성하기 위해 비월제거될 수 있다. 몇몇 예에서, 비월제거는 본 문서에서 추가로 논의되는 바와 같이 움직임 적응적 비월제거와 같은 콘텐트 적응적 비월제거를 포함할 수 있다. 또한, 만일 프레임 그룹 포맷이 텔레시네화(telecined)이고 텔레시네 패턴이 검출되는 경우, 프레임은 순차 프레임을 제공하기 위해 검출된 패턴에 기반하여 탈텔레시네화될(detelecined)(가령, 텔레시네 반전될) 수 있다. 예시적 텔레시네 패턴을 검출하는 예시적 기법이 본 문서에서 추가로 논의된다. 더 나아가, 만일 프레임 그룹 포맷이 미지인 경우, 프레임은 순차 포맷을 생성하기 위해 비월제거될 수 있다. 몇몇 예에서, 비월제거는 진성 비월 프레임의 비월제거에 관해서 기술된 바와 같이 움직임 적응적 비월제거와 같은 콘텐트 적응적 비월제거를 포함할 수 있다.
본 문서에서 논의된 다른 실시예에서, 적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 가지는 혼합 콘텐트 비디오 스트림이 수신될 수 있다. 진성 비월 포맷(true interlaced format)을 가지는 혼합 콘텐트 비디오 스트림의 제1 세그먼트를 위한 제1 변환 기법 및 텔레시네화 포맷(telecined format)을 가지는 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법은 제1 및 제2 변환 기법이 상이하도록 판정될 수 있다. 예컨대, 본 문서에서 논의되는 바와 같이 제1 변환 기법은 콘텐트 적응적 비월제거 기법을 포함할 수 있고 제2 변환 기법은 적응적 텔레시네 반전 기법을 포함할 수 있다. 혼합 콘텐트 비디오 스트림은 본 문서에서 논의되는 바와 같이 제1 변환 기법 및 제2 변환 기법에 적어도 부분적으로 기반하여 순차 비디오 스트림으로 변환될 수 있다.
그러한 실시예에서, 고품질의 것이고 시각적 아티팩트가 상대적으로 없는 순차 비디오가 제공될 수 있다. 그러한 순차 비디오는 (가령, 컴퓨터 모니터 및 HDTV와 같이 순차 비디오가 유리한 디스플레이를 통하여) 사용자로의 디스플레이 또는 (가령, HEVC, H.264, VP9, MPEG-2 또는 유사한 것과 같이 순차 비디오가 유리한 코덱을 통하여) 콘텐트 배포를 위한 압축에 적합할 수 있다.
논의된 바와 같이, 본 문서에서 논의된 실시예는 콘텐트 적응적 비월제거 또는 다른 기법을 통하여 진성 비월 비디오를 순차 비디오로 변환할 수 있다. 나아가, 본 문서에서 논의된 실시예는 적응적 텔레시네 반전 또는 다른 기법을 통하여 의사 비월 텔레시네 변환 비디오를 순차 비디오로 변환할 수 있다.
비월 비디오 포맷은 텔레비전 산업을 위해 설계되었고, 현재, 비월 비디오는 주로 텔레비전에서 사용된다. 비월 비디오 포맷은 빠듯한 대역폭 제약 하에서 가장 적합한 공간적 및 시간적 해상도 간의 트레이드오프를 이룩한다. 예컨대, 한번에 전체 프레임을 포착하거나 디스플레이하는 것 대신에, 비월 비디오는 현재의 시간 인스턴스(time instance)에서, 필드(field)로 지칭되는, 프레임의 주사선의 절반(가령, 주사선 하나 걸러 하나씩)을 포착하거나 디스플레이하고 다음의 시간 인스턴스에서, 다른 필드를 형성하는, 프레임의 주사선의 누락된(missing) 다른 절반을 포착하거나 디스플레이함으로써 후속조치를 행한다. 예컨대, 상위 필드(top-field) 및 하위 필드(bottom-field)는 함께 비월 비디오의 프레임을 구성한다. 상위 필드는 (0부터 시작하는) 짝수 선을 포함할 수 있고 하위 필드는 프레임 내의 홀수 선을 포함할 수 있다. 북미 TV를 위해, 비월 비디오는 30 fps(정확하게는 29.97 fps)의 프레임 레이트 및 60 fps(정확하게는 59.94)의 필드 레이트(field rate)를 가지는 것으로 여겨질 수 있다.
도 1은 본 개시의 적어도 몇몇 구현에 따라 마련된, 비월 비디오(100)의 예시적 프레임 및 필드를 보여주는 도해이다. 도 1에 도시된 바와 같이, 비디오(100)의 프레임(101)은 필드(102, 103)를 포함할 수 있다. 예컨대, 필드(102)는 프레임(101)의 상위 필드일 수 있고 필드(103)는 프레임(101)의 하위 필드일 수 있는바 필드(102)의 주사선이 필드(103)의 주사선과 교번하여(alternate) 프레임(101)을 형성한다. 도시된 바와 같이, 프레임(101)은 프레임 번호(frame number) 0(가령, frm_num 0)과 연관될 수 있음, 필드(102)는 필드 번호(field number) 0(가령, fld_num)과 연관될 수 있음, 필드(103)는 필드 번호 1과 연관될 수 있음이다. 도 1은 또한 프레임 번호 1을 예시하니, 필드 번호 2(가령, 프레임 번호 1의 상위 필드) 및 필드 번호 3(가령, 프레임 번호 1의 하위 필드)을 포함하는 것이고, 프레임 번호 2를 예시하니, 필드 번호 4(가령, 프레임 번호 2의 상위 필드) 및 필드 번호 5(가령, 프레임 번호 2의 하위 필드)를 포함하는 것이다. 따라서, 비디오(100)의 필드 레이트는 비디오(100)의 프레임 레이트의 두 배일 수 있다(가령, 비디오(100)는 초당(per second) 30 프레임의 프레임 레이트 및 초당 60 필드의 필드 레이트를 가질 수 있음).
도 2는 본 개시의 적어도 몇몇 구현에 따라 마련된, 비월 비디오의 예시적 프레임(101)의 예시적 주사선을 보여주는 도해이다. 도 2에 도시된 바와 같이, 프레임(101)은 상위 필드 주사선(201) 및 하위 필드 주사선(202)을 포함할 수 있다. 예컨대, 필드(102)는 상위 필드 주사선(201)을 포함할 수 있고 필드(103)는 하위 필드 주사선(202)을 포함할 수 있다. 도시된 바와 같이, 상위 필드 주사선(201) 및 하위 필드 주사선(202)은 프레임(101)을 정의하도록 교번할 수 있다. 또한 도시된 바와 같이, 일례에서, 상위 필드 주사선(201) 각각은 하위 필드 주사선(202) 각각의 위에 있을 수 있다.
비월 포맷으로써, 빠른 움직임이 있는 비디오 장면(video scene)은 30 프레임/초(frames per second) 순차 비디오에 비해 재생에서 더 평활하게 나타나는데 60 필드/초(fields per second)의 필드 레이트가 더 평활한 시간적 움직임의 인지를 주는 것으로 나타나는 반면 2의 인수(factor)에 의한 해상도에서의 수직적(vertical)/공간적(spatial) 감소는 사용자가 알아차리기 어렵기 때문이다. 마찬가지로, 비월 포맷으로써, 어떤 움직임도 없(거나 매우 작은 움직임이 있)는 비디오 장면은, 필드가 시간적으로 분리됨에도 불구하고, 순차 비디오 포맷으로 장면이 나타나는 것과 매우 유사하게, 장면 내의 세부사항의 온전한 공간적 해상도를 보존하는 것으로 보인다.
그러나, 중간 등급의 변화하는 움직임 정도에 대해, 공간적 및 시간적 세부사항의 트레이드오프는 텍스트(text), 상세화된 텍스처(detailed texture), 그리고 임계적 배향(critical orientation)의 에지를 포함하는 콘텐트와 같은 중대한 콘텐트의 바람직하지 않은 제시(presentation)를 야기할 수 있다. 예컨대, 60 프레임/초의 온전한 시간적 레이트에서의 온전한 공간적 해상도의 순차 비디오는 공간적으로도 그리고 시간적으로도 높은 품질을 제공할 것이다. 그러나, 이 옵션(option)은 또한 30 프레임/초 비디오보다 대역폭에 있어 더 고비용이다. 대안적으로, 순차 30 프레임/초의 비디오 포맷으로써, 대역폭이 감소될 수는 있지만, 예컨대, 빠른 움직이는 콘텐트에 대해 움직임의 덜컥거림(jerkiness)을 포함하여 더 낮은 비디오 품질을 무릅쓰고 감소될 수 있는 것이다. 따라서 비월 30 프레임/초(가령, 60 필드/초) 비디오는, 비록 어떤 중대한 콘텐트 상에 시각적 왜곡이 있을지라도, 대역폭 제한 및 움직임의 평활(smoothness) 간에 절충을 제공한다.
비월 포맷 비디오든 또는 (더욱더) 순차 포맷 비디오든 사용할 수 있는 표준 TV 또는 고선명도 TV와 달리, 개인용 컴퓨터(Personal Computer: PC)에는 순차 포맷 비디오만이 적합한데 PC를 위한 모니터/디스플레이는 높은 리프레시 레이트(refresh rate)와 함께 배타적으로(exclusively) 순차이기 때문이다. 따라서, TV를 위해 비월로서 산출된 비디오는 PC 또는 유사한 디바이스 상의 디스플레이를 위해 순차 포맷으로 변환될 필요가 있을 수 있다. 또한, 많은 더 높은 품질의 디스플레이(TV 디스플레이를 포함함)는 실제로 순차인바(가령, 그것들은 비월 비디오를 제공받을 수 있으나 그러한 비월 비디오를 순차로서 사용자에게 디스플레이할 수 있음), 통상적으로 디스플레이를 위한 최종 타겟(target) 포맷은 더욱더 순차이다. 나아가, 이것은 디스플레이뿐만 아니라 압축(가령, 코딩)을 위한 포맷의 문제이기도 하다. 예컨대, MPEG-2 또는 H.264/AVC와 같은 더 초기의 비디오 코딩 표준은 순차 및 비월 포맷 비디오 양자 모두를 효율적으로 인코딩하도록 설계되나, 최신의 H.265/MPEG HEVC 및 다른 최근의 표준(최고의 압축 효율을 제공함)은 (몇몇 코덱이 양 포맷 모두를 지원할 수 있기는 하나) 순차 비디오를 효율적으로 인코딩하도록 설계된다.
나아가, 북미에서, 표준 선명도를 위한 비월 포맷 콘텐트는 480개의 선에 대응하고 고선명도는 1080개의 선에 대응한다(가령, 각각 480i 및 1080i). 그러나, 예컨대, 표준 선명도: 480개 선(가령, 480p), 기본 고선명도: 720개 선(가령, 720p), 전 고선명도(full high definition): 1080개 선(가령, 1080p), 그리고 초고선명도: 3840개 선(가령, 3840p (4K))을 포함하는 포맷의 더 넓은 범위 내에서 순차 포맷 콘텐트가 이용가능하다.
예컨대, 만일 디스플레이 포맷이 순차(이는, 논의된 바와 같이, 더욱더 표준이 되고 있음)인 경우, 비월 포맷의 비디오 소스의 인코딩을 위한 두 개의 경로가 있을 수 있다. 우선, 비월 포맷 비디오는 인코딩 전에 순차 포맷으로 변환될 수 있어서 인코딩이 순차 포맷에서 수행되되, 순차 포맷 비디오를 초래하는 디코딩이 이어지고, 이 순차 포맷 비디오의 직접적인 디스플레이가 이어진다. 다음으로, 비월 포맷 비디오는 비월 비디오로서 직접적으로 인코딩될 수 있되, 비월 포맷 비디오를 초래하는 디코딩이 이어지고, 디스플레이를 위해 요구되는 순차 비디오를 렌더링하는(render) 비월 대 순차 포맷 변환(interlace to progressive format conversion)이 이어진다. 어느 경우든, (가령 전자의 경우에서는 인코딩 전에 그리고 후자의 경우에서는 디코딩 후에) 비월 대 순차 변환의 프로세스가 필요하다. 비월 대 순차 변환의 프로세스는 비월 반전(interlace reversal) 또는 비월제거(deinterlacing)로 지칭된다.
비월 반전/비월제거는 다양한 기법을 사용하여 수행될 수 있다. 예컨대, 고품질 비월제거가 전통적으로 비싼 하드웨어 내에서 수행되었으나, 이제는 적당한 가격의 소프트웨어 내에서 또는 오픈 소스 소프트웨어 솔루션(open source software solution)을 사용하여 수행될 수 있다. 나아가, 예상되는 바와 같이, 비월제거를 위한 솔루션은 품질(가령, 아티팩트), 복잡도 및 처리 속도에 있어서 매우 가지각색인데, 이는 비월제거 알고리즘의 복잡도, 비디오 해상도, 그리고 하드웨어 또는 소프트웨어 솔루션이 구현되는지에 관련된다.
논의된 바와 같이, 몇몇 예에서, 진성 비월 비디오는 콘텐트 적응적 비월제거 또는 다른 기법을 통하여 순차 비디오로 변환될 수 있다. 나아가, 본 문서에서 논의된 실시예는 적응적 텔레시네 반전 또는 다른 기법을 통하여 의사 비월 텔레시네 변환 비디오를 순차 비디오로 변환할 수 있다.
텔레시네는, 몇몇 예에서 풀다운(pull down), 예를 들어 3:2 풀다운 또는 유사한 것으로 지칭되는데, 예컨대, 텔레비전 상의 디스플레이에 적합한 비디오 포맷(가령, 비월)으로의 필름 프레임의 변환을 위한 프로세스이다. 몇몇 예에서, 필름은 초당 24 프레임으로 디스플레이를 위해 레코딩될(recorded) 수 있는 반면, 예컨대, NTSC(National Television System Committee) 비디오와 같은 텔레비전은 초당 29.97 프레임(또는 초당 59.94 필드)으로 동작한다. 통상적으로 필름은 더 어두운 영화관 환경에서 보는 반면에 통상적인 TV 보기 상황은 더 높은 양의 주변광을 가진다는 것에서의 차이로 인해 NTSC 텔레비전은 필름보다 더 높은 프레임 레이트로 동작할 수 있다.
필름 비디오를 TV 상에 제시하기 위해 텔레시네 기법을 수행하는 주된 이유는 더 많이 조명을 받는 보기 상황에서, 비디오 장면 내의 평활한 움직임을 인지하기 위하여, 재생을 위한 더 높은 프레임 레이트가 필요하다는 것일 수 있다. 그러므로 필름 콘텐트를 TV 상에 평활하게 재현하기 위하여, 필름의 필드 레이트(그리고 따라서 프레임 레이트)를 인위적으로 증가시키는 텔레시네 또는 3:2 풀다운 프로세스가 이용된다. 그러한 기법은 비디오 스트림 내에 잉여적(redundant) 필드를 삽입하는 것 또는 유사한 것을 포함할 수 있다.
논의된 바와 같이, 비디오의 각각의 비월 프레임은 비디오의 두 필드를 포함할 수 있다. 몇몇 예에서, 텔레시네 또는 3:2 풀다운 프로세스는 프레임 레이트를 24 프레임/초로부터 30(가령, 기술적으로는, 29.97) 프레임/초로 변환하기 위해 매 2번째 프레임 후 제3의 가외의(extra) 비디오 필드의 삽입을 포함할 수 있다. 몇몇 예에서, 삽입된 필드는 기존의 비디오 필드 중의 하나이다. 다른 예에서, 삽입된 필드는 실제 이웃 필드의 평균 또는 유사한 것으로서 생성된 합성된 필드일 수 있다. 그러한 예는 평활한 움직임을 렌더링하는 데에 필요한 더 높은 프레임 레이트를 산출하는 것을 무릅쓰고 결과적인 비디오가 더 적은 가시적 아티팩트를 갖는 이점을 제공할 수 있다.
도 3a는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 3:2 풀다운 텔레시네 반전 프로세스(300)를 보여주는 도해이다. 도 3a에 도시된 바와 같이, 프로세스(300)는 프레임(302)(가령, 프레임 A, B, C 및 D)을 가지는 원래의 순차 비디오(301)를 수신하는 것을 포함할 수 있다. 보여진 예에서, 순차 비디오(301)는 24 프레임/초의 프레임 레이트를 가지나, 순차 비디오(301)는 임의의 적합한 프레임 레이트를 가질 수 있다. 도시된 바와 같이, 프로세스(300)는 비월 비디오(304)의 필드(303)를 생성하기 위해 프레임(302) 각각을 두 필드로 나누는 것을 포함할 수 있다. 예컨대, 프레임 A는 상위 필드 a0 및 하위 필드 a1로 나뉠 수 있고, 프레임 B는 상위 필드 b0 및 하위 필드 b1로 나뉠 수 있으며, 프레임 C는 상위 필드 c0 및 하위 필드 c1로 나뉠 수 있고, 프레임 D는 상위 필드 d0 및 하위 필드 d1로 나뉠 수 있으며, 기타 등등이다. 예컨대, 프레임(302) 각각은 순차이기는 하나 비월 프레임의 경우에서와 같이 두 필드를 포함하는 것으로 여겨질 수 있다. 예컨대, 프레임의 짝수 번호 선이 하나의 필드(가령, 상위 필드)를 나타낼 수 있고 프레임의 홀수 번호 선이 제2의 필드(가령, 하위 필드)를 나타낼 수 있다. 도시된 바와 같이 비월 비디오(304)의 프레임 레이트는 순차 비디오(301)의 프레임 레이트와 동일할 수 있으나, 비월 비디오(304)의 필드 레이트는 순차 비디오(301)의 프레임 레이트의 두 배일 수 있다.
도시된 바와 같이, 프로세스(300)는 필드(306)를 포함하는 텔레시네 변환 비월 비디오(telecine converted interlaced video)(305)를 생성하기 위해 어떤 필드의 사본(또는 평균 또는 유사한 것)을 삽입함으로써 4개의 순차 프레임당 5개의 비월 프레임을 생성하는 것을 포함할 수 있다. 예컨대, 그러한 처리는 프레임 레이트를 초당 24 프레임으로부터 초당 30 프레임(가령, 기술적으로는 초당 29.97 프레임)으로 증가시킬 수 있다. 예컨대, (가령, 패턴을 8개의 필드(4개의 프레임)로부터 10개의 필드(5개의 프레임)로 늘임으로써) 2개의 새 필드가 비월 비디오(304)로부터 복사되고(copied) 텔레시네 변환 비월 비디오(305) 내로 삽입될 수 있다.
예컨대, 비월 비디오(304)를 텔레시네 변환 비월 비디오(305)로 변환하기 위해서, 도시된 바와 같이, 필드 a0, a1이 복사될 수 있고, 필드 b0, b1이 복사될 수 있으며, 새로운(가령, 복사된) 필드 b0가 복사된 필드 b1 뒤에 삽입될 수 있고, 필드 c1, c0가 맞바꿔질(swapped) 수 있으며, 새로운(가령, 복사된) 필드 d1이 필드 c0 뒤에 삽입될 수 있고, 필드 d0, d1이 복사될 수 있다. 보여진 예에서, 필드 b0 및 d1의 사본이 텔레시네 변환 비월 비디오(305) 내로 삽입되었다. 나아가, 필드 c1 및 c0는 맞바꿔졌다. 그러한 맞바꿈은 상위 필드 및 하위 필드 간의 필드의 교번하는 순서(가령, x0, x1, y0, y1 및 기타 등등)를 유지하는 데에 필요할 수 있다.
예컨대, 도시된 바와 같이, 프레임 B에 대응하여, 필드 쌍 b0 및 b1 뒤에 추가적인 필드, b0의 사본을 삽입함으로써 2개 대신 3개의 필드가 생성된다. 마찬가지로, 프레임 D에 대응하여 필드 쌍 d0 및 d1 앞에 추가적인 필드, 필드 d1의 사본을 삽입함으로써 2개 대신 3개의 필드가 생성된다. 그러한 프로세스는, 4개의 프레임의 각각의 세트에 대해, 5개의 프레임의 세트를 생성하여서, 프레임 레이트를 초당 24 프레임으로부터 초당 30 프레임(가령, 북미 TV 시스템을 위한 초당 (30/1001) x 1000 = 29.97 프레임(또는 초당 59.94 필드)의 필요한 프레임 레이트를 생성하기 위해 그 중 1개의 프레임이 매 1001개의 프레임마다 드롭될(dropped) 수 있음)으로 증가시키기 위해 4개의 프레임의 각각의 세트에 대해 반복될 수 있다.
도 3b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 3:2 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스(310)를 보여주는 도해이다. 프로세스(310)는 텔레시네 변환 비월 비디오(305)의 5 프레임 패턴을 검출하는 것, 삽입된 가외의 필드를 제거하는 것(가령, 텔레시네 프로세스를 되돌리기(undoing)) 및 텔레시네화 프레임(telecined frame) 5개당 4개의 프레임을 재생성하여, 전체적인 프레임 레이트를 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초로부터 24 프레임/초로 도로 감소시키는 것을 포함할 수 있다. 예컨대, 도 3b에 도시된 바와 같이, 프로세스(310)는 텔레시네 변환 비월 비디오(305)(가령, 필드 a0, a1, b0, b1, c1, c0, d1, d0 및 d1))를 수신하는 것 및/또는 텔레시네 변환 비월 비디오(305)의 5 프레임 패턴을 검출하는 것을 포함할 수 있다. 보여진 예에서, 텔레시네 변환 비월 비디오(305)는 59.94 필드/초의 프레임 레이트를 가지나, 텔레시네 변환 비월 비디오(305)는 임의의 적합한 프레임 레이트를 가질 수 있다.
도시된 바와 같이, 프로세스(310)는 (가령, 도 3b에서 X 출력에 의해 나타내어진) 삽입된 필드를 드롭하거나 제거하는 것을 포함할 수 있다. 예컨대, 필드 b0 및 d1과 같은 X 출력에 의해 나타내어진 2개의 필드가 텔레시네 변환 비월 비디오(305)로부터 드롭될 수 있다. 나아가, 이전에 맞바꿔진 필드(가령, 필드 c1, c0)가 맞바꿔질 수 있다. 그러한 필드 드롭하기 및 맞바꾸기는 예컨대 필드(312)를 포함하는 비월 비디오(311)를 생성하기 위해 5개의 텔레시네화 프레임의 매 세트에 대해 수행될 수 있다. 도시된 바와 같이, 비월 비디오(311)는 본 문서에서 논의된 바와 같이 상위 및 하위 필드를 교번할 수 있다. 나아가, 도시된 바와 같이, 프로세스(310)는 순차 비디오(314)의 프레임(313)을 형성하기 위해 필드(312)를 조합하는 것을 포함할 수 있다. 예컨대, 연관된 필드 a0, a1은 프레임 A를 형성하도록 조합될 수 있고, 연관된 필드 b0, b1은 프레임 B를 형성하도록 조합될 수 있으며, 연관된 필드 c0, c1은 프레임 C를 형성하도록 조합될 수 있고, 연관된 필드 d0, d1은 프레임 D를 형성하도록 조합될 수 있으며, 기타 등등이다.
예컨대, 텔레시네 반전의 프로세스(310)는 텔레시네 변환 비월 비디오(305)(가령, 텔레시네화 비디오 필드)를 수신하는 것, 5개 프레임 사이클당 두 개의 잉여적 필드의 검출 및 삭제 후 비디오 필드를 제공하는 것과 필요에 따라 필드를 맞바꾸는 것(가령, 비월 비디오(311)), 그리고 프레임(가령, 순차 비디오(314)의 프레임(313))을 형성하기 위해 필드 쌍을 조합하는 것을 포함한다. 프로세스(310)는, 3:2 풀다운을 통하여 생성된 텔레시네화 필름 콘텐트(telecined film content)에 대해 적용되는 경우, 온전히 가역적일 수 있으니, 5개의 텔레시네화 프레임의 매 세트로부터 4개의 프레임을 생성하여, 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초 비디오로부터 24 프레임/초의 전체적인 필름 프레임 레이트를 초래한다.
논의된 바와 같이, 몇몇 예에서, 텔레시네 프로세스 또는 기법은 프레임 삽입이 있는 3:2 풀다운 기법을 포함할 수 있다. 다른 패턴 또는 기법이 사용될 수 있다. 그러한 상이한 패턴은 추출의 간단함, 움직임의 평활에서의 인지된 개선, 또는 만화 콘텐트의 개선된 변환, 또는 유사한 것과 같은 다양한 이유로 사용될 수 있다.
도 4a는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 2:3:3:2 풀다운 텔레시네 프로세스(400)를 보여주는 도해이다. 도 4a에 도시된 바와 같이, 프로세스(400)는 프레임(402)(가령, 프레임 A, B, C 및 D)을 가지는 원래의 순차 비디오(401)를 수신하는 것을 포함할 수 있다. 보여진 예에서, 순차 비디오(401)는 24 프레임/초의 프레임 레이트를 가지나, 순차 비디오(401)는 임의의 적합한 프레임 레이트를 가질 수 있다. 도시된 바와 같이, 프로세스(400)는 비월 비디오(404)의 필드(403)를 생성하기 위해 프레임(402) 각각을 두 필드로 나누는 것을 포함할 수 있다. 예컨대, 프레임 A는 상위 필드 a0 및 하위 필드 a1로 나뉠 수 있고, 프레임 B는 상위 필드 b0 및 하위 필드 b1로 나뉠 수 있으며, 프레임 C는 상위 필드 c0 및 하위 필드 c1로 나뉠 수 있고, 프레임 D는 상위 필드 d0 및 하위 필드 d1로 나뉠 수 있으며, 기타 등등이다. 예컨대, 프레임(402) 각각은 순차이기는 하나 비월 프레임의 경우에서와 같이 두 필드를 포함하는 것으로 여겨질 수 있다. 예컨대, 프레임의 짝수 번호 선이 하나의 필드(가령, 상위 필드)를 나타낼 수 있고 프레임의 홀수 번호 선이 제2의 필드(가령, 하위 필드)를 나타낼 수 있다. 도시된 바와 같이 비월 비디오(404)의 프레임 레이트는 순차 비디오(401)의 프레임 레이트와 동일할 수 있으나, 비월 비디오(404)의 필드 레이트는 순차 비디오(401)의 프레임 레이트의 두 배일 수 있다.
도시된 바와 같이, 프로세스(400)는 필드(406)를 포함하는 텔레시네 변환 비월 비디오(405)를 생성하기 위해 어떤 필드의 사본(또는 평균 또는 유사한 것)을 삽입함으로써 4개의 순차 프레임당 5개의 비월 프레임을 생성하는 것을 포함할 수 있다. 예컨대, 그러한 처리는 프레임 레이트를 24 프레임/초로부터 30 프레임/초(가령, 기술적으로는 29.97 프레임/초)로 증가시킬 수 있다. 예컨대, (가령, 패턴을 8개의 필드(4개의 프레임)로부터 10개의 필드(5개의 프레임)로 늘임으로써) 2개의 새 필드가 비월 비디오(404)로부터 복사되고 텔레시네 변환 비월 비디오(405) 내로 삽입될 수 있다.
예컨대, 비월 비디오(404)를 텔레시네 변환 비월 비디오(405)로 변환하기 위해서, 도시된 바와 같이, 필드 a0, a1이 복사될 수 있고, 필드 b0, b1이 복사될 수 있으며, 새로운(가령, 복사된) 필드 b0가 복사된 필드 b1 뒤에 삽입될 수 있고, 새로운(가령, 복사된) 필드 c1이 삽입된 필드 b0 뒤에 삽입될 수 있으며, 필드 c0, c1이 복사될 수 있고, 필드 d0, d1이 복사될 수 있다. 보여진 예에서, 필드 b0 및 c1의 사본이 텔레시네 변환 비월 비디오(305) 내로 삽입되었다. 그러한 삽입된 필드의 위치는 상위 필드 및 하위 필드 간의 필드의 교번하는 순서(가령, x0, x1, y0, y1 및 기타 등등)를 유지할 수 있다.
예컨대, 프로세스(400)는 프레임 A, B, C 및 D을 갖는 24 프레임/초의 필름 콘텐트로 시작할 수 있다. 4개 프레임의 그러한 세트는 도시된 바와 같은 2:3:3:2 풀다운 패턴을 사용하여 5개 프레임의 세트로 텔레시네화될 수 있다. 논의된 바와 같이, 2:3:3:2 풀다운 패턴을 생성하기 위하여, 제1 필드 쌍 a0, a1이 있는 그대로 복사될 수 있되, (가령, 3:2 풀다운의 경우에서와 같이) 필드 쌍 b0, b1로부터의 3개의 필드 b0, b1, b0의 생성/삽입이 이어지고, 필드 쌍 c01, c1로부터의 3개의 필드 c1, c0, c1의 생성/삽입이 이어지며, 있는 그대로의 필드 d0, d1의 최종 쌍을 복사하는 것이 이어져, 텔레시네 변환 비월 비디오(405)를 생성한다. 예컨대, 텔레시네 변환 비월 비디오(405)는 출력 비디오 스트림(output video stream)일 수 있다.
도 4b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 2:3:3:2 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스(410)를 보여주는 도해이다. 프로세스(410)는 텔레시네 변환 비월 비디오(405)의 5 프레임 패턴을 검출하는 것, 삽입된 가외의 필드를 제거하는 것(가령, 텔레시네 프로세스를 되돌리는 것) 및 텔레시네화 프레임 5개당 4개의 프레임을 재생성하여, 전체적인 프레임 레이트를 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초로부터 24 프레임/초로 도로 감소시키는 것을 포함할 수 있다. 예컨대, 도 4b에 도시된 바와 같이, 프로세스(410)는 텔레시네 변환 비월 비디오(405)(가령, 필드 a0, a1, b0, b1, b0, c1, c0, c1, d0 및 d1))를 수신하는 것 및/또는 텔레시네 변환 비월 비디오(405)의 5 프레임 패턴을 검출하는 것을 포함할 수 있다. 보여진 예에서, 텔레시네 변환 비월 비디오(405)는 59.94 필드/초의 프레임 레이트를 가지나, 텔레시네 변환 비월 비디오(405)는 임의의 적합한 프레임 레이트를 가질 수 있다.
도시된 바와 같이, 프로세스(410)는 (가령, 도 4b에서 X 출력에 의해 나타내어진) 삽입된 필드를 드롭하거나 제거하는 것을 포함할 수 있다. 예컨대, 필드 b0 및 c1과 같은 X 출력에 의해 나타내어진 2개의 필드가 텔레시네 변환 비월 비디오(405)로부터 드롭될 수 있다. 그러한 필드 드롭하기는 예컨대 필드(412)를 포함하는 비월 비디오(411)를 생성하기 위해 5개의 텔레시네화 프레임의 매 세트에 대해 수행될 수 있다. 도시된 바와 같이, 비월 비디오(411)는 본 문서에서 논의된 바와 같이 상위 및 하위 필드를 교번할 수 있다. 나아가, 도시된 바와 같이, 프로세스(410)는 순차 비디오(414)의 프레임(413)을 형성하기 위해 필드(412)를 조합하는 것을 포함할 수 있다. 예컨대, 연관된 필드 a0, a1은 프레임 A를 형성하도록 조합될 수 있고, 연관된 필드 b0, b1은 프레임 B를 형성하도록 조합될 수 있으며, 연관된 필드 c0, c1은 프레임 C를 형성하도록 조합될 수 있고, 연관된 필드 d0, d1은 프레임 D를 형성하도록 조합될 수 있으며, 기타 등등이다.
예컨대, 텔레시네 반전의 프로세스(410)는 텔레시네 변환 비월 비디오(405)(가령, 텔레시네화 비디오 필드)를 수신하는 것, 5개 프레임 사이클당 두 개의 잉여적 필드의 검출 및 삭제 후 비디오 필드를 제공하는 것(가령, 비월 비디오(411)), 그리고 프레임(가령, 순차 비디오(414)의 프레임(413))을 형성하기 위해 필드 쌍을 조합하는 것을 포함한다. 프로세스(410)는, 2:3:3:2 풀다운을 통하여 생성된 텔레시네화 필름 콘텐트에 대해 적용되는 경우, 온전히 가역적일 수 있으니, 5개의 텔레시네화 프레임의 매 세트로부터 4개의 프레임을 생성하여, 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초 비디오로부터 24 프레임/초의 전체적인 필름 프레임 레이트를 초래한다.
논의된 바와 같이, 2:3:3:2 패턴은 반전의 간단함이라는 이점을 제공할 수 있다. 그러나, 그러한 2:3:3:2 패턴은 본 문서에서 논의된 3:2 패턴과 같은 다른 패턴보다 움직임을 렌더링하는 데에서 더한 흔들림(judder)을 만들어낼 수 있다.
도 27a는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 4:1 풀다운 텔레시네 프로세스(2700)를 보여주는 도해이다. 도 27a에 도시된 바와 같이, 프로세스(2700)는 프레임(2702)(가령, 프레임 A, B, C 및 D)을 가지는 원래의 순차 비디오(2701)를 수신하는 것을 포함할 수 있다. 보여진 예에서, 순차 비디오(2701)는 24 프레임/초의 프레임 레이트를 가지나, 순차 비디오(2701)는 임의의 적합한 프레임 레이트를 가질 수 있다. 도시된 바와 같이, 프로세스(2700)는 비월 비디오(2704)의 필드(2703)를 생성하기 위해 프레임(2702) 각각을 두 필드로 나누는 것을 포함할 수 있다. 예컨대, 프레임 A는 상위 필드 a0 및 하위 필드 a1로 나뉠 수 있고, 프레임 B는 상위 필드 b0 및 하위 필드 b1로 나뉠 수 있으며, 프레임 C는 상위 필드 c0 및 하위 필드 c1로 나뉠 수 있고, 프레임 D는 상위 필드 d0 및 하위 필드 d1로 나뉠 수 있으며, 기타 등등이다. 예컨대, 프레임(2702) 각각은 순차이기는 하나 비월 프레임의 경우에서와 같이 두 필드를 포함하는 것으로 여겨질 수 있다. 예컨대, 프레임의 짝수 번호 선이 하나의 필드(가령, 상위 필드)를 나타낼 수 있고 프레임의 홀수 번호 선이 제2의 필드(가령, 하위 필드)를 나타낼 수 있다. 도시된 바와 같이 비월 비디오(2704)의 프레임 레이트는 순차 비디오(2701)의 프레임 레이트와 동일할 수 있으나, 비월 비디오(2704)의 필드 레이트는 순차 비디오(2701)의 프레임 레이트의 두 배일 수 있다.
도시된 바와 같이, 프로세스(2700)는 필드(2706)를 포함하는 텔레시네 변환 비월 비디오(2705)를 생성하기 위해 어떤 필드의 사본(또는 평균 또는 유사한 것)을 삽입함으로써 4개의 순차 프레임당 5개의 비월 프레임을 생성하는 것을 포함할 수 있다. 예컨대, 그러한 처리는 프레임 레이트를 초당 24 프레임으로부터 초당 30 프레임(가령, 기술적으로는 초당 29.97 프레임)으로 증가시킬 수 있다. 예컨대, (가령, 패턴을 8개의 필드(4개의 프레임)로부터 10개의 필드(5개의 프레임)로 늘임으로써) 2개의 새 필드가 비월 비디오(2704)로부터 복사되고 텔레시네 변환 비월 비디오(2705) 내로 삽입될 수 있다.
예컨대, 비월 비디오(2704)를 텔레시네 변환 비월 비디오(2705)로 변환하기 위해서, 도시된 바와 같이, 필드 a0, a1이 복사될 수 있고, 필드 b0, b1이 복사될 수 있으며, 필드 c0, c1이 복사될 수 있고, 필드 d0, d1, 그리고 새로운(가령, 복사되고 삽입된) 필드 d0, d1이 복사된 필드 d0, d1 뒤에 삽입될 수 있다. 보여진 예에서, 필드 d0 및 d1의 사본이 텔레시네 변환 비월 비디오(2705) 내로 삽입되었다. 그러한 삽입된 필드의 위치는 상위 필드 및 하위 필드 간의 필드의 교번하는 순서(가령, x0, x1, y0, y1 및 기타 등등)를 유지할 수 있다.
예컨대, 프로세스(2700)는 프레임 A, B, C 및 D을 갖는 24 프레임/초의 필름 콘텐트로 시작할 수 있다. 4개 프레임의 그러한 세트는 도시된 바와 같은 4:1 풀다운 패턴을 사용하여 5개 프레임의 세트로 텔레시네화될 수 있다. 몇몇 예에서, 도 27a의 풀다운 패턴은 본 문서에서 논의된 바와 같이 풀다운 패턴 4:1a로 간주될 수 있다. 논의된 바와 같이, 4:1a 풀다운 패턴을 생성하기 위하여, 프레임(가령, 프레임 D)에 대응하는 두 필드(가령, d0, d1)가 4개의 프레임(8개의 필드)의 그룹마다 한 번 반복되어 60 필드/초 비디오(30 프레임/초)로서 출력될 수 있는 대응하는 5개의 프레임(10개의 필드)의 그룹을 생성한다. 예컨대, 4:1a 풀다운 패턴 텔레시네 방법은 4개의 입력 프레임의 각각의 그룹의 마지막 프레임을 반복함으로써 초당 24 순차 프레임을 초당 30 비월 프레임으로 변환하는 것을 포함할 수 있는데, 5개 프레임의 대응하는 그룹을 출력하는 것을 초래하는 것이다. 예컨대, 텔레시네 변환 비월 비디오(2705)는 출력 비디오 스트림일 수 있다.
도 27b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 4:1 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스(2710)를 보여주는 도해이다. 예컨대, 프로세스(2710)는 도 27a에 관해서 논의된 바와 같은 4:1a 풀다운 패턴화된 비디오에 대해 동작할 수 있다. 프로세스(2710)는 텔레시네 변환 비월 비디오(2705)의 5 프레임 패턴을 검출하는 것, 삽입된 가외의 필드를 제거하는 것(가령, 텔레시네 프로세스를 되돌리는 것) 및 텔레시네화 프레임 5개당 4개의 프레임을 재생성하여, 전체적인 프레임 레이트를 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초로부터 24 프레임/초로 도로 감소시키는 것을 포함할 수 있다. 예컨대, 도 27b에 도시된 바와 같이, 프로세스(2710)는 텔레시네 변환 비월 비디오(2705)(가령, 필드 a0, a1, b0, b1, c0, c1, d0, d1, d0 및 d1))를 수신하는 것 및/또는 텔레시네 변환 비월 비디오(2705)의 5 프레임 패턴을 검출하는 것을 포함할 수 있다. 보여진 예에서, 텔레시네 변환 비월 비디오(2705)는 59.94 필드/초의 프레임 레이트를 가지나, 텔레시네 변환 비월 비디오(2705)는 임의의 적합한 프레임 레이트를 가질 수 있다.
도시된 바와 같이, 프로세스(2710)는 (가령, 도 27b에서 X 출력에 의해 나타내어진) 삽입된 필드를 드롭하거나 제거하는 것을 포함할 수 있다. 예컨대, 필드 d0 및 d1과 같은 X 출력에 의해 나타내어진 2개의 필드가 텔레시네 변환 비월 비디오(2705)로부터 드롭될 수 있다. 그러한 필드 드롭하기는 예컨대 필드(2712)를 포함하는 비월 비디오(2711)를 생성하기 위해 5개의 텔레시네화 프레임의 매 세트에 대해 수행될 수 있다. 도시된 바와 같이, 비월 비디오(2711)는 본 문서에서 논의된 바와 같이 상위 및 하위 필드를 교번할 수 있다. 나아가, 도시된 바와 같이, 프로세스(2710)는 순차 비디오(2714)의 프레임(2713)을 형성하기 위해 필드(2712)를 조합하는 것을 포함할 수 있다. 예컨대, 연관된 필드 a0, a1은 프레임 A를 형성하도록 조합될 수 있고, 연관된 필드 b0, b1은 프레임 B를 형성하도록 조합될 수 있으며, 연관된 필드 c0, c1은 프레임 C를 형성하도록 조합될 수 있고, 연관된 필드 d0, d1은 프레임 D를 형성하도록 조합될 수 있으며, 기타 등등이다.
예컨대, 텔레시네 반전의 프로세스(2710)는 텔레시네 변환 비월 비디오(2705)(가령, 텔레시네화 비디오 필드)를 수신하는 것, 5개 프레임 사이클당 두 개의 잉여적 필드의 검출 및 삭제 후 비디오 필드를 제공하는 것(가령, 비월 비디오(2711)), 그리고 프레임(가령, 순차 비디오(2714)의 프레임(2713))을 형성하기 위해 필드 쌍을 조합하는 것을 포함한다. 예컨대, 4:1a 텔레시네 패턴의 반전을 위한 프로세스는 패턴을 검출하는 것 및 5개의 프레임마다 필드의 잉여적 쌍(가령, d0, d1)을 제거하는 것을 포함할 수 있다. 프로세스(2710)는, 4:1a 풀다운과 같은 4:1 풀다운을 통하여 생성된 텔레시네화 필름 콘텐트에 대해 적용되는 경우, 온전히 가역적일 수 있으니, 5개의 텔레시네화 프레임의 매 세트로부터 4개의 프레임을 생성하여, 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초 비디오로부터 24 프레임/초의 전체적인 필름 프레임 레이트를 초래한다.
도 28a는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 4:1 풀다운 텔레시네 프로세스(2800)를 보여주는 도해이다. 도 28a에 도시된 바와 같이, 프로세스(2800)는 프레임(2702)(가령, 프레임 A, B, C 및 D)을 가지는 원래의 순차 비디오(2801)를 수신하는 것을 포함할 수 있다. 보여진 예에서, 순차 비디오(2801)는 24 프레임/초의 프레임 레이트를 가지나, 순차 비디오(2801)는 임의의 적합한 프레임 레이트를 가질 수 있다. 도시된 바와 같이, 프로세스(2800)는 비월 비디오(2804)의 필드(2803)를 생성하기 위해 프레임(2802) 각각을 두 필드로 나누는 것을 포함할 수 있다. 예컨대, 프레임 A는 상위 필드 a0 및 하위 필드 a1로 나뉠 수 있고, 프레임 B는 상위 필드 b0 및 하위 필드 b1로 나뉠 수 있으며, 프레임 C는 상위 필드 c0 및 하위 필드 c1로 나뉠 수 있고, 프레임 D는 상위 필드 d0 및 하위 필드 d1로 나뉠 수 있으며, 기타 등등이다. 예컨대, 프레임(2802) 각각은 순차이기는 하나 비월 프레임의 경우에서와 같이 두 필드를 포함하는 것으로 여겨질 수 있다. 예컨대, 프레임의 짝수 번호 선이 하나의 필드(가령, 상위 필드)를 나타낼 수 있고 프레임의 홀수 번호 선이 제2의 필드(가령, 하위 필드)를 나타낼 수 있다. 도시된 바와 같이 비월 비디오(2804)의 프레임 레이트는 순차 비디오(2801)의 프레임 레이트와 동일할 수 있으나, 비월 비디오(2804)의 필드 레이트는 순차 비디오(2801)의 프레임 레이트의 두 배일 수 있다.
도시된 바와 같이, 프로세스(2800)는 필드(2806)를 포함하는 텔레시네 변환 비월 비디오(2805)를 생성하기 위해 어떤 필드의 사본(또는 평균 또는 유사한 것)을 삽입함으로써 4개의 순차 프레임당 5개의 비월 프레임을 생성하는 것을 포함할 수 있다. 예컨대, 그러한 처리는 프레임 레이트를 24 프레임/초로부터 30 프레임/초(가령, 기술적으로는 29.97 프레임/초)로 증가시킬 수 있다. 예컨대, (가령, 패턴을 8개의 필드(4개의 프레임)로부터 10개의 필드(5개의 프레임)로 늘임으로써) 2개의 새 필드가 비월 비디오(2804)로부터 복사되고 텔레시네 변환 비월 비디오(2805) 내로 삽입될 수 있다.
예컨대, 비월 비디오(2804)를 텔레시네 변환 비월 비디오(2805)로 변환하기 위해서, 도시된 바와 같이 필드 a0, a1이 복사될 수 있고, 새로운(가령, 복사되고 삽입된) 필드 a0이 복사된 필드 a0 뒤에 삽입될 수 있으며, 필드 b1 및 b0가 맞바꿔질 수 있고, 필드 c1 및 c0가 맞바꿔질 수 있으며, 필드 d0 및 d1이 맞바꿔질 수 있고, 새로운(가령, 복사되고 삽입된) 필드 e1이 필드 d0 뒤에 삽입될 수 있다. 보여진 예에서, 필드 a0 및 e1의 사본이 텔레시네 변환 비월 비디오(2805) 내로 삽입되었다. 그러한 삽입된 필드의 위치(또 다른 필드의 맞바꿈)는 상위 필드 및 하위 필드 간의 필드의 교번하는 순서(가령, x0, x1, y0, y1 및 기타 등등)를 유지할 수 있다.
예컨대, 프로세스(2800)는 프레임 A, B, C 및 D을 갖는 24 프레임/초의 필름 콘텐트로 시작할 수 있다. 4개 프레임의 그러한 세트는 도시된 바와 같은 4:1 풀다운 패턴을 사용하여 5개 프레임의 세트로 텔레시네화될 수 있다. 몇몇 예에서, 도 28a의 풀다운 패턴은 본 문서에서 논의되는 바와 같이 풀다운 패턴 4:1b로 간주될 수 있다. 논의된 바와 같이, 4:1b 풀다운 패턴을 생성하기 위하여, 두 필드(가령, a0, e1)가 4개의 프레임(8개의 필드)의 그룹마다 한 번 반복되어 60 필드/초 비디오(30 프레임/초)로서 출력될 수 있는 대응하는 5개의 프레임(10개의 필드)의 그룹을 생성한다. 예컨대, 패턴 4:1b의 텔레시네 방법은 각각의 프레임에 대해 필드의 쌍을 있는 그대로 우선 출력하고 프레임의 연속적 쌍으로부터 생성된 4개의 (의사) 비월 프레임의 시퀀스를 출력함으로써 초당 24 순차 프레임을 초당 30 비월 프레임으로 변환하는 것을 포함할 수 있다. 예컨대, 텔레시네 변환 비월 비디오(2805)는 출력 비디오 스트림일 수 있다.
도 28b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 4:1 풀다운 텔레시네 프로세스의 반전의 예시적 프로세스(2810)를 보여주는 도해이다. 예컨대, 프로세스(2810)는 도 28a에 관해서 논의된 바와 같은 4:1b 풀다운 패턴화된 비디오에 대해 동작할 수 있다. 프로세스(2810)는 텔레시네 변환 비월 비디오(2805)의 5 프레임 패턴을 검출하는 것, 삽입된 가외의 필드를 제거하는 것(가령, 텔레시네 프로세스를 되돌리는 것) 및 텔레시네화 프레임 5개당 4개의 프레임을 재생성하여, 전체적인 프레임 레이트를 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초로부터 24 프레임/초로 도로 감소시키는 것을 포함할 수 있다. 예컨대, 도 28b에 도시된 바와 같이, 프로세스(2810)는 텔레시네 변환 비월 비디오(2805)(가령, 필드 a0, a1, a0, b1, b0, c1, c0, d1, d0 및 e1))를 수신하는 것 및/또는 텔레시네 변환 비월 비디오(2805)의 5 프레임 패턴을 검출하는 것을 포함할 수 있다. 보여진 예에서, 텔레시네 변환 비월 비디오(2805)는 59.94 필드/초의 프레임 레이트를 가지나, 텔레시네 변환 비월 비디오(2805)는 임의의 적합한 프레임 레이트를 가질 수 있다.
도시된 바와 같이, 프로세스(2810)는 (가령, 도 28b에서 X 출력에 의해 나타내어진) 삽입된 필드를 드롭하거나 제거하는 것을 포함할 수 있다. 예컨대, 필드 a0 및 e1과 같은 X 출력에 의해 나타내어진 2개의 필드가 텔레시네 변환 비월 비디오(2805)로부터 드롭될 수 있다. 그러한 필드 드롭하기는 예컨대 필드(2812)를 포함하는 비월 비디오(2811)를 생성하기 위해 5개의 텔레시네화 프레임의 매 세트에 대해 수행될 수 있다. 나아가, 프로세스(2810)는 비월 비디오(2811)를 형성하기 위해 필드를 맞바꾸는 것을 포함할 수 있다. 예컨대, 필드 b1 및 b0이 맞바꿔질 수 있고, 필드 c1 및 c0이 맞바꿔질 수 있으며, 필드 d1 및 d0이 맞바꿔질 수 있다. 도시된 바와 같이, 비월 비디오(2811)는 본 문서에서 논의된 바와 같이 상위 및 하위 필드를 교번할 수 있다. 나아가, 도시된 바와 같이, 프로세스(2810)는 순차 비디오(2814)의 프레임(2813)을 형성하기 위해 필드(2812)를 조합하는 것을 포함할 수 있다. 예컨대, 연관된 필드 a0, a1은 프레임 A를 형성하도록 조합될 수 있고, 연관된 필드 b0, b1은 프레임 B를 형성하도록 조합될 수 있으며, 연관된 필드 c0, c1은 프레임 C를 형성하도록 조합될 수 있고, 연관된 필드 d0, d1은 프레임 D를 형성하도록 조합될 수 있으며, 기타 등등이다.
예컨대, 텔레시네 반전의 프로세스(2810)는 텔레시네 변환 비월 비디오(2805)(가령, 텔레시네화 비디오 필드)를 수신하는 것, 5개 프레임 사이클당 두 개의 잉여적 필드의 검출 및 삭제 후 비디오 필드를 제공하는 것(가령, 비월 비디오(2811)), 그리고 프레임(가령, 순차 비디오(2814)의 프레임(2813))을 형성하기 위해 필드 쌍을 조합하는 것을 포함한다. 예컨대, 4:1b 풀다운 패턴의 반전을 위한 프로세스는 24 프레임/초 비디오를 제공하기 위해 잉여적인 제2의 a0 필드 및 제1의 e1 필드를 검출하는 것 및 필드 쌍(가령, (b1, b0), (c1, c0) 및 (d1, d0))의 패리티(parity) 반전을 포함할 수 있다. 프로세스(2810)는, 4:1b 풀다운과 같은 4:1 풀다운을 통하여 생성된 텔레시네화 필름 콘텐트에 대해 적용되는 경우, 온전히 가역적일 수 있으니, 5개의 텔레시네화 프레임의 매 세트로부터 4개의 프레임을 생성하여, 텔레시네화 30(가령, 구체적으로는 29.97) 프레임/초 비디오로부터 24 프레임/초의 전체적인 필름 프레임 레이트를 초래한다.
논의된 바와 같이, 본 문서에서 논의된 3:2 패턴, 2:3:3:2 패턴 및 4:1 패턴을 넘어서서, 텔레시네 변환을 위해 사용될 수 있는 많은 다른 텔레시네 패턴이 있을 수 있다. 몇몇 예에서, 텔레시네 변환은 콘텐트 생성의 일부일 수 있고 그러한 변환은 콘텐트의 사용자를 위해 시그널링되거나 문서화되지 않을 수 있기에 콘텐트를 위해 사용된 텔레시네 패턴은 알려지지(가령, 콘텐트와 연관되지) 않을 수 있다.
나아가, 논의된 바와 같이, 몇몇 예에서, 텔레시네 변환 기법은 필드 삽입을 위해 실제의(가령, 복사된) 필드 대신에 합성된 필드를 사용할 수 있다. 예컨대, 합성된 필드는 이웃하는 실제의 필드의 균등한 또는 거리 가중(distance weighted) 평균화에 의해 생성될 수 있다. 그러한 합성된 필드는 예컨대, 만화 또는 애니메이션 콘텐트 내에서 사용될 수 있다. 그러한 예에서, 초당 6 및 12 프레임 사이의 매우 낮은 입력 프레임 레이트에서 흔히 이용가능한 만화 또는 애니메이션 콘텐트를 위해 뉘앙스(nuance)가 필요할 수 있다. 그러한 예에서, 필드 또는 프레임을 반복하는 것 대신에, 30 프레임/초(또는 60 필드/초) 비디오를 직접적으로 생성하거나 아니면 우선 24 프레임/초 비디오를 생성하고 나서 30 프레임/초(60 필드/초) 비디오로의 텔레시네 변환을 거치기 위한 프레임 또는 필드의 평균화가 구현될 수 있다. 몇몇 예에서, 텔레시네 변환 기법은 텔레시네 변환을 위해 어떤 필드에 대한 필드 반복 및 다른 필드의 생성을 위한 필드 합성의 조합을 사용할 수 있다. 그러한 예에서, 합성된 필드는 반전시키기 매우 어렵거나 불가능할 수 있다.
몇몇 예에서, 풀다운 패턴 검출이 어렵지 않을 수는 있으나, 다른 예에서, 텔레시네 패턴 검출이 어려울 수 있는 몇 가지 이유가 있다. 검출의 그러한 어려움은, 결국, 텔레시네 반전을 어렵게 및/또는 부정확하게 만들 수 있다. 첫째, 저상세도로 된(low detailed) 또는 저대비도의(low contrast) 장면에서, 5 프레임 패턴의 시작을 유일하게 찾는 것이 어려울 수 있기에 검출이 어려울 수 있다. 둘째, 비디오 장면을 편집하는 것(가령, 프로그램 길이의 단축, 선전의 삽입, 시간 길이를 채우기 위한 시간의 늘림)은 패턴 검출을 어렵게 하는 부분적인(partial) 또는 깨진(broken) 텔레시네 패턴(가령, 깨진 3:2 패턴 또는 깨진 2:3:3:2 패턴 또는 유사한 것)을 초래할 수 있다. 셋째, 논의된 바와 같이, 사용될 수 있는 여러 텔레시네 패턴이 있는바 어느 패턴이 그 자체로 사용되었는지 판정하는 것은 난제이다. 이들 이유 및 다른 이유의 조합은 텔레시네 역변환(telecine inversion)을 힘들게 한다.
논의된 바와 같이, 텔레시네 패턴의 반전의 필요성이 있을 수 있다. 나아가, 비월 포맷의 비디오가 사용되는 경우 비월제거(가령, 비월의 반전)의 필요성이 또한 있을 수 있다. 예컨대, 비월제거 후 30 비월 프레임/초의 비디오는 30 아니면 60 프레임/초 순차 비디오로 변환될 수 있다. 예컨대, 순차 비디오를 생성하기 위한 비월 비디오의 비월제거의 이유는 순차 비디오를 대체로 요하는 디바이스 상에서의 비디오의 궁극적인 디스플레이에 대한 요망 및 압축을 위해 순차 포맷으로 비디오를 변환하려는 증가된 필요성을 포함할 수 있다.
도 5a는 본 개시의 적어도 몇몇 구현에 따라 마련된, 비월 비디오(501)를 비월제거하기 위한 예시적 프로세스(500)를 보여주는 도해이다. 예컨대, 프로세스(500)는 예시적인 밥(Bob) 비월제거 기법을 보여줄 수 있다. 도 5a에 도시된 바와 같이, 비월 비디오(501)는 비월 프레임(504)의 상위 필드(502) 및 하위 필드(503)를 포함할 수 있다. 예컨대, 상위 필드(502)를 포함하는 상위 필드는 짝수 시간(가령, t=0, 2 및 기타 등등)에 있을 수 있고 하위 필드(503)를 포함하는 하위 필드는 홀수 시간(가령, t=1, 3 및 기타 등등)에 있을 수 있다. 나아가, 상위 필드(502)를 포함하는 상위 필드는 짝수 주사선(가령, 주사선 0, 2, 4, 6, 8 및 기타 등등)을 포함할 수 있고 하위 필드(503)를 포함하는 하위 필드는 오히려 홀수 주사선(가령, 주사선 1, 3, 5, 7, 9 및 기타 등등)을 포함할 수 있다. 도시된 바와 같이, Bob 비월제거 기법은 짝수 시간에서 홀수 선(가령, 선 1, 3, 5, 7, 9 및 기타 등등)을 생성하고 홀수 시간에서 짝수 선(가령, 0, 2, 4, 6, 8 및 기타 등등)을 생성함으로써 각각의 시간 위치에서 선을 두 배로 할 수 있다. 그러한 선 생성은 순차 비디오(509)의 순차 프레임(505 내지 508)을 생성할 수 있다.
예컨대, Bob을 이용한 비월제거는 우선 비디오의 각각의 비월 프레임을 2개 필드, (가령, 상위 필드(502) 및 하위 필드(503)에 관해서 도시된 바와 같이) 각각 프레임의 절반의 개수의 선 및 수직 선 간격의 절반만큼의 오프셋(offset)을 갖는 상위 필드 및 하위 필드로 이루어진 것으로 고려하는 것을 포함할 수 있다. 도 5a에 도시된 바와 같이, 비월 비디오(501)는 각각의 필드가 짝수 선(가령, 0, 2, 4, 6, 8, ...)을 포함하는 짝수 시간(가령, t=0, 2, 4, ...) 위치에서의 상위 필드의 시퀀스, 그리고 각각의 필드가 홀수 선(가령, 1, 3, 5, 7, 9, ...)를 포함하는 홀수 시간(가령, t=1, 3, 5, ...) 위치에서의 하위 필드의 시퀀스를 포함할 수 있다. 논의된 바와 같이, Bob 비월제거기(deinterlacer)는, 예컨대 짝수 시간 위치(가령, t=0, 2, 4, ...)에서 홀수 선(가령, 1, 3, 5, 7, 9, ...)을 생성하고 홀수 시간 위치(가령, t=1, 3, 5, ...)에서 짝수 선(가령, 0, 2, 4, 6, 8, ...)을 생성함으로써, 각각의 시간 위치에서 선을 두 배로 할 수 있다.
Bob 비월제거기는 임의의 적합한 기법 또는 기법들을 사용하여 누락 선(missing line)을 생성할 수 있다. 예컨대, Bob 비월제거기는 선을 반복함(가령, 누락 선 위 또는 아래의 선을 복사함)으로써 누락 선을 생성할 수 있다. 다른 예에서, Bob 비월제거기는 누락 선을 합성하기 위해 누락 선 위의 선 및 아래의 선을 평균화함(가령, 선 3을 생성하기 위해 선 2 및 4를 평균화함)으로써 누락 선을 생성할 수 있다. 또 다른 예에서, Bob 비월제거기는 누락 선을 합성하기 위해 누락 선 위와 아래의 몇 개의 선에 걸쳐서 더 긴 탭 필터(tap filter)를 사용할 수 있다. 논의된 바와 같이, Bob 비월제거기는 입력 프레임 레이트보다 두 배의 프레임 레이트를 갖는 출력을 생성할 수 있다(가령, 도 5a의 예에서, 짝수 시간 t=0, 2 대신에 각각의 시간 t=0, 1, 2, 3에서 프레임이 제공됨). Bob 비월제거기가 프레임 레이트를 증가시킬 수 있으나, 예리한 에지(가령, 정적 텍스트)의 영역 내의 깜빡거림(flickering) 및 사선(oblique line)에 대한 들쭉날쭉한 효과와 같은 몇몇 아티팩트가 발생할 수 있다. 몇몇 Bob 비월제거기, 예를 들어 보간(interpolation) 필터를 사용하는 것에서, 그러한 아티팩트가 존재하나 덜 두드러질 수 있다.
도 5b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 비월 비디오(501)를 비월제거하기 위한 예시적 프로세스(510)를 보여주는 도해이다. 예컨대, 프로세스(510)는 예시적 위브(Weave) 비월제거 기법을 보여줄 수 있다. 도 5b에 도시된 바와 같이, 비월 비디오(501)는 도 5a에 관해서 논의된 바와 같이 비월 프레임(504)의 상위 필드(502) 및 하위 필드(503)를 포함할 수 있다. 예컨대, 상위 필드(502)를 포함하는 상위 필드는 짝수 시간(가령, t=0, 2 및 기타 등등)에 있을 수 있고 하위 필드(503)를 포함하는 하위 필드는 홀수 시간(가령, t=1, 3 및 기타 등등)에 있을 수 있다. 나아가, 상위 필드(502)를 포함하는 상위 필드는 짝수 주사선(가령, 주사선 0, 2, 4, 6, 8 및 기타 등등)을 포함할 수 있고 하위 필드(503)를 포함하는 하위 필드는 오히려 홀수 주사선(가령, 주사선 1, 3, 5, 7, 9 및 기타 등등)을 포함할 수 있다. 도시된 바와 같이, Weave 비월제거 기법은 순차 비디오(513)의 순차 프레임(511, 512)을 생성하기 위해 그러한 상위 및 하위 필드를 조합할 수 있다.
예컨대, Weave 비월제거기는 도 5b에 도시된 바와 같이 필드의 각각의 쌍을 단일 프레임으로서 취급할 수 있다. 그러한 Weave 비월제거기는, 비록 Bob 비월제거기에 비해 프레임 레이트가 절반이기는 하더라도, 전 수직 해상도(full vertical resolution)를 유지하는 것을 가능케 할 수 있다. 필드 간에 움직임이 별로 없는 예에서, Weave 비월제거기는 세부사항의 보존을 초래할 수 있으나 필드 간에 움직임이 있는 예에서, Weave 비월제거기는 거치상(serration) 또는 빗질(combing) 아티팩트 또는 유사한 것과 같은 아티팩트를 초래할 수 있어서 각각의 필드 내의 이동 에지(moving edge)의 위치가 천이된다(shifted)(가령, 동일하지 않다).
논의된 바와 같이, Bob 및 Weave 비월제거기는 비월 비디오를 비월제거하는 데에 사용될 수 있다. 몇몇 예에서, Bob 및 Weave 비월제거기는 비월 비디오를 비월제거하기 위해 조합될 수 있다. 예컨대, 필드 또는 프레임의 영역은 어느 영역이 정지한(stationary) 것이고 어느 영역이 움직이는 것인지를 판정하기 위해 분석될 수 있다. 그러한 예에서, 정지한 영역 및 움직이는 영역을 위해 상이한 비월제거기가 사용될 수 있다(가령, 상이한 영역을 위해 상이한 비월제거기가 사용될 수 있음). 예컨대, 움직임이 있는 영역에서, 선 반복 또는 보간 필터(가령, 선형 필터(linear filter), 큐빅 필터(cubic filter) 등등)를 사용하여 Bob 비월제거기에 의해 누락 픽셀(missing pixel)이 생성될 수 있다. 정지한 영역에서, 이전의 필드로부터 복사함으로써 누락 픽셀을 생성하는 Weave 비월제거기가 사용될 수 있다. 상이한 영역을 위한 상이한 비월제거 기법의 그러한 사용은 결과적인 순차 비디오 내의 아티팩트를 줄일 수 있다.
도 6은 본 개시의 적어도 몇몇 구현에 따라 마련된, 비월 비디오를 비월제거하기 위한 예시적 프로세스(600)를 보여주는 흐름도이다. 프로세스(600)는 도 6에 보여진 바와 같이 하나 이상의 동작(601 내지 629)을 포함할 수 있다. 프로세스(600)는 예컨대, 비월 비디오를 비월제거하기 위해 디바이스에 의해 수행될 수 있다. 몇몇 예에서, 프로세스(600)는 그리디에이치(GreedyH) 비월제거기를 구현하는 데에 사용될 수 있다.
예컨대, GreedyH 비월제거기는 고도 움직임 콘텐트(high motion content)를 위한 개선된 그리디(Greedy) 비월제거기를 포함할 수 있다. GreedyH 비월제거기는 우선 공간적 변형(spatial variation)(가령, 누락 픽셀의 위의 선과 아래의 선의 픽셀 그리고 이전의 필드(가령, 인트라(intra)) 및 이전의 프레임(가령, 인터(inter)) 변형을 분석하여 누락 선의 픽셀을 도출할 수 있다. 예컨대, 정지한 콘텐트의 경우에, 시간적 이웃은 현재의 필드 내의 수직 이웃 사이의 값을 가짐 직하고 움직임의 경우에, 인트라 필드 보간이 더 정확한 픽셀 값을 제공함 직한데 현재의 필드의 샘플 간의 상관(correlation)이 가장 높을 것 같기 때문이다. 예컨대, GreedyH 비월제거는 앨리어싱(aliasing)의 출현 및 수직 세부사항의 왜곡을 무릅쓰고 수직 에지에 대해 좋은 속성을 산출할 수 있다. 프로세스(600)는 이하의 픽셀 레이아웃(layout)에 관해서 논의될 것이다.
여기서 픽셀 x, y, z는 누락된 것(가령, 그리고 프로세스(6000)를 통하여 판정될 수 있고 픽셀 A 내지 F는 알려진 픽셀일 수 있다. 도시된 바와 같이, 픽셀 E, A, C가 각각 픽셀 x, y, z의 위에 있을 수 있고 픽셀 F, B, D가 각각 픽셀 x, y, z 아래에 있을 수 있다.
프로세스(600)는 시작 동작(601)으로부터 판단 동작(602), "픽처 내의 마지막 픽셀"(Last Pixel in the Picture)에서 시작할 수 있는데, 여기서 현재의 픽셀이 픽처(picture) 내의 마지막 픽셀인지가 판정될 수 있다. 만일 그렇다면, 프로세스(600)는 종료 동작(603)에서 종료할 수 있다.
만일 그렇지 않은 경우, 프로세스(600)는 동작(604), "위의 픽셀 및 아래의 픽셀의 평균을 계산함 (avg)"(Calculate average of pixel above and pixel below (avg))에서 계속될 수 있는데, 여기서 현재의 픽셀의 위와 아래의 픽셀의 평균이 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 평균 avg는 avg = o = (A + B)/2로서 판정될 수 있다.
프로세스(600)는 동작(605), "다음 위 픽셀 및 아래 픽셀의 평균을 계산함 (avg_n)"(Calculate average of next pixel above and pixel below (avg_n))에서 계속될 수 있는데, 여기서 현재의 픽셀의 위의 다음 픽셀 및 아래의 다음 픽셀의 평균이 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 다음 평균 avg_n은 avg_n = p = (C + D)/2로서 판정될 수 있다.
프로세스(600)는 동작(606), "위의 이전의 픽셀 및 아래의 이전의 픽셀의 평균을 계산함 (avg_p)"(Calculate average of previous pixel above and previous pixel below (avg_p))에서 계속될 수 있는데, 여기서 현재의 픽셀의 위의 이전의 픽셀 및 아래의 이전의 픽셀의 평균이 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 이전의 평균 avg_p는 avg_p = q = (E + F)/2로서 판정될 수 있다.
프로세스(600)는 동작(607), "(avg_p) 및 (avg_n)의 평균을 계산함 -> (avg_pn)"(Calculate average of (avg_p) and (avg_n) -> (avg_pn))에서 계속될 수 있는데, 여기서 현재의 픽셀에 대해 이전 픽셀 평균 및 다음 픽셀 평균의 평균이 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 이전 픽셀 평균 및 다음 픽셀 평균의 평균 avg_pn은 avg_pn = r = (p + q)/2로서 판정될 수 있다.
프로세스(600)는 동작(608), "(avg_pn) 및 (avg)의 평균을 계산함 -> (avg_sc)"(Calculate average of (avg_pn) and (avg) -> (avg_sc))에서 계속될 수 있는데, 여기서 현재의 픽셀에 대해 이전 픽셀 평균과 다음 픽셀 평균의 평균 및 위의 픽셀과 아래의 픽셀의 평균의 평균이 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 논의된 평균 avg_sc는 avg_sc = s = (o + r)/2로서 판정될 수 있다.
프로세스(600)는 동작(609), "현재의 픽셀 및 (avg_sc) 간의 절대차를 계산함 -> (cpfDiff)"(Calculate absolute difference between current pixel and (avg_sc) -> (cfpDiff))에서 계속될 수 있는데, 여기서 (이전의 필드의) 현재의 픽셀 및 동작(608)에서 판정된 평균 간의 절대차(absolute difference)가 현재의 픽셀에 대해 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 현재의 픽셀 및 동작(608)에서 판정된 평균 간의 절대차 cfpDiff는 cfpDiff = u = abs(t - s)로서 판정될 수 있는데, 여기서 t는 (이전의 필드의) 현재의 픽셀이다.
프로세스(600)는 동작(610), "이전의 프레임 내의 병치된 픽셀 및 (avg_sc) 간의 절대차를 계산함 -> (pfpDiff)"(Calculate absolute difference between collocated pixel in previous frame and (avg_sc) -> (pfpDiff))에서 계속될 수 있는데, 여기서 현재의 픽셀에 대해 이전의 프레임 내의 병치된(collocated) 픽셀 및 동작(608)에서 판정된 평균 간의 절대차가 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 병치된 픽셀 및 동작(608)에서 판정된 평균 간의 절대차 pfpDiff는 pfpDiff = v = abs(w - s)로서 판정될 수 있는데, 여기서 w는 병치된 픽셀이다.
프로세스(600)는 판단 동작(611), "cfpDiff <= pfpDiff"에서 계속될 수 있는데, 여기서 현재의 픽셀 및 동작(608)에서 판정된 평균 간의 절대차가 병치된 픽셀 및 동작(608)에서 판정된 평균 간의 절대차보다 더 작거나 이와 같은지(가령, 더 크지 않은지)에 대해 판정이 행해질 수 있다.
만일 그렇다면, 프로세스(600)는 동작(612), "best = 현재 프레임 픽셀 값"(best = current frame pixel value)에서 계속될 수 있는데, 여기서 현재의 누락 픽셀을 위한 최선의 값은 (가령, 이전의 필드의) 현재의 프레임 픽셀 값으로서 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 최선의 값 b는 b = t로서 판정될 수 있다.
만일 그렇지 않으면, 프로세스(600)는 동작(612), "best = 이전 프레임 픽셀 값"(best = previous frame pixel value)에서 계속될 수 있는데, 여기서 현재의 누락 픽셀을 위한 최선의 값은 이전의 프레임 픽셀 값으로서 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 최선의 값 b는 b = w로서 판정될 수 있다.
프로세스(600)는 동작(614), "위의 픽셀 및 아래의 픽셀 간의 최대치를 계산함 -> (maxval)"(Calculate max between pixel above and pixel below -> (maxval))에서 계속될 수 있는데, 여기서 현재의 누락 픽셀의 위의 픽셀 및 아래의 픽셀 간의 최대가 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 현재의 누락 픽셀의 위의 픽셀 및 아래의 픽셀 간의 최대치인 maxval은 maxval = m = max(A, B)로서 판정될 수 있다.
프로세스(600)는 동작(615), "위의 픽셀 및 아래의 픽셀 간의 최소를 계산함 -> (minval)"(Calculate min between pixel above and pixel below -> (minval))에서 계속될 수 있는데, 여기서 현재의 누락 픽셀의 위의 픽셀 및 아래의 픽셀 간의 최소(min)가 판정될 수 있다. 예컨대, 만일 현재의 픽셀이 y인 경우, 현재의 누락 픽셀의 위의 픽셀 및 아래의 픽셀 간의 최소인 minval은 minval = n = min(A, B)로서 판정될 수 있다.
프로세스(600)는 판단 동작(616), "maxval < 256 - max_threshold?"에서 계속될 수 있는데, 여기서 현재의 누락 픽셀의 위의 픽셀 및 아래의 픽셀 간의 최대치가 256(가령, 최대 허용 값) 및 max_threshold 간의 차이보다 더 작은지에 대해 판정이 행해질 수 있다. 예컨대, max_threshold t1은 사전결정된 임계 값으로서 제공될 수 있고 동작(616)에서의 판단은 m < 256 -t1인지에 대해 판정될 수 있다.
만일 그렇다면, 프로세스(600)는 동작(617), "maxval = maxval + max_threshold"에서 계속될 수 있는데, 여기서 maxval은 maxval + max_threshold로서 업데이트될 수 있다. 예컨대, maxval은 maxval = maxval + max_threshold(가령, m += t1)로서 제공될 수 있다.
만일 그렇지 않으면, 프로세스(600)는 동작(618), "maxval = 255"에서 계속될 수 있는데, 여기서 maxval은 255로서 업데이트될 수 있다. 예컨대, maxval은 maxval = 255로서 제공될 수 있다.
프로세스(600)는 판단 동작(619), "minval < max_threshold?"에서 계속될 수 있는데, 여기서 현재의 누락 픽셀의 위의 픽셀 및 아래의 픽셀 간의 최소가 앞서 논의된 max_threshold t1보다 더 작은지에 대해 판정이 행해질 수 있다. 예컨대, 동작(619)에서의 판단은 n < t1인지에 대해 판정될 수 있다.
만일 그렇다면, 프로세스(600)는 동작(620), "minval = minval - max_threshold"에서 계속될 수 있는데, 여기서 minval은 minval - max_threshold로서 업데이트될 수 있다. 예컨대, minval은 minval = minval - max_threshold(가령, n = n - t1)으로서 제공될 수 있다.
만일 그렇지 않으면, 프로세스(600)는 동작(621), "minval = 0"에서 계속될 수 있는데, 여기서 minval은 0으로서 업데이트될 수 있다. 예컨대, minval은 minval = n = 0으로서 제공될 수 있다.
프로세스(600)는 동작(622), "Preval = Clamp(best,minval,maxval)에서 계속될 수 있는데, 여기서 best(가령, b), minval(가령 n) 및 maxval(가령, m)을 사용하여 클램핑(clamping) 동작을 기반으로 추정(estimate)이 판정될 수 있다. 예컨대, 추정 j는 j = clamp(b, m, n)로서 판정될 수 있다.
프로세스(600)는 동작(623), "moval = abs(cfb - pfp)"에서 계속될 수 있는데, 여기서 (가령, 이전의 필드의) 현재 프레임 픽셀 및 이전 프레임 픽셀에 기반하여 움직임 값(motion value)이 판정될 수 있다. 예컨대, 움직임 값 moval 또는 k는 moval = k = abs(cfp - pfp) = abs(t - w)로서 판정될 수 있다.
프로세스(600)는 판단 동작(624), "moval > motion_threshold?"에서 계속될 수 있는데, 여기서 움직임 값이 움직임 임계(motion threshold)보다 더 큰지에 대해 판정이 행해질 수 있다. 예컨대, 움직임 임계 motion_threshold 또는 t2는 사전결정된 움직임 임계일 수 있다. 예컨대, 동작(624)에서의 판단은 k > t2인지에 대해 판정될 수 있다.
만일 그렇다면, 프로세스(600)는 동작(625), "moval = moval - motion_threshold"에서 계속될 수 있는데, 여기서 moval은 moval - motion_threshold로서 업데이트될 수 있다. 예컨대, moval은 moval = moval - motion_threshold(가령, k = k - t2)로서 제공될 수 있다.
만일 그렇지 않으면, 프로세스(600)는 동작(626), "moval = 0"에서 계속될 수 있는데, 여기서 moval은 0으로서 업데이트될 수 있다. 예컨대, moval은 moval = k = 0으로서 제공될 수 있다.
프로세스(600)는 동작(627), "moval = moval * motion_sense_thr"에서 계속될 수 있는데, 여기서 moval은 moval * motion_sense_thr로서 업데이트될 수 있다. 예컨대, motion_sense_thr는 사전결정된 임계 t3와 같은 움직임 감지 임계(motion sensing threshold)일 수 있다. 예컨대, moval은 moval = moval * motion_sense_thr(가령, k = k·t3)로서 제공될 수 있다.
프로세스(600)는 동작(628), "moval = Clamp(moval,0,256)"에서 계속될 수 있는데, 여기서 moval은 moval, 0 및 256을 사용하여 클램핑 동작을 기반으로 업데이트될 수 있다. 예컨대, k, 곧 moval에 대한 업데이트는 k = clamp(moval,0,256)으로서 판정될 수 있다.
프로세스(600)는 동작(629), "pixelval = (preval*(256 - moval) + avg_sc*moval)/256"에서 계속될 수 있는데, 여기서 현재의 누락 픽셀은 논의된 바와 같이 동작(608)에서 판정된 평균과, moval과, (가령 preval을 통하여) 최선의 값에 기반하여 판정될 수 있다. 예컨대 현재의 픽셀 값 f는 f = (j*(256 - k) +s*k)/256으로서 판정될 수 있다.
판단 동작(602)에 관해서 논의된 바와 같이, 동작(604 내지 629)는 현재의 픽처 내의 각각의 픽셀에 대해 반복될 수 있다. 예컨대, 프로세스(600)는 GreedyH 비월제거기 구현을 제공할 수 있다.
예컨대, 프로세스(600)의 동작은 다음과 같이 제공될 수 있다: 0. 이것이 마지막 픽셀인가, 만일 그렇다면, 빠져나가되(exit), 아니면 다음 단계로 계속 간다; 1. 현재의 픽셀에 대해서, 이전의 필드의 위와 아래의 픽셀을 사용하여 평균 o=(A+B)/2를 계산한다; 2. 위의 다음의 픽셀 및 아래의 다음의 픽셀의 평균 p=(C+D)/2를 계산한다; 3. 위의 이전의 픽셀 및 아래의 이전의 픽셀의 평균 q=(E+F)/2를 계산한다; 계산된 이전 및 다음 픽셀을 사용하여 평균 r=(p+q)/2를 계산한다; 5. 위와 아래의 픽셀의 평균과, 다음 및 이전 픽셀의 평균을 사용하여 평균 s=(o+r)/2를 계산한다; 6. (이전의 필드의) 현재 픽셀 및 평균화된 픽셀 s의 절대차 u=abs(t-s)를 계산한다; 7. 이전 프레임 픽셀 및 평균화된 픽셀의 절대차 v=abs(w-s)를 계산한다; 8. 차이 픽셀 u와 v를 비교한다. 만일 (u< v)이면 b= t이되, 아니면 b= w인데, 여기서 b = 최선의 추정이다; 9. m= max(A, B)와, n=min(A,B)를 계산한다; 10. 만일 (m < 256 - t1)이면, m += t1이되, 아니면 m=255인데, 여기서 t1은 최대 임계(max threshold)이다; 11. 만일 (n > t1)이면, n+=t1이되, 아니면 n=0이다; 12. 추정 j = clamp (b, m, n)을 계산하는데 여기서 j는 사전 값(pre value)을 나타낸다; 13. k = abs (t-w)를 계산하는데 여기서 k는 움직임 값을 나타낸다; 14. 만일 (k > t2)이면, k = k - t2이되, 아니면 k=0인데, 여기서 t2sms 움직임 임계이다; 15. k = k *t3인데, 여기서 t3은 motion_sense_threshold이다; 16. k = clamp (k, 0, 256); 17. f = j*(256-k) + s*k)/256; 18. 단계 0으로 돌아간다.
논의된 바와 같이, 몇몇 예에서, 비월제거는 움직임 보상(motion compensation) 기법을 포함할 수 있다.
도 7은 본 개시의 적어도 몇몇 구현에 따라 마련된, 비월 비디오를 비월제거하기 위한 예시적인 적응적 프로세스(700)를 보여주는 흐름도이다. 예컨대, 프로세스(700)는 개선된 비월제거를 수행하기 위해 움직임 보상 보간(motion compensastion interpolation), 중간치 필터링(median filtering), 그리고 에지 지향 보간(edge directed interpolation)을 사용할 수 있다. 그러한 프로세스는 증가된 계산상의 복잡도라는 희생을 치뤄 더 높은 품질의 비월제거를 제공할 수 있다. 프로세스(700)는 도 7에 보여진 바와 같이 하나 이상의 동작(701 내지 709)을 포함할 수 있다. 프로세스(700)는 본 문서에서 논의된 바와 같이 비디오 사전처리(video preprocess)의 적어도 일부를 형성할 수 있다.
프로세스(700)는 시작 동작(701)으로부터 판단 동작(702), "프레임 대 필드 변환기"(Frame to Fields Converter)에서 시작할 수 있는데, 여기서 프레임이 필드로 변환될 수 있다.
프로세스(700)는 동작(703), "움직임 추정"(Motion Estimation)에서 계속될 수 있는데, 여기서 이용가능한 필드의 선 블록 간에 블록 단위로(on a block basis) 움직임 추정이 수행될 수 있다(가령, 블록은 이용가능한 선을 포함할 수 있지만 그러한 블록은 누락 픽셀을 포함하지 않을 수 있음). 예컨대, 동작(703)은 블록 단위로 움직임 벡터를 생성할 수 있다.
프로세스(700)는 동작(704), "움직임 보상된 보간"(Motion Compensated Interpolation)에서 계속될 수 있는데, 여기서 동작(703)에서 판정된 움직임 벡터는 각각의 비월제거된 프레임을 생성하기 위해 각각의 기존의 필드와 조합하기 위해 재생성될 필요가 있는 각각의 누락 필드(missing field)를 위해 선을 채울(fill in) 선-블록(line-block)을 획득하기 위해 스케일링되고(scaled) 사용될 수 있다. 예컨대, 선-블록은 동작(703)에서 논의된 누락 픽셀을 채울 수 있다.
프로세스(700)는 동작(705), "중간치 보간"(Median Interpolation)에서 계속될 수 있는데, 여기서 선을 채운 블록은 중간치 보간될 수 있다. 예컨대, 그러한 중간치 보간은 움직임 아티팩트와 같은 아티팩트를 감소시킬 수 있다. 예컨대, 중간치 보간기는, 픽셀 하나하나에 대해(on a pixel-by-pixel basis) 바로 위의 선 내의 픽셀, 바로 아래의 선 내의 픽셀, 그리고 합성된 움직임 보상된 보간된 필드로부터의 현재의 픽셀의 중간값을 취할 수 있다. 그러한 중간치 보간 기법은 동작(706)에서 적어도 부분적으로 해결될 수 있는 아티팩트를 도입할 수 있다.
프로세스(700)는 동작(706), "에지 지향 보간"(Edge Directed Interpolation)에서 계속될 수 있는데, 여기서 중간치 보간 판정된 픽셀은 움직임 보상된 합성된 선의 픽셀을 수정하기 위해 에지를 따름(가령, 에지 지향 보간)으로써 생성된 필터링된 공간적 보간일 수 있다.
프로세스(700)는 동작(707), "최종적인 비월제거된 프레임 생성"(Final Deinterlaced Frames Generation)에서 계속될 수 있는데, 여기서 에지 지향 보간된 픽셀은 최종적인 비월제거된 프레임으로서 제공될 수 있다.
프로세스(700)는 판단 동작(708), "마지막 프레임"(Last Frame)에서 계속될 수 있는데, 여기서 현재의 프레임이 처리를 위한 마지막 프레임인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(700)는 종료 동작(709)에서 종료할 수 있다. 만일 그렇지 않으면, 프로세스(700)는 논의된 바와 같이 동작(702)에서 계속될 수 있다.
나아가, 도시된 바와 같이, 동작(706 및 707) 중 하나 또는 둘 다는 프로세스(700) 내에서 생략될 수 있다. 예컨대, 처리는 직접적으로 동작(704)으로부터 동작(707)으로 계속될 수 있거나 처리는 직접적으로 동작(705)으로부터 동작(707)으로 계속될 수 있다. 그러한 처리는 합성된 픽셀(도시되지 않음)을 평가하는 판단 동작에 대한 것이거나 사전결정된 모드 선택에 기반하거나 유사한 것일 수 있다.
논의된 바와 같이, 프로세스(700)는 비디오 프레임을 필드로 변환하는 것 및 이용가능한 필드의 선-블록 간 움직임 추정을 블록 단위로 수행하는 것을 가능케 할 수 있다. 그러면 계산된 움직임 벡터는 각각의 비월제거된 프레임을 생성하기 위해 각각의 기존의 필드와 조합하기 위해 재생성될 필요가 있는 각각의 누락 필드 선을 채울 선-블록을 획득하는 데에 적절히 스케일링되고 사용될 수 있다. 그러면 블록 움직임 보상된 보간에 의해 채워진 선은 각각의 비월제거된 프레임을 생성하기 위해 가용 필드와 이후에 조합될 수 있는 비월제거된 필드를 생성하기 위해 최종 누락 선을 생성하기 위해서 추가의 향상을 위한 시작 기반일 수 있는데; 그러한 프레임의 시퀀스는 최종적인 비월제거된 비디오를 초래한다. 예시적 움직임 보상된 비월제거기에서, 향상 프로세스는 움직임 아티팩트를 감소시키기 위해 중간치 보간으로 이루어질 수 있는데 움직임 보상 프로세스로부터 에지 상에 생길 수 있는 블록 출현을 감소시키는 프로세스이다. 픽셀-픽셀 단위에서 중간치 보간기는 바로 위의 선 내의 픽셀, 바로 아래의 선으로부터의 픽셀, 그리고 합성된 움직임 보상된 보간된 필드로부터의 현재의 픽셀의 중간 값을 취할 수 있다. 그러한 중간치 필터링 프로세스는 몇몇 아티팩트를 도입할 수 있어서 다음 단계는 에지를 따르는 것(에지 지향 보간) 및 그것을 움직임 보상된 합성된 선의 픽셀을 수정하는 데에 사용하는 것에 의해 생성된 공간적 보간으로써 움직임 보상된 픽셀을 필터링하는 것을 수반할 수 있으니, 각각의 비월제거된 프레임을 형성하는 최종적인 보간된 필드를 초래하는 것이다.
논의된 바와 같이, 몇몇 예에서 북미에서의 비월 포맷은 29.97의 프레임 레이트(가령, 초당 59.94 필드의 필드 레이트)를 가지고 필름으로부터 포착된 콘텐트를 위한 프레임 레이트는 23.976(가령, (24/1001)x1000)인데, 이하의 논의를 포함하여 본 문서 내의 논의를 위하여, 비월 비디오의 프레임 레이트는 30 프레임/초(가령, 60 필드/초)라고 가정되고 필름의 프레임 레이트는 24 프레임/초라고 가정된다.
예컨대, 어떤 비디오 콘텐트는 30 프레임/초(60 필드/초)의 비월 포맷에서 비롯될 수 있는 반면 다른 비디오 콘텐트는 24 프레임/초, 30 프레임/초, 또는 60 프레임/초의 순차 포맷에서 비롯될 수 있는데, 디지털 콘텐트 배포자는 디지털 콘텐트의 배포를 위해 통일된 포맷을 사용할 수 있다.
도 8은 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 비디오 프로그램 집성 시스템(800)을 보여주는 도해이다. 도 8에 도시된 바와 같이, 시스템(800)은 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(format type analyzer, format converter and program aggregator)(804), 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(805), 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(806), 비디오 인코더(video encoder)(807), 비디오 인코더(808), 비디오 인코더(809), 그리고 시스템 다중화 채널 집성기(system mux channels aggregator)(810)를 포함할 수 있다.
예컨대, 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(804)는 비디오 콘텐트(801)를 포함할 수 있고 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(804)는 포맷을 분석하고, 포맷을 변환하며, 비디오 콘텐트(801)를 집성할 수 있다. 그러면 비디오 인코더(807)는 집성된 비디오 콘텐트를 (가령, H.264, MPEG-2, 또는 유사한 것과 같은 코덱(codec)을 통하여) 인코딩하여 인코딩된 집성된 비디오 콘텐트를 생성할 수 있다. 유사하게, 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(805)는 비디오 콘텐트(802)를 포함할 수 있고 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(805)는 포맷을 분석하고, 포맷을 변환하며, 비디오 콘텐트(802)를 집성할 수 있다. 그러면 비디오 인코더(808)는 집성된 비디오 콘텐트를 (가령, H.264, MPEG-2, 또는 유사한 것과 같은 코덱을 통하여) 인코딩하여 인코딩된 집성된 비디오 콘텐트를 생성할 수 있다. 나아가, 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(806)는 비디오 콘텐트(803)를 포함할 수 있고 포맷 유형 분석기, 포맷 변환기 및 프로그램 집성기(806)는 포맷을 분석하고, 포맷을 변환하며, 비디오 콘텐트(803)를 집성할 수 있다. 그러면 비디오 인코더(809)는 집성된 비디오 콘텐트를 (가령, H.264, MPEG-2, 또는 유사한 것과 같은 코덱을 통하여) 인코딩하여 인코딩된 집성된 비디오 콘텐트를 생성할 수 있다.
도시된 바와 같이, 비디오 콘텐트(801, 802, 803)는 각각 채널, 예를 들어 TV 채널 또는 콘텐트 채널, 예를 들어 채널 2, 17 및 23과 각각, 보여진 예에서 연관될 수 있다. 또한 도시된 바와 같이, 인코딩된 비디오 콘텐트는 전송 스트림(transport stream)(811)을 생성하기 위해 시스템 다중화 채널 집성기(810)를 통하여 집성되고/되거나 다중화될(multiplexed) 수 있다. 보여진 예에서, 전송 스트림(811)은 채널 2, 17, 13을 위한 비디오 콘텐트(801, 802, 803)를 포함한다. 그러나, 전송 스트림(811)은 임의의 수의 채널 및/또는 프로그램을 위한 비디오 콘텐트를 포함할 수 있다.
몇몇 예에서, 각각의 브로드캐스트(broadcast) TV 채널(가령, 각각 비디오 콘텐트(801, 802, 803)의 채널 2, 17, 13)은 차례차례(one-after-the-other) 프로그램을 포함하는 단일 스트림으로서 패키지화되어(packaged), 브로드캐스트될 수 있다. 예컨대, 동일한 브로드캐스트 채널 상의 TV 네트워크 뉴스와 같은 프로그램 중 몇몇은 비월 포맷(가령, 1080i HD)에서 비롯될 수 있고, 몇몇 영화는 24 프레임/초(가령, 1080i HD에서 60 필드/초로 텔레시네화됨)로서 비롯될 수 있으며, 몇몇 선전은 24 프레임/초(가령, 1080i HD에서 60 필드/초로 텔레시네화됨)에서 비롯될 수 있고, 몇몇 삽화적 콘텐트(episodic content)(가령, 시트콤(sitcom) 또는 유사한 것)는 24 프레임/초(가령, 1080i로 텔레시네화됨) 또는 30 프레임/초(가령, 직접적으로 1080p HD)에서 비롯될 수 있으며, 자동차 경주(car racing) 또는 활강 스키(downhill skiing)와 같은 격렬한 동작의 스포츠(high action sports)는 60 프레임/초(가령, 720p HD)에서 비롯될 수 있다. 몇몇 예에서, HD를 위한 (가령, 전송 스트림(811)을 위한) 보통의 배포 포맷은 (가령, 만일 비디오 콘텐트가 비월 비디오로서 비롯된 경우) 직접 1080 선 비월 신호를 인코딩한 후 또는 (가령, 만일 콘텐트가 24 프레임/초의 순차 필름 콘텐트로서 비롯된 경우) 24 프레임/초 포맷의 변환 후 30 프레임/초(가령, 60 필드/초) 비월 포맷을 인코딩한 후 30 프레임/초(가령, 60 필드/초) 포맷으로 비월로 된 1080개 선을 사용한다.
예컨대, 도 8은 브로드캐스트 채널 Ch2 비디오 스트림을, (가령, 순차 24 프레임/초의) 삽화적 콘텐트, (가령, 비월 30 프레임/초 또는 순차 30 프레임/초의) 뉴스/토크쇼, (가령, 비월 30 프레임/초의) 스포츠, (가령, 순차 24 프레임/초의) 광고, 그리고 (가령, 순차 24 프레임/초의) 영화/만화를 포함하는 쇼의 시퀀스를 포함하는 비디오 콘텐트(801)로 이루어진 것으로 보여준다. 유사하게, 도 8은, 예컨대, (가령, 비월 30 프레임/초의) 스포츠, (가령, 비월 30 프레임/초의) 스포츠방송 및 (가령, 순차 24 프레임/초의) 광고를 전하는 전문 채널 Ch 17과, (가령, 순차 24 프레임/초의) 영화/만화 및 (가령, 순차 24 프레임/초의) 광고를 전하는 전문 케이블 채널 Ch 23과 같은 다른 브로드캐스트 또는 케이블 채널을 보여준다.
그러한 예에서, 매우 높은 비트레이트(bitrate)를 요구할 무손실 형태(loseless form)로 콘텐트를 배포하기보다는, 콘텐트는 (가령, 비디오 인코더(807, 808, 809)를 통하여 구현된 바와 같이) MPEG-2, H.264 표준, 또는 유사한 것을 사용하여 손실 있는 압축(lossy compression)(가령, 약간 손실 있는 압축)을 겪은 후 배포될 수 있다. 예컨대, MPEG-2 또는 H.264 압축을 위한 압축 비트레이트는, 콘텐트 품질이 완전히 무손실은 아니더라도 높게끔(가령, 거의 무손실) 하기 위해, (HD를 위해) 초당 60 내지 300 메가비트(Mbits)의 범위 내에서, 꽤 높을 수 있다. 그러므로 각각의 채널의 미가공(raw) 비디오 스트림은 압축된 스트림을 초래하는 경량성 압축(light compression)을 겪는다. 나아가, 각각의 채널에 대해, 비디오 외에도, 연관된 소리 정보를 (가령, 스테레오(stereo) 또는 더 고도의 포맷으로) 전하는 하나 이상의 오디오 스트림이 있을 수 있고, 시스템(800)은 연관된 오디오 인코딩을 제공할 수 있는데, 이는 제시의 명확성을 위해 도시되지 않는다.
도시된 바와 같이, 몇 개의 그러한 압축된 스트림(가령 브로드캐스트 또는 케이블 채널 Ch2, Ch7 및 Ch23, 또는 유사한 것)은 채널 집성기(가령, 시스템 다중화 채널 집성기(810))에 의해 MPEG-2 전송 스트림과 같은 전송 스트림(가령, 전송 스트림(811))으로 일괄화될(bundled)/다중화될 수 있다. 몇몇 예에서, 몇 개의 그러한 전송 스트림은 집합적으로 지리적 영역 내에서 이용가능한 모든 비디오 스트림(가령, TV 채널)을 나타낼 수 있다.
도 9는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 비디오 프로그램 집성 시스템(900)을 보여주는 도해이다. 도 9에 도시된 바와 같이, 시스템(900)은 포맷 유형 판독기(format type reader)(902), 스위치(903, 904), 텔레시네 수행기(telecine performer)(905), 프로그램 비디오 스트림 결집기(program video stream assembler)(907) 및 프로그램 맵 테이블(program map table)(906)을 포함할 수 있다. 예컨대, 포맷 유형 판독기(902)는 비디오 콘텐트(901)를 수신할 수 있는데, 이는 다양한 콘텐트 및 연관된 포맷을 포함할 수 있다. 포맷 유형 판독기(902)는, 예컨대, 순차 24 프레임/초(p24), 순차 30 프레임/초(p30), 비월 30 프레임/초(p30), 순차 60 프레임/초(p60), 또는 유사한 것 중 하나를 포함할 수 있는 포맷 코드(format code)(frmt_code)(909)를 판정하기 위해 비디오 콘텐트(901) 또는 이의 부분을 분석할 수 있다.
도시된 바와 같이, 포맷 코드(909)는 스위치(903, 904)에 제공될 수 있는데, 이는 비디오 콘텐트(901) 또는 이의 부분을 위한 경로를 제공하도록 동작할 수 있다. 예컨대, 만일 포맷 코드(909)가 비디오 콘텐트(901)의 일부분이 비월 카메라로부터 비롯되었음(가령, 포맷은 진성 비월임)을 나타내는 경우, 스위치(903, 904)는 텔레시네 수행기(905)를 바이패스하고(bypass) 비디오 콘텐트 부분을 프로그램 비디오 스트림 집결기(907)에 제공할 수 있다. 다른 예에서, 만일 포맷 코드(909)가 비디오 콘텐트(901) 또는 이의 부분이 순차 24 프레임/초 비디오로서 비롯되었음을 나타내는 경우, 스위치(803, 904)는 비디오 콘텐트를 텔레시네 수행기(905)에 제공하도록 동작할 수 있다. 텔레시네 수행기(905)는 30 프레임/초(가령, 60 필드/초) 텔레시네화 비디오를 생성하기 위해 순차 24 프레임/초 비디오에 대해 텔레시네 동작을 제공할 수 있다. 그러한 텔레시네화 비디오는 본 문서에서 논의된 바와 같이 모조 비월(fake interlaced) 또는 의사 비월(pseudo-interlace)이라 간주될 수 있는데 텔레시네화 비디오는 비월 비디오의 구조를 가지나 몇몇 필드는 본 문서에서 논의된 바와 같이 반복되고/되거나, 맞바꿔지고/지거나, 합성되기 때문이다. 텔레시네 패턴은 3:2 풀다운, 2:3:3:2 풀다운, 혼합(blended), 또는 임의의 다른 텔레시네 패턴을 포함할 수 있다. 예컨대, 50개를 넘는 텔레시네 패턴이 다양한 콘텐트 제공자 또는 집성자에 의해 사용될 수 있다.
도시된 바와 같이, 더 높은 프레임 레이트의 순차 비디오나, 텔레시네화 비디오나, 비월 비디오가 프로그램 비디오 스트림 집결기(907)에 제공될 수 있는데, 이는 집결된 비디오(908)를 생성하기 위해 비디오를 집결시킬 수 있다. 그러한 집결된 비디오는 인코딩(가령, 경량성 인코딩(light encoding))을 위해 비디오 인코더(가령, 비디오 인코더(807, 808, 809))에 제공될 수 있고 그러한 인코딩된 비디오는 시스템(800)에 관해서 논의된 바와 같이 전송 스트림을 생성하기 위해 다른 채널과 다중화될 수 있다. 나아가, 비디오 콘텐트(901)의 각각의 부분 또는 프로그램(가령, 삽화적 콘텐트, 뉴스/토크쇼, 스포츠, 영화/만화 등등)은 프로그램 맵 테이블(906)을 제공하기 위해 맵핑될(mapped) 수 있다. 예컨대, 프로그램 맵 테이블(906)은 비디오 콘텐트(901)의 각각의 프로그램 및 각각의 프로그램의 순서를 식별할 수 있다.
도시된 바와 같이, 도 9는 도 8에서 논의된 변환 및 프로그램 집성 프로세스를 보여준다. 예컨대, 각각 프로그램(가령, 삽화적 콘텐트, 뉴스/토크쇼, 스포츠, 광고, 영화/만화 등등)에 대응하는 비디오의 상이한 소스는, 프로그램의 유형에 따라서, 통상적으로 표준 선명도(가령, 480p) 해상도 또는 고선명도(가령, 720p 또는 1080p) 해상도로 된 순차(가령, 24, 30 또는 60 프레임/초) 또는 비월(30 프레임/초) 포맷일 수 있다. 예컨대, 그러한 비디오 포맷은 북미에서의 비디오 포맷에 대응할 수 있다. 예컨대, 삽화적 콘텐트는 순차 24 프레임/초 비디오일 수 있고, 뉴스/토크쇼는 순차 30 프레임/초 비디오 또는 비월 30 프레임/초 비디오일 수 있으며, 스포츠 콘텐트는 비월 30 프레임/초 비디오일 수 있고, 광고는 순차 24 프레임/초 비디오일 수 있으며, 영화/만화는 순차 24 프레임/초 비디오일 수 있다.
논의된 바와 같이, 만일 콘텐트가 비월 카메라로부터 비롯된 경우 그것은 있는 그대로 유지될 수 있다. 나아가, 24 프레임/초 필름 소스로부터 비롯되는 임의의 삽화적 콘텐트, 영화/만화 콘텐트 또는 선전(가령, 광고)은 60 필드/초로 텔레시네 변환될 수 있다. 또한, 도시된 바와 같이, 프로그램 집결기(가령, 프로그램 비디오 스트림 집결기(907))는, 예컨대, 먼저 토크쇼(가령, 선전이 섞이거나 그렇지 않음), 이어서 몇 개의 다른 토크쇼(가령, 선전이 섞이거나 그렇지 않음), 이어서 몇 개의 시트콤 및 삽화적 콘텐트(가령, 선전이 섞임), 이어서 영화(가령, 선전이 섞이거나 그렇지 않음), 이어서 다른 삽화적 콘텐트, 그리고 기타 등등과 같은 프로그램의 스트림을 레이아웃할 수 있는데, 각각의 프로그램은 프로그램 맵 테이블(906)에 의해 식별된다. 집결된 미가공 비디오 프로그램(가령, 집결된 비디오(908))은 보통의 포맷, 예를 들어 30 프레임/초로 될 수 있고 그러면 그러한 집결된 미가공 비디오 프로그램 콘텐트는 도 8의 시스템(800)에 관해서 논의된 바와 같이 경량성 인코딩을 겪을 수 있다. 논의된 처리에 대한 대안은 먼저 각각의 비디오 프로그램을 (가령, MPEG-2 또는 H.264를 통하여) 별도로 인코딩하는 것 및 상이한 포맷 유형 및/또는 프레임 레이트의 압축된 스트림을 채널로 집결시키는 것을 포함할 수 있다. 그러한 기법은 전체 스트림을 위한 통일된 포맷/프레임 레이트의 이득을 포함하지 않을 수 있다.
그러한 예에서, 서비스 제공자(가령, 인터넷 또는 다른 네트워크 상에서 비디오 콘텐트를 제공하는 인터넷 서비스 제공자)는 콘텐트 집성 프로세스에 대해 별로 통제를 하지 못한다. 예컨대, 서비스 제공자는 고품질/높은 비트레이트 콘텐트를 전달받을 수 있다. 서비스 제공자는 예를 들어 (예컨대, H.264 또는 HEVC를 통하여) 더 높은 압축을 제공함으로써 그러한 콘텐트를 처리하기로 선택할 수 있다. 그러한 프로세스는 수신된 더 높은 비트레이트의 인코딩된 콘텐트를 디코딩하는 것을 우선 요구할 수 있다. 그러면 디코딩된 콘텐트는 더 높은 효율의 인코딩 프로세스를 사용하여 인코딩될 수 있고, 예컨대 소비자 디지털 비디오 서비스(consumer digital video service)로서 콘텐트를 전달할 수 있다.
도 10은 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 비디오 프로그램 재패키지화 시스템(1000)을 보여주는 도해이다. 도 10에 도시된 바와 같이, 시스템(1000)은 시스템 역다중화 채널 분리기(system demux channels segregator)(1001), 비디오 디코더(video decoder)(1002), 비디오 디코더(1003), 비디오 디코더(1004), 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(format type analyzer, program segregator and format inverter)(1005), 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1006), 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1007), 비디오 인코더(1008), 비디오 인코더(1009) 및 비디오 인코더(1010)를 포함할 수 있다.
예컨대, 시스템 역다중화 채널 분리기(1001)는 전송 스트림(811)(또는 유사한 전송 스트림)을 수신할 수 있다. 시스템 역다중화 채널 분리기(1001)는 전송 스트림(811)을 채널(가령, ch2, ch17, ch23, 또는 유사한 것)로 분리하거나 비디오 스트림을 구분하고 그러한 채널 또는 비디오 스트림을 비디오 디코더(1002, 1003, 1004)에 제공할 수 있다. 비디오 디코더(1002, 1003, 1004)는 디코딩된 채널 또는 비디오 스트림을 생성하기 위해 채널 또는 비디오 스트림을 디코딩할 수 있다. 예컨대, 비디오 디코더(1002, 1003, 1004)는 인코딩된 채널 또는 비디오 스트림을 디코딩하기 위해 채널 또는 비디오 스트림과 연관된 적합한 코덱(가령, H.264, MPEG-2, 또는 유사한 것)을 구현할 수 있다.
디코딩된 채널 또는 비디오 스트림은 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)에 제공될 수 있는데, 이는 디코딩된 채널 또는 비디오 스트림을 수신하고, 수신된 채널 또는 비디오 스트림 또는 이의 부분의 포맷 유형(들)을 판정하며, 수신된 채널 또는 비디오 스트림 내의 프로그램을 분리하고 채널 또는 비디오 스트림의 포맷을 역변환할 수 있다. 예컨대, 포맷(들)은 순차 비디오 포맷과 같이 최신의 비디오 인코더를 통한 인코딩에 적합한 포맷으로 역변환될 수 있다. 예컨대, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)은 비월 포맷 및/또는 텔레시네화 포맷을 인코딩을 위해 순차 포맷으로 역변환할 수 있다.
도시된 바와 같이, 역변환된 채널 또는 비디오 스트림은 비디오 인코더(1008, 1009, 1010)에 제공될 수 있는데, 이는 인코딩된 비디오(1011, 1012, 1013)를 생성하기 위해 역변환된 채널 또는 비디오 스트림을 인코딩할 수 있다. 예컨대, 인코딩된 비디오(1011, 1012, 1013)는 서비스 제공자가 그러한 인코딩된 비디오(1011, 1012, 1013)를 사용자에게 제공할 수 있도록 압축될 수 있다. 몇몇 예에서, 인코딩된 비디오(1011, 1012, 1013)는 매우 압축되고, 인터넷 또는 다른 네트워크 상에서의 배포를 위한, 그리고 모니터, 핸드헬드 디바이스(handheld device)의 디스플레이, 랩톱(laptop)의 디스플레이, 그리고 최신식 HDTV 디스플레이, 또는 유사한 것과 같이 순차 비디오를 위해 설계된 디스플레이 상에서 보기 위한 적합한 품질의 것일 수 있다.
예컨대, 도 10은 집성된 콘텐트를 역다중화하고 디코딩하며 콘텐트를 서비스 제공자에 의한 비디오 서비스의 전달을 위해 더 높은 압축 인자(compression factor)로 재인코딩하는 프로세스를 보여줄 수 있다. 재인코딩된 콘텐트는 다시 예컨대, MPEG-2 전송 또는 다른 포맷, 예를 들어 MP4 파일 포맷 또는 유사한 것으로 서비스의 전달을 위해 다중화될(도시되지 않음) 수 있다. 예컨대, 도 10의 컴포넌트는 비디오 채널을 역다중화하는 것(그리고, 디코딩 및 재인코딩을 포함하는 연관된 오디오 스트림 처리(다만, 제시의 명확성을 위하여 오디오 스트림 처리의 그러한 것이 도시되지는 않음))을 위한 메커니즘을 제공할 수 있다. 예컨대, 도시된 바와 같이, 비디오 채널을 나타내는 각각의 역다중화된 비디오 스트림은 시스템 역다중화 채널 분리기(1001)로부터 대응하는 비디오 디코더(가령, MPEG-2, H.264, 또는 유사한 디코더, 예를 들어 비디오 디코더(1002 내지 1004) 중 하나)에 제공될 수 있고, (가령, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005 내지 1007)를 통한) 선택적인 포맷 변환은 예컨대 HEVC 인코더(또는 다른 인코더, 예를 들어 MPEG-2, H.264, VP9, 또는 유사한 것), 예를 들어 비디오 인코더(1008 내지 1010) 중 하나를 통하여 더 높은 압축으로 재인코딩하기 전이다. 예컨대, 압축된 집성된 콘텐트의 디코딩은 디코딩된 YUV 프레임을 초래한다(통상적으로 8 비트 YUV 4:2:0 포맷으로 되는데 다만 프로세스는 더 높은 비트 깊이(bit depth)뿐만 아니라 4:2:2 및 4:4:4와 같은 더 높은 크로마(chroma)에 또한 적용될 수는 있음).
(도 8 및 도 9에 관해서 논의된 바와 같은) 콘텐트 집성 측에서의 전체 프로세스와 달리, 도 10에 보여진 프로세스는 서비스 제공자에 의해 수행될 수 있고 따라서 서비스 제공자에 의해 제어될 수 있다. 처리에 대한 그러한 제어는, 예컨대, 비디오 포맷의 처리/변환, 비디오 인코딩의 세부사항(가령, 코덱, 인코더 복잡도, 하드웨어 또는 소프트웨어 내의 이식, 해상도, 압축 비트레이트, 스트림 스위칭 지연, 인코딩 파라미터, 레이트 제어 등등), 그리고/또는 오디오 인코딩의 세부사항을 포함할 수 있는데, 이들은 제시의 명확성을 위하여 도시되지 않는다. 서비스 제공자에 의해 수행되는 (포맷 변환을 포함하는) 전체적인 처리는 특히 서비스 제공자에게 전달된 경량성으로 인코딩된 콘텐트가 높은 품질의 것인 경우에 최종 비디오 품질에 상당한 영향을 미칠 수 있다. 예컨대, 서비스 제공자는 이로써 자신이 사용자에게 전달하는 비디오 서비스의 품질의 측면에서 자신을 차별화할 수 있다.
논의된 바와 같이, 시스템(1000)과 같이 비디오를 디코딩하고 재인코딩하기 위한 시스템은 하나 이상의 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)를 포함할 수 있다. 그러한 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)는 다양한 기법을 통하여 구현될 수 있다.
도 11a는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템(1100)을 보여준다. 도 11a에 도시된 바와 같이, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기는 비월제거기(1102)를 포함할 수 있다. 예컨대, 비월제거기(1102)는 집성된 입력 비디오(집성 입력 비디오(aggr in video))(1101)를 수신할 수 있는데, 이는 시스템(1000)에 관해서 논의된 디코딩된 채널 또는 비디오 스트림(가령, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)에 제공되는 디코딩된 채널 또는 비디오 스트림, 도 10을 참조하시오) 중 하나에 대응할 수 있다. 도시된 바와 같이, 비월제거기(1102)는 집성된 출력 비디오(집성 출력 비디오(aggr out video))(1103)를 생성하기 위해 집성된 입력 비디오(1101)를 비월제거할 수 있다. 예컨대, 집성된 출력 비디오(1103)는 순차 비디오를 포함할 수 있고 집성된 출력 비디오(1103)는 인코딩을 위해 비디오 인코더(가령, 비디오 인코더(1008, 1009, 1010) 중 하나)에 제공될 수 있으며, 그러한 인코딩된 비디오는 선택적으로 다중화되고 이후에 서비스 제공자 또는 유사한 것을 통하여 배포될 수 있다. 비월제거기(1102)는 집성된 입력 비디오(1101)를 본 문서에서 논의된 것과 같은 임의의 비월제거 기법을 사용하여 비월제거할 수 있다.
예컨대, 도 11a의 시스템(1100)은 기본적인 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기를 제공할 수 있다. 논의된 바와 같이, 시스템(1100)은 비월제거기(1102)와 같은 비월제거기를 포함할 뿐일 수 있다. 예컨대, 입력된 집성된 비디오(가령, 집성된 입력 비디오(1101))는 항상 비월 포맷인 것이라고 가정될 수 있고 그러한 입력된 집성된 비디오는 본 문서에서 논의된 바와 같은 추가 처리/인코딩을 위해 순차 포맷으로 비월제거기에 의해 변환될 수 있다.
도 11b는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템(1110)을 보여준다. 도 11b에 도시된 바와 같이, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기는 순차 분석기(progressive analyzer)(1105), 스위치(1106, 1107) 및 비월제거기(1109)를 포함할 수 있다. 예컨대, 순차 분석기(1105)는 집성된 입력 비디오(1101)를 수신할 수 있는데, 이는, 논의된 바와 같이, 시스템(1000)에 관해서 논의된 디코딩된 채널 또는 비디오 스트림(가령, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)에 제공되는 디코딩된 채널 또는 비디오 스트림, 도 10을 참조하시오) 중 하나에 대응할 수 있다. 도시된 바와 같이, 순차 분석기(1105)는, 집성된 입력 비디오(1101)에 기반하여, 순차 지시자(progressive indicator)(prog_ind)(1104)를 판정할 수 있는데, 이는 집성된 입력 비디오(1101)(또는 이의 일부분)가 순차 또는 비월인지를 나타내는 이진 값 또는 플래그(flag)를 포함할 수 있다.
도시된 바와 같이, 순차 지시자(1104)는 스위치(1106, 1107)에 제공될 수 있다. 예컨대, 스위치(1106, 1107)는 만일 집성된 입력 비디오(1101)의 일부분이 순차라고 판정되는 경우, 스위치(1106, 1107)가 비월제거기(1109)를 바이패스하고 비디오의 그 부분을 직접적으로 순차 비디오(progressive video)(prog video)(1108)로서 (가령, 추가 처리 없이) 제공할 수 있도록 순차 지시자(1104)의 제어 하에서 동작할 수 있다. 나아가, 스위치(1106, 1107)는, 집성된 입력 비디오(1101)의 그 부분이 비월이라고 판정되는 경우, 비디오의 그 부분을 비월제거기(1109)에 제공한다. 비월제거기(1109)는 비디오의 그 부분을 비월제거하여 순차 비디오를 생성할 수 있는데, 이는 순차 비디오(1108)로서 제공될 수 있다. 예컨대, 시스템(1100)은 집성된 입력 비디오(1101)의 검출된 순차 부분을 추가 처리 없이 제공할 수 있고 시스템(1110)은 집성된 입력 비디오(1101)의 검출된 비월 부분을 비월제거하여 순차 비디오(1108)를 생성할 수 있다. 예컨대, 순차 비디오(1108)는 인코딩을 위해 비디오 인코더(가령, 비디오 인코더(1008, 1009, 1010) 중 하나)에 제공될 수 있고, 그러한 인코딩된 비디오는 선택적으로 다중화되고 이후에 서비스 제공자 또는 유사한 것을 통하여 배포될 수 있다. 비월제거기(1109)는 집성된 입력 비디오(1101)를 본 문서에서 논의된 것과 같은 임의의 비월제거 기법을 사용하여 비월제거할 수 있다.
예컨대, 도 11b의 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템은 도 11의 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템보다 개선된 성능을 제공할 수 있다. 도 11b의 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템은 입력 비디오가 순차 또는 비월인지 분석하고 결과를 prog_ind 플래그(가령, prog_ind(1104))의 이진 값으로서 나타낼 수 있는 순차 분석기(가령, 순차 분석기(1105))를 포함할 수 있다. prog_ind 플래그는 입력 비디오가 비월제거기(가령, 비월제거기(1109))에 발신되거나 아니면 그것이 비월제거기를 바이패스하도록 두 스위치(가령, 스위치(1106, 1107))의 동작을 제어할 수 있다. 제2 스위치(가령, 스위치(1107))의 출력은 순차 포맷으로 된 최종 출력 비디오이다.
본 문서에서 논의된 몇몇 콘텐트 집성 프로세스는 아티팩트를 도입할 수 있는데, 이는, 만일 서비스 제공자에 의해 정정되지 않는 경우, 최종 비디오 품질에 상당한 영향을 미칠 수 있다. 예컨대, 몇몇 프로세스는 24 프레임/초 필름, 선전 및 삽화적 콘텐트를 30 프레임/초(가령, 60 필드/초) 비월 콘텐트, 더 높은 압축 최신 표준(가령, HEVC 또는 유사한 것)에 의해 효율적으로 압축가능하지 않을 수 있는 포맷으로 변환할 수 있거나 그러한 프로세스는 서비스 제공자에 의해 압축이 사용된 후 가시적인 아티팩트를 보여줄 수 있다. 또한, 만일 콘텐트가 비월 콘텐트로서 경량성으로 압축되어 비롯된 경우 그리고 그것을 디코딩하는 것이 이 포맷을 초래한 후, 다음에 더 새로운 더 높은 압축 최신 코덱(가령, HEVC)과 함께 필요한 인코딩은 그 포맷을 위한 효율적인 코딩을 지원하거나 제공하지 않을 수 있다. 따라서, 서비스 전달을 위한 추가 압축 전에, 비디오 포맷 전처리(preprocessing)가 콘텐트의 변환을 위해 수행될 수 있는데, 집성된 콘텐트를 디코딩한 후, 추가 처리를 위해 적합한 포맷으로 그것을 변환하기 위해서이다. 나아가, 논의된 바와 같이, 단일 스트림(가령, 브로드캐스트 스트림) 내의 콘텐트의 부분은 상이한 포맷을 포함할 수 있다. 몇몇 예에서, 그러한 서브스트림 간의 경계에 대한 정보는 전혀 이용가능하지 않을 수 있거나, 만일 이용가능하더라도, 그것은 정확하지 않을 수 있다.
현재의 접근법은 단순한 경로를 따를 수 있고 콘텐트 집성에 잘 적응되지 않을 수 있다. 예컨대, 현재의 접근법은 프로그램에 의해 사용되는 비디오 포맷의 유형이 알려진 경우, 예를 들어 만일 비디오 소스가 비월 카메라 또는 DVD 또는 블루레이(Blu-Ray: BD) 디스크인 경우 변환을 다루도록 설계될 수 있다. 그러나, 현재의 접근법은, 집성된 콘텐트, 예를 들어 상이한 콘텐트 유형(가령, 영화, 스포츠, 뉴스 프로그램, 삽화적 쇼, 토크쇼 등등), 상이한 콘텐트 포맷 및/또는 프레임 레이트(가령, 비월, 순차, 24, 30 및 60 프레임/초, 필름 주사식(film scanned), 카메라 생성식(camera generated), 애니메이션(animation) 등등)의 연접(concatenation)에 의해 형성된 콘텐트, 또는 편집된 콘텐트(가령, 시간 스케일링됨(time scaled), 예를 들어 확장되거나 단축됨, 프레임 제거됨(frame removed) 등등)가 필요로 하는 변환을 양호한 품질로써 다루기에 충분히 적응적이지 않을 수 있다. 비디오에서의 그러한 차이는 비월 반전(가령, 비월제거) 또는 텔레시네 반전과 같은 콘텐트 포맷 변환을 어렵게 만들 수 있다. 예컨대, 많은 유형의 콘텐트, 포맷 및 편집을 포함하는 복잡한 비디오 스트림 내에서, 임의의 포맷 역변환을 적용하기 전에, 소스 비디오의 입력 포맷을 자동으로 판정하는 것이 우선 필요할 수 있다. 그러한 포맷 판정은 또한 정확히 수행하기가 어려울 수 있어, 어떤 역변환을 적용할지 판정하는 것을 어렵게 한다.
나아가, 미가공 콘텐트의 인코딩의 프로세스는, 심지어 높은 비트레이트에서도, 프레임-프레임 또는 필드-필드 상관을 감소시키는 경향이 있는데, 이는 콘텐트의 포맷에 대한 판단을 행하는 데에 중대할 수 있다. 현재의 접근법은, 결국 원치 않는 아티팩트 및/또는 더 높은 비트레이트를 야기할 수 있는 부정확한 검출로 이어질 수 있는 상대적으로 간단한 검출 방책을 사용할 수 있다.
본 문서에서 논의된 실시예는 프로그램의 단일 순차 비디오 스트림을 생성하기 위해 집성 프로세스 동안에 적용된 (아티팩트를 도입할 수 있는) 포맷 변환 전처리를 정확히 반전하기 위한 집성된 콘텐트의 비디오 처리를 개선할 수 있다. 실시예는 콘텐트가 순차 또는 비월인지 및/또는 콘텐트가 진성 비월(가령, 비월 카메라에 의해 생성됨) 또는 의사/모조 비월(가령, 텔레시네 프로세스에 의해 생성된 비월을 가짐)인지를 적응적으로 판정할 수 있다. 예컨대, 만일 콘텐트가 순차라고 판정된 경우, 그것은 그러한 것으로서 출력될 수 있어, 임의의 다른 처리를 바이패스한다. 나아가, 만일 콘텐트가 비월이라고 여겨지는 경우, 비월 콘텐트가 진성 비월 또는 모조 비월인지에 대해 추가 판정이 수행될 수 있다. 만일 콘텐트가 진성 비월이라고 여겨지는 경우, 그것은 비월 반전기/비월제거기에 제공될 수 있다. 예컨대, 비월 반전기/비월제거기는 본 문서에서 추가로 논의되는 바와 같이 콘텐트 적응적 비월제거기(content adaptive deinterlacer)일 수 있다. 만일 콘텐트가 모조 비월이라고 판정되는 경우 그것은 텔레시네 변환을 겪은 것으로 판정된다. 그러한 예에서, 적응적이고 효율적인 텔레시네 변환기가 텔레시네 변환을 위해 몇 개의 패턴 중 어느 것이 사용되었는지를 적응적으로 판정하고 텔레시네 프로세스를 되돌릴 수 있으니, 24 프레임/초 순차 비디오 또는 유사한 것과 같은 순차 비디오를 초래한다. 몇몇 예에서, 몇몇 비디오 프로그램에 대해, 비디오의 포맷은 (가령, MPEG-2 비트스트림 내의 인코딩된 파라미터 또는 유사한 것으로부터) 알려질 수 있다. 그러나, 다른 예에서, 그러한 정보는 미지일 수 있다. 그러한 정보를 평가하고 본 문서에서 논의된 기법을 구현함으로써 다양한 실시예는 서비스 제공자에 의한 (가령, 더 높은 압축 인자/더 낮은 비트레이트로의) 인코딩을 위해 고품질 순차 포맷 비디오를 산출하는 데에 필요한 포맷 및 변환을 판정하는 온전히 자동적인 방법을 제공할 수 있다. 결과로서, 본 문서에서 논의된 실시예는 순차 디스플레이(progressive display) 상에 디스플레이되는 경우 결과적인 비디오 신호 내의 가시적인 아티팩트의 감소 및 최신의 비디오 인코더를 이용한 더 적은 아티팩트를 갖는 비디오 프레임 서브스트림의 더 효율적인 압축과 같은 이득을 줄 수 있다.
도 12는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기 시스템(1200)을 보여준다. 도 12에 도시된 바와 같이, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(가령, 시스템(1200))는 비월/순차 프레임 분류기(interlaced/progressive frame classifier)(1202), 프레임 그룹 버퍼(frame group buffer)(1204), 프레임 그룹 텔레시네 패턴/순차/비월 분류기(frame group telecine pattern/progressive/interlaced classifier)(1205), 스위치(1209, 1210), 콘텐트 적응적 비월 반전기(content adaptive interlace reverser)(1211) 및 텔레시네 반전기(telecine reverser)(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)를 포함할 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 집성된 입력 비디오(집성 비디오(aggr. video))(1201)를 수신할 수 있는데, 이는 시스템(1000)에 관해서 논의된 디코딩된 채널 또는 비디오 스트림(가령, 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기(1005, 1006, 1007)에 제공되는 디코딩된 채널 또는 비디오 스트림, 도 10을 참조하시오) 중 하나에 대응할 수 있다.
도시된 바와 같이, 비월/순차 프레임 분류기(1202)는 집성된 입력 비디오(1201)의 프레임을 위한 프레임 패턴, 예를 들어 프레임이 비월 또는 순차인지를 판정할 수 있다. 이 맥락에서 용어 비월은 (가령, 비월 카메라 또는 유사한 것으로부터의) 진성 비월 또는 모조/의사 비월(가령, 텔레시네 프로세스에 기반한 비월) 양자 모두를 포함한다. 또한 도시된 바와 같이, 비월/순차 프레임 분류기(1202)는 각각의 프레임이 비월 또는 순차라고 판정되는지에 대응하는 집성된 입력 비디오(1201)의 프레임을 위한 비월 프레임 지시자(interlaced frame indicator)(intl_frm)(1203)를 제공할 수 있다. 비월/순차 프레임 분류기(1202)는 프레임이 비월 또는 순차인지를 도 13 내지 도 16, 도 25, 도 17, 도 26 및 도 18에 관해서 또는 본 문서에서 다른 데에서 논의된 것과 같은 임의의 적합한 기법 또는 기법들을 사용하여 판정할 수 있다.
도시된 바와 같이, 집성된 입력 비디오(1201)는 프레임 그룹 버퍼(1204) 내에 저장될 수 있다. 예컨대, 현재의 프레임 그룹의 5개 프레임, 이전의 프레임 그룹의 5개 프레임, 이후의 프레임 그룹의 5개 프레임, 그리고 1개의 선택적인 제어 프레임을 포함하여 15개 또는 16개의 프레임이 프레임 그룹 버퍼 내에 저장될 수 있다. 나아가 저장된 프레임(가령, 프레임 그룹 및 선택적인 제어 프레임)은 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)에 제공될 수 있다. 또한, 프레임 그룹을 위한 비월 프레임 지시자(1203)가 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)에 제공될 수 있다. 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는, 현재의 프레임 그룹에 대해, 프레임 그룹 포맷 또는 패턴, 예를 들어 프레임 그룹이 순차, 비월 또는 텔레시네화인지를 판정할 수 있다. 또한, 만일 프레임 그룹이 텔레시네화인 경우, 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는 프레임 그룹을 위한 텔레시네 패턴을 판정할 수 있다. 예컨대, 텔레시네 패턴은 3:2 풀다운, 2:3:3:2 풀다운, 혼합, 또는 다른 것 중 하나일 수 있다. 나아가, 텔레시네 패턴은 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)를 통하여 미지인 것으로 판정될 수 있다.
또한 도시된 바와 같이, 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는 집성된 입력 비디오(1201)의 프레임 그룹을 위한 진성 비월 지시자(true interlaced indicator)(tru_intl)(1206), 순차 지시자(prog_ind)(1207) 및 텔레시네 유형 지시자(telecine type indicator)(tel_type)(1208) 중 하나 이상을 제공할 수 있다. 예컨대, 진성 비월 지시자(1206)는 프레임 그룹이 완전 비월 프레임 그룹 포맷을 가지는 진성 비월 프레임 그룹임을 나타낼 수 있고, 순차 지시자(1207)는 프레임 그룹이 완전 순차 프레임 그룹 포맷을 가지는 순차 프레임 그룹임을 나타낼 수 있으며, 텔레시네 유형 지시자(1208)는 프레임 그룹이 텔레시네화 프레임 그룹임 및 프레임 그룹이 어느 텔레시네 패턴(가령, 3:2 풀다운, 2:3:3:2 풀다운, 혼합, 또는 미지)을 가지는지를 나타낼 수 있다. 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는 프레임 그룹 포맷 또는 패턴을 도 19에 관해서 또는 본 문서에서 다른 데에서 논의된 것과 같은 임의의 적합한 기법 또는 기법들을 사용하여 판정할 수 있다.
도시된 바와 같이, 순차 지시자(1207) 및 진성 비월 지시자(1206)는 스위치(1209, 1210)에 제공될 수 있다. 스위치(1209, 1210)는 집성된 입력 비디오(1201)의 부분 또는 세그먼트를 바이패스(1214), 콘텐트 적응적 비월 반전기(1211), 또는 텔레시네 반전기(1212) 중 하나로 제공하기 위해 순차 지시자(1207) 및 진성 비월 지시자(1206)의 제어 하에서 동작할 수 있다. 예컨대, 만일 순차 지시자(1207)가 참(ture)인 경우, 집성된 입력 비디오(1201)의 연관된 부분 또는 세그먼트는 집성된 입력 비디오(1201)의 그 부분 또는 세그먼트가 추가 처리 없이 순차 비디오(prog. video)(1215)로서 제공되도록 바이패스(1214)로 제공될 수 있다. 나아가, 만일 진성 비월 지시자(1206)가 참인 경우, 집성된 입력 비디오(1201)의 연관된 부분 또는 세그먼트는 집성된 입력 비디오(1201)의 그 부분 또는 세그먼트가 비월제거되고 순차 비디오(1215)로서 제공될 수 있도록 콘텐트 적응적 비월 반전기(1211)에 제공될 수 있다. 만일 순차 지시자(1207)도 진성 비월 지시자(1206)도 참이 아닌 경우(가령, 비디오 부분은 텔레시네화됨), 집성된 입력 비디오(1201)의 연관된 부분 또는 세그먼트는 집성된 입력 비디오(1201)의 그 부분 또는 세그먼트가 텔레시네 반전되고 순차 비디오(1215)로서 제공될 수 있도록 텔레시네 반전기(1212)에 제공될 수 있다.
논의된 바와 같이, 콘텐트 적응적 비월 반전기(1211)는 집성된 입력 비디오(1201)의 부분 또는 세그먼트를 수신하고, 그 부분 또는 세그먼트를 비월제거하며, 결과적인 순차 비디오를 순차 비디오(1215)로서 제공할 수 있다. 콘텐트 적응적 비월 반전기(1211)는 집성된 입력 비디오(1201)의 부분 또는 세그먼트를 도 5a, 도 5b, 도 6, 도 7 및 도 24에 관해서 또는 본 문서에서 다른 데에서 논의된 것과 같은 임의의 적합한 기법 또는 기법들을 사용하여 비월제거할 수 있다.
나아가, 논의된 바와 같이, 텔레시네 반전기(1212)는 집성된 입력 비디오(1201)의 부분 또는 세그먼트를 수신하고, 그 부분 또는 세그먼트를 텔레시네 반전하며, 결과적인 순차 비디오를 순차 비디오(1215)로서 제공할 수 있다. 텔레시네 반전기(1212)는 집성된 입력 비디오(1201)의 부분 또는 세그먼트를 도 3b, 도 4b 및 도 23에 관해서 또는 본 문서에서 다른 데에서 논의된 것과 같은 임의의 적합한 기법 또는 기법들을 사용하여 텔레시네 반전할 수 있다. 몇몇 예에서, 만일 어떤 텔레시네 패턴도 발견되지 않는 경우(가령, 패턴은 미지라고 판정됨), 탈텔레시네화 프로세스는 본 문서에서 논의된 바와 같은 비월제거 기법을 포함할 수 있다.
논의된 바와 같이, 도 12는 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기를 보여준다. 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기는 도 11a 및 도 11b에 관해서 논의된 것보다 더 복잡할 수 있다. 예컨대, 도 11의 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기는 더 큰 정확도를 제공할 수 있다. 논의된 바와 같이, 도 11의 포맷 유형 분석기, 프로그램 분리기 및 포맷 역변환기는 비월/순차 프레임 분류기(가령, 비월/순차 프레임 분류기(1202))를 포함할 수 있는데 이는 각각의 프레임을 비월이나 아니면 순차로 분류할 수 있되(가령, 그것은 이진 신호 intl_frm을 출력할 수 있음), 고려 중인 프레임의 그룹의 거동(behavior), 예를 들어 프레임의 그룹이 진성 비월인지 여부를 (가령, tru_intl을 통하여), 순차인지 여부를 (가령, prog_ind를 통하여), 그리고, 만일 존재한다면, 그것이 사용하는 텔레시네 패턴의 유형을 (가령, tel_type을 통하여) 특징지을 수 있는 몇 개의 신호를 출력할 수 있는 프레임 그룹 텔레시네 패턴 유형/순차/비월 분류기(가령, 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205))에 의한 분석을 위해 (가령, 5개 과거 프레임의 그룹, 5개 현재 프레임의 그룹 및 5개 장래 프레임의 그룹을 유지하도록) 15개 프레임의 그룹을 버퍼링할(buffer) 수 있는 프레임 그룹 버퍼(가령, 프레임 그룹 버퍼(1204))가 뒤따른다.
이들 신호는 세 개의 모드 중 하나로 동작할 수 있는 스위치(가령, 스위치(1209, 1210))의 쌍의 동작을 제어할 수 있다. 제1 모드는 임의의 처리를 바이패스하는 것을 가능하게 할 수 있고 순차 30 또는 60 프레임/초 비디오 신호로 하여금 있는 그대로 임의의 처리 없이 통과하게 할 수 있다. 제2 모드는 3:2, 또는 2:3:3:2, 또는 혼합 또는 적응적 텔레시네 패턴 반전을 (가령, 텔레시네 반전기(1212)를 통하여) 콘텐트 집성기에 의해 사용된 (가령, 그리고 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)를 통하여 검출된) 원래의 텔레시네 패턴에 따라서 수행하는 것을 가능하게 할 수 있다. 텔레시네 반전 후의 결과적인 출력은 예컨대 24 프레임/초 역 텔레시네화 비디오 신호(inverse telecined video signal)일 수 있다. 제3 모드는 고품질 비월제거 신호(high quality deinterlaced signal)를 산출하기 위하여 (가령, 콘텐트 적응적 비월 반전기(1211)를 통하여) 콘텐트 적응적 비월제거를 사용함으로써 비월 반전을 수행하는 것을 가능하게 할 수 있다. 이 적응적 비월제거기는 예컨대 60 필드/초(가령, 30 프레임/초) 비월 비디오가 주어지면 순차 30 프레임/초 또는 60 프레임/초 비디오의 출력을 제공할 수 있다. 이들 역변환의 최종 결과는 콘텐트 집성기에 의해 수행된 변환을 되돌린 후 획득된 완전 순차 신호(가령, 순차 비디오(1215))이다. 그러한 최종 결과는 효율적인 비디오 코딩 및 (순차) 디스플레이에 적합한 포맷 및 프레임 레이트에 대응할 수 있다.
논의된 바와 같이, 비월/순차 프레임 분류기(1202)는 집성된 비디오(1201)의 프레임을 비월 또는 순차로서 분류할 수 있다. 비월/순차 프레임 분류기(1202)는 집성된 비디오(1201)의 프레임을 임의의 적합한 기법을 사용하여 분류할 수 있다.
도 13은 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임을 분류하기 위한 예시적 프로세스(1300)를 보여주는 흐름도이다. 논의된 바와 같이, 몇몇 예에서, 프로세스(1300) 또는 이의 부분은 비월 프레임 지시자(1203)를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 만일 현재의 프레임이 비월 프레임인 경우 intl_frm=1을 그리고 그렇지 않으면 intl_frm=0을 출력할 수 있다. 프로세스(1300)는 도 13에 보여진 바와 같이 하나 이상의 동작(1301 내지 1310)을 포함할 수 있다. 프로세스(1300)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
도 13과 관련하여 프로세스(1300)의 논의 전에, 용어 및 서술자가 논의된다. 예컨대, 본 문서에서 공통 서술자(common descriptor)로 지칭되는 서술자의 세트 또는 그룹(가령, 7개는 명시적이고 3개는 묵시적인 10개의 서술자)이 다음과 같이 정의되고 생성 또는 판정될 수 있다.
서술자 SADff(가령, 필드 쌍 SAD(field pair SAD))는 프레임 크기에 의해 정규화된(normalized), 프레임의 필드의 쌍 간의 절대차의 합(Sum of Absolute Difference: SAD)으로서 판정될 수 있다. 서술자 SADbf는 필드 크기에 의해 정규화된, 프레임의 쌍의 하위 필드 간의 절대차의 합으로서 판정될 수 있다. 예컨대, SADbf는 (본 문서에서 추가로 논의되는 것과 같이) DynDif를 판정하는 데에서 묵시적으로 사용될 수 있다. 서술자 RsF는 전체 프레임의 픽셀의 개수에 대해서 평균화된 프레임의 픽셀의 연속적인 행 간의 차이의 제곱으로서 프레임 내의 수직 텍스처(vertical texture)의 측정으로서 판정될 수 있다. 서술자 RsT는 전체 상위 필드의 픽셀의 개수에 대해서 평균화된 상위 필드의 픽셀의 연속적인 행 간의 차이의 제곱으로서 프레임의 상위 필드의 수직 텍스처의 측정으로서 판정될 수 있다. 예컨대, RsT는 (본 문서에서 추가로 논의되는 바와 같이) bTexd를 판정하는 데에서 묵시적으로 사용될 수 있다. 서술자 RsB는: 전체 하위 필드의 픽셀의 개수에 대해서 평균화된 하위 필드의 픽셀의 연속적인 행 간의 차이의 제곱으로서 프레임의 하위 필드의 수직 텍스처의 측정으로서 판정될 수 있다. 예컨대, RsB는 (본 문서에서 추가로 논의되는 바와 같이) bTexd를 판정하는 데에서 묵시적으로 사용될 수 있다.
서술자 DynDif(가령, 동적 텍스처(dynamic texture))는 프레임의 픽셀의 개수에 대해서 평균화된 (가령, 블록 기반 수직 텍스처 bRsT인) 상위 필드의 블록 Rs와 비교된 (가령, 블록 기반 수직 텍스처 bRsF인) 프레임의 블록 Rs 간의 가변 임계화 차이(variable thresholded difference)의 합으로서 판정될 수 있다. 예컨대, 만일, 블록 RsF(가령, 프레임의 블록) 판정을 위해, 블록 크기가 8x8이면, 블록 RsT(상위 필드의 블록)를 위한 대응하는 블록 크기는 8x4이다.
논의된 바와 같이, DynDif는 가변 임계화 차이의 합일 수 있다. 임계 dyn_thr는 동적일 수 있고 SADff 및 SADbf에 기반할 수 있다. 예컨대, dyn_thr는 다음의 의사코드(Pseudo-Code) 1에 기반하여 판정될 수 있다:
[의사코드 1]
일단 임계 dyn_thr가 판정되면, 프레임 및 상위 필드 텍스처의 블록 기반 차이의 측정이 판정될 수 있다. 이 차이가 임계 dyn_thr보다 더 큰 블록에 대해, 차이는 의사코드 2에 도시된 바와 같이 프레임을 위한 DynDif를 생성하기 위해 누적될 수 있다:
[의사코드 2]
여기서 bTexd는 블록 텍스처 차이일 수 있고 cnt_textblk는 텍스처가 인공적이며 움직임에 의해 야기된 것이라고 판정된(가령, 텍스처 차이가 임계보다 더 큰 경우) 블록의 카운트(count)일 수 있다. 프레임의 모든 블록에 대해 DynDif를 누적한 후, 그것을 프레임 내의 픽셀의 개수로 나눔으로써 DynDif의 정규화된 값이 판정될 수 있다.
서술자 StatDif(가령, 정적 텍스처(static texture))는 프레임의 픽셀의 개수에 대해서 평균화된 (가령, bRsT인) 프레임의 상위 필드의 블록 Rs와 비교되어 (가령, bRsF인) 프레임의 블록 Rs 간의 정적 임계화 차이(static thresholded difference)의 합으로서 판정될 수 있다. 예컨대, 임계는 정적이고 4096의 값으로 설정될 수 있다. 예컨대, 블록 텍스처 차이가 정적 임계보다 더 큰 경우, 차이는 의사코드 3에 도시된 바와 같이 프레임을 위한 StatDif를 판정하기 위해 누적될 수 있다:
[의사코드 3]
여기서 bTexd는 논의된 바와 같은 블록 텍스처 차이일 수 있다. 프레임의 모든 블록에 대해 StatDif를 누적한 후, 그것을 프레임 내의 픽셀의 개수로 나눔으로써 StatDif의 정규화된 값이 판정될 수 있다.
서술자 TemporalTex(가령, 시간적 텍스처(temporal texture))는 동적 텍스처 DynDif 및 정적 텍스처 StatDif 간의 차이의 측정으로서, 다음과 같이 판정될 수 있다: TemporalTex = DynDif - StatDif. 서술자 BigTexture(가령, 대형 텍스처(big texture))는 높은 텍스처 값을 가지는 프레임 블록의 임계화된 카운트(thresholded count)로서 판정될 수 있다. 예컨대, BigTexture는 (가령, bRsF인) 프레임의 블록 Rs를 임계와 비교함으로써 판정될 수 있다. 예컨대, 임계는 정적이고 16383의 값으로 설정될 수 있다. 예컨대, BigTexture는 의사코드 4에 도시된 바와 같이 판정될 수 있다:
[의사코드 3]
서술자 TextureLevel(가령, 텍스처 레벨(texture level))은 프레임의 텍스처 레벨 및 그것의 필드(가령, 프레임의 필드)의 평균 텍스처 간의 차이의 측정으로서 판정될 수 있다. 예컨대, TextureLevel은 다음과 같이 판정될 수 있다: TextureLevel = (RsF - ((RsT + RsB) / 2)).
논의된 바와 같이, 프레임에 대해 여러 서술자가 판정될 수 있고 그러한 서술자는 프레임이 순차 또는 비월인지를 판정하는 데에 사용될 수 있다.
프로세스(1300)는 시작 동작(1301)으로부터 판단 동작(1302), "프레임 쌍의 필드 또는 프레임 간의 픽처 기반 SAD 서술자를 계산함: SADff, SADbf, SADtb, SADbt"(Calculate Picture based SAD Descriptors between Frames or Fields of a Frame Pair: SADff, SADbf, SADtb, SADbt)에서 시작할 수 있는데, 여기서 프레임 또는 픽처에 대해 서술자가 판정될 수 있다. 예컨대, 프레임 및 그것의 필드에 대해 SAD 서술자가 판정될 수 있다. 도시된 바와 같이, 몇몇 예에서, 서술자는 SADff, SADbf, SADtb 및 SADbt 중 일부 또는 전부를 포함할 수 있다. 예컨대, SADff 및 SADbf는 본 문서에서 논의된 바와 같이 판정될 수 있다. 서술자 SADtb는 필드 크기에 의해 정규화된 이전의 프레임의 하위 필드 및 현재의 프레임의 상위 필드 간의 절대차의 합으로서 판정될 수 있다. 서술자 SADbt는 필드 크기에 의해 정규화된 이전의 프레임의 상위 필드 및 현재의 프레임의 하위 필드 간의 절대차의 합으로서 판정될 수 있다.
프로세스(1300)는 동작(1303), "블록 기반 서술자를 계산함: StatDif, DynDif, ZeroTexture, BigTexture, RsDif, RsF, RsT, RsB"(Calculate Block based Descriptors: StatDif, DynDif, ZeroTexture, BigTexture, RsDif, RsF, RsT, RsB)에서 계속될 수 있는데, 여기서 블록 기반 서술자의 집성으로서 판정된 서술자가 생성될 수 있다. 예컨대, StatDif, DynDif, BigTexture, RsF, RsT, RsB가 본 문서에서 논의된 바와 같이 판정될 수 있다. 서술자 RsDif는 동일한 프레임의 상위 및 하위 필드의 수직 텍스처 간의 절대차로서 판정될 수 있다. 서술자 ZeroTexture는 (본 문서에서 추가로 논의되는 바와 같이) 텍스처 없는 블록의 조건부 카운트(conditional count)로서 판정될 수 있다.
프로세스(1300)는 동작(1304), "추가적인 전역 텍스처 서술자를 계산함: TemporalTex, TextureLevel"(Calculate Additional Global Texture Descriptors: TemporalTex, TextureLevel)에서 계속될 수 있는데 여기서 전역 텍스처 서술자가 판정될 수 있다. 예컨대, TemporalTex 및 TextureLevel은 본 문서에서 논의된 바와 같이 판정될 수 있다.
프로세스(1300)는 동작(1305), "정규화되지 않은 서술자를 정규화함: StatDif, DynDif, ZeroTexture, BigTexture"(Normalize Unnormalized Descriptors: StatDif, DynDif, ZeroTexture, BigTexture)에서 계속될 수 있는데, 여기서 정규화되지 않은 서술자가 정규화될 수 있다. 예컨대, 프레임 내의 픽셀의 수 또는 유사한 것에 기반하여 StatDif, DynDif, ZeroTexture 및 BigTexture가 정규화될 수 있다.
프로세스(1300)는 동작(1306), "프레임 유형 판단 프로세스"(Frame Type Decision Process)에서 계속될 수 있는데, 여기서 프레임 유형 판단 프로세스가 선택될 수 있다. 예컨대, 프로세스(1300)는 두 방법 간의 선택을 포함하는데 다만 임의의 수의 방법이 제공될 수는 있다. 예컨대, 동작(1306)은 서술자 및 비교 테스트(가령, 도시된 바와 같이 9개의 비교 테스트를 정의하기 위한 9개의 공통 서술자)를 사용할 수 있는 제1 방법 및 2 스테이지 분류 구조(2 stage classification structure)를 사용할 수 있는 제2 방법 간의 선택을 제공한다. 예컨대, 2 스테이지는 서술자 및 비교 테스트(가령, 추가적인 조건과 함께 최종 18개 테스트로 조합되는 12개의 비교 테스트를 정의하기 위한 - 새로운 서술자 orient_dyndif를 포함하는 - 5개 서술자)를 사용할 수 있는 제1 스테이지 및 서술자 및 머신 러닝(machine learning)(가령, 14개(9개의 공통 및 5개의 추가적) 서술자 및 대규모 머신 러닝 알고리즘)을 사용할 수 있는 제2 스테이지를 포함할 수 있다. 그러한 방법 및 스테이지의 예는, 만일 적용가능하면, 본 문서에서 추가로 논의된다).
프로세스(1300)는 판단 동작(1307), "프레임이 비월인가?"(Is Frame Interlaced?)에서 계속될 수 있는데, 여기서 현재의 프레임이 비월인지에 대해 판정이 행해질 수 있다. 그러한 판단 동작은 동작(1306)에 관해서 기술된 방법에 기반할 수 있는데, 이는 본 문서에서 추가로 논의된다. 만일 프레임이 비월이라고 판정된 경우, 프로세스(1300)는 동작(1308), "프레임은 비월임"(Frame is Interlaced)에서 계속될 수 있는데 여기서 프레임은 비월로서 나타내어질 수 있고 비월 프레임 지시자(intl_frm)(1203)가 참 또는 1 또는 유사한 것으로 설정될 수 있으며(도 12를 참조하시오) 프로세스(1300)는 종료 블록(1310)에서 종료할 수 있다. 만일 프레임이 비월이 아니라고 판정된 경우, 프로세스(1300)는 동작(1309), "프레임은 순차임"(Frame is Progressive)에서 계속될 수 있는데 여기서 프레임은 순차(가령, 비월이 아님)로서 나타내어질 수 있고 비월 프레임 지시자(intl_frm)(1203)가 거짓(false) 또는 0 또는 유사한 것으로 설정될 수 있으며(도 12를 참조하시오) 프로세스(1300)는 종료 블록(1310)에서 종료할 수 있다.
동작(1306)에 관해서 논의된 바와 같이, 제2 방법(가령, 방법 2)은 현재의 프레임이 비월 또는 순차인지 판정하기 위해 2 스테이지 분류 구조를 사용할 수 있다. 예컨대, 제1 스테이지는, 18개의 비교를 사용하는 판단 기법을 초래하도록 추가적인 서술자와 조합될 수 있는 12개의 비교 테스트를 정의하기 위해 5개의 서술자를 사용할 수 있다. 나아가, 제2 스테이지는 불명확성의 임계적 영역(critical region) 상에서 작동하도록 훈련되는 머신 러닝 프로세스를 사용할 수 있다. 제1 스테이지 및 제2 스테이지 양자 모두 전술된 서술자 및 인공적인 텍스처를 갖는 블록의 카운트(가령, cnt_texblk, 의사코드 2를 참조하시오)와 DynDif(가령, 텍스처 차이)의 비율의 측정인 orient_DynDif로 지칭되는 중요 서술자(key descriptor)를 사용한다.
도 14는 본 개시의 적어도 몇몇 구현에 따라 마련된, 예시적 프레임을 위한 예시적인 동적 텍스처 대 필드 쌍 SAD의 차트(1400)이다. 도시된 바와 같이, 차트(1400)는 수직축 상에 동적 텍스처(가령, DynDif)를, 그리고 수평축 상에 필드 쌍 SAD(가령, SADff)를 제공한다. 예컨대, 차트(1400)는 예시적 프레임에 대해 예시적 데이터 점(1404)을 보여준다. 예컨대, 차트(1400)는 순차/비월 판단에서의 불명확성의 영역(region of uncertainty in progressive/interlaced decision)(1403) 및 서술자 orient_DynDif의 중요성을 보여줄 수 있다.
도시된 바와 같이, 도 14 내의 선(1405)은 3개의 영역으로의 SADff 대 DynDif 공간의 분할을 보여준다: 비월 영역(interlaced region)(1401), 순차 영역(progressive region)(1402) 및 순차/비월 판단에서의 불명확성의 영역(1403). 몇몇 예에서, 선(1405)의 기울기는 서술자 orient_DynDif와 연관될 수 있다. 도시된 바와 같이, 몇몇 예에서, 선(1405)은 대략적으로 사선(diagonal)(가령, 약 45도)일 수 있다. 예컨대, 순차 영역(1402)(가령, 선(1405)의 우측의 영역)은 순차로서의 프레임의 분류에 대응할 수 있는 반면, 비월 영역(1401)(가령, 선(1405)의 좌측의 영역)은 비월로서의 프레임의 분류에 대응할 수 있다. 나아가, 좌측 하단에서 그리고 SADff 및 DynDif의 작은 값에 대해 순차/비월 판단에서의 불명확성의 영역(1403)이 존재할 수 있어서 프레임의 분류가 어렵다. 몇몇 방법 2 예에서, 이 영역은 본 문서에서 추가로 논의되는 바와 같이 머신 러닝 프로세스에 의해 스테이지 2를 통하여 다루어질 수 있다.
도 15는 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임을 분류하기 위한 예시적 프로세스(1500)를 보여주는 흐름도이다. 논의된 바와 같이, 몇몇 예에서, 프로세스(1500) 또는 이의 부분은 비월 프레임 지시자(1203)를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 만일 현재의 프레임이 비월 프레임인 경우 intl_frm=1을 그리고 그렇지 않으면(가령, 만일 프레임이 순차라고 판정되는 경우) intl_frm=0을 출력할 수 있다. 프로세스(1500)는 도 15에 보여진 바와 같이 하나 이상의 동작(1501 내지 1526)을 포함할 수 있다. 프로세스(1500)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다. 몇몇 예에서, 프로세스(1500)는 본 문서에서 논의된 바와 같이 프로세스(1300)에 비해 더 많은 세부사항을 확장하고 제공할 수 있다.
도시된 바와 같이, 프로세스(1500)는 시작 동작(1501)으로부터 동작(1502)에서 시작할 수 있는데, 여기서 본 문서에서 논의된 바와 같이 SADff, SADbf, SADtb 및 SADbt가 판정될 수 있다. 예컨대, SADff는 프레임의 필드의 쌍 간의 절대차의 합(Sum of Absolute Differences: SAD)로서 판정될 수 있고, SADbf는 프레임의 쌍의 하위 필드 간의 SAD로서 판정될 수 있으며, SADtb는 프레임의 쌍의 상위 및 하위 필드 간의 SAD로서 판정될 수 있고, SADbt는 프레임의 쌍의 하위 및 상위 필드 간의 SAD로서 판정될 수 있다. 예컨대, SADtb 및 SADbt는 각각 현재의 프레임의 상위 필드와 이전의 프레임의 하위 필드 및 현재의 프레임의 하위 필드 및 이전의 프레임의 상위 필드 간의 SAD일 수 있다. 논의된 바와 같이, SADff, SADbf, SADtb 및 SADbt는 요구에 따라 프레임 또는 필드 크기에 의해 정규화될 수 있다.
프로세스(1500)는 동작(1503), "8x8 블록으로 루마를 분할함"(Partition luma into 8x8 blocks)에서 계속될 수 있는데, 여기서 현재의 프레임은 8x8 블록으로 분할될 수 있다. 프로세스(1500)의 예에서, 현재의 프레임은 8x8 블록으로 분할되나, 임의의 적합한 분할 크기가 사용될 수 있다.
프로세스(1500)는 판단 동작(1504), "남아 있는 블록?"(Remaining blocks?)에서 계속될 수 있는데, 여기서 처리하기 위한 임의의 남아 있는 블록이 있는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1500)는 동작(1515 내지 1526)에서 계속될 수 있다. 만일 그렇지 않다면, 프로세스(1500)는 동작(1505 내지 1514)에서 계속될 수 있다. 예컨대, 동작(1503 내지 1526)은 몇 개의 서술자를 판정하는 것, 필요에 따라 그것들을 임계화하는 것(thresholding), 프레임 기반 값을 판정하기 위해 그것들을 집성하는 것을 위한 블록 기반 처리 루프(block based processing loop)를 포함할 수 있다.
예컨대, 프로세스(1500)는 동작(1515)에서 계속될 수 있는데, 여기서 bRsF, bRsT 및 bRsB이다. 예컨대, bRsF는 프레임 블록 수직 텍스처로서 판정될 수 있다. 예컨대, bRsF는 프레임 블록의 픽셀의 개수에 대해서 평균화된 프레임 블록의 픽셀의 연속적인 행 간의 차이의 제곱으로서 프레임 블록 내의 수직 텍스처의 측정으로서 판정될 수 있다. 유사하게, bRsT는 상위 필드 블록 수직 텍스처로서 판정될 수 있고 bRsB는 하위 필드 블록 수직 텍스처로서 판정될 수 있다.
프로세스(1500)는 동작(1516), "동적 임계를 계산함"(Calculate Dynamic Threshold)에서 계속될 수 있는데, 여기서 동적 임계가 판정될 수 있다. 예컨대, 동적 임계 dyn_thr는 의사코드 1에 관해서 논의된 바와 같이 판정될 수 있다. 몇몇 예에서, 동적 임계는 본 문서에서 도 16에 관해서 논의된 바와 같이 판정될 수 있다. 예컨대, 동적 임계는 블록 기반 텍스처 차이 bTexD를 임계화하는 데에 사용될 수 있다. 몇몇 예에서, 동적 임계 dyn_thr는 11, 63, 127, 255, 511, 1023, 2047, 또는 4095의 값을 가질 수 있다.
프로세스(1500)는 동작(1517), "bTexd = bRsF - bRsT"에서 계속될 수 있는데, 여기서 블록 기반 텍스처 차이가 판정될 수 있다. 예컨대, 블록 기반 텍스처 차이 bTexd는 프레임 블록 수직 텍스처 bRsF 및 상위 필드 블록 수직 텍스처 bRsT 간의 차이로서 판정될 수 있다.
프로세스(1500)는 판단 동작(1518), "bTexd > 4095?"에서 계속될 수 있는데, 여기서 블록 기반 텍스처 차이가 정적 임계보다 더 큰지에 대해 판정이 행해질 수 있다. 프로세스(1500)의 예에서, 정적 임계는 4095일 수 있으나, 정적 임계는 임의의 적합한 값일 수 있다. 만일 그렇다면, 프로세스(1500)는 본 문서에서 추가로 논의되는 바와 같이 판단 동작(1520)에서 계속될 수 있다. 만일 그렇지 않다면, 프로세스(1500)는 동작(1519), "StatDif = StatDif + bTexd"에서 계속될 수 있는데, 여기서 서술자 StatDif(가령, 정적 텍스처)가 수립되고/되거나 누적될 수 있다. 예컨대, StatDif는 전체 현재 프레임에 걸쳐서 누적될 수 있다.
프로세스(1500)는 판단 동작(1520), "bTexd > dyn_thr?"에서 계속될 수 있는데, 여기서 블록 기반 텍스처 차이가 동작(1516)에서 판정된 동적 임계보다 더 큰지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1500)는 본 문서에서 추가로 논의되는 바와 같이 동작(1522)에서 계속될 수 있다. 만일 그렇다면, 프로세스(1500)는 동작(1521), "DynDif = DynDif + bTexd"에서 계속될 수 있는데, 여기서 서술자 DynDif(가령, 동적 텍스처)가 수립되고/되거나 누적될 수 있다. 예컨대, DynDif는 전체 현재 프레임에 걸쳐서 누적될 수 있다.
프로세스(1500)는 판단 동작(1522), "bRsF = 0이고 평균 블록 > TVblack?"(bRsF = 0 and Avg block > TVblack?")에서 계속될 수 있는데, 여기서 프레임 블록 수직 텍스처 bRsF가 매우 작은지에 대해 판정이 행해질 수 있다. 프로세스(1500)의 예에서, bRsF가 작은지를 판정하는 데에 0의 임계가 사용되나, 임의의 적합한 임계가 사용될 수 있다. 나아가, 평균 블록이 임계 TVblack보다 더 큰지(가령, 블록이 검은색을 넘는지)에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1500)는 본 문서에서 추가로 논의되는 바와 같이 동작(1524)에서 계속될 수 있다. 만일 그렇다면, 프로세스(1500)는 동작(1523), "ZeroTexture++"에서 계속될 수 있는데, 여기서 서술자 ZeroTexture(가령, 텍스처가 거의 없거나 전혀 없는 프레임의 블록의 카운트)가 수립되고/되거나 점증될(incremented) 수 있다. 예컨대, ZeroTexture는 전체 현재 프레임에 걸쳐서 누적될 수 있다.
프로세스(1500)는 판단 동작(1524), "bRsF > 16383?"에서 계속될 수 있는데, 여기서 임계와의 비교를 통하여 프레임 블록 수직 텍스처가 매우 큰지에 대해 판정이 행해질 수 있다. 프로세스(1500)의 예에서, 16383의 임계가 사용될 수 있으나, 임의의 적합한 임계가 사용될 수 있다. 만일 그렇지 않다면, 프로세스(1500)는 본 문서에서 추가로 논의되는 바와 같이 동작(1526)에서 계속될 수 있다. 만일 그렇다면, 프로세스(1500)는 동작(1525), "BigTexture++"에서 계속될 수 있는데, 여기서 서술자 BigTexture(가령, 매우 큰 텍스처를 가지는 프레임의 블록의 카운트)가 수립되고/되거나 점증될 수 있다. 예컨대, BigTexture는 전체 현재 프레임에 걸쳐서 누적될 수 있다.
프로세스(1500)는 동작(1526)에서 계속될 수 있는데, 여기서 서술자 RsDif, RsF, RsT 및 RsB가 수립되고/되거나 누적될 수 있다. 예컨대, 서술자는 전체 현재 프레임에 걸쳐서 누적될 수 있다. 예컨대, 서술자 RsDif는 동일한 프레임의 상위 및 하위 필드의 수직 텍스처 간의 절대차일 수 있고 RsDif는 도시된 바와 같이 필드에 걸쳐서 누적된 상위 및 하위 필드 간의 Rs의 절대차로서 판정될 수 있다. 서술자 RsF는 프레임의 수직 텍스처의 측정일 수 있고, 서술자 RsT는 상위 필드의 수직 텍스처의 측정일 수 있으며, 서술자 RsB는 하위 필드의 수직 텍스처의 측정일 수 있다. 그러한 서술자는 논의된 바와 같이 동작(1504 내지 1526)의 루프를 통하여 블록 하나하나에 대해(on a block by block basis) 누적될 수 있다.
논의된 바와 같이, 프레임의 모든 블록이 완료된 경우, 프로세스(1500)는 동작(1505)에서 계속될 수 있는데, 여기서 논의된 서술자는 메모리로 버퍼링될/메모리로부터 페치될(fetched) 수 있다. 예컨대, 그러한 서술자는 추가 처리를 위해 메모리로 세이브되고(saved) 프로세스(1500) 및/또는 본 문서에서 논의된 다른 프로세스를 통하여 필요에 따라 메모리로부터 페치될 수 있다. 예컨대, 이하의 서술자가 버퍼링되고/되거나 페치될 수 있다: SADff, SADbf, StatDif, DynDif, ZeroTexture, BigTexture, RsDif, RsF, RsT, RsB, SADtb, SADbt.
프로세스(1500)는 동작(1506), "계산함: TemporalTex, TextureLevel"(Calculate: TemporalTex, TextureLevel)에서 계속될 수 있는데, 여기서 본 문서에서 논의된 바와 같이 서술자 TemporalTex 및 TextureLevel이 판정될 수 있다. 예컨대, 서술자 TemporalTex는 동적 텍스처 DynDif 및 정적 텍스처 StatDif 간의 차이의 측정으로서 판정될 수 있고 서술자 TextureLevel은 프레임의 텍스처 레벨 및 그것의 필드의 평균 텍스처 간의 차이의 측정으로서 판정될 수 있다.
프로세스(1500)는 동작(1507), "정규화함: StatDif, DynDif, ZeroTexture, BigTexture"(Normalize: StatDif, DynDif, ZeroTexture, BigTexture)에서 계속될 수 있는데, 여기서 본 문서에서 논의된 바와 같이 서술자 StatDif, DynDif, ZeroTexture, BigTexture가 정규화될 수 있다. 예컨대, StatDif, DynDif, ZeroTexture, BigTexture는 픽처 크기에 의해 정규화될 수 있다.
프로세스(1500)는 동작(1508), "분류기 방법(1 또는 2)을 설정함"(Set Classifier Method (1 or 2))에서 계속될 수 있는데, 여기서 현재의 프레임에 대해 분류기 방법이 설정될 수 있다. 예컨대, 분류기 방법은 소스 비디오에 대해, 프레임의 시퀀스에 대해, 또는 프레임 하나하나에 대해(on a frame-by-frame basis) 행해질 수 있다. 예컨대, 방법 1은 측정된 데이터에 대해 순전히 곡선 맞춤(curve fitting) 접근법을 사용할 수 있고 방법 2는 방법 2의 스테이지 1이 측정된 데이터에 대한 곡선 맞춤 접근법에 기반하고 방법 2의 스테이지 2가 머신 러닝 기반 접근법을 사용할 수 있도록 2 스테이지 접근법을 사용할 수 있다. 나아가, 방법 2는 또한 본 문서에서 논의된 바와 같이 새로운 서술자 orient_dyndif를 사용할 수 있다.
만일 방법 1이 선택된 경우, 프로세스(1500)는 동작(1512), "분류기 방법 1 프로세스"(Classifier Method 1 Process)에서 계속될 수 있는데, 여기서 분류기 방법 1은 본 문서에서 현재의 프레임을 비월 또는 순차로서 지정하기 위해 추가로 논의되는 바와 같이 적용될 수 있고 프로세스(1500)는 종료 동작(1514)에서 종료할 수 있다.
만일 방법 2가 선택된 경우, 프로세스(1500)는 동작(1509), "계산함: orient_dyndif"(Calculate: orient_dyndif)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 서술자 orient_dyndif가 판정될 수 있다. 프로세스(1500)는 동작(1510), "분류기 방법 2, 스테이지 1 프로세스"(Classifier Method 2, Stage 1 Process)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 분류기 방법 2, 스테이지 1이 적용될 수 있다. 프로세스(1500)는 판단 동작(1511), "프레임 분류됨?"(Frame Classified?)에서 계속될 수 있는데, 여기서 방법 2, 스테이지 1을 통하여 프레임이 분류되었는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1500)는 종료 동작(1514)에서 종료할 수 있다. 만일 그렇지 않다면, 프로세스(1500)는 동작(1513), "분류기 방법 2, 스테이지 2 프로세스 (머신 러닝)"(Classifier Method 2, Stage 2 Process (Machine Learning))에서 계속될 수 있는데, 여기서 현재의 프레임을 비월 또는 순차로서 지정하기 위해 본 문서에서 추가로 논의되는 바와 같이 분류기 방법 2, 스테이지 2가 적용될 수 있고 프로세스(1500)는 동작(1514)에서 종료할 수 있다.
동작(1516)에 관해서 논의된 바와 같이, 몇몇 예에서, 프레임이 비월 또는 순차인지를 판정하기 위해 프레임의 블록 기반 처리 동안에 동적 임계가 판정될 수 있다.
도 16은 본 개시의 적어도 몇몇 구현에 따라 마련된, 동적 임계를 생성하기 위한 예시적 프로세스(1600)를 보여주는 흐름도이다. 논의된 바와 같이, 몇몇 예에서, 프로세스(1600) 또는 이의 부분은 동적 임계 dyn_thr를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 프로세스(1600)는 블록 하나하나에 대해 수행될 수 있다(가령, 동적 임계는 프레임의 각각의 블록에 대해 판정될 수 있음). 프로세스(1600)는 도 16에 보여진 바와 같이 하나 이상의 동작(1601 내지 1617)을 포함할 수 있다. 프로세스(1600)는 본 문서에서 논의된 바와 같이 비디오 사전처리의 적어도 일부를 형성할 수 있다.
도시된 바와 같이, 프로세스(1600)는 시작 동작(1601)으로부터 동작(1602), "maxadif = max (SADff, SADbf)"에서 시작할 수 있는데, 여기서 서술자 maxadif는 SADff 및 SADbf 중의 최대치로서 설정될 수 있다. 예컨대, 프레임 크기에 의해 정규화된 프레임의 필드의 쌍 간의 절대차의 합(Sum of Absolute Difference: SAD) 및 필드 크기에 의해 정규화된 프레임의 쌍의 하위 필드 간의 절대차의 합 중의 최대치는 프레임에 대한 절대차의 최대인 합으로 판정될 수 있다.
프로세스(1600)는 판단 동작(1603), "maxadif < 0.45?"에서 계속될 수 있는데, 여기서 최대치는 제1 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제1 임계는 0.45이나, 임의의 적합한 제1 임계가 사용될 수 있다. 만일 최대치가 제1 임계보다 더 작은 경우, 프로세스(1600)는 동작(1604), "dyn_thr = 31"에서 계속될 수 있는데, 여기서 동적 임계는 제1 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제1 값은 31이나, 임의의 적합한 제1 값이 사용될 수 있다.
만일 최대치가 제1 임계보다 더 작지 않은 경우, 프로세스(1600)는 판단 동작(1605), "maxadif < 0.5?"에서 계속될 수 있는데, 여기서 최대치는 제2 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제2 임계는 0.5이나, 임의의 적합한 제2 임계가 사용될 수 있다. 만일 최대치가 제2 임계보다 더 작은 경우, 프로세스(1600)는 동작(1606), "dyn_thr = 63"에서 계속될 수 있는데, 여기서 동적 임계는 제2 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제2 값은 63이나, 임의의 제2 값이 사용될 수 있다.
만일 최대치가 제2 임계보다 더 작지 않은 경우, 프로세스(1600)는 판단 동작(1607), "maxadif < 1.0?"에서 계속될 수 있는데, 여기서 최대치는 제3 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제3 임계는 1.0이나, 임의의 적합한 제3 임계가 사용될 수 있다. 만일 최대치가 제2 임계보다 더 작은 경우, 프로세스(1600)는 동작(1608), "dyn_thr = 127"에서 계속될 수 있는데, 여기서 동적 임계는 제3 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제3 값은 127이나, 임의의 적합한 제3 값이 사용될 수 있다.
만일 최대치가 제3 임계보다 더 작지 않은 경우, 프로세스(1600)는 판단 동작(1609), "maxadif < 1.5?"에서 계속될 수 있는데, 여기서 최대치는 제4 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제4 임계는 1.5이나, 임의의 적합한 제4 임계가 사용될 수 있다. 만일 최대치가 제3 임계보다 더 작은 경우, 프로세스(1600)는 동작(1610), "dyn_thr = 255"에서 계속될 수 있는데, 여기서 동적 임계는 제4 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제4 값은 255이나, 임의의 적합한 제4 값이 사용될 수 있다.
만일 최대치가 제4 임계보다 더 작지 않은 경우, 프로세스(1600)는 판단 동작(1611), "maxadif < 2.0?"에서 계속될 수 있는데, 여기서 최대치는 제5 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제5 임계는 2.0이나, 임의의 적합한 제5 임계가 사용될 수 있다. 만일 최대치가 제4 임계보다 더 작은 경우, 프로세스(1600)는 동작(1612), "dyn_thr = 511"에서 계속될 수 있는데, 여기서 동적 임계는 제5 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제5 값은 511이나, 임의의 적합한 제5 값이 사용될 수 있다.
만일 최대치가 제5 임계보다 더 작지 않은 경우, 프로세스(1600)는 판단 동작(1613), "maxadif < 2.5?"에서 계속될 수 있는데, 여기서 최대치는 제6 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제6 임계는 2.5이나, 임의의 적합한 제6 임계가 사용될 수 있다. 만일 최대치가 제5 임계보다 더 작은 경우, 프로세스(1600)는 동작(1614), "dyn_thr = 1023"에서 계속될 수 있는데, 여기서 동적 임계는 제6 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제6 값은 1023이나, 임의의 적합한 제6 값이 사용될 수 있다.
만일 최대치가 제6 임계보다 더 작지 않은 경우, 프로세스(1600)는 판단 동작(1615), "maxadif < 3.0?"에서 계속될 수 있는데, 여기서 최대치는 제7 임계와 비교될 수 있다. 프로세스(1600)의 예에서, 제7 임계는 3.0이나, 임의의 적합한 제7 임계가 사용될 수 있다. 만일 최대치가 제6 임계보다 더 작은 경우, 프로세스(1600)는 동작(1616), "dyn_thr = 2047"에서 계속될 수 있는데, 여기서 동적 임계는 제7 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제7 값은 2047이나, 임의의 적합한 제7 값이 사용될 수 있다.
만일 최대치가 제6 임계보다 더 작지 않은 경우, 프로세스(1600)는 동작(1617), "dyn_thr = 4095"에서 계속될 수 있는데, 동적 임계는 제8/디폴트(default) 값으로 설정될 수 있고 프로세스(1600)는 종료 동작(1618)에서 종료할 수 있다. 프로세스(1600)의 예에서, 제8/디폴트 값은 4095이나, 임의의 적합한 제7 값이 사용될 수 있다.
도시된 바와 같이, 프로세스(1600)는 두 SAD: 프레임에 대한 SAD(가령, SADff) 및 하위 필드에 대한 SAD(가령, SADbf) 중 더 큰 것을 우선 판정하고 판정된 값을 서술자 maxadif에 할당할 수 있다. 다음으로, 일련의 테스트가 maxadif에 대해 수행될 수 있고, maxadif가 사전결정된 임계보다 더 작은지에 기반하여, 동적 임계가 제공될 수 있거나, maxadif를 테스트하는 것은 테스트될 최대 임계(가령, 제6 임계)에 도달될 때까지 계속될 수 있고, 만일 maxadif가 최대 임계보다 더 큰 경우, 큰 값(가령, 4095의 제8/디폴트 값 또는 유사한 것)이 dyn_thr에 할당될 수 있다. 예에서, maxadif를 위한 제1 테스트는 그것을 0.45의 사전고정된 값과 비교하되, 만일 그것이 더 작은 경우, dyn_thr에는 31의 값이 할당된다. 반면에 만일 maxadif가 0.45 이상인 경우, 그것은 0.5와 비교되되, 만일 그것이 이 값보다 더 작은 경우, dyn_thr에는 63의 값이 할당되고, 만일 그렇지 않으면, 비교 및 다음 dyn_thr의 할당을 위한 프로세스가 계속된다. 만일 maxadif가 3.0 이상이라고 발견되는 경우, dyn_thr에는 4095의 값이 할당되는데, 이는 dyn_thr에 할당될 수 있는 가장 큰 값이다. 보여진 예에서, 미만(less than) 비교기를 사용하여 maxadif는 기술된 임계와 비교되나, 임의의 적합한 비교기(가령, 미만이거나 같음(less than or equal), 더 크지 않음(not greater than), 또는 유사한 것)가 사용될 수 있다.
동작(1512)에 관해서 논의된 바와 같이, 몇몇 예에서, 현재의 프레임을 비월 또는 순차로서 지정하기 위해 분류기 방법 1이 적용될 수 있다. 예컨대, 분류기 방법 1은 현재의 프레임을 비월 또는 순차로서 지정하기 위해 측정된 데이터 및 판정된 서술자에 기반하여 순전히 곡선 맞춤 접근법을 사용할 수 있다.
도 25는 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임을 비월 또는 순차로서 분류하기 위한 예시적 프로세스(2500)를 보여주는 흐름도이다. 논의된 바와 같이, 몇몇 예에서, 프로세스(2500) 또는 이의 부분은 비월 프레임 지시자(1203)를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 만일 현재의 프레임이 비월 프레임인 경우 intl_frm=1을 그리고 그렇지 않으면(가령, 만일 프레임이 순차라고 판정되는 경우) intl_frm=0을 출력할 수 있다. 프로세스(2500)는 도 25에 보여진 바와 같이 하나 이상의 동작(2501 내지 2506)을 포함할 수 있다. 프로세스(2500)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
논의된 바와 같이, 방법 1은 현재의 프레임이 순차 또는 비월인지를 판정하기 위해 서술자 및 비교 테스트를 사용할 수 있다. 예컨대, 방법 1은 SADff, RsG(가령, 이는 RsT, RsB에 의존함), StatDif, DynDif(가령, 이는 SADbf에 의존함), TemporalTex, TextureLevel 및 BigTexture와 같은 10개의 공통(가령, 7개의 명시적, 3개의 묵시적) 서술자의 전술된 세트를 사용할 수 있다. 서술자의 이 세트는 입력 프레임이 비월인지 여부를 판정하기 위해 9개의 비교 테스트를 수행하는 데에 사용될 수 있다. 예컨대, 비교 테스트의 식은 관측된 데이터를 사용하는 곡선 맞춤에 기반할 수 있다. 그러한 식은 본 문서에서 추가로 논의되는 바와 같이 프로세스(2500)에서 사용될 수 있고 예시적 식(가령, 식 1 내지 식 9)은 다음과 같다:
[식 1]
[식 2]
[식 3]
[식 4]
[식 5]
[식 6]
[식 7]
[식 8]
[식 9]
여기서 서술자 DynDif, SADff, BigTexture, RsF, TemporalTex, TextureLevel 및 StatDif는 본 문서에서 논의된 바와 같이 판정될 수 있다. 나아가, 식 1 내지 식 9는 예시적 파라미터 및 비교기를 보여주나, 다른 파라미터 및/또는 비교기가 사용될 수 있다.
도시된 바와 같이, 프로세스(2500)는 시작 동작(2501)으로부터 동작(2502)에서 시작할 수 있는데, 여기서 식 1 내지 식 9에 기반하여 테스트가 수행될 수 있고, 각각의 테스트에 대해, 참 또는 거짓(T/F)의 출력이 제공될 수 있다. 보여진 예에서, 식 1 내지 식 9가 사용되나, 더 많거나 더 적은 테스트가 제공될 수 있고, 논의된 바와 같이, 상이한 파라미터 및/또는 비교기가 제공될 수 있다.
프로세스(2500)는 판단 동작(2503), "과반수가 참"(Majority True)에서 계속될 수 있는데, 여기서 동작(2502)의 과반수가 참의 출력을 제공하였는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2500)는 동작(2504), "프레임은 비월임"(Frame is Interlaced)에서 계속될 수 있는데, 여기서 현재의 프레임은 비월인 것으로 지정되거나 판정될 수 있고 프로세스(2500)는 종료 동작(2506)에서 종료할 수 있다. 만일 그렇지 않다면(가령, 동작(2502)의 과반수가 거짓의 출력을 제공하였음), 프로세스(2500)는 동작(2505), "프레임은 순차임"(Frame is Progressive)에서 계속될 수 있는데, 여기서 현재의 프레임은 순차인 것으로 지정되거나 판정될 수 있고 프로세스(2500)는 종료 동작(2506)에서 종료할 수 있다.
논의된 바와 같이, 결과의 과반수가 참인지 여부에 기반하여 프레임이 비월 또는 순차인지에 대해 판정이 행해질 수 있도록 본 문서에서 논의된 바와 같은 프로세스(2500) 및/또는 방법 1은 다양한 서술자에 기반하여 9개의 비교 테스트를 수행할 수 있다. 예컨대, 만일 5개 이상(가령, 과반수)의 비교가 참이면, 평가되는 프레임은 비월이라고 판정되고, 그렇지 않으면, 프레임은 순차라고 판정된다.
동작(1509 내지 1513)에 관해서 논의된 바와 같이, 몇몇 예에서, 현재의 프레임을 비월 또는 순차로서 지정하기 위해 2개의 스테이지를 가지는 분류기 방법 2가 적용될 수 있다. 예컨대, 분류기 방법 1 스테이지 1은 현재의 프레임을 비월, 순차, 또는 불명확으로 분류할 수 있고, 만일 프레임이 스테이지 1에서 불명확으로 분류되는 경우, 현재의 프레임이 비월 또는 순차인지를 판정하기 위해 스테이지 2가 적용될 수 있다. 예컨대, 스테이지 1은 측정된 데이터 및 판정된 서술자에 기반하여 곡선 맞춤 접근법을 사용할 수 있고 스테이지 2는 현재의 프레임을 비월 또는 순차로 지정하기 위해 측정된 데이터, 판정된 서술자 및 머신 러닝 알고리즘에 기반하여 머신 러닝을 사용할 수 있다. 예컨대, 방법 2는 새로운 특수화된 서술자뿐만 아니라 본 문서에서 논의된 10개의 공통 서술자에 기반하는 2 스테이지 분석 및 비교 시스템을 포함할 수 있다.
도 17a 및 도 17b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임을 비월, 순차, 또는 불명확으로서 분류하기 위한 예시적 프로세스(1700)를 제공하는 흐름도를 보여준다. 몇몇 예에서, 프로세스(1700) 또는 이의 부분은 비월 프레임 지시자(1203)를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 만일 현재의 프레임이 비월 프레임인 경우 intl_frm=1을 그리고 만일 프레임이 순차라고 판정되는 경우 intl_frm=0을 출력할 수 있다. 나아가, 비월/순차 프레임 분류기(1202)는 만일 프레임이 불명확이라고 판정되는 경우 프로세스(1700)를 통하여 어떤 출력도 제공하지 않을 수 있다. 프로세스(1700)는 도 17a 및 도 17b에 보여진 바와 같이 하나 이상의 동작(1701 내지 1724)을 포함할 수 있다. 프로세스(1700)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
예컨대, 제1 스테이지 검출(가령, 방법 2, 스테이지 1)은 12개의 식의 경험적 세트(empirical set)와, 분류 명확성의 영역(가령, 비월 또는 순차, 도 14를 참조하시오)을 취급할 수 있는 프로세스에 기반할 수 있다. 제2 스테이지(가령, 방법 2, 스테이지 2)는 프레임 특성이 명확하지 않은 영역(도 14를 참조하시오)을 취급할 수 있는 상세화된 분류 방법일 수 있다. 그러한 영역에서는, 다차원적 분석을 활용하는 기법이 필요할 수 있다. 이 상황을 모델링하기 위하여, 머신 러닝 분류기가 사용될 수 있다. 예컨대, 머신 러닝 분류기는 학습 세트(learning set)에 기반하여 사전훈련될(pre-trained) 수 있다. 몇몇 예에서, 머신 러닝 분류기는 Weka(지식 분석용 와이카토 환경(Waikato Environment for Knowledge Analysis)로부터의 C4.5 분류 트리 알고리즘의 J48 자바(Java) 구현과 같은 C4.5 분류 트리 알고리즘의 버전에 기반할 수 있다.
논의된 바와 같이, 방법 2는 본 문서에서 논의된 것에 추가적인 서술자를 활용할 수 있다. 예컨대, 서술자 RsDif는 동일한 프레임의 상위 필드 및 하위 필드의 수직 텍스처 간의 절대차로서 판정될 수 있다. 서술자 RsDif는 예컨대 동작(1303 또는 1526)에서 판정될 수 있다. 서술자 orient_dyndif는 텍스처가 인공적이고 움직임에 의해 야기된 것이라고 판정된 블록의 카운트 및 프레임 크기에 대한 DynDif의 비율의 아크탄젠트(arctangent)로서 판정될 수 있다. 몇몇 예에서, orient_dyndif는 도 14에 관해서 논의된 바와 같은 선(1405)의 기울기 또는 각도와 연관될 수 있다. 예컨대, orient_dyndif는 orient_dyndif = Tan-1(DynDif/Frame_size/cnt_texblk)로서 판정될 수 있다. 서술자 ZeroTexture는 텍스처가 없고 검은색을 넘는 블록의 조건부 카운트인데, 동작(1522 및 1523)에 관해서와 같이 본 문서에서 논의된 바와 같이 판정될 수 있다. 서술자 SADtb는 본 문서에서 논의된 바와 같이 현재의 프레임의 상위 필드 및 이전의 프레임의 하위 필드 간의 교차 SAD(cross SAD)로서 판정될 수 있다. 서술자 SADbt는 현재의 프레임의 하위 필드 및 이전의 프레임의 상위 필드 간의 교차 SAD로서 판정될 수 있다.
예컨대, 방법 2, 스테이지 1은 현재의 프레임이 비월, 순차, 또는 불명확인지를 판정하기 위해 서술자 및 비교 테스트를 사용할 수 있다. 몇몇 예에서, 방법 2, 스테이지 1은 입력 프레임이 비월인지 여부를 판정하기 위해 12개의 비교 테스트에서 SADff, DynDif, TemporalTex 및 TextureLevel과 같은 4개의 공통의 명시적 서술자를 사용할 수 있다. 비교 테스트의 식은 관측된 데이터를 사용하는 곡선 맞춤에 기반할 수 있다. 그러한 식은 본 문서에서 추가로 논의되는 바와 같이 프로세스(1700)에서 사용될 수 있고 예시적 식(가령, 식 10 내지 식 21)은 다음과 같다:
[식 10]
[식 11]
[식 12]
[식 13]
[식 14]
[식 15]
[식 16]
[식 17]
[식 18]
[식 19]
[식 20]
[식 21]
여기서 서술자 TemporalTex, TextureLevel, DynDif 및 SADff는 본 문서에서 논의된 바와 같이 판정될 수 있다. 나아가, 식 10 내지 식 21은 예시적 파라미터 및 비교기를 보여주나, 다른 파라미터 및/또는 비교기가 사용될 수 있다. 도시된 바와 같이, 식 11 내지 식 21은 DynDif 및 SADff에 기반할 뿐일 수 있다.
도시된 바와 같이, 프로세스(1700)는 시작 동작(1701)으로부터 판단 동작(1702), "orient_dyndif >= 999인가?"(Is orient_dyndif >= 999?)에서 시작할 수 있는데, 여기서 orient_dyndiff가 999보다 더 크거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1721), "프레임은 순차임"(Frame is Progressive)(도 17b를 참조하시오)에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1703), "orient_dyndif > 0.73인가?"(Is orient_dyndif > 0.73?)에서 계속될 수 있는데, 여기서 orient_dyndiff가 0.73보다 더 큰지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1723), "프레임은 비월임"(Frame is Interlaced)(도 17b를 참조하시오)에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1704), "(TextureLevel <= -3.5) 또는 (식 10이 참)인가?"(Is (TextureLevel <= -3.5) or (Eq. 10 true)?)에서 계속될 수 있는데, 여기서 TextureLevel이 -3.5 이하이거나 식 10이 참인지에 대해 판정이 행해질 수 있다. 만일 어느 쪽도 참이 아니라면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 어느 한쪽이든 참이라면, 프로세스(1700)는 판단 동작(1705), "식 10이 참인가?"에서 계속될 수 있는데, 여기서 식 11이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 식 11이 참이라면, 프로세스(1700)는 판단 동작(1706), "(SADff < 4.5) 및 (식 12가 참)인가?"(Is (SADff < 4.5) and (Eq. 12 true)?)에서 계속될 수 있는데, 여기서 SADff가 4.5보다 더 작고 식 12가 참인지에 대해 판정이 행해질 수 있다. 만일 양자 모두가 참이라면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 하나 또는 양자 모두가 거짓이라면, 프로세스(1700)는 판단 동작(1707), "(4.5 <= SADff < 7.0) 및 (식 13이 참)인가?"(Is (4.5 <= SADff < 7.0) and (Eq. 13 true)?)에서 계속될 수 있는데, 여기서 SADff가 4.5 이상이고 7.0 미만이며 식 13이 참인지에 대해 판정이 행해질 수 있다. 만일 양자 모두가 참이라면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 하나 또는 양자 모두가 거짓이라면, 프로세스(1700)는 판단 동작(1708), "(7.0 <= SADff < 9.6) 및 (식 14가 참)인가?"(Is (7.0 <= SADff < 9.6) and (Eq. 14 true)?)에서 계속될 수 있는데, 여기서 SADff가 7.0 이상이고 9.6 미만이며 식 14가 참인지에 대해 판정이 행해질 수 있다. 만일 양자 모두가 참이라면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 하나 또는 양자 모두가 거짓이라면, 프로세스(1700)는 판단 동작(1709), "(7.0 <= SADff < 8.3) 및 (식 13이 참)인가?"(Is (7.0 <= SADff < 8.3) and (Eq. 13 true)?)에서 계속될 수 있는데, 여기서 SADff가 7.0 이상이고 8.3 미만이며 식 13이 참인지에 대해 판정이 행해질 수 있다. 만일 양자 모두가 참이라면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 하나 또는 양자 모두가 거짓이라면, 프로세스(1700)는 판단 동작(1710), "(8.3 <= SADff < 9.6) 및 (식 15가 참)인가?"(Is (8.3 <= SADff < 9.6) and (Eq. 15 true)?)에서 계속될 수 있는데, 여기서 SADff가 8.3 이상이고 9.6 미만이며 식 15가 참인지에 대해 판정이 행해질 수 있다. 만일 양자 모두가 참이라면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 하나 또는 양자 모두가 거짓이라면, 프로세스(1700)는 판단 동작(1711)(도 17b를 참조하시오), "9.6 <= SADff < 12.055인가?"(Is 9.6 <= SADff < 12.055?)에서 계속될 수 있는데, 여기서 SADff가 9.6 이상이고 12.055 미만인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 본 문서에서 추가로 논의된 바와 같이 판단 동작(1714)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1712), "식 16이 참인가?"(Is Eq. 16 true?)에서 계속될 수 있는데, 여기서 식 16이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1713), "식 17이 참인가?"(Is Eq. 17 true?)에서 계속될 수 있는데, 여기서 식 17이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1714)(프로세스(1700)는 또한 논의된 바와 같이 판단 동작(1711)으로부터 판단 동작(1714)에서 계속될 수 있음), "12.055 <= SADff < 15.5인가?"(Is 12.055 <= SADff < 15.5?)에서 계속될 수 있는데, 여기서 SADff가 12.055 이상이고 15.5 미만인지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1700)는 본 문서에서 추가로 논의된 바와 같이 판단 동작(1717)에서 계속될 수 있다.
만일 그렇다면, 프로세스(1700)는 판단 동작(1715), "식 18이 참인가?"(Is Eq. 18 true?)에서 계속될 수 있는데, 여기서 식 18이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1716), "식 17이 참인가?"(Is Eq. 17 true?)에서 계속될 수 있는데, 여기서 식 17이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1717)(프로세스(1700)는 또한 논의된 바와 같이 판단 동작(1714)으로부터 판단 동작(1717)에서 계속될 수 있음), "15.5 <= SADff < 22.7인가?"(Is 15.5 <= SADff < 22.7?)에서 계속될 수 있는데, 여기서 SADff가 15.5 이상이고 22.7 미만인지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1700)는 본 문서에서 추가로 논의된 바와 같이 판단 동작(1720)에서 계속될 수 있다.
만일 그렇다면, 프로세스(1700)는 판단 동작(1718), "식 19가 참인가?"(Is Eq. 19 true?)에서 계속될 수 있는데, 여기서 식 19가 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1719), "식 20이 참인가?"(Is Eq. 20 true?)에서 계속될 수 있는데, 여기서 식 20이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1700)는 동작(1721), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 판단 동작(1720)(프로세스(1700)는 또한 논의된 바와 같이 판단 동작(1717)으로부터 판단 동작(1720)에서 계속될 수 있음), "(SADff >= 22.7) 및 (식 21이 참)인가?"(Is (SADff >= 22.7) and (Eq. 21 true)?)에서 계속될 수 있는데, 여기서 SADff가 22.7 이상이고 식 21이 참인지에 대해 판정이 행해질 수 있다. 만일 양자 모두가 참이라면, 프로세스(1700)는 동작(1723), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1700)는 동작(1722), "프레임은 불명확임"(Frame is Uncertain)에서 계속될 수 있는데, 여기서 현재의 프레임은 불명확이라고 지정되거나 판정될 수 있고 프로세스(1700)는 종료 동작(1724)에서 종료할 수 있다. 예컨대, 현재의 프레임이 불명확이라고 지정되거나 판정될 수 있는 경우 현재의 프레임을 분류하기 위해 처리의 제2 스테이지가 유발될 수 있다.
예컨대, 프로세스(600)의 동작은 다음과 같이 제공될 수 있다: 0. (orient_dyndif >= 999가 참인가)? 만일 '예'라면 단계 19로 간다; 1. (orient_dyndif > 0.73가 참인가)? 만일 '예'라면 프레임은 '비월'이고, 단계 19로 간다; 2. (TextureLevel <= -3.5) 또는 식 10이 참인가? 만일 '아니요'라면 프레임은 '비월'이고, 단계 19로 간다; 3. 식 11이 참인가? 만일 '아니요'라면 프레임은 '비월'이고, 단계 19로 간다; 4. (SADff < 4.5) 및 (식 12가 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 5. (SADff >= 4.5 및 SADff < 7.0) 및 (식 13이 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 6. (SADff >= 7.0 및 SADff < 9.6) 및 (식 14가 참)인가? 만일 '예'라면, 프레임은 '비월'이고, 단계 19로 간다; 7. (SADff >= 7.0 및 SADff < 8.3) 및 (식 13이 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 8. (SADff >= 8.3 및 SADff < 9.6) 및 (식 15가 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 9. (SADff >= 9.6 및 SADff < 12.055)인가? 만일 '예'라면, 단계 12로 간다; 10. (식 16이 참)인가? 만일 '예'라면, 프레임은 '비월'이고, 단계 19로 간다; 11. (식 17이 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 12. (SADff >= 12.055 및 SADff < 15.5)인가? 만일 '아니요'라면, 단계 15로 간다; 13. (식 18이 참)인가? 만일 '예'라면, 프레임은 '비월'이고, 단계 19로 간다; 14. (식 17이 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 15. (SADff >= 15.5 및 SADff < 27.7)인가? 만일 '아니요'라면, 단계 18로 간다; 16. (식 19가 참)인가? 만일 '예'라면, 프레임은 '비월'이고, 단계 19로 간다; 17. (식 20이 참)인가? 만일 '예'라면, 프레임은 '순차'이고, 단계 19로 간다; 18. (SADff >= 22.7) 및 (식 21이 참)인가? 만일 '예'라면, 프레임은 '비월'이고, 단계 19로 간다. 만일 '아니요'라면 프레임의 포맷에 대한 판단은 '불명확'이다. 19. 프로세스의 종료.
논의된 바와 같이, 프레임이 비월, 순차, 또는 불명확인지에 대한 판정이 행해질 수 있도록 본 문서에서 논의된 바와 같은 프로세스(1700) 및/또는 방법 2, 스테이지 1은 다양한 서술자에 기반하여 비교 테스트를 수행할 수 있다. 예컨대, 스테이지 1의 결과는 순차, 비월, 또는 불명확으로의 프레임의 분류일 수 있다. 나아가, 스테이지 1은 임계 판단 구역(critical decision zone)의 외부의 경우(가령, 극단적으로 높은 레벨의 순차/비월 명확성을 가지는 경우)를 취급할 수 있다. 임계 판단 구역 내의 경우는 불명확하다고 판정될 수 있고 스테이지 2에 의한 특별한 취급을 요구할 수 있다.
프로세스(1700)는 논의된 바와 같이, 예시적인 방법 2, 스테이지 1을 제공한다. 프레임이 비월, 순차, 또는 불명확인지를 판정하는 데에 다른 방법 2, 스테이지 1 기법이 사용될 수 있다.
도 26은 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임을 비월, 순차, 또는 불명확으로서 분류하기 위한 예시적 프로세스(2600)를 보여주는 흐름도이다. 몇몇 예에서, 프로세스(2600) 또는 이의 부분은 비월 프레임 지시자(1203)를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 만일 현재의 프레임이 비월 프레임인 경우 intl_frm=1을 그리고 만일 프레임이 순차라고 판정되는 경우 intl_frm=0을 출력할 수 있다. 나아가, 비월/순차 프레임 분류기(1202)는 만일 프레임이 불명확이라고 판정되는 경우 프로세스(2600)를 통하여 어떤 출력도 제공하지 않을 수 있다. 프로세스(2600)는 도 26에 보여진 바와 같이 하나 이상의 동작(2601 내지 2614)을 포함할 수 있다. 프로세스(2600)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
예컨대, 제1 스테이지 검출(가령, 방법 2, 스테이지 1)은 서술자 및 비교 테스트에 기반할 수 있다. 일례에서, 방법 2, 스테이지 1의 이 실시예는 비교 테스트를 형성하도록 조합된 6개의 서술자(가령, SADff, DynDif, RsF, orient_dyndif, RsDif 및 StatDif)에 기반할 수 있다. 그러한 테스트는 본 문서에서 추가로 논의되는 바와 같이 프로세스(2600)에서 사용될 수 있고 예시적 테스트(가령, 테스트 22 내지 테스트 30)는 다음과 같다:
[테스트 22]
[테스트 23]
[테스트 24]
[테스트 25]
[테스트 26]
[테스트 27]
[테스트 28]
[테스트 29]
[테스트 30]
여기서 서술자 SADff, DynDif, RsF, orient_dyndif 및 RsDif는 본 문서에서 논의된 바와 같이 판정될 수 있다. 나아가, 테스트 22 내지 테스트 30은 예시적 파라미터 및 비교기를 보여주나, 다른 파라미터 및/또는 비교기가 사용될 수 있다. 도시된 바와 같이, 식 11 내지 식 21은 DynDif 및 SADff에 기반할 뿐일 수 있다.
도시된 바와 같이, 프로세스(2600)는 시작 동작(2601)으로부터 판단 동작(2602), "테스트 22가 참인가?"(Is Test 22 true?)에서 시작할 수 있는데, 여기서 테스트 22가 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2613), "프레임은 비월임"("Frame is Interlaced)에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2603), "테스트 23이 참인가?"(Is Test 23 true?)에서 계속될 수 있는데, 여기서 테스트 23이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2613), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2604), "테스트 24가 참인가?"(Is Test 24 true?)에서 계속될 수 있는데, 여기서 테스트 24가 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2611), "프레임은 순차임"(Frame is Progressive)에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2605), "테스트 25가 참인가?"(Is Test 25 true?)에서 계속될 수 있는데, 여기서 테스트 25가 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2611), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2606), "테스트 26이 참인가?"(Is Test 26 true?)에서 계속될 수 있는데, 여기서 테스트 26이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2611), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2607), "테스트 27이 참인가?"(Is Test 27 true?)에서 계속될 수 있는데, 여기서 테스트 27이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2611), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2608), "테스트 28이 참인가?"(Is Test 28 true?)에서 계속될 수 있는데, 여기서 테스트 28이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2611), "프레임은 순차임"에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2609), "테스트 29가 참인가?"(Is Test 29 true?)에서 계속될 수 있는데, 여기서 테스트 29가 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2613), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 판단 동작(2610), "테스트 30이 참인가?"(Is Test 30 true?)에서 계속될 수 있는데, 여기서 테스트 30이 참인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(2600)는 동작(2613), "프레임은 비월임"에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(2600)는 동작(2612), "프레임은 불명확임"(Frame is Uncertain)에서 계속될 수 있는데, 여기서 현재의 프레임은 불명확이라고 지정되거나 판정될 수 있고 프로세스(2600)는 종료 동작(2614)에서 종료할 수 있다. 예컨대, 현재의 프레임이 불명확이라고 지정되거나 판정될 수 있는 경우 현재의 프레임을 분류하기 위해 처리의 제2 스테이지가 유발될 수 있다.
예컨대, 프로세스(2600)의 동작은 이하의 의사코드 4에 도시된 바와 같이 제공될 수 있다:
[의사코드 4]
동작(1509 내지 1513)에 관해서 논의된 바와 같이, 몇몇 예에서, 현재의 프레임을 비월 또는 순차로서 지정하기 위해 2개 스테이지를 가지는 분류기 방법 2가 적용될 수 있다. 논의된 바와 같이, 분류기 방법 1 스테이지 1은 현재의 프레임을 비월, 순차, 또는 불명확으로 분류할 수 있고, 만일 프레임이 스테이지 1에서 불명확으로서 분류되는 경우, 현재의 프레임이 비월 또는 순차인지를 판정하기 위해 스테이지 2가 적용될 수 있다. 예컨대, 현재의 프레임을 비월 또는 순차로서 지정하기 위해 스테이지 2는 측정된 데이터, 판정된 서술자 및 머신 러닝 알고리즘에 기반하여 머신 러닝을 사용할 수 있다.
도 18은 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임을 비월 또는 순차로서 분류하기 위한 예시적 프로세스(1800)를 보여주는 흐름도이다. 몇몇 예에서, 프로세스(1800) 또는 이의 부분은 비월 프레임 지시자(1203)를 제공하기 위해 시스템(1200)의 비월/순차 프레임 분류기(1202)에 의해 수행될 수 있다. 예컨대, 비월/순차 프레임 분류기(1202)는 만일 현재의 프레임이 비월 프레임인 경우 intl_frm=1을 그리고 만일 프레임이 순차라고 판정되는 경우 intl_frm=0을 출력할 수 있다. 프로세스(1800)는 도 18에 보여진 바와 같이, 하나 이상의 동작(1801 내지 1821)과, 논의된 바와 같이 더욱 많은 것을 포함할 수 있다. 프로세스(1800)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
예컨대, 방법 2, 스테이지 2는 임계 판단 구역(도 14를 참조하시오) 내의 경우를 취급할 수 있는데, 이는 다변수 공간 탐색(multivariable space search)의 방법에 의해 다루어질 수 있다. 예컨대, 스테이지는 본 문서에서 논의된 바와 같이 서술자를 사용할 수 있다. 예컨대, 이 스테이지는 앞서 논의된 5개의 추가적 서술자(가령, RsDif, orient_dyndif, ZeroTexture, SADtb, SADbt)뿐만 아니라 10개의 공통 서술자 중에서 9개의 서술자(가령, SADff, RsG, RsT, RsB, DynDif, StatDif, TemporalTex, BigTexture, TextureLevel)를 사용할 수 있다. 예컨대, 스테이지 2는 학습 세트에 기반하여 사전훈련된 머신 러닝 분류기를 이용할 수 있다. 몇몇 예에서, 머신 러닝 분류기는 본 문서에서 논의된 바와 같이 Weka로부터의 C4.5 분류 트리 알고리즘의 J48 Java 구현과 같은 C4.5 분류 트리 알고리즘의 버전에 기반할 수 있다. 예컨대, 분류기는 논의된 서술자를 사용하여 사전훈련될 수 있다. 도 18은 판단 트리(decision tree)의 큰 크기로 인해 분류기의 흐름도의 일부분만을 보여준다. 예컨대, 본 문서에서 논의된 방법 2, 스테이지 2 분류는 수천 개의 판단 동작을 가지는 흐름도를 생성하기 위해 수십만 개의 경우를 사용하여 훈련된 분류기를 구현할 수 있다.
도시된 바와 같이, 프로세스(1800)는 시작 동작(1801)으로부터 판단 동작(1802), "TextureLevel <= -0.969인가?"(Is TextureLevel <= -0.969?)에서 시작할 수 있는데, 여기서 TextureLevel이 -0.969보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1803), "SADbt <= 0.465인가?"(Is SADbt <= 0.465?)에서 계속될 수 있는데, 여기서 SADbt가 0.465보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1804), "orient_dyndif <= 0.038인가?"(Is orient_dyndif <= 0.038?)에서 계속될 수 있는데, 여기서 orient_dyndif가 0.038보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1805), "SADtb <= 2.649인가?"(Is SADtb <= 2.649?)에서 계속될 수 있는데, 여기서 SADtb가 2.649보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1806), "orient_dyndif <= 0.0인가?"(Is orient_dyndif <= 0.0?)에서 계속될 수 있는데, 여기서 orient_dyndif가 0.0보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1807), "SADbt <= 0.273인가?"(Is SADbt <= 0.273?)에서 계속될 수 있는데, 여기서 SADbt가 0.273보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1808), "SADtb <= 0.259인가?"(Is SADtb <= 0.259?)에서 계속될 수 있는데, 여기서 SADtb가 0.259보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1809), "SADbt <= 0.202인가?"(Is SADbt <= 0.202?)에서 계속될 수 있는데, 여기서 SADbt가 0.202보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1810), "SADtb <= 0.199인가?"(Is SADtb <= 0.199?)에서 계속될 수 있는데, 여기서 SADtb가 0.199보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
만일 그렇다면, 프로세스(1800)는 판단 동작(1811), "SADtb <= 0.168인가?"(Is SADtb <= 0.168?)에서 계속될 수 있는데, 여기서 SADtb가 0.168보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1800)는 아래에서 논의되는 바와 같이 동작(1812)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1800)는 동작(1818), "SADbt <= 0.19인가?"(Is SADbt <= 0.19?)에서 계속될 수 있는데, 여기서 SADbt가 0.19보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다. 만일 그렇다면, 프로세스(1800)는 동작(1819), "TemporalTex <= 0.134인가?"(Is TemporalTex <= 0.134?)에서 계속될 수 있는데, 여기서 TemporalTex가 0.134보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다. 만일 그렇다면, 프로세스(1800)는 동작(1820), "SADff <= 1.192인가?"(Is SADff <= 1.192?)에서 계속될 수 있는데, 여기서 SADff가 1.192보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다. 만일 그렇다면, 프로세스(1800)는 동작(1821), "SADtb <= 0.182인가?"(Is SADtb <= 0.182?)에서 계속될 수 있는데, 여기서 SADtb가 0.182보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다. 만일 그렇다면, 프로세스(1800)는 연속되는 처리를 제공할 수 있는데, 이는 제시의 명확성을 위하여 도시되지 않는다.
논의된 바와 같이 프로세스(1800)는, SADtb가 0.168보다 더 작거나 같은 경우, 판단 동작(1811)으로부터 판단 동작(1812), "SADbt <= 0.159인가?"(Is SADbt <= 0.159?)에서 계속될 수 있는데, 여기서 SADbt가 0.159보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1800)는 동작(1813), "프레임은 순차임"(Frame is Progressive)에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1800)는 종료 동작(1817)에서 종료할 수 있다.
만일 그렇지 않다면, 프로세스(1800)는 판단 동작(1814), "BigTexture <= 0.947인가?"(Is BigTexture <= 0.947?)에서 계속될 수 있는데, 여기서 BigTexture가 0.947보다 더 작거나 같은지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1800)는 동작(1815), "프레임은 순차임"(Frame is Progressive)에서 계속될 수 있는데, 여기서 현재의 프레임은 순차라고 지정되거나 판정될 수 있고 프로세스(1800)는 종료 동작(1817)에서 종료할 수 있다. 만일 그렇지 않다면, 프로세스(1800)는 동작(1816), "프레임은 비월임"(Frame is Interlaced)에서 계속될 수 있는데, 여기서 현재의 프레임은 비월이라고 지정되거나 판정될 수 있고 프로세스(1800)는 종료 동작(1817)에서 종료할 수 있다.
논의된 바와 같이, 도 18의 흐름도는 우선 TextureLevel <= '텍스처 레벨 임계1'(texture level threshold1)에 대한 테스트를 포함하는데 이는 만일 참이면 SADbt <= 'SADbt 임계1'(SADbt threshold1)인지의 테스트로 이어지고 이는 만일 참이면 orient_dyndif < 'orient_dyndif 임계1'(orient_dyndif threshold1)인지의 다른 테스트로 이어지며 이는 만일 참이면 SADtb <='SADtb 임계1'(SADtb threshold1)인지의 다른 테스트로 이어지고 이는 만일 참이면 orient_dyndif < 'orient_dyndif 임계2'(orient_dyndif threshold2)인지의 다른 테스트로 이어지며 이는 만일 참이면 SADbt <= 'SADbt 임계2'(SADbt threshold2)인지의 다른 테스트로 이어지고 이는 만일 참이면 SADtb <='SADtb 임계2'(SADtb threshold2)인지의 다른 테스트로 이어지며, 기타 등등이되 그것이 SADbt <= 'SADbt 임계k'(SADbt thresholdk)인지로 이어질 때까지인바 이는 만일 참이면, 검사되는 프레임이 '순차'라는 결론으로 이어진다. 대안적으로, 만일 SADbt <= 'SADbt thresholdk'가 거짓이면, 흐름도는 BigTexture <= 'BigTexture 임계1'(BigTexture threshold1)인지의 테스트로 이어지는데 이는 만일 참이면, 프레임이 '순차'이고 아니면, 그것이 '비월'임을 의미한다.
프로세스(1800)는 방법 2, 스테이지 2 분류기의 하나의 부분의 예시를 제공한다. TextureLevel, 또는 SADbt, 또는 orient_dyndif, 또는 SADtb에 대한 것과 같은 초기의 테스트 중 일부가 거짓인 경우 귀결되는 다른 분기는 시행될 필요가 있는 결과적인 개개의 '테스트의 트리'로 이어지는 것이다. 예컨대, 분류기는 많은 분기를 초래할 수 있다. 그러나, 프로세스(1800)는 계산 집약적(computationally intensive)이지 않을 수 있다. 예컨대, 프로세스(1800)는 분류기 내에 포함될 수 있는 몇천 개의 그러한 테스트 중에서 작은 부분(가령, 약 16개의 판단 테스트)만을 나타낼 수 있다.
도 12로 잠시 돌아가면, 논의된 바와 같이, 프레임 그룹 버퍼(1204)는 현재의 프레임 그룹의 5개의 프레임, 이전의 프레임 그룹의 5개의 프레임, 이후의 프레임 그룹의 5개의 프레임 및 1개의 선택적인 제어 프레임을 포함하는 15개 또는 16개의 프레임을 저장할 수 있다. 그러한 프레임은 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)에게 제공되거나 이용가능한 것일 수 있다. 논의된 바와 같이, 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는 프레임 그룹을, 또 (가령, intl_frm을 통하여) 그것의 연관된 프레임 유형도 수신할 수 있고 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는 집성된 입력 비디오(1201)의 프레임 그룹을 위한 진성 비월 지시자(tru_intl)(1206), 순차 지시자(prog_ind)(1207) 및 텔레시네 유형 지시자(tel_type)(1208)를 생성할 수 있다. 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)는 본 문서에서 논의된 것과 같은 임의의 적합한 기법 또는 기법들을 사용하여 그러한 지시자를 생성할 수 있다.
도 19a 및 도 19b는 본 개시의 적어도 몇몇 구현에 따라 마련된, 프레임 그룹을 분류하기 위한 예시적 프로세스(1900)를 제공하는 흐름도를 보여준다. 몇몇 예에서, 프로세스(1900) 또는 이의 부분은 비월 지시자(1206), 순차 지시자(1207), 또는 텔레시네 유형 지시자(tel_type)(1208)를 제공하기 위해 그리고/또는 순차 비디오(가령, 검출된 순차 비디오, 비월제거된 순차 비디오, 또는 텔레시네 반전된 순차 비디오를 제공하기 위해 시스템(1200)의 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)에 의해 수행될 수 있다. 프로세스(1900)는 도 19a 및 도 19b에 보여진 바와 같이 하나 이상의 동작(1901 내지 1920)을 포함할 수 있다. 프로세스(1700)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
논의된 바와 같이, 프로세스(1900)에서, 분석을 위해 5개의 과거 프레임(가령, 과거 프레임 그룹), 5개의 현재 프레임(가령, 현재 프레임 그룹) 및 5개의 다음 프레임(가령, 다음 프레임 그룹)을 저장하는, 15개 프레임의 버퍼 내의 프레임 그룹으로 칭해지는 5개 프레임의 청크(chunk) 내에서 프레임이 분석될 수 있다.
도시된 바와 같이, 프로세스(1900)는 시작 동작(1901)으로부터 판단 동작(1902), "모든 프레임이 순차인가"(Are all frames progressive)에서 시작할 수 있는데, 여기서 현재의 프레임 그룹의 모든 프레임이 순차인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1900)는 판단 동작(1903), "모든 프레임이 비월인가"(Are all frames interlaced)에서 계속될 수 있는데, 여기서 현재의 프레임 그룹의 모든 프레임이 비월인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1900)는 동작(1904), "4:1a 풀다운 패턴 검출"(4:1a pull down pattern detection)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 4:1a 풀다운 패턴 검출이 수행될 수 있다. 프로세스(1900)는 판단 동작(1905), "이것은 4:1a 패턴인가?"(Is this a 4:1a pattern?)에서 계속될 수 있는데, 여기서 동작(1904)의 결과에 기반하여 현재의 프레임 그룹이 4:1a 패턴을 가지는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1900)는 동작(1906), "4:1b 풀다운 패턴 검출"(4:1b pull down pattern detection)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 4:1b 풀다운 패턴 검출이 수행될 수 있다. 프로세스(1900)는 판단 동작(1907), "이것은 4:1b 패턴인가?"(Is this a 4:1b pattern?)에서 계속될 수 있는데, 여기서 동작(1906)의 결과에 기반하여 현재의 프레임 그룹이 4:1b 패턴을 가지는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1900)는 동작(1908), "혼합 풀다운 패턴 검출"(Blended pull down pattern detection)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 혼합 풀다운 패턴 검출이 수행될 수 있다. 프로세스(1900)는 판단 동작(1909), "이것은 혼합 패턴인가?"(Is this a blended pattern?)에서 계속될 수 있는데, 여기서 동작(1908)의 결과에 기반하여 현재의 프레임 그룹이 혼합 패턴을 가지는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1900)는 동작(1910), "3:2 풀다운 패턴 검출"(3:2 pull down pattern detection)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 3:2 풀다운 패턴 검출이 수행될 수 있다. 프로세스(1900)는 판단 동작(1911), "이것은 3:2 패턴인가?"(Is this a 3:2 pattern?)에서 계속될 수 있는데, 여기서 동작(1910)의 결과에 기반하여 현재의 프레임 그룹이 3:2 패턴을 가지는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 프로세스(1900)는 동작(1912), "2:3:3:2 풀다운 패턴 검출"(2:3:3:2 pull down pattern detection)에서 계속될 수 있는데, 여기서 본 문서에서 추가로 논의되는 바와 같이 2:3:3:2 풀다운 패턴 검출이 수행될 수 있다. 프로세스(1900)는 판단 동작(1913), "이것은 2:3:3:2 패턴인가?"(Is this a 2:3:3:2 pattern?)에서 계속될 수 있는데, 여기서 동작(1912)의 결과에 기반하여 현재의 프레임 그룹이 2:3:3:2 패턴을 가지는지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 본 문서에서 추가로 논의되는 바와 같이 동작(1914)(도 19b를 참조하시오)에서 계속될 수 있다.
만일 그렇지 않다면, 도 19b로 넘어가서, 본 문서에서 추가로 논의되는 바와 같이, 프로세스(1900)는 동작(1917), "적응적 텔레시네 패턴 반전기 (가령, 도 23)"(Adaptive Telecine Pattern Reverser (e.g., FIG. 23))에서 계속될 수 있다.
논의된 바와 같이, 프로세스(1900)는 판단 동작(1902, 2903, 1905, 1907, 1909, 1911 또는 1913) 중 임의의 것으로부터 판단 동작(1914), "패턴이 이전 및 향후 패턴과 같은가?"(Is pattern equal to previous and lookahead pattern?)에서 계속될 수 있는데, 여기서 현재의 프레임 그룹이 이전의 프레임 그룹(가령, 종전 프레임 그룹(prior frame group)) 및 향후 프레임 그룹(lookahead frame group)(가령, 다음 프레임 그룹)과 동일한 패턴을 가지는지에 대해 판정이 행해질 수 있다. 예컨대, 현재 프레임 그룹 패턴은 이전의 패턴 및 향후 패턴과 비교될 수 있다.
만일 그것들이 동일한 경우, 처리는 판단 동작(1915), "완전 순차?"(All progressive?)에서 계속될 수 있는데, 여기서 현재의 프레임 그룹의 프레임 전부가 순차인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 동작(1919), "타임스탬프를 계산함"(Calculate Timestamps)에서 계속될 수 있는데, 여기서 (가령, 타이밍(timing) 정보 및/또는 프레임 위치 정보를 포함하여) 비디오에 대해 타임스탬프(timestamp)가 계산될 수 있다. 그러나, 본 문서에서 논의된 바와 같이 재인코딩 또는 표출을 위해 순차 비디오 포맷이 바람직할 수 있기에 비디오의 어떤 추가적 처리(가령, 변환)도 수행되지 않을 수 있다.
만일 프레임 전부가 순차는 아닌 경우, 프로세스(1900)는 판단 동작(1916), "완전 비월?"(All interlaced?)에서 계속될 수 있는데, 여기서 현재의 프레임 그룹의 프레임 전부가 비월인지에 대해 판정이 행해질 수 있다. 만일 그렇다면, 프로세스(1900)는 동작(1918), "적응적 비월 반전기 (비월제거기) (가령, 도 24)"(Adaptive Interlace Reverser (Deinterlacer) (e.g., FIG. 24))에서 계속될 수 있는데, 여기서 프레임은 본 문서에서 추가로 논의되는 바와 같이 비월제거될 수 있다. 처리는 동작(1919), "타임스탬프를 계산함"에서 계속될 수 있는데, 여기서 (가령, 타이밍 정보 및/또는 프레임 위치 정보를 포함하여) 비디오에 대해 타임스탬프가 계산될 수 있다.
만일 프레임 전부가 비월은 아닌 경우, 프로세스(1900)는 동작(1917)(또한 논의된 바와 같이, 프로세스(1900)는 판단 동작(1913 또는 1914)으로부터 동작(1917)에서 또한 계속될 수 있음), "적응적 텔레시네 패턴 반전기 (가령, 도 23)"에서 계속될 수 있는데, 여기서 프레임은 본 문서에서 추가로 논의되는 바와 같이 텔레시네 반전을 거쳐갈 수 있다. 처리는 동작(1919), "타임스탬프를 계산함"에서 계속될 수 있는데, 여기서 (가령, 타이밍 정보 및/또는 프레임 위치 정보를 포함하여) 비디오에 대해 타임스탬프가 계산될 수 있다. 처리는 종료 동작(1920)에서 종료할 수 있다.
논의된 바와 같이, 프로세스(1900)는 프레임 그룹을 위한 분류를 판정할 수 있다. 예컨대, 만일 프레임의 현재의 그룹의 모든 5개의 프레임이 순차이고 이전의 5개 프레임이 순차였으며 다음의 5개 프레임이 또한 순차이면 5개 프레임의 현재의 그룹은 완전 순차라고 선언되며 타임스탬프의 계산 및 각각의 프레임으로의 할당을 제외하고는 어떤 추가 처리도 요구되지 않는다.
나아가, 만일 프레임의 현재의 그룹의 모든 5개의 프레임이 비월이고 이전의 5개 프레임 및 다음 5개 프레임이 또한 모두 비월인 경우, 프레임의 현재의 그룹은 비월이라고 판정된다. 그러한 예에서, 프레임의 현재의 그룹은 적응적 비월 반전기/비월제거기(가령, 콘텐트 적응적 비월 반전기(1211))에 발신될 수 있는데, 이는 예컨대 도 24에 관해서 보여진 바와 같이 타임스탬프가 판정되고 할당될 수 있기 전에 프레임을 비월제거(가령, 비월제거에 의해 프레임을 순차로 변환)할 수 있다.
만일 프레임의 현재의 그룹이 온전히 비월이라고 판정되지 않는 경우(가령, 프레임 중 적어도 하나는 비월로 표명되지(register) 않음), 프레임의 그룹은 텔레시네화된 패턴의 검출을 위해 일련의 분석 테스트를 이하의 순서로 겪을 수 있다: 4:1a 패턴 검출, 4:1b 패턴 검출, 혼합 패턴 검출, 3:2 패턴 검출, 2:3:3:2 패턴 검출. 만일 패턴 중 어느 것도 발견되지 않는 경우, 패턴은 미지 또는 검출불가(undetectable) 패턴이라고 판정된다. 전술된 순서는 이점을 제공할 수 있으나, 텔레시네 패턴에 대한 탐색은 임의의 순서로 행해질 수 있다. 테스트되는 알려진 텔레시네 패턴(가령, 4:1a, 4:1b, 혼합, 3:2 및 2:3:3:2)에 대해, 검출된 패턴에 대한 신뢰를 증가시킬 정도로 현재 프레임 그룹 패턴이 동일한지를 확인하기 위해 과거 패턴 및 장래(가령, 향후) 패턴을 사용하는 것이 유리하다. 만일 논의된 조건 전부가 참인 경우(가령, 그것은 알려진 패턴이고 알려진 패턴은 이전 및 다음 패턴과 동일함), 프레임의 현재의 그룹은 적응적 텔레시네 패턴 반전기(가령, 텔레시네 반전기(1212))에 발신될 수 있는데, 이는 예컨대 도 23에 관해서 보여진 바와 같이 텔레시네 패턴을 반전할 수 있되, 이는 패턴을 되돌리기 위해 검출된 패턴을 사용할 수 있다.
그러나, 만일 현재의 프레임 그룹이 완전 순차 프레임 또는 완전 비월 프레임으로 이루어지지 않거나, 미지의 텔레시네 패턴으로서 검출된 경우, 또는 만일 그것이 이전의 및/또는 다음의 패턴과 매치되지 않는 경우, 현재의 프레임 그룹은 적응적 텔레시네 패턴 반전기(가령, 텔레시네 반전기(1212))에 발신되는데, 이는 편집 에러(editing error)에 대해 패턴을 정정(몇몇 예에서는, 약간 정정)하고 패턴이 존재하는지 다시 판정할 수 있다. 만일 어떤 패턴도 검출되지 않는 경우, 적응적 텔레시네 패턴은 개개의 문제성(problematic) 프레임을 비월제거할 수 있다. 논의된 바와 같이, 만일 패턴의 존재가 확인되는 경우, 패턴은 반전될 수 있고 프레임이 출력될 수 있다. 어떤 경우든, 적응적 텔레시네 패턴 반전기의 출력에서 타임스탬프가 계산되어 프레임에 할당될 수 있다.
동작(1904 및 1905)에 관해서 논의된 바와 같이, 현재의 프레임 그룹에 대해 4:1a 풀다운 패턴이 검출될 수 있다. 4:1a 풀다운 패턴은 임의의 적합한 기법 또는 기법들을 사용하여 검출될 수 있다. 도 27a에 관해서 앞서 논의된 바와 같이, 4:1a 풀다운 패턴은 (가령, 8개의 필드로 여겨질 수 있는) 4개의 원래의 프레임의 그룹에 4개의 프레임의 그룹의 마지막 프레임(가령, 2개의 필드)의 반복이 이어지는 것으로서 형성될 수 있다. 4:1a 풀다운 패턴을 검출하기 위하여, 5개 프레임 케이던스(cadence) 내부에 패턴이 발생함을 판정하기 위해 6개 프레임이 검사될 수 있다. 예컨대, 이전의 상위 필드에 대비한 현재의 상위 필드의 평균 SAD 값(가령, SADtf) 및 이전의 하위 필드에 대비한 현재의 하위 필드의 평균 SAD 값(가령, SADbf)이 판정될 수 있다. 만일 두 필드 비교 모두에 대해 그 값이 매우 작으면(가령, 0.001보다 더 작음), 현재의 프레임에 대해 orient_dyndif가 판정된다. 만일 orient_dyndif가 매우 작으면(가령, 0.001보다 더 작음) 그리고 만일 현재의 프레임에 비해 이전 및 이후 프레임이 더 큰 orient_dyndif를 가지면, 만일 모든 다른 프레임이 0.001보다 더 큰 평균 SAD를 가지고 orient_dyndif가 0.001보다 더 크면, 패턴은 발견될 수 있다. 그러한 프로세스가 의사코드 5에 도시된다:
[의사코드 5]
나아가, 의사코드 6에 도시된 바와 같이 반복된 프레임이 버퍼 내에서 오직 한 번 발생하는지에 대해 체크가 수행될 수 있다:
[의사코드 6]
동작(1906 및 1907)에 관해서 논의된 바와 같이, 현재의 프레임 그룹에 대해 4:1b 풀다운 패턴이 검출될 수 있다. 4:1b 풀다운 패턴은 임의의 적합한 기법 또는 기법들을 사용하여 검출될 수 있다. 도 28a에 관해서 앞서 논의된 바와 같이, 4:1b 풀다운 패턴은 (가령, 연속적인 원래의 프레임의 필드를 교번하는 것으로부터 형성된) 4개의 비월 프레임이 이어지는 (가령, 2개의 필드로 여겨질 수 있는) 원래의 프레임의 그룹으로서 형성될 수 있다. 필드의 시퀀스는 다음과 같다: ... dO a1][a0 a1, aO b1, bO c1, cO d1, dO a1]][a0 a1, aO b1, bO c1, cO d1, dO a1][a0 a1, ...
그러한 예에서, 5개의 프레임이 평가 검사될 수 있으나 처음의 4개 또는 5개의 프레임이 비월로서 검출될 수 있고 그러면 의사코드 7에 도시된 바와 같은 이하의 조건이 테스트될 수 있다:
[의사코드 6]
동작(1910 및 1911)(도 19a를 참조하시오)에 관해서 논의된 바와 같이, 현재의 프레임 그룹에 대해 3:2 풀다운 패턴이 검출될 수 있다. 3:2 풀다운 패턴은 임의의 적합한 기법 또는 기법들을 사용하여 검출될 수 있다. 몇몇 예에서, 3:2 패턴을 검출하는 데에서의 어려움은 부분적인 3:2 패턴의 것이다. 예컨대, 특정 프레임 그룹은 3:2 패턴과 정렬되지 않을 수 있어서, 3:2 패턴은 프레임 그룹의 시작에 대해서 오프셋(offset)될 수 있다. 그러한 부분적인 패턴은 예컨대 편집을 포함하는 많은 이유로 발생할 수 있다. 몇몇 예에서, 3:2 패턴의 검출을 위해 프레임을 정확히 분석하기 위하여, 다수의 프레임이 프레임 버퍼로 버퍼링될 수 있는바 F[x]는 버퍼 내의 위치 x에 위치된 프레임을 가리키는데 이에 대해 분석이 행해지고 있는 것이다(가령, F[x]는 현재의 프레임일 수 있음). 그러한 3:2 패턴 검출에서 3:2 패턴(가령, 부분적 또는 오프셋 3:2 패턴)이 존재하는지 판정하기 위해 평가 테스트에 기반하여 다수의 시나리오가 평가될 수 있다.
예컨대, 3:2 패턴 검출의 제1 시나리오에서, 현재의 버퍼 내의 첫 번째 및 마지막 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 31에 따라 수행될 수 있다:
[테스트 31]
이에 만일 테스트 31의 test[0], test[1], test[2], test[3], test[4] 및 Test[5] 전부가 참이면, 3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 3:2 패턴 검출의 제2 시나리오에서, 현재의 버퍼 내의 첫 번째 및 두 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제2 시나리오를 위한 평가 테스트는 이하의 테스트 32에 따라 수행될 수 있다:
[테스트 32]
이에 만일 테스트 32의 test[0], test[1], test[2], test[3], test[4] 및 Test[5] 전부가 참이면, 3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 3:2 패턴 검출의 제3 시나리오에서, 현재의 버퍼 내의 두 번째 및 세 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제2 시나리오를 위한 평가 테스트는 이하의 테스트 33에 따라 수행될 수 있다:
[테스트 33]
이에 만일 테스트 33의 test[0], test[1], test[2] 및 test[3] 전부가 참이면, 3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 3:2 패턴 검출의 제4 시나리오에서, 현재의 버퍼 내의 세 번째 및 네 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제2 시나리오를 위한 평가 테스트는 이하의 테스트 34에 따라 수행될 수 있다:
[테스트 34]
이에 만일 테스트 34의 test[0], test[1], test[2] 및 test[3] 전부가 참이면, 3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 3:2 패턴 검출의 제5 시나리오에서, 현재의 버퍼 내의 네 번째 및 다섯 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제2 시나리오를 위한 평가 테스트는 이하의 테스트 35에 따라 수행될 수 있다:
[테스트 35]
이에 만일 테스트 35의 test[0], test[1], test[2] 및 test[3] 전부가 참이면, 3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 시나리오 1 내지 5에 관해서 논의된 평가 테스트는 인접한 프레임이 부분적인 패턴을 가지는지를 판정할 수 있는바 그 인접 프레임의 필드는 원래 동일한 프레임의 것은 아니다(가령, 프레임은 각각 b0,c1 및 c0,d1을 포함함, 도 3a 및 도 3b를 참조하시오). 그러한 3:2 텔레시네 패턴은 도 3b에 관해서 본 문서에서 논의된 바와 같이 텔레시네 반전기(1212)를 통하여 반전될 수 있다. 예컨대, 관계된(가령, 이전에 반복된) 필드는 제거될 수 있고, 필드는 (가령, 프레임 c1,c0을 맞바꾸기 또는 유사한 것을 통하여) 순서화될 수 있으며, 필드는 순차 비디오(가령, 24 프레임/초 순차 비디오)를 생성하기 위해 조합될 수 있다.
도 20은 본 개시의 적어도 몇몇 구현에 따라 마련된, 탈텔레시네화 프로세스 전과 후의 예시적 프레임(2000)을 보여준다. 도 20에 도시된 바와 같이, 프레임(2000)은 진성 비월 프레임(2002, 2003, 2006) 및 모조 비월 프레임(2004 및 2005)을 포함하는 3:2 텔레시네 패턴 프레임(2001)을 포함할 수 있다. 도 20의 예에서, 3:2 텔레시네 패턴 프레임(2001)은 본 문서에서 논의된 바와 같이 프레임을 형성하기 위해 조합된 필드를 보여줄 수 있다. 예컨대, 진성 비월 프레임(2002, 2003, 2006)은 비월 비디오 내의 비월 필드를 형성하도록 구분되었을 뿐인 진성 순차 프레임을 형성하기 위해 조합(되거나 재조합)될 수 있다. 모조 비월 프레임(2004 및 2005)은 반면에 각각 원래는 상이한 순차 프레임으로부터의 것인 필드의 조합일 수 있다. 예컨대, 교번하는 필드 패턴(가령, 하위-상위-하위-상위 및 기타 등등)을 유지하도록, 필드가 복사되고 삽입되었을 수 있고 필드의 순서는 맞바꿔졌을 수 있다. 도 3a를 참조하면, 모조 비월 프레임(2004)은 필드 b0,c1(가령 상이한 프레임으로부터의 필드)을 포함하는 프레임과 연관될 수 있고 모조 비월 프레임(2005)은 필드 c0,d1(가령 역시 상이한 프레임으로부터의 필드)을 포함하는 프레임과 연관될 수 있다. 도시된 바와 같이, 그러한 모조 비월 프레임(2004, 2005)은 심각한 시각적 아티팩트를 가질 수 있다.
프레임(2000)은 또한 프레임(2008 내지 2011)을 포함하는 비월제거된 순차 프레임(2007)을 포함한다. 도시된 바와 같이, 본 문서에서 논의된 비월제거 프로세스(가령, 3:2 텔레시네 패턴 검출 및 반전)에 후속하여, 2개의 필드가 드롭될 수 있고 필드는 순차 비디오의 4개의 프레임(2008 내지 2011)을 형성하도록 조합될 수 있다. 예컨대, 도 3b를 참조하면, 프레임(2008)은 필드 a0,a1의 조합일 수 있고, 프레임(2009)은 필드 b0,b1의 조합일 수 있으며, 프레임(2010)은 필드 c0,c1의 조합일 수 있고, 프레임(2011)은 필드 d0,d1의 조합일 수 있다. 도시된 바와 같이, 논의된 기법을 사용하여, 순차 프레임(2007)은 시각적 아티팩트 없게 생성될 수 있다. 그러한 순차 프레임(2007)은 본 문서에서 논의된 바와 같이 순차 비디오를 위한 높은 효율을 가지는 코덱을 통한 재인코딩에 또는 사용자로의 표출에 적합할 수 있다.
도 20의 예에서, 상위 행의 프레임(가령, 3:2 텔레시네 패턴 프레임(2001))은 30 프레임/초의 프레임 레이트를 가질 수 있고 하위 행의 프레임(가령, 비월제거된 순차 프레임(2007))은 24 프레임/초의 프레임 레이트를 가질 수 있다.
동작(1912 및 1913)(도 19a를 참조하시오)에 관해서 논의된 바와 같이, 현재의 프레임 그룹에 대해 2:3:3:2 풀다운 패턴이 검출될 수 있다. 2:3:3:2 풀다운 패턴은 임의의 적합한 기법 또는 기법들을 사용하여 검출될 수 있다. 몇몇 예에서, 2:3:3:2 패턴을 검출하는 데에서의 어려움은 부분적인 2:3:3:2 패턴의 것이다. 예컨대, 특정 프레임 그룹은 2:3:3:2 패턴과 정렬되지 않을 수 있어서, 2:3:3:2 패턴은 프레임 그룹의 시작에 대해서 오프셋될 수 있다. 그러한 부분적인 패턴은 예컨대 편집을 포함하는 많은 이유로 발생할 수 있다. 몇몇 예에서, 2:3:3:2 패턴의 검출을 위해 프레임을 정확히 분석하기 위하여, 다수의 프레임이 프레임 버퍼로 버퍼링될 수 있는바 F[x]는 버퍼 내의 위치 x에 위치된 프레임을 가리키는데 이에 대해 분석이 행해지고 있는 것이다(가령, F[x]는 현재의 프레임일 수 있음). 그러한 2:3:3:2 패턴 검출에서 2:3:3:2 패턴(가령, 부분적 또는 오프셋 2:3:3:2 패턴)이 존재하는지 판정하기 위해 평가 테스트에 기반하여 다수의 시나리오가 평가될 수 있다.
예컨대, 2:3:3:2 패턴 검출의 제1 시나리오에서, 현재의 버퍼 내의 첫 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 36에 따라 수행될 수 있다:
[테스트 36]
이에 만일 테스트 36의 test[0], test[1], test[2] 및 test[3] 전부가 참이면, 2:3:3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 2:3:3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 2:3:3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 2:3:3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 2:3:3:2 패턴 검출의 제2 시나리오에서, 현재의 버퍼 내의 두 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 37에 따라 수행될 수 있다:
[테스트 37]
이에 만일 테스트 37의 test[0], test[1] 및 test[2] 전부가 참이면, 2:3:3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 2:3:3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 2:3:3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 2:3:3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 2:3:3:2 패턴 검출의 제3 시나리오에서, 현재의 버퍼 내의 세 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 38에 따라 수행될 수 있다:
[테스트 38]
이에 만일 테스트 38의 test[0], test[1] 및 test[2] 전부가 참이면, 2:3:3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 2:3:3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 2:3:3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 2:3:3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 2:3:3:2 패턴 검출의 제4 시나리오에서, 현재의 버퍼 내의 세 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 39에 따라 수행될 수 있다:
[테스트 39]
이에 만일 테스트 39의 test[0], test[1] 및 test[2] 전부가 참이면, 2:3:3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 2:3:3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 2:3:3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 2:3:3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 2:3:3:2 패턴 검출의 제5 시나리오에서, 현재의 버퍼 내의 세 번째 프레임이 부분적인 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 40에 따라 수행될 수 있다:
[테스트 40]
이에 만일 테스트 40의 test[0], test[1] 및 test[2] 전부가 참이면, 2:3:3:2 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 2:3:3:2 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 2:3:3:2 풀다운 패턴이 검출되었음), 현재의 패턴은 2:3:3:2 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 2:3:3:2 패턴 검출의 시나리오 1 내지 5에 관해서 논의된 평가 테스트는 프레임의 그룹의 프레임이 부분적인 패턴을 가지는지를 판정할 수 있는바 그 프레임의 필드는 원래 동일한 프레임의 것은 아니다(가령, 프레임은 각각 b0,c1을 포함함, 도 4a 및 도 4b를 참조하시오). 그러한 2:3:3:2 텔레시네 패턴은 도 4b에 관해서 본 문서에서 논의된 바와 같이 텔레시네 반전기(1212)를 통하여 반전될 수 있다. 예컨대, 관계된(가령, 이전에 반복된) 필드는 제거될 수 있고 필드는 순차 비디오(가령, 24 프레임/초 순차 비디오)를 생성하기 위해 조합될 수 있다.
도 21은 본 개시의 적어도 몇몇 구현에 따라 마련된, 탈텔레시네화 프로세스 전과 후의 예시적 프레임(2100)을 보여준다. 도 21에 도시된 바와 같이, 프레임(2100)은 진성 비월 프레임(2102, 2103, 2105, 2106) 및 모조 비월 프레임(2104)을 포함하는 2:3:3:2 텔레시네 패턴 프레임(2101)을 포함할 수 있다. 도 21의 예에서, 2:3:3:2 텔레시네 패턴 프레임(2101)은 본 문서에서 논의된 바와 같이 프레임을 형성하기 위해 조합된 필드를 보여줄 수 있다. 예컨대, 진성 비월 프레임(2102, 2103, 2105, 2106)은 비월 비디오 내의 비월 필드를 형성하도록 구분되었을 뿐인 진성 순차 프레임을 형성하기 위해 조합(되거나 재조합)될 수 있다. 모조 비월 프레임(2104)은 반면에 원래는 상이한 순차 프레임으로부터의 것인 필드의 조합일 수 있다. 예컨대, 교번하는 필드 패턴(가령, 하위-상위-하위-상위 및 기타 등등)을 유지하는 방식으로 필드가 복사되고 삽입되었을 수 있다. 도 4a를 참조하면, 모조 비월 프레임(2104)은 필드 b0,c1(가령 상이한 프레임으로부터의 필드)을 포함하는 프레임과 연관될 수 있다. 도시된 바와 같이, 그러한 모조 비월 프레임(2104)은 심각한 시각적 아티팩트를 가질 수 있다.
프레임(2100)은 또한 프레임(2108 내지 2111)을 포함하는 비월제거된 순차 프레임(2107)을 포함한다. 도시된 바와 같이, 본 문서에서 논의된 비월제거 프로세스(가령, 2:3:3:2 텔레시네 패턴 검출 및 반전)에 후속하여, 2개의 필드가 드롭될 수 있고 필드는 순차 비디오의 4개의 프레임(2108 내지 2111)을 형성하도록 조합될 수 있다. 예컨대, 도 4b를 참조하면, 프레임(2108)은 필드 a0,a1의 조합일 수 있고, 프레임(2109)은 필드 b0,b1의 조합일 수 있으며, 프레임(2110)은 필드 c0,c1의 조합일 수 있고, 프레임(2111)은 필드 d0,d1의 조합일 수 있다. 도시된 바와 같이, 논의된 기법을 사용하여, 순차 프레임(2107)은 시각적 아티팩트 없게 생성될 수 있다. 그러한 순차 프레임(2107)은 본 문서에서 논의된 바와 같이 순차 비디오를 위한 높은 효율을 가지는 코덱을 통한 재인코딩에 또는 사용자로의 표출에 적합할 수 있다.
도 21의 예에서, 상위 행의 프레임(가령, 2:3:3:2 텔레시네 패턴 프레임(2101))은 30 프레임/초의 프레임 레이트를 가질 수 있고 하위 행의 프레임(가령, 비월제거된 순차 프레임(2107))은 24 프레임/초의 프레임 레이트를 가질 수 있다.
동작(1908 및 1909)(도 19a를 참조하시오)에 관해서 논의된 바와 같이, 현재의 프레임 그룹에 대해 혼합 풀다운 패턴이 검출될 수 있다. 혼합 풀다운 패턴은 임의의 적합한 기법 또는 기법들을 사용하여 검출될 수 있다. 몇몇 예에서, 혼합 패턴을 검출하는 데에서의 어려움은 부분적인 혼합 패턴의 것이다. 예컨대, 특정 프레임 그룹은 혼합 패턴과 정렬되지 않을 수 있어서, 혼합 패턴은 프레임 그룹의 시작에 대해서 오프셋될 수 있다. 그러한 부분적인 패턴은 예컨대 편집을 포함하는 많은 이유로 발생할 수 있다. 몇몇 예에서, 혼합 패턴의 검출을 위해 프레임을 정확히 분석하기 위하여, 다수의 프레임이 프레임 버퍼로 버퍼링될 수 있는바 F[x]는 버퍼 내의 위치 x에 위치된 프레임을 가리키는데 이에 대해 분석이 행해지고 있는 것이다(가령, F[x]는 현재의 프레임일 수 있음). 그러한 혼합 패턴 검출에서 혼합 패턴(가령, 부분적 또는 오프셋 혼합 패턴)이 존재하는지 판정하기 위해 평가 테스트에 기반하여 다수의 시나리오가 평가될 수 있다.
예컨대, 혼합 패턴 검출의 제1 시나리오에서, 현재의 버퍼가 3:2 혼합 풀다운 패턴과 같은 혼합 패턴을 가지는지를 평가 테스트가 정할 수 있다. 제1 시나리오를 위한 평가 테스트는 이하의 테스트 41에 따라 수행될 수 있다:
[테스트 41]
여기서, PicSize= pic_width×pic_height이고, 통상적으로 상수 C=20736이며 이에 만일 테스트 41의 test[0] 및 test[1] 전부가 참이면, 3:2 혼합 풀다운 패턴이 검출된 것으로 간주된다. 본 문서에서 논의된 바와 같이, 만일 프레임의 이전의 그룹의 결과가 또한 참이었으면(가령, 3:2 혼합 풀다운 패턴이 검출되었음) 그리고/또는 프레임의 이후의 그룹이 또한 참이면(가령, 3:2 혼합 풀다운 패턴이 검출되었음), 현재의 패턴은 3:2 혼합 풀다운 패턴이라고 지정되거나 판정될 수 있다.
예컨대, 테스트 41에 관해서 논의된 평가 테스트는 프레임의 그룹이 3:2 혼합 패턴을 가지는지를 판정할 수 있다. 그러한 2:3:3:2 텔레시네 패턴은 본 문서에서 논의된 바와 같이 텔레시네 반전기(1212)를 통하여 반전될 수 있다.
도 22는 본 개시의 적어도 몇몇 구현에 따라 마련된, 탈텔레시네화 프로세스 전과 후의 예시적 프레임(2200)을 보여준다. 도 22에 도시된 바와 같이, 프레임(2200)은 삭상(cord)의 배가(doubling)가 제공되도록 시각적 아티팩트를 가지는 혼합 프레임(2201)(가령, 혼합 3:2 풀다운 프레임)을 포함할 수 있다. 나아가, 도 22에 도시된 바와 같이, 혼합 프레임(2201)은 필드(2202(가령, 상위 필드) 및 2203(가령, 하위 필드))를 포함할 수 있는데 필드(2202)는 배가의 시각적 아티팩트를 또한 드러낸다.
프레임(2200)은 또한 비월제거된 순차 프레임(2204)을 보여주는데, 이는 배가의 시각적 아티팩트를 포함하지 않는다. 예컨대, 프레임(2201)을 비월제거하는 데에서, 순차 프레임(2204)을 생성하기 위해 필드(2202)는 제거되고, 반복된 필드로 교체될 수 있다. 몇몇 예에서, 프레임(2201)을 비월제거하는 것은 본 문서에서 그리고, 특히, 도 23에 관해서 논의된 바와 같은 적응적 텔레시네 반전을 포함할 수 있다.
논의된 바와 같이, 프레임 그룹은, 스위치(1209, 1210)를 통하여, 텔레시네 반전기(1212)(가령, 3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(도 12를 참조하시오)에 제공될 수 있다. 나아가, 텔레시네 유형 지시자(tel_type)(1208)는 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)로부터 텔레시네 반전기로 제공될 수 있다. 텔레시네 유형 지시자(1208)에 부분적으로 기반하여, 텔레시네 반전기(1212)는 프레임 그룹의 텔레시네 패턴을 반전하고 순차 비디오(1215)를 제공할 수 있다.
도 23은 본 개시의 적어도 몇몇 구현에 따라 마련된, 텔레시네 반전을 위한 예시적 프로세스(2300)를 보여주는 흐름도이다. 논의된 바와 같이, 몇몇 예에서, 프로세스(2300) 또는 이의 부분은 순차 비디오(1215)를 제공하기 위해 시스템(1200)의 텔레시네 반전기(1212)에 의해 수행될 수 있다. 프로세스(2300)는 도 23에 보여진 바와 같이 하나 이상의 동작(2301 내지 2307)을 포함할 수 있다. 프로세스(2300)는 본 문서에서 논의된 바와 같은 비디오 사전처리의 적어도 일부를 형성할 수 있다.
도시된 바와 같이, 프로세스(2300)는 시작 동작(2301)으로부터 동작(2302), "버퍼를 분석하고 검출된 패턴에 대한 판단을 정정함"(Analyze Buffer and Correct the Decision about Detected Pattern)에서 시작할 수 있는데, 여기서 버퍼(가령, 프레임 버퍼(1204))가 분석될 수 있고, 만일 필요하면, (가령, 텔레시네 유형 지시자(1208)를 통하여 나타내어진) 검출된 패턴에 대한 판단이 정정될 수 있다. 예컨대, 적응적 텔레시네 패턴 반전기(가령, 텔레시네 반전기(1212))는 현재의 검출된 패턴이 유효(valid)한지 여부를 판정할 수 있다. (가령, 장면 전이(scene transition)로 인한) 저상세도의 어두운 장면에서의 그래디언트(gradient)의 부족, 편집 에러, 비디오 장면의 끝의 에지, 하나의 비디오 장면으로부터 다음 비디오 장면으로의 포맷에서의 변화와 같은 어려움으로 인해, 몇몇 예에서, 검출된 패턴은 정확하지 않을 수 있다. 그러한 예에서, (가령, 텔레시네 반전기를 통하여) 시스템은 정확한 패턴으로의 적합한 전이를 제공하거나 잘못 검출된 패턴을 정정하고 그것을 바르게 정렬하려고 시도할 수 있다. 그러한 검출 및 정정은 텔레시네 패턴 검출에 관해서 논의된 기법을 사용하여 (가령 테스트 31 내지 41을 통하여 또는 유사한 기법을 사용하여) 행해질 수 있다. 하나의 예에서, TV 브로드캐스트가 선전으로부터 생방송 뉴스 제시로 나아가는 경우, 신호는 텔레시네화된 (선전) 콘텐트(가령, 24 프레임/초에서 30 프레임/초로의 변환)로부터 원래의 30 프레임/초(가령, 온전히 순차)로 갈 것이고, 선전이 역 텔레시네화되는 경우, 두 장면의 경계에서 검출 에러가 일어날 수가 있다.
프로세스(2300)는 판단 동작(2303), "패턴이 있는가?"(Is there a Pattern?)에서 계속될 수 있는데, 여기서 패턴이 있는지에 대해 판정이 행해질 수 있다. 예컨대, 패턴은 알려진 및/또는 검출된 텔레시네 패턴, 예를 들어 3:2, 2:3:3:2, 4:1a, 4:1b, 3:2 혼합, 또는 다른 검출된 패턴을 포함할 수 있다. 만일 패턴이 있는 경우, 프로세스(2300)는 동작(2305), "패턴 패리티를 체크함"(Check Pattern Parity)에서 계속될 수 있는데, 여기서 패턴의 패리티(parity)가 체크되고/되거나 확인될 수 있다. 예컨대, 패턴의 순서화(ordering)가 확인될 수 있다. 프로세스(2300)는 동작(2306), "패턴을 되돌림"(Undo Pattern)에서 계속될 수 있는데, 여기서 패턴은 본 문서에서 논의된 바와 같이 탈텔레시네화될 수 있다. 예컨대, 텔레시네 패턴이 알려진 경우(가령, 본 문서에서 논의된 바와 같이 검출됨), 반전은 필드를 드롭하는 것, 필드를 재순서화하는 것 및 알려진 패턴에 따라 프레임을 생성하기 위해 필드를 조합하는 것에 의해 수행될 수 있다. 패턴 반전의 예는 도 3b, 도 4b, 도 27b, 도 28b에 관해서 본 문서에서, 그리고 본 문서에서 다른 데에서 제공된다.
만일 (가령, 판단 동작(2303)에서) 어떤 패턴도 없는 경우, 프로세스(2300)는 동작(2304), "문제 프레임을 비월제거함"(Deinterlace Problem Frames)에서 계속될 수 있는데, 여기서 미지의 패턴 또는 문제 프레임이 비월제거될 수 있다. 그러한 프레임은 본 문서에서 논의된 것과 같은 임의의 적합한 기법 또는 기법들을 사용하여 비월제거될 수 있다. 몇몇 예에서, 그러한 프레임은 도 24에 관해서 논의된 기법을 사용하여 비월제거될 수 있다. 프로세스(2300)는 동작(2306) 또는 동작(2304)으로부터 계속되어 종료 동작(2307)에서 종료할 수 있다. 프로세스(2300)는 본 문서에서 논의된 바와 같이 디스플레이 또는 재인코딩에 적합한 비월제거된 순차 비디오를 제공할 수 있다.
논의된 바와 같이, 비디오 프레임은, 스위치(1209, 1210)를 통하여, 콘텐트 적응적 비월 반전기(1211)(도 12를 참조하시오)에 제공될 수 있다. 나아가, 미지의 패턴 및/또는 문제 프레임을 가지는 프레임 그룹은 프로세스(2300)에 관해서 논의된 바와 같이 비월제거될 수 있다. 콘텐트 적응적 비월 반전기(1211)는 임의의 적합한 기법 또는 기법들을 사용하여 그러한 진성 비월 프레임(가령, 스위치(1209, 1210)를 통하여 제공된 프레임)을 비월제거할(가령, 비월 반전할) 수 있다. 나아가, 그러한 미지의 패턴 프레임 그룹 및/또는 문제 프레임은 텔레시네 반전(1212)을 통하여 구현된 콘텐트 적응적 비월 반전기 또는 콘텐트 적응적 비월 반전기(1211)에 의해 비월제거될 수 있다. 그러한 비월제거 또는 비월 반전은 임의의 적합한 기법 또는 기법들을 사용하여 수행될 수 있다. 예컨대, 그러한 비월제거 또는 비월 반전은 도 5a에 관해서 논의된 Bob 기법을 사용하여, 도 5b에 관해서 논의된 Weave 기법을 사용하여, 또는 도 6에 관해서 논의된 기법(가령, GreedyH 비월제거 기법)을 사용하여 수행될 수 있다.
예컨대, 그러한 비월제거 기법은 가격, 성능 및 품질의 상이한 트레이드오프를 제공할 수 있다. 예컨대, 몇몇 Bob 비월제거 기법은 선을 반복함으로써 수직 배가(vertical doubling)를 포함할 수 있고 다른 Bob 비월제거 기법은 누락 선을 생성하기 위해 선형 보간을 포함할 수 있다. 나아가, Bob 비월제거 기법은 다른 기법과 조합될 수 있다. 예컨대, 비월제거기는 Bob 및 Weave 기법을, 움직이는 영역에서는 Bob을 사용하고 정지한 영역에서는 Weave를 사용할 수 있는 단일한 적응적 기법으로 조합할 수 있다. 그러한 기법은 Bob뿐인(Bob only) 기법보다 더 나은 품질을 가능하게 할 수 있되 복잡도는 여전히 비교적 낮은 채로 있다. 다른 예에서, 비월제거기 기법은 누락 블록-선을 생성하기 위해 움직임 보상을 사용할 수 있다. 그러한 예는 더 큰 복잡도를 무릅쓰고 증가된 성능을 제공할 수 있다. 예컨대, 움직임 보상이 주효한(가령, 움직임 벡터가 실제의 움직임의 좋은 근사(approximation)인) 영역에서 고품질 비월제거 결과가 제공될 수 있다. 그러나, 그러한 기법은 움직임 보상 프로세스에 의한 무작위 매치(random match)로 인해 몇몇 영역에서 시각적인 불연속을 야기할 수 있다.
다른 예에서, 움직임 적응적 비월제거 기법은 이동/비이동(non-moving) (가령, 픽셀, 블록 또는 영역) 분류를 사용하여 비월제거를 유도할 수 있다. 그러한 예에서, 온전한 움직임 보상(full motion compensation)은 사용되지 않을 수 있으나 움직임 검출은 적용할 비월제거 기법을 정할 수 있다. 그러한 기법은, 움직임 보상/적응을 위한 가장 좋은 경우에, 움직임 보상 비월제거 기법만큼 좋지는 않은 결과를 제공할 수 있다. 그러나, 움직임 보상/적응을 위한 최악의 경우에, 그러한 움직임 적응적 비월제거 기법은 움직임 보상 비월제거 기법보다 더 적은 시각적 아티팩트를 제공할 수 있다.
이와 같이, 본 문서에서 논의된 기법은 임의의 비월제거 기법을 사용하거나 기법을 사용하여 기술된 바와 같이 진성 비월 프레임 및 미지의 패턴/문제 프레임을 비월제거할 수 있다. 일례에서, 적응적 비월제거기가 구현될 수 있다.
도 24는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 적응적 비월 반전기(2400)를 보여주는 흐름도이다. 논의된 바와 같이, 몇몇 예에서, 적응적 비월 반전기(2400) 또는 이의 부분은 비월제거를 수행하기 위해 그리고 순차 비디오(1215)를 제공하기 위해 시스템(1200)의 콘텐트 적응적 비월 반전기(1211)를 통하여 구현될 수 있다. 나아가, 논의된 바와 같이, 다른 예에서, 적응적 비월 반전기(2400)는 비월제거를 수행하고 순차 비디오(1215)를 제공하기 위해 시스템(1200)의 텔레시네 반전기(1212)를 통하여 구현될 수 있다. 도시된 바와 같이, 적응적 비월 반전기(2400)는 프레임 대 필드 변환기(frame to fields converter)(2402), 적응적 선-블록 보간 모듈(adaptive line-blocks interpolation module)(2403), 수직 비선형 필터링 모듈(vertical non-linear filtering module)(2404), 정리 및 정제 모듈(clean up and refinement module)(2405), 이동/비이동 검출기(moving/nonmoving detector)(2406), 캐니 에지 검출기(canny edge detector)(2407), 공간적 에지 기반 보간 모듈(spatial edge based interpolation module)(2408), 가중 조합 모듈(weighted combination module)(2409) 및 필드/선 인터리버(fields/lines interleaver)(2410)를 포함할 수 있다.
도시된 바와 같이, 적응적 비월 반전기(2400)는 본 문서에서 논의된 바와 같이 미지의 패턴 또는 난제(troubled) 프레임으로부터 진성 비월 프레임이나 의사 또는 모조 비월 프레임과 같은 비월 프레임(2401)을 수신할 수 있다. 예컨대, 비월 프레임(2401)은 프레임 대 필드 변환기(2402)에 의해 수신될 수 있다. 프레임 대 필드 변환기(2402)는 임의의 적합한 기법 또는 기법들을 사용하여 비월 프레임(2401) 중의 프레임을 필드로 구분할 수 있다. 일례에서, 프레임 대 필드 변환기(2402)는 프레임의 모든 짝수 선이 짝수 필드를 초래하고 프레임의 모든 홀수 선이 홀수 필드를 초래하도록 프레임을 디인터리빙하는 것(deinterleaving)에 의해 비월 프레임(2401) 중의 프레임을 필드로 구분할 수 있다. 예컨대, 필드의 결과적인 시퀀스는 비월 프레임(2401)의 프레임 레이트에 비해 두 배의 시간적 레이트(가령, 필드 레이트)를 가질 수 있는데, 각각의 필드는 각각의 프레임의 절반의 수직선을 가진다. 예컨대, 두 배의 시간적 레이트의 각각의 픽처의 선이 하나 걸러 하나씩 누락될 수 있다. 도시된 바와 같이, 프레임 대 필드 변환기(2402)에 의해 정해진 필드는 적응적 선-블록 보간 모듈(2403), 캐니 에지 검출기(2407), 이동/비이동 검출기(2406) 및 필드/선 인터리버(2410)에 제공될 수 있다.
적응적 선-블록 보간 모듈(2403)은 프레임 대 필드 변환기(2402)로부터 필드를 수신하고 수신된 필드 내의 누락 선을 처음에 채울 수 있다(가령, 처음에 채워진 누락 선은 차후에 정제될 수 있음). 임의의 적합한 기법 또는 기법들을 사용하여 적응적 선-블록 보간 모듈(2403)은 수신된 필드 내의 누락 선을 처음에 채울 수 있다. 예컨대, 움직임 보상 기법, 움직임 적응 기법, 선 반복 기법, 선형 보간 기법, 또는 유사한 것을 사용하여 적응적 선-블록 보간 모듈(2403)은 수신된 필드 내의 누락 선을 처음에 채울 수 있다. 움직임 적응 또는 움직임 보상을 사용하는 예에서, 계산 및 품질의 실용적인 이유로, 각각의 온전한 누락 선을 위한 움직임 보상 또는 움직임 적응 채움을 제공하기보다는, 한 번에 8개의 누락 선과 같은 선의 그룹이 처리될 수 있어서 보간은 작은 폭(가령, 8 픽셀) 및 높이(가령, 선)의 블록을 사용하여 수행될 수 있다. 논의된 예에서, 블록은 정방형이고 크기가 8x8 픽셀이나, 블록은 임의의 형상 및 크기의 것일 수 있다. 예컨대, 보간을 위한 블록은 8x4 픽셀의 크기를 가지는 직사각형일 수 있다. 나아가, 블록은 더 클 수 있는데, 예를 들어 16x16 또는 16x8이되 처리의 속도를 위해 품질의 트레이드오프가 있다. 도시된 바와 같이, 처음에 채워진 누락 선을 갖는 필드는 수직 비선형 필터링 모듈(2404) 및 이동/비이동 검출기(2406)에 제공될 수 있다.
이동/비이동 검출기(2406)는 프레임 대 필드 변환기(2402)로부터의 필드 및 처음에 채워진 누락 선을 갖는 필드를 수신할 수 있다. 이동/비이동 검출기(2406)는 필드의 부분 또는 영역을 이동/비이동으로서 분류할 수 있다. 예컨대, 그러한 분류는 픽셀 단위, 블록 단위 및/또는 영역 단위로 수행될 수 있다. 이동/비이동 검출기(2406)는 움직이는 또는 정적인 픽셀, 블록 또는 영역을 국부적으로 식별하는 이진 마스크(binary mask)(가령, 비이동 마스크(비이동)(2411))를 제공할 수 있다. 도시된 바와 같이, 이동/비이동 마스크(가령, 이동(2411))은 가중 조합 모듈(2409)에 제공될 수 있다.
논의된 바와 같이, 수직 비선형 필터링 모듈(2404)은 적응적 선-블록 보간 모듈(2403)로부터 처음에 채워진 누락 선을 갖는 필드를 수신할 수 있다. 수직 비선형 필터링 모듈(2404)은 처음에 채워진 누락 선을 정제하고 필터링된 누락 선을 제공하기 위해 수직 비선형 필터링 모듈(2404)에 수직 방향에서의 비선형 필터링을 제공할 수 있다. 그러한 필터링은 예컨대 보간된 에지의 첨예도(sharpness)를 개선할 수 있다. 수직 비선형 필터링 모듈(2404)은 임의의 적합한 기법 또는 기법들을 사용하여 그러한 비선형 필터링을 수행할 수 있다. 몇몇 예에서, 수직 비선형 필터링 모듈(2404)은 중간치 필터링 프로세스를 통하여 그러한 비선형 필터링을 수행할 수 있다. 도시된 바와 같이, 필터링된 누락 선을 갖는 필드는 정리 및 정제 모듈(2405)에 제공될 수 있다.
예컨대, 수직 비선형 필터링 모듈(2404)을 통하여 제공된 중간치 필터링(또는 유사한 것)은 에지의 세부사항과, 따라서 흐릿함(blurriness)의 출현을 보존할 수 있다. 논의된 비선형 필터링은 에지 세부사항에 유리할 수 있으나, 그것은 에지 상의 앨리어싱/계단 패턴, 작은 단절된 에지, 그리고/또는 에지의 약간의 프레임별(frame to frame) 흔들림(jiggling)과 같은 아티팩트를 도입할 수 있다. 정리 및 정제 모듈(2405)은 필터링된 누락 선을 갖는 필드를 수신할 수 있고 정리 및 정제 모듈(2405)은 고립된 단절된 작은 에지를 정리하기 위해 그리고 에지의 프레임별 안정성을 증가시키기 위해 수신된 필드를 추가로 필터링할 수 있다. 도시된 바와 같이, 추가로 필터링된 누락 선을 갖는 필드는 공간적 에지 기반 보간 모듈(2408) 및 가중 조합 모듈(2409)에 제공될 수 있다.
나아가, 앨리어싱 아티팩트를 감소시키는 것이 바람직할 수 있다. 예컨대, 캐니 에지 검출기(2407)는 프레임 대 필드 변환기(2402)로부터 필드를 수신할 수 있고 캐니 에지 검출기(2407)는 (가령, 비월 프레임(2401)을 통하여 수신된 바와 같은) 필드의 원래의(가령, 보간되지 않은) 선 내의 에지를 식별하는 출력을 제공할 수 있다. 그러한 에지는 누락(가령, 보간되는) 선 내의 방향성 에지를 따라 픽셀을 보간하는 데에 사용될 수 있다. 예컨대, 수직으로 정렬된 픽셀을 사용하여 픽셀을 보간하는 것 대신에, 제공된 방향성 선의 반대 측의 픽셀을 사용하여 픽셀이 보간될 수 있다. 예컨대, 캐니 에지 검출기(2407)는 필드의 선(가령, 보간되지 않은 선) 내의 에지 점의 위치를 파악하고 그것들을 상호연결하여, 보간된 선 상에서의 에러 함수(가령, SAD)를 최소화할 수 있다. 그러한 프로세스는 방향성 필터링(directional filtering)을 제공할 수 있고 에지의 실질적으로 정밀한 보간을 초래할 수 있다. 도시된 바와 같이, 캐니 에지 검출기(2407)로부터의 결과는 공간적 에지 기반 보간 모듈(2408)에 제공될 수 있는데, 이는 캐니 에지 검출기(2407)로부터의 결과 및 정리 및 정제 모듈(2405)를 통하여 수신된 추가로 필터링된 누락 선을 갖는 필드를 사용하여 공간적 에지 기반 누락 선을 포함하는 필드를 생성할 수 있다. 도시된 바와 같이, 공간적 에지 기반 보간 모듈(2408)은 공간적 에지 기반 누락 선을 포함하는 필드를 가중 조합 모듈(2409)에 제공할 수 있다.
논의된 바와 같이, 가중 조합 모듈(2409)은 공간적 에지 기반 보간 모듈(2408)로부터 공간적 에지 기반 누락 선을 포함하는 필드를, 정리 및 정제 모듈(2405)로부터 추가로 필터링된 누락 선을 갖는 필드를, 그리고 이동/비이동 검출기(2406)로부터 비이동 마스크(비이동)(2411)를 수신할 수 있다. 가중 조합 모듈(2409)은 정리 및 정제 모듈(2405)로부터의 픽셀(가령, 논의된 바와 같은 추가로 필터링된 누락 선) 및 공간적 에지 기반 보간 모듈(2408)로부터의 픽셀(가령, 공간적 에지 기반 누락 선)의 가중 조합으로서 최종적인 보간된 선(가령, 최종 누락 선)을 생성할 수 있다. 가중화(weighting)는 임의의 적합한 기법 또는 기법들을 사용하여 적용될 수 있다. 일례에서, 비이동 마스크(2411)에 기반하여, 정적인 영역을 위한 픽셀은 공간적 에지 기반 보간 모듈(2408)로부터의 픽셀을 포함할 수 있고 움직이는 영역을 위한 픽셀은 정리 및 정제 모듈(2405)로부터의 픽셀을 포함할 수 있다(가령, 이동/비이동 마스크에 기반하여 픽셀 간의 이진 선택이 행해질 수 있음). 그러한 예에서, 공간적 에지 기반 보간 픽셀 및 추가로 필터링된 보간된 픽셀에 적용되는 가중치(weight)는, 각각 정적 영역에서는 (1,0)이고 움직이는 영역에서는 (0,1)일 수 있다. 다른 예에서, 가중치는 비이진(non-binary) 고정 가중치일 수 있다. 또 다른 예에서, 가중치는 비이진이고 콘텐트 적응적일 수 있어서, 비이동 마스크(2411) 대신에, 이동/비이동 검출기(2406)는 상대적인 움직임의 맵핑 또는 유사한 것을 제공할 수 있고 가중치는 이동/비이동 검출기(2406)에 의해 제공된 맵핑에 기반하여 콘텐트 적응적일 수 있다. 도시된 바와 같이, 가중 조합 모듈(2409)은 누락 픽셀(가령, 논의된 바와 같이 생성된 선)을 필드/선 인터리버(2410)에 제공할 수 있다.
필드/선 인터리버(2410)는 생성된 누락 픽셀(가령, 선) 및 프레임 대 필드 변환기(2402)로부터의 필드를 수신할 수 있다. 필드/선 인터리버(2410)는 생성된 누락 픽셀(가령, 선) 및 프레임 대 필드 변환기(2402)로부터의 필드를 인터리빙하여 비월제거된 프레임(2412)을 생성할 수 있다. 예컨대, 비월제거된 프레임(2412)은 콘텐트 적응적 비월 반전기(1211) 또는 텔레시네 반전기(1212)로부터 순차 비디오로서 제공될 수 있다.
논의된 바와 같이, 적응적 비월 반전기(2400) 또는 논의된 다른 비월제거기는 다양한 기법을 사용하여 순차 비디오를 생성하기 위해 비월 비디오를 비월제거할 수 있다. 몇몇 예에서, 적응적 비월 반전기(2400)를 포함하는 기술된 비월제거기 중 임의의 것은 중대한 콘텐트 상에 몇몇 가시적 아티팩트를 초래할 수 있다. 예컨대, 만일 소스 콘텐트가 프레임 하나하나마다 약간 바뀌는 하이라이트(highlight)를 갖는 텍스트 또는 얇은(가령, 1개 선) 수평적 에지를 갖는 정지하거나 거의 정지한 그래픽을 포함하는 경우, 비월제거 후에, 일렁임(shimmering) 아티팩트가 가시적일 수 있다. 나아가, 만일 소스 콘텐트가 정지한 텍스트 또는 느린 움직이는 텍스트를 포함하는 경우, 60 프레임/초로의 비월제거 후에, 비월제거된 콘텐트는 텍스트 또는 텍스트를 포함하는 텍스트 박스(text box)의 떨림(wobbliness)을 포함하는 가시적 아티팩트를 보일 수 있다. 연속적인 비월제거된 프레임의 동일배치된(co-located) 선은 이상(out of phase)인 선을 가질 수 있기에 그러한 아티팩트가 발생할 수 있다. 예컨대, 원래의 선 하나하나에 대해, 이웃 프레임 내의 동일배치된 선은 합성될 수 있고 반복으로 인해 그러한 가시적 아티팩트를 생성할 정도로 충분히 상이하게 보일 수 있다. 그러한 가시적 아티팩트는 비월제거기가 30 프레임/초로 출력하게 하고 이웃 프레임을 동상으로(into phase) 함으로써 해결될 수 있다. 그러나, 그러한 기법은 수직적/시간적 해상도를 현저히 감소시킬 수 있다. 예컨대, 흔히 비디오 콘텐트는 일부가 빠르게 스크롤하는(scrolling) 텍스트의 여러 선을 가질 수 있는 반면 다른 텍스트는 정지한 것이거나 느리게 움직이는 것(가령, 헤드라인(headline) 또는 주식 속보기(stock ticker) 또는 유사한 것)일 수 있기 때문에 시간적 해상도의 그러한 감소는 실제적이지 않을 수 있다. 그러한 예에서, 시간적 해상도의 감소는 빠르게 움직이는 콘텐트 내의 흔들림 아티팩트를 야기할 수 있다. 몇몇 예에서, 적응적 비월 반전기(2400)는 그러한 일렁임, 떨림 및 흔들림 아티팩트를 다루기 위한 모듈 또는 기법, 예를 들어 수직 동기화(vertical synchronization) 기법 또는 유사한 것을 포함할 수 있다.
논의된 바와 같이, 다양한 포맷의 집성된 비디오를, 최신 비디오 코덱을 통한 압축에 그리고/또는 최신의 디스플레이에 유리할 수 있는 순차 비디오로 변환하기 위해 비디오 전처리를 제공하는 데에 다양한 기법이 사용될 수 있다.
예컨대, 본 문서에서 논의된 시스템 및 기법은 텔레시네 및 비월 반전기를 포함할 수 있다. 몇몇 예에서, 논의된 시스템 및 기법은 동작 모드에서 제공될 수 있다. 예컨대, 시스템 및 기법은 디코딩된 높은 비트레이트의, 집성된, 비월 비디오 스트림을 전처리하는 데에 사용될 수 있는 3개의 동작 모드로 제공될 수 있다. 예컨대, 비디오 스트림은 의사 비월 비디오로의 3:2 풀다운을 겪은 24 프레임/초 순차 비디오로서 비롯되었을 수 있거나, 비디오 스트림은 포착 시에 참으로 실제 비월 비디오일 수 있다. 전자의 경우에, 전처리는 텔레시네 변환을 되돌림으로써 의사 비월 비디오를 순차 비디오로 변환할 수 있다. 후자의 경우에, 전처리는 비월제거의 프로세스에 의해 실제의 비월 비디오를 순차 비디오로 변환할 수 있다. 인코딩된 소스 스트림 중 일부에서는, 비월 소스(interlaced source), 텔레시네화 소스(telecined source) 또는 진성 순차 소스(truly progressive source)로부터 비롯되는 것으로서 프로그램을 식별하는 식별자가 있을 수 있으므로, 3개 유형의 처리 모드가 다음과 같이 제공될 수 있다.
제1 처리 모드는 자동 검출 모드(auto detection mode)를 포함할 수 있다. 자동 검출 모드(가령, 적응적 모드)에서, 높은 비트레이트 인코딩된 비디오 스트림의 디코딩된 프레임은 그것이 순차이거나, 텔레시네 변환으로 인해 의사 비월이거나, 원래 비월 소스로부터의 것인지 판정하기 위해 자동으로 분석될 수 있다. 만일 프레임이 순차라고 판정되는 경우, 어떤 추가 전처리 행위도 필요하지 않을 수 있고 비디오는 인코딩(가령, 더 낮은 비트레이트 인코딩) 또는 표출을 위한 올바른 포맷으로 이용가능하다고 간주된다. 만일 프레임이 의사 비월이라고 여겨지는 경우, 텔레시네 반전(또는 역변환) 프로세스는 이후의 인코딩(가령, 더 낮은 비트레이트 인코딩) 또는 표출을 위해 24 프레임/초 순차 포맷으로 프레임을 변환하기 위해 적용될 수 있다. 대안적으로, 만일 프레임이 원래 비월이라고 판정되는 경우, 비월제거(비월 반전) 프로세스는 이후의 인코딩(가령, 더 낮은 비트레이트 인코딩) 또는 표출을 위해 이용가능한 비트레이트에 따라서 30 또는 60 프레임/초의 순차 포맷으로 프레임을 변환하기 위해 적용될 수 있다.
제2 처리 모드는 텔레시네 반전기 모드를 포함할 수 있다. 예컨대, 높은 비트레이트 인코딩된 비디오 스트림의 디코딩된 프레임이 의사 비월임이 알려진 경우, 그것을 (오긍정(false positive) 또는 유사한 것의 가능성으로 인해 오처리(misprocessing)의 가망이 있는) 자동 검출 모드를 통해 발신하는 것 대신에, 텔레시네 반전기 모드가 구현될 수 있다. 텔레시네 반전기 모드에서, 프레임은 그것을 이후의 인코딩(가령, 더 낮은 비트레이트 인코딩) 또는 표출을 위해 24 프레임/초 순차 포맷으로 변환하기 위해 텔레시네 반전(또는 역변환) 프로세스를 통해 발신될 수 있다.
제3 처리 모드는 텔레시네 반전기 모드를 포함할 수 있다. 예컨대, 높은 비트레이트 인코딩된 비디오 스트림의 디코딩된 프레임이 원래 비월임이 알려진 경우, 그것을 (오긍정 또는 유사한 것의 가능성으로 인해 오처리 가망이 있는) 자동 검출 모드를 통해 발신하는 것 대신에, 비월 반전기 모드가 구현될 수 있다. 비월 반전기 모드에서, 프레임은 그것을 이후의 인코딩(가령, 더 낮은 비트레이트 인코딩) 또는 표출을 위해 이용가능한 비트레이트에 따라서 30 또는 60 프레임/초의 순차 포맷으로 변환하기 위해 비월제거(비월 반전)를 통해 발신될 수 있다.
모든 3개의 모드에서, 프로세스의 출력은 순차 비디오인데, 이는 HEVC 코딩 표준 또는 유사한 표준을 사용하는 효율적인 코딩에 가장 적합한 포맷이다. 예컨대, HEVC 표준은 비월될 비디오의 시그널링을 또한 지원하나, HEVC 코딩 도구는 순차 비디오의 효율적인 코딩을 지원할 뿐이어서 비월 포맷을 인코딩하는 것의 코딩 효율성 이점이 없다. 나아가, H.264 비디오 표준과 같은 몇몇 비디오 표준은 비월 및 순차 비디오 양자 모두의 효율적인 코딩을 위한 도구를 지원한다. 그러나, H.264 디지털 비디오 서비스 또는 유사한 것에 있어서라도, 컴퓨터 디스플레이, 디지털 HDTV 디스플레이 또는 유사한 것을 위해 의도되는 (가령, 미디어 플레이어(media player)를 통한) 비디오의 궁극적인 재생으로 인해, 순차 비디오를 제공하는 것이 유리할 수 있다. 그러므로, 순차 포맷은 그 포맷이 편재적(ubiquitous)이게 되고 디스플레이 종단점에서 추가적인 변환을 요구하지 않으므로 인코딩에 유리할 수 있다. 예컨대, 그러한 추가적인 변환은 (가령, 소비자 디스플레이의 유형 및/또는 능력에 따라서) 소비자에게 전달되는 비디오의 폭넓게 달라지는 품질을 야기할 수 있다.
도 29는 본 개시의 적어도 몇몇 구현에 따라 마련된, 인코딩 및/또는 디스플레이를 위해 비디오를 처리하기 위한 예시적 프로세스(2900)를 보여주는 흐름도이다. 프로세스(2900)는 도 29에 보여진 바와 같이 하나 이상의 동작(2901 내지 2904)을 포함할 수 있다. 프로세스(2900)는 비디오 처리의 적어도 일부를 형성할 수 있다. 비한정적인 예로서, 프로세스(2900)는 본 문서에서 논의된 바와 같이 시스템(1200)에 의해 시행되는 바와 같은 순차 비디오를 생성하기 위한 비디오 인코딩 프로세스의 적어도 일부를 형성할 수 있다. 또한, 프로세스(2900)는 도 30의 시스템(3000)을 참조하여 본 문서에서 기술될 것이다.
도 30은 본 개시의 적어도 몇몇 구현에 따라 마련된, 비디오 처리를 위한 예시적 시스템(3000)의 설명도이다. 도 30에 도시된 바와 같이, 시스템(3000)은 하나 이상의 중앙 처리 유닛(Central Processing Unit: CPU)(3001), 그래픽 처리 유닛(Graphics Processing Unit: GPU)(3002) 및 시스템 메모리(system memory)(3003)를 포함할 수 있다. 또한 도시된 바와 같이, CPU(3001)는 비월/순차 프레임 분류기(1202), 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205), 콘텐트 적응적 비월 반전기(1211) 및 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)를 포함할 수 있다. 나아가, 시스템 메모리(3003)는 프레임 그룹 버퍼(1204)를 포함할 수 있다. 시스템(3000)의 예에서, 시스템 메모리(3003)는 프레임 그룹 버퍼(1204)를 통하여 프레임 그룹(가령, 5개의 현재의 프레임, 5개의 종전 프레임 및 5개의 이후의 프레임, 그리고 선택적인 제어 프레임의 그룹)을 저장할 수 있다. 나아가, 시스템 메모리(3003)는 비디오 데이터, 예를 들어 서술자, 비교 테스트 파라미터 및/또는 결과, 예측되는 픽셀, 가중치, 전송 스트림 또는 채널 데이터, 헤더 데이터, 포맷 코드(가령, frmt_code(909)), 집성된 비디오 콘텐트, 순차 비디오 콘텐트, 순차 비디오 지시자(가령, prog_ind(1104)), 비월 프레임 지시자(가령, intl_frm(1203)), 진성 비월 프레임 그룹 지시자(가령, tru_intl(1206)), 순차 프레임 그룹 지시자(가령, prog_ind(1207)), 텔레시네 패턴 지시자(가령, tel_type(1208)), 머신 러닝 파라미터, 임계, 타임스탬프, 비디오 필드, 비디오 프레임 또는 본 문서에서 논의된 다른 비디오 데이터를 저장할 수 있다.
CPU(3001) 및 그래픽 처리 유닛(3002)은 본 문서에서 논의된 바와 같은 동작을 제공할 수 있는 임의의 개수 및 유형의 처리 유닛을 포함할 수 있다. 그러한 동작은 소프트웨어 또는 하드웨어 또는 이의 조합을 통하여 구현될 수 있다. 예컨대, 그래픽 처리 유닛(3002)은 시스템 메모리(3003) 또는 전용 그래픽 메모리(도시되지 않음)로부터 획득된 데이터를 조작하는 데에 전용인 회로를 포함할 수 있다. 나아가, 중앙 처리 유닛(3001)은 본 문서에서 논의된 동작뿐만 아니라 시스템(3000)을 위한 제어 및 다른 고수준 기능을 제공할 수 있는 임의의 개수 및 유형의 처리 유닛 또는 모듈을 포함할 수 있다. 시스템 메모리(3003)는 임의의 유형의 메모리, 예를 들어 휘발성 메모리(가령, 정적 랜덤 액세스 메모리(Static Random Access Memory: SRAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory: DRAM) 등등) 또는 비휘발성 메모리(가령, 플래시 메모리(flash memory) 등등) 및 기타 등등일 수 있다. 비한정적인 예에서, 시스템 메모리(3003)는 캐시 메모리(cache memory)에 의해 구현될 수 있다. 도시된 바와 같이, 일 실시예에서, 비월/순차 프레임 분류기(1202), 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205), 콘텐트 적응적 비월 반전기(1211) 및 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)가 CPU(3001)를 통하여 구현될 수 있다. 몇몇 예에서, 비월/순차 프레임 분류기(1202), 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205), 콘텐트 적응적 비월 반전기(1211) 및 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)는 CPU(3001)를 통하여 구현되는 바와 같은 소프트웨어에 의해 제공될 수 있다. 다른 예에서, 비월/순차 프레임 분류기(1202), 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205), 콘텐트 적응적 비월 반전기(1211) 및 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)는 디지털 신호 프로세서(digital signal processor) 또는 유사한 것을 통하여 구현될 수 있다. 다른 실시예에서, 비월/순차 프레임 분류기(1202), 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205), 콘텐트 적응적 비월 반전기(1211) 및 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)는 그래픽 처리 유닛(3002)의 실행 유닛(Execution Unit: EU)을 통하여 구현될 수 있다. EU는, 예컨대, 프로그램가능(programmable) 로직 또는 회로, 예를 들어 광범위한 무리의 프로그램가능 로직 기능을 제공할 수 있는 로직 코어 또는 코어들을 포함할 수 있다.
도 29의 논의로 돌아가면, 프로세스(2900)는 동작(2901),"혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정함"(Determine a Frame Format for a Frame of a Mixed Content Video Stream)에서 시작할 수 있는데, 여기서, 하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대해 프레임 포맷이 판정될 수 있다. 예컨대, 혼합 콘텐트 비디오 스트림의 비디오 포맷은 순차 포맷, 진성 비월 포맷, 의사 비월 텔레시네 변환 포맷, 60 프레임/초 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷 중 하나 이상을 포함할 수 있다. 프레임 포맷을 판정하는 것은 제1 프레임의 콘텐트 분석을 포함할 수 있다. 예컨대, 프레임 포맷은 순차 또는 비월 중 하나를 포함할 수 있다. 예컨대, 프레임 포맷은 CPU(3001)를 통하여 구현된 바와 같은 비월/순차 프레임 분류기(1202)를 통하여 판정될 수 있다.
몇몇 예에서, 프레임 포맷은 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것, 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것, 그리고 비교 테스트에 기반하여 프레임 포맷을 판정하는 것에 의해 판정될 수 있는데, 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다. 그러한 기법은 도 13, 도 14, 도 15, 도 16, 도 25에 관해서 그리고 본 문서에서 다른 데에서 논의된다. 예컨대, 서술자는 제1 프레임의 필드의 쌍 간의 절대차의 합, 제1 프레임의 블록 및 제1 프레임의 상위 필드의 블록 간의 가변 임계 차이의 합, 높은 텍스처 값을 가지는 제1 프레임의 블록의 임계화된 카운트, 제1 프레임의 수직 텍스처의 측정, 제1 프레임의 동적 텍스처 및 정적 텍스처 간의 차이의 측정, 제1 프레임의 텍스처 레벨 및 제1 프레임의 필드의 텍스처 레벨의 평균 간의 차이의 측정, 또는 제1 프레임의 블록 및 제1 프레임의 상위 필드의 블록 간의 정적 임계화 차이의 합 중 하나 이상을 포함할 수 있다. 다른 서술자가 이용가능할 수 있다. 비교 테스트는 본 문서에서 논의된 바와 같은 식 1 내지 식 9와 같은 임의의 비교 테스트를 포함할 수 있다.
다른 예에서, 프레임 포맷은 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것, 복수의 서술자에 기반하여 복수의 비교 테스트를 제1 스테이지에서 평가하는 것, 비교 테스트에 기반하여 프레임 포맷이 순차, 비월, 또는 불명확인지를 제1 스테이지에서 판정하는 것, 제1 스테이지에서 프레임 포맷이 불명확인 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 것, 그리고 머신 러닝 기반 비교 테스트에 기반하여 프레임 포맷이 순차 또는 비월인지를 제2 스테이지에서 판정하는 것에 의해 판정될 수 있다. 그러한 기법은 도 13, 도 14, 도 15, 도 16, 도 17a, 도 17b, 도 26, 도 18에 관해서 그리고 본 문서에서 다른 데에서 논의된다.
프로세스(2900)는 동작(2902), "혼합 콘텐트 비디오 스트림의 프레임 그룹을 위한 프레임 그룹 포맷을 판정함"(Determine a Frame Group Format for a Frame Group of the Mixed Content Video Stream)에서 계속될 수 있는데, 여기서 프레임을 포함하는 혼합 콘텐트 비디오 스트림의 프레임 그룹에 대한 프레임 그룹 포맷이 판정될 수 있다. 예컨대, 프레임 포맷은 CPU(3001)를 통하여 구현된 바와 같은 프레임 그룹 텔레시네 패턴/순차/비월 분류기(1205)를 통하여 판정될 수 있다. 몇몇 예에서, 프레임 그룹 포맷을 판정하는 것은 프레임 그룹의 프레임의 콘텐트 분석을 포함할 수 있다. 예컨대, 프레임 그룹 포맷은 완전 순차, 완전 비월, 또는 텔레시네화 중 하나를 포함할 수 있다. 텔레시네화 예에서, 프레임 그룹 포맷은 검출된 텔레시네 패턴을 포함할 수 있다. 다른 예에서, 프레임 그룹 포맷은 미지의 패턴을 포함할 수 있다.
프로세스(2900)는 동작(2903), "프레임 그룹 포맷에 기반하여 프레임 그룹을 위한 변환 기법을 판정함"(Determine a Conversion Technique for the Frame Group based on the Frame Group Format)에서 계속될 수 있는데, 여기서 프레임 그룹에 대한 변환 기법이 프레임 그룹 포맷에 적어도 부분적으로 기반한다. 예컨대, 변환 기법은 CPU(3001)를 통하여 구현된 바와 같은 텔레시네 패턴/순차/비월 분류기(1205)를 통하여, CPU(2911)를 통하여 구현된 제어기 및/또는 스위치를 통하여, 또는 유사하게 판정될 수 있다. 몇몇 예에서, 변환 기법을 판정하는 것은 프레임 그룹 포맷을 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 제1 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷을 비교하는 것을 포함할 수 있다. 일례에서, 프레임 그룹 종전 프레임 그룹 및 이후 프레임 그룹은 각각 5개의 프레임을 포함할 수 있다.
예컨대, (가령, 동작(2902)에서) 프레임 그룹 포맷을 판정하는 것은 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 프레임 그룹의 텔레시네 패턴을 판정하는 것, 또는 프레임 그룹의 검출되지 않은(가령, 미지의) 패턴을 판정하는 것 중 하나를 포함할 수 있다. 나아가, 변환 기법을 판정하는 것은 프레임 그룹 포맷을 제1 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 제1 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 것을 포함할 수 있다. 만일 프레임 그룹 포맷이 매치되는 경우, 프레임 그룹 포맷은 매치되는 포맷이라고 판정될 수 있다.
몇몇 예에서, 프레임 그룹 포맷은 완전 순차 프레임이고, 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임임을 판정하는 것을 포함하며, 변환 기법은 최종 순차 포맷을 가지는 최종 프레임을 생성하기 위한 어떤 변환도 포함하지 않는다(가령, 순차 프레임을 위해 어떤 변환도 요구되지 않을 수 있음). 다른 예에서, 프레임 그룹 포맷은 완전 비월 프레임이고, 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임임을 판정하는 것을 포함하며, 변환 기법은 적응적 비월제거 기법을 포함한다. 그러나, 본 문서에서 논의된 임의의 비월제거 기법이 구현될 수 있다. 또 다른 예에서, 프레임 그룹 포맷은 개별 텔레시네 패턴이고, 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 개별 텔레시네 패턴을 가짐을 판정하는 것을 포함하며, 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함한다. 그러나, 본 문서에서 논의된 임의의 텔레시네 패턴 반전 기법이 구현될 수 있다. 예컨대, 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴(가령, 본 문서에서 기술된 바와 같은 4:1a 또는 4:1b), 또는 혼합 패턴(가령, 3:2 혼합 풀다운) 중 하나일 수 있다.
본 문서에서 논의된 임의의 기법은 도 19a, 도 19b에 관해서, 그리고 본 문서에서 다른 데에서 논의된 것과 같은 개별 텔레시네 패턴을 판정하는 데에 사용될 수 있다. 몇몇 예에서 테스트하는 것은, 제1 비교 테스트가 프레임 그룹의 프레임의 국부적 텍스처(local texture)의 측정을 비교하는 것에 기반하고 제2 비교 테스트가 제1 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 프레임 그룹의 다른 프레임 및 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반하도록 복수의 비교 테스트를 평가하는 것을 포함할 수 있다. 그러한 예는 3:2 풀다운 검출에 관해서 본 문서에서 논의된다. 다른 예에서, 테스트하는 것은 적어도 하나의 비교 테스트를 평가하는 것을 포함할 수 있는데, 비교 테스트는 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반한다. 그러한 예는 2:3:3:2 풀다운 검출에 관해서 본 문서에서 논의된다. 또 다른 예에서, 4:1a 및/또는 4:1b 풀다운 검출에 관해서 논의된 검출 기법이 구현될 수 있다.
프로세스(2900)는 동작(2904), "변환 기법에 기반하여 프레임 그룹을 최종 순차 포맷으로 변환함"(Convert the Frame Group to a Final Progressive Format based on the Conversion Technique)에서 계속될 수 있는데, 여기서 프레임 그룹은 판정된 변환 기법에 기반하여 최종 순차 포맷으로 변환될 수 있다. 예컨대, 프레임 그룹은 CPU(3001)를 통하여 구현된 바와 같은 콘텐트 적응적 비월 반전기(1211) 또는 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212) 중 하나를 통하여 변환될 수 있다.
예컨대, 변환 기법이 (가령, 진성 비월 프레임을 위한) 비월제거인 경우, 도 24에 관해서 그리고 본 문서에서 다른 데에서 논의된 바와 같이 적응적 비월제거가 구현될 수 있다. 그러한 적응적 비월제거는 CPU(3001)를 통하여 구현된 바와 같은 콘텐트 적응적 비월 반전기(1211)를 통하여 구현될 수 있다. 그러한 적응적 비월제거는 예컨대 움직임 적응적 비월제거라고 간주될 수 있다. 몇몇 예에서, 적응적 비월제거는 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 그리고/또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화(weighted averaging) 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함할 수 있다.
변환 기법이 (가령, 의사 비월 텔레시네 변환 포맷 프레임 그룹을 위한) 텔레시네 반전인 경우, 적응적 텔레시네 패턴 반전은 도 23에 관해서 그리고 본 문서에서 다른 데에서 논의된 바와 같이 구현될 수 있다. 그러한 적응적 텔레시네 패턴 반전은 CPU(3001)를 통하여 구현된 바와 같은 텔레시네 반전기(3:2/2:3:3:2/4:1a/4:1b/혼합/적응적 텔레시네 반전기)(1212)를 통하여 구현될 수 있다. 예컨대, 프레임 그룹 포맷이 개별 텔레시네 패턴을 포함하는 데에서, 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 개별(가령, 동일한) 텔레시네 패턴을 포함함을 판정하는 것을 포함할 수 있고, 변환 기법은 적응적 텔레시네 패턴 반전 기법일 수 있다. 그러한 예에서, 적응적 텔레시네 패턴 반전 기법은 개별 텔레시네 패턴을 확인하는 것, 패턴 패리티를 체크하는 것, 그리고 예컨대 24 프레임/초의 최종 순차 포맷을 가지는 최종 프레임을 생성하기 위해 개별 텔레시네 패턴을 반전하는 것을 포함할 수 있다.
예에서, 프레임 그룹 포맷이 검출되지 않은 경우(가령, 프레임 그룹 포맷은 테스트된 텔레시네 포맷 중 하나가 아님), 변환 기법은 유사하게 적응적 텔레시네 패턴 반전 기법을 포함할 수 있다. 그러한 예에서, 적응적 텔레시네 패턴 반전 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 그리고/또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함할 수 있다. 예컨대, 그러한 기법은 적응적 텔레시네 패턴 반전에 관해서 논의된 것과 유사할 수 있다. 예컨대, 적응적 텔레시네 패턴 반전 기법은 24 프레임/초의 최종 순차 포맷을 생성할 수 있다.
프로세스(2900)는 혼합 콘텐트 비디오 스트림과 같은 비디오 스트림의 임의의 수의 프레임, 프레임 그룹, 세그먼트, 또는 시퀀스 또는 유사한 것에 대해 반복될 수 있다. 예컨대, 혼합 콘텐트 비디오 스트림의 제2 프레임을 위한 제2 프레임 포맷이 판정될 수 있고, 혼합 콘텐트 비디오 스트림의 제2 프레임 그룹을 위한 제2 프레임 그룹 포맷이 판정될 수 있으니 프레임 그룹 포맷 및 제2 프레임 그룹 포맷은 상이하며, 제2 프레임 그룹을 위한 제2 변환 기법이 제1 프레임 그룹 포맷에 적어도 부분적으로 기반하여 판정될 수 있으니 제1 변환 기법 및 제2 변환 기법은 상이하고, 제2 프레임 그룹은 본 문서에서 논의된 바와 같은 임의의 기법일 수 있는 제2의 판정된 변환 기법에 기반하여 제2 최종 순차 포맷으로 변환될 수 있다.
나아가, 몇몇 예에서, 혼합 콘텐트 비디오 스트림의 일부분 또는 전체는 혼합 콘텐트 비디오 스트림의 몇몇 부분 또는 모든 부분의 포맷을 나타낼 수 있는 헤더 또는 다른 지시자를 가질 수 있다. 그러한 예에서, 프레임 포맷 및 프레임 그룹 포맷을 판정하는 것은 혼합 콘텐트 비디오 스트림과 연관된 헤더를 디코딩하는 것을 포함할 수 있다. 예컨대, 혼합 콘텐트 비디오 스트림은 집성된 전송 스트림을 포함할 수 있고 여기에서 헤더를 디코딩하는 것은 집성된 전송 스트림의 개별 채널을 역다중화하는 것, 혼합 콘텐트 비디오 스트림 및 헤더를 생성하기 위해 제1 개별 채널을 디코딩하는 것을 포함할 수 있는데, 헤더는 프레임 포맷 및 프레임 그룹 포맷을 포함한다. 그러한 예에서, 나타내어진 포맷은 변환 기법을 식별하는 데에 사용될 수 있다.
나아가, 논의된 바와 같이, 혼합 콘텐트 비디오 스트림은, 처리하기에 앞서, 프로세스(2900)를 구현하는 시스템, 예를 들어 시스템(3000)에 의해 수신될 수 있다. 혼합 콘텐트 비디오 스트림은 임의의 적합한 기법을 사용하여 수신될 수 있다. 몇몇 예에서, 혼합 콘텐트 비디오 스트림은 콘텐트 제공자로부터 구입될 수 있다.
프로세스(2900)는 임의의 수의 비디오 프레임, 프레임의 그룹, 비디오 스트림의 부분, 또는 혼합 콘텐트 비디오 스트림에 대해 일렬로든 또는 병렬로든 임의의 횟수로 반복될 수 있다. 프로세스(2900)는 본 문서에서 논의된 바와 같이 고품질 순차 비디오 프레임을 가능케 할 수 있다. 그러한 비디오 프레임은 현재의 코덱을 통한 인코딩 및/또는 현재의 디스플레이를 통한 표출에 유리할 수 있다.
본 문서에서 논의된 예시적 프로세스의 구현은 보여진 순서로의 도시된 모든 동작의 시행을 포함할 수 있으나, 본 개시는 이 점에 한정되지 않고, 다양한 예에서, 본 문서 내의 예시적 프로세스의 구현은 도시된 동작의 단지 서브세트, 보여진 것과는 상이한 순서로 수행되는 동작, 또는 추가적인 동작을 포함할 수 있다.
추가로, 하나 이상의 컴퓨터 프로그램 제품(computer program product)에 의해 제공되는 명령어에 응답하여 본 문서 내에 논의된 동작 중 임의의 하나 이상이 시행될 수 있다. 그러한 프로그램 제품은, 예컨대 프로세서에 의해 실행되는 경우, 본 문서 내에 기술된 기능을 제공할 수 있는 명령어를 제공하는 신호 함유 매체(signal bearing medium)를 포함할 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 머신 판독가능 매체(machine-readable medium)의 임의의 형태로 제공될 수 있다. 그러므로, 예컨대, 하나 이상의 그래픽 처리 유닛(들) 또는 프로세서 코어(들)를 포함하는 프로세서는 하나 이상의 머신 판독가능 매체에 의해 프로세서에 전달되는 프로그램 코드 및/또는 명령어 또는 명령어 세트에 응답하여 본 문서 내의 예시적 프로세스의 블록 중 하나 이상을 시행할 수 있다. 일반적으로, 머신 판독가능 매체는 본 문서 내에 기술된 디바이스 및/또는 시스템 중 임의의 것으로 하여금 시스템(1200), 시스템(3000)의 적어도 일부분, 또는 본 문서 내에 논의된 바와 같은 임의의 다른 모듈 또는 컴포넌트를 구현하게 할 수 있는 프로그램 코드 및/또는 명령어 또는 명령어 세트의 형태로 소프트웨어를 전달할 수 있다.
본 문서 내에 기술된 임의의 구현에서 사용되는 바와 같이, 용어 "모듈"은 본 문서 내에 기술된 기능을 제공하도록 구성된 소프트웨어 로직, 펌웨어 로직, 하드웨어 로직 및/또는 회로의 임의의 조합을 나타낸다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령어 세트 또는 명령어로서 실체화될(embodied) 수 있고, "하드웨어"는, 본 문서 내에 기술된 임의의 구현에서 사용되는 바와 같이, 예컨대, 고정배선된 회로(hardwired circuitry), 프로그램가능 회로(programmable circuitry), 상태 머신 회로(state machine circuitry), 고정 기능 회로(fixed function circuitry), 실행 유닛 회로(execution unit circuitry), 그리고/또는 프로그램가능 회로에 의해 실행되는 명령어를 저장하는 펌웨어를, 단독으로 또는 임의의 조합으로, 포함할 수 있다. 모듈들은, 집합적으로 또는 개별적으로, 더 큰 시스템, 예컨대, 집적 회로(Integrated Circuit: IC), 시스템 온 칩(System on-Chip: SoC) 및 기타 등등의 일부를 형성하는 회로로서 실체화될 수 있다.
논의된 바와 같이, 다양한 포맷의 집성된 비디오를, 최신 비디오 코덱을 통한 압축에 그리고/또는 최신의 디스플레이에 유리할 수 있는 순차 비디오로 변환하기 위해 비디오 전처리를 제공하는 데에 다양한 기법이 사용될 수 있다. 그러한 기법의 결과가 H.264 비디오 인코딩에 관해서 이제 기술된다. HEVC 비디오 인코딩에 관한 결과는 유사하다.
이들 테스트를 위해, 5개의 다각적 1080p 비디오 테스트 시퀀스: 그것들 중 둘은 광고('Faucet' 및 'Zyrtec', 양자 모두 3:2 풀다운을 겪은 것임), 하나는 삽화적 콘텐트('Bones'는 여러 풀다운 패턴을 겪은 것임), 하나는 애니메이션/만화 영화('Johny Test'는 3:2 풀다운을 겪은 것임)이고, 하나는 영화('The Natural'은 3:2 풀다운을 겪은 것임)가 사용되었다. 각각의 경우에서, 본 문서에서 논의된 기법을 사용하여 생성된 반전 텔레시네화(24 프레임/초) 비디오뿐만 아니라 텔레시네화 입력 비디오(가령, 30 프레임/초 또는 60 필드/초) 둘 다, 4개의 표준 Qp 값(가령, 22, 27, 32 및 37)을 갖는 일정한(constant) Qp 인코딩을 사용하여 H.264 표준으로써 코딩되었다. 각각의 QP에 대한 결과적인 생성된 피크 신호 대 잡음비(Peak Signal to Noise Ratio: PSNR) 및 비트레이트(Bitrate)가 표 1a 및 표 1b에 도시된 바와 같이 획득되었다.
***
원문 97페이지의 Table 1A ***
표 1a: 텔레시네 반전 있는 그리고 텔레시네 반전 없는 각각의 시퀀스의 인코딩된 레이트/왜곡 측정 (2개 중 1번)
***
원문 97-98페이지의 Table 1B ***
표 1b: 텔레시네 반전 있는 그리고 텔레시네 반전 없는 각각의 시퀀스의 인코딩된 레이트/왜곡 측정 (2개 중 2번)
표 1a 및 표 1b로부터 4개 점 레이트/왜곡(rate/distortion) 데이터를 사용하여, 두 개의 테스트 케이스(가령, 텔레시네화됨 및 텔레시네 반전됨) 각각에 대해 각각의 시퀀스를 위한 큐빅 곡선 맞춤에 의해 RD 곡선이 계산되었다. 다음, 맞춤된 곡선의 쌍 간의 단일 거리를 계산하는 MPEG의 BD 레이트 계산 절차에 후속하여, 텔레시네화되고 H.264 인코딩된 비디오에 비해 텔레시네 반전되고 H.264 인코딩된 비디오에 대해 BD 레이트가 계산되었다. BD 레이트는 텔레시네화된 비디오와 동일한 PSNR 품질을 달성하기 위해 텔레시네 반전된 시퀀스(가 취할 수 있는 추가적인 비트레이트를 나타낸다(가령, 큰 음수는 절감(saving)을 나타내기에 더 낫다).
표 2는 각각의 시퀀스에 대한 계산된 BD 레이트를 도시한다. 볼 수 있는 바와 같이, 모든 5개의 시퀀스는 대략 40% 또는 이보다 더 높은 인상적인 BD 레이트를 표명하는바, 본 문서에서 논의된 텔레시네 반전 기법의 상당한 이득을 보인다.
***
원문 98페이지의 Table 2 ***
표 2: 각각의 시퀀스에 대한 퍼센티지(percentage) BD 레이트 측정(음수가 이득을 보여줌)
나아가, 기술된 기법의 구현 복잡도와 같은 실제적인 고려사항이 논의된다. 먼저, 본 문서에서 논의된 바와 같은 적응적 텔레시네 및 비월 반전기는 'C' 프로그래밍 언어로 구현될 수 있되 중대한 부분은 어셈블리(assembly)로 최적화된다(가령, SSE). 3.4 GHz 중앙 처리 유닛(Central Processing Unit: CPU)을 가지는 개인용 컴퓨터 상에서 세 개의 상이한 해상도(가령, SD, HD1080p 및 UHD 2160p)의 다수의 비디오 시퀀스가 텔레시네/비월 반전되었다. 그러한 조건 하에서, 이 프로세스를 위한 단일 쓰레드 동작(single threaded operation)을 위한 평균 시간은 11.5 밀리초(msec)라고 발견되었다. 다음, 논의된 기법의 중대한 컴포넌트는 CPU를 보조하는 그래픽 처리 유닛(Graphics Processing Unit: GPU)으로써 최적화되었는바 대략 4의 인수의 속력 상승(speed up)이 획득되었으니, 처리 시간을 평균적으로 프레임당 2.73 msec로 낮춘다. 모든 세 개의 해상도의 결과가 표 3에 요약된다.
***
원문 99페이지의 Table 3 ***
표 3: 상이한 해상도 비디오에 대한 텔레시네/비월 반전 시간
본 문서에서 논의된 기법을 사용하는 시스템 구현은 달성가능한 이득 및 구현의 복잡도 간의 양호한 트레이드오프를 제공할 수 있다.
도 31은 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 시스템(3100)의 설명도이다. 다양한 구현에서, 시스템(3100)은 모바일 시스템(mobile system)일 수 있는데 다만 시스템(3100)은 이 맥락에 한정되지 않는다. 예컨대, 시스템(3100)은 개인용 컴퓨터(Personal Computer: PC), 랩톱 컴퓨터(laptop computer), 울트라 랩톱 컴퓨터(ultra-laptop computer), 태블릿(tablet), 터치 패드(touch pad), 휴대가능 컴퓨터(portable computer), 핸드헬드 컴퓨터(handheld computer), 팜톱 컴퓨터(palmtop computer), 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 셀룰러 전화(cellular telephone), 셀룰러 전화/PDA 조합, 텔레비전, 스마트 디바이스(smart device)(가령, 스마트폰, 스마트 태블릿, 스마트 와치(smart watch), 스마트 안경 또는 스마트 텔레비전), 모바일 인터넷 디바이스(Mobile Internet Device: MID), 메시징 디바이스(messaging device), 데이터 통신 디바이스(data communication device), 카메라(가령, 보고 찍는 카메라(point-and-shoot camera), 수퍼 줌 카메라(super-zoom camera), 디지털 단일 렌즈 반사(Digital Single-Lens Reflex: DSLR) 카메라, 비디오 카메라(video camera), 캠코더(camcorder)) 및 기타 등등 내에 포함될 수 있다.
다양한 구현에서, 시스템(3100)은 디스플레이(3310)에 커플링된(coupled) 플랫폼(3102)을 포함한다. 플랫폼(3102)은 콘텐트 서비스 디바이스(들)(3130) 또는 콘텐트 전달 디바이스(들)(3140) 또는 다른 유사한 콘텐트 소스와 같은 콘텐트 디바이스로부터 콘텐트를 수신할 수 있다. 예컨대 플랫폼(3102) 및/또는 디스플레이(3120)와 상호작용하는 데에 하나 이상의 내비게이션 특징부(navigation feature)를 포함하는 내비게이션 제어기(3150)가 사용될 수 있다. 이 컴포넌트들 각각은 아래에서 더욱 상세히 기술된다.
다양한 구현에서, 플랫폼(3102)은 칩셋(chipset)(3105), 프로세서(3110), 메모리(3112), 안테나(3113), 스토리지(storage)(3114), 그래픽 서브시스템(graphics subsystem)(3115), 애플리케이션(3116) 및/또는 무선기기(radio)(3118)의 임의의 조합을 포함할 수 있다. 칩셋(3105)은 프로세서(3110), 메모리(3112), 스토리지(3114), 그래픽 서브시스템(3115), 애플리케이션(3116) 및/또는 무선기기(3118) 사이의 상호통신(intercommunication)을 제공할 수 있다. 예컨대, 칩셋(3105)은 스토리지(3114)와의 상호통신을 제공할 수 있는 스토리지 어댑터(storage adapter)(묘사되지 않음)를 포함할 수 있다.
프로세서(3110)는 복합 명령어 세트 컴퓨터(Complex Instruction Set Computer: CISC) 또는 축소 명령어 세트 컴퓨터(Reduced Instruction Set Computer: RISC) 프로세서, x86 명령어 세트 호환가능 프로세서, 다중 코어(multi-core), 또는 임의의 다른 마이크로프로세서 또는 중앙 처리 유닛(Central Processing Unit: CPU)으로서 구현될 수 있다. 다양한 구현에서, 프로세서(3110)는 이중 코어(dual-core) 프로세서(들), 이중 코어 모바일 프로세서(들) 및 기타 등등일 수 있다.
메모리(3112)는, 랜덤 액세스 메모리(Random Access Memory: RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory: DRAM), 또는 정적 RAM(Static RAM: SRAM)과 같은 것이나 이에 한정되지 않는 휘발성 메모리 디바이스로서 구현될 수 있다.
스토리지(3114)는, 자기 디스크 드라이브(magnetic disk drive), 광학 디스크 드라이브(optical disk drive), 테이프 드라이브(tape drive), 내부 저장 디바이스(internal storage device), 부속 저장 디바이스(attached storage device), 플래시 메모리(flash memory), 배터리 예비 동기식 DRAM(battery backed-up SDRAM(Synchronous DRAM)) 및/또는 네트워크 액세스가능 저장 디바이스(network accessible storage device)와 같은 것이나 이에 한정되지 않는 비휘발성 저장 디바이스로서 구현될 수 있다. 다양한 구현에서, 예컨대, 스토리지(3114)는 여러 하드 드라이브가 포함된 경우 가치 있는 디지털 매체를 위한 저장 성능 향상된 보호를 증가시키는 기술을 포함할 수 있다.
그래픽 서브시스템(3115)은 디스플레이를 위한 정지(still) 또는 비디오와 같은 이미지의 처리를 수행할 수 있다. 그래픽 서브시스템(3115)은 예컨대 그래픽 처리 유닛(Graphics Processing Unit: GPU) 또는 시각적 처리 유닛(Visual Processing Unit: VPU)일 수 있다. 그래픽 서브시스템(3115) 및 디스플레이(3120)를 통신가능하게 커플링하는 데에 아날로그 또는 디지털 인터페이스가 사용될 수 있다. 예컨대, 인터페이스는 고선명도 멀티미디어 인터페이스(High-Definition Multimedia Interface), 디스플레이포트(DisplayPort), 무선 HDMI 및/또는 무선 HD 준수 기법 중 임의의 것일 수 있다. 그래픽 서브시스템(3115)은 프로세서(3110) 또는 칩셋(3105) 내로 통합될 수 있다. 몇몇 구현에서, 그래픽 서브시스템(3115)은 칩셋(3105)에 통신가능하게 커플링된 독립형(stand-alone) 디바이스일 수 있다.
본 문서 내에 기술된 그래픽 및/또는 비디오 처리 기법은 다양한 하드웨어 아키텍처 내에 구현될 수 있다. 예컨대, 그래픽 및/또는 비디오 기능은 칩셋 내에 통합될 수 있다. 대안적으로, 별도의 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 구현으로서, 그래픽 및/또는 비디오 기능은 다중코어 프로세서를 포함하는 일반 목적 프로세서에 의해 제공될 수 있다. 추가의 실시예에서, 그 기능은 가전 디바이스(consumer electronics device) 내에 구현될 수 있다.
무선기기(3118)는 다양한 적합한 무선 통신 기법을 사용하여 신호를 송신하고 수신할 수 있는 하나 이상의 무선기기를 포함할 수 있다. 그러한 기법은 하나 이상의 무선 네트워크에 걸친 통신을 수반할 수 있다. 예시적 무선 네트워크는 무선 로컬 영역 네트워크(Wireless Local Area Network: WLAN), 무선 개인 영역 네트워크(Wireless Personal Area Network: WPAN), 무선 대도시 영역 네트워크(Wireless Metropolitan Area Network: WMAN), 셀룰러 네트워크 및 위성 네트워크를 포함한다(그러나 이에 한정되지 않음). 그러한 네트워크에 걸쳐 통신하는 중에, 무선기기(3118)는 임의의 버전의 하나 이상의 적용가능한 표준에 따라 동작할 수 있다.
다양한 구현에서, 디스플레이(3120)는 임의의 텔레비전 유형 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(3120)는, 예컨대, 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전과 비슷한 디바이스 및/또는 텔레비전을 포함할 수 있다. 디스플레이(3120)는 디지털 및/또는 아날로그일 수 있다. 다양한 구현에서, 디스플레이(3120)는 홀로그램 디스플레이(holographic display)일 수 있다. 또한, 디스플레이(3120)는 시각적 투영(visual projection)을 수신할 수 있는 투명한 표면(transparent surface)일 수 있다. 그러한 투영은 다양한 형태의 정보, 이미지 및/또는 객체를 전달할 수 있다. 예컨대, 그러한 투영은 모바일 증강 현실(Mobile Augmented Reality: MAR) 애플리케이션을 위한 시각적 오버레이(visual overlay)일 수 있다. 하나 이상의 소프트웨어 애플리케이션(3116)의 제어 하에서, 플랫폼(3102)은 디스플레이(3120) 상에 사용자 인터페이스(user interface)(3122)를 디스플레이할 수 있다.
다양한 구현에서, 예컨대, 콘텐트 서비스 디바이스(들)(3130)는 임의의 전국적, 국제적 및/또는 독립적 서비스에 의해 호스팅되고(hosted) 따라서 플랫폼(3102)이 인터넷을 통하여 액세스할 수 있는 것일 수 있다. 콘텐트 서비스 디바이스(들)(3130)는 플랫폼(3102)에 그리고/또는 디스플레이(3120)에 커플링될 수 있다. 플랫폼(3102) 및/또는 콘텐트 서비스 디바이스(들)(3130)는 미디어 정보(media information)를 네트워크(3160)에 그리고 네트워크(3160)로부터 통신(가령, 발신 및/또는 수신)하기 위해 네트워크(3160)에 커플링될 수 있다. 콘텐트 전달 디바이스(들)(3140)는 플랫폼(3102)에 그리고/또는 디스플레이(3120)에 또한 커플링될 수 있다.
다양한 구현에서, 콘텐트 서비스 디바이스(들)(3130)는 케이블 텔레비전 박스(cable television box)와, 개인용 컴퓨터와, 네트워크와, 전화와, 디지털 정보 및/또는 콘텐트를 전달할 수 있는 인터넷 가능화된(Internet enabled) 디바이스 또는 기기와, 네트워크(1360)를 통하여 또는 직접적으로 콘텐트 제공자 및 플랫폼(3102) 및/또는 디스플레이(3120) 간에 콘텐트를 단방향으로(uni-directionally) 또는 양방향으로(bi-directionally) 통신할 수 있는 임의의 다른 유사한 디바이스를 포함할 수 있다. 콘텐트는 네트워크(3160)를 통하여 콘텐트 제공자 및 시스템(3100) 내의 컴포넌트 중 임의의 하나로 그리고 이로부터 단방향으로 그리고/또는 양방향으로 통신될 수 있음이 인식될 것이다. 콘텐트의 예는, 예컨대, 비디오, 음악, 의료 및 게이밍(gaming) 정보, 그리고 기타 등등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
콘텐트 서비스 디바이스(들)(3130)는 미디어 정보, 디지털 정보 및/또는 다른 콘텐트를 포함하는 케이블 텔레비전 프로그래밍(cable television programming)과 같은 콘텐트를 수신할 수 있다. 콘텐트 제공자의 예는 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 콘텐트 제공자를 포함할 수 있다. 제공된 예는 어떤 식으로든 본 개시에 따른 구현을 한정하도록 의도되지 않는다.
다양한 구현에서, 플랫폼(3102)은 하나 이상의 내비게이션 특징부를 갖는 내비게이션 제어기(3150)로부터 제어 신호를 수신할 수 있다. 제어기(3150)의 내비게이션 특징부는 예컨대 사용자 인터페이스(3122)와 상호작용하는 데에 사용될 수 있다. 다양한 실시예에서, 내비게이션 제어기(3150)는 사용자로 하여금 공간적(가령, 연속적이고 다차원적인) 데이터를 컴퓨터 내에 입력할 수 있게 하는 컴퓨터 하드웨어 컴포넌트(특히, 인간 인터페이스 디바이스(human interface device))일 수 있는 포인팅 디바이스(pointing device)일 수 있다. 많은 시스템, 예를 들어 그래픽 사용자 인터페이스(Graphical User Interface: GUI)와, 텔레비전과 모니터는 사용자로 하여금 물리적 제스처를 사용하여 컴퓨터 또는 텔레비전을 제어하고 이에 데이터를 제공할 수 있게 한다.
제어기(3150)의 내비게이션 특징부의 움직임은 디스플레이(가령, 디스플레이(3120)) 상에 포인터(pointer), 커서(cursor), 포커스 링(focus ring), 또는 디스플레이 상에 디스플레이되는 다른 시각적 지시자(visual indicator)의 움직임에 의해 모사될(replicated) 수 있다. 예컨대, 소프트웨어 애플리케이션(3116)의 제어 하에서, 내비게이션 제어기(3150) 상에 위치된 내비게이션 특징부는 예컨대 사용자 인터페이스(3122) 상에 디스플레이된 가상 내비게이션 특징부로 맵핑될(mapped) 수 있다. 다양한 실시예에서, 제어기(3150)는 별개의 컴포넌트가 아닐 수 있으나 플랫폼(3102) 및/또는 디스플레이(3120) 내로 통합될 수 있다. 그러나, 본 개시는 본 문서 내에 도시되거나 기술된 요소로 또는 맥락 내에 한정되지 않는다.
다양한 구현에서, 드라이버(도시되지 않음)는 사용자로 하여금, 예컨대, 가능화된 경우, 초기 시동(boot-up) 후에 버튼의 터치로써 텔레비전과 같이 플랫폼(3102)을 즉시 켜고 끌 수 있게 하기 위한 기술을 포함할 수 있다. 프로그램 로직은 플랫폼(3102)으로 하여금 플랫폼이 "꺼진" 경우에도 콘텐트를 미디어 어댑터 또는 다른 콘텐트 서비스 디바이스(들)(3130) 또는 콘텐트 전달 디바이스(들)(3140)에 스트리밍할(stream) 수 있도록 할 수 있다. 추가로, 칩셋(3105)은 예컨대 5.1 서라운드 사운드 오디오(5.1 surround sound audio) 및/또는 고선명도 7.1 서라운드 사운드 오디오(high definition 7.1 surround sound audio)를 위한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버는 통합된 그래픽 플랫폼을 위한 그래픽 드라이버(graphics driver)를 포함할 수 있다. 다양한 실시예에서, 그래픽 드라이버는 주변 컴포넌트 상호연결 익스프레스 그래픽 카드(peripheral component interconnect (PCI) Express graphics card)를 포함할 수 있다.
다양한 구현에서, 시스템(3100) 내에 도시된 컴포넌트 중 임의의 하나 이상이 통합될 수 있다. 예컨대, 가령, 플랫폼(3102) 및 콘텐트 서비스 디바이스(들)(3130)가 통합될 수 있거나, 플랫폼(3102) 및 콘텐트 전달 디바이스(들)(3140)가 통합될 수 있거나, 플랫폼(3102), 콘텐트 서비스 디바이스(들)(3130) 및 콘텐트 전달 디바이스(들)(3140)가 통합될 수 있다. 다양한 실시예에서, 플랫폼(3102) 및 디스플레이(3120)는 통합된 유닛(integrated unit)일 수 있다. 예컨대, 디스플레이(3120) 및 콘텐트 서비스 디바이스(들)(3130)는 통합될 수 있거나, 디스플레이(3120) 및 콘텐트 전달 디바이스(들)(3140)는 통합될 수 있다. 이 예들은 본 개시를 한정하도록 의도되지 않는다.
다양한 실시예에서, 시스템(3100)은 무선 시스템, 유선 시스템, 또는 양자 모두의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현되는 경우, 시스템(3100)은, 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 및 기타 등등과 같은, 무선 공유 매체(wireless shared media) 상에서 통신하는 데에 적합한 컴포넌트 및 인터페이스를 포함할 수 있다. 무선 공유 매체의 일례는 무선 스펙트럼(wireless spectrum)의 부분, 예를 들어 RF 스펙트럼 및 기타 등등을 포함할 수 있다. 유선 시스템으로서 구현되는 경우, 시스템(3100)은, 입력/출력(Input/Output: I/O) 어댑터, I/O 어댑터를 대응하는 유선 통신 매체와 연결하기 위한 물리적 커넥터(physical connector), 네트워크 인터페이스 카드(Network Interface Card: NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 및 유사한 것과 같은, 유선 통신 매체 상에서 통신하는 데에 적합한 컴포넌트 및 인터페이스를 포함할 수 있다. 유선 통신 매체의 예는 배선(wire), 케이블(cable), 금속 리드(metal lead), 인쇄 회로 보드(Printed Circuit Board: PCB), 백플레인(backplane), 스위치 패브릭(switch fabric), 반도체 재료(semiconductor material), 꼬임쌍선(twisted-pair wire), 동축 케이블(co-axial cable), 광섬유(fiber optics) 및 기타 등등을 포함할 수 있다.
플랫폼(3102)은 정보를 통신하기 위해 하나 이상의 논리적 또는 물리적 채널을 수립할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자를 위해 의도된 콘텐트를 나타내는 임의의 데이터를 나타낼 수 있다. 콘텐트의 예는, 예컨대, 음성 대화(voice conversation), 비디오컨퍼런스(videoconference), 스트리밍 비디오(streaming video), 전자 메일("이메일"(email)) 메시지, 음성 메일 메시지, 문자숫자 심볼(alphanumeric symbol), 그래픽, 이미지, 비디오, 텍스트 및 기타 등등으로부터의 데이터를 포함할 수 있다. 음성 대화로부터의 데이터는, 예컨대, 발화 정보(speech information), 묵음 기간(silence period), 배경 잡음(background noise), 안정 잡음(comfort noise), 톤 및 기타 등등일 수 있다. 제어 정보는 자동화된 시스템을 위해 의도된 커맨드(command), 명령어 또는 제어 워드(control word)를 표현하는 임의의 데이터를 나타낼 수 있다. 예컨대, 제어 정보는 사전결정된 방식으로 미디어 정보를 처리하도록 노드(node)에 지시하거나, 시스템을 통해 미디어 정보를 라우팅하는(route) 데에 사용될 수 있다. 그러나, 실시예는 도 31에 도시되거나 기술된 맥락 내에 또는 요소로 한정되지 않는다.
위에서 기술된 바와 같이, 시스템(3100)은 갖가지 물리적 스타일 또는 폼 팩터(form factor)로 실체화될 수 있다. 도 32는 본 개시의 적어도 몇몇 구현에 따라 마련된 예시적 디바이스를 보여준다. 예컨대, 도 32는 시스템(3100)이 실체화될 수 있는 소형 폼 팩터 디바이스(3200)의 구현을 보여준다. 다양한 실시예에서, 예컨대, 디바이스(3200)는 무선 능력을 가지는 모바일 컴퓨팅 디바이스로서 구현될 수 있다. 모바일 컴퓨팅 디바이스는 예컨대 처리 시스템 및 모바일 전력 소스 또는 공급부, 예를 들어 하나 이상의 배터리를 가지는 임의의 디바이스를 나타낼 수 있다.
위에서 기술된 바와 같이, 모바일 컴퓨팅 디바이스의 예는 개인용 컴퓨터(Personal Computer: PC), 랩톱 컴퓨터, 울트라 랩톱 컴퓨터, 태블릿, 터치 패드, 휴대가능 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 셀룰러 전화, 셀룰러 전화/PDA 조합, 텔레비전, 스마트 디바이스(가령, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(Mobile Internet Device: MID), 메시징 디바이스, 데이터 통신 디바이스, 카메라(가령, 보고 찍는 카메라, 수퍼 줌 카메라, 디지털 단일 렌즈 반사(Digital Single-Lens Reflex: DSLR) 카메라) 및 기타 등등을 포함할 수 있다.
모바일 컴퓨팅 디바이스의 예는 또한 사람이 착용하도록 마련된 컴퓨터, 예를 들어 손목 컴퓨터(wrist computer), 손가락 컴퓨터(finger computer), 반지 컴퓨터(ring computer), 안경 컴퓨터(eyeglass computer), 벨트 클립 컴퓨터(belt-clip computer), 암 밴드 컴퓨터(arm-band computer), 신발 컴퓨터(shoe computer), 의복 컴퓨터(clothing computer) 및 다른 착용가능 컴퓨터(wearable computer)를 포함할 수 있다. 다양한 실시예에서, 예컨대, 모바일 컴퓨팅 디바이스는 음성 통신 및/또는 데이터 통신뿐만 아니라, 컴퓨터 애플리케이션을 실행하는 것이 가능한 스마트폰으로서 구현될 수 있다. 몇몇 실시예는 예로서 스마트폰으로서 구현된 모바일 컴퓨팅 디바이스로써 기술될 수 있으나, 다른 무선 모바일 컴퓨팅 디바이스를 사용하여 다른 실시예가 구현될 수도 있음이 인식될 수 있다. 실시예는 이 맥락 내에 한정되지 않는다.
도 32에 도시된 바와 같이, 디바이스(3200)는 하우징(housing)(3202), 디스플레이(3204), 입력/출력(Input/Output: I/O) 디바이스(3206) 및 안테나(3208)를 포함할 수 있다. 디바이스(3200)는 또한 내비게이션 특징부(3212)를 포함할 수 있다. 디스플레이(3204)는 모바일 컴퓨팅 디바이스에 적절한 정보를 디스플레이하기 위한 임의의 적합한 디스플레이 유닛을 포함할 수 있다. 디스플레이(3204)는 I/O 커맨드를 수신하기 위한 터치스크린 영역(3210)을 포함할 수 있다. 몇몇 예에서, 터치스크린 영역(3210)은 디스플레이(3204)와 실질적으로 동일한 크기일 수 있다. I/O 디바이스(3206)는 모바일 컴퓨팅 디바이스 내로 정보를 입력하기 위한 임의의 적합한 I/O 디바이스를 포함할 수 있다. I/O 디바이스(3206)에 대한 예는 문자숫자 키보드(alphanumeric keyboard), 숫자 키보드(numeric keyboard), 터치 패드, 입력 키, 버튼, 스위치, 로커 스위치(rocker switch), 마이크, 스피커, 음성 인식 디바이스 및 소프트웨어, 그리고 기타 등등을 포함할 수 있다. 정보가 또한 마이크(도시되지 않음)에 의해서 디바이스(3200) 내로 입력될 수 있다. 그러한 정보는 음성 인식 디바이스(도시되지 않음)에 의해 디지털화될 수 있다. 실시예는 이 맥락 내에 한정되지 않는다.
다양한 실시예는 하드웨어 요소, 소프트웨어 요소 또는 양자 모두의 조합을 사용하여 구현될 수 있다. 하드웨어 요소의 예는 프로세서, 마이크로프로세서, 회로, 회로 요소(가령, 트랜지스터(transistor), 저항기(resistor), 커패시터(capacitor), 인덕터(inductor) 및 기타 등등), 집적 회로, 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit: ASIC), 프로그램가능 로직 디바이스(Programmable Logic Device: PLD), 디지털 신호 프로세서(Digital Signal Processor: DSP), 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA), 로직 게이트(logic gate), 레지스터(register), 반도체 디바이스, 칩, 마이크로칩, 칩셋 및 기타 등등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어(middleware), 펌웨어, 소프트웨어 모듈, 루틴(routine), 서브루틴(subroutine), 함수(function), 메쏘드(method), 프로시저(procedure), 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(Application Program Interface: API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트(code segment), 컴퓨터 코드 세그먼트, 워드(word), 값(value), 심볼(symbol), 또는 이들의 임의의 조합을 포함할 수 있다. 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 일 실시예가 구현되는지를 정하는 것은 임의의 개수의 인자, 예를 들어 원하는 계산상의 속도(computational rate), 전력 레벨(power level), 내열성(heat tolerance), 처리 사이클 예산(processing cycle budget), 입력 데이터 레이트(input data rate), 출력 데이터 레이트(output data rate), 메모리 리소스(memory resource), 데이터 버스 속도(data bust speed) 및 다른 설계 또는 성능 제약에 따라 달라질 수 있다.
적어도 하나의 실시예의 하나 이상의 양상은, 머신에 의해 판독되는 경우 머신으로 하여금 본 문서 내에 기술된 기법을 수행하기 위한 로직을 지어내게 하는, 프로세서 내의 다양한 로직을 나타내는 머신 판독가능 매체 상에 저장된 표상적인 명령어에 의해 구현될 수 있다. "IP 코어"로 알려진 그러한 표상은 유형적인(tangible) 머신 판독가능 매체 상에 저장되고 다양한 고객 또는 제조 설비에 제공되어 실제로 로직 또는 프로세서를 만드는 제조 머신 내에 적재될(load) 수 있다.
본 문서 내에 개진된 어떤 특징은 다양한 구현을 참조하여 기술되었으나, 이 설명은 한정적인 의미로 해석되도록 의도된 것이 아니다. 따라서, 다른 구현뿐만 아니라 본 문서 내에 기술된 구현의 다양한 수정은, 본 개시가 관련된 업계에서 숙련된 자들에게 명백한 것으로서 본 개시의 사상 및 범주 내에 있는 것으로 간주된다.
하나 이상의 제1 실시예에서, 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 컴퓨터 구현된(computer-implemented) 방법은, 하나 이상의 비디오 포맷(video format)을 포함하는 혼합 콘텐트 비디오 스트림(mixed content video stream)의 프레임(frame)을 위한 프레임 포맷(frame format)을 판정하는 단계와, 위 혼합 콘텐트 비디오 스트림의 프레임 그룹(frame group)을 위한 프레임 그룹 포맷(frame group format)을 판정하는 단계(위 프레임 그룹은 위 프레임을 포함함) 와, 위 프레임 그룹 포맷에 적어도 부분적으로 기반하여 위 프레임 그룹을 위한 변환 기법을 판정하는 단계와, 위 판정된 변환 기법에 기반하여 위 프레임 그룹을 최종 순차 포맷(progressive format)으로 변환하는 단계를 포함한다.
제1 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 순차 포맷, 진성 비월 포맷(true interlaced format), 또는 의사 비월 텔레시네 변환 포맷(pseudo-interlaced telecine converted format) 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 60 프레임/초(frames per second) 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷, 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 포맷을 판정하는 단계는 위 프레임의 콘텐트 분석(content analysis)을 포함하고, 위 프레임 포맷은 순차(progressive) 또는 비월(interlaced) 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 포맷을 판정하는 단계는 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하는 단계를 포함하되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 포맷을 판정하는 단계는 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하는 단계를 포함하되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함하는데, 위 서술자는 위 프레임의 필드의 쌍 간의 절대차의 합, 위 프레임의 블록 및 위 프레임의 상위 필드(top field)의 블록 간의 가변 임계 차이(variable threshold difference)의 합, 높은 텍스처 값(high texture value)을 가지는 위 프레임의 블록의 임계화된 카운트(thresholded count), 위 프레임의 수직 텍스처(vertical texture)의 측정, 위 프레임의 동적 텍스처 및 정적 텍스처 간의 차이의 측정, 위 프레임의 필드의 텍스처 레벨의 평균 및 위 프레임의 텍스처 레벨 간의 차이의 측정, 또는 위 프레임의 블록 및 위 프레임의 위 상위 필드의 블록 간의 정적 임계화 차이(static thresholded difference)의 합 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 포맷을 판정하는 단계는 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와, 제1 스테이지(stage)에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 프레임 포맷이 순차, 비월 또는 불명확(uncertain)인지를 판정하는 단계와, 위 제1 스테이지에서 위 프레임 포맷이 불명확한 경우, 머신 러닝(machine learning) 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 단계와, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 프레임 포맷이 순차 또는 비월인지를 판정하는 단계를 포함한다.
제1 실시예에 덧붙여, 위 프레임 포맷을 판정하는 단계는 위 프레임의 콘텐트 분석을(위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함함), 그리고/또는 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하는 단계를(위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함함), 그리고/또는 위 프레임의 콘텐트와 연관된 복수의 제2 서술자를 판정하는 단계와, 제1 스테이지에서, 위 복수의 제2 서술자에 기반하여 복수의 제2 비교 테스트를 평가하는 단계와, 위 제1 스테이지에서, 위 제2 비교 테스트에 기반하여 위 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 단계와, 위 제1 스테이지에서 위 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 단계와, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 프레임 포맷이 순차 또는 비월인지를 판정하는 단계를 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 단계는 위 프레임 그룹의 프레임의 콘텐트 분석을 포함하고, 위 프레임 그룹 포맷은 완전 순차(all progressive), 완전 비월(all interlaced) 또는 텔레시네화(telecined) 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 단계는 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 단계, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 단계, 위 프레임 그룹의 텔레시네 패턴(telecine pattern)을 판정하는 단계, 또는 위 프레임 그룹의 검출되지 않은 패턴(undetected pattern)을 판정하는 단계 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 단계는 위 프레임 그룹의 프레임의 콘텐트 분석을(위 프레임 그룹 포맷은 완전 순차, 완전 비월 또는 텔레시네화 중 적어도 하나를 포함함), 그리고/또는 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 단계, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 단계, 위 프레임 그룹의 텔레시네 패턴을 판정하는 단계, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 단계 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 변환 기법을 판정하는 단계는 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷(prior frame group format) 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷(look-ahead frame group format)과 비교하는 단계를 포함한다.
제1 실시예에 덧붙여, 위 변환 기법을 판정하는 단계는 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 단계를 포함하고, 위 프레임 그룹, 위 프레임 그룹 이전의 위 프레임 그룹 및 위 프레임 그룹 이후의 위 프레임 그룹은 각각 5개의 프레임을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 단계는 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 단계, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 단계, 위 프레임 그룹의 텔레시네 패턴을 판정하는 단계, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 단계 중 적어도 하나를 포함하고 위 변환 기법을 판정하는 단계는 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 단계를 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 위 최종 순차 포맷을 가지는 최종 프레임을 생성하는 변환을 포함하지 않는다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 비월제거(adaptive deinterlacing) 기법을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 비월제거 기법을 포함하되, 위 적응적 비월제거 기법은 적응적 선 블록 보간(adaptive line blocks interpolation), 수직 비선형 필터링(vertical non-linear filtering), 공간적 에지 검출 기반 보간(spatial edge detection based interpolation), 또는 움직임 검출(motion detection)에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화(weighted averaging) 중 적어도 하나에 기반하여 누락 픽셀(missing pixel)을 생성하는 것을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 비월제거 기법을 포함한다(위 적응적 비월제거 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함함).
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전(adaptive telecine pattern reversal) 기법을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴(pull down pattern), 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴(blended pattern) 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 적응적 텔레시네 패턴 반전 기법은 위 개별 텔레시네 패턴을 확인하는 것과, 패턴 패리티(pattern parity)를 체크하는 것과, 위 개별 텔레시네 패턴을 반전하여 위 최종 순차 포맷이 24 프레임/초인 최종 프레임을 생성하는 것을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 단계를 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하고, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴 중 적어도 하나를 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하며, 위 적응적 텔레시네 패턴 반전 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 적응적 텔레시네 패턴 반전 기법은 24 프레임/초의 위 최종 순차 포맷을 가지는 최종 프레임을 생성한다.
제1 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는 적응적 텔레시네 패턴 반전 기법을 포함한다.
제1 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임(interlaced frame) 및 텔레시네화 프레임(telecined frame)을 포함하고, 위 프레임 그룹 포맷을 판정하는 단계는 복수의 비교 테스트를 평가하는 단계를 포함하되, 적어도 제1 비교 테스트는 위 프레임 그룹의 프레임의 국부적 텍스처(local texture)의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 위 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 위 프레임 그룹의 다른 프레임 및 위 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반한다.
제1 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 위 프레임 그룹 포맷을 판정하는 단계는 적어도 하나의 비교 테스트를 평가하는 단계를 포함하되, 위 비교 테스트는 위 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 위 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반한다.
제1 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임(interlaced frame) 및 텔레시네화 프레임(telecined frame)을 포함하고, 위 프레임 그룹 포맷을 판정하는 단계는 복수의 비교 테스트를 평가하는 단계를(적어도 한 비교 테스트는 위 프레임 그룹의 프레임의 국부적 텍스처의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 위 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 위 프레임 그룹의 다른 프레임 및 위 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반함), 그리고/또는 적어도 하나의 비교 테스트를 평가하는 단계를(위 비교 테스트는 위 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 위 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반함) 포함한다.
제1 실시예에 덧붙여, 위 방법은 위 혼합 콘텐트 비디오 스트림의 제2 프레임을 위한 제2 프레임 포맷을 판정하는 단계와, 위 혼합 콘텐트 비디오 스트림의 제2 프레임 그룹을 위한 제2 프레임 그룹 포맷을 판정하는 단계(위 제2 프레임 그룹은 위 제2 프레임을 포함하고, 위 프레임 그룹 포맷 및 위 제2 프레임 그룹 포맷은 상이함)와, 위 프레임 그룹 포맷에 적어도 부분적으로 기반하여 위 제2 프레임 그룹을 위한 제2 변환 기법을 판정하는 단계(제1 변환 기법 및 위 제2 변환 기법은 상이함)와, 위 제2의 판정된 변환 기법에 기반하여 위 제2 프레임 그룹을 제2 최종 순차 포맷으로 변환하는 단계를 더 포함한다.
제1 실시예에 덧붙여, 위 프레임 포맷 및 위 프레임 그룹 포맷을 판정하는 것은 위 혼합 콘텐트 비디오 스트림과 연관된 헤더(header)를 디코딩하는 것을 포함하되, 위 혼합 콘텐트 비디오 스트림은 집성된 전송 스트림(aggregated transport stream)을 포함하고, 위 헤더를 디코딩하는 것은 위 집성된 전송 스트림의 개별 채널을 역다중화하는 것(demultiplexing), 제1 개별 채널을 디코딩하여 위 혼합 콘텐트 비디오 스트림 및 위 헤더를 생성하는 것을 포함하되, 위 헤더는 위 프레임 포맷 및 위 프레임 그룹 포맷을 포함한다.
하나 이상의 제2 실시예에서, 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 컴퓨터 구현된 방법은, 적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림을 수신하는 단계와, 위 진성 비월 포맷을 가지는 위 혼합 콘텐트 비디오 스트림의 제1 세그먼트(segment)를 위한 제1 변환 기법 및 텔레시네화 포맷을 가지는 위 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법을 판정하는 단계(위 제1 및 제2 변환 기법은 상이함)와, 위 제1 변환 기법 및 위 제2 변환 기법에 적어도 부분적으로 기반하여 위 혼합 콘텐트 비디오 스트림을 순차 비디오 스트림(progressive video stream)으로 변환하는 단계를 포함한다.
제2 실시예에 덧붙여, 제1 변환 기법은 콘텐트 적응적 비월제거기(content adaptive deinterlacer)를 포함한다.
제2 실시예에 덧붙여, 제2 변환 기법은 적응적 텔레시네 패턴 반전기(adaptive telecine pattern reverser) 기법을 포함한다.
제2 실시예에 덧붙여, 위 제1 변환 기법은 콘텐트 적응적 비월제거기를 포함하고 위 제2 변환 기법은 적응적 텔레시네 패턴 반전기 기법을 포함한다.
제2 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 단계는 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 단계를 포함한다.
제2 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 단계는 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 단계를 포함하되, 위 제1 프레임 포맷을 판정하는 단계는, 위 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와, 위 비교 테스트에 기반하여 위 제1 프레임 포맷을 판정하는 단계를 포함하되, 위 제1 프레임 포맷은 비월 프레임을 포함한다.
제2 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 단계는 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 단계를 포함하되, 위 제1 프레임 포맷을 판정하는 단계는, 위 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 제1 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 단계와, 위 제1 스테이지에서 위 제1 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 단계와, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 제1 프레임이 비월임을 판정하는 단계를 포함한다.
제2 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 단계는 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 단계를 포함하되, 위 제1 프레임 포맷은 완전 비월 프레임을 포함하고, 위 제1 변환 기법을 판정하는 단계는 위 제1 세그먼트를 위 제1 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 제1 프레임 그룹 이후의 프레임 그룹의 향후 프레임 그룹 포맷을 비교하는 단계를 더 포함한다.
제2 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 단계는 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 단계를 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 단계는 위 개별 텔레시네 패턴을 반전하는 단계를 포함한다.
제2 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 단계는 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 단계를 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 단계는 위 개별 텔레시네 패턴을 반전하는 단계를 포함하되, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 또는 혼합 패턴 중 적어도 하나를 포함한다.
제2 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 단계는 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 단계를 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 단계는 위 개별 텔레시네 패턴을 반전하는 단계를 포함하며, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 또는 혼합 패턴 중 적어도 하나를 포함한다.
제2 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 단계는 위 제2 세그먼트가 검출되지 않은 패턴을 가짐을 판정하는 단계를 포함하고 위 혼합 콘텐트 비디오 스트림을 변환하는 단계는 위 제2 세그먼트에 적응적 비월 반전기(adaptive interlace reverser)를 적용하는 단계를 포함한다.
제2 실시예에 덧붙여, 위 방법은 위 혼합 콘텐트 비디오 스트림의 제3 세그먼트가 순차 포맷을 포함함을 판정하는 단계와, 위 순차 포맷 비디오 세그먼트를 변환 없이 출력으로서 제공하는 단계를 더 포함한다.
하나 이상의 제3 실시예에서, 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 시스템은, 비디오 프레임을 저장하도록 구성된 메모리 버퍼(memory buffer)와, 위 메모리 버퍼에 커플링된(coupled) 중앙 처리 유닛(central processing unit)을 포함하되, 위 중앙 처리 유닛은 하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정하도록 구성된 프레임 분류기 모듈(frame classifier module)과, 위 혼합 콘텐트 비디오 스트림의 프레임 그룹을 위한 프레임 그룹 포맷을 판정하는 프레임 그룹 분류기 모듈(frame group classifier module)(위 프레임 그룹은 위 프레임을 포함함)과, 위 프레임 그룹 포맷이 비월 포맷(interlaced format)을 포함하는 경우, 위 프레임 그룹을 제1 최종 순차 포맷으로 변환하도록 구성된 적응적 비월 반전기 모듈(adaptive interlace reverser module)과, 위 프레임 그룹이 의사 비월 텔레시네 변환 포맷을 포함하는 경우, 위 프레임 그룹을 제2 최종 순차 포맷으로 변환하도록 구성된 적응적 텔레시네 반전기 모듈(adaptive telecine reverser module)을 포함한다.
제3 실시예에 덧붙여, 위 프레임 분류기 모듈 및 위 프레임 그룹 분류기 모듈은 위 프레임 그룹 포맷 이전에 위 프레임 포맷을 판정하도록 구성되고, 위 메모리 버퍼는 위 프레임 그룹, 위 프레임 그룹 이전의 프레임 그룹 및 위 프레임 그룹 이후의 프레임 그룹을 버퍼링하도록 구성되되, 위 프레임 그룹, 위 프레임 그룹 이전의 위 프레임 그룹 및 위 프레임 그룹 이후의 위 프레임 그룹은 각각 5개의 프레임을 포함한다.
제3 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 순차 포맷, 진성 비월 포맷, 또는 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 60 프레임/초 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷, 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 분류기 모듈은 위 프레임의 콘텐트 분석을 통하여 위 프레임 포맷을 판정하도록 구성되고, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 분류기 모듈은 위 프레임 분류기 모듈이 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하고, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하며, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하도록 구성됨으로써 위 프레임 포맷을 판정하도록 구성되되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 분류기 모듈은 위 프레임 분류기 모듈이 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하고, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하며, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하도록 구성됨으로써 위 프레임 포맷을 판정하도록 구성되되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함하는데, 위 서술자는 위 프레임의 필드의 쌍 간의 절대차의 합, 위 프레임의 블록 및 위 프레임의 상위 필드의 블록 간의 가변 임계 차이의 합, 높은 텍스처 값을 가지는 위 프레임의 블록의 임계화된 카운트, 위 프레임의 수직 텍스처의 측정, 위 프레임의 동적 텍스처 및 정적 텍스처 간의 차이의 측정, 위 프레임의 텍스처 레벨 및 위 프레임의 필드의 텍스처 레벨의 평균 간의 차이의 측정, 또는 위 프레임의 블록 및 위 프레임의 위 상위 필드의 블록 간의 정적 임계화 차이의 합 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 분류기 모듈은 위 프레임 분류기 모듈이 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하고, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하며, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하고, 위 제1 스테이지에서 위 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하며, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 프레임 포맷이 순차 또는 비월인지를 판정하도록 구성됨으로써 위 프레임 포맷을 판정하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 분류기 모듈은 위 프레임 분류기 모듈이 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하고, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하며, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정(위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함함)하고/하거나,
위 프레임의 콘텐트와 연관된 복수의 제2 서술자를 판정하고, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 제2 비교 테스트를 평가하며, 위 제1 스테이지에서, 위 제2 비교 테스트에 기반하여 위 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하고, 위 제1 스테이지에서 위 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하며, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 프레임 포맷이 순차 또는 비월인지를 판정하도록 구성됨으로써 위 프레임 포맷을 판정하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 분류기 모듈은 위 프레임 그룹의 프레임의 콘텐트 분석을 통하여 위 프레임 그룹 포맷을 판정하도록 구성되고, 위 프레임 그룹 포맷은 완전 순차, 완전 비월 또는 텔레시네화 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 그룹 분류기 모듈은 위 프레임 그룹 포맷을 판정하도록 구성되는 것은 위 프레임 그룹의 모든 프레임이 순차임, 위 프레임 그룹의 모든 프레임이 비월임, 위 프레임 그룹이 텔레시네 패턴을 가짐, 또는 위 프레임 그룹이 검출되지 않은 패턴을 가짐 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 그룹 분류기 모듈은 위 프레임 그룹 분류기 모듈이 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하도록 구성됨으로써 위 프레임 그룹 포맷을 판정하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 분류기 모듈은 위 프레임 그룹 분류기 모듈이 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하도록 구성됨으로써 위 프레임 그룹 포맷을 판정하도록 구성되되, 위 프레임 그룹, 위 프레임 그룹 이전의 위 프레임 그룹 및 위 프레임 그룹 이후의 위 프레임 그룹은 각각 5개의 프레임을 포함한다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 위 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 완전 순차 프레임을 포함함을 판정하도록 구성되며, 위 시스템은 최종 프레임을 생성하는 변환 없이 위 프레임 그룹을 출력하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 완전 비월 프레임을 포함함을 판정하도록 구성되며, 위 프레임 그룹 포맷은 위 비월 포맷을 포함한다.
제3 실시예에 덧붙여, 위 적응적 비월 반전기 모듈은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하되, 위 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 위 개별 텔레시네 패턴을 포함함을 판정하도록 구성되고, 위 프레임 그룹 포맷은 위 의사 비월 텔레시네 변환 포맷을 포함한다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하되, 위 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 위 개별 텔레시네 패턴을 포함함을 판정하도록 구성되고, 위 프레임 그룹 포맷은 위 의사 비월 텔레시네 변환 포맷을 포함하되, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴 중 적어도 하나를 포함한다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하되, 위 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 위 개별 텔레시네 패턴을 포함함을 판정하도록 구성되고, 위 프레임 그룹 포맷은 위 의사 비월 텔레시네 변환 포맷을 포함하되, 위 적응적 비월 반전기 모듈은 위 개별 텔레시네 패턴을 확인하고, 패턴 패리티를 체크하며, 위 개별 텔레시네 패턴을 반전하여 24 프레임/초의 최종 순차 포맷을 가지는 최종 프레임을 생성하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하되, 위 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 위 개별 텔레시네 패턴을 포함함을 판정하도록 구성되고, 위 프레임 그룹 포맷은 위 의사 비월 텔레시네 변환 포맷을 포함하되, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴 중 적어도 하나를 포함하며, 위 적응적 비월 반전기 모듈은 위 개별 텔레시네 패턴을 확인하고, 패턴 패리티를 체크하며, 위 개별 텔레시네 패턴을 반전하여 24 프레임/초의 최종 순차 포맷을 가지는 최종 프레임을 생성하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 적응적 비월 반전기 모듈은 위 프레임 그룹을 제3 최종 순차 포맷으로 변환하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 적응적 비월 반전기 모듈은 위 프레임 그룹을 제3 최종 순차 포맷으로 변환하도록 구성되되, 적응적 텔레시네 패턴 반전 모듈은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 적응적 비월 반전기 모듈은 적응적 텔레시네 패턴 반전 모듈이 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하도록 구성됨으로써 위 프레임 그룹을 제3 최종 순차 포맷으로 변환하도록 구성된다.
제3 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 위 프레임 그룹 분류기 모듈이 위 프레임 그룹 포맷을 판정하도록 구성된 것은 위 프레임 그룹 분류기 모듈이 복수의 비교 테스트를 평가하도록 구성된 것을 포함하되, 적어도 제1 비교 테스트는 위 프레임 그룹의 프레임의 국부적 텍스처의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 위 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 위 프레임 그룹의 다른 프레임 및 위 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반한다.
하나 이상의 제4 실시예에서, 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 시스템은, 하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정하는 수단과, 위 혼합 콘텐트 비디오 스트림의 프레임 그룹을 위한 프레임 그룹 포맷을 판정하는 수단(위 프레임 그룹은 위 프레임을 포함함)과, 위 프레임 그룹 포맷에 적어도 부분적으로 기반하여 위 프레임 그룹을 위한 변환 기법을 판정하는 수단과, 위 판정된 변환 기법에 기반하여 위 프레임 그룹을 최종 순차 포맷으로 변환하는 수단을 포함한다.
제4 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 60 프레임/초 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷, 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함한다.
제4 실시예에 덧붙여, 위 프레임 포맷을 판정하는 것은 위 프레임의 콘텐트 분석을 포함하고, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제4 실시예에 덧붙여, 위 프레임 포맷을 판정하는 수단은 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하는 수단을 포함하되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제4 실시예에 덧붙여, 위 프레임 포맷을 판정하는 수단은 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 수단과, 위 제1 스테이지에서 위 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 수단과, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 프레임 포맷이 순차 또는 비월인지를 판정하는 수단을 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 프레임의 콘텐트 분석을 포함하고, 위 프레임 그룹 포맷은 완전 순차, 완전 비월 또는 텔레시네화 중 적어도 하나를 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 위 프레임 그룹의 텔레시네 패턴을 판정하는 것, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 위 프레임 그룹의 텔레시네 패턴을 판정하는 것, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함하고 위 변환 기법을 판정하는 것은 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 것을 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 위 프레임 그룹의 텔레시네 패턴을 판정하는 것, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함하고 위 변환 기법을 판정하는 것은 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 것을 포함하되, 위 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 위 최종 순차 포맷을 가지는 최종 프레임을 생성하는 변환을 포함하지 않는다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 비월제거 기법을 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 비월제거 기법을 포함하되, 위 적응적 비월제거 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하고, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴 중 적어도 하나를 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는 적응적 텔레시네 패턴 반전 기법을 포함한다.
제4 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 위 프레임 그룹 포맷을 판정하는 수단은 복수의 비교 테스트를 평가하는 수단을 포함하되, 적어도 한 비교 테스트는 위 프레임 그룹의 프레임의 국부적 텍스처의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 위 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 위 프레임 그룹의 다른 프레임 및 위 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반한다.
제4 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 위 프레임 그룹 포맷을 판정하는 수단은 적어도 하나의 비교 테스트를 평가하는 수단을 포함하되, 위 비교 테스트는 위 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 위 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반한다.
하나 이상의 제5 실시예에서, 인코딩 및/또는 디스플레이를 위해 비디오를 처리하는 시스템은, 적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림을 수신하는 수단과, 위 진성 비월 포맷을 가지는 위 혼합 콘텐트 비디오 스트림의 제1 세그먼트를 위한 제1 변환 기법 및 텔레시네화 포맷을 가지는 위 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법을 판정하는 수단(위 제1 및 제2 변환 기법은 상이함)과, 위 제1 변환 기법 및 위 제2 변환 기법에 적어도 부분적으로 기반하여 위 혼합 콘텐트 비디오 스트림을 순차 비디오 스트림으로 변환하는 수단을 포함한다.
제5 실시예에 덧붙여, 위 제1 변환 기법은 콘텐트 적응적 비월제거기를 포함하고 위 제2 변환 기법은 적응적 텔레시네 패턴 반전기 기법을 포함한다.
제5 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함한다.
제5 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하되, 위 제1 프레임 포맷을 판정하는 수단은, 위 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과, 위 비교 테스트에 기반하여 위 제1 프레임 포맷을 판정하는 수단을 포함하되, 위 제1 프레임 포맷은 비월 프레임을 포함한다.
제5 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하되, 위 제1 프레임 포맷을 판정하는 수단은, 위 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 제1 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 수단과, 위 제1 스테이지에서 위 제1 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 수단과, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 제1 프레임이 비월임을 판정하는 수단을 포함한다.
제5 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 것은 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 것을 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 것은 위 개별 텔레시네 패턴을 반전하는 것을 포함하며, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 또는 혼합 패턴 중 적어도 하나를 포함한다.
제5 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 것은 위 제2 세그먼트가 검출되지 않은 패턴을 가짐을 판정하는 것을 포함하고 위 혼합 콘텐트 비디오 스트림을 변환하는 것은 위 제2 세그먼트에 적응적 비월 반전기를 적용하는 것을 포함한다.
제5 실시예에 덧붙여, 위 시스템은 위 혼합 콘텐트 비디오 스트림의 제3 세그먼트가 순차 포맷을 포함함을 판정하는 수단과, 위 순차 포맷 비디오 세그먼트를 변환 없이 출력으로서 제공하는 수단을 더 포함한다.
하나 이상의 제6 실시예에서, 적어도 하나의 머신 판독가능 매체(machine readable medium)는, 컴퓨팅 디바이스(computing device) 상에서 실행되는 것에 응답하여 위 컴퓨팅 디바이스로 하여금, 하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정하는 것과, 위 혼합 콘텐트 비디오 스트림의 프레임 그룹을 위한 프레임 그룹 포맷을 판정하는 것(위 프레임 그룹은 위 프레임을 포함함)과, 위 프레임 그룹 포맷에 적어도 부분적으로 기반하여 위 프레임 그룹을 위한 변환 기법을 판정하는 것과, 위 판정된 변환 기법에 기반하여 위 프레임 그룹을 최종 순차 포맷으로 변환하는 것에 의해 인코딩 및/또는 디스플레이를 위해 비디오를 처리하게 하는 복수의 명령어를 포함한다.
제6 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 순차 포맷, 진성 비월 포맷, 또는 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 혼합 콘텐트 비디오 스트림의 위 비디오 포맷은 60 프레임/초 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷, 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 포맷을 판정하는 것은 위 프레임의 콘텐트 분석을 포함하고, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 포맷을 판정하는 것은 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하는 것을 포함하되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 포맷을 판정하는 것은 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과, 위 비교 테스트에 기반하여 위 프레임 포맷을 판정하는 것을 포함하되, 위 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함하는데, 위 서술자는 위 프레임의 필드의 쌍 간의 절대차의 합, 위 프레임의 블록 및 위 프레임의 상위 필드의 블록 간의 가변 임계 차이의 합, 높은 텍스처 값을 가지는 위 프레임의 블록의 임계화된 카운트, 위 프레임의 수직 텍스처의 측정, 위 프레임의 동적 텍스처 및 정적 텍스처 간의 차이의 측정, 위 프레임의 텍스처 레벨 및 위 프레임의 필드의 텍스처 레벨의 평균 간의 차이의 측정, 또는 위 프레임의 블록 및 위 프레임의 위 상위 필드의 블록 간의 정적 임계화 차이의 합 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 포맷을 판정하는 것은 위 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 것과, 위 제1 스테이지에서 위 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 것과, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 프레임 포맷이 순차 또는 비월인지를 판정하는 것을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 프레임의 콘텐트 분석을 포함하고, 위 프레임 그룹 포맷은 완전 순차, 완전 비월 또는 텔레시네화 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 위 프레임 그룹의 텔레시네 패턴을 판정하는 것, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 변환 기법을 판정하는 것은 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 것을 포함한다.
제6 실시예에 덧붙여, 위 변환 기법을 판정하는 것은 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 것을 포함하되, 위 프레임 그룹, 위 프레임 그룹 이전의 위 프레임 그룹 및 위 프레임 그룹 이후의 위 프레임 그룹은 각각 5개의 프레임을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷을 판정하는 것은 위 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 위 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 위 프레임 그룹의 텔레시네 패턴을 판정하는 것, 또는 위 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함하고 위 변환 기법을 판정하는 것은 위 프레임 그룹 포맷을 위 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 프레임 그룹 이후의 프레임 그룹을 위한 향후 프레임 그룹 포맷과 비교하는 것을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 위 최종 순차 포맷을 가지는 최종 프레임을 생성하는 변환을 포함하지 않는다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 비월제거 기법을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 비월제거 기법을 포함하되, 위 적응적 비월제거 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 적응적 텔레시네 패턴 반전 기법은 위 개별 텔레시네 패턴을 확인하는 것과, 패턴 패리티를 체크하는 것과, 위 개별 텔레시네 패턴을 반전하여 24 프레임/초의 위 최종 순차 포맷을 가지는 최종 프레임을 생성하는 것을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 위 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 위 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하고, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 또는 혼합 패턴 중 적어도 하나를 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 적응적 텔레시네 패턴 반전 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하되, 위 적응적 텔레시네 패턴 반전 기법은 24 프레임/초의 위 최종 순차 포맷을 가지는 최종 프레임을 생성한다.
제6 실시예에 덧붙여, 위 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 위 변환 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는 적응적 텔레시네 패턴 반전 기법을 포함한다.
제6 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 위 프레임 그룹 포맷을 판정하는 것은 복수의 비교 테스트를 평가하는 것을 포함하되, 적어도 제1 비교 테스트는 위 프레임 그룹의 프레임의 국부적 텍스처의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 위 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 위 프레임 그룹의 다른 프레임 및 위 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반한다.
제6 실시예에 덧붙여, 위 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 위 프레임 그룹 포맷을 판정하는 것은 적어도 하나의 비교 테스트를 평가하는 것을 포함하되, 위 비교 테스트는 위 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 위 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반한다.
제6 실시예에 덧붙여, 위 머신 판독가능 매체는, 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여 위 컴퓨팅 디바이스로 하여금, 위 혼합 콘텐트 비디오 스트림의 제2 프레임을 위한 제2 프레임 포맷을 판정하는 것과, 위 혼합 콘텐트 비디오 스트림의 제2 프레임 그룹을 위한 제2 프레임 그룹 포맷을 판정하는 것(위 제2 프레임 그룹은 위 제2 프레임을 포함하고, 위 프레임 그룹 포맷 및 위 제2 프레임 그룹 포맷은 상이함)와, 위 프레임 그룹 포맷에 적어도 부분적으로 기반하여 위 제2 프레임 그룹을 위한 제2 변환 기법을 판정하는 것(제1 변환 기법 및 위 제2 변환 기법은 상이함)과, 위 제2의 판정된 변환 기법에 기반하여 위 제2 프레임 그룹을 제2 최종 순차 포맷으로 변환하는 것에 의해 인코딩 및/또는 디스플레이를 위해 비디오를 처리하게 하는 명령어를 더 포함한다.
제6 실시예에 덧붙여, 위 프레임 포맷 및 위 프레임 그룹 포맷을 판정하는 것은 위 혼합 콘텐트 비디오 스트림과 연관된 헤더를 디코딩하는 것을 포함하되, 위 혼합 콘텐트 비디오 스트림은 집성된 전송 스트림을 포함하고, 위 헤더를 디코딩하는 것은 위 집성된 전송 스트림의 개별 채널을 역다중화하는 것, 제1 개별 채널을 디코딩하여 위 혼합 콘텐트 비디오 스트림 및 위 헤더를 생성하는 것을 포함하되, 위 헤더는 위 프레임 포맷 및 위 프레임 그룹 포맷을 포함한다.
하나 이상의 제7 실시예에서, 적어도 하나의 머신 판독가능 매체는, 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여 위 컴퓨팅 디바이스로 하여금, 적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림을 수신하는 것과, 위 진성 비월 포맷을 가지는 위 혼합 콘텐트 비디오 스트림의 제1 세그먼트를 위한 제1 변환 기법 및 텔레시네화 포맷을 가지는 위 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법을 판정하는 것(위 제1 및 제2 변환 기법은 상이함)과, 위 제1 변환 기법 및 위 제2 변환 기법에 적어도 부분적으로 기반하여 위 혼합 콘텐트 비디오 스트림을 순차 비디오 스트림으로 변환하는 것에 의해 인코딩 및/또는 디스플레이를 위해 비디오를 처리하게 하는 복수의 명령어를 포함한다.
제7 실시예에 덧붙여, 위 제1 변환 기법은 콘텐트 적응적 비월제거기를 포함한다.
제7 실시예에 덧붙여, 위 제2 변환 기법은 적응적 텔레시네 패턴 반전기 기법을 포함한다.
제7 실시예에 덧붙여, 위 제1 변환 기법은 콘텐트 적응적 비월제거기를 포함하고 위 제2 변환 기법은 적응적 텔레시네 패턴 반전기 기법을 포함한다.
제7 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함한다.
제7 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하되, 위 제1 프레임 포맷을 판정하는 것은, 위 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과, 위 비교 테스트에 기반하여 위 제1 프레임 포맷을 판정하는 것을 포함하되, 위 제1 프레임 포맷은 비월 프레임을 포함한다.
제7 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하되, 위 제1 프레임 포맷을 판정하는 것은, 위 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과, 제1 스테이지에서, 위 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과, 위 제1 스테이지에서, 위 비교 테스트에 기반하여 위 제1 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 것과, 위 제1 스테이지에서 위 제1 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 것과, 위 제2 스테이지에서, 위 머신 러닝 기반 비교 테스트에 기반하여 위 제1 프레임이 비월임을 판정하는 것을 포함한다.
제7 실시예에 덧붙여, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 위 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하되, 위 제1 프레임 포맷은 완전 비월 프레임을 포함하고, 위 제1 변환 기법을 판정하는 것은 위 제1 세그먼트를 위 제1 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 위 제1 프레임 그룹 이후의 프레임 그룹의 향후 프레임 그룹 포맷을 비교하는 것을 더 포함한다.
제7 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 것은 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 것을 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 것은 위 개별 텔레시네 패턴을 반전하는 것을 포함한다.
제7 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 것은 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 것을 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 것은 위 개별 텔레시네 패턴을 반전하는 것을 포함하되, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 또는 혼합 패턴 중 적어도 하나를 포함한다.
제7 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 것은 위 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 것을 포함하고, 위 혼합 콘텐트 비디오 스트림을 변환하는 것은 위 개별 텔레시네 패턴을 반전하는 것을 포함하며, 위 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 또는 혼합 패턴 중 적어도 하나를 포함한다.
제7 실시예에 덧붙여, 위 제2 변환 기법을 판정하는 것은 위 제2 세그먼트가 검출되지 않은 패턴을 가짐을 판정하는 것을 포함하고 위 혼합 콘텐트 비디오 스트림을 변환하는 것은 위 제2 세그먼트에 적응적 비월 반전기를 적용하는 것을 포함한다.
제7 실시예에 덧붙여, 위 머신 판독가능 매체는, 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여 위 컴퓨팅 디바이스로 하여금, 위 혼합 콘텐트 비디오 스트림의 제3 세그먼트가 순차 포맷을 포함함을 판정하는 것과, 위 순차 포맷 비디오 세그먼트를 변환 없이 출력으로서 제공하는 것에 의해 인코딩 및/또는 디스플레이를 위해 비디오를 처리하게 하는 명령어를 더 포함한다.
하나 이상의 제8 실시예에서, 적어도 하나의 머신 판독가능 매체는, 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여 위 컴퓨팅 디바이스로 하여금 위의 실시예 중 임의의 것에 따른 방법을 수행하게 하는 복수의 명령어를 포함할 수 있다.
하나 이상의 제9 실시예에서, 장치는 위의 실시예 중 임의의 것에 따른 방법을 수행하는 수단을 포함할 수 있다.
실시예는 이와 같이 기술된 실시예에 한정되지 않으나, 부기된 청구항의 범주로부터 벗어나지 않고서 수정 및 변경과 함께 실시될 수 있음이 인식될 것이다. 예컨대, 위의 실시예는 특징의 특정 조합을 포함할 수 있다. 그러나, 위의 실시예는 이 점에 한정되지 않고, 다양한 구현에서, 위의 실시예는 그러한 특징의 서브세트만을 시행하는 것, 그러한 특징의 다른 순서를 시행하는 것, 그러한 특징의 상이한 조합을 시행하는 것, 그리고/또는 명시적으로 나열된 특징 외의 추가적인 특징을 시행하는 것을 포함할 수 있다. 따라서, 실시예의 범주는, 부기된 청구항을 그러한 청구항에 주어질 만한 균등물의 전 범주와 더불어 참조하여 판정되어야 한다.
Claims (73)
- 컴퓨터로 구현되는(computer-implemented), 인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위한 비디오 처리 방법으로서,
하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림(mixed content video stream)의 프레임(frame)에 대한 프레임 포맷을 판정하는 단계와,
상기 혼합 콘텐트 비디오 스트림의 프레임 그룹(frame group)에 대한 프레임 그룹 포맷을 판정하는 단계 - 상기 프레임 그룹은 상기 프레임을 포함함 - 와,
상기 프레임 그룹 포맷에 적어도 부분적으로 기반하여 상기 프레임 그룹에 대한 변환 기법을 판정하는 단계와,
상기 판정된 변환 기법에 기반하여 상기 프레임 그룹을 최종 순차 포맷(progressive format)으로 변환하는 단계를 포함하는
방법.
- 제1항에 있어서,
상기 혼합 콘텐트 비디오 스트림의 상기 비디오 포맷은 60 프레임/초(frames per second) 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷(true interlaced format), 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷(pseudo-interlaced telecine converted format) 중 적어도 하나를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 포맷을 판정하는 단계는 상기 프레임의 콘텐트 분석(content analysis)을 포함하고, 상기 프레임 포맷은 순차(progressive) 또는 비월(interlaced) 중 적어도 하나를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 포맷을 판정하는 단계는
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와,
상기 비교 테스트에 기반하여 상기 프레임 포맷을 판정하는 단계를 포함하되, 상기 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 포맷을 판정하는 단계는
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와,
제1 스테이지(stage)에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와,
상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 프레임 포맷이 순차, 비월 또는 불명확(uncertain)인지를 판정하는 단계와,
상기 제1 스테이지에서 상기 프레임 포맷이 불명확한 경우, 머신 러닝(machine learning) 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 단계와,
상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 프레임 포맷이 순차 또는 비월인지를 판정하는 단계를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹 포맷을 판정하는 단계는 상기 프레임 그룹의 프레임의 콘텐트 분석을 포함하고, 상기 프레임 그룹 포맷은 완전 순차(all progressive), 완전 비월(all interlaced) 또는 텔레시네화(telecined) 중 적어도 하나를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹 포맷을 판정하는 단계는 상기 프레임 그룹의 모든 프레임이 순차임을 판정하는 단계, 상기 프레임 그룹의 모든 프레임이 비월임을 판정하는 단계, 상기 프레임 그룹의 텔레시네 패턴(telecine pattern)을 판정하는 단계, 또는 상기 프레임 그룹의 검출되지 않은 패턴(undetected pattern)을 판정하는 단계 중 적어도 하나를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹 포맷을 판정하는 단계는 상기 프레임 그룹의 모든 프레임이 순차임을 판정하는 단계, 상기 프레임 그룹의 모든 프레임이 비월임을 판정하는 단계, 상기 프레임 그룹의 텔레시네 패턴을 판정하는 단계, 및 상기 프레임 그룹의 검출되지 않은 패턴을 판정하는 단계 중 적어도 하나를 포함하고, 상기 변환 기법을 판정하는 단계는 상기 프레임 그룹 포맷을 상기 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷(prior frame group format) 및 상기 프레임 그룹 이후의 프레임 그룹에 대한 향후 프레임 그룹 포맷(look-ahead frame group format)과 비교하는 단계를 포함하는,
방법. - 제1항에 있어서,
상기 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 상기 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임을 포함함을 판정하는 단계를 포함하며, 상기 변환 기법은 상기 최종 순차 포맷을 가지는 최종 프레임을 생성하는 변환을 포함하지 않는,
방법.
- 제1항에 있어서,
상기 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 상기 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 단계를 포함하며, 상기 변환 기법은 적응적 비월제거(adaptive deinterlacing) 기법을 포함하는,
방법.
- 제10항에 있어서,
상기 적응적 비월제거 기법은 적응적 선 블록 보간(adaptive line blocks interpolation), 수직 비선형 필터링(vertical non-linear filtering), 공간적 에지 검출 기반 보간(spatial edge detection based interpolation), 또는 움직임 검출(motion detection)에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화(weighted averaging) 중 적어도 하나에 기반하여 누락 픽셀(missing pixel)을 생성하는 것을 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 상기 변환 기법을 판정하는 단계는 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 상기 개별 텔레시네 패턴을 포함함을 판정하는 단계를 포함하며, 상기 변환 기법은 적응적 텔레시네 패턴 반전(adaptive telecine pattern reversal) 기법을 포함하고, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴(pull down pattern), 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 및 혼합 패턴(blended pattern) 중 적어도 하나를 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 상기 변환 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는 적응적 텔레시네 패턴 반전 기법을 포함하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹은 비월 프레임(interlaced frame) 및 텔레시네화 프레임(telecined frame)을 포함하고, 상기 프레임 그룹 포맷을 판정하는 단계는 복수의 비교 테스트를 평가하는 단계를 포함하되, 적어도 한 비교 테스트는 상기 프레임 그룹의 프레임의 국부적 텍스처(local texture)의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 상기 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 상기 프레임 그룹의 다른 프레임 및 상기 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반하는,
방법.
- 제1항에 있어서,
상기 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 상기 프레임 그룹 포맷을 판정하는 단계는 적어도 하나의 비교 테스트를 평가하는 단계를 포함하되, 상기 비교 테스트는 상기 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이(static thresholded difference)의 합을 상기 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반하는,
방법.
- 제1항에 있어서,
상기 프레임 포맷 및 상기 프레임 그룹 포맷을 판정하는 것은 상기 혼합 콘텐트 비디오 스트림과 연관된 헤더(header)를 디코딩하는 것을 포함하되, 상기 혼합 콘텐트 비디오 스트림은 집성된 전송 스트림(aggregated transport stream)을 포함하고, 상기 헤더를 디코딩하는 것은 상기 집성된 전송 스트림의 개별 채널을 역다중화하는 것(demultiplexing), 제1 개별 채널을 디코딩하여 상기 혼합 콘텐트 비디오 스트림 및 상기 헤더를 생성하는 것을 포함하되, 상기 헤더는 상기 프레임 포맷 및 상기 프레임 그룹 포맷을 포함하는,
방법.
- 컴퓨터로 구현되는, 인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위한 비디오 처리 방법으로서,
적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림을 수신하는 단계와,
상기 진성 비월 포맷을 가지는 상기 혼합 콘텐트 비디오 스트림의 제1 세그먼트(segment)를 위한 제1 변환 기법 및 텔레시네화 포맷을 가지는 상기 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법을 판정하는 단계 - 상기 제1 및 제2 변환 기법은 상이함 - 와,
상기 제1 변환 기법 및 상기 제2 변환 기법에 적어도 부분적으로 기반하여 상기 혼합 콘텐트 비디오 스트림을 순차 비디오 스트림(progressive video stream)으로 변환하는 단계를 포함하는
방법.
- 제17항에 있어서,
상기 제1 변환 기법은 콘텐트 적응적 비월제거기(content adaptive deinterlacer)를 포함하고 상기 제2 변환 기법은 적응적 텔레시네 패턴 반전기(adaptive telecine pattern reverser) 기법을 포함하는,
방법.
- 제17항에 있어서,
상기 제1 변환 기법을 판정하는 단계는 상기 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 상기 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 단계를 포함하는,
방법.
- 제19항에 있어서,
상기 제1 프레임 포맷을 판정하는 단계는,
상기 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와,
상기 비교 테스트에 기반하여 상기 제1 프레임 포맷을 판정하는 단계를 포함하되,
상기 제1 프레임 포맷은 비월 프레임을 포함하는,
방법.
- 제19항에 있어서,
상기 제1 프레임 포맷을 판정하는 단계는,
상기 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 단계와,
제1 스테이지에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 단계와,
상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 제1 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 단계와,
상기 제1 스테이지에서 상기 제1 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 단계와,
상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 제1 프레임이 비월임을 판정하는 단계를 포함하는,
방법.
- 제17항에 있어서,
상기 제2 변환 기법을 판정하는 단계는 상기 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 단계를 포함하고, 상기 혼합 콘텐트 비디오 스트림을 변환하는 단계는 상기 개별 텔레시네 패턴을 반전하는 단계를 포함하며, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 및 혼합 패턴 중 적어도 하나를 포함하는,
방법.
- 제17항에 있어서,
상기 제2 변환 기법을 판정하는 단계는 상기 제2 세그먼트가 검출되지 않은 패턴을 가짐을 판정하는 단계를 포함하고 상기 혼합 콘텐트 비디오 스트림을 변환하는 단계는 상기 제2 세그먼트에 적응적 비월 반전기(adaptive interlace reverser)를 적용하는 단계를 포함하는,
방법.
- 제17항에 있어서,
상기 혼합 콘텐트 비디오 스트림의 제3 세그먼트가 순차 포맷을 포함함을 판정하는 단계와,
상기 순차 포맷 비디오 세그먼트를 변환 없이 출력으로서 제공하는 단계를 더 포함하는,
방법.
- 인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위한 비디오 처리 시스템으로서,
비디오 프레임을 저장하도록 구성된 메모리 버퍼(memory buffer)와,
상기 메모리 버퍼에 커플링된 중앙 처리 유닛(central processing unit)을 포함하되, 상기 중앙 처리 유닛은
하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정하도록 구성된 프레임 분류기 모듈(frame classifier module)과,
상기 혼합 콘텐트 비디오 스트림의 프레임 그룹에 대한 프레임 그룹 포맷을 판정하는 프레임 그룹 분류기 모듈(frame group classifier module) - 상기 프레임 그룹은 상기 프레임을 포함함 - 과,
상기 프레임 그룹 포맷이 비월 포맷(interlaced format)을 포함하는 경우, 상기 프레임 그룹을 제1 최종 순차 포맷으로 변환하도록 구성된 적응적 비월 반전기 모듈(adaptive interlace reverser module)과,
상기 프레임 그룹이 의사 비월 텔레시네 변환 포맷을 포함하는 경우, 상기 프레임 그룹을 제2 최종 순차 포맷으로 변환하도록 구성된 적응적 텔레시네 반전기 모듈(adaptive telecine reverser module)을 포함하는,
시스템.
- 제25항에 있어서,
상기 프레임 분류기 모듈 및 상기 프레임 그룹 분류기 모듈은 상기 프레임 그룹 포맷 이전에 상기 프레임 포맷을 판정하도록 구성되고, 상기 메모리 버퍼는 상기 프레임 그룹, 상기 프레임 그룹 이전의 프레임 그룹 및 상기 프레임 그룹 이후의 프레임 그룹을 버퍼링하도록 구성되되, 상기 프레임 그룹, 상기 프레임 그룹 이전의 상기 프레임 그룹 및 상기 프레임 그룹 이후의 상기 프레임 그룹은 각각 5개의 프레임을 포함하는,
시스템.
- 제25항에 있어서,
상기 프레임 분류기 모듈은 상기 프레임 분류기 모듈이
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하고,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하며,
상기 비교 테스트에 기반하여 상기 프레임 포맷을 판정하도록 구성됨으로써 상기 프레임 포맷을 판정하도록 구성되되, 상기 프레임 포맷은 순차 및 비월 중 적어도 하나를 포함하는,
시스템.
- 제27항에 있어서,
상기 서술자는 상기 프레임의 필드의 쌍 간의 절대차의 합, 상기 프레임의 블록 및 상기 프레임의 상위 필드(top field)의 블록 간의 가변 임계 차이(variable threshold difference)의 합, 높은 텍스처 값을 가지는 상기 프레임의 블록의 임계화된 카운트(thresholded count), 상기 프레임의 수직 텍스처(vertical texture)의 측정, 상기 프레임의 동적 텍스처 및 정적 텍스처 간의 차이의 측정, 상기 프레임의 텍스처 레벨 및 상기 프레임의 필드의 텍스처 레벨의 평균 간의 차이의 측정, 또는 상기 프레임의 블록 및 상기 프레임의 상기 상위 필드의 블록 간의 정적 임계화 차이의 합 중 적어도 하나를 포함하는,
시스템.
- 제25항에 있어서,
상기 프레임 분류기 모듈은 상기 프레임 분류기 모듈이
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하고,
제1 스테이지에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하며,
상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하고,
상기 제1 스테이지에서 상기 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하며,
상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 프레임 포맷이 순차 또는 비월인지를 판정하도록 구성됨으로써 상기 프레임 포맷을 판정하도록 구성된,
시스템.
- 제25항에 있어서,
상기 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 상기 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 완전 순차 프레임을 포함함을 판정하도록 구성되며, 상기 시스템은 최종 프레임을 생성하는 변환 없이 상기 프레임 그룹을 출력하도록 구성된,
시스템.
- 제25항에 있어서,
상기 적응적 비월 반전기 모듈은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하도록 구성된,
시스템.
- 제25항에 있어서,
상기 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하되, 상기 프레임 그룹 분류기 모듈은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷 양자 모두가 상기 개별 텔레시네 패턴을 포함함을 판정하도록 구성되고, 상기 프레임 그룹 포맷은 상기 의사 비월 텔레시네 변환 포맷을 포함하되, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 및 혼합 패턴 중 적어도 하나를 포함하며, 상기 적응적 비월 반전기 모듈은 상기 개별 텔레시네 패턴을 확인하고, 패턴 패리티(pattern parity)를 체크하며, 상기 개별 텔레시네 패턴을 반전하여 24 프레임/초의 최종 순차 포맷을 가지는 최종 프레임을 생성하도록 구성된,
시스템.
- 제25항에 있어서,
상기 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 상기 적응적 비월 반전기 모듈은 적응적 텔레시네 패턴 반전 모듈이 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하도록 구성됨으로써 상기 프레임 그룹을 제3 최종 순차 포맷으로 변환하도록 구성된,
시스템.
- 인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위한 비디오 처리 시스템으로서,
하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정하는 수단과,
상기 혼합 콘텐트 비디오 스트림의 프레임 그룹에 대한 프레임 그룹 포맷을 판정하는 수단 - 상기 프레임 그룹은 상기 프레임을 포함함 - 과,
상기 프레임 그룹 포맷에 적어도 부분적으로 기반하여 상기 프레임 그룹에 대한 변환 기법을 판정하는 수단과,
상기 판정된 변환 기법에 기반하여 상기 프레임 그룹을 최종 순차 포맷으로 변환하는 수단을 포함하는
시스템.
- 제34항에 있어서,
상기 혼합 콘텐트 비디오 스트림의 상기 비디오 포맷은 60 프레임/초 순차 포맷, 30 프레임/초 순차 포맷, 30 프레임/초 진성 비월 포맷, 또는 30 프레임/초 의사 비월 텔레시네 변환 포맷 중 적어도 하나를 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 포맷을 판정하는 것은 상기 프레임의 콘텐트 분석을 포함하고, 상기 프레임 포맷은 순차 및 비월 중 적어도 하나를 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 포맷을 판정하는 수단은
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과,
상기 비교 테스트에 기반하여 상기 프레임 포맷을 판정하는 수단을 포함하되, 상기 프레임 포맷은 순차 및 비월 중 적어도 하나를 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 포맷을 판정하는 수단은
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과,
제1 스테이지에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과,
상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 수단과,
상기 제1 스테이지에서 상기 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 수단과,
상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 프레임 포맷이 순차 또는 비월인지를 판정하는 수단을 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹 포맷을 판정하는 것은 상기 프레임 그룹의 프레임의 콘텐트 분석을 포함하고, 상기 프레임 그룹 포맷은 완전 순차, 완전 비월 및 텔레시네화 중 적어도 하나를 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹 포맷을 판정하는 것은 상기 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 상기 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 상기 프레임 그룹의 텔레시네 패턴을 판정하는 것, 및 상기 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹 포맷을 판정하는 것은 상기 프레임 그룹의 모든 프레임이 순차임을 판정하는 것, 상기 프레임 그룹의 모든 프레임이 비월임을 판정하는 것, 상기 프레임 그룹의 텔레시네 패턴을 판정하는 것, 및 상기 프레임 그룹의 검출되지 않은 패턴을 판정하는 것 중 적어도 하나를 포함하고, 상기 변환 기법을 판정하는 것은 상기 프레임 그룹 포맷을 상기 프레임 그룹 이전의 프레임 그룹의 종전 프레임 그룹 포맷 및 상기 프레임 그룹 이후의 프레임 그룹에 대한 향후 프레임 그룹 포맷과 비교하는 것을 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 상기 최종 순차 포맷을 가지는 최종 프레임을 생성하는 변환을 포함하지 않는,
시스템. - 제34항에 있어서,
상기 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 적응적 비월제거 기법을 포함하는,
시스템.
- 제43항에 있어서,
상기 적응적 비월제거 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 상기 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하고, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 및 혼합 패턴 중 적어도 하나를 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 상기 변환 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는 적응적 텔레시네 패턴 반전 기법을 포함하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 상기 프레임 그룹 포맷을 판정하는 수단은 복수의 비교 테스트를 평가하는 수단을 포함하되, 적어도 한 비교 테스트는 상기 프레임 그룹의 프레임의 국부적 텍스처의 측정을 비교하는 것에 기반하고 적어도 제2 비교 테스트는 상기 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 상기 프레임 그룹의 다른 프레임 및 상기 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반하는,
시스템.
- 제34항에 있어서,
상기 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 상기 프레임 그룹 포맷을 판정하는 수단은 적어도 하나의 비교 테스트를 평가하는 수단을 포함하되, 상기 비교 테스트는 상기 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 상기 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반하는,
시스템.
- 인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위한 비디오 처리 시스템으로서,
적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림을 수신하는 수단과,
상기 진성 비월 포맷을 가지는 상기 혼합 콘텐트 비디오 스트림의 제1 세그먼트를 위한 제1 변환 기법 및 텔레시네화 포맷을 가지는 상기 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법을 판정하는 수단 - 상기 제1 및 제2 변환 기법은 상이함 - 과,
상기 제1 변환 기법 및 상기 제2 변환 기법에 적어도 부분적으로 기반하여 상기 혼합 콘텐트 비디오 스트림을 순차 비디오 스트림으로 변환하는 수단을 포함하는
시스템.
- 제49항에 있어서,
상기 제1 변환 기법은 콘텐트 적응적 비월제거기를 포함하고 상기 제2 변환 기법은 적응적 텔레시네 패턴 반전기 기법을 포함하는,
시스템.
- 제49항에 있어서,
상기 제1 변환 기법을 판정하는 것은 상기 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 상기 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하는,
시스템.
- 제51항에 있어서,
상기 제1 프레임 포맷을 판정하는 수단은,
상기 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과,
상기 비교 테스트에 기반하여 상기 제1 프레임 포맷을 판정하는 수단을 포함하되,
상기 제1 프레임 포맷은 비월 프레임을 포함하는,
시스템.
- 제51항에 있어서,
상기 제1 프레임 포맷을 판정하는 수단은,
상기 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 수단과,
제1 스테이지에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 수단과,
상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 제1 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 수단과,
상기 제1 스테이지에서 상기 제1 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 수단과,
상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 제1 프레임이 비월임을 판정하는 수단을 포함하는,
시스템.
- 제49항에 있어서,
상기 제2 변환 기법을 판정하는 것은 상기 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 것을 포함하고, 상기 혼합 콘텐트 비디오 스트림을 변환하는 것은 상기 개별 텔레시네 패턴을 반전하는 것을 포함하며, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 및 혼합 패턴 중 적어도 하나를 포함하는,
시스템.
- 제49항에 있어서,
상기 제2 변환 기법을 판정하는 것은 상기 제2 세그먼트가 검출되지 않은 패턴을 가짐을 판정하는 것을 포함하고 상기 혼합 콘텐트 비디오 스트림을 변환하는 것은 상기 제2 세그먼트에 적응적 비월 반전기를 적용하는 것을 포함하는,
시스템.
- 제49항에 있어서,
상기 혼합 콘텐트 비디오 스트림의 제3 세그먼트가 순차 포맷을 포함함을 판정하는 수단과,
상기 순차 포맷 비디오 세그먼트를 변환 없이 출력으로서 제공하는 수단을 더 포함하는,
시스템.
- 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여 상기 컴퓨팅 디바이스로 하여금,
하나 이상의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림의 프레임에 대한 프레임 포맷을 판정하는 것과,
상기 혼합 콘텐트 비디오 스트림의 프레임 그룹에 대한 프레임 그룹 포맷을 판정하는 것 - 상기 프레임 그룹은 상기 프레임을 포함함 - 과,
상기 프레임 그룹 포맷에 적어도 부분적으로 기반하여 상기 프레임 그룹에 대한 변환 기법을 판정하는 것과,
상기 판정된 변환 기법에 기반하여 상기 프레임 그룹을 최종 순차 포맷으로 변환하는 것에 의해
인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위해 비디오를 처리하게 하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 포맷을 판정하는 것은
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과,
상기 비교 테스트에 기반하여 상기 프레임 포맷을 판정하는 것을 포함하되, 상기 프레임 포맷은 순차 또는 비월 중 적어도 하나를 포함하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 포맷을 판정하는 것은
상기 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과,
제1 스테이지에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과,
상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 것과,
상기 제1 스테이지에서 상기 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 것과,
상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 프레임 포맷이 순차 또는 비월인지를 판정하는 것을 포함하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹 포맷은 완전 순차 프레임을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 순차 프레임을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 상기 최종 순차 포맷을 가지는 최종 프레임을 생성하는 변환을 포함하지 않는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹 포맷은 완전 비월 프레임을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 완전 비월 프레임을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 적응적 비월제거 기법을 포함하는,
머신 판독가능 매체. - 제61항에 있어서,
상기 적응적 비월제거 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 상기 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹 포맷은 개별 텔레시네 패턴을 포함하고, 상기 변환 기법을 판정하는 것은 종전 프레임 그룹 포맷 및 향후 프레임 그룹 포맷이 상기 개별 텔레시네 패턴을 포함함을 판정하는 것을 포함하며, 상기 변환 기법은 적응적 텔레시네 패턴 반전 기법을 포함하고, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴, 및 혼합 패턴 중 적어도 하나를 포함하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹 포맷은 검출되지 않은 패턴을 포함하고, 상기 변환 기법은 적응적 선 블록 보간, 수직 비선형 필터링, 공간적 에지 검출 기반 보간, 또는 움직임 검출에 기반하여 가중화된 공간적 에지 검출 기반 보간 및 보간되고 필터링된 선 블록의 가중 평균화 중 적어도 하나에 기반하여 누락 픽셀을 생성하는 것을 포함하는 적응적 텔레시네 패턴 반전 기법을 포함하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 상기 프레임 그룹 포맷을 판정하는 것은 복수의 비교 테스트를 평가하는 것을 포함하되, 적어도 한 비교 테스트는 상기 프레임 그룹의 프레임의 국부적 텍스처의 측정을 비교하는 것에 기반하고, 적어도 제2 비교 테스트는 상기 프레임 그룹의 개별 프레임의 필드 간의 절대차의 합을 상기 프레임 그룹의 다른 프레임 및 상기 개별 프레임의 필드 간의 절대차의 합과 비교하는 것에 기반하는,
머신 판독가능 매체.
- 제57항에 있어서,
상기 프레임 그룹은 비월 프레임 및 텔레시네화 프레임을 포함하고, 상기 프레임 그룹 포맷을 판정하는 것은 적어도 하나의 비교 테스트를 평가하는 것을 포함하되, 상기 비교 테스트는 상기 프레임 그룹의 개별 프레임의 블록 간의 정적 임계화 차이의 합을 상기 프레임 그룹의 다른 프레임의 블록 간의 정적 임계화 차이의 합과 비교하는 것에 기반하는,
머신 판독가능 매체.
- 컴퓨팅 디바이스 상에서 실행되는 것에 응답하여 상기 컴퓨팅 디바이스로 하여금,
적어도 진성 비월 포맷 및 의사 비월 텔레시네 변환 포맷을 포함하는 복수의 비디오 포맷을 포함하는 혼합 콘텐트 비디오 스트림을 수신하는 것과,
상기 진성 비월 포맷을 가지는 상기 혼합 콘텐트 비디오 스트림의 제1 세그먼트를 위한 제1 변환 기법 및 텔레시네화 포맷을 가지는 상기 혼합 콘텐트 비디오 스트림의 제2 세그먼트를 위한 제2 변환 기법을 판정하는 것 - 상기 제1 및 제2 변환 기법은 상이함 - 과,
상기 제1 변환 기법 및 상기 제2 변환 기법에 적어도 부분적으로 기반하여 상기 혼합 콘텐트 비디오 스트림을 순차 비디오 스트림으로 변환하는 것에 의해
인코딩, 디스플레이 또는 인코딩 및 디스플레이를 위해 비디오를 처리하게 하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능 매체.
- 제68항에 있어서,
상기 제1 변환 기법을 판정하는 것은 상기 제1 세그먼트의 제1 프레임의 제1 프레임 포맷 및 상기 제1 세그먼트의 제1 프레임 그룹 포맷을 판정하는 것을 포함하는,
머신 판독가능 매체.
- 제69항에 있어서,
상기 제1 프레임 포맷을 판정하는 것은,
상기 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과,
상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과,
상기 비교 테스트에 기반하여 상기 제1 프레임 포맷을 판정하는 것을 포함하되,
상기 제1 프레임 포맷은 비월 프레임을 포함하는,
머신 판독가능 매체.
- 제69항에 있어서,
상기 제1 프레임 포맷을 판정하는 것은, 상기 제1 프레임의 콘텐트와 연관된 복수의 서술자를 판정하는 것과, 제1 스테이지에서, 상기 복수의 서술자에 기반하여 복수의 비교 테스트를 평가하는 것과, 상기 제1 스테이지에서, 상기 비교 테스트에 기반하여 상기 제1 프레임 포맷이 순차, 비월 또는 불명확인지를 판정하는 것과, 상기 제1 스테이지에서 상기 제1 프레임 포맷이 불명확한 경우, 머신 러닝 기반 비교 테스트를 포함하는 제2 스테이지를 평가하는 것과, 상기 제2 스테이지에서, 상기 머신 러닝 기반 비교 테스트에 기반하여 상기 제1 프레임이 비월임을 판정하는 것을 포함하는,
머신 판독가능 매체.
- 제68항에 있어서,
상기 제2 변환 기법을 판정하는 것은 상기 제2 세그먼트의 개별 텔레시네 패턴을 판정하는 것을 포함하고, 상기 혼합 콘텐트 비디오 스트림을 변환하는 것은 상기 개별 텔레시네 패턴을 반전하는 것을 포함하며, 상기 개별 텔레시네 패턴은 3:2 풀다운 패턴, 2:3:3:2 풀다운 패턴, 4:1 풀다운 패턴 또는 혼합 패턴 중 적어도 하나를 포함하는,
머신 판독가능 매체.
- 제68항에 있어서,
상기 제2 변환 기법을 판정하는 것은 상기 제2 세그먼트가 검출되지 않은 패턴을 가짐을 판정하는 것을 포함하고 상기 혼합 콘텐트 비디오 스트림을 변환하는 것은 상기 제2 세그먼트에 적응적 비월 반전기를 적용하는 것을 포함하는,
머신 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/501,736 | 2014-09-30 | ||
US14/501,736 US9386265B2 (en) | 2014-09-30 | 2014-09-30 | Content adaptive telecine and interlace reverser |
PCT/US2015/045610 WO2016053491A1 (en) | 2014-09-30 | 2015-08-18 | Content adaptive telecine and interlace reverser |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170039251A true KR20170039251A (ko) | 2017-04-10 |
KR102226563B1 KR102226563B1 (ko) | 2021-03-10 |
Family
ID=55585875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177005555A KR102226563B1 (ko) | 2014-09-30 | 2015-08-18 | 콘텐트 적응적 텔레시네 및 비월 반전기 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9386265B2 (ko) |
EP (1) | EP3202136A4 (ko) |
KR (1) | KR102226563B1 (ko) |
CN (1) | CN106797444B (ko) |
WO (1) | WO2016053491A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201407665D0 (en) * | 2014-05-01 | 2014-06-18 | Imagination Tech Ltd | Cadence analysis for a video signal having an interlaced format |
KR102365685B1 (ko) * | 2015-01-05 | 2022-02-21 | 삼성전자주식회사 | 인코더의 작동 방법과 상기 인코더를 포함하는 장치들 |
US9918041B1 (en) * | 2015-04-24 | 2018-03-13 | Synaptics Incorporated | Motion adaptive de-interlacing and advanced film mode detection |
CN106331706B (zh) * | 2016-05-03 | 2019-04-30 | 上海兆芯集成电路有限公司 | 基于曲线拟合的率失真优化方法以及使用该方法的装置 |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
US10341277B2 (en) * | 2017-05-25 | 2019-07-02 | Satori Worldwide, Llc | Providing video to subscribers of a messaging system |
US11234001B2 (en) | 2017-08-02 | 2022-01-25 | DISH Technologies L.L.C. | Systems and methods for enhanced video encoding |
CN111712881A (zh) * | 2017-12-06 | 2020-09-25 | 迈迪凯股份有限公司 | 可处理多种成像格式的成像系统和方法 |
US20190335192A1 (en) * | 2018-04-27 | 2019-10-31 | Neulion, Inc. | Systems and Methods for Learning Video Encoders |
US10666266B1 (en) * | 2018-12-06 | 2020-05-26 | Xilinx, Inc. | Configuration engine for a programmable circuit |
CN111294544B (zh) * | 2018-12-10 | 2023-08-08 | 深圳市中兴微电子技术有限公司 | 一种去隔行处理方法及装置、计算机可读存储介质 |
US11627278B2 (en) * | 2019-04-05 | 2023-04-11 | Project Giants, Llc | High dynamic range video format detection |
US11303847B2 (en) | 2019-07-17 | 2022-04-12 | Home Box Office, Inc. | Video frame pulldown based on frame analysis |
CN111723735B (zh) * | 2020-06-18 | 2020-12-08 | 四川大学 | 一种基于卷积神经网络的伪高码率hevc视频检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100225805A1 (en) * | 2003-01-10 | 2010-09-09 | Realnetworks, Inc. | Video processor and method for automated deinterlacing and inverse telecine |
US20100254453A1 (en) * | 2009-04-02 | 2010-10-07 | Qualcomm Incorporated | Inverse telecine techniques |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115311A (en) * | 1989-11-14 | 1992-05-19 | Shell Oil Company | High resolution translation of images |
JPH0918782A (ja) * | 1995-06-29 | 1997-01-17 | Sony Corp | 映像信号処理方法及び装置 |
KR100744144B1 (ko) | 2006-08-03 | 2007-08-01 | 삼성전자주식회사 | 압축된 비트스트림 상에서 텔레시네 프레임을 검출하는장치 및 방법 |
US8665946B2 (en) * | 2007-10-12 | 2014-03-04 | Mediatek Inc. | Macroblock pair coding for systems that support progressive and interlaced data |
US20090161766A1 (en) | 2007-12-21 | 2009-06-25 | Novafora, Inc. | System and Method for Processing Video Content Having Redundant Pixel Values |
US8374240B1 (en) | 2008-07-10 | 2013-02-12 | Marvell International Ltd. | Image frame management |
CN101621652A (zh) * | 2009-07-21 | 2010-01-06 | 上海华平信息技术股份有限公司 | 在图像传输系统中高质量传输隔行图像并转逐行的方法 |
-
2014
- 2014-09-30 US US14/501,736 patent/US9386265B2/en active Active
-
2015
- 2015-08-18 KR KR1020177005555A patent/KR102226563B1/ko active IP Right Grant
- 2015-08-18 EP EP15847392.6A patent/EP3202136A4/en not_active Withdrawn
- 2015-08-18 WO PCT/US2015/045610 patent/WO2016053491A1/en active Application Filing
- 2015-08-18 CN CN201580046783.XA patent/CN106797444B/zh active Active
-
2016
- 2016-03-17 US US15/072,773 patent/US9521358B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100225805A1 (en) * | 2003-01-10 | 2010-09-09 | Realnetworks, Inc. | Video processor and method for automated deinterlacing and inverse telecine |
US20100254453A1 (en) * | 2009-04-02 | 2010-10-07 | Qualcomm Incorporated | Inverse telecine techniques |
Also Published As
Publication number | Publication date |
---|---|
US9386265B2 (en) | 2016-07-05 |
US20160094803A1 (en) | 2016-03-31 |
EP3202136A4 (en) | 2018-09-19 |
WO2016053491A1 (en) | 2016-04-07 |
US20160205343A1 (en) | 2016-07-14 |
EP3202136A1 (en) | 2017-08-09 |
CN106797444A (zh) | 2017-05-31 |
US9521358B2 (en) | 2016-12-13 |
CN106797444B (zh) | 2019-10-25 |
KR102226563B1 (ko) | 2021-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102226563B1 (ko) | 콘텐트 적응적 텔레시네 및 비월 반전기 | |
US10448014B2 (en) | Content adaptive motion compensated temporal filtering for denoising of noisy video for efficient coding | |
US8289444B2 (en) | System and method for reducing visible halo in digital video with covering and uncovering detection | |
US10674151B2 (en) | Adaptive in-loop filtering for video coding | |
US10375407B2 (en) | Adaptive thresholding for computer vision on low bitrate compressed video streams | |
US8494058B2 (en) | Video/image processing apparatus with motion estimation sharing, and related method and machine readable medium | |
US7587091B2 (en) | De-interlacing using decoder parameters | |
EP3771210A1 (en) | Content and quantization adaptive coding structure decisions for video coding | |
CN114650427A (zh) | 将视频编码过程负载转移到硬件以获得更好密度质量折衷 | |
CN112565761A (zh) | 利用交叉通道引用进行多通道视频编码的方法和系统 | |
CN107736026B (zh) | 样本自适应偏移编码 | |
US20150288979A1 (en) | Video frame reconstruction | |
WO2015160485A1 (en) | Fallback detection in motion estimation | |
US8767831B2 (en) | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream | |
EP1418754B1 (en) | Progressive conversion of interlaced video based on coded bitstream analysis | |
US20190045182A1 (en) | Decoupled prediction and coding structure for video encoding | |
US7215375B2 (en) | Method for line average differences based de-interlacing | |
US9942552B2 (en) | Low bitrate video coding | |
US7593063B1 (en) | Method of detecting a format type of an incoming video signal and source format detector thereof | |
JP2004104171A (ja) | 映像方式変換方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |