CN106797444B - 用于处理视频以便进行编码和/或显示的方法、装置和系统 - Google Patents

用于处理视频以便进行编码和/或显示的方法、装置和系统 Download PDF

Info

Publication number
CN106797444B
CN106797444B CN201580046783.XA CN201580046783A CN106797444B CN 106797444 B CN106797444 B CN 106797444B CN 201580046783 A CN201580046783 A CN 201580046783A CN 106797444 B CN106797444 B CN 106797444B
Authority
CN
China
Prior art keywords
frame
format
video
frame group
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580046783.XA
Other languages
English (en)
Other versions
CN106797444A (zh
Inventor
S·波索斯
A·普利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN106797444A publication Critical patent/CN106797444A/zh
Application granted granted Critical
Publication of CN106797444B publication Critical patent/CN106797444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0147Conversion 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
    • H04N7/0115Conversion 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • H04N7/012Conversion between an interlaced and a progressive signal

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

用于处理视频以便进行编码和/或显示的方法、装置和系统
优先权要求
该申请要求2014年9月30日提交的题为“CONTENT ADAPTIVE TELECINE ANDINTERLACE REVERSER”的美国专利申请序列号No.14/501,736的优先权,其通过引用整体被合并。
背景技术
视频编码器压缩视频信号,使得可以通过给定的可用传输带宽来发送更多信息,或者得到小得多的压缩文件以便进行存储。替代地,对于相同的给定可用带宽或文件大小,改进的视频编码器可以选择提供甚至更高压缩或者甚至更好的质量。所发送的压缩视频信号或所存储的压缩文件可以输入到视频接收机/解码器,以用于显示器的解码和回放。例如,高效率视频编码(HEVC)/H.265视频编码标准是当前技术标准,与较早标准相比,其对于相同质量要求低得多的带宽或生成小得多的压缩文件大小,同时提供高视频压缩/质量。HEVC因此是用于取代较早标准的有效候选。然而,HEVC仅关注于逐行扫描视频的压缩和解压。例如,与每个帧由从两个随后时间间隔捕获或显示的一对场组成的隔行视频相比,在逐行扫描视频中,在一个时间时刻捕获并且显示完全每个帧。因此,隔行扫描视频在每个帧由相机所捕获的两个场组成的情况下或当目的是显示时使得可以捕获的运动的量或可以显示的运动时间速率近乎加倍(允许平滑的运动重现),如在此进一步讨论的那样。
理想地,即使可以通过按两倍帧速率捕获逐行格式视频来获得更好的重现运动,从而胜过隔行格式的运动重现能力,然而,这也导致带宽过度增加。因此,隔行格式可以提供更平衡的运动重现能力/带宽增加折衷。然而,在视频场景中的对象运动较慢的情况下,隔行视频格式也会使视觉降级增加,尤其是在包括文本的情况的具有尖锐边沿的对象上。归因于这种视觉降级,已经从隔行格式发展到逐行格式。此外,归因于潜在的较低视觉失真的感知,作为实际上的用于显示的格式,显示技术也已经朝向显示逐行视频格式演进。因此,近来的编码标准(例如HEVC)仅关注于逐行格式视频的编码(虽然HEVC 包括用于信号传送隔行格式视频的比特,但其不支持用于隔行格式压缩的附加工具),期待输入到HEVC编码器的逐行格式的视频以及 HEVC解码器的输出视频是逐行格式,以用于经由逐行格式显示器的呈现。
用于压缩的至合适格式的典型转换可能是困难的,并且可能提供各种不期望的转换赝像。因此,现有技术并未提供源视频对适合于使用现有技术视频编解码器的压缩的格式的高质量转换。由于对经由数字标准清晰度、高清晰度和超高清晰度传送高质量消费者等级视频的期望变得更普遍,因此这些问题变得关键。
附图说明
在附图中通过示例的方式而非通过限制的方式示出在此所描述的材料。为了说明的简明性和清楚性,附图所示的要素不一定按比例绘制。例如,为了清楚,一些要素的尺寸可以相对于其它要素夸大。此外,在考虑得适当的情况下,标号已经在附图之间重复,以指示对应或类似要素。在附图中:
图1是示出隔行视频的示例帧和场的示图;
图2是示出隔行视频的示例帧的示例扫描行的示图;
图3A是示出示例3:2下拉影视化处理的示图;
图3B是示出3:2下拉影视化处理的反转的示例处理的示图;
图4A是示出示例2:3:3:2下拉影视化处理的示图;
图4B是示出2:3:3:2下拉影视化处理的反转的示例处理的示图;
图27A是示出示例4:1下拉影视化处理的示图;
图27B是示出4:1下拉影视化处理的反转的示例处理的示图;
图28A是示出示例4:1下拉影视化处理的示图;
图28B是示出4:1下拉影视化处理的反转的示例处理的示图;
图5A是示出用于对隔行视频进行解隔行的示例处理的示图;
图5B是示出用于对隔行视频进行解隔行的示例处理的示图;
图6是示出用于对隔行视频进行解隔行的示例处理的流程图;
图7是示出用于对隔行视频进行解隔行的示例自适应处理的流程图;
图8是示出示例视频节目聚合系统的示图;
图9是示出示例视频节目聚合系统的示图;
图10是示出示例视频节目重新封装系统的示图;
图11A示出示例格式类型分析器、节目分离器和格式逆转器系统;
图11B示出示例格式类型分析器、节目分离器和格式逆转器系统;
图12示出示例格式类型分析器、节目分离器和格式逆转器系统;
图13是示出用于对帧进行分类的示例处理的流程图;
图14是关于示例帧的示例动态纹理针对场对SAD的图线;
图15是示出用于对帧进行分类的示例处理的流程图;
图16是示出用于生成动态阈值的示例处理的流程图;
图25是示出用于将帧分类为隔行或逐行的示例处理的流程图;
图17A和图17B示出提供用于将帧分类为隔行、逐行或不能断定的示例处理的流程图;
图26是示出用于将帧分类为隔行、逐行或不能断定的示例处理的流程图;
图18是示出用于将帧分类为隔行或逐行的示例处理的流程图;
图19A和图19B示出提供用于对帧组进行分类的示例处理的流程图;
图20示出在解影视化处理之前以及之后的示例帧;
图21示出在解影视化处理之前以及之后的示例帧;
图22示出在解影视化处理之前以及之后的示例帧;
图23是示出用于影视化反转的示例处理2300的流程图;
图24是示出示例自适应隔行反转器的流程图;
图29是示出用于处理视频以用于编码和/或显示的示例处理的流程图;
图30示出用于视频处理的示例系统的示图;
图31是示例系统的说明性示图;以及
图32示出全部根据本公开的至少一些实现方式所布置的示例设备。
具体实施方式
现参照附图描述一个或多个实施例。虽然讨论特定配置和布置,但应理解,仅为了说明的目的而进行该操作。本领域技术人员应理解,在不脱离说明书的精神和范围的情况下,可以采用其它配置和布置。本领域技术人员应理解,也可以在除了在此所描述的之外的各种其它系统和应用中采用在此所描述的技术和/或布置。
虽然以下描述阐述可以例如在架构(例如片上系统(SoC)架构) 中显现的各个实现方式,但在此所描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以通过用于相似目的的任何架构和/或计算系统得以实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算设备和/或消费者电子(CE)设备(例如机顶盒、智能电话等)可以实现在此所描述的技术和/或布置。此外,虽然以下描述可以阐述大量具体细节(例如系统组件的逻辑实现方式、类型和相互关系、逻辑分区/集成选取等),但可以在没有这些具体细节的情况下实践所要求的主题内容。在其它实例中,为了不模糊在此所公开的材料,可以并不详细地示出一些材料(例如控制结构和完整软件指令序列)。
可以在硬件、固件、软件或其任何组合中实现在此所公开的材料。在此所公开的材料也可以实现为可以由一个或多个处理器读取并且执行的机器可读介质上所存储的指令。计算机可读介质可以包括用于存储或发送机器可读的形式的信息的任何介质和/或机构(例如计算设备)。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质;光存储介质;闪存设备;电、光、声学或其它形式的传输信号(例如载波、红外信号、数字信号等) 以及其它介质。
说明书中对“一个实现方式”、“实现方式”、“示例实现方式”等的引用指示所描述的实现方式可以包括特定特征、结构或特性,但每一实施例可以不一定包括特定特征、结构或特性。此外,这些短语不一定指代同一实现方式。此外,当结合实施例描述特定特征、结构或特性时,认为其处于本领域技术人员的知识内,以结合其它实现方式作用于该特征、结构或特征,而无论是否在此明确地描述。
方法、设备、装置、计算平台以及物品在此描述为与视频编码有关,并且具体地说,讨论将内容预处理为对于高效压缩和最终显示合适的格式。
如所讨论的那样,在逐行视频的情况下,可以最佳地利用当前编解码器和显示器。然而,一些视频内容可能是通过包括逐行、真实隔行以及所转换的伪隔行影视化的格式的混合体提供的。例如,可以经由提供隔行内容的相机生成真实隔行视频,而可以经由影视化转换生成所转换的伪隔行影视化,如在此所讨论的那样。在此所讨论的技术可以自动地分析视频(例如混合内容视频流),以确定视频的部分或分段的格式。取决于所确定的格式,部分或分段可以转换为逐行视频。如所讨论的那样,该格式可以适合于使用当前技术的压缩和/或显示。例如,所检测的逐行视频可以在没有进一步处理的情况下经过,所检测的隔行视频(例如真实隔行视频)可以经由内容自适应技术解隔行,并且伪隔行影视化转换后的视频可以如果影视化模式得以确定则影视化反转或如果未检测到模式则解隔行。
于在此所讨论的一些实施例中,可以确定用于包括一个或多个视频格式的混合内容视频流的帧的帧格式。如在此所讨论的那样,帧格式可以是逐行还是隔行的,并且可以使用单阶段曲线拟合方法或双阶段方法得以确定,双阶段方法使用曲线拟合第一阶段以及包括用于经由第一阶段不能确定格式的帧的机器学习技术的第二阶段。此外,可以确定用于包括帧的混合内容视频流的帧组的帧组格式。例如,帧组格式可以是完全逐行、完全隔行、影视化模式或未知模式之一。至少部分地基于帧组格式,可以确定用于帧组的转换技术,并且帧组可以基于所确定的转换技术而转换为最终逐行格式。例如,如果帧组格式是完全逐行的,则帧可以在没有进一步处理的情况下经过。此外,如果帧组格式是完全隔行的,则帧可以解隔行,以生成逐行帧。在一些示例中,解隔行可以包括内容自适应解隔行(例如运动自适应解隔行),如在此进一步讨论的那样。此外,如果帧组格式是影视化的,并且检测到影视化模式,则帧可以基于所检测的模式而解影视化(例如影视化反转),以提供逐行帧。在此进一步讨论用于检测示例影视化模式的示例技术。又进一步地,如果帧组格式是未知的,则帧可以解隔行,以生成逐行帧。在一些示例中,解隔行可以包括内容自适应解隔行(例如运动自适应解隔行),如关于真实隔行帧的解隔行所描述的那样。
于在此所讨论的其它实施例中,可以接收具有至少包括真实隔行格式和伪隔行影视化转换后的格式的多个视频格式的混合内容视频流。可以确定用于具有真实隔行格式的混合内容视频流的第一分段的第一转换技术以及用于具有影视化格式的混合内容视频流的第二分段的第二转换技术,使得第一转换技术和第二转换技术是不同的。例如,第一转换技术可以包括内容自适应解隔行技术,并且第二转换技术可以包括自适应影视化反转技术,如在此所讨论的那样。可以至少部分地基于第一转换技术和第二转换技术而将混合内容视频流转换为逐行视频流,如在此所讨论的那样。
在这些实施例中,可以提供高质量并且相对无视觉赝像的逐行视频。该逐行视频可以适合于(例如经由逐行视频是有利的显示器(例如计算机监视器和HDTV))对用户显示,或(例如经由逐行视频是有利的编解码器(例如HEVC、H.264、VP9、MPEG-2等))压缩以用于内容分发。
如所讨论的那样,在此所讨论的实施例可以经由内容自适应解隔行或其它技术将真实隔行视频转换为逐行视频。此外,在此所讨论的实施例可以经由自适应影视化反转或其它技术将伪隔行影视化转换后的视频转换为逐行视频。
隔行视频格式设计用于电视产业,并且当前,隔行视频主要用在电视中。隔行视频格式在空间分辨率与时间分辨率之间进行在严格带宽约束下最合适的折衷。例如,并非一次捕获或显示整个帧,隔行视频在当前时间实例捕获或显示帧的扫描行的一半(例如每隔另一扫描行)(称为场),并且接着在下一时间实例捕获或显示形成另一场的帧的扫描行的丢失的另一半。例如,顶部场和底部场一起构成隔行视频的帧。在帧中,顶部场可以包括(从0开始的)偶数行,底部场可以包括奇数行。对于北美TV,隔行视频可以认为具有30fps(29.97fps 是精确的)的帧速率以及60fps的场速率(59.94是精确的)。
图1是示出根据本公开的至少一些实现方式所布置的隔行视频 100的示例帧和场的示图。如图1所示,视频100的帧101可以包括场102、103。例如,场102可以是帧101的顶部场,场103可以是帧 101的底部场,使得场102的扫描行与场103的扫描行交替,以形成帧101。如所示,帧101可以与帧编号0(例如frm_num 0)关联,场 102可以与场编号0(例如fld_num)关联,场103可以与场编号1关联。图1还示出:帧编号1,包括场编号2(例如帧编号1的顶部场) 以及场编号3(例如帧编号1的底部场);以及帧编号2,包括场编号 4(例如帧编号2的顶部场)以及场编号5(例如帧编号2的底部场)。因此,视频100的场速率可以是视频100的帧速率的两倍(例如,视频100可以具有30帧每秒的帧速率和60场每秒的场速率)。
图2是示出根据本公开的至少一些实现方式所布置的隔行视频的示例帧101的示例扫描行的示图。如图2所示,帧101可以包括顶部场扫描行201和底部场扫描行202。例如,场102可以包括顶部场扫描行201,场103可以包括底部场扫描行202。如所示,顶部场扫描行201和底部场扫描行202可以交替,以定义帧101。也如所示,在示例中,顶部场扫描行201中的每一个可以在底部场扫描行202中的每一个之上。
在隔行格式的情况下,与30帧每秒逐行视频作为60场每秒的场速率显现相比,具有快速运动的视频场景在回放中显现得更平滑,以在达2的因子的分辨率的垂直/空间减少对于用户难以察觉的同时给出更平滑的时间运动的感知。类似地,在隔行格式的情况下,尽管场在时间上是分离的,没有(或具有非常小的)运动的视频场景也显现为保持场景中的细节的完全空间分辨率,与逐行视频格式下的场景的显现非常相似。
然而,对于中等变化程度的运动,空间细节和时间细节的折衷可能导致关键内容(例如包括文本、细节纹理以及关键取向的边沿的内容)的不期望的呈现方式。例如,按60帧每秒的完全时间速率的完全空间分辨率的逐行视频将既在空间上又在时间上提供高质量。然而,该选项在带宽方面也比30帧每秒视频更昂贵。替代地,在逐行30帧每秒的视频格式的情况下,带宽可以减少,但代价是更低的视频质量,包括例如关于快速移动内容的运动的急动。尽管具有一些关键内容上的视觉失真,隔行30帧每秒(例如60场每秒)视频因此提供带宽约束与运动的平滑性之间的折衷。
与可以使用隔行或者(日益地)逐行格式视频的标准TV或高清晰度TV不同,仅逐行格式视频适合于个人计算机(PC),因为PC的监视器/显示器是以高刷新率专门逐行的。因此,为TV产生为隔行的视频可能需要转换为逐行格式,以用于显示在PC或相似设备上。此外,很多较高质量显示器(包括TV显示器)实际上是逐行的(例如,它们可以被提供隔行视频,但可以将该隔行视频作为逐行的显示给用户),使得典型地,用于显示的最终目标格式是日益逐行的。此外,这不仅是显示的问题,而且同样是用于压缩(例如编码)的格式的问题。例如,虽然较早视频编码标准(例如MPEG-2或H.264/AVC)被设计为高效地对逐行格式视频和隔行格式视频二者进行编码,但最新的H.265/MPEG HEVC和提供最高压缩效率的其它近来标准被设计为高效地对逐行视频进行编码(虽然一些编解码器可以支持这两种格式)。
此外,在北美,用于标准清晰度的隔行格式内容对应于480行,高清晰度对应于1080行(例如分别480i和1080i)。然而,逐行格式内容可用在更广范围的格式中,包括例如标准清晰度:480行(例如 480p)、基本高清晰度:720行(例如720p)、完全高清晰度:1080 行(例如1080p)以及超高清晰度:3840行(例如3840p(4K))。
例如,如果显示格式是逐行的(其如所讨论的那样正日益变为标准),则可以存在用于对隔行格式的视频源进行编码的两条路径。首先,隔行格式视频可以在编码之前转换为逐行格式,使得以逐行格式执行编码,后接产生逐行格式视频的解码,后接该逐行格式视频的直接显示。其次,隔行格式视频可以直接编码为隔行视频,后接产生隔行格式视频的解码,后接隔行到逐行格式转换,其呈现显示所需的逐行视频。在任一情况下,需要隔行到逐行转换的处理(例如,在前一情况下,在进行编码之前,以及在后一情况下,在进行解码之后)。隔行到逐行转换的处理称为隔行反转或解隔行。
可以使用各种技术来执行隔行反转/解隔行。例如,高质量解隔行在传统上是在昂贵的硬件中执行的,但现在可以在适度定价的软件中或使用开源软件解决方案得以执行。此外,如所期待的那样,用于解隔行的解决方案在质量(例如赝像)、复杂度以及处理速度方面极大地变化,这与解隔行算法的复杂度、视频分辨率以及是实现硬件解决方案还是软件解决方案有关。
如所讨论的那样,在一些示例中,可以经由内容自适应解隔行或其它技术将真实隔行视频转换为逐行视频。此外,在此所讨论的实施例可以经由自适应影视化反转或其它技术将伪隔行影视化转换后的视频转换为逐行视频。
影视化(在一些示例中称为下拉(例如3:2下拉等))是用于将影片帧转换为适合于例如电视上显示的视频格式(例如隔行)的处理。在一些示例中,影片可以被记录以用于按24帧每秒显示,而电视(例如国家电视系统委员会(NTSC)视频)按29.97帧每秒(或59.94场每秒)操作。归因于典型TV观看条件具有较高的周围光量而影片典型地是在较暗的电影院环境中观看的差异,NTSC电视可以按比影片更高的帧速率操作。
关于执行影视化技术以便在TV上呈现影片视频的主要原因可以是,在更多光照的观看条件下,为了在视频场景中感知平滑运动,需要较高帧速率进行回放。因此,为了在TV上平滑地回放影片内容,采用人工地增加影片的场速率(并且因此帧速率)的影视化或3:2下拉处理。这些技术可以包括:将冗余场插入视频流等中。
如所讨论的那样,视频的隔行帧可以包括视频的两个场。在一些示例中,影视化或3:2下拉处理可以包括:在每第二帧之后插入第三额外视频场,以将帧速率从24帧每秒转换为30(例如,技术上, 29.97)帧每秒。在一些示例中,所插入的场是现有视频场之一。在其它示例中,所插入的场可以是作为实际相邻场等的平均值所生成的合成场。这些示例可以提供具有更少视觉赝像的所得视频的优点,代价是产生呈现平滑运动所需的更高帧速率。
图3A是示出根据本公开的至少一些实现方式所布置的示例3:2下拉影视化反转处理300的示图。如图3A所示,处理300可以包括:接收具有帧302(例如帧A、B、C和D)的原始逐行视频301。在所示示例中,逐行视频301具有24帧每秒的帧速率,然而,逐行视频301 可以具有任何合适的帧速率。如所示,处理300可以包括:将每一个帧302划分为两个场,以生成隔行视频304的场303。例如,帧A可以划分为顶部场a0和底部场a1,帧B可以划分为顶部场b0和底部场 b1,帧C可以划分为顶部场c0和底部场c1,帧D可以划分为顶部场 d0和底部场d1,依此类推。例如,每一个帧302虽然是逐行的但可以看作包括两个场,如在隔行帧的情况下那样。例如,帧的偶数编号行可以表示一个场(例如顶部场),并且帧的奇数编号行可以表示第二场(例如底部场)。如所示,隔行视频304的帧速率可以与逐行视频 301的帧速率相同,但隔行视频304的场速率可以是逐行视频301的帧速率的两倍。
如所示,处理300可以包括:通过插入特定场的拷贝(或平均值等)而每4个逐行帧生成5个隔行帧,以生成包括场306的影视化转换后的隔行视频305。例如,该处理可以将帧速率从24帧每秒增加到 30帧每秒(例如,技术上,29.97帧每秒)。例如,2个新的场可以从隔行视频304进行拷贝,并且插入到影视化转换后的隔行视频305中 (例如,由此将模式从8个场(4个帧)延展为10个场(5个帧))。
例如,为了将隔行视频304转换为影视化转换后的隔行视频305,可以拷贝场a0、a1,可以拷贝场b0、b1,可以在所拷贝的场b1之后插入新的(例如所拷贝的)场b0,可以交换场c1、c0,可以在场c0 之后插入新的(例如所拷贝的)场d1,可以拷贝场d0、d1,如所示。在所示示例中,场b0和d1的拷贝插入到影视化转换后的隔行视频305 中。此外,交换场c1和c0。这种交换对于在顶部场与底部场(例如 x0、x1、y0、y1等)之间保持场的交替顺序可能是必要的。
例如,如所示,对应于帧B,通过在场对b0和b1之后插入附加场(b0的拷贝)来生成三个场,而非两个。类似地,对应于帧D,通过在场对d0和d1之前插入附加场(场d1的拷贝)来生成三个场,而非两个。该处理可以对于每组4个帧进行重复,以对于每组4个帧生成一组5个帧,因此将帧速率从24帧每秒增加到30帧每秒(例如,可以每1001个帧丢弃其中的1个帧,以生成所需的(30/1001)x1000= 29.97帧每秒(或59.94场每秒)的帧速率,以用于北美TV系统)。
图3B是示出根据本公开的至少一些实现方式所布置的3:2下拉影视化处理的反转的示例处理310的示图。处理310可以包括:检测影视化转换后的隔行视频305的5帧模式,移除所插入的额外场(例如,解除影视化处理)并且每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所表示的)所插入的场。例如,可以从影视化转换后的隔行视频305丢弃X 所表示的2个场(例如场b0和d1)。此外,可以交换先前所交换的场 (例如场c1、c0)。例如,可以对每一组5个影视化帧执行这种场丢弃和交换,以生成包括场312的隔行视频311。如所示,隔行视频311 可以交替顶部场和底部场,如在此所讨论的那样。此外,如所示,处理310可以包括:组合场312以形成逐行视频314的帧313。例如,关联场a0、a1可以组合以形成帧A,关联场b0、b1可以组合以形成帧 B,关联场c0、c1可以组合以形成帧C,关联场d0、d1可以组合以形成帧D,依此类推。
例如,影视化反转的处理310包括:接收影视化转换后的隔行视频305(例如影视化视频场),在每5帧周期检测以及删除两个冗余场并且根据需要交换场之后提供视频场(例如隔行视频311),以及组合场对以形成帧(例如逐行视频314的帧313)。处理310当应用于经由 3:2下拉所生成的影视化影片内容时可以是完全可反转的,从每一组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可以包括:将每一个帧402划分为两个场,以生成隔行视频404的场403。例如,帧 A可以划分为顶部场a0和底部场a1,帧B可以划分为顶部场b0和底部场b1,帧C可以划分为顶部场c0和底部场c1,帧D可以划分为顶部场d0和底部场d1,依此类推。例如,每一个帧402虽然是逐行的但可以看作包括两个场,如在隔行帧的情况下那样。例如,帧的偶数编号行可以表示一个场(例如顶部场),并且帧的奇数编号行可以表示第二场(例如底部场)。如所示,隔行视频404的帧速率可以与逐行视频401的帧速率相同,但隔行视频404的场速率可以是逐行视频401 的帧速率的两倍。
如所示,处理400可以包括:通过插入特定场的拷贝(或平均值等)每4个逐行帧生成5个隔行帧,以生成包括场406的影视化转换后的隔行视频405。例如,该处理可以将帧速率从24帧每秒增加到30 帧每秒(例如,技术上,29.97帧每秒)。例如,2个新的场可以从隔行视频404进行拷贝,并且插入到影视化转换后的隔行视频405中(例如,由此将模式从8个场(4个帧)延展为10个场(5个帧))。
例如,为了将隔行视频404转换为影视化转换后的隔行视频405,可以拷贝场a0、a1,可以拷贝场b0、b1,可以在所拷贝的场b1之后插入新的(例如所拷贝的)场b0,可以在所插入的场b0之后插入新的 (例如所拷贝的)场c1,可以拷贝场c0、c1,并且可以拷贝场d0、d1,如所示。在所示示例中,场b0和c1的拷贝插入到影视化转换后的隔行视频405中。这些所插入的场的位置可以在顶部场与底部场(例如x0、x1、y0、y1等)之间保持场的交替顺序。
例如,处理400可以开始于具有帧A、B、C和D的按24帧每秒的影片内容。该组4个帧可以使用2:3:3:2下拉模式影视化为一组5个帧,如所示。如所讨论的那样,为了生成2:3:3:2下拉模式,可以按原样拷贝第一场对a0、a1,后接从场对b0、b1生成/插入3个场b0、 b1、b0(例如,如在3:2下拉的情况下那样),后接从场对c0、c1生成/插入场3个场c1、c0、c1,后接按原样拷贝最终场对d0、d1,以生成影视化转换后的隔行视频405。例如,影视化转换后的隔行视频405 可以是输出视频流。
图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所表示的)所插入的场。例如,可以从影视化转换后的隔行视频405丢弃X 所表示的2个场(例如场b0和c1)。例如,可以对每一组5个影视化帧执行这种场丢弃,以生成包括场412的隔行视频411。如所示,隔行视频411可以交替顶部场和底部场,如在此所讨论的那样。此外,如所示,处理410可以包括:将场412进行组合以形成逐行视频414的帧413。例如,关联场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模式)更多的剧变。
图27A是示出根据本公开的至少一些实现方式所布置的示例4:1 下拉影视化处理2700的示图。如图27A所示,处理2700可以包括:接收具有帧2702(例如帧A、B、C和D)的原始逐行视频2701。在所示示例中,逐行视频2701具有24帧每秒的帧速率,然而,逐行视频2701可以具有任何合适的帧速率。如所示,处理2700可以包括:将每一个帧2702划分为两个场,以生成隔行视频2704的场2703。例如,帧A可以划分为顶部场a0和底部场a1,帧B可以划分为顶部场 b0和底部场b1,帧C可以划分为顶部场c0和底部场c1,帧D可以划分为顶部场d0和底部场d1,依此类推。例如,每一个帧2702虽然是逐行的但可以看作包括两个场,如在隔行帧的情况下那样。例如,帧的偶数编号行可以表示一个场(例如顶部场),并且帧的奇数编号行可以表示第二场(例如底部场)。如所示,隔行视频2704的帧速率可以与逐行视频2701的帧速率相同,但隔行视频2704的场速率可以是逐行视频2701的帧速率的两倍。
如所示,处理2700可以包括:通过插入特定场的拷贝(或平均值等)每4个逐行帧生成5个隔行帧,以生成包括场2706的影视化转换后的隔行视频2705。例如,该处理可以将帧速率从24帧每秒增加到 30帧每秒(例如,技术上,29.97帧每秒)。例如,2个新的场可以从隔行视频2704进行拷贝,并且插入到影视化转换后的隔行视频2705 中(例如,由此将模式从8个场(4个帧)延展为10个场(5个帧))。
例如,为了将隔行视频2704转换为影视化转换后的隔行视频 2705,可以拷贝场a0、a1,可以拷贝场b0、b1,可以拷贝场c0、c1,可以在所拷贝的场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所表示的)所插入的场。例如,可以从影视化转换后的隔行视频2705丢弃X所表示的2个场(例如场d0和d1)。例如,可以对每一组5个影视化帧执行这种场丢弃,以生成包括场2712的隔行视频2711。如所示,隔行视频2711可以交替顶部场和底部场,如在此所讨论的那样。此外,如所示,处理2710可以包括:将场2712进行组合以形成逐行视频2714的帧2713。例如,关联场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:1下拉(例如4:1a下拉)生成的影视化影片内容时可以是完全可反转的,从每一组5个影视化帧生成4个帧,从影视化30(例如,具体地说,29.97)帧每秒产生24帧每秒的总体影片帧速率。
图28A是示出根据本公开的至少一些实现方式所布置的示例4:1 下拉影视化处理2800的示图。如图28A所示,处理2800可以包括:接收具有帧2702(例如帧A、B、C和D)的原始逐行视频2801。在所示示例中,逐行视频2801具有24帧每秒的帧速率,然而,逐行视频2801可以具有任何合适的帧速率。如所示,处理2800可以包括:将每一个帧2802划分为两个场,以生成隔行视频2804的场2803。例如,帧A可以划分为顶部场a0和底部场a1,帧B可以划分为顶部场 b0和底部场b1,帧C可以划分为顶部场c0和底部场c1,帧D可以划分为顶部场d0和底部场d1,依此类推。例如,每一个帧2802虽然是逐行的但可以看作包括两个场,如在隔行帧的情况下那样。例如,帧的偶数编号行可以表示一个场(例如顶部场),并且帧的奇数编号行可以表示第二场(例如底部场)。如所示,隔行视频2804的帧速率可以与逐行视频2801的帧速率相同,但隔行视频2804的场速率可以是逐行视频2801的帧速率的两倍。
如所示,处理2800可以包括:通过插入特定场的拷贝(或平均值等)每4个逐行帧生成5个隔行帧,以生成包括场2806的影视化转换后的隔行视频2805。例如,该处理可以将帧速率从24帧每秒增加到 30帧每秒(例如,技术上,29.97帧每秒)。例如,2个新的场可以从隔行视频2804进行拷贝,并且插入到影视化转换后的隔行视频2805 中(例如,由此将模式从8个场(4个帧)延展为10个场(5个帧))。
例如,为了将隔行视频2804转换为影视化转换后的隔行视频 2805,可以拷贝场a0、a1,可以在所拷贝的场a1之后插入新的(例如所拷贝的和所插入的)场a0,可以交换场b1和b0,可以交换场c1和 c0,可以交换场d0和d1,并且在场d0之后可以插入新的(例如所拷贝的和插入的)场e1,如所示。在所示示例中,场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所表示的)所插入的场。例如,可以从影视化转换后的隔行视频2805丢弃X所表示的2个场(例如场a0和e1)。例如,可以对每一组5个影视化帧执行这种场丢弃,以生成包括场2812的隔行视频2811。此外,处理2810可以包括:交换场以形成隔行视频2811。例如,可以交换场 b1和b0,可以交换场c1和c0,并且可以交换场d1和d0。如所示,隔行视频2811可以交替顶部场和底部场,如在此所讨论的那样。此外,如所示,处理2810可以包括:将场2812进行组合以形成逐行视频2814的帧2813。例如,关联场a0、a1可以组合以形成帧A,关联场b0、b1可以组合以形成帧B,关联场c0、c1可以组合以形成帧C,关联场d0、d1可以组合以形成帧D,依此类推。
例如,影视化反转的处理2810包括:接收影视化转换后的隔行视频2805(例如影视化视频场),在每5帧周期检测以及删除两个冗余场之后提供视频场(例如隔行视频2811),以及组合场对以形成帧(例如逐行视频2814的帧2813)。例如,用于4:1b下拉模式的反转的处理可以包括:删除冗余第二a0场和第一e1场,并且奇偶反转场对(例如(b1,b0)、(c1,c0)和(d1,d0)),以提供24帧每秒视频。处理2810当应用于经由4:1下拉(例如4:1b下拉)生成的影视化影片内容时可以是完全可反转的,从每一组5个影视化帧生成4个帧,从影视化30(例如,具体地说,29.97)帧每秒产生24帧每秒的总体影片帧速率。
如所讨论的那样,除了在此所讨论的3:2模式、2:3:3:2模式以及 4:1模式(例如模式4:1a和4:1b)之外,可以存在可以用于影视化转换的很多其它影视化模式。在一些示例中,用于内容的影视化模式可能并非已知的(例如与内容关联),因为影视化转换可以是内容创建的部分,并且该转换可以并不对内容的用户以信号通知或文档化。
此外,如所讨论的那样,在一些示例中,影视化转换技术可以使用合成场而非实际(例如所拷贝的)场进行场插入。例如,可以通过相邻实际场的相等平均或距离加权平均来生成合成场。例如,这些合成场可以用在卡通或动画内容中。在这些示例中,对于一般在6帧每秒与12帧每秒之间的非常低的输入帧速率可用的卡通或动画内容,可能需要微差。在这些示例中,并非重复场或帧,而是可以实现帧或场的平均,以直接生成30帧每秒(或60场每秒)视频,或者首先生成 24帧每秒视频然后通过影视化转换为30帧每秒(60场每秒)视频。在一些示例中,影视化转换技术可以使用关于特定场的场重复和用于生成用于影视化转换的其它场的场合成的组合。在这些示例中,合成场可能非常难以或不可能反转。
虽然在一些示例中,下拉模式检测可能不是困难的,但在其它示例中,存在影视化模式检测可能是困难的若干原因。这种检测的难度可能进而使得影视化反转困难和/或不精确。首先,在低细节化或低对比度场景中,检测可能是困难的,因为可能难以唯一地找到5帧模式的开始。其次,编辑视频场景(例如,缩短节目长度,插入广告,延展时间以填充时间长度)可能导致有偏的或破坏的影视化模式(例如破坏的3:2模式或破坏的2:3:3:2模式等),使得模式检测困难。再次,如所讨论的那样,存在可以使用的多个影视化模式,使得确定在自身中使用哪个模式是有挑战的。这些原因和其它原因的组合使得影视化逆转是有挑战的。
如所讨论的那样,可能需要反转影视化模式。此外,当使用隔行格式的视频时,也可能需要解隔行(例如反转隔行)。例如,在解隔行之后的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所示)。如图5A所示,隔行视频501可以包括具有包括偶数行(例如0、2、4、6、8、……)的每个场的在偶数时间(例如t=0、2、4……) 位置的顶部场序列、以及具有包括奇数行(例如1、3、5、7、 9、……)的每个场的在奇数时间(例如t=1、3、5、……)的底部场序列。如所讨论的那样,Bob解隔行器可以例如通过在偶数时间位置 (例如t=0、2、4、……)生成奇数行(例如1、3、5、7、9、……) 并且在奇数时间位置(例如t=1、3、5、……)生成偶数行(例如0、 2、4、6、8、……),在每个时间位置使行加倍。
Bob解隔行器可以使用任何一个或多个合适的技术生成丢失的行。例如,Bob解隔行器可以通过重复行(例如,拷贝丢失的行之上或之下的行)生成丢失的行。在其它示例中,Bob解隔行器可以通过将丢失的行之上的行和之下的行取平均来生成丢失的行,以合成丢失的行(例如,对行2和4取平均以生成行3)。在又其它示例中,Bob 解隔行器可以在丢失的行之上和之下的若干行上使用更长抽头滤波器,以合成丢失的行。如所讨论的那样,Bob解隔行器生成具有输入帧速率的两倍帧速率的输出(例如,在图5A的示例中,在每个时间t =0、1、2、3而非偶数时间t=0、2提供帧)。虽然Bob解隔行器可以增加帧速率,但一些赝像(例如倾斜行上的尖刺效应以及尖锐边沿的区块(例如静态文本)中的闪烁)可能产生。在一些Bob解隔行器 (例如使用内插滤波器的解隔行器)中,这些赝像可能出现,但较不显著。
图5B是示出根据本公开的至少一些实现方式所布置的用于对隔行视频501进行解隔行的示例处理510的示图。例如,处理510可以示出示例Weave(场合并)解隔行技术。如图5B所示,隔行视频501 可以包括隔行帧504的顶部场502和底部场503,如关于图5A所讨论的那样。例如,包括顶部场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 所示。尽管与Bob解隔行器相比处于帧速率的一半,但该Weave解隔行器可以允许保留完全垂直分辨率。在各场之间存在很少运动的示例中,Weave解隔行器可以产生细节的保留,但在各场之间存在运动的示例中,Weave解隔行器可能产生赝像(例如锯齿或梳状赝像等),使得每个场中的移动边沿的位置偏移(例如,不相同)。
如所讨论的那样,Bob解隔行器和Weave解隔行器可以用于对隔行视频进行解隔行。在一些示例中,Bob解隔行器和Weave解隔行器可以组合,以对隔行视频进行解隔行。例如,可以分析场或帧的区域,以确定哪些区域是静止的以及哪些区域正在移动。在这些示例中,不同的解隔行器可以用于静止区域和移动区域(例如,不同的解隔行器可以用于不同的区域)。例如,在存在运动的区域中,可以通过Bob解隔行器使用行重复或内插滤波器(例如线性滤波器、立方滤波器等)来生成丢失的像素。在静止区域中,可以使用Weave解隔行器,其通过从前一场进行拷贝来生成丢失的像素。如此对于不同的区域使用不同的解隔行技术可以减少所得逐行视频中的赝像。
图6是示出根据本公开的至少一些实现方式所布置的用于对隔行视频进行解隔行的示例处理600的流程图。处理600可以包括图6所示的一个或多个操作601-629。例如,可以通过用于对隔行视频进行解隔行的设备来执行处理600。在一些示例中,处理600可以用于实现 GreedyH(贪心H)解隔行器。
例如,GreedyH解隔行器可以包括改进的用于高运动内容的 Greedy解隔行器。GreedyH解隔行器可以首先分析空间变化(例如丢失的像素之上的行和之下的行的像素)以及前一场(例如帧内)和前一帧(例如帧间)变化,以导出丢失的行的像素。例如,在静止内容的情况下,时间相邻体可能具有当前场中的各垂直相邻体之间的值,并且在运动的情况下,场内内插可能提供更精确的像素值,因为当前场的各采样之间的相关性可能是最高的。例如,GreedyH解隔行可以在垂直边沿上产生良好性质,代价是垂直细节的失真以及混叠的出现。将关于以下像素布局来讨论处理600。
E A C
x y z
F B D
这里,像素x、y、z可以是丢失的(例如,并且经由处理6000确定的),并且像素A-F可以是已知的像素。如所示,像素E、A、C可以分别在像素x、y、z之上,像素F、B、D可以分别在像素x、y、z之下。
处理600可以从开始操作601开始于判断操作602,“图片中的最后像素”,其中,可以确定当前像素是否为图片中的最后像素。如果是,则处理600可以结束于结束操作603。
如果否,则处理600可以继续于操作604,“计算之上的像素和之下的像素的平均值(avg)”,其中,可以确定当前像素之上和之下的像素的平均值。例如,如果当前像素是y,则平均值avg可以确定为 avg=o=(A+B)/2。
处理600可以继续于操作605,“计算之上的下一像素和之下的像素的平均值(avg_n)”,其中,可以确定当前像素之上的下一像素和之下的下一像素的平均值。例如,如果当前像素是y,则下一平均值 avg_n可以确定为avg_n=p=(C+D)/2。
处理600可以继续于操作606,“计算之上的前一像素和之下的前一像素的平均值(avg_p)”,其中,可以确定当前像素之上的前一像素和之下的前一像素的平均值。例如,如果当前像素是y,则前一平均值avg_p可以确定为avg_p=q=(E+F)/2。
处理600可以继续于操作607,“计算(avg_p)和(avg_n)的平均值->(avg_pn)”,其中,可以对于当前像素确定前一像素平均值和下一像素平均值的平均值。例如,如果当前像素是y,则前一像素平均值和下一像素平均值的平均值可以确定为avg_pn=r=(p+q)/2。
处理600可以继续于操作608,“计算(avg_pn)和(avg)的平均值->(avg_sc)”,其中,可以对于当前像素确定之上的像素和之下的像素的平均值与前一像素平均值和下一像素平均值的平均值的平均值。例如,如果当前像素是y,则所讨论的平均值avg_sc可以确定为 avg_sc=s=(o+r)/2。
处理600可以继续于操作609,“计算当前像素与(avg_sc)之间的绝对差->(cfpDiff)”,其中,可以对于当前像素确定(前一场的) 当前像素与在操作608所确定的平均值之间的绝对差。例如,如果当前像素是y,则当前像素与在操作608所确定的平均值之间的绝对差可以确定为cfpDiff=u=abs(t-s),其中,t是(前一场的)当前像素。
处理600可以继续于操作610,“计算前一帧中的所收集的像素与 (avg_sc)之间的绝对差->(pfpDiff)”,其中,可以对于当前像素确定前一帧中的所收集的像素与在操作608所确定的平均值之间的绝对差。例如,如果当前像素是y,则所收集的像素与在操作608所确定的平均值之间的绝对差可以确定为pfpDiff=v=abs(w-s),其中,w是所收集的像素。
处理600可以继续于判断操作611,“cfpDiff<=pfpDiff)”,其中,可以关于当前像素与在操作608所确定的平均值之间的绝对差是否小于或等于(例如,不大于)所收集的像素与在操作608所确定的平均值之间的绝对差进行确定。
如果是,则处理600可以继续于操作612,“best=当前帧像素值”,其中,用于当前丢失的像素的最佳值可以确定为(例如前一场的)当前帧像素值。例如如果当前像素是y,则最佳值b可以确定为b =t。
如果否,则处理600可以继续于操作613,“best=前一帧像素值”,其中,用于当前丢失的像素的最佳值可以确定为前一帧像素值。例如,如果当前像素是y,则最佳值b可以确定为b=w。
处理600可以继续于操作614,“计算之上的像素和之下的像素之间的最大值->(maxval)”,其中,可以确定当前丢失的像素之上的像素与之下的像素之间的最大值。例如,如果当前像素是y,则当前丢失的像素之上的像素与之下的像素之间的最大值可以确定为maxval= m=max(A,B)。
处理600可以继续于操作615,“计算之上的像素和之下的像素之间的最小值->(minval)”,其中,可以确定当前丢失的像素之上的像素与之下的像素之间的最小值。例如,如果当前像素是y,则当前丢失的像素之上的像素与之下的像素之间的最小值可以确定为minval= n=min(A,B)。
处理600可以继续于判断操作616,“maxval<256 -max_threshold?”,其中,可以关于当前丢失的像素之上的像素与之下的像素之间的最大值是否小于256(例如最大允许值)与max_threshold 之间的差进行确定。例如,max_threshold(t1)可以提供为预定阈值,并且可以关于是否m<256–t1确定在操作616的判断。
如果是,则处理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)进行确定。例如,可以关于是否n<t1而确定在操作619的判断。
如果是,则处理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,minva1,maxval)”,其中,可以使用best(例如b)、minval (例如n)以及maxval(例如m)基于钳位操作来确定估计。例如,估计j可以确定为j=clamp(b,m,n)。
处理600可以继续于操作623,“moval=abs(cfb-pfp)”,其中,可以基于(例如前一场的)当前帧像素和前一帧像素来确定运动值。例如,运动值moval或k可以确定为moval=k=abs(cfp-pfp)=abs(t- w)。
处理600可以继续于判断操作624,“moval> motion_threshold?”,其中,可以关于运动值是否大于运动阈值进行确定。例如,运动阈值motion_threhsold或t2可以是预定运动阈值。例如,可以关于是否k>t2确定在操作624的判断。
如果是,则处理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)。例如,moval可以提供为moval=moval* motion_sense_thr(例如k=k·t3)。
处理600可以继续于操作628,“moval=Clamp(mova1,0,256)”,其中,moval可以基于使用mova1、0和256的钳位操作来进行更新。例如,对moval、k的更新可以确定为k=clamp(moval,0,256)。
处理600可以继续于操作629,“pixelval=(preval*(256-moval)+ avg_sc*moval)/256”,其中,可以基于所讨论的最佳值(例如经由 preval)、moval以及在操作608所确定的平均值来确定当前丢失的像素值。例如,当前像素值f可以确定为f=(j*(256-k)+s*k)/256。
如关于判断操作602所讨论的那样,操作604-629可以对于当前图片中的每个像素进行重复。例如,处理600可以提供GreedyH解隔行器实现方式。
例如,处理600的操作可以提供如下:0.是否为最后像素?如果是,则退出,否则继续于下一步骤;1.关于当前像素,使用前一场之上和之下的像素来计算平均值o=(A+B)/2;2.计算之上的下一像素和之下的下一像素的平均值p=(C+D)/2;3.计算之上的前一像素和之下的前一像素的平均值q=(E+F)/2;4.使用所计算的前一像素和下一像素来计算平均值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=t,否则,b=w,其中,b=最佳估计;9.计算m=max(A,B)和 n=min(A,B);10.如果(m<256–t1),则m+=t1,否则,m=255,其中,t1是最大阈值;11.如果(n>t1),则n+=t1,否则,n=0;12.计算估计j=clamp(b,m,n),其中,j表示pre值;13.计算k=abs(t-w),其中,k表示运动值;14.如果(k>t2),则k=k-t2,否则,k=0,其中, t2是运动阈值;15.k=k*t3,其中,t3是motion_sense_threshold;16.k =clamp(k,0,256);17.f=G*(256-k)+s*k)/256;18.返回步骤0。
如所讨论的那样,在一些示例中,解隔行可以包括运动补偿技术。
图7是示出根据本公开的至少一些实现方式所布置的用于对隔行视频进行解隔行的示例自适应处理700的流程图。例如,处理700可以使用运动补偿内插、中值滤波以及边沿导向内插,以执行改进的解隔行。该处理可以提供更高质量解隔行,代价是增加的计算复杂度。处理700可以包括图7所示的一个或多个操作701-709。处理700可以形成在此所讨论的视频预处理的至少部分。
处理700可以从开始操作701开始于判断操作702,“帧到场转换器”,其中,帧可以转换为场。
处理700可以继续于操作703,“运动估计”,其中,可以在可用的场的各行块之间以块为基础执行运动估计(例如,块可以包括可用的行,但该块可以不包括丢失的像素)。例如,操作703可以以块为基础生成运动矢量。
处理700可以继续于操作704,“运动补偿内插”,其中,在操作 703所确定的运动矢量可以缩放,并且用于获得行块,以关于需要重新生成的每个丢失的场填充行,以用于与每个现有场组合以生成每个解隔行的帧。例如,行块可以填充在操作703所讨论的丢失的像素。
处理700可以继续于操作705,“中值内插”,其中,可以对具有所填充的行的块进行中值内插。例如,该中值内插可以减少赝像(例如运动赝像)。例如,中值内插可以以逐像素的方式从所合成的运动补偿的内插的场取得紧接之上的行中的像素、紧接之下的行中的像素以及当前像素的中值。这种中值内插技术可能引入赝像,其可以至少部分地在操作706得以解决。
处理700可以继续于操作706,“边沿导向内插”,其中,中值内插所确定的像素可以是后面边沿所生成的所滤波的空间内插(例如边沿导向内插),以修改运动补偿的所合成的行的像素。
处理700可以继续于操作707,“最终解隔行帧生成”,其中,边沿导向内插的像素可以提供为最终解隔行帧。
处理700可以继续于判断操作708,“最后帧”,其中,可以关于当前帧是否为用于处理的最后帧进行确定。如果是,则处理700可以结束于结束操作709。如果否,则处理700可以继续于所讨论的操作 702。
此外,如所示,在处理700中,可以跳过操作706和707之一或二者。例如,处理可以直接从操作704继续于操作707,或处理可以直接从操作705继续于操作707。该处理可以基于估计所合成的像素(未示出)的判断操作或基于预定模式选择等。
如所讨论的那样,处理700可以提供将视频帧转换为场,并且以块为基础在可用的场的各行块之间执行运动估计。所计算的运动矢量可以然后适当地进行缩放,并且用于获得行块,以填充需要重新生成的每个丢失的场的行,以用于与每个现有场组合以生成每个解隔行的帧。块运动补偿的内插所填充的行可以于是成为用于进一步增强的开始基础,以生成最终丢失的行,以生成解隔行场,其可以然后与可用的场组合以生成每个解隔行的帧;这些帧的序列产生最终解隔行视频。在示例运动补偿的解隔行器中,增强处理可以包括中值内插,以减少运动赝像,减少可能从运动补偿处理产生在边沿上的块出现性的处理。中值内插器在逐像素的方式可以从所合成的运动补偿的内插的场取得紧接之上的行中的像素、紧接之下的行的像素以及当前像素的中值。该中值滤波处理可能引入一些赝像,使得下一步骤可以包括:通过后面边沿所生成的空间内插(边沿导向内插)对运动补偿的像素进行滤波,并且使用它以修改运动补偿的所合成的行的像素,产生最终内插的场,其形成每个解隔行的帧。
如所讨论的那样,在一些示例中,北美的隔行格式具有29.97的帧速率(例如59.94场每秒的场速率),并且用于从影片捕获的内容的帧速率是23.976(例如(24/1001)x1000),为了在此的讨论(包括以下讨论)的目的,隔行视频的帧速率假设为30帧每秒(例如60场每秒),并且影片的帧速率假设为24帧每秒。
例如,一些视频内容可以按30帧每秒(60场每秒)以隔行格式发源,而其它视频内容可以按30帧每秒或60帧每秒以逐行格式发源,数字内容分发商可以使用统一格式,以用于分发数字内容。
图8是示出根据本公开的至少一些实现方式所布置的示例视频节目聚合系统800的示图。如图8所示,系统800可以包括格式类型分析器、格式转换器和节目聚合器804、格式类型分析器、格式转换器和节目聚合器805、格式类型分析器、格式转换器和节目聚合器806、视频编码器807、视频编码器808、视频编码器809以及系统复用频道聚合器810。
例如,格式类型分析器、格式转换器和节目聚合器804可以包括视频内容801,并且格式类型分析器、格式转换器和节目聚合器804可以分析格式,转换格式,并且聚合视频内容801。视频编码器807可以然后(例如经由编解码器(例如H.264、MPEG-2等))对聚合视频内容进行编码,以生成所编码的聚合视频内容。类似地,格式类型分析器、格式转换器和节目聚合器805可以包括视频内容802,并且格式类型分析器、格式转换器和节目聚合器805可以分析格式,转换格式,并且聚合视频内容802。视频编码器808可以然后(例如经由编解码器(例如H.264、MPEG-2等))对聚合视频内容进行编码,以生成所编码的聚合视频内容。此外,格式类型分析器、格式转换器和节目聚合器806可以包括视频内容803,并且格式类型分析器、格式转换器和节目聚合器806可以分析格式,转换格式,并且聚合视频内容802。视频编码器809可以然后(例如经由编解码器(例如H.264、MPEG-2等)) 对聚合视频内容进行编码,以生成所编码的聚合视频内容。
如所示,视频内容801、802、803可以在所示示例中分别均与频道(例如TV频道或内容频道(例如频道2、17和23))关联。也如所示,所编码的视频内容可以经由系统复用频道聚合器810复用和/或聚合,以生成传送流811。在所示示例中,传送流811包括用于频道 2、17、13的视频内容801、802、803。然而,传送流811可以包括用于任何数量的频道和/或节目的视频内容。
在一些示例中,每个广播TV频道(例如视频内容801、802、803 各自的频道2、17、13)可以一个接一个地封装为包括节目的单个流,以待广播。例如,同一广播频道上的一些节目(例如TV网络新闻)可以按隔行格式(例如1080i HD)发源,一些电影可以发源为24帧每秒 (例如影视化为以1080i HD的60场每秒),一些商业宣传可以按24 帧每秒发源(例如,影视化为按1080i HD的60场每秒),一些剧集内容(例如情景剧等)可以按24帧每秒(例如,影视化为1080i)或 30帧每秒(例如,直接1080p HD)发源,并且高动作体育(例如赛车或下坡滑雪)可以按60帧每秒(例如720p HD)发源。在一些示例中,在直接对1080行隔行信号进行编码(例如,如果视频内容发源为隔行视频)之后,或于在24帧每秒格式的转换(例如,如果内容以24帧每秒发源为逐行影片内容)之后对30帧每秒(例如60场每秒)隔行格式进行编码之后,用于HD的普通分发格式(例如用于传送流811) 按30帧每秒(例如60场每秒)格式使用1080行隔行。
例如,图8示出包括视频内容801的广播频道Ch2视频流,其包括一系列秀,包括(例如按逐行24帧每秒的)剧集内容、(例如按隔行30帧每秒或逐行30帧每秒的)新闻/脱口秀、(例如按隔行30帧每秒的)体育、(例如按逐行24帧每秒的)广告、以及(例如按逐行24 帧每秒的)电影/卡通。类似地,图8示出其它广播或有线频道,例如,专用频道Ch 17,其携带(例如按隔行30帧每秒的)体育、(例如按隔行30帧每秒的)体育转播以及(例如按逐行24帧每秒)的广告;以及专用有线频道Ch 23,其携带(例如以逐行24帧每秒的)电影/卡通以及(例如以逐行24帧每秒的)广告。
在这些示例中,并非通过将需要非常高比特率的无损形式分发内容,而是可以在使用(例如经由视频编码器807、808、809所实现的) MPEG-2、H.264标准等已经经受有损压缩(例如稍微有损压缩)之后分发内容。例如,用于MEPG-2或H.264压缩的压缩比特率可能相当高,在60至300M比特每秒的范围中(用于HD),以确保内容质量是高的(例如接近无损),如果并非完全无损的话。每个频道的原始视频流因此经受轻压缩,产生压缩流。此外,对于每个频道,除了视频之外,还可以存在携带(例如以立体声或更高的格式的)关联声音信息的一个或多个音频流,并且系统800可以提供关联音频编码(为了清楚陈述而未示出)。
如所示,若干这些压缩流(例如广播或有线频道Ch2、Ch7和 Ch23等)可以通过频道聚合器(例如系统复用频道聚合器810)捆绑/ 复用为传送流(例如传送流811)(例如MPEG-2传送流)。在一些示例中,若干这些传送流可以联合地表示在地理区域中可用的所有视频流(例如TV频道)。
图9是示出根据本公开的至少一些实现方式所布置的示例视频节目聚合系统900的示图。如图9所示,系统900可以包括格式类型读取器902、切换器903、904、影视化执行器905、节目视频流组装器 907以及节目映射表906。例如,格式类型读取器902可以接收视频内容901,其可以包括各种内容和关联格式。格式类型读取器902可以分析视频内容901或其部分,以确定格式代码(frmt_code)909,其可以例如包括逐行24帧每秒(p24)、逐行30帧每秒(p30)、隔行30帧每秒(p30)、逐行60帧每秒(p60)等之一。
如所示,格式代码909可以提供给切换器903、904,其可以操作为提供用于视频内容901或其部分的路径。例如,如果格式代码909 指示从隔行相机发源的视频内容901的部分(例如,格式为真实隔行),则切换器903、904可以旁路影视化执行器905,并且将视频内容部分提供给节目视频流组装器907。在其它示例中,如果格式代码 909指示发源为逐行24帧每秒视频的视频内容901或其部分,则切换器803、904可以操作为将视频内容提供给影视化执行器905。影视化执行器905可以将影视化操作提供给逐行24帧每秒视频,以生成30 帧每秒(例如60场每秒)影视化视频。该影视化视频可以看作假冒隔行或在此所讨论的伪隔行,因为影视化视频具有隔行视频的结构,但一些场受重复、交换和/或合成,如在此所讨论的那样。影视化模式可以包括3:2下拉、2:3:3:2下拉、混合或任何其它影视化模式。例如,各个内容提供商或集成商可以使用多于50种影视化模式。
如所示,较高帧速率的隔行视频、影视化视频、或逐行视频可以提供给节目视频流组装器907,其可以组装视频以生成所组装的视频 908。组装后的视频可以提供给视频编码器(例如视频编码器807、 808、809),以便进行编码(例如轻编码),并且这种编码后的视频可以与其它频道复用,以生成在此关于系统800所讨论的传送流。此外,视频内容901(例如剧集内容、新闻/脱口秀、体育、电影/卡通等) 的每个部分或节目可以被映射,以提供节目映射表906。例如,节目映射表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)提供更高压缩来处理该内容。该处理将首先需要对接收到的高比特率编码的内容进行解码。可以然后使用更高效率编码处理对解码后的内容进行编码,并且将内容传送为例如消费者数字视频服务。
图10是示出根据本公开的至少一些实现方式所布置的示例视频节目重新封装系统1000的示图。如图10所示,系统1000可以包括系统解复用频道分离器1001、视频解码器1002、视频解码器1003、视频解码器1004、格式类型分析器、节目分离器和格式逆转器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可以被高度压缩并且具有合适的质量,以便通过互联网或其它网络分发,并且在针对逐行视频所设计的显示器(例如监视器、手持设备的显示器、膝上型设备的显示器以及现代HDTV显示器等)上观看。
例如,图10可以示出对聚合内容进行解复用并且解码以及以更高压缩因子对内容重新编码以便由服务提供商传送视频服务的处理。重新编码的内容可以再次复用(未示出)为例如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格式,但处理也可以应用于更高色度(例如4:2:2和4:4:4)以及更高比特深度)。
与(关于图8和图9所讨论的)内容聚合侧处的整个处理不同,图10所示的处理可以由服务提供商执行,并且可以因此受控于服务提供商。这种针对处理的控制可以包括例如视频格式的处理/转换、视频编码的细节(例如编解码器、编码器复杂度、硬件或软件中的实现、分辨率、压缩比特率、流切换延迟、编码参数、速率控制等)和/或音频编码的细节(为了清楚陈述而未示出)。尤其是当传送到服务提供商的轻编码的内容是高质量的时,服务提供商所执行的总体处理(包括格式转换)可以对最终视频质量具有显著影响。例如,服务提供商可以由此关于它们传送给用户的视频服务的质量而区分自身。
如所讨论的那样,用于对视频进行解码和重新编码的系统(例如系统1000)可以包括一个或多个格式类型分析器、节目分离器和格式逆转器1005、1006、1007。可以经由各种技术实现这些格式类型分析器、节目分离器和格式逆转器1005、1006、1007。
图11A是示出根据本公开的至少一些实现方式所布置的示例格式类型分析器、节目分离器和格式逆转器系统1100的示图。如图11A所示,格式类型分析器、节目分离器和格式逆转器可以包括解隔行器 1102。例如,解隔行器1102可以接收聚合输入视频(aggr invideo) 1101,其可以对应于关于系统1000所讨论的解码后的频道或视频流 (例如提供给格式类型分析器、节目分离器和格式逆转器1005、 1006、1007的所解码的频道或视频流,请参照图10)之一。如所示,解隔行器1102可以对聚合输入视频1101进行解隔行,以生成聚合输出视频(aggr out video)1103。例如,聚合输出视频1103可以包括逐行视频,并且聚合输出视频1103可以提供给视频编码器(例如视频编码器1008、1009、1010之一),以便进行编码,并且这种编码后的视频可以可选地经由服务提供商等而复用并且随后分发。解隔行器1102 可以使用任何解隔行技术(例如在此所讨论的解隔行技术)来对聚合输入视频1101进行解隔行。
例如,图11A的系统1100可以提供基本格式类型分析器、节目分离器和格式逆转器。如所讨论的那样,系统1100可以仅包括解隔行器 (例如解隔行器1102)。例如,所输入的聚合视频(例如聚合输入视频1101)可以总是假设为隔行格式,并且这种输入的聚合视频可以由解隔行器转换为逐行格式,以便进一步处理/编码,如在此所讨论的那样。
图11B是示出根据本公开的至少一些实现方式所布置的示例格式类型分析器、节目分离器和格式逆转器系统1110的示图。如图11B所示,格式类型分析器、节目分离器和格式逆转器可以包括逐行分析器 1105、切换器1106、1107以及解隔行器1109。例如,逐行分析器 1105可以接收聚合输入视频1101,其如所讨论的那样可以对应于关于系统1000所讨论的解码后的频道或视频流(例如提供给格式类型分析器、节目分离器和格式逆转器1005、1006、1007的解码后的频道或视频流,请参照图10)之一。如所示,逐行分析器1105可以基于聚合输入视频1101来确定逐行指示符(prog_ind)1104,其可以包括指示聚合输入视频1101(或其部分)是逐行还是隔行的二进制值或标志。
如所示,逐行指示符1104可以提供给切换器1106、1107。例如,切换器1106、1107可以在逐行指示符1104的控制下操作,使得如果聚合输入视频1101的部分被确定为逐行的,则切换器1106、1107可以旁路解隔行器1109,并且直接提供视频的该部分作为逐行视频(prog video)(例如,而没有进一步处理)。此外,当聚合输入视频 1101的部分被确定为隔行的时,切换器1106、1107将视频的该部分提供给解隔行器1109。解隔行器1109可以对视频的该部分进行解隔行,以生成逐行视频,其可以提供为逐行视频1108。例如,系统1110可以提供检测到的聚合输入视频1101的逐行部分,而没有进一步处理,并且系统1110可以对检测到的聚合输入视频1101的隔行部分进行解隔行,以生成逐行视频1108。例如,逐行视频1108可以提供给视频编码器(例如视频编码器1008、1009、1010之一),以便进行编码,并且这种编码后的视频可以可选地经由服务提供商等而复用并且随后分发。解隔行器1109可以使用任何解隔行技术(例如在此所讨论的解隔行技术)来对聚合输入视频1101进行解隔行。
例如,图11B的格式类型分析器、节目分离器和格式逆转器系统可以提供优于图11的示例格式类型分析器、节目分离器和格式逆转器系统的改进的性能。图11B的格式类型分析器、节目分离器和格式逆转器系统可以包括逐行分析器(例如逐行分析器1105),其可以分析输入视频是逐行还是隔行的,并且将结果指示为prog_ind标志(例如 prog_ind 1104)的二进制值。prog_ind标志可以控制两个切换器(例如切换器1106、1107)的操作,使得输入视频发送到解隔行器(例如解隔行器1109),或者它旁路解隔行器。第二切换器(例如切换器1107) 的输出是逐行格式的最终输出视频。
在此所讨论的一些内容聚合处理可能引入赝像,如果未被服务提供商校正则它可能对最终视频质量具有显著影响。例如,一些处理可以将24帧每秒影片、商业宣传和剧集内容转换为30帧每秒(例如60 场每秒)隔行内容(可能现有技术标准(例如HEVC等)的较高压缩状态不可高效地压缩的格式),或这些处理可能在服务提供商使用压缩之后显示视觉赝像。此外,如果发源得被轻压缩为隔行内容并且在对其进行解码之后的内容产生该格式,则接下来在较新的较高压缩现有技术编解码器(例如HEVC)的情况下所需的编码可能不支持或提供用于该格式的高效编码。因此,在进一步压缩以便进行服务传送之前,可以执行视频格式预处理,以便进行内容转换,在对聚合内容进行解码之后,将其转换为合适的格式,以便进一步处理。此外,如所讨论的那样,单个流(例如广播流)中的内容的部分可以包括不同格式。在一些示例中,关于这些子流之间的边界的信息可能一点也不可用,或如果其可用,则其可能是不精确的。
当前方法可能采取了简化的路径,并且可能不良好地适用于内容聚合。例如,当前方法可能被设计为当节目所使用的视频格式的类型是已知的(例如,如果视频源是隔行相机或DVD或蓝光(BD)盘) 时处理转换。然而,当前方法可能并非自适应得足以通过良好质量来处理聚合内容(例如通过串接不同内容类型(例如电影、体育、新闻节目、剧集秀、脱口秀等)、不同内容格式和/或帧速率(例如隔行、逐行、24、30和60帧每秒、胶片扫描的、相机生成的、动画等)所形成的内容、或所编辑的内容(例如时间标度(例如延长或缩短的)、所移除的帧等))所需的转换。视频的这些差异可能使得内容格式转换(例如隔行反转(例如解隔行)或影视化反转)困难。例如,在包含很多类型的内容、格式和编辑的复杂视频流中,在应用任何格式逆转之前,首先可能必须自动地确定源视频的输入格式。这些格式确定也可能难以精确地执行,使得难以确定要应用什么逆转。
此外,原始内容的编码的处理即使在高比特率也倾向于减少可能对于关于内容的格式进行判断是关键的帧-帧或场-场相关性。当前方法可以使用相对简单的检测措施,其可能导致不精确的检测,这样可能进而产生不想要的赝像和/或更高的比特率。
在此所讨论的实施例可以改进聚合内容的视频处理,以正确地反转在聚合处理期间所应用的格式转换预处理(其可能引入赝像),以生成节目的单个逐行视频流。实施例可以自适应地确定内容是逐行还是隔行的和/或内容是(例如隔行相机所生成的)真实隔行还是(例如具有影视化处理所生成的隔行的)伪/假冒隔行。例如,如果内容被确定为逐行的,则其可以按原样输出,旁路任何其它处理。此外,如果内容被认为是隔行的,则可以关于隔行内容是真实隔行还是假冒隔行而执行进一步确定。如果内容被认为是真实隔行的,则它可以被提供给隔行反转器/解隔行器。例如,隔行反转器/解隔行器可以是内容自适应解隔行器,如在此进一步讨论的那样。如果内容被确定为假冒隔行的,则它被确定为已经经受影视化转换。在这些示例中,自适应和高效影视化转换器可以自适应地确定若干模式中的哪些用于影视化转换并且解除影视化处理,产生逐行视频(例如24帧每秒逐行视频等)。在一些示例中,对于一些视频节目,视频的格式可以是(例如从 MPEG-2比特流等中的所编码的参数)已知的。然而,在其它示例中,该信息并非已知的。通过评估这些信息并且实现在此所讨论的技术,各个实施例可以提供用于确定产生高质量逐行格式视频以用于服务提供商(例如以较高压缩因子/较低比特率)进行编码所必须的格式和转换的完全自动化方法。因此,在此所讨论的实施例可以提供例如以下益处:减少所得视频信号当显示在逐行显示器上时的视觉赝像,以及通过现有技术视频编码器来更高效地压缩具有更少的赝像的视频帧子流。
图12是示出根据本公开的至少一些实现方式所布置的示例格式类型分析器、节目分离器和格式逆转器系统1200的示图。如图12所示,格式类型分析器、节目分离器和格式逆转器(例如系统1200)可以包括隔行/逐行帧分类器1202、帧组缓冲器1204、帧组影视化模式/ 逐行/隔行分类器1205、切换器1209、1210、内容自适应隔行反转器 1211、以及影视化反转器(3:2/2:3:3:2/4:1a/4:1b/混合/自适应影视化反转器)1212。例如,隔行/逐行帧分类器1202可以接收聚合输入视频 (aggr.video)1201,其可以对应于关于系统1000所讨论的解码后的频道或视频流(例如提供给格式类型分析器、节目分离器和格式逆转器1005、1006、1007的解码后的频道或视频流,请参照图10)之一。
如所示,隔行/逐行帧分类器1202可以确定用于聚合输入视频 1201的帧的帧模式(例如,帧是隔行还是逐行的)。在此情形中,术语隔行包括(例如来自隔行相机等的)真实隔行或假冒/伪隔行(例如基于影视化处理的隔行)。也如所示,隔行/逐行帧分类器1202可以提供用于聚合输入视频1201的帧、与每个帧是被确定为隔行还是逐行对应的隔行帧指示符(intl_frm)1203。隔行/逐行帧分类器1202可以使用任何一种或多种合适的技术(例如在此关于图13-16、图25、图17、图26和图18或其它所讨论的技术)来确定帧是隔行还是逐行的。
如所示,聚合输入视频1201可以存储在帧组缓冲器1204中。例如,在帧组缓冲器中可以存储15或16个帧,包括当前帧组中的5个帧、前一帧组中的5个帧、后一组帧组中的5个帧以及1个可选控制帧。此外,所存储的帧(例如帧组和可选控制帧)可以提供给帧组影视化模式/逐行/隔行分类器1205。此外,用于帧组的隔行帧指示符 1203可以提供给帧组影视化模式/逐行/隔行分类器1205。帧组影视化模式/逐行/隔行分类器1205可以对于当前帧组确定帧组格式或模式(例如,帧组是逐行、隔行还是影视化的)。此外,如果帧组是影视化的,则帧组影视化模式/逐行/隔行分类器1205可以确定用于帧组的影视化模式。例如,影视化模式可以是3:2下拉、2:3:3:2下拉、混合或其它之一。此外,影视化模式可以经由帧组影视化模式/逐行/隔行分类器1205确定为未知的。
也如所示,帧组影视化模式/逐行/隔行分类器1205可以提供用于聚合输入视频1201的帧组的真实隔行指示符(tru_intl)1206、逐行指示符(prog_ind)1207、影视化类型指示符(tel_type)1208中的一个或多个。例如,真实隔行指示符1206可以指示帧组是具有完全隔行帧组格式的真实隔行帧组,逐行指示符1207可以指示帧组是具有完全逐行帧组格式的逐行帧组,并且影视化类型指示符1208可以指示帧组是影视化帧组以及帧组具有哪种影视化模式(例如3:2下拉、2:3:3:2下拉、混合或未知)。帧组影视化模式/逐行/隔行分类器1205可以使用任何一种或多种合适的技术(例如在此关于图19或另外所讨论的技术) 确定帧组格式或模式。
如所示,逐行指示符1207和真实隔行指示符1206可以提供给切换器1209、1210。切换器1209、1210可以在逐行指示符1207和真实隔行指示符1206的控制下操作,以将聚合输入视频1201的部分或分段提供给旁路器1214、内容自适应隔行反转器1211或影视化反转器1212之一。例如,如果逐行指示符1207为真,则聚合输入视频1201 的关联部分或分段可以提供给旁路器1214,使得在无需进一步处理为逐行视频(prog,video)1215的情况下提供聚合输入视频1201的这些部分或分段。此外,如果真实隔行指示符1206为真,则聚合输入视频1201的关联部分或分段可以提供给内容自适应隔行反转器1211,使得聚合输入视频1201的这些部分或分段可以被解隔行并且提供为逐行视频1215。如果逐行指示符1207和真实隔行指示符1206都并非为真(例如,视频部分是影视化的),则聚合输入视频1201的这些部分或分段可以提供给影视化反转器1212,使得聚合输入视频1201的这些部分或分段可以被影视化反转并且提供为逐行视频1215。
如所讨论的那样,内容自适应隔行反转器1211可以接收聚合输入视频1201的部分或分段,对所述部分或分段进行解隔行,并且将所得逐行视频提供为逐行视频1215。内容自适应隔行反转器1211可以使用任何一种或多种合适的技术(例如在此关于图5A、图5B、图6、图7 和图24或本文其它地方所讨论的技术)对聚合输入视频1201的部分中的分段进行解隔行。
此外,如所讨论的那样,影视化反转器1212可以接收聚合输入视频1201的部分或分段,影视化反转所述部分或分段,并且将所得逐行视频提供为逐行视频1215。影视化反转器1212可以使用任何一种或多种合适的技术(例如在此关于图3B、图4B和图23或本文其它地方所讨论的技术)影视化反转聚合输入视频1201的部分中的分段。在一些示例中,如果未发现影视化模式(例如,模式被确定为未知的),则影视化处理可以包括在此所讨论的解隔行技术。
如所讨论的那样,图12示出格式类型分析器、节目分离器和格式逆转器。格式类型分析器、节目分离器和格式逆转器可以比关于图 11A和图11B所讨论的格式类型分析器、节目分离器和格式逆转器更复杂。例如,图11的格式类型分析器、节目分离器和格式逆转器可以提供更大的精确度。如所讨论的那样,图11的格式类型分析器、节目分离器和格式逆转器可以包括隔行/逐行帧分类器(例如隔行/逐行帧分类器1202),其可以将每个帧分类为隔行或逐行的(例如,其可以输出二进制信号intl_frm),后接帧组缓冲器(例如帧组缓冲器1204),其可以缓存一组15个帧(例如,以保存一组5个过去帧、一组5个当前帧以及一组5个未来帧),以便帧组影视化模式类型/逐行/隔行分类器(例如帧组影视化模式/逐行/隔行分类器1205)进行分析,帧组影视化模式类型/逐行/隔行分类器可以在例如帧组是否为真实隔行(例如,经由tru_intl)、是否为逐行(例如,经由prog_ind)以及(如果存在的话)它使用的影视化模式的类型(例如,经由tel_type)的考虑下输出可以表征帧组的行为的若干信号。
这些信号可以控制可以在三种模式之一下操作的一对切换器(例如切换器1209、1210)的操作。第一模式可以允许(例如经由旁路器 1214)旁路任何处理,并且可以让逐行30或60帧每秒视频信号按原样通过,而无需任何处理。第二模式可以允许取决于内容聚合器所使用的(例如,以及经由帧组影视化模式/逐行/隔行分类器1205检测到的)原始影视化模式来(例如,经由影视化反转器1212)执行3:2或 2:3:3:2或混合或自适应影视化模式反转。例如,在影视化反转之后的所得输出可以是24帧每秒逆转影视化视频信号。第三模式可以允许通过使用内容自适应解隔行(例如,经由内容自适应隔行反转器1211) 执行隔行反转,以产生高质量解隔行的信号。例如,给定60场每秒 (例如30帧每秒)隔行视频,该自适应解隔行器可以提供逐行30帧每秒或60帧每秒视频的输出。这些逆转的最终结果是在解除聚合器所执行的转换之后所获得的完全逐行信号(例如逐行视频1215)。这种最终结果可以对应于适合于高效视频编码和(逐行)显示的格式和帧速率。
如所讨论的那样,隔行/逐行帧分类器1202可以将聚合视频1201 的帧分类为隔行或逐行的。隔行/逐行帧分类器1202可以使用任何合适的技术来对聚合视频1201的帧进行分类。
图13是示出根据本公开的至少一些实现方式所布置的用于对帧进行分类的示例处理1300的流程图。如所讨论的那样,在一些示例中,系统1200的隔行/逐行帧分类器1202可以执行处理1300或其部分,以提供隔行帧指示符1203。例如,隔行/逐行帧分类器1202可以如果当前帧是隔行帧则输出intl_frm=1,并且否则输出intl_frm=0。处理1300 可以包括图13所示的一个或多个操作1301-1310。处理1300可以形成在此所讨论的视频预处理的至少部分。
在讨论关于图13的处理1300之前,讨论术语和描述符。例如,可以如下定义并且生成或确定在此称为公共描述符的描述符集或组 (例如10个描述符,其中,7个是显式的,并且3个是隐式的)。
描述符SADff(例如场对SAD)可以被确定为通过帧大小归一化的、帧的一对场之间的绝对差之和(SAD)。描述符SADbf可以被确定为通过场大小所归一化的、一对帧的各底部场之间的绝对差之和。例如,SADbf可以隐式地用在确定DynDif中(如在此进一步讨论的那样)。描述符RsF可以被确定为在整个帧的像素的数量上取平均的帧的连续像素行之间的差的平方,作为帧中的垂直纹理的测度。描述符 RsT可以被确定为在整个顶部场的像素的数量上取平均的顶部场的连续像素行之间的差的平方,作为帧的顶部场的垂直纹理的测度。例如,RsT可以隐式地用在确定bTexd中(如在此进一步讨论的那样)。描述符RsB:可以被确定为在整个底部场的像素的数量上取平均的底部场的连续像素行之间的差的平方,作为帧的底部场的垂直纹理的测度。例如,RsB可以隐式地用在确定bTexd中(如在此进一步讨论的那样)。
描述符DynDif(例如动态纹理)可以被确定为在帧的像素的数量上取平均的帧的块Rs(例如基于块的垂直纹理bRsF)相比于顶部场的块Rs(例如基于块的垂直纹理bRsT)之间的可变阈值化差之和。例如,如果对于块RsF(例如帧的块)确定,块大小是8x8,则用于块RsT(顶部场的块)的对应块是8x4。
如所讨论的那样,DynDif可以是可变阈值化差之和。阈值 dyn_thr可以是动态的,并且可以基于SADff和SADbf。例如,可以基于以下伪码(1)来确定dyn_thr:
if(max(SADff,SADbf)<0.45)
dyn_thr=31
else if(max(SADff,SADbf)<0.5)
dyn_thr=63
else if(max(SADff,SADbf)<1)
dyn_thr=127
else if(max(SADff,SADbf)<1.5)
dyn_thr=255
else if(max(SADff,SADbf)<2.0)
dyn_thr=512
else if(max(SADff,SADbf)<2.5)
dyn_thr=1023
else if(max(SADff,SADbf)<3)
dyn_thr=2047
else
dyn_thr=4095 伪码(1)
一旦确定阈值dyn_thr,就可以确定帧和顶部场纹理的基于块的差的测度。对于该差大于阈值dyn_thr的块,差可以累计,以生成用于帧的DynDif,如伪码(2)所示:这里,bTexd可以是块纹理差,cnt_texblk可以是纹理被确定为人工的并且由运动产生(例如,当纹理差大于阈值时)的块的计数。在对于帧的所有块累计DynDif之后,可以通过DynDif除以帧中的像素的数量来确定DynDif的归一化值。
描述符StatDif(例如静态纹理)可以被确定为在帧中的像素的数量上取平均的帧的块Rs(例如bRsF)相比于帧的顶部场的块Rs(例如bRsT)之间的静态阈值化差之和。例如,阈值可以是静态的,并且设定为4096的值。例如,当块纹理差大于静态阈值时,差可以累计,以确定用于帧的StatDif,如伪码(3)所示:
if(bTexd>4096){
StatDif=StatDif+bTexd
} 伪码(3)其中,bTexd可以是所讨论的块纹理差。在对于帧的所有块累计 StatDif之后,可以通过StatDif除以帧中的像素的数量来确定DynDif 的归一化值。
描述符TemporalTex(例如时间纹理)可以被确定为动态纹理 DynDif与静态纹理StatDif之间的差的测度,如下: TemporalTex=DynDif–StatDif。描述符BigTexture(例如大纹理)可以被确定为具有高纹理值的帧块的阈值化计数。例如,可以通过比较帧的块Rs(例如bRsF)与阈值来确定BigTexture。例如,阈值可以是静态的,并且设定为16383的值。例如,可以如伪码(4)所示确定 BigTexture:
if(bRsF>16383)
BigTexture++ 伪码(3)
描述符TextureLevel(例如纹理水平)可以被确定为帧的纹理水平与其场(例如帧的场)的平均纹理之间的差的测度。例如, TextureLevel可以如下确定为:TextureLevel=(RsF-((RsT+RsB)/ 2))。
如所讨论的那样,可以对于帧确定多个描述符,并且这些描述符可以用于确定帧是逐行还是隔行的。
处理1300可以从开始操作1301开始于判断操作1302,“计算帧或帧对的场之间的基于图片的SAD描述符:SADff、SADbf、SADtb、 SADbt”,其中,可以关于帧或图片来确定描述符。例如,可以对于帧及其场确定SAD描述符。如所示,在一些示例中,描述符可以包括SADff、SADbf、SADtb和SADbt中的一些或全部。例如,可以如在此所讨论的那样确定SADff和SADbf。描述符SADtb可以被确定为通过场大小归一化的、当前帧的顶部场与前一帧的底部场之间的绝对差之和。描述符SADbt可以被确定为通过场大小归一化的、当前帧的底部场与前一帧的顶部场之间的绝对差之和。
处理1300可以继续于操作1303,“计算基于块的描述符: StatDif、DynDif、ZeroTexture、BigTexture、RsDif、RsF、RsT、 RsB”,其中,可以生成被确定为基于块的描述符的聚合的描述符。例如,可以如所讨论的那样确定StatDif、DynDif、BigTexture、RsF、RsT、RsB。描述符RsDif可以被确定为同一帧的顶部场与底部场的垂直纹理之间的绝对差。描述符ZeroTexture可以被确定为没有纹理的块的条件计数(如在此进一步讨论的那样)。
处理1300可以继续于操作1304,“计算附加全局纹理描述符: TemporalTex、TextureLevel”,其中,可以确定全局纹理描述符。例如,可以如在此所讨论的那样确定TemporalTex和TextureLevel。
处理1300可以继续于操作1305,“对未归一化的描述符进行归一化:StatDif、DynDif、ZeroTexture、BigTexture”,其中,可以对未归一化的描述符进行归一化。例如,可以基于帧中的像素的数量等来对 StatDif、DynDif、ZeroTexture和BigTexture进行归一化。
处理1300可以继续于操作1306,“帧类型判断处理”,其中,可以选择帧类型判断处理。例如,处理1300包括两种方法之间的选择,但可以提供任何数量的方法。例如,操作1306提供使用描述符和比较测试(例如所示的用于定义9个比较测试的9个公共描述符)的第一方法与可以使用2阶段分类结构的第二方法之间的选择。例如,2个阶段可以包括:第一阶段,其可以使用描述符和比较测试(例如5个描述符——包括新的描述符orient_dyndif——以定义12个比较测试,它们与附加条件组合为最终18个测试);以及第二阶段,其可以使用描述符和机器学习(例如14个(9个公共和5个附加)描述符以及扩展的机器学习算法)。如果可应用,则在此进一步讨论这些方法和阶段的示例。
处理1300可以继续于判断操作1307,“帧是隔行的?”,其中,可以关于当前帧是否是隔行的进行确定。该判断操作可以基于在此进一步讨论的关于操作1306所描述的方法。如果帧被确定为隔行的,则处理1300可以继续于操作1308,“帧是隔行的”,其中,帧可以被指示为隔行的,并且隔行帧指示符(intl_frm)1203可以设定为真或1等(请参照图12),并且处理1300可以结束于结束框1310。如果帧被确定为不是隔行的,则处理1300可以继续于操作1309,“帧是逐行的”,其中,帧可以被指示为逐行的(例如并非隔行的),并且隔行帧指示符 (intl_frm)1203可以设定为假或0等(请参照图12),并且处理1300 可以结束于结束框1310。
如关于操作1306所讨论的那样,第二方法(例如方法2)可以使用2阶段分类结构来确定当前帧是隔行的还是逐行的。例如,第一阶段可以使用5个描述符来定义12个比较测试,其可以与附加描述符组合,产生使用18个比较的判断技术。此外,第二阶段可以使用机器学习处理,其受训练以工作在不定性的临界区域上。第一阶段和第二阶段都使用前述描述符和称为orient_DynDif的关键描述符,其为DynDif (例如纹理差)与具有人工纹理的块的计数(例如cnt_texblk,请参照伪码(2))的比率的测度。
图14是示出根据本公开的至少一些实现方式所布置的用于示例帧的示例动态纹理与场对SAD关系的图线1400。如所示,图线1400在垂直轴上提供动态纹理(例如DynDif),并且在水平轴上提供场对SAD (例如SADff)。例如,图线1400示出用于示例帧的示例数据点1404。例如,图线1400可以示出描述符orient_DynDif和逐行/隔行判断中的不定性的区域1403的重要性。
如所示,图14中的直线1405示出SADff与DynDif空间分为3个区域:隔行区域1401、逐行区域1402以及逐行/隔行判断中的不确定性的区域1403。在一些示例中,直线1405的斜率可以与描述符 orient_DynDif关联。如所示,在一些示例中,直线1405可以近似为对角线的(例如,大约45度)。例如,逐行区域1402(例如靠直线1405 的右侧的区域)可以对应于将帧分类为逐行的,而隔行区域1401(例如靠直线1405的左侧的区域)可以对应于将帧分类为隔行的。此外,在左下并且对于小值的SADff和DynDif,可能存在逐行/隔行判断中的不确定性的区域1403,使得帧的分类是困难的。在一些方法2示例中,可以通过在此进一步讨论的机器学习处理经由阶段2来处理该区域。
图15是示出根据本公开的至少一些实现方式所布置的用于对帧进行分类的示例处理1500的流程图。如所讨论的那样,在一些示例中,系统1200的隔行/逐行帧分类器1202可以执行处理1500或其部分,以提供隔行帧指示符1203。例如,隔行/逐行帧分类器1202可以如果当前帧是隔行帧则输出intl_frm=1,并且否则(例如,如果帧被确定为逐行,则)输出intl_frm=0。处理1500可以包括图15所示的一个或多个操作1501-1526。处理1500可以形成在此所讨论的视频预处理的至少部分。在一些示例中,处理1500可以扩展,并且提供相对于在此所讨论的处理1300的更多细节。
如所示,处理1500可以从开始操作1501开始于操作1502,其中,可以如在此所讨论的那样确定SADff、SADbf、SADtb和 SADbt。例如,SADff可以被确定为帧的场对之间的绝对差之和 (SAD),SADbf可以被确定为一对帧的底部场之间的SAD,SADtb 可以被确定为一对帧的顶部场与底部场之间的SAD,并且SADbt可以被确定为一对帧的底部场与顶部场之间的SAD。例如,SADtb和 SADbt可以分别是当前帧的顶部场与前一帧的底部场以及当前帧的底部场与前一帧的顶部场之间的SAD。如所讨论的那样,可以根据需要通过帧或场大小来对SADff、SADbf、SADtb和SADbt进行归一化。
处理1500可以继续于操作1503,“将亮度分区为8x8块”,其中,当前帧可以被分区为8x8块。在处理1500的示例中,当前帧分区为 8x8块,然而,可以使用任何合适的分区大小。
处理1500可以继续于判断操作1504,“剩余块?”,其中,可以关于是否存在用于处理的任何剩余块进行确定。如果是,则处理1500可以继续于操作1515-1526。如果否,则处理1500可以继续于操作 1505-1514。例如,操作1503-1526可以包括基于块的处理循环,以用于确定若干描述符,根据需要对其进行阈值化,并且聚合它们以确定基于帧的值。
例如,处理1500可以继续于操作1515,其中,bRsF、bRsT和 bRsB。例如,bRsF可以被确定为帧块垂直纹理。例如,bRsF可以被确定为在帧块的像素的数量上取平均的帧块的连续像素行之间的差的平方,作为帧块中的垂直纹理的测度。类似地,bRsT可以被确定为顶部场块垂直纹理,并且bRsB可以被确定为底部场块垂直纹理。
处理1500可以继续于操作1516,“计算动态阈值”,其中,可以确定动态阈值。例如,可以如关于伪码(1)所讨论的那样确定动态阈值 dyn_thr。在一些示例中,可以如在此关于图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并且Avg block> TVblack?”,其中,可以关于帧块垂直纹理bRsF是否非常小进行确定。在处理1500的示例中,0的阈值用于确定bRsF是否很小,然而,可以使用任何合适的阈值。此外,可以关于平均块是否大于阈值TVblack(例如,块是否大于黑色)进行确定。如果否,则处理1500 可以继续于操作1524,如在此进一步讨论的那样。如果是,则处理 1500可以继续于操作1523,“ZeroTexture++”,其中,可以建立和/或递增描述符ZeroTexture(例如具有很少或没有纹理的帧的块的计数)。例如,可以在整个当前帧上累计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的循环以逐块的方式累计这些描述符。
如所讨论的那样,当帧的所有块完成时,处理1500可以继续于操作1505,其中,可以缓存/从存储器拿取所讨论的描述符。例如,这些描述符可以保存到存储器以用于进一步处理,并且根据需要经由处理1500和/或本文所讨论的其它处理从存储器拿取。例如,可以缓存和/或拿取以下描述符:SADff、SADbf、StatDif、DynDif、 ZeroTexture、BigTexture、RsDif、RsF、RsT、RsB、SADtb、 SADbt。
处理1500可以继续于操作1506,“计算:TemporalTex、 TextureLevel”,其中,可以如在此所讨论的那样确定描述符 TemporalTex和TextureLevel。例如,描述符TemporalTex可以被确定为动态纹理DynDif与静态纹理StatDif之间的差的测度,描述符 TextureLevel可以被确定为帧的纹理水平与其场的平均纹理之间的差的测度。
处理1500可以继续于操作1507,“归一化:StatDif、DynDif、 ZeroTexture、BigTexture”,其中,可以如在此所讨论的那样对描述符 StatDif、DynDif、ZeroTexture、BigTexture进行归一化。例如,可以通过图片大小来对StatDif、DynDif、ZeroTexture、BigTexture进行归一化。
处理1500可以继续于操作1508,“设定分类器方法(1或2)”,其中,可以对于当前帧设定分类器方法。例如,可以对于源视频、帧序列或以逐帧的方式进行分类器方法。例如,方法1可以对测得的数据纯使用曲线拟合方法,并且方法2可以使用两阶段方法,使得方法2的阶段1基于对测得的数据的曲线拟合方法,并且方法2的阶段2可以使用基于机器学习的方法。此外,方法2也可以使用在此所讨论的新的描述符orient_dyndif。
如果选择方法1,则处理1500可以继续于操作1512,“分类器方法1处理”,其中,分类器方法1可以如进一步所讨论的那样应用于在此将当前帧指明为隔行或逐行的,并且处理1500可以结束于结束操作 1514。
如果选择方法2,则处理1500可以继续于操作处理1509,“计算:orient_dyndif”,其中,可以如在此进一步讨论的那样确定描述符 orient_dyndif。处理1500可以继续于操作1510,“分类器方法2阶段1 处理”,其中,可以如在此进一步讨论的那样应用分类器方法2阶段 1。处理1500可以继续于判断操作1511,“帧分类?”,其中,可以关于是否经由方法2阶段1对帧进行分类进行确定。如果是,则处理 1500可以结束于结束操作1514。如果否,则处理1500可以继续于操作1513,“分类器方法阶段2处理(机器学习)”,其中,分类器方法 2阶段2可以如在此进一步讨论的那样应用于将当前帧指明为隔行或逐行的,并且处理1500可以结束于操作1514。
如关于操作1516所讨论的那样,在一些示例中,可以在帧的基于块的处理期间确定动态阈值,以确定帧是隔行还是逐行的。
图16是示出根据本公开的至少一些实现方式所布置的用于生成动态阈值的示例处理1600的流程图。如所讨论的那样,在一些示例中,系统1200的隔行/逐行帧分类器1202可以执行处理1600或其部分,以提供动态阈值dyn_thr。例如,可以以逐块的方式执行处理1600(例如,可以对于帧的每个块执行动态阈值)。处理1600可以包括图16 所示的一个或多个操作1601-1617。处理1600可以形成在此所讨论的视频预处理的至少部分。
如所示,处理1600可以从开始操作1601开始于操作1602,“maxadif=max(SADff,SADbf)”,其中,描述符maxadif可以被设定为SADff和SADbf中的最大值。例如,通过帧大小归一化的帧的一对场之间的绝对差之和(SAD)和通过场大小归一化的一对帧的底部场之间的绝对差之和中的最大值可以被确定为用于该帧的最大绝对差之和。
处理1600可以继续于判断操作1603,“maxadif<0.45?”,其中,最大值可以与第一阈值比较。在处理1600的示例中,第一阈值是 0.45,然而,可以使用任何合适的第一阈值。如果最大值小于第一阈值,则处理1600可以继续于操作1604,“dyn_thr=31”,其中,动态阈值可以被设定为第一值,并且处理1600可以结束于结束操作1618。在处理1600的示例中,第一值是31,然而,可以使用任何合适的第一值。
如果最大值不小于第一阈值,则处理1600可以继续于判断操作 1605,“maxadif<0.5?”,其中,最大值可以与第二阈值比较。在处理1600的示例中,第二阈值是0.5,然而,可以使用任何合适的第二阈值。如果最大值小于第二阈值,则处理1600可以继续于操作1606,“dyn_thr=63”,其中,动态阈值可以被设定为第二值,并且处理1600 可以结束于结束操作1618。在处理1600的示例中,第二值是63,然而,可以使用任何第二值。
如果最大值不小于第二阈值,则处理1600可以继续于判断操作 1607,“maxadif<1.0?”,其中,最大值可以与第三阈值比较。在处理1600的示例中,第三阈值是1.0,然而,可以使用任何合适的第三阈值。如果最大值小于第二阈值,则处理1600可以继续于操作1608,“dyn_thr=127”,其中,动态阈值可以被设定为第三值,并且处理 1600可以结束于结束操作1618。在处理1600的示例中,第三值是 127,然而,可以使用任何合适的第三值。
如果最大值不小于第三阈值,则处理1600可以继续于判断操作 1609,“maxadif<1.5?”,其中,最大值可以与第四阈值比较。在处理1600的示例中,第四阈值是1.5,然而,可以使用任何合适的第四阈值。如果最大值小于第三阈值,则处理1600可以继续于操作1610,“dyn_thr=255”,其中,动态阈值可以被设定为第四值,并且处理 1600可以结束于结束操作1618。在处理1600的示例中,第四值是 255,然而,可以使用任何合适的第四值。
如果最大值不小于第四阈值,则处理1600可以继续于判断操作 1611,“maxadif<2.0?”,其中,最大值可以与第五阈值比较。在处理1600的示例中,第五阈值是2.0,然而,可以使用任何合适的第五阈值。如果最大值小于第四阈值,则处理1600可以继续于操作1612,“dyn_thr=511”,其中,动态阈值可以被设定为第五值,并且处理 1600可以结束于结束操作1618。在处理1600的示例中,第五值是 511,然而,可以使用任何合适的第五值。
如果最大值不小于第五阈值,则处理1600可以继续于判断操作 1613,“maxadif<2.5?”,其中,最大值可以与第六阈值比较。在处理1600的示例中,第六阈值是2.5,然而,可以使用任何合适的第六阈值。如果最大值小于第五阈值,则处理1600可以继续于操作1614,“dyn_thr=1023”,其中,动态阈值可以被设定为第六值,并且处理 1600可以结束于结束操作1618。在处理1600的示例中,第六值是 1023,然而,可以使用任何合适的第六值。
如果最大值不小于第六阈值,则处理1600可以继续于判断操作 1615,“maxadif<3.0?”,其中,最大值可以与第七阈值比较。在处理1600的示例中,第七阈值是3.0,然而,可以使用任何合适的第七阈值。如果最大值小于第六阈值,则处理1600可以继续于操作1616,“dyn_thr=2047”,其中,动态阈值可以被设定为第七值,并且处理 1600可以结束于结束操作1618。在处理1600的示例中,第七值是 2047,然而,可以使用任何合适的第七值。
如果最大值不小于第六阈值,则处理1600可以继续于操作1617,“dyn_thr=4095”,其中,动态阈值可以被设定为第八/默认值,并且处理1600可以结束于结束操作1618。在处理1600的示例中,第八/默认值是4095,然而,可以使用任何合适的第七值。
如所示,处理1600可以首先确定两个SAD:用于帧的SAD(例如SADff)和用于底部场的SAD(例如SADbf)中的较大者,并且将所确定的值分配给描述符maxadif。接下来,可以对maxadif进行一系列测试,并且基于maxadif是否小于预定阈值,可以提供动态阈值,或者maxadif的测试可以继续,直到到达待测试的最大阈值(例如第六阈值),并且如果maxadif大于最大阈值,则可以将大值(例如4095 等的第八/默认值)分配给dyn_thr。在示例中,关于maxadif的第一测试将其与0.45的预先固定值进行比较,如果其较小,则dyn_thr可以被分配31的值。另一方面,如果maxadif等于或大于0.45,则其与0.5 比较,如果其小于该值,则dyn_thr被分配63的值,如果并非如此,则用于比较并且分配下一dyn_thr的处理继续。如果发现maxadif大于或等于3.0,则dyn_thr被分配4095的值,其为可以分配给dyn_thr的最大值。在所示示例中,使用小于比较符来比较maxadif与所描述的阈值,然而,可以使用任何合适的比较符(例如小于或等于、不大于等)。
如关于操作1512所讨论的那样,在一些示例中,分类器方法1可以应用于将当前帧指明为隔行或逐行的。例如,分类器方法1可以基于测得的数据和所确定的描述符而纯使用曲线拟合方法,并且将当前帧指明为隔行或逐行的。
图25是示出根据本公开的至少一些实现方式所布置的用于将帧分类为隔行或逐行的示例处理2500的流程图。如所讨论的那样,在一些示例中,系统1200的隔行/逐行帧分类器1202可以执行处理2500或其部分,以提供隔行帧指示符1203。例如,隔行/逐行帧分类器1202可以如果当前帧是隔行帧则输出intl_frm=1,否则(例如,如果帧被确定为逐行,则)输出intl_frm=0。处理2500可以包括图25所示的一个或多个操作2501-2506。处理2500可以形成在此所讨论的视频预处理的至少部分。
如所讨论的那样,方法1可以使用描述符和比较测试,以确定当前帧是逐行还是隔行的。例如,方法1可以使用前述一组10个公共(例如7个显式、3个隐式)描述符,例如SADff、RsG(例如,其取决于RsT、RsB)、StatDif、DynDif(例如,其取决于SADbf)、 TemporalTex、TextureLevel和BigTexture。该组描述符可以用于执行9 个比较测试,以确定输入帧是否为隔行的。例如,比较测试的公式可以基于使用观测到的数据的曲线拟合。这些公式可以用在在此进一步讨论的处理2500中,并且示例公式(例如公式(1)-(9))如下:
DynDif<(1.7832*SADff)-5.3497 公式(1)
BigTexture≤(0.2742*SADff)+0.1851 公式(2)
DynDif<(3.3571*RsF)-20.5594 公式(3)
TemporalTex≥(0.1983*TextureLevel)+1.4804 公式(4)
TemporalTex<(2.5075*TextureLevel)+9.5640 公式(5)
DynDif>(-2.9723*StatDif)+1.5171 公式(6)
RsF<(3.3829*SADff)-2.0947 公式(7)
TemporalTex≥(0.0344*TextureLevel)+0.3003 公式(8)
RsF<(-1.1642*TextureLevel)+1.2433 公式(9)
其中,可以如在此所讨论的那样确定描述符DynDif、SADff、 BigTexture、RsF、TemporalTex、TextureLevel和StatDif。此外,公式(1)-(9)示出示例参数和比较符,然而,可以使用其它参数和/ 或比较符。
如所示,处理2500可以从开始操作2501开始于操作2502,其中,可以基于公式(1)-(9)来执行测试,并且对于每个测试,可以提供真或假(T/F)的输出。在所示示例中,使用公式(1)-(9),然而,可以提供更多或更少的测试,并且如所讨论的那样,可以提供不同的参数和/或比较符。
处理2500可以继续于判断操作2503,“大部分为真”,其中,可以关于大部分操作2502是否提供为真的输出进行确定。如果是,则处理 2500可以继续于操作2504,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理2500可以结束于结束操作2506。如果否 (例如大部分操作2502提供为假的输出),则处理2500可以继续于操作2505,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理2500可以结束于结束操作2506。
如所讨论的那样,在此所讨论的处理2500和/或方法1可以基于各种描述符来执行9个比较测试,使得可以基于大部分结果是否为真而关于帧是隔行还是逐行的进行确定。例如,如果5个或更多个(例如大部分)比较为真,则正评估的帧被确定为隔行的,并且否则,帧被确定为逐行的。
如关于操作1509-1513所讨论的那样,在一些示例中,具有2个阶段的分类器方法2可以应用于将当前帧指明为隔行或逐行的。例如,分类器方法1阶段1可以将当前帧分类为隔行、逐行或不能断定的,并且如果帧在阶段1被分类为不能断定的,则阶段2可以应用于确定当前帧是隔行还是逐行的。例如,阶段1可以基于测得的数据和所确定的描述符来使用曲线拟合方法,并且阶段2可以基于测得的数据、所确定的描述符以及机器学习算法来使用机器学习,以将当前帧指明为隔行或逐行的。例如,方法2可以基于在此所讨论的10个公共描述符以及新的专用描述符而包括两个阶段分析和比较系统。
图17A和图17B示出根据本公开的至少一些实现方式所布置的提供用于将帧分类为隔行、逐行或不能断定的示例处理1700的流程图。在一些示例中,系统1200的隔行/逐行帧分类器1202可以执行处理 1700或其部分,以提供隔行帧指示符1203。例如,隔行/逐行帧分类器1202可以如果当前帧是隔行帧则输出intl_frm=1,并且,如果帧确定为逐行的,则输出intl_frm=0。此外,如果帧被确定为不能断定的,则隔行/逐行帧分类器1202可以经由处理1700提供无输出。处理 1700可以包括图17A和图17B所示的一个或多个操作1701-1724。处理1700可以形成在此所讨论的视频预处理的至少部分。
例如,第一阶段检测(例如方法2阶段1)可以基于经验性的一组十二个公式以及可以处理分类确定性(例如隔行或逐行,请参照图14) 的区块的处理。第二阶段(例如方法2阶段2)可以是可以处理帧特性并不清楚的区域(请参照图14)的详细分类方法。在这些区域中,可能需要利用多维分析的技术。为了对该情况进行建模,可以使用机器学习分类器。例如,机器学习分类器可以基于学习集而预先受训练。在一些示例中,机器学习分类器可以基于C4.5分类树算法的版本(例如来自Weka(Waikato环境知识分析)的C4.5分类树算法的J48Java 实现方式)。
如所讨论的那样,方法2可以利用对在此所讨论的描述符的附加描述符。例如,描述符RsDif可以被确定为同一帧的顶部场与底部场的垂直纹理之间的绝对差。例如,可以在操作1303或1526确定描述符RsDif。描述符orient_dyndif可以被确定为DynDif与帧大小和纹理被确定为人工的且由运动产生的块的计数的比率的反正切。在一些示例中,orient_dyndif可以与直线1405的斜率或角度关联,如关于图14 所讨论的那样。例如,orient_dyndif可以被确定为orient_dyndif= Tan-1(DynDif/Frame_size/cnt_texblk)。可以例如关于操作1522和1523 如在此所讨论的那样确定描述符ZeroTexture、用于没有纹理且大于黑色的块的条件计数。描述符SADtb可以被确定为当前帧的顶部场与前一帧的底部场之间的交叉SAD,如在此所讨论的那样。描述符SADbt 可以被确定为当前帧的底部场与前一帧的顶部场之间的交叉SAD。
例如,方法2阶段1可以使用描述符和比较测试,以确定当前帧是隔行、逐行还是不能断定的。在一些示例中,方法2阶段1可以在十二个比较测试中使用4个公共显式描述符(例如SADff、DynDif、 TemporalTex和TextureLevel),以确定输入帧是否为隔行的。比较测试的公式可以基于使用观测到的数据的曲线拟合。这些公式可以用在在此进一步讨论的处理1700中,并且示例公式(例如公式(10)-(21)) 如下:
TemporalTex≤(0.997*TextureLevel2)+(-0.0512*TextureLevel)+0.2375
公式(10)
DynDif≤(0.1665*(SADff)3)+(-3.3511*(SADff)2)+(26.426*(SADff))+0.95
公式(11)
DynDif<0.0176*e0.6726*(SADff) 公式(12)
DynDif<(0.058*(SADff)3)+(-0.673*(SADff)2)+(2.671*(SADff))-2.8396
公式(13)
DynDif>(-2.1491*(SADff)3)+(51.764*(SADff)2)+(-389.04*(SADff))+943.0
公式(14)
DynDif≤(5.122*(SADff)2)+(-76.323*(SADff))+286.58 公式(15)
DynDif
>(-2.3272*(SADff)3)+(68.832*(SADff)2)+(-649.82*(SADff))+2003.68
公式(16)
DynDif<(1.0189*(SADff)2)+(-19.57*(SADff))+118.84 公式(17)
DynDif>(23.314*(SADff)2)+(-581.74*(SADff))+3671.1 公式(18)
DynDif>(-4.4652*(SADff)2)+(189.79*(SADff))-1624.82 公式(19)
DynDif<(23.314*(SADff)2)+(-581.74*(SADff))+3671.1 公式(20)
DynDif>(-1.8092*(SADff)2)+(180.44*(SADff))-3081.81 公式(21)
其中,可以如在此所讨论的那样确定描述符TemporalTex、 TextureLevel、DynDif和SADff。此外,公式(10)-(21)示出示例参数和比较符,然而,可以使用其它参数和/或比较符。如所示,公式 (11)-(21)可以仅基于DynDif和SADff。
如所示,处理1700可以从开始操作1701开始于判断操作1702,“orient_dyndif>=999?”,其中,可以关于orient_dyndiff是否大于或等于999进行确定。如果是,则处理1700可以继续于操作1721,“帧是逐行的”(请参照图17B),其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1703,“orient_dyndif> 0.73?”,其中,可以关于orient_dyndiff是否大于0.73进行确定。如果是,则处理1700可以继续于操作1723,“帧是隔行的”(请参照图 17B),其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1704,“(TextureLevel <=-3.5)或(公式10为真)?”,其中,可以关于TextureLevel是否小于或等于-3.5或者公式(10)是否为真进行确定。如果皆不为真,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果任一为真,则处理1700可以继续于判断操作1705,“公式10 为真?”,其中,可以关于公式(11)是否为真进行确定。如果否,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果公式(11)为真,则处理1700可以继续于判断操作1706,“(SADff<4.5)并且(公式12为真)?”,其中,可以关于SADff是否小于4.5以及公式(12)是否为真进行确定。如果皆为真,则处理 1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果一个或二者为假,则处理1700可以继续于判断操作1707,“(4.5<=SADff<7.0)并且(公式13为真)?”,其中,可以关于SADff 是否大于或等于4.5而且小于7.0以及公式(13)是否为真进行确定。如果皆为真,则处理1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果一个或二者为假,则处理1700可以继续于判断操作1708,“(7.0<=SADff<9.6)并且(公式14为真)?”,其中,可以关于SADff 是否大于或等于7.0而且小于9.6以及公式(14)是否为真进行确定。如果皆为真,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果一个或二者为假,则处理1700可以继续于判断操作1709,“(7.0<=SADff<8.3)并且(公式13为真)?”,其中,可以关于SADff 是否大于或等于7.0而且小于8.3以及公式(13)是否为真进行确定。如果皆为真,则处理1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果一个或二者为假,则处理1700可以继续于判断操作1710,“(8.3<=SADff<9.6)并且(公式15为真)?”,其中,可以关于SADff 是否大于或等于8.3而且小于9.6以及公式(15)是否为真进行确定。如果皆为真,则处理1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果一个或二者为假,则处理1700可以继续于判断操作1711(请参照图17B),“9.6<=SADff<12.055?”,其中,可以关于SADff是否大于或等于9.6并且小于12.055进行确定。如果是,则处理1700可以继续于判断操作1714,如在此进一步讨论的那样。
如果否,则处理1700可以继续于判断操作1712,“公式16为真?”,其中,可以关于公式(16)是否为真进行确定。如果是,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1713,“公式17为真?”,其中,可以关于公式(17)是否为真进行确定。如果是,则处理1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1714(处理1700也可以如所讨论的那样从判断操作1711继续于判断操作1714),“12.055 <=SADff<15.5?”,其中,可以关于SADff是否大于或等于12.055并且小于15.5进行确定。如果否,则处理1700可以继续于判断操作1717,如在此进一步讨论的那样。
如果否,则处理1700可以继续于判断操作1715,“公式18为真?”,其中,可以关于公式(18)是否为真进行确定。如果是,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1716,“公式17为真?”,其中,可以关于公式(17)是否为真进行确定。如果是,则处理1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1717(处理1700也可以如所讨论的那样从判断操作1714继续于判断操作1717),“15.5<= SADff<22.7?”,其中,可以关于SADff是否大于或等于15.5并且小于22.7进行确定。如果否,则处理1700可以继续于判断操作1720,如在此进一步讨论的那样。
如果是,则处理1700可以继续于判断操作1718,“公式19为真?”,其中,可以关于公式(19)是否为真进行确定。如果是,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1719,“公式20为真?”,其中,可以关于公式(20)是否为真进行确定。如果是,则处理1700可以继续于操作1721,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于判断操作1720(处理1700也可以如所讨论的那样从判断操作1717继续于判断操作1720),“(SADff>=22.7)并且(公式21为真)?”,其中,可以关于SADff 是否大于或等于22.7以及公式(21)是否为真进行确定。如果皆为真,则处理1700可以继续于操作1723,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理1700可以结束于结束操作1724。
如果否,则处理1700可以继续于操作1722,“帧是不能断定的”,其中,当前帧可以被指明或确定为不能断定的,并且处理1700可以结束于结束操作1724。例如,当当前帧被指明或确定为不能断定的时,可以调用处理的第二阶段,以对当前帧进行分类。
例如,处理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.5and SADff<7.0)并且(公式13为真)?如果“是”,则帧是“逐行”的,进入步骤19;6.(SADff>=7.0and SADff<9.6)并且(公式14 为真)?如果“是”,则帧是“隔行”的,进入步骤19;7.(SADff>=7.0 and SADff<8.3)并且(公式13为真)?如果“是”,则帧是“逐行”的,进入步骤19;8.(SADff>=8.3And SADff<9.6)并且(公式15为真)?如果“是”,则帧是“逐行”的,进入步骤19;9.(SADff>=9.6and SADff <12.055)?如果“是”,则进入步骤12;10.(公式16为真)?如果“是”,则帧是“隔行”的,进入步骤19;11.(公式17为真)?如果“是”,则帧是“逐行”的,进入步骤19;12.(SADff>=12.055andSADff< 15.5)?如果“否”,则进入步骤15;13.(公式18为真)?如果“是”,则帧是“隔行”的,进入步骤19;14.(公式17为真)?如果“是”,则帧是“逐行”的,进入步骤19;15.(SADff>=15.5and SADff<27.7)?如果“否”,则进入步骤18;16.(公式19为真)?如果“是”,则帧是“隔行”的,进入步骤19;17.(公式20为真)?如果“是”,则帧是“逐行”的,进入步骤19;18.(SADff>=22.7)并且(公式21为真)?如果“是”,则帧是“隔行”的,进入步骤19。如果否,则关于帧的格式的判断是“不能断定”的;19.结束处理。
如所讨论的那样,在此所讨论的处理1700和/或方法2阶段1可以基于各种描述符来执行比较测试,使得可以关于帧是隔行、逐行还是不能断定的进行确定。例如,阶段1的结果可以是将帧分类为逐行、隔行或不能断定的。此外,阶段1可以处理临界判断区之外的情况(例如具有异常高等级的逐行/隔行确定性的情况)。临界判断区中的情况可以确定为不能断定的,并且可能需要阶段2进行的特殊处理。
处理1700提供示例方法2阶段1,如所讨论的那样。其它方法2、阶段1技术可以用于确定帧是隔行、逐行还是不能断定的。
图26是示出根据本公开的至少一些实现方式所布置的用于将帧分类为隔行、逐行或不能断定的示例处理2600的流程图。在一些示例中,系统1200的隔行/逐行帧分类器1202可以执行处理2600或其部分,以提供隔行帧指示符1203。例如,隔行/逐行帧分类器1202可以如果当前帧是隔行帧则输出intl_frm=1,并且,如果帧被确定为逐行的,则输出intl_frm=0。此外,如果帧被确定为不能断定的,则隔行/ 逐行帧分类器1202可以经由处理2600提供无输出。处理2600可以包括图26所示的一个或多个操作2601-2614。处理2600可以形成在此所讨论的视频预处理的至少部分。
例如,第一阶段检测(例如方法2阶段1)可以基于描述符和比较测试。在示例中,方法2阶段1的该实施例可以基于组合以形成比较测试的6个描述符(例如SADff、DynDif、RsF、orient_dyndif、RsDif 以及StatDif)。这些测试可以用在在此进一步讨论的处理2600中,并且示例测试(例如测试(22)-(30))如下:
((SADff<1.36)and(DynDif>(11.881*SADff2)+(5.6928*SADff)+(-0.0382))
测试(22)
((SADff>=1.36)and(DynDif>(-1.6659*SADff2)+(22.971*SADff)+1.6771)
测试(23)
((SADff<3.6)and(DynDif<(0.00883*SADff2)+(-0.0122*SADff)+(0.0536))
测试(24)
((SADff<6.4)and(DynDif<(0.2351*SADff2)+(-1.7131*SADff)+3.2031)
测试(25)
((SADff>=6.4)and(DynDif<(0.5894*SADff2)+(-6.4449*SADff)+18.995)
测试(26)
((RsF<5.0)and(orient_dyndif<(0.0057*RsF2)+(-0.0291*RsF))+0.0483)
测试(27)
((RsF>=5.0)and(orient_dyndif<(0.0151*RsF2)+(-0.1426*RsF)+0.3796)
测试(28)
((RsDif<6.0)and(StatDif<(0.8089*RsDif2)+(0.4744*RsDif)+(-0.7448))
测试(29)
((RsDif>=6.0)and(StatDif<(0.7032*RsDif2)+(-4.6914*RsDif)+33.119)
测试(30)
其中,可以如在此所讨论的那样确定描述符SADff、DynDif、RsF、 orient_dyndif和RsDif。此外,测试(22)-(30)示出示例参数和比较符,然而,可以使用其它参数和/或比较符。如所示,公式(11)-(21) 可以仅基于DynDif和SADff。
如所示,处理2600可以从开始操作2601开始于判断操作2602,“测试22为真?”,其中,可以关于测试(22)是否为真进行确定。如果是,则处理2600可以继续于操作2613,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2603,“测试23为真?”,其中,可以关于测试(23)是否为真进行确定。如果是,则处理2600可以继续于操作2613,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2604,“测试24为真?”,其中,可以关于测试(24)是否为真进行确定。如果是,则处理2600可以继续于操作2611,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2605,“测试25为真?”,其中,可以关于测试(25)是否为真进行确定。如果是,则处理2600可以继续于操作2611,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2606,“测试26为真?”,其中,可以关于测试(26)是否为真进行确定。如果是,则处理2600可以继续于操作2611,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2607,“测试27为真?”,其中,可以关于测试(27)是否为真进行确定。如果是,则处理2600可以继续于操作2611,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2608,“测试28为真?”,其中,可以关于测试(28)是否为真进行确定。如果是,则处理2600可以继续于操作2611,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2609,“测试29为真?”,其中,可以关于测试(29)是否为真进行确定。如果是,则处理2600可以继续于操作2613,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于判断操作2610,“测试30为真?”,其中,可以关于测试(30)是否为真进行确定。如果是,则处理2600可以继续于操作2613,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理2600可以结束于结束操作2614。
如果否,则处理2600可以继续于操作2612,“帧是不能断定的”,其中,当前帧可以被指明或确定为不能断定的,并且处理2600可以结束于结束操作2614。例如,当当前帧被指明或确定为不能断定的时,可以调用处理的第二阶段,以对当前帧进行分类。
例如,可以如以下伪码(4)所示提供处理2600的操作:
if((SADff<1.36)&&(DynDif>2)+(5.6928SADff)+(-0.0382))
帧是“隔行”的,
else if((SADff>=1.36)&&(DynDif>2)+(22.971SADff)+1.6771)
帧是“隔行”的,
else if((SADff<3.6)&&(DynDif<2)+(-0.0122SADff)+(0.0536))
帧是“逐行”的,
else if((SADff<6.4)&&(DynDif<2)+(-1.7131SADff)+3.2031)
帧是“逐行”的,
else if((SADff>=6.4)&&(DynDif<2)+(-6.4449SADff)+18.995)
帧是“逐行”的,
else if((RsF<5.0)&&(orient_dyndif 2)+(-0.0291RsF))+0.0483)
帧是“逐行”的,
else if((RsF>=5.0)&&(orient_dyndif<2)+(-0.1426RsF)+0.3796)
帧是“逐行”的,
else if((RsDif<6.0)&&(StatDif<2)+(0.4744RsDif)+(-0.7448))
帧是“隔行”的,
else if((RsDif>=6.0)&&(StatDif<2)+(-4.6914RsDif)+33.119)
帧是“隔行”的,
else帧是“不能断定”的 伪码(4)
如关于操作1509-1513所讨论的那样,在一些示例中,具有2个阶段的分类器方法2可以应用于将当前帧指明为隔行或逐行的。如所讨论的那样,分类器方法1阶段1可以将当前帧分类为隔行、逐行或不能断定的,并且如果帧在阶段1分类为不能断定的,则阶段2可以应用于确定当前帧是隔行还是逐行的。例如,阶段2可以基于测得的数据、所确定的描述符以及机器学习算法来使用机器学习,以将当前帧指明为隔行或逐行的。
图18是示出根据本公开的至少一些实现方式所布置的用于将帧分类为隔行或逐行的示例处理1800的流程图。在一些示例中,系统1200 的隔行/逐行帧分类器1202可以执行处理1800或其部分,以提供隔行帧指示符1203。例如,隔行/逐行帧分类器1202可以如果当前帧是隔行帧则输出intl_frm=1,并且,如果帧被确定为逐行的,则输出 intl_frm=0。处理1800可以包括一个或多个操作1801-1821以及如所讨论的那样很多更多,如图18所示。处理1800可以形成在此所讨论的视频预处理的至少部分。
例如,方法2阶段2可以处理临界判断区的情况(请参照图14),其可以通过多变量空间搜索的方法得以解决。例如,该阶段可以使用在此所讨论的描述符。例如,该阶段可以使用先前所讨论的10个公共描述符中的9个描述符(例如SADff、RsG、RsT、RsB、DynDif、StatDif、TemporalTex、BigTexture、TextureLevel)以及5个附加描述符(例如RsDif、orient_dyndif、ZeroTexture、SADtb、SADbt)。例如,阶段2可以采用基于学习集合所预先训练的机器学习分类器。在一些示例中,机器学习分类器可以基于C4.5分类树算法的版本(例如在此所讨论的来自Weka的C4.5分类树算法的J48Java实现方式)。例如,可以使用所讨论的描述符预先训练分类器。图18因判断树的较大大小而仅示出分类器的流程图的部分。例如,在此所讨论的方法2 阶段2分类可以实现使用数十万种情况所训练的分类器,以生成具有几千个判断操作的流程图。
如所示,处理1800可以从开始操作1801开始于判断操作1802,“TextureLevel<=-0.969?”,其中,可以关于TextureLevel是否小于或等于-0.969进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果否,则处理1800可以继续于判断操作1803,“SADbt<= 0.465?”,其中,可以关于SADbt是否小于或等于0.465进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1804,“orient_dyndif <=0.038?”,其中,可以关于orient_dyndif是否小于或等于0.038进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1805,“SADtb<= 2.649?”,其中,可以关于SADtb是否小于或等于2.649进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1806,“orient_dyndif <=0.0?”,其中,可以关于orient_dyndif是否小于或等于0.0进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1807,“SADbt<= 0.273?”,其中,可以关于SADbt是否小于或等于0.273进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1808,“SADtb<= 0.259?”,其中,可以关于SADtb是否小于或等于0.259进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1809,“SADbt<= 0.202?”,其中,可以关于SADbt是否小于或等于0.202进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1810,“SADtb<= 0.199?”,其中,可以关于SADtb是否小于或等于0.199进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如果是,则处理1800可以继续于判断操作1811,“SADtb<= 0.168?”,其中,可以关于SADtb是否小于或等于0.168进行确定。如果是,则处理1800可以继续于操作1812,如以下所讨论的那样。
如果否,则处理1800可以继续于判断操作1818,“SADbt<= 0.19?”,其中,可以关于SADbt是否小于或等于0.19进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。如果是,则处理1800可以继续于判断操作1819,“TemporalTex <=0.134?”,其中,可以关于TemporalTex是否小于或等于0.134进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。如果否,则处理1800可以继续于判断操作1820,“SADff<=1.192?”,其中,可以关于SADff是否小于或等于1.192进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。如果是,则处理1800可以继续于判断操作1821,“SADtb<=0.182?”,其中,可以关于SADtb是否小于或等于0.182进行确定。如果否,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。如果是,则处理1800可以提供继续的处理,其出于清楚陈述的原因而未示出。
如所讨论的那样,当SADtb小于或等于0.168时,处理1800可以从判断操作1811继续于判断操作1812,“SADbt<=0.159?”,其中,可以关于SADbt是否小于或等于0.159进行确定。如果是,则处理 1800可以继续于操作1813,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1800可以结束于结束操作1817。
如果否,则处理1800可以继续于判断操作1814,“BigTexture<= 0.947?”,其中,可以关于BigTexture是否小于或等于0.947进行确定。如果是,因此,则处理1800可以继续于操作1815,“帧是逐行的”,其中,当前帧可以被指明或确定为逐行的,并且处理1800可以结束于结束操作1817。如果否,则1800可以继续于操作1816,“帧是隔行的”,其中,当前帧可以被指明或确定为隔行的,并且处理2600 可以结束于结束操作1817。
如所讨论的那样,图18的流程图首先包括关于TextureLevel <=“TextureLevel阈值1”的测试,其如果为真则通向测试是否 SADbt<=“SADbt阈值1”,其如果为真则通向另一测试是否 orient_dyndif<=“orient_dyndif阈值1”,其如果为真则通向另一测试是否SADtb<=“SADtb阈值1”,其如果为真则通向另一测试是否 orient_dyndif<“orient_dyndif阈值2”,其如果为真则通向另一测试是否 SADbt<=“SADbt阈值2”,其如果为真则通向另一测试是否 SADtb<=“SADtb阈值2”,依此类推,直到其通向是否 SADbt<=“SADbt阈值k”,其如果为真则通向帧检查为“逐行”的结论。替代地,如果SADbt<=“SADbt阈值k”为假,则流程图通向测试是否 BigTexture<=“BigTexture阈值1”,其如果为真则意味着帧是“逐行”的,否则其为“隔行”的。
处理1800可以提供方法2阶段2分类器的一个部分的说明。当一些早期测试(例如对于TextureLevel、或SADbt、或orient_dyndif、或 SADtb)为假时产生的其它分支导致需要承担的所得单独“测试树”。例如,分类器可以产生很多分支。然而,处理1800可以并非计算密集的。例如,处理1800可以仅表示分类器中可以包括的几千个这些测试中的小部分(例如大约16个判断测试)。
简短返回图12,如所讨论的那样,帧组缓冲器1204可以存储15 或16个帧,包括当前帧组中的5个帧、前一帧组中的5个帧、后一组帧组中的5个帧以及1个可选控制帧。这些帧可以提供给或可用于帧组影视化模式/逐行/隔行分类器1205。如所讨论的那样,帧组影视化模式/逐行/隔行分类器1205可以(例如经由intl_frm)接收帧组以及它们的关联帧类型,并且帧组影视化模式/逐行/隔行分类器1205可以生成真实隔行指示符(tru_intl)1206、逐行指示符(prog_ind)1207以及影视化类型指示符(tel_type)1208,以用于聚合输入视频1201的帧组。帧组影视化模式/逐行/隔行分类器1205可以使用任何一种或多种合适的技术(例如在此所讨论的技术)生成这些指示符。
图19A和图19B示出根据本公开的至少一些实现方式所布置的提供用于对帧组进行分类的示例处理1900的流程图。在一些示例中,处理1900或其部分可以由系统1200的帧组影视化模式/逐行/隔行分类器 1205执行,以提供隔行指示符1206、逐行指示符1207或影视化类型指示符(tel_type)1208,和/或提供逐行视频(例如检测到的逐行视频、解隔行的逐行视频或影视化反转的逐行视频)。处理1900可以包括图 19A和图19B所示的一个或多个操作1901-1920。处理1700可以形成在此所讨论的视频预处理的至少部分。
如所讨论的那样,在处理1900中,可以在存储5个过去帧(例如过去帧组)、5个当前帧(例如当前帧组)以及5个后续帧(例如下一帧组)以用于分析的15个帧的缓冲区内的称为帧组的5个帧的团块中分析帧。
如所示,处理1900可以从开始操作1901开始于判断操作1902,“所有帧是逐行的”,其中,可以关于当前帧组中的所有帧是否为逐行的进行确定。如果是,则处理1900可以继续于操作1914(请参照图 19B),如在此进一步讨论的那样。
如果否,则处理1900可以继续于判断操作1903,“所有帧是隔行的”,其中,可以关于当前帧组中的所有帧是否为隔行的进行确定。如果是,则处理1900可以继续于操作1914(请参照图19B),如在此进一步讨论的那样。
如果否,则处理1900可以继续于操作1904,“4:1a下拉模式检测”,其中,可以执行4:1a下拉模式检测,如在此进一步讨论的那样。处理1900可以继续于判断操作1905,“这是4:1a模式?”,其中,可以基于操作1904的结果而关于当前帧组是否具有4:1a模式进行确定。如果是,则处理1900可以继续于操作1914(请参照图19B),如在此进一步讨论的那样。
如果否,则处理1900可以继续于操作1906,“4:1b下拉模式检测”,其中,可以执行4:1b下拉模式检测,如在此进一步讨论的那样。处理1900可以继续于判断操作1907,“这是4:1b模式?”,其中,可以基于操作1906的结果而关于当前帧组是否具有4:1b模式进行确定。如果是,则处理1900可以继续于操作1914(请参照图19B),如在此进一步讨论的那样。
如果否,则处理1900可以继续于操作1908,“混合下拉模式检测”,其中,可以执行混合下拉模式检测,如在此进一步讨论的那样。处理1900可以继续于判断操作1909,“这是混合模式?”,其中,可以基于操作1908的结果而关于当前帧组是否具有混合模式进行确定。如果是,则处理1900可以继续于操作1914(请参照图19B),如在此进一步讨论的那样。
如果否,则处理1900可以继续于操作1910,“3:2下拉模式检测”,其中,可以执行3:2下拉模式检测,如在此进一步讨论的那样。处理1900可以继续于判断操作1911,“这是3:2模式?”,其中,可以基于操作1910的结果而关于当前帧组是否具有3:2模式进行确定。如果是,则处理1900可以继续于操作1914(请参照图19B),如在此进一步讨论的那样。
如果否,则处理1900可以继续于操作1912,“2:3:3:2下拉模式检测”,其中,可以执行2:3:3:2下拉模式检测,如在此进一步讨论的那样。处理1900可以继续于判断操作1913,“这是2:3:3:2模式?”,其中,可以基于操作1912的结果而关于当前帧组是否具有2:3:3:2模式进行确定。如果是,则处理1900可以继续于操作1914(请参照图19B),如在此进一步讨论的那样。
如果否,则转到图19B,处理1900可以继续于操作1917,“自适应影视化模式反转器(例如图23)”,如在此进一步讨论的那样。
如所讨论的那样,处理1900可以从任何判断操作1902、2903、 1905、1907、1909、1911或1913继续于判断操作1914,“模式等于前一模式和预计模式?”,其中,可以关于当前帧组是否具有与前一帧组(例如先前帧组)和预计帧组(例如下一帧组)相同的模式进行确定。例如,当前帧组模式可以与前一模式和预计模式进行比较。
如果它们是相同的,则处理可以继续于判断操作1915,“全为逐行的?”,其中,可以关于是否当前帧组中的所有帧是逐行的进行确定。如果是,则处理1900可以继续于操作1919,“计算时间戳”,其中,可以对于(例如包括定时信息和/或帧位置信息的)视频计算时间戳。然而,由于关于重新编码或呈现方式可能期望逐行视频格式,因此可以不执行视频的附加处理(例如转换),如在此所讨论的那样。
如果并非所有帧是逐行的,则处理1900可以继续于判断操作 1916,“全为隔行的?”,其中,可以关于是否当前帧组中的所有帧是隔行的进行确定。如果是,则处理1900可以继续于操作1918,“自适应隔行反转器(解隔行器)(例如图24)”,其中,可以对帧进行解隔行,如在此进一步讨论的那样。处理可以继续于操作1919,“计算时间戳”,其中,可以对于(例如包括定时信息和/或帧位置信息的)视频计算时间戳。
如果所有帧并非隔行的,则处理1900可以继续于操作1917(也如所讨论的那样,处理1900也可以从判断操作1913或1914继续于操作 1917),“自适应影视化模式反转器(例如图23)”,其中,帧可以经受影视化反转,如在此进一步讨论的那样。处理可以继续于操作1919,“计算时间戳”,其中,可以对于(例如包括定时信息和/或帧位置信息的)视频计算时间戳。处理可以结束于结束操作1920。
如所讨论的那样,处理1900可以确定用于帧组的分类。例如,如果当前帧组中的所有5个帧是逐行的,并且前5个帧是逐行的,而且后5个帧也是逐行的,则5个当前帧组宣告为完全逐行的,并且除了对每个帧计算或分配时间戳之外,无需进一步处理。
此外,如果当前帧组中的所有5个帧是隔行的,并且前5个帧和后5个帧也是完全隔行的,则当前帧组被确定为隔行的。在这些示例中,可以将当前帧组发送到自适应隔行反转器/解隔行器(例如内容自适应隔行反转器1211),其可以对帧进行解隔行,例如如关于图24所示出的那样(例如,通过解隔行将帧转换为逐行的),然后时间戳可以得以确定并且分配。
如果当前帧组没有被确定为完全隔行的(例如,帧中的至少一个没有登记为隔行的),则该组帧可以经受一系列分析测试,以用于按以下顺序检测影视化模式:4:1a模式检测、4:1b模式检测、混合模式检测、3:2模式检测、2:3:3:2模式检测。如果并未发现这些模式,则模式可以被确定为未知的或不可检测的模式。虽然前述顺序可以提供优点,但可以按任何顺序完成影视化模式的搜索。对于已知的正测试的影视化模式(例如4:1a、4:1b、混合、3:2以及2:3:3:2),有利的是,使用过去模式和未来(例如预计)模式,以确认当前帧组模式是相同的,使得增加检测到的模式中的置信度。如果所有所讨论的条件为真 (例如,其为已知的模式,并且已知的模式与前一模式和下一模式相同),则可以将当前帧组发送到自适应影视化模式反转器(例如影视化反转器1212),其可以例如关于图23所示反转影视化模式,其可以使用检测为解除模式的模式。
然而,如果当前帧组并非由完全逐行帧或完全隔行帧组成,或者被检测为未知的影视化模式,或者如果其不匹配前一模式和/或下一模式,则将当前帧组发送到自适应影视化模式反转器(例如影视化反转器1212),其可以关于编辑误差而校正(例如,在一些示例中,轻微地校正)模式,并且再次确定是否存在模式。如果未检测到模式,则自适应影视化模式可以对单独有问题的帧进行解隔行。如所讨论的那样,如果确认存在模式,则可以反转模式,并且输出帧。无论如何,可以计算时间戳并且在自适应影视化模式反转器的输出处将其分配给帧。
如关于操作1904和1905所讨论的那样,可以对于当前帧组检测 4:1a下拉模式。可以使用任何一种或多种合适的技术来检测4:1a下拉模式。如先前关于图27A所讨论的那样,4:1a下拉模式可以形成为一组4个原始帧(例如,其可以看作8个场),后接该组4个帧中的最后帧(例如两个场)的重复。为了检测4:1a下拉模式,可以检查6个帧,以确定模式产生在5帧节奏(cadence)的内部。例如,可以确定当前顶部场针对前一顶部场的平均SAD值(例如SADtf)以及当前底部场针对前一底部场的平均SAD值(例如SADbf)。如果值关于这两个场比较是非常小的(例如,小于0.001),则关于当前帧确定 orient_dyndif。如果orient_dyndif非常小(例如,小于0.001),并且如果前一帧和后一帧与当前帧相比具有更大的orient_dyndif,如果所有其它帧具有大于0.001的平均SAD和大于0.001的orient_dyndif,则可以找到模式。在伪码(5)中示出这种处理:
此外,可以关于所重复的帧是否在缓冲器中仅产生一次而执行检查,如伪码(6)所示:
if((countDrop==1)&&(countStay==5))
//Note—if this is true,the pattern has been found 伪码(6)
如关于操作1906和1907所讨论的那样,可以对于当前帧组检测 4:1b下拉模式。可以使用任何一种或多种合适的技术来检测4:1b下拉模式。如先前关于图28A所讨论的那样,4:1b下拉模式可以形成为一组原始帧(例如,其看作2个场),后接(例如从连续原始帧的交替场形成的)4个隔行帧。场的顺序如下:…d0a1][a0a1,a0b1,b0c1,c0 d1,d0a1]][a0a1,a0b1,b0c1,c0d1,d0a1][a0a1,...
在这些示例中,可以评估检查5个帧,但前四个或五个帧可以被检测为隔行的,然后可以测试伪码(7)所示的以下条件:
如关于操作1910和1911所讨论的那样(请参照图19A),可以对于当前帧组检测3:2下拉模式。可以使用任何一种或多种合适的技术来检测3:2下拉模式。在一些示例中,检测3:2模式的难度在于有偏 3:2模式。例如,特定帧组可能并未与3:2模式对准,使得3:2模式可能相对于帧组的开始而偏移。这些有偏模式可以出于很多原因(包括例如编辑)而产生。在一些示例中,为了精确地分析用于检测3:2模式的帧,可以将多个帧缓存到帧缓冲器,使得F[x]指代正进行分析的位于缓冲器中的位置x中的帧(例如,F[x]可以是当前帧)。在该3:2模式检测中,可以基于评估测试来评估多个情形,以确定3:2模式(例如有偏或偏移3:2模式)是否出现。
例如,在3:2模式检测的第一情形中,评估测试可以确定当前缓冲器中的最前和最后帧是否具有有偏模式。可以根据以下测试(31) 执行对于第一情形的评估测试:
test[0]=((DynDif(F[0])>DynDif(F[1]))and(DynDif(F[0])>DynDif(F[2]))
and(DynDif(F[0])>DynDif(F[3])))or(F[0]==‘interlaced’)
test[1]=((DynDif(F[4])>DynDif(F[1]))and(DynDif(F[4])>DynDif(F[2]))and
(DynDif(F[4])>DynDif(F[3])))or(F[4]==‘interlaced’)
test[2]=((DynDif(F[5])>DynDif(F[1]))and(DynDif(F[5])>DynDif(F[2]))and
(DynDif(F[5])>DynDif(F[3])))or(F[5]==‘interlaced’)
test[3]=(SADff(F[0]))>min(SADtb(F[0]),SADbt(F[0]))
test[4]=(SADff(F[4]))>min(SADtb(F[4]),SADbt(F[4]))
test[5]=(SADff(F[5]))>min(SADtb(F[5]),SADbt(F[5]))
测试(31)
使得如果测试(31)中的所有test[0]、test[1]、test[2]、test[3]、test[4] 和test[5]为真,则看作已经检测到3:2下拉模式。如在此所讨论的那样,如果前一帧组的结果也为真(例如,检测到3:2下拉模式)和/或后一帧组也为真(例如,检测到3:2下拉模式),则当前模式可以被指明或确定为3:2下拉模式。
例如,在3:2模式检测的第二情形中,评估测试可以确定当前缓冲器中的第一帧和第二帧是否具有有偏模式。可以根据以下测试(32) 执行对于第二情形的评估测试:
test[0]=((DynDif(F[0])>DynDif(F[2]))and(DynDif(F[0])>DynDif(F[3]))and
(DynDif(F[0])>DynDif(F[4])))or(F[0]==‘interlaced’)
test[1]=((DynDif(F[1])>DynDif(F[2]))and(DynDif(F[1])>DynDif(F[3]))and
(DynDif(F[1])>DynDif(F[4])))or(F[1]==‘interlaced’)
test[2]=((DynDif(F[5])>DynDif(F[2]))and(DynDif(F[5])>DynDif(F[3]))and
(DynDif(F[5])>DynDif(F[4])))or(F[5]==‘interlaced’)
test[3]=(SADff(F[0]))>min(SADtb(F[0]),SADbt(F[0]))
test[4]=(SADff(F[1]))>min(SADtb(F[1]),SADbt(F[1]))
test[5]=(SADff(F[5]))>min(SADtb(F[5]),SADbt(F[5]))
测试(32)
使得如果测试(32)中的所有test[0]、test[1]、test[2]、test[3]、test[4] 和test[5]为真,则看作已经检测到3:2下拉模式。如在此所讨论的那样,如果前一帧组的结果也为真(例如,检测到3:2下拉模式)和/或后一帧组也为真(例如,检测到3:2下拉模式),则当前模式可以被指明或确定为3:2下拉模式。
例如,在3:2模式检测的第三情形中,评估测试可以确定当前缓冲器中的第二帧和第三帧是否具有有偏模式。可以根据以下测试(33) 执行对于第二情形的评估测试:
test[0]=((DynDif(F[1])>DynDif(F[0]))and(DynDif(F[1])>(DynDif(F[3]))and
(DynDif(F[1])>DynDif(F[4])))or(F[1]==‘interlaced’)
test[1]=((DynDif(F[2])>DynDif(F[0]))and(DynDif(F[2])>(DynDif(F[3]))and
(DynDif(F[2])>DynDif(F[4])))or(F[2]==‘interlaced’)
test[2]=(SADff(F[1]))>min(SADtb(F[1]),SADbt(F[1]))
test[3]=(SADff(F[2]))>min(SADtb(F[2]),SADbt(F[2]))
测试(33)
使得如果测试(33)中的所有test[0]、test[1]、test[2]和test[3]为真,则看作已经检测到3:2下拉模式。如在此所讨论的那样,如果前一帧组的结果也为真(例如,检测到3:2下拉模式)和/或后一帧组也为真(例如,检测到3:2下拉模式),则当前模式可以被指明或确定为3:2下拉模式。
例如,在3:2模式检测的第四情形中,评估测试可以确定当前缓冲器中的第三帧和第四帧是否具有有偏模式。可以根据以下测试(34) 执行对于第二情形的评估测试:
test[0]=((DynDif(F[2])>DynDif(F[0]))and(DynDif(F[2])>DynDif(F[1]))and
(DynDif(F[2])>DynDif(F[4])))or(F[2]==‘interlaced’)
test[1]=((DynDif(F[3])>DynDif(F[0]))and(DynDif(F[3])>DynDif(F[1]))and
(DynDif(F[3])>DynDif(F[4])))or(F[3]==‘interlaced’)
test[2]=(SADff(F[2]))>min(SADtb(F[2]),SADbt(F[2]))
test[3]=(SADff(F[3]))>min(SADtb(F[3]),SADbt(F[3]))
测试(34)
使得如果测试(34)中的所有test[0]、test[1]、test[2]和test[3]为真,则看作已经检测到3:2下拉模式。如在此所讨论的那样,如果前一帧组的结果也为真(例如,检测到3:2下拉模式)和/或后一帧组也为真(例如,检测到3:2下拉模式),则当前模式可以被指明或确定为3:2下拉模式。
例如,在3:2模式检测的第五情形中,评估测试可以确定当前缓冲器中的第四帧和第五帧是否具有有偏模式。可以根据以下测试(35) 执行对于第二情形的评估测试:
test[0]=((DynDif(F[3])>DynDif(F[0]))and(DynDif(F[3])>DynDif(F[1]))and(DynDif(F[3])>
DynDif(F[2])))or(F[3]==‘interlaced’)
test[1]=((DynDif(F[4])>DynDif(F[0]))and(DynDif(F[4])>DynDif(F[1]))and(DynDif(F[4])>
DynDif(F[2])))or(F[4]==‘interlaced’)
test[2]=(SADff(F[3]))>min(SADtb(F[3]),SADbt(F[3]))
test[3]=(SADff(F[4]))>min(SADtb(F[4]),SADbt(F[4]))
测试(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)。可以经由影视化反转器1212反转该3:2影视化模式,如关于图3B所讨论的那样。例如,可以移除有关的(例如先前重复的)场,可以(例如经由交换帧c1、c0等)对场进行排序,并且可以组合场以生成逐行视频(例如 24帧每秒逐行视频)。
图20是示出根据本公开的至少一些实现方式所布置的在解影视化处理之前以及之后的示例帧2000的示图。如图20所示,帧2000可以包括3:2影视化模式帧2001,其包括真实隔行帧2002、2003、2006以及假冒隔行帧2004和2005。在图20的示例中,3:2影视化模式帧2001 可以示出被组合以形成帧的场,如在此所讨论的那样。例如,真实隔行帧2002、2003、2006可以被组合(或重组),以形成真实逐行帧,其原来仅分离以形成隔行视频中的场。另一方面,假冒隔行帧2004和 2005可以均为原始地来自不同逐行帧的场的组合。例如,可以已经拷贝并且插入场,并且可以已经交换场的顺序,以保持交替场模式(例如底部-顶部-底部-顶部等)。参照图3A,假冒隔行帧2004可以与包括场b0、c1(例如来自不同帧的场)的帧关联,并且假冒隔行帧2005 可以与包括场c0、d1(例如,再次,来自不同帧的场)的帧关联。如所示,这些假冒隔行帧2004、2005可以具有严重的视觉赝像。
帧2000还包括解隔行的逐行帧2007,其包括帧2008-2011。如所示,于在此所讨论的解隔行(例如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模式可能相对于帧组的开始而偏移。这些有偏模式可以出于很多原因(包括例如编辑)而产生。在一些示例中,为了精确地分析用于检测3:2模式的帧,可以将多个帧缓存到帧缓冲器,使得F[x] 指代正进行分析的位于缓冲器中的位置x中的帧(例如,F[x]可以是当前帧)。在该2:3:3:2模式检测中,可以基于评估测试来评估多个情形,以确定2:3:3:2模式(例如有偏或偏移2:3:3:2模式)是否出现。
例如,在2:3:3:2模式检测的第一情形中,评估测试可以确定当前缓冲器中的第一帧是否具有有偏模式。可以根据以下测试(36)执行对于第一情形的评估测试:
test[0]=((DynDif(F[0])>DynDif(F[1]))and(DynDif(F[0])>DynDif(F[2]))and
(DynDif(F[0])>DynDif(F[3]))and(DynDif(F[0])>DynDif(F[4])))or(F[0]==
‘interlaced’)
test[1]=((DynDif(F[5])>(DynDif(F[1]))and(DynDif(F[5])>DynDif(F[2]))and
(DynDif(F[5])>DynDif(F[3]))and(DynDif(F[5])>(DynDif(F[4])))or(F[5]
==‘interlaced’)
test[2]=(SADff(F[0]))>min(SADtb(F[0]),SADbt(F[0]))
test[3]=(SADff(F[5]))>min(SADtb(F[5]),SADbt(F[5]))
测试(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模式检测的第二情形中,评估测试可以确定当前缓冲器中的第二帧是否具有有偏模式。可以根据以下测试(37)执行对于第一情形的评估测试:
test[0]=((DynDif(F[1])>DynDif(F[0]))and(DynDif(F[1]>DynDif(F[2]))and
(DynDif(F[1])>DynDif(F[3]))and(DynDif(F[1])>DynDif(F[4])))or(F[1]==
‘interlaced’)
test[1]=(SADff(F[1]))>min(SADtb(F[1]),SADbt(F[1]))
test[2]=((SADtf(F[1])<SADbf(F[1]))and(SADbf(F[2])<SADtf(F[2])))or
((SADtf(F[2])<SADbf(F[2]))and(SADbf(F[1])<SADtf(F[1])))
测试(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模式检测的第三情形中,评估测试可以确定当前缓冲器中的第三帧是否具有有偏模式。可以根据以下测试(38)执行对于第一情形的评估测试:
test[0]=((DynDif(F[2])>DynDif(F[0]))and(DynDif(F[2])>DynDif(F[1]))and
(DynDif(F[2])>DynDif(F[3]))and(DynDif(F[2])>DynDif(F[4])))or(F[2]==
‘interlaced’)
test[1]=(SADff(F[2])>min(SADtb(F[2]),SADbt(F[2]))
test[2]=((SADtf(F[2])<SADbf(F[2]))and(SADbf(F[3])<SADtf(F[3])))or
((SADtf(F[3])<SADbf(F[3]))and(SADbf(F[2])<SADtf(F[2])))
测试(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模式检测的第四情形中,评估测试可以确定当前缓冲器中的第三帧是否具有有偏模式。可以根据以下测试(39)执行对于第一情形的评估测试:
test[0]=((DynDif(F[3])>DynDif(F[0]))and(DynDif(F[3])>DynDif(F[1]))and
(DynDif(F[3]>DynDif(F[2]))and(DynDif(F[3])>DynDif(F[4])))or(F[3]==
interlaced)
test[1]=(SADff(F[3]))>min(SADtb(F[3]),SADbt(F[3]))
test[2]=((SADtf(F[3])<SADbf(F[3]))and(SADbf(F[4])<SADtf(F[4])))or
((SADtf(F[4])<SADbf(F[4]))and(SADbf(F[3])<SADtf(F[3])))
测试(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模式检测的第五情形中,评估测试可以确定当前缓冲器中的第三帧是否具有有偏模式。可以根据以下测试(40)执行对于第一情形的评估测试:
test[0]=((DynDif(F[4])>DynDif(F[0]))and(DynDif(F[4])>DynDif(F[1]))and
(DynDif(F[4])>DynDif(F[2]))and(DynDif(F[4])>DynDif(F[3])))or(F[4]==
interlaced)
test[1]=(SADff(F[4]))>min(SADtb(F[4]),SADbt(F[4]))
test[2]=((SADtf(F[4])<SADbf(F[4]))and(SADbf(F[5])<SADtf(F[5])))or
((SADtf(F[5])<SADbf(F[5]))and(SADbf(F[4])<SADtf(F[4])))
测试(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)。可以经由影视化反转器1212反转该2:3:3:2模式,如关于图4B所讨论的那样。例如,可以移除有关的(例如先前重复的)场,并且可以组合场以生成逐行视频(例如24帧每秒逐行视频)。
图21是示出根据本公开的至少一些实现方式所布置的在解影视化处理之前以及之后的示例帧2100的示图。如图21所示,帧2100可以包括2:3:3:2影视化模式帧2101,其包括真实隔行帧2102、2103、 2105、2106以及假冒隔行帧2104。在图21的示例中,2:3:3:2影视化模式帧2101可以示出组合以形成帧的场,如在此所讨论的那样。例如,真实隔行帧2102、2103、2105、2106可以组合(或重组),以形成真实逐行帧,其原来仅分离以形成隔行视频中的场。另一方面,假冒隔行帧2104可以是原始地来自不同逐行帧的场的组合。例如,可以已经通过保持交替场模式(例如底部-顶部-底部-顶部等)的方式拷贝并且插入场。参照图4A,假冒隔行帧2104可以与包括场b0、c1(例如来自不同帧的场)的帧关联。如所示,假冒隔行帧2104可能具有严重视觉赝像。
帧2100还包括解隔行的逐行帧2107,其包括帧2108-2111。如所示,于在此所讨论的解隔行(例如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]可以是当前帧)。在该混合模式检测中,可以基于评估测试来评估多个情形,以确定混合模式(例如有偏或偏移混合模式)是否出现。
例如,在混合模式检测中,评估测试可以确定当前缓冲器是否具有混合模式(例如3:2混合下拉模式)。可以根据以下测试(41)执行对于第一情形的估计测试:
test[0]=((StatDif(F[0])+2)<StatDif(F[1]))&&((StatDif(F[0])+2)<StatDif(F[2]))
&&((StatDif(F[0])+2)<StatDif(F[3]))&&((StatDif(F[0])+2)<StatDif(F[4]))
&&(StatDif(F[0])<PicSize/C)
test[1]=((StatDif(F[4])+2)<StatDif(F[0]))&&((StatDif(F[4])+2)<StatDif(F[1]))
&&((StatDif(F[4])+2)<StatDif(F[2]))&&((StatDif(F[4])+2)<StatDif(F[3]))
&&(StatDif(F[4])<PicSize/C)
测试(41)
其中,PicSize=pic_width x pic_height,并且典型地,常数C=20736,并且使得如果测试(41)中的所有test[0]和test[1]为真,则看作已经检测到3:2混合下拉模式。如在此所讨论的那样,如果前一帧组的结果也为真(例如,检测到3:2混合下拉模式)和/或后一帧组也为真(例如,检测到3:2混合下拉模式),则当前模式可以被指明或确定为3:2 混合下拉模式。
例如,关于测试(41)所讨论的评估测试可以确定帧组是否具有 3:2混合模式。可以经由影视化反转器1212反转该2:3:3:2影视化模式,如在此所讨论的那样。
图22是示出根据本公开的至少一些实现方式所布置的在解影视化处理之前以及之后的示例帧2200的示图。如图22所示,帧2200可能包括具有视觉赝像的混合帧2201(例如混合3:2下拉帧)使得提供带线的双重化。此外,如图22所示,混合帧2201可以包括场2202(例如顶部场)和2203(例如底部场),其中,场2202也展现双重化的视觉赝像。
帧2200还示出解隔行的逐行帧2204,其不包括双重化的视觉赝像。例如,在对帧2201进行解隔行中,可以移除场2202,并且以重复的场替换场2202,以生成逐行帧2204。在一些示例中,对帧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的流程图。如所讨论的那样,在一些示例中,系统1200的影视化反转器1212可以执行处理2300或其部分,以提供逐行视频1215。处理2300可以包括图23所示的一个或多个操作2301-2307。处理2300可以形成在此所讨论的视频预处理的至少部分。
如所示,处理2300可以从开始操作2301开始于操作2302,“分析缓冲器并且校正关于检测到的模式的判断”,其中,可以分析缓冲器 (例如帧缓冲器1204),并且如果需要,则可以校正(例如经由影视化类型指示符1208所指示的)关于检测到的模式的判断。例如,自适应影视化模式反转器(例如影视化反转器1212)可以确定当前所检测的模式是否为有效的。归因于难度(例如缺少细节暗场景中的梯度(例如归因于场景转换)、边界误差、视频场景的结束的边沿、从一个视频场景到下一视频场景的格式的改变),在一些示例中,检测到的模式可能不是精确的。在这些示例中,系统(例如经由影视化反转器) 可以尝试提供对校正模式的合适转变,或校正错误检测到的模式并且将其正确地对准。可以使用关于影视化模式检测所讨论的技术(例如经由测试(31)至(41)或使用类似的技术)进行这些检测和校正。在一个示例中,当TV广播从商业宣传变为直播新闻呈现时,信号将从影视化(商务)内容(例如24帧每秒到30帧每秒转换)变为原始 30帧每秒(例如完全逐行的),并且当商业宣传被逆影视化时,检测误差可能发生在两个场景的边界处。
处理2300可以继续于判断操作2303,“存在模式?”,其中,可以关于是否存在模式进行确定。例如,模式可以包括已知的和/或检测到的影视化模式(例如3:2、2:3:3:2、4:1a、4:1b、3:2混合或其它检测到的模式)。如果存在模式,则处理2300可以继续于操作2305,“检查模式奇偶性”,其中,可以检查和/或验证模式的奇偶性。例如,可以验证模式的排序。处理2300可以继续于操作2306,“解除模式”,其中,可以对模式进行解影视化,如在此所讨论的那样。例如,当获知 (例如,如在此所讨论的那样检测到)影视化模式时,可以通过以下操作来执行反转:丢弃场,重排场,并且组合场,以根据已知的模式生成帧。在此关于在此的图3B、图4B、图27B、图28B以及其它提供模式反转的示例。
如果(例如在判断操作2303)不存在模式,则处理2300可以继续于操作2304,“对问题帧进行解隔行”,其中,可以对未知模式或问题帧进行解隔行。可以使用任何一种或多种合适的技术(例如在此所讨论的技术)对这些帧进行解隔行。在一些示例中,可以使用关于图24 所讨论的技术对这些帧进行解隔行。处理2300可以从操作2306或操作2304继续,以结束于结束操作2307。处理2300可以提供适合于显示或重新编码的解隔行的逐行视频,如在此所讨论的那样。
如所讨论的那样,视频帧经由切换器1209、1210可以提供给内容自适应隔行反转器1211(请参照图12)。此外,可以对具有未知模式和/或问题帧的帧组进行解隔行,如关于处理2300所讨论的那样。内容自适应隔行反转器1211可以使用任何一种或多种合适的技术对真实隔行帧(例如经由切换器1209、1210所提供的帧)进行解隔行(例如隔行反转)。此外,可以通过内容自适应隔行反转器1211或经由影视化反转所实现的内容自适应隔行反转器1212对这些未知模式帧组和/ 或问题帧进行解隔行。可以使用任何一种或多种合适的技术来执行这种解隔行或隔行反转。例如,可以使用关于图5A所讨论的Bob技术、使用关于图5B所讨论的Weave技术,或使用关于图6所讨论的技术(例如GreedyH解隔行技术)来执行这种解隔行或隔行反转。
例如,这些解隔行技术可以提供价格、性能和质量的不同折衷。例如,一些Bob解隔行技术可以包括通过对行进行重复所进行的垂直双重化,并且其它Bob解隔行技术可以包括线性内插以生成丢失的行。此外,Bob解隔行技术可以与其它技术组合。例如,解隔行器可以将Bob技术和Weave技术组合为单个自适应技术,其可以在移动区块中使用Bob并且在静止区块中使用Weave。这些技术可以在复杂度仍保持相对低的同时允许比仅Bob技术更好的质量。在其它示例中,解隔行器技术可以使用运动补偿以生成丢失的块行。这些示例可以提供增加的性能,代价是更大的复杂度。例如,在运动补偿工作得良好 (例如,运动矢量是实际运动的良好近似)的区块中,可以提供高质量解隔行结果。然而,该技术可能归因于运动补偿处理进行的随机匹配而在一些区域中产生视觉不连续性。
在其它示例中,运动自适应解隔行技术可以使用移动/非移动(例如像素、块或区域)分类,并且引导解隔行。在这些示例中,可以不使用完全运动补偿,但运动检测可以确定要应用解隔行技术。这些技术可以提供在关于运动补偿/适配的最佳情况下并非如运动补偿解隔行技术那样良好的结果。然而,在关于运动补偿/适配的最差情况下,这些运动自适应解隔行技术可以提供比运动补偿解隔行技术更少的视觉赝像。
因此,在此所讨论的技术可以使用任何一种或多种解隔行技术以对所描述的真实隔行帧和未知模式/问题帧进行解隔行。在示例中,可以实现自适应解隔行器。
图24是示出根据本公开的至少一些实现方式所布置的示例自适应隔行反转器2400的流程图。如所讨论的那样,在一些示例中,可以经由系统1200的内容自适应隔行反转器1211实现自适应隔行反转器 2400或其部分,以执行解隔行并且提供逐行视频1215。此外,如所讨论的那样,在其它示例中,可以经由系统1200的影视化反转器1212 实现自适应隔行反转器2400,以执行解隔行并且提供逐行视频1215。如所示,自适应隔行反转器2400可以包括帧到场转换器2402、自适应行块内插模块2403、垂直非线性滤波模块2404、清理和细化模块 2405、移动/非移动检测器2406、精细边沿检测器2407、基于空间边沿的内插模块2408、加权组合模块2409以及场/行交织器2410。
如所示,自适应隔行反转器2400可以从未知模式或有麻烦的帧接收隔行帧2401(例如真实隔行帧或伪或假冒隔行帧),如在此所讨论的那样。例如,帧到场转换器2402可以接收隔行帧2401。帧到场转换器2402可以使用任何一种或多种合适的技术将隔行帧2401中的帧分离为场。在示例中,帧到场转换器2402可以通过对帧进行解隔行,使得帧的所有偶数行产生偶数场,并且帧的所有奇数行产生奇数场,来将隔行帧2401中的帧分离为场。例如,与隔行帧2401的帧速率相比,所得场序列可以具有两倍时间速率(例如场速率),其中,每个场具有每个帧的一半垂直行。例如,处于两倍时间速率的每个图片的每隔一行可能丢失。如所示,帧到场转换器2402所确定的场可以提供给自适应行块内插模块2403、精细边沿检测器2407、移动/非移动检测器2406和场/行交织器2410。
自适应行块内插模块2403可以从帧到场转换器2402接收场,并且初始地填充接收到的场中的丢失的行(例如,初始地填充的丢失的行可以随后得以细化)。自适应行块内插模块2403可以使用任何一种或多种合适的技术初始地填充接收到的场中的丢失的行。例如,自适应行块内插模块2403可以使用运动补偿技术、运动适配技术、行重复技术、线性内插技术等初始地填充接收到的场中的丢失行。在使用运动适配或运动补偿的示例中,出于计算和质量的实际原因,并非关于每个完整丢失的行提供运动补偿或运动适配填充,而是可以一次处理一组行(例如8个丢失的行),使得可以使用小的宽度(例如8个像素)和高度(例如多行)的块来执行内插。在所讨论的示例中,块可以是正方形的并且在大小方面是8x8像素,然而,块可以是任何形状和大小。例如,用于内插的块可以是具有8x4像素的大小的矩形。此外,块可以是更大的(例如16x16或16x8),在质量和处理速度之间进行折衷。如所示,具有初始填充的丢失行的场可以提供给垂直非线性滤波模块2404和移动/非移动检测器2406。
移动/非移动检测器2406可以接收具有初始填充的丢失行的场和来自帧到场转换器2402的场。移动/非移动检测器2406可以将场的部分或区域分类为移动/非移动的。例如,可以以像素为基础、以块为基础和/或以区域为基础执行这种分类。移动/非移动检测器2406可以提供二进制掩码(例如非移动掩码(非移动)2411),其以局部为基础识别移动或静态像素、块或区域。如所示,移动/非移动掩码(例如移动2411)可以提供给加权组合模块2409。
如所讨论的那样,垂直非线性滤波模块2404可以从自适应行块内插模块2403接收具有初始填充的丢失行的场。垂直非线性滤波模块 2404可以提供垂直方向上的非线性滤波,以使得垂直非线性滤波模块 2404细化初始填充的丢失行并且提供滤波后的丢失行。例如,该滤波可以改进内插的边沿的锐度。垂直非线性滤波模块2404可以使用任何一种或多种合适的技术来执行该非线性滤波。在一些示例中,垂直非线性滤波模块2404可以经由中值滤波处理来执行该非线性滤波。如所示,具有所滤波的丢失的行的场可以提供给清理和细化模块2405。
例如,经由垂直非线性滤波模块2404所提供的中值滤波(等)可以保留边沿的细节,并且由此出现模糊。虽然所讨论的非线性滤波对于边沿细节可以是有利的,但其可能引入赝像(例如边沿上的混叠/阶梯图案、小的断连边沿和/或边沿的轻微帧到帧抖动)。清理和细化模块2405可以接收具有滤波后的丢失行的场,并且清理细化模块2405 可以进一步对接收到的场进行滤波,以清理隔离的断连小边沿,并且增加边沿的帧到帧稳定性。如所示,具有其它滤波后的丢失行的场可以提供给基于空间边沿的内插模块2408和加权组合模块2409。
此外,可能期望降低混叠赝像。例如,精细边沿检测器2407可以从帧到场转换器2402接收场,并且精细边沿检测器2407可以提供识别(例如经由隔行帧2401接收到的)场的原始(例如非内插的)行中的边沿的输出。这些边沿可以用于在丢失(例如内插的)行中沿着有向边沿内插像素。例如,并非使用垂直对准的像素来内插像素,而是可以使用所提供的有向行的相对侧上的像素来内插像素。例如,精细边沿检测器2407可以定位场的行(例如非内插的行)中的边沿点,并且互连它们,以使得所内插的行上的误差函数(例如SAD)最小化。该处理可以提供有向滤波,并且可以产生显著精准的边沿内插。如所示,来自精细边沿检测器2407的结果可以提供给基于空间边沿的内插模块2408,其可以使用具有经由清理和细化模块2405接收到的其它滤波后的丢失行的场以及来自精细边沿检测器2407的结果来生成包括基于空间边沿的丢失行的场。如所示,基于空间边沿的内插模块2408可以将包括基于空间边沿的丢失行的场提供给加权组合模块2409。
如所讨论的那样,加权组合模块2409可以接收包括来自基于空间边沿的内插模块2408的基于空间边沿的丢失行、来自清理和细化模块 2405的具有其它滤波后的丢失行的场以及来自移动/非移动检测器 2406的非移动掩码(非移动)2411的场。加权组合模块2409可以将最终内插行(例如最终丢失行)生成为来自清理和细化模块2405的像素(例如所讨论的其它所滤波的丢失的行)以及来自基于空间边沿的内插模块2408的像素(例如基于空间边沿的丢失的行)的加权组合。可以使用任何一种或多种合适的技术来应用加权。在示例中,基于非移动掩码2411,用于静态区块的像素可以包括来自基于空间边沿的内插模块2408的像素,并且用于移动区块的像素可以包括来自清理和细化模块2405的像素(例如,可以基于移动/非移动掩码而进行各像素之间的二进制选取)。在这些示例中,应用于基于空间边沿的内插像素以及进一步滤波的内插像素的权重可以分别在静态区块中是(1,0) 并且在移动区块中是(0,1)。在其它示例中,权重可以是非二进制固定权重。在又其它示例中,权重可以是非二进制和内容自适应的,使得并非非移动掩码2411,而是移动/非移动检测器2406可以提供相对运动等的映射,并且权重可以基于移动/非移动检测器2406所提供的映射而是内容自适应的。如所示,加权组合模块2409可以将丢失的像素(例如如所讨论的那样所生成的行)提供给场/行交织器2410。
场/行交织器2410可以接收所生成的丢失像素(例如行)以及来自帧到场转换器2402的场。场/行交织器2410可以交织所生成的丢失像素(例如行)以及来自帧到场转换器2402的场,以生成解隔行的帧 2412。例如,可以从内容自适应隔行反转器1211或影视化反转器1212 作为逐行视频提供解隔行的帧2412。
如所讨论的那样,自适应隔行反转器2400或所讨论的其它解隔行器可以对隔行视频进行解隔行,以使用各种技术生成逐行视频。在一些示例中,包括自适应隔行反转器2400的任何所描述的解隔行器可能在临界内容上产生一些视觉赝像。例如,如果源内容包含具有薄的 (例如1行)水平边沿的静止或近乎静止图形或随着帧而轻微改变的具有高亮的文本,则在解隔行之后,微闪(shimmering)赝像可能是可见的。此外,如果源内容包含静止文本或缓慢移动的文本,则在解隔行为60帧每秒之后,解隔行的内容可能显示包括文本或包含文本的文本框的颤动(wobbliness)的视觉赝像。由于连续的解隔行的帧的共同定位的行可能具有异相的行,因此这些赝像可能产生。例如,对于每一原始行,相邻帧中的共同定位的行可能被合成,并且可能归因于重复而显现得不同得足以产生这些视觉赝像。可以通过使得解隔行器按 30帧每秒进行输出并且使得相邻帧同相来解决这些视觉赝像。然而,这些技术可能显著减少垂直/时间分辨率。例如,时间分辨率的这种减少可能并非实际的,因为一般视频内容可能具有带有某种滚动快速的文本的多个行,而其它文本可能是静止的或缓慢地移动(例如,证券报价机等的标题)。在这些示例中,减少时间分辨率可能在快速移动的内容中产生抖动赝像。在一些示例中,自适应隔行反转器2400可以包括用于解决这些微闪、颤动和抖动赝像的模块或技术(例如垂直同步技术等)。
如所讨论的那样,各种技术可以用于提供视频预处理,以将各种格式的聚合视频转换为逐行视频,其可以有利于经由现有技术视频编解码器的新式显示和/或压缩。
例如,在此所讨论的系统和技术可以包括影视化和隔行反转器。在一些示例中,可以在多种操作模式下提供所讨论的系统和技术。例如,可以在可以用于预处理所解码的高比特率视频流、聚合视频流和隔行视频流的三种操作模式下提供系统和技术。例如,视频流可以已经发源为已经经受对伪隔行视频的3:2下拉的24帧每秒逐行视频,或视频流可以真正地是在捕获时间的真实隔行视频。在前者的情况下,预处理可以通过解除影视化转换将伪隔行视频转换为逐行视频。在后者的情况下,预处理可以通过解隔行的处理将实际隔行视频转换为逐行视频。由于在一些所编码的源流中,可能存在识别从隔行源、影视化源或真正逐行源发源的节目的标识符,因此可以如下提供3种类型的处理模式。
第一处理模式可以包括自动检测模式。在自动检测模式(例如自适应)下,可以自动地分析高比特率编码视频流的解码帧,以确定它们是逐行的、归因于影视化转换的伪隔行的、还是原始地来自隔行源的。如果帧被确定为逐行的,则可以无需其它预处理动作,并且视频认为可用在正确的格式中,以便进行编码(例如较低比特率编码)或呈现。如果帧被看作伪隔行的,则影视化反转(或逆转)处理可以应用于将帧转换为24帧每秒逐行格式,以便进行随后编码(例如较低比特率编码)或呈现。替代地,如果帧被确定为原始地隔行的,则解隔行(隔行反转)处理可以应用于取决于可用的比特率而将帧转换为处于30或60帧每秒的逐行格式,以便进行随后编码(例如较低比特率编码)或呈现。
第二处理模式可以包括影视化反转器模式。例如,当已知高比特率编码视频流的解码帧是伪隔行的时,并非通过自动检测模式发送它们(具有归因于假阳性等的可能性导致的误处理的机会),而是可以实现影视化反转器模式。在影视化反转器模式下,可以通过影视化反转(或逆转)处理来发送帧,以将它们转换为24帧每秒逐行格式,以便进行随后编码(较低比特率编码)或呈现。
第三处理模式可以包括影视化反转器模式。例如,当已知高比特率编码视频流的解码帧是原始隔行的时,并非通过自动检测模式发送它们(具有归因于假阳性等的可能性导致的误处理机会),而是可以实现隔行反转器模式。在隔行反转器模式下,可以通过解隔行(隔行反转)来发送帧,以取决于可用的比特率而将它们转换为处于30或60 帧每秒的逐行格式,以便进行随后编码(例如较低比特率编码)或呈现。
在所有三种模式下,处理的输出是逐行视频,其为最适合于使用HEVC编码标准或类似标准高效编码的格式。例如,虽然HEVC标准也支持视频的信号传送是隔行的,但HEVC编码工具仅支持逐行视频的高效编码,使得不存在对隔行格式进行编码的编码效率优点。此外,一些视频标准(例如H.264)视频标准支持用于隔行视频和逐行视频二者的高效编码的工具。然而,即使在H.264数字视频服务等的情况下,归因于视频(例如经由媒体播放器)的最终回放意向是计算机显示器、数字HDTV显示器等,提供逐行视频也可以是有利的。因此,逐行格式随着格式变得普遍而可以有利于编码,并且在显示器端点处无需附加转换。例如,(例如,取决于消费者显示器的类型和/或能力)这些附加转换可能产生传送到消费者的广泛变化的视频质量。
图29是示出根据本公开的至少一些实现方式所布置的用于处理视频以便进行编码和/或显示的示例处理2900的流程图。处理2900可以包括图29所示的一个或多个操作2901-2904。处理2900可以形成视频处理的至少部分。通过非限定性示例的方式,处理2900可以形成在此所讨论的系统1200所承担的用于生成逐行视频的视频编码处理的至少部分。此外,在此将参照图30的系统3000描述处理2900。
图30是根据本公开的至少一些实现方式所布置的用于视频处理的示例系统3000的说明图。如图30所示,系统3000可以包括一个或多个中央处理单元(CPU)3001、图形处理单元(GPU)3002以及系统存储器3003。也如所示,CPU 3001可以包括隔行/逐行帧分类器1202、帧组影视化模式/逐行/隔行分类器1205、内容自适应隔行反转器1211以及影视化反转器(3:2/2:3:3:2/4:1a/4:1b/混合/自适应影视化反转器)1212。此外,系统存储器3003可以包括帧组缓冲器1204。在系统3000的示例中,系统存储器3003可以经由帧组缓冲器1204存储帧组(例如五个当前帧、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可以是任何类型的存储器(例如易失性存储器(例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等) 或非易失性存储器(例如闪存等)等)。在非限定性示例中,可以通过缓存存储器实现系统存储器3003。如所示,在实施例中,可以经由 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。在其它示例中,可以经由数字信号处理器等来实现隔行/逐行帧分类器1202、帧组影视化模式/逐行/隔行分类器1205、内容自适应隔行反转器1211以及影视化反转器(3:2/2:3:3:2/4:1a/4:1b/混合/自适应影视化反转器)1212。在另一实施例中,可以经由图形处理单元 3002的执行单元(EU)来实现隔行/逐行帧分类器1202、帧组影视化模式/逐行/隔行分类器1205、内容自适应隔行反转器1211以及影视化反转器(3:2/2:3:3:2/4:1a/4:1b/混合/自适应影视化反转器)1212。EU可以包括例如可编程逻辑或电路(例如可以提供可编程逻辑功能的宽阵列的一个或多个逻辑内核)。
返回图29的讨论,处理2900可以开始于操作2901,“确定混合内容视频流的帧的帧格式”,其中,可以确定包括一个或多个视频格式的混合内容视频流的帧的帧格式。例如,混合内容视频流的视频格式可以包括逐行格式、真实隔行格式、伪隔行影视化转换后的格式、60 帧每秒逐行格式、30帧每秒逐行格式、30帧每秒真实隔行格式或30 帧每秒伪隔行影视化转换后的格式中的一个或多个。确定帧格式可以包括第一帧的内容分析。例如,帧格式可以包括逐行或隔行之一。例如,可以经由通过CPU 3001所实现的隔行/逐行帧分类器1202来确定帧格式。
在一些示例中,可以通过以下操作来确定帧格式:确定与帧的内容关联的多个描述符,基于所述多个描述符来评估多个比较测试,以及基于比较测试来确定帧格式,其中,帧格式包括逐行或隔行中的至少一个。在此关于图13、图14、图15、图16、图25以及本文其它地方讨论这些技术。例如,描述符可以包括以下项中的一个或多个:第一帧的场对之间的绝对差之和、第一帧的块与第一帧的顶部场的块之间的可变阈值差之和、具有高纹理值的第一帧的块的阈值化计数、第一帧的垂直纹理的测度、第一帧的动态纹理与静态纹理之间的差的测度、第一帧的纹理水平与第一帧的场的纹理水平的平均值之间的差的测度、或第一帧的块与第一帧的顶部场的块之间的静态阈值化差之和。其它描述符可以是可用的。比较测试可以包括在此所讨论的任何比较测试(例如公式(1)-(9))。
在其它示例中,可以通过以下操作来确定帧格式:确定与帧的内容关联的多个描述符;在第一阶段基于所述多个描述符来评估多个比较测试;在第一阶段基于比较测试来确定帧格式是逐行、隔行还是不能断定的;当帧格式在第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在第二阶段基于所述基于机器学习的比较测试来确定帧格式是逐行还是隔行的。在此关于图13、图14、图15、图16、图17A、图17B、图26、图18以及本文其它地方讨论这些技术。
处理2900可以继续于操作2902,“确定混合内容视频流中包括该帧的帧组的帧组格式”,其中,可以确定混合内容视频流中包括该帧的帧组的帧组格式。例如,可以经由通过CPU 3001所实现的帧组影视化模式/逐行/隔行分类器1205来确定帧格式。在一些示例中,确定帧组格式可以包括帧组中的帧的内容分析。例如,帧组格式可以包括完全逐行、完全隔行或影视化之一。在影视化示例中,帧组格式可以包括检测到的影视化模式。在其它示例中,帧组格式可以包括未知模式。
处理2900可以继续于操作2903,“基于帧组格式来确定用于帧组的转换技术”,其中,至少部分地基于帧组格式来确定用于帧组的转换技术。例如,可以经由通过CPU 3001所实现的影视化模式/逐行/隔行分类器1205、经由通过CPU 2911所实现的控制器和/或切换器等来确定转换技术。在一些示例中,确定转换技术可以包括:比较帧组格式与所述帧组之前的帧组的先前帧组格式以及第一帧组之后的帧组的预计帧组格式。在示例中,帧组、先前帧组和随后帧组可以均包括五个帧。
例如,(例如,在操作2902)确定帧组格式可以包括以下操作之一:确定帧组中的所有帧是逐行的,确定帧组中的所有帧是隔行的,确定帧组的影视化模式,或确定帧组的未检测(例如未知)模式。此外,确定转换技术可以包括:比较帧组分段与第一帧组之前的帧组的先前帧组格式以及第一帧组之后的帧组的预计帧组格式。如果各帧组格式匹配,则帧组格式可以被确定为匹配格式。
在一些示例中,帧组格式是完全逐行帧,确定转换技术包括:确定先前帧组格式和预计帧组格式是完全逐行帧,并且转换技术包括:不转换而生成具有最终逐行格式的最终帧(例如,对于逐行帧可以无需转换)。在其它示例中,帧组格式是完全隔行帧,确定转换技术包括:确定先前帧组格式和预计帧组格式是完全隔行帧,并且转换技术包括自适应解隔行技术。然而,可以实现在此所讨论的任何解隔行技术。在又其它示例中,帧组格式是单独影视化模式,确定转换技术包括:确定先前帧组格式和预计帧组格式具有单独影视化模式,并且转换技术包括自适应影视化模式反转技术。然而,可以实现在此所讨论的任何影视化模式反转技术。例如,单独影视化模式可以是3:2下拉模式、2:3:3:2下拉模式、4:1下拉模式(例如在此所描述的4:1a或4:1b) 或混合模式(例如3:2混合下拉)之一。
在此所讨论的任何技术可以用于确定单独影视化模式(例如在此关于图19A、图19B和其它所讨论的单独影视化模式)。在一些示例中,测试可以包括:评估多个比较测试,使得第一比较测试基于比较帧组中的帧的局部纹理的测度,并且第二比较测试基于比较第一帧组中的单独帧的各场之间的绝对差之和与单独帧的场与帧组中的另一帧之间的绝对差之和。在此关于3:2下拉检测讨论这些示例。在其它示例中,测试可以包括:评估至少一个比较测试,其中,比较测试基于比较帧组中的单独帧的各块之间的静态阈值化差之和与帧组中的另一帧的各块之间的静态阈值化差之和。在此关于2:3:3:2下拉检测讨论这些示例。在又其它示例中,可以实现关于4:1a和/或4:1b下拉检测所讨论的检测技术。
处理2900可以继续于操作2904,“基于转换技术来将帧组转换为最终逐行格式”,其中,可以基于所确定的转换技术来将帧组转换为最终逐行格式。例如,可以经由通过CPU3001所实现的内容自适应隔行反转器1211或影视化反转器(3:2/2:3:3经/4:1a/4:1b/混合/自适应影视化反转器)1212之一来转换帧组。
例如,当转换技术正解隔行(例如对于真实隔行帧)时,可以如在此关于图24和其它所讨论的那样实现自适应解隔行。可以经由通过 CPU 3001所实现的内容自适应隔行反转器1211来实现该自适应解隔行。例如,该自适应解隔行可以看作运动自适应解隔行。在一些示例中,自适应解隔行可以包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、和/或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
当转换技术是影视化反转(例如,对于伪隔行影视化转换后的格式帧组)时,可以如在此关于图23和其它所讨论的那样实现自适应影视化模式反转。可以经由通过CPU 3001所实现的影视化反转器 (3:2/2:3:3:2/4:1a/4:1b/混合/自适应影视化反转器)1212来实现该自适应影视化模式反转。例如,其中,帧组格式包括单独影视化模式,确定转换技术可以包括:确定先前帧组格式和预计帧组格式包括单独 (例如同一)影视化模式,并且转换技术可以是自适应影视化模式反转技术。在这些示例中,自适应影视化模式反转技术可以包括:验证单独影视化模式;检查模式奇偶性;以及反转单独影视化模式,以按 24帧每秒生成具有例如最终逐行格式的最终帧。
在未检测到帧组格式(例如,帧组格式并非所测试的影视化格式之一)的示例中,转换技术可以类似地包括自适应影视化模式反转技术。在这些示例中,自适应解隔行可以包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、和/或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。例如,这些技术可以与关于自适应影视化模式反转所讨论的技术类似。例如,自适应影视化模式反转技术可以按24帧每秒生成最终逐行格式。
可以对于视频流(例如混合内容视频流)的任何数量的帧、帧组、分段或序列等重复处理2900。例如,可以确定混合内容视频流的第二帧的第二帧格式,可以确定混合内容视频流的第二帧组的第二帧组格式,使得帧组格式和第二帧组格式是不同的,可以至少部分地基于第一帧组格式来确定用于第二帧组的第二转换技术,使得第一转换技术和第二转换技术是不同的,并且可以基于可以是在此所讨论的任何技术的第二所确定的转换技术将第二帧组转换为第二最终逐行格式。
此外,在一些示例中,部分或整个混合内容视频流可以具有可以指示混合内容视频流的一些部分或所有部分的格式的头或其它指示符。在这些示例中,确定帧格式和帧组格式可以包括:对与混合内容视频流关联的头进行解码。例如,混合内容视频流可以包括聚合传送流,并且其中,对头进行解码可以包括:对聚合传送流的频道进行解复用,对第一单独频道进行解码,以生成混合内容视频流和头,头包括帧格式和帧组格式。在这些示例中,所指示的格式可以用于识别转换技术。
此外,如所讨论的那样,混合内容视频流在处理之前可以由实现处理2900的系统(例如系统3000)接收。可以使用任何合适的技术来接收混合内容视频流。在一些示例中,可以从内容提供商购买混合内容视频流。
可以对于任何数量的视频帧、帧组、视频流的部分或混合内容视频串行或并行地重复处理2900任何次数。处理2900可以提供在此所讨论的高质量逐行视频帧。这些视频帧可以有利于经由当前显示器呈现和/或经由当前编解码器进行编码。
虽然在此所讨论的示例处理的实现方式可以包括承担按所示的顺序示出的所有操作,但本公开不限于此,并且在各个示例中,在此的示例处理的实现方式可以仅包括所示的操作、按与所示的不同顺序执行的操作或附加操作的子集。
此外,可以响应于一个或多个计算机程序产品所提供的指令而承担在此所讨论的操作中的一个或多个。这些程序产品可以包括信号承载介质,其提供指令,所述指令当由例如处理器执行时可以提供在此所描述的功能。可以通过任何形式的一个或多个机器可读介质来提供计算机程序产品。因此,例如,包括一个或多个图形处理单元或处理器内核的处理器可以响应于由一个或多个机器可读介质传送到处理器的程序代码和/或指令或指令集而承担在此的示例处理的块中的一个或多个。通常,机器可读介质可以通过可以使得在此所描述的任何设备和/或系统实现在此所讨论的系统1200、系统3000或任何其它模块或组件的至少一部分的程序代码和/或指令或指令集的形式来传送软件。
如在此所描述的任何实现方式中所使用的那样,术语“模块”指代被配置为提供在此所描述的功能性的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可以实施为软件封装、代码和/或指令集或指令,并且在此所描述的任何实现方式中所使用的硬件可以单独地或组合地包括例如硬布线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储可编程电路所执行的指令的固件。模块可以共同地或单独地实施为形成更大的系统的部分的电路(例如集成电路(IC)、片上系统(SoC)等)。
如所讨论的那样,各种技术可以用于提供视频预处理,以将各种格式的聚合视频转换为逐行视频,其可以有利于经由现有技术视频编解码器的新式显示和/或压缩。现关于H.264视频编码描述这些技术的结果。关于HEVC视频编码的结果是类似的。
对于这些测试,使用5个多样化1080p视频测试序列:其中的两个是广告(“Faucet”和“Zyrtec”,二者已经经受3:2下拉),一个是剧集内容(“Bones”,其已经经受多个下拉模式),一个是动画/卡通电影 (“Johny Test”,其已经经受3:2下拉),一个是电影(“TheNatural”,其已经经受3:2下拉)。在每种情况下,使用具有4个标准Qp值(例如22、27、32和37)的恒定Qp编码通过H.264标准对使用在此所讨论的技术所生成的影视化输入视频(例如30帧每秒或60场每秒)以及反转影视化(24帧每秒)视频二者进行编码。所得的关于每个Qp的所生成的峰值信噪比(PSNR)和比特率如表1A和表1B所示。
表1A:具有和没有影视化反转的每个序列的编码速率/失真测量 (2个中的第1个)
表1B:具有和没有影视化反转的每个序列的编码速率/失真测量 (2个中的第2个)
使用来自表1A和表1B的四点速率/失真数据,对于两个测试情况(例如影视化和影视化反转)中的每一个关于每个序列通过三次曲线拟合来计算RD曲线。接下来,在计算一对曲线之间的单个距离的 MPEG的BD速率计算过程之后,与影视化且H.264编码的视频相比,对于影视化反转且H.264编码的视频计算BD速率。BD速率指示影视化反转的序列(例如大的负值是更好的,因为其指示节省)可以采取以实现与影视化视频相同的PSNR质量的附加比特率。
表2示出对于每个序列所计算的BD速率。可以看出,所有5个序列登记40%左右或更高的优异BD速率,示出在此所讨论的影视化反转技术的显著益处。
表2:用于每个序列的百分比BD速率测量(负数示出增益)
此外,讨论所描述的技术的实际考虑(例如实现复杂度)。首先,可以通过具有在汇编中优化的关键部分(例如SSE)的C编程语言来实现在此所讨论的自适应影视化和隔行反转器。多个三种不同分辨率 (例如SD、HD 1080p以及UHD 2160p)的视频序列在具有3.4GHz中央处理单元(CPU)的个人计算机上影视化/隔行反转。在这些条件下,发现用于该处理的单线程操作的平均时间是11.5毫秒。接下来,通过协助CPU的图形处理单元(GPU)来优化所讨论的技术的关键组件,从而实现因子4左右的加速,使得处理时间下降到平均每帧2.73毫秒。表3中概述所有三种分辨率的结果。
表3:用于不同分辨率视频的影视化/隔行反转时间
使用在此所讨论的技术的系统实现方式可以在可实现的增益与实现复杂度之间提供良好折衷。
图31是根据本公开的至少一些实现方式所布置的示例系统3100 的说明性示图。在各个实现方式中,系统3100可以是移动系统,但系统3100不限于该上下文。例如,系统3100可以合并到个人计算机 (PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板、智能手表、智能眼镜或智能电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单透镜反射(DSLR)相机、视频相机、摄像机)等中。
在各个实现方式中,系统3100包括平台3102,耦合到显示器3310。平台3102可以从内容设备(例如内容服务设备3130或内容传送设备3140或其它相似内容源)接收内容。包括一个或多个导航特征的导航控制器3150可以用于与例如平台3102和/或显示器3120进行交互。以下更详细地描述这些组件中的每一个。
在各个实现方式中,平台3102可以包括芯片组3105、处理器 3110、存储器3112、天线3113、存储3114、图形子系统3115、应用 3116和/或无线电装置3118的任何组合。芯片组3105可以提供处理器 3110、存储器3112、存储3114、图形子系统3115、应用3116和/或无线电装置3118之间的相互通信。例如,芯片组3105可以包括能够提供与存储3114的交互通信的存储适配器(未描述)。
处理器3110可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各个实现方式中,处理器3110可以是双核处理器、双核移动处理器等。
存储器3112可以实现为易失性存储器设备(例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM (SRAM))。
存储3114可以实现为非易失性存储设备(例如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储设备、附连存储设备、闪存、电池备份SDRAM(同步DRAM)和/或网络可存取存储设备)。在各个实现方式中,例如,存储3114可以包括用于当包括多个硬驱动器时关于有价值的数字媒体增加存储性能增强保护的技术。
图形子系统3115可以执行图像(例如用于显示的静止图像或视频) 的处理。例如,图形子系统3115可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于以通信方式耦合图形子系统3115和显示器3120。例如,接口可以是任何高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD顺应技术。图形子系统3115 可以集成到处理器3110或芯片组3105中。在一些实现方式中,图形子系统3115可以是以通信方式耦合到芯片组3105的单机设备。
在此所描述的图形和/或视频处理技术可以实现于各种硬件架构中。例如,图形和/或视频功能可以集成在芯片组内。替代地,可以使用分立式图形和/或视频处理器。作为又一实现方式,可以通过包括多核处理器的通用处理器提供图形和/或视频功能。在其它实施例中,可以在消费者电子设备中实现功能。
无线电装置3118可以包括能够使用各种合适的无线通信技术来发送并且接收信号的一个或多个无线电装置。这些技术可以涉及在一个或多个无线网络上的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在这些网络上的通信中,无线电装置3118可以根据任何版本中的一个或多个适用标准操作。
在各个实现方式中,显示器3120可以包括任何电视类型监视器或显示器。显示器3120可以包括例如计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视。显示器3120可以是数字和/ 或模拟的。在各个实现方式中,显示器3120可以是全息显示器。此外,显示器3120可以是可以接收视觉投影的透明表面。这些投影可以传送各种形式的信息、图像和/或对象。例如,这些投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用3116 的控制下,平台3102可以在显示器3120上显示用户界面3122。
在各个实现方式中,例如,内容服务设备3130可以受任何国家、国际和/或独立服务掌控,并且因此可经由互联网对平台3102访问。内容服务设备3130可以耦合到平台3102和/或显示器3120。平台3102 和/或内容服务设备3130可以耦合到网络3160,以将媒体信息传递(例如,发送和/或接收)出入网络3160。内容传送设备3140也可以耦合到平台3102和/或显示器3120。
在各个实现方式中,内容服务设备3130可以包括有线电视盒、个人计算机、网络、电话、互联网使能设备或能够传送数字信息和/或内容的电器以及能够经由网络3160或以直接方式在内容提供商与平台 3102和/显示器3120之间单向地或双向地传递内容的任何其它相似设备。应理解,内容可以经由网络3160单向地和/或双向地传递出入系统3100中的组件中的任何一个以及内容提供商。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备3130可以接收内容(例如包括媒体信息、数字信息和/或其它内容的有线电视节目传送)。内容提供商的示例可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的示例并非意图以任何方式来限制根据本公开的实现方式。
在各个实现方式中,平台3102可以从具有一个或多个导航特征的导航控制器3150接收控制信号。例如,控制器3150的导航特征可以用于与用户界面3122进行交互。在各个实施例中,导航控制器3150 可以是指点设备,其可以是允许用户将空间(例如连续和多维)数据输入到计算机中的计算机硬件组件(具体地说,人机接口设备)。很多系统(例如图形用户接口(GUI)以及电视和监视器)允许用户使用物理手势控制数据并且将其提供给计算机或电视。
控制器3150的导航特征的移动可以通过显示器上所显示的指针、光标、聚焦环或其它视觉指示符的移动在显示器(例如显示器3120) 上得以复制。例如,在软件应用3116的控制下,位于导航控制器3150 上的导航特征可以映射为用户界面3122上所显示的虚拟导航特征。在各个实施例中,控制器3150可以不是分离的组件,而可以集成到平台 3102和/或显示器3120中。然而,本公开不限于在此所示或所描述的要素或情形。
在各个实现方式中,例如,当启用时,驱动器(未示出)可以包括用于使得用户能够在初始引导之后通过触摸按钮即刻打开并且关闭平台3102(比如电视)的技术。甚至当平台“关闭”时,程序逻辑可以允许平台3102将内容流送到媒体适配器或其它内容服务设备3130或内容传送设备3140。此外,例如,芯片组3105可以包括关于5.1环绕声音音频和/或高清晰度7.1环绕声音音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在各个实施例中,图形驱动器可以包括外设组件互连(PCI)高速图形卡。
在各个实现方式中,系统3100中所示的组件中的任何一个或多个可以是集成的。例如,平台3102和内容服务设备3130可以是集成的,或平台3102和内容传送设备3140可以是集成的,或平台3102、内容服务设备3130和内容传送设备3140可以是集成的。在各个实施例中,平台3102和显示器3120可以是集成单元。例如,显示器3120 和内容服务设备3130可以是集成的,或显示器3120和内容传送设备 3140可以是集成的。这些示例并非意味着限制本公开。
在各个实施例中,系统3100可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统3100可以包括适合于通过无线共享介质进行通信的组件和接口(例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等)。无线共享介质的示例可以包括无线频谱(例如RF频谱等)的部分。当实现为有线系统时,系统3100可以包括适合于通过有线通信介质进行通信的组件和接口(例如输入/输出(I/O)适配器、用于将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等)。有线通信介质的示例可以包括导线、线缆、金属引线、印制电路板(PCB)、背板、开关构造、半导体材料、双绞线导线、同轴线缆、光纤等。
平台3102可以建立一个或多个逻辑或物理信道,以传递信息。信息可以包括媒体信息和控制信息。媒体信息可以指代表示意图用于用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流送视频、电子邮件(“email”)消息、语音邮件消息、文字数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如话音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指代表示意图用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统,或指令节点以预定方式处理媒体信息。然而,实施例不限于图31中所示或所描述的元件或上下文。
如上所述,可以通过变化的物理风格或形数实施系统3100。图32 示出根据本公开的至少一些实现方式所布置的示例设备。例如,图32 示出可以实施系统3100的小形数设备3200的实现方式。在各个实施例中,例如,设备3200可以实现为具有无线能力的移动计算设备。移动计算设备可以指代具有处理系统和移动功率源或电源(例如,一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板或智能电视)、移动互联网设备(MID)、传信设备、数据通信设备、相机(例如傻瓜相机、超级变焦相机、数字单透镜反射(DSLR)相机)等。
移动计算设备的示例也可以包括被布置为人所穿戴的计算机(例如腕部计算机、手指计算机、耳环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣物计算机以及其它可穿戴计算机)。在各个实施例中,例如,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以通过示例的方式以实现为智能电话的移动计算设备描述一些实施例,但应理解,同样可以使用其它无线移动计算设备实现其它实施例。在该上下文中,实施例并非受限。
如图32所示,设备3200可以包括外壳3202、显示器3204、输入 /输出(I/O)设备3206以及天线3208。设备3200也可以包括导航特征 3212。显示器3204可以包括用于显示对于移动计算设备适当的信息的任何合适的显示单元。显示器3204可以包括触摸屏区域3210,以用于接收I/O命令。在一些示例中,触摸屏区域3210可以基本上与显示器 3204是相同大小的。I/O设备3206可以包括任何合适的I/O设备,以用于将信息录入移动计算设备中。用于I/O设备3206的示例可以包括文字数字键盘、数字键区、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风(未示出)的方式录入到设备3200中。该信息可以由语音识别设备 (未示出)数字化。在该上下文中,实施例并非受限。
可以使用硬件元件、软件元件或二者的组合实现各个实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路 (ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码分段、计算机代码分段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件实现实施例可以根据任何数量的因素(例如期望的计算速率、功率等级、热量容限、处理周期预算、输入数据率、存储器资源、数据总线速度以及其它设计或性能约束)而变化。
可以通过当由机器读取时使得机器制造逻辑以提供在此所描述的技术的表示处理器内的各个逻辑的机器可读介质上所存储的代表性指令实现至少一个实施例的一个或多个方面。称为“IP核”的这些表示可以存储在有形机器可读介质上并且提供给各个顾客或制造场所,以加载到实际上制作逻辑或处理器的制造机器中。
虽然已经参照各个实现方式描述在此所阐述的特定特征,但该描述并非意图理解为限制性的意义。因此,在此所描述的实现方式的各种修改以及对于本公开所属领域的技术人员显然的其它实现方式看作处于本公开的精神和范围内。
在一个或多个第一实施例中,一种计算机实现的用于处理视频以便进行编码和/或显示的方法,包括:确定包括一个或多个视频格式的混合内容视频流的帧的帧格式;确定所述混合内容视频流的帧组的帧组格式,其中,所述帧组包括所述帧;至少部分地基于所述帧组格式来确定用于所述帧组的转换技术;以及基于所确定的转换技术来将所述帧组转换为最终逐行格式。
进一步对于第一实施例,所述混合内容视频流的视频格式包括逐行格式、真实隔行格式或伪隔行影视化转换后的格式中的至少一个。
进一步对于第一实施例,所述混合内容视频流的视频格式包括60 帧每秒逐行格式、30帧每秒逐行格式、30帧每秒真实隔行格式或30 帧每秒伪隔行影视化转换后的格式中的至少一个。
进一步对于第一实施例,确定所述帧格式包括所述帧的内容分析,并且其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第一实施例,确定所述帧格式包括:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第一实施例,确定所述帧格式包括:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个,其中,所述描述符包括以下项中的至少一个:所述帧的各对场之间的绝对差之和,所述帧的块与所述帧的顶部场之间的可变阈值差之和、具有高纹理值的所述帧的块的阈值化计数、所述帧的垂直纹理的测度、所述帧的动态纹理与静态纹理之间的差的测度、所述帧的纹理水平与所述帧的场的纹理水平的平均值之间的差的测度、或所述帧的块与所述帧的所述顶部场的块之间的静态阈值化差之和。
进一步对于第一实施例,确定所述帧格式包括:确定与所述帧的内容关联的多个描述符;在第一阶段,基于所述多个描述符来估计多个比较测试;在所述第一阶段基于所述比较测试来确定所述帧格式是逐行、隔行还是不能断定的;当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段,基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
进一步对于第一实施例,确定所述帧格式包括所述帧的内容分析,并且其中,所述帧格式包括逐行或隔行中的至少一个;和/或确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个,和/或确定与所述帧的内容关联的多个第二描述符;在第一阶段,基于所述多个第二描述符来评估多个第二比较测试;在所述第一阶段,基于所述第二比较测试来确定所述帧格式是逐行、隔行还是不能断定的;当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段,基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
进一步对于第一实施例,确定所述帧组格式包括所述帧组中的帧的内容分析,并且其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个。
进一步对于第一实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式。
进一步对于第一实施例,确定所述帧组格式包括所述帧组中的帧的内容分析,其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个;和/或以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式。
进一步对于第一实施例,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式以及所述帧组之后的帧组的预计帧组格式。
进一步对于第一实施例,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式以及所述帧组之后的帧组的预计帧组格式,其中,所述帧组、所述帧组之前的帧组以及所述帧组之后的帧组均包括五个帧。
进一步对于第一实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式,并且其中,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式和所述帧组之后的帧组的预计帧组格式。
进一步对于第一实施例,所述帧组格式包括完全逐行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全逐行帧,并且其中,所述转换技术包括:不转换而以生成具有所述最终逐行格式的最终帧。
进一步对于第一实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术。
进一步对于第一实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术,其中,所述自适应解隔行技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第一实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术,所述自适应解隔行技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第一实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术。
进一步对于第一实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2 下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第一实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述自适应影视化模式反转技术包括:验证所述单独影视化模式;检查模式奇偶性;以及反转所述单独影视化模式,以按24帧每秒生成具有所述最终逐行格式的最终帧。
进一步对于第一实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2 下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第一实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术。
进一步对于第一实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述自适应影视化模式反转技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第一实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述自适应影视化模式反转技术按24帧每秒生成具有所述最终逐行格式的最终帧。
进一步对于第一实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第一实施例,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:评估多个比较测试,其中,至少第一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和。
进一步对于第一实施例,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:评估至少一个比较测试,其中,所述比较测试基于比较所述帧组中的单独帧的各块之间的静态阈值化差之和与所述帧组中的另一帧的各块之间的静态阈值化差之和。
进一步对于第一实施例,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:评估多个比较测试,其中,至少一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和;和/或评估至少一个比较测试,其中,所述比较测试基于比较所述帧组中的单独帧的各块之间的静态阈值化差之和与所述帧组中的另一帧的各块之间的静态阈值化差之和。
进一步对于第一实施例,所述方法还包括:确定所述混合内容视频流的第二帧的第二帧格式;确定所述混合内容视频流的所述第二帧组的第二帧组格式,其中,所述第二帧组包括所述第二帧,并且其中,所述帧组格式和所述第二帧组格式是不同的;至少部分地基于所述帧组格式来确定用于所述第二帧组的第二转换技术,其中,第一转换技术和所述第二转换技术是不同的;以及基于第二所确定的转换技术来将所述第二帧组转换为第二最终逐行格式。
进一步对于第一实施例,确定所述帧格式和所述帧组格式包括:对与所述混合内容视频流关联的头进行解码,其中,所述混合内容视频流包括聚合传送流,并且其中,对所述头进行解码包括:对聚合传送流的单独频道进行解复用,对第一单独频道进行解码以生成所述混合内容视频流和所述头,所述头包括所述帧格式和所述帧组格式。
在一个或多个第二实施例中,一种计算机实现的用于处理视频以便进行编码和/或显示的方法,包括:接收包括多个视频格式的混合内容视频流,所述多个视频格式至少包括真实隔行格式和伪隔行影视化转换后的格式;确定用于所述混合内容视频流中具有所述真实隔行格式的第一分段的第一转换技术以及用于所述混合内容视频流中具有所述影视化格式的第二分段的第二转换技术,其中,所述第一转换技术和第二转换技术是不同的;以及至少部分地基于所述第一转换技术和所述第二转换技术来将所述混合内容视频流转换为逐行视频流。
进一步对于第二实施例,所述第一转换技术包括内容自适应解隔行器。
进一步对于第二实施例,所述第二转换技术包括自适应影视化模式反转器技术。
进一步对于第二实施例,所述第一转换技术包括内容自适应解隔行器,并且所述第二转换技术包括自适应影视化模式反转器技术。
进一步对于第二实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式。
进一步对于第二实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,确定所述第一帧格式包括:确定与所述第一帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述第一帧格式,其中,所述第一帧格式包括隔行帧。
进一步对于第二实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,确定所述第一帧格式包括:确定与所述第一帧的内容关联的多个描述符;在第一阶段,基于所述多个描述符来评估多个比较测试;在所述第一阶段,基于所述比较测试来确定所述第一帧格式是逐行、隔行还是不能断定的;当所述第一帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段,基于所述基于机器学习的比较测试来确定所述第一帧是隔行的。
进一步对于第二实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,所述第一帧格式包括完全隔行帧,并且其中,确定所述第一转换技术还包括:比较所述第一分段与所述帧组之前的第一帧组的先前帧组格式以及用于所述帧组之后的第一帧组的预计帧组格式。
进一步对于第二实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,并且其中,转换所述混合内容视频流包括:反转所述单独影视化模式。
进一步对于第二实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,并且其中,转换所述混合内容视频流包括:反转所述单独影视化模式,其中,所述单独影视化模式包括3:2 下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第二实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,其中,转换所述混合内容视频流包括:反转所述单独影视化模式,并且其中,所述单独影视化模式包括3:2 下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第二实施例,确定所述第二转换技术包括:确定所述第二分段具有未检测模式,并且其中,转换所述混合内容视频流包括:将自适应隔行反转器应用于所述第二分段。
进一步对于第二实施例,所述方法还包括:确定所述混合内容视频流的第三分段包括逐行格式;以及在没有转换的情况下提供所述逐行格式视频分段作为输出。
在一个或多个第三实施例中,一种用于处理视频以便进行编码和/ 或显示的系统,包括:存储器缓冲器,被配置为:存储视频帧;和中央处理单元,耦合到所述存储器缓冲器,其中,所述中央处理单元包括:帧分类器模块,被配置为:确定包括一个或多个视频格式的混合内容视频流的帧的帧格式;帧组分类器模块,确定所述混合内容视频流的帧组的帧组格式,其中,所述帧组包括所述帧;自适应隔行反转器模块,被配置为:当所述帧组格式包括隔行格式时,将所述帧组转换为第一最终逐行格式;以及自适应影视化反转器模块,被配置为:当所述帧组包括伪隔行影视化转换后的格式时,将所述帧组转换为第二最终逐行格式。
进一步对于第三实施例,所述帧分类器模块和所述帧组分类器模块被配置为:在所述帧组格式之前确定所述帧格式,并且其中,所述存储器缓冲器被配置为:缓存所述帧组、所述帧组之前的帧组以及所述帧之后的帧组,所述帧组、所述帧组之前的帧组以及所述帧组之后的帧组均包括五个帧。
进一步对于第三实施例,所述混合内容视频流的视频格式包括逐行格式、真实隔行格式或伪隔行影视化转换后的格式中的至少一个。
进一步对于第三实施例,其中,所述混合内容视频流的视频格式包括60帧每秒逐行格式、30帧每秒逐行格式、30帧每秒真实隔行格式或30帧每秒伪隔行影视化转换后的格式中的至少一个。
进一步对于第三实施例,所述帧分类器模块被配置为:经由所述帧的内容分析来确定所述帧格式,并且其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第三实施例,所述帧分类器模块被配置为:通过被配置为进行以下操作的所述帧分类器模块来确定所述帧格式:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第三实施例,所述帧分类器模块被配置为:通过被配置为进行以下操作的所述帧分类器模块来确定所述帧格式:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个,其中,所述描述符包括以下项中的至少一个:所述帧的各对场的之间的绝对差之和,所述帧的块与所述帧的顶部场的块之间的可变阈值差之和、具有高纹理值的所述帧的块的阈值化计数、所述帧的垂直纹理的测度、所述帧的动态纹理与静态纹理之间的差的测度、所述帧的纹理水平与所述帧的场的纹理水平的平均值之间的差的测度、或所述帧的块与所述帧的所述顶部场的块之间的静态阈值化差之和。
进一步对于第三实施例,所述帧分类器模块被配置为:通过被配置为进行以下操作的所述帧分类器模块来确定所述帧格式:确定与所述帧的内容关联的多个描述符;在第一阶段,基于所述多个描述符来评估多个比较测试;在所述第一阶段,基于所述比较测试来确定所述帧格式是逐行、隔行还是不能断定的;当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段,基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
进一步对于第三实施例,所述帧分类器模块被配置为:通过被配置为进行以下操作的所述帧分类器模块来确定所述帧格式:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个,和/或确定与所述帧的内容关联的多个第二描述符;在第一阶段,基于所述多个描述符来评估多个第二比较测试;在所述第一阶段,基于所述第二比较测试来确定所述帧格式是逐行、隔行还是不能断定的;当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段,基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
进一步对于第三实施例,所述帧组分类器模块被配置为:经由所述帧组的帧的内容分析来确定所述帧组格式,并且其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个。
进一步对于第三实施例,所述帧组分类器模块被配置为:确定所述帧组格式包括以下项中的至少一个:所述帧组中的所有帧是逐行的,所述帧组中的所有帧是隔行的,所述帧组具有影视化模式,或所述帧组具有未检测模式。
进一步对于第三实施例,所述帧组分类器模块被配置为:通过被配置为进行以下操作的所述帧组分类器模块来确定所述帧组格式:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式以及所述帧组之后的帧组的预计帧组格式。
进一步对于第三实施例,所述帧组分类器模块被配置为:通过被配置为进行以下操作的所述帧组分类器模块来确定所述帧组格式:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式以及所述帧组之后的帧组的预计帧组格式,其中,所述帧组、所述帧组之前的帧组以及所述帧组之后的帧组均包括五个帧。
进一步对于第三实施例,所述帧组格式包括完全逐行帧,其中,所述帧组分类器模块被配置为:确定均包括完全逐行帧的先前帧组格式和预计帧组格式,并且其中,所述系统被配置为:在没有转换的情况下输出所述帧组,以生成最终帧。
进一步对于第三实施例,所述帧组格式包括完全隔行帧,其中,所述帧组分类器模块被配置为:确定均包括所有隔行帧的先前帧组格式和预计帧组格式,并且其中,所述帧组格式包括所述隔行格式。
进一步对于第三实施例,所述自适应隔行反转器模块被配置为:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第三实施例,所述帧组格式包括单独影视化模式,其中,所述帧组分类器模块被配置为:确定皆包括所述单独影视化模式的先前帧组格式和预计帧组格式,并且其中,所述帧组格式包括所述伪隔行影视化转换后的格式。
进一步对于第三实施例,所述帧组格式包括单独影视化模式,其中,所述帧组分类器模块被配置为:确定均包括所述单独影视化模式的先前帧组格式和预计帧组格式,并且其中,所述帧组格式包括伪隔行影视化转换后的格式,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第三实施例,所述帧组格式包括单独影视化模式,其中,所述帧组分类器模块被配置为:确定均包括所述单独影视化模式的先前帧组格式和预计帧组格式,并且其中,所述帧组格式包括所述伪隔行影视化转换后的格式,其中,所述自适应隔行反转器模块被配置为:验证所述单独影视化模式,检查模式奇偶性,以及反转所述单独影视化模式,以按24帧每秒生成具有所述最终逐行格式的最终帧。
进一步对于第三实施例,所述帧组格式包括单独影视化模式,其中,所述帧组分类器模块被配置为:确定均包括所述单独影视化模式的先前帧组格式和预计帧组格式,其中,所述帧组格式包括伪隔行影视化转换后的格式,其中,所述单独影视化模式包括3:2下拉模式、 2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个,并且其中,所述自适应隔行反转器模块被配置为:验证所述单独影视化模式,检查模式奇偶性,以及反转所述单独影视化模式,以按24帧每秒生成具有所述最终逐行格式的最终帧。
进一步对于第三实施例,所述帧组格式包括未检测模式,并且其中,所述自适应隔行反转器模块被配置为:将所述帧组转换为第三最终逐行格式。
进一步对于第三实施例,所述帧组格式包括未检测模式,并且其中,所述自适应隔行反转器模块被配置为:将所述帧组转换为第三最终逐行格式,其中,所述自适应影视化模式反转模块被配置:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第三实施例,所述帧组格式包括未检测模式,并且其中,所述自适应隔行反转器模块被配置为:通过被配置为进行以下操作的所述自适应影视化模式反转模块将所述帧组转换为第三最终逐行格式:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第三实施例,所述帧组包括隔行帧和影视化帧,并且其中,所述帧组分类器模块被配置为确定所述帧组格式包括:所述帧组分类器模块被配置为:评估多个比较测试,其中,至少第一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和。
在一个或多个第四实施例中,一种用于处理视频以便进行编码和/ 或显示的系统,包括:用于确定包括一个或多个视频格式的混合内容视频流的帧的帧格式的单元;用于确定所述混合内容视频流的帧组的帧组格式的单元,其中,所述帧组包括所述帧;用于至少部分地基于所述帧组格式来确定用于所述帧组的转换技术的单元;以及用于基于所确定的转换技术来将所述帧组转换为最终逐行格式的单元。
进一步对于第四实施例,其中,所述混合内容视频流的视频格式包括60帧每秒逐行格式、30帧每秒逐行格式、30帧每秒真实隔行格式或30帧每秒伪隔行影视化转换后的格式中的至少一个。
进一步对于第四实施例,确定所述帧格式包括所述帧的内容分析,并且其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第四实施例,用于确定所述帧格式的单元包括:用于确定与所述帧的内容关联的多个描述符的单元;用于基于所述多个描述符来评估多个比较测试的单元;以及用于基于所述比较测试来确定所述帧格式的单元,其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第四实施例,其中,用于确定所述帧格式的单元包括:用于确定与所述帧的内容关联的多个描述符的单元;用于在第一阶段基于所述多个描述符来评估多个比较测试的单元;用于在所述第一阶段基于所述比较测试来确定所述帧格式是逐行、隔行还是不能断定的单元;用于当所述帧格式在所述第一阶段是不能断定的时评估包括基于机器学习的比较测试的第二阶段的单元;以及用于在所述第二阶段基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的单元。
进一步对于第四实施例,确定所述帧组格式包括所述帧组中的帧的内容分析,并且其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个。
进一步对于第四实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式。
进一步对于第四实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式,并且其中,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式和所述帧组之后的帧组的预计帧组格式。
进一步对于第四实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式,并且其中,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式和所述帧组之后的帧组的预计帧组格式,所述帧组格式包括完全逐行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全逐行帧,并且其中,所述转换技术包括:不转换而生成具有所述最终逐行格式的最终帧。
进一步对于第四实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术。
进一步对于第四实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术,其中,所述自适应解隔行技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第四实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2 下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第四实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第四实施例,所述帧组包括隔行帧和影视化帧,并且其中,用于确定所述帧组格式的单元包括:用于评估多个比较测试的单元,其中,至少一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和。
进一步对于第四实施例,所述帧组包括隔行帧和影视化帧,并且其中,用于确定所述帧组格式的单元包括:用于评估至少一个比较测试的单元,其中,所述比较测试基于比较所述帧组中的单独帧的各块之间的静态阈值化差之和与所述帧组中的另一帧的各块之间的静态阈值化差之和。
在一个或多个第五实施例中,一种用于处理视频以便进行编码和/ 或显示的系统,包括:用于接收包括多个视频格式的混合内容视频流的单元,所述多个视频格式至少包括真实隔行格式和伪隔行影视化转换后的格式;用于确定用于所述混合内容视频流中具有所述真实隔行格式的第一分段的第一转换技术以及用于所述混合内容视频流中具有所述影视化格式的第二分段的第二转换技术的单元,其中,所述第一转换技术和第二转换技术是不同的;以及用于至少部分地基于所述第一转换技术和所述第二转换技术来将所述混合内容视频流转换为逐行视频流的单元。
进一步对于第五实施例,所述第一转换技术包括内容自适应解隔行器,并且所述第二转换技术包括自适应影视化模式反转器技术。
进一步对于第五实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式。
进一步对于第五实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,用于确定所述第一帧格式的单元包括:用于确定与所述第一帧的内容关联的多个描述符的单元;用于基于所述多个描述符来评估多个比较测试的单元;以及用于基于所述比较测试来确定所述第一帧格式的单元,其中,所述第一帧格式包括隔行帧。
进一步对于第五实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,用于确定所述第一帧格式的单元包括:用于确定与所述第一帧的内容关联的多个描述符的单元;用于在第一阶段基于所述多个描述符来评估多个比较测试的单元;用于在所述第一阶段基于所述比较测试来确定所述第一帧格式是逐行、隔行还是不能断定的单元;用于当所述第一帧格式在所述第一阶段是不能断定的时评估包括基于机器学习的比较测试的第二阶段的单元;以及用于在所述第二阶段基于所述基于机器学习的比较测试来确定所述第一帧是隔行的单元。
进一步对于第五实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,其中,转换所述混合内容视频流包括:反转所述单独影视化模式,并且其中,所述单独影视化模式包括3:2 下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第五实施例,确定所述第二转换技术包括:确定所述第二分段具有未检测模式,并且其中,转换所述混合内容视频流包括:将自适应隔行反转器应用于所述第二分段。
进一步对于第五实施例,所述系统还包括:用于确定所述混合内容视频流的第三分段包括逐行格式的单元;以及用于在没有转换的情况下提供所述逐行格式视频分段作为输出的单元。
在一个或多个第六实施例中,至少一种机器可读介质,包括多个指令,所述指令响应于在计算设备上执行而使所述计算设备通过以下步骤来处理视频以便进行编码和/或显示:确定包括一个或多个视频格式的混合内容视频流的帧的帧格式;确定所述混合内容视频流的帧组的帧组格式,其中,所述帧组包括所述帧;至少部分地基于所述帧组格式来确定用于所述帧组的转换技术;以及基于所确定的转换技术来将所述帧组转换为最终逐行格式。
进一步对于第六实施例,所述混合内容视频流的视频格式包括逐行格式、真实隔行格式或伪隔行影视化转换后的格式中的至少一个。
进一步对于第六实施例,其中,所述混合内容视频流的视频格式包括60帧每秒逐行格式、30帧每秒逐行格式、30帧每秒真实隔行格式或30帧每秒伪隔行影视化转换后的格式中的至少一个。
进一步对于第六实施例,确定所述帧格式包括所述帧的内容分析,并且其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第六实施例,确定所述帧格式包括:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个。
进一步对于第六实施例,确定所述帧格式包括:确定与所述帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个,其中,所述描述符包括以下项中的至少一个:所述帧的各对场的之间的绝对差之和,所述帧的块与所述帧的顶部场之间的可变阈值差之和、具有高纹理值的所述帧的块的阈值化计数、所述帧的垂直纹理的测度、所述帧的动态纹理与静态纹理之间的差的测度、所述帧的纹理水平与所述帧的场的纹理水平的平均值之间的差的测度、或所述帧的块与所述帧的顶部场的块之间的静态阈值化差之和。
进一步对于第六实施例,确定所述帧格式包括:确定与所述帧的内容关联的多个描述符;在第一阶段基于所述多个描述符来评估多个比较测试;在所述第一阶段基于所述比较测试来确定所述帧格式是逐行、隔行还是不能断定的;当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
进一步对于第六实施例,确定所述帧组格式包括所述帧组中的帧的内容分析,并且其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个。
进一步对于第六实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式。
进一步对于第六实施例,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式以及所述帧组之后的帧组的预计帧组格式。
进一步对于第六实施例,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式以及所述帧组之后的帧组的预计帧组格式,其中,所述帧组、所述帧组之前的帧组以及所述帧组之后的帧组均包括五个帧。
进一步对于第六实施例,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式,并且其中,确定所述转换技术包括:比较所述帧组格式与所述帧组之前的帧组的先前帧组格式和所述帧组之后的帧组的预计帧组格式。
进一步对于第六实施例,所述帧组格式包括完全逐行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全逐行帧,并且其中,所述转换技术包括:不转换而生成具有所述最终逐行格式的最终帧。
进一步对于第六实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术。
进一步对于第六实施例,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术,其中,所述自适应解隔行技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第六实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术。
进一步对于第六实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2 下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第六实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述自适应影视化模式反转技术包括:验证所述单独影视化模式;检查模式奇偶性;以及反转所述单独影视化模式,以按24帧每秒生成具有所述最终逐行格式的最终帧。
进一步对于第六实施例,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2 下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第六实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术。
进一步对于第六实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述自适应影视化模式反转技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第六实施例,其中,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其中,所述自适应影视化模式反转技术按24帧每秒生成具有所述最终逐行格式的最终帧。
进一步对于第六实施例,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
进一步对于第六实施例,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:评估多个比较测试,其中,至少第一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和。
进一步对于第六实施例,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:评估至少一个比较测试,其中,所述比较测试基于比较所述帧组中的单独帧的各块之间的静态阈值化差之和与所述帧组中的另一帧的各块之间的静态阈值化差之和。
进一步对于第六实施例,所述机器可读介质还包括如下指令,所述指令响应于在计算设备上执行而使所述计算设备通过以下操作来处理视频以便进行编码和/或显示:确定用于所述混合内容视频流的第二帧的第二帧格式;确定用于所述混合内容视频流的所述第二帧组的第二帧组格式,其中,所述第二帧组包括第二帧,并且其中,所述帧组格式和所述第二帧组格式是不同的;至少部分地基于所述帧组格式来确定用于所述第二帧组的第二转换技术,其中,第一转换技术和所述第二转换技术是不同的;以及基于第二所确定的转换技术来将所述第二帧组转换为第二最终逐行格式。
进一步对于第六实施例,确定所述帧格式和所述帧组格式包括:对与所述混合内容视频流关联的头进行解码,其中,所述混合内容视频流包括聚合传送流,并且其中,对所述头进行解码包括:对聚合传送流的单独频道进行解复用,对第一单独频道进行解码以生成所述混合内容视频流和所述头,所述头包括所述帧格式和所述帧组格式。
在一个或多个第七实施例中,至少一种机器可读介质,包括多个指令,所述指令响应于在计算设备上执行而使所述计算设备通过以下步骤来处理视频以便进行编码和/或显示:接收包括多个视频格式的混合内容视频流,所述多个视频格式至少包括真实隔行格式和伪隔行影视化转换后的格式;确定用于所述混合内容视频流中具有所述真实隔行格式的第一分段的第一转换技术以及用于所述混合内容视频流中具有所述影视化格式的第二分段的第二转换技术,其中,所述第一转换技术和第二转换技术是不同的;至少部分地基于所述第一转换技术和所述第二转换技术来将所述混合内容视频流转换为逐行视频流。
进一步对于第七实施例,所述第一转换技术包括内容自适应解隔行器。
进一步对于第七实施例,其中,所述第二转换技术包括自适应影视化模式反转器技术。
进一步对于第七实施例,所述第一转换技术包括内容自适应解隔行器,并且所述第二转换技术包括自适应影视化模式反转器技术。
进一步对于第七实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式。
进一步对于第七实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,确定所述第一帧格式包括:确定与所述第一帧的内容关联的多个描述符;基于所述多个描述符来评估多个比较测试;以及基于所述比较测试来确定所述第一帧格式,其中,所述第一帧格式包括隔行帧。
进一步对于第七实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,确定所述第一帧格式包括:确定与所述第一帧的内容关联的多个描述符;在第一阶段基于所述多个描述符来评估多个比较测试;在所述第一阶段基于所述比较测试来确定所述第一帧格式是逐行、隔行还是不能断定的;当所述第一帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及在所述第二阶段基于所述基于机器学习的比较测试来确定所述第一帧是隔行的。
进一步对于第七实施例,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式,其中,所述第一帧格式包括完全隔行帧,并且其中,确定所述第一转换技术还包括:比较所述第一分段与所述第一帧组之前的帧组的先前帧组格式以及所述第一帧组之后的帧组的预计帧组格式。
进一步对于第七实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,并且其中,转换所述混合内容视频流包括:反转所述单独影视化模式,
进一步对于第七实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,并且其中,转换所述混合内容视频流包括:反转所述单独影视化模式,并且其中,所述单独影视化模式包括 3:2下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第七实施例,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,其中,转换所述混合内容视频流包括:反转所述单独影视化模式,并且其中,所述单独影视化模式包括3:2 下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
进一步对于第七实施例,确定所述第二转换技术包括:确定所述第二分段具有未检测模式,并且其中,转换所述混合内容视频流包括:将自适应隔行反转器应用于所述第二分段。
进一步对于第七实施例,所述机器可读介质还包括如下指令,所述指令响应于在计算设备上执行而使所述计算设备通过以下操作来处理视频以便进行编码和/或显示:确定所述混合内容视频流的第三分段包括逐行格式;以及在没有转换的情况下提供所述逐行格式视频分段作为输出。
在一个或多个第八实施例中,至少一种机器可读介质可以包括多个指令,所述指令响应于在计算设备上执行而使所述计算设备执行如以上实施例中的任一项所述的方法。
在一个或多个第九实施例中,一种装置可以包括用于执行以上实施例中任一项所述的方法的单元。
应理解,实施例不限于如此所描述的实施例,而是可以在不脱离所附权利要求的范围的情况下通过修改和改动而得以实践。例如,以上示例可以包括特征的特定组合。然而,以上实施例不限于此,并且在各个实现方式中,以上实施例可以包括仅承担这些特征的子集,承担这些特征的不同顺序,承担这些特征的不同组合,和/或承担除了明确列出的这些特征之外的附加特征。因此,应参照附图连同这些权利要求所属的等同物的完全范围一起确定实施例的范围。

Claims (46)

1.一种计算机实现的用于处理视频以便进行编码和/或显示的方法,包括:
确定包括一个或多个视频格式的混合内容视频流的帧的帧格式;
确定所述混合内容视频流的帧组的帧组格式,其中,所述帧组包括所述帧;
至少部分地基于所述帧组格式来确定用于所述帧组的转换技术;以及
基于所确定的转换技术来将所述帧组转换为最终逐行格式。
2.如权利要求1所述的方法,其中,所述混合内容视频流的视频格式包括60帧每秒逐行格式、30帧每秒逐行格式、30帧每秒真实隔行格式、或30帧每秒伪隔行影视化转换后的格式中的至少一个。
3.如权利要求1所述的方法,其中,确定所述帧格式包括所述帧的内容分析,并且其中,所述帧格式包括逐行或隔行中的至少一个。
4.如权利要求1所述的方法,其中,确定所述帧格式包括:
确定与所述帧的内容关联的多个描述符;
基于所述多个描述符来评估多个比较测试;以及
基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个。
5.如权利要求1所述的方法,其中,确定所述帧格式包括:
确定与所述帧的内容关联的多个描述符;
在第一阶段,基于所述多个描述符来评估多个比较测试;
在所述第一阶段,基于所述比较测试来确定所述帧格式是逐行、隔行还是不能断定的;
当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及
在所述第二阶段,基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
6.如权利要求1所述的方法,其中,确定所述帧组格式包括所述帧组中的帧的内容分析,并且其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个。
7.如权利要求1所述的方法,其中,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式。
8.如权利要求1所述的方法,其中,确定所述帧组格式包括以下操作中的至少一个:确定所述帧组中的所有帧是逐行的,确定所述帧组中的所有帧是隔行的,确定所述帧组的影视化模式,或确定所述帧组的未检测模式,并且其中,确定所述转换技术包括:将所述帧组格式与所述帧组之前的帧组的先前帧组格式和所述帧组之后的帧组的预计帧组格式进行比较。
9.如权利要求1所述的方法,其中,所述帧组格式包括完全逐行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全逐行帧,并且其中,所述转换技术包括:不转换而生成具有所述最终逐行格式的最终帧。
10.如权利要求1所述的方法,其中,所述帧组格式包括完全隔行帧,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括完全隔行帧,并且其中,所述转换技术包括自适应解隔行技术。
11.如权利要求10所述的方法,其中,所述自适应解隔行技术包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
12.如权利要求1所述的方法,其中,所述帧组格式包括单独影视化模式,其中,确定所述转换技术包括:确定先前帧组格式和预计帧组格式包括所述单独影视化模式,其中,所述转换技术包括自适应影视化模式反转技术,并且其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
13.如权利要求1所述的方法,其中,所述帧组格式包括未检测模式,并且其中,所述转换技术包括自适应影视化模式反转技术,其包括:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
14.如权利要求1所述的方法,其中,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:
评估多个比较测试,其中,至少一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和。
15.如权利要求1所述的方法,其中,所述帧组包括隔行帧和影视化帧,并且其中,确定所述帧组格式包括:
评估至少一个比较测试,其中,所述比较测试基于比较所述帧组中的单独帧的各块之间的静态阈值化差之和与所述帧组中的另一帧的各块之间的静态阈值化差之和。
16.如权利要求1所述的方法,其中,确定所述帧格式和所述帧组格式包括:
对与所述混合内容视频流关联的头进行解码,其中,所述混合内容视频流包括聚合传送流,并且其中,对所述头进行解码包括:对聚合传送流的各频道进行解复用,对第一单独频道进行解码以生成所述混合内容视频流和所述头,所述头包括所述帧格式和所述帧组格式。
17.一种计算机实现的用于处理视频以便进行编码和/或显示的方法,包括:
接收包括多个视频格式的混合内容视频流,所述多个视频格式至少包括真实隔行格式和伪隔行影视化转换后的格式;
确定用于所述混合内容视频流中具有所述真实隔行格式的第一分段的第一转换技术以及用于所述混合内容视频流中具有所述影视化格式的第二分段的第二转换技术,其中,所述第一转换技术和第二转换技术是不同的;以及
至少部分地基于所述第一转换技术和所述第二转换技术来将所述混合内容视频流转换为逐行视频流。
18.如权利要求17所述的方法,其中,所述第一转换技术包括内容自适应解隔行器,并且所述第二转换技术包括自适应影视化模式反转器技术。
19.如权利要求17所述的方法,其中,确定所述第一转换技术包括:确定所述第一分段的第一帧的第一帧格式以及所述第一分段的第一帧组格式。
20.如权利要求19所述的方法,其中,确定所述第一帧格式包括:
确定与所述第一帧的内容关联的多个描述符;
基于所述多个描述符来评估多个比较测试;以及
基于所述比较测试来确定所述第一帧格式,其中,所述第一帧格式包括隔行帧。
21.如权利要求19所述的方法,其中,确定所述第一帧格式包括:
确定与所述第一帧的内容关联的多个描述符;
在第一阶段,基于所述多个描述符来评估多个比较测试;
在所述第一阶段,基于所述比较测试来确定所述第一帧格式是逐行、隔行还是不能断定的;
当所述第一帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及
在所述第二阶段,基于所述基于机器学习的比较测试来确定所述第一帧是隔行的。
22.如权利要求17所述的方法,其中,确定所述第二转换技术包括:确定所述第二分段的单独影视化模式,其中,转换所述混合内容视频流包括:反转所述单独影视化模式,并且其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
23.如权利要求17所述的方法,其中,确定所述第二转换技术包括:确定所述第二分段具有未检测模式,并且其中,转换所述混合内容视频流包括:将自适应隔行反转器应用于所述第二分段。
24.如权利要求17所述的方法,还包括:
确定所述混合内容视频流的第三分段包括逐行格式;以及
在没有转换的情况下提供逐行格式视频分段作为输出。
25.一种用于处理视频以便进行编码和/或显示的系统,包括:
存储器缓冲器,被配置为:存储视频帧;和
中央处理单元,耦合到所述存储器缓冲器,其中,所述中央处理单元包括:
帧分类器模块,被配置为:确定包括一个或多个视频格式的混合内容视频流的帧的帧格式;
帧组分类器模块,确定所述混合内容视频流的帧组的帧组格式,其中,所述帧组包括所述帧;
自适应隔行反转器模块,被配置为:当所述帧组格式包括隔行格式时,将所述帧组转换为第一最终逐行格式;和
自适应影视化反转器模块,被配置为:当所述帧组包括伪隔行影视化转换后的格式时,将所述帧组转换为第二最终逐行格式。
26.如权利要求25所述的系统,其中,所述帧分类器模块和所述帧组分类器模块被配置为:在所述帧组格式之前确定所述帧格式,并且其中,所述存储器缓冲器被配置为:缓存所述帧组、所述帧组之前的帧组以及所述帧之后的帧组,所述帧组、所述帧组之前的帧组以及所述帧组之后的帧组均包括五个帧。
27.如权利要求25所述的系统,其中,所述混合内容视频流的视频格式包括逐行格式、真实隔行格式或伪隔行影视化转换后的格式之一。
28.如权利要求25所述的系统,其中,所述帧分类器模块被配置为:经由所述帧的内容分析来确定所述帧格式,并且其中,所述帧格式包括逐行或隔行中的至少一个。
29.如权利要求25所述的系统,其中,所述帧分类器模块被配置为:通过被配置为进行以下操作的所述帧分类器模块来确定所述帧格式:
确定与所述帧的内容关联的多个描述符;
基于所述多个描述符来评估多个比较测试;以及
基于所述比较测试来确定所述帧格式,其中,所述帧格式包括逐行或隔行中的至少一个。
30.如权利要求29所述的系统,其中,所述描述符包括以下项中的至少一个:所述帧的各对场之间的绝对差之和,所述帧的块与所述帧的顶部场的块之间的可变阈值差之和、具有高纹理值的所述帧的块的阈值化计数、所述帧的垂直纹理的测度、所述帧的动态纹理与静态纹理之间的差的测度、所述帧的纹理水平与所述帧的场的纹理水平的平均值之间的差的测度、或所述帧的块与所述帧的顶部场的块之间的静态阈值化差之和。
31.如权利要求25所述的系统,其中,所述帧分类器模块被配置为:通过被配置为进行以下操作的所述帧分类器模块来确定所述帧格式:
确定与所述帧的内容关联的多个描述符;
在第一阶段,基于所述多个描述符来评估多个比较测试;
在所述第一阶段,基于所述比较测试来确定所述帧格式是逐行、隔行还是不能断定的;
当所述帧格式在所述第一阶段是不能断定的时,评估包括基于机器学习的比较测试的第二阶段;以及
在所述第二阶段,基于所述基于机器学习的比较测试来确定所述帧格式是逐行还是隔行的。
32.如权利要求25所述的系统,其中,所述帧组分类器模块被配置为:经由所述帧组的帧的内容分析来确定所述帧组格式,并且其中,所述帧组格式包括完全逐行、完全隔行或影视化中的至少一个。
33.如权利要求25所述的系统,其中,所述帧组分类器模块被配置为:确定所述帧组格式包括以下中的至少一个:所述帧组的所有帧是逐行的,所述帧组的所有帧是隔行的,所述帧组具有影视化模式,或所述帧组具有未检测模式。
34.如权利要求25所述的系统,其中,所述帧组分类器模块被配置为:通过被配置为进行以下操作的所述帧组分类器模块来确定所述帧组格式:
比较所述帧组格式与所述帧组之前的帧组的先前帧组格式和所述帧组之后的帧组的预计帧组格式。
35.如权利要求34所述的系统,其中,所述帧组、所述帧组之前的帧组以及所述帧组之后的帧组均包括五个帧。
36.如权利要求25所述的系统,其中,所述帧组格式包括完全逐行帧,其中,所述帧组分类器模块被配置为:确定均包括完全逐行帧的先前帧组格式和预计帧组格式,并且其中,所述系统被配置为:在没有转换的情况下输出所述帧组,以生成最终帧。
37.如权利要求25所述的系统,其中,所述帧组格式包括完全隔行帧,其中,所述帧组分类器模块被配置为:确定均包括完全隔行帧的先前帧组格式和预计帧组格式,并且其中,所述帧组格式包括所述隔行格式。
38.如权利要求25所述的系统,其中,所述自适应隔行反转器模块被配置为:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
39.如权利要求25所述的系统,其中,所述帧组格式包括单独影视化模式,其中,所述帧组分类器模块被配置为:确定均包括所述单独影视化模式的先前帧组格式和预计帧组格式,并且其中,所述帧组格式包括伪隔行影视化转换后的格式。
40.如权利要求39所述的系统,其中,所述单独影视化模式包括3:2下拉模式、2:3:3:2下拉模式、4:1下拉模式或混合模式中的至少一个。
41.如权利要求39所述的系统,其中,所述自适应隔行反转器模块被配置为:验证所述单独影视化模式,检查模式奇偶性,以及反转所述单独影视化模式,以按24帧每秒生成具有所述最终逐行格式的最终帧。
42.如权利要求25所述的系统,其中,所述帧组格式包括未检测模式,并且其中,所述自适应隔行反转器模块被配置为:将所述帧组转换为第三最终逐行格式。
43.如权利要求42所述的系统,其中,所述自适应影视化模式反转模块被配置为:基于自适应行块内插、垂直非线性滤波、基于空间边沿检测的内插、或基于运动检测所加权的、内插的和滤波的行块与基于空间边沿检测的内插的加权平均中的至少一个,来生成丢失的像素。
44.如权利要求25所述的系统,其中,所述帧组包括隔行帧和影视化帧,并且其中,所述帧组分类器模块被配置为确定所述帧组格式包括:所述帧组分类器模块被配置为:
评估多个比较测试,其中,至少第一比较测试基于比较所述帧组中的帧的局部纹理的测度,并且至少第二比较测试基于比较所述帧组中的单独帧的各场之间的绝对差之和与所述单独帧的场与所述帧组中的另一帧之间的绝对差之和。
45.至少一种机器可读介质,包括:
多个指令,所述指令响应于在计算设备上执行而使所述计算设备执行如权利要求1-24中任一项所述的方法。
46.一种用于处理视频以便进行编码和/或显示的装置,包括:
用于执行如权利要求1-24中任一项所述的方法的单元。
CN201580046783.XA 2014-09-30 2015-08-18 用于处理视频以便进行编码和/或显示的方法、装置和系统 Active CN106797444B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/501,736 US9386265B2 (en) 2014-09-30 2014-09-30 Content adaptive telecine and interlace reverser
US14/501,736 2014-09-30
PCT/US2015/045610 WO2016053491A1 (en) 2014-09-30 2015-08-18 Content adaptive telecine and interlace reverser

Publications (2)

Publication Number Publication Date
CN106797444A CN106797444A (zh) 2017-05-31
CN106797444B true CN106797444B (zh) 2019-10-25

Family

ID=55585875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580046783.XA Active CN106797444B (zh) 2014-09-30 2015-08-18 用于处理视频以便进行编码和/或显示的方法、装置和系统

Country Status (5)

Country Link
US (2) US9386265B2 (zh)
EP (1) EP3202136A4 (zh)
KR (1) KR102226563B1 (zh)
CN (1) CN106797444B (zh)
WO (1) WO2016053491A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
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
WO2019113193A1 (en) * 2017-12-06 2019-06-13 Medicapture, Inc. Imaging system and method capable of processing multiple imaging formats
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 深圳市中兴微电子技术有限公司 一种去隔行处理方法及装置、计算机可读存储介质
JP2022529317A (ja) * 2019-04-05 2022-06-21 プロジェクト・ジャイアンツ・エルエルシー ハイダイナミックレンジビデオフォーマット検知
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119440A (zh) * 2006-08-03 2008-02-06 财团法人索尔大学校产学协力财团 帧转换设备和方法以及帧类型检测设备和方法
CN101409834A (zh) * 2007-10-12 2009-04-15 联发科技股份有限公司 支持逐行式与隔行式数据的系统的宏块对编码方法
CN101621652A (zh) * 2009-07-21 2010-01-06 上海华平信息技术股份有限公司 在图像传输系统中高质量传输隔行图像并转逐行的方法
CN102369728A (zh) * 2009-04-02 2012-03-07 高通股份有限公司 反向电视电影处理技术
US8374240B1 (en) * 2008-07-10 2013-02-12 Marvell International Ltd. Image frame management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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 映像信号処理方法及び装置
US7154555B2 (en) 2003-01-10 2006-12-26 Realnetworks, Inc. Automatic deinterlacing and inverse telecine
US20090161766A1 (en) 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119440A (zh) * 2006-08-03 2008-02-06 财团法人索尔大学校产学协力财团 帧转换设备和方法以及帧类型检测设备和方法
CN101409834A (zh) * 2007-10-12 2009-04-15 联发科技股份有限公司 支持逐行式与隔行式数据的系统的宏块对编码方法
US8374240B1 (en) * 2008-07-10 2013-02-12 Marvell International Ltd. Image frame management
CN102369728A (zh) * 2009-04-02 2012-03-07 高通股份有限公司 反向电视电影处理技术
CN101621652A (zh) * 2009-07-21 2010-01-06 上海华平信息技术股份有限公司 在图像传输系统中高质量传输隔行图像并转逐行的方法

Also Published As

Publication number Publication date
US9386265B2 (en) 2016-07-05
US9521358B2 (en) 2016-12-13
KR20170039251A (ko) 2017-04-10
EP3202136A4 (en) 2018-09-19
KR102226563B1 (ko) 2021-03-10
EP3202136A1 (en) 2017-08-09
CN106797444A (zh) 2017-05-31
US20160205343A1 (en) 2016-07-14
US20160094803A1 (en) 2016-03-31
WO2016053491A1 (en) 2016-04-07

Similar Documents

Publication Publication Date Title
CN106797444B (zh) 用于处理视频以便进行编码和/或显示的方法、装置和系统
TWI572196B (zh) 用於次世代視訊編碼之投射式內插預測產生之技術
US9924201B2 (en) System and method of filtering noise
CN100518315C (zh) 采用清晰度增强技术的空间可缩放的压缩方案的编解码器及方法
US9866845B2 (en) Method of content adaptive video encoding
RU2518435C2 (ru) Оптимизация кодера в системах доставки стереоскопического видео
US11436710B2 (en) Method and device for mapping LDR video into HDR video
CN104885455B (zh) 一种用于视频编码的计算机实现的方法及装置
CN105432082B (zh) 用于兴趣区编码的运动约束图块集合
RU2511595C2 (ru) Устройство декодирования сигнала изображения, способ декодирования сигнала изображения, устройство кодирования сигнала изображения, способ кодирования изображения и программа
US6968006B1 (en) Method of content adaptive video decoding
US8630353B1 (en) Method and computer-readable medium for content adaptive video decoding
CN108432253A (zh) 长期参考图片译码
CN105791861A (zh) 定向内插和数据后处理
CN107409229A (zh) 指示编码区域的结束的语法结构
WO2009122718A1 (ja) 撮像システム、撮像方法、およびプログラムを記憶するコンピュータ読み取り可能な媒体
CN112465698A (zh) 一种图像处理方法和装置
Topiwala et al. Deep learning techniques in video coding and quality analysis
US20060067410A1 (en) Method for encoding and decoding video signals
CN116074528A (zh) 视频编码方法及装置、编码信息调度方法及装置
CN117242499A (zh) 自动视频质量评估
CN115150370A (zh) 一种图像处理的方法
JPH06339132A (ja) 動画像の符号復号化方法および装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant