CN114208160A - 帧速率转换 - Google Patents

帧速率转换 Download PDF

Info

Publication number
CN114208160A
CN114208160A CN202080056432.8A CN202080056432A CN114208160A CN 114208160 A CN114208160 A CN 114208160A CN 202080056432 A CN202080056432 A CN 202080056432A CN 114208160 A CN114208160 A CN 114208160A
Authority
CN
China
Prior art keywords
video content
specified
frame
interval
frames
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.)
Pending
Application number
CN202080056432.8A
Other languages
English (en)
Inventor
郑卫国
雷克斯·易·春·陈
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.)
Netflix Inc
Original Assignee
Netflix Inc
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 Netflix Inc filed Critical Netflix Inc
Publication of CN114208160A publication Critical patent/CN114208160A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/18Timing circuits for raster scan displays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

所公开的方法包括访问以指定的帧速率编码的视频内容,以及确定电子显示器的刷新速率,在该电子显示器上要呈现视频内容。接下来,该方法包括指定视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步。该方法还包括在电子显示器上呈现所指定的视频内容的时间间隔。在这个调整后的速度下,使用原始视频帧和多帧复制回放间隔。呈现还可以调整间隔的第二部分的回放速度。以调整后的速度,使用原始帧和不同数量的帧复制回放间隔。还公开了各种其他方法、系统和计算机可读介质。

Description

帧速率转换
交叉引用
本申请要求优先于2019年8月8日提交的、标题为“FRAME RATE CONVERSION(帧速率转换)”的第16/536302号美国非临时申请,其全部内容通过引用并入本文。
背景技术
数字视频内容(包括电影、电视、在线流媒体视频和其他内容)通常使用多种不同编码格式之一进行编码。最常见的是,视频内容使用一种运动图像专家组(MPEG)标准(如MPEG-4)进行编码。此编码指定呈现视频的帧速率。例如,胶片通常以每秒24帧进行编码。然后,将该视频内容发送到电子显示器,以便呈现给用户或用户组。电子显示器(例如,液晶显示器(LCD)、有机发光二极管(OLED)显示器或某些其他类型的显示器)通常以指定的刷新速率呈现内容。
例如,许多显示器以50Hz、60Hz、120Hz甚至240Hz的频率显示内容。因此,电子显示器每秒在显示器上生成50、60、120或240次新图像。由于发送到显示器的视频内容以更低的帧速率(例如,每秒24帧)进行编码,因此显示器可以每秒多次重画同一帧。当每秒多次重画这些帧时,每秒的帧数(例如24)通常不能清晰地划分为50Hz、60Hz等显示器的刷新速率。因此,在回放期间复制额外的视频帧或部分帧,以使视频内容的帧速率与电子显示器的刷新速率一致。然而,当前的复制和同步方法常常不稳定,可能会导致明显的瑕疵,从而降低用户的观看体验。
发明内容
如下文将更详细描述的,本发明描述了用于将视频的帧速率与电子显示器的刷新速率对齐的系统和方法。该方法包括访问以指定的帧速率进行编码的视频内容。该方法还包括确定电子显示器的刷新速率,在该电子显示器上要呈现视频内容。该方法还包括指定视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步。该方法还包括在电子显示器上呈现所指定的视频内容的时间间隔。所述呈现包括:调整视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放指定间隔的第一部分;以及调整视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放指定间隔的第二部分。
在一些示例中,不同的第二帧复制序列至少包括最小阈值数量的复制帧。在一些示例中,调整视频内容的指定间隔的第一部分的回放速度包括提高视频内容的指定间隔的第一部分的回放速度。在一些示例中,调整视频内容的指定间隔的第二部分的回放速度包括降低视频内容的指定间隔的第二部分的回放速度。
在一些示例中,回放速度被调整在加速或减慢所述回放速度的指定最大量内。在一些示例中,调整回放速度包括改变与视频内容相关联的呈现时间戳。在一些示例中,指定的时间间隔大于1秒。在一些示例中,指定的时间间隔至少为3秒。
在一些示例中,基于所呈现的视频帧的类型来调整回放速度。在一些示例中,包括一个或多个一阶帧复制的视频内容的间隔以指定的回放速度自动回放。在一些示例中,包括一个或多个二阶帧复制的视频内容的间隔以指定的回放速度自动回放。在一些示例中,复制帧的数量以指定的间隔重复。
相对应的系统包括至少一个物理处理器和物理存储器,该物理存储器包括计算机可执行指令,当这些指令由物理处理器执行时,使得物理处理器访问视频内容的一部分,其中视频内容以指定的帧速率进行编码。然后,该物理处理器确定电子显示器的刷新速率,在该电子显示器上要呈现视频内容。该物理处理器还指定视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步。该物理处理器还在电子显示器上呈现所指定的视频内容的时间间隔。所述呈现包括:调整视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放指定间隔的第一部分;以及调整视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放指定间隔的第二部分。
在一些示例中,视频内容的指定间隔的每一部分的回放速度被存储在查找表中。在一些示例中,根据查找表中指示的回放信息,在电子显示器上回放视频内容的指定间隔。在一些示例中,查找表包括一个或多个增量值,这些增量值在电子显示器上呈现视频内容的指定时间间隔期间应用,以调整视频内容的指定时间间隔内的每一帧的呈现时间戳。
在一些示例中,该系统还测试电子显示器上视频内容的指定时间间隔的呈现,以验证关于回放视频内容的指定质量度量。在一些示例中,视频内容的帧速率为每秒24帧,电子显示器的刷新速率为50Hz。在一些示例中,视频内容的帧速率为每秒24帧,电子显示器的刷新速率为60Hz。
在一些示例中,上述方法被编码为计算机可读介质上的计算机可读指令。例如,计算机可读介质可以包括一个或多个计算机可执行指令,当这些指令由计算设备的至少一个处理器执行时,使得计算设备访问视频内容的一部分,视频内容以指定的帧速率进行编码;确定电子显示器的刷新速率,在该电子显示器上要呈现视频内容;指定视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步;以及在电子显示器上呈现所指定的视频内容的时间间隔,其中,所述呈现包括:调整视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放指定间隔的第一部分;以及调整视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放指定间隔的第二部分。
根据本文描述的一般原理,本文描述的任何实施例的特征可以相互结合使用。在结合附图和权利要求阅读以下详细描述时,将更充分地理解这些和其他实施例、特征和优点。
附图说明
附图示出了许多示例性实施例,并且是说明书的一部分。连同以下描述,这些附图展示并解释了本发明的各种原理。
图1是示例性内容分发生态系统的框图。
图2是图1所示的内容分发生态系统内的示例性分发基础设施的框图。
图3是图1所示的内容分发生态系统内的示例性内容播放器的框图。
图4示出了本文描述的实施例在其中操作的计算架构。
图5示出了用于将视频的帧速率与电子显示器的刷新速率对齐的示例性方法的流程图。
图6示出了具有视频内容的两个不同部分的时间间隔的实施例。
图7示出了将不同帧速率的视频帧转换为不同显示速率的实施例。
图8示出了具有不同帧速率转换和不同类型的复制帧以及帧速率转换质量度量的图表。
图9示出了具有原始视频帧和复制视频帧的实施例。
图10A示出了应用从每秒24帧到每秒60帧的帧速率转换的实施例。
图10B示出了应用从每秒24帧到每秒50帧的帧速率转换的实施例。
图10C示出了在3秒窗口上从每秒24帧到每秒50帧应用帧速率转换的实施例。
图11A示出了具有不同时间间隔、帧复制数、顺序和回放速度的图表。
图11B示出了以指定的回放速度回放多个复制视频帧的实施例。
图11C示出了结合帧速率转换调整呈现时间戳的实施例。
图12示出了音频和视频同步被校正以产生期望的音频/视频输出的实施例。
在整个附图中,相同的参考字符和描述表示相似但不一定相同的元素。虽然本文所描述的示例性实施例容易受到各种修改和替代形式的影响,但具体实施例已在附图中以示例的方式示出,并将在本文中详细描述。然而,本文所描述的示例性实施例并不限于所公开的特定形式。相反,本发明涵盖了属于所附权利要求范围内的所有修改、等效物和替代物。
具体实施例
本发明总体涉及将视频的帧速率与电子显示器的刷新速率对齐。如上所述,传统系统试图通过简单地添加复制帧或复制帧的一部分,将视频的帧速率与显示器的刷新速率对齐。例如,当从每秒24帧(fps)转换到60Hz(美国和日本的显示器常使用的)时,传统系统将一次复制所有24帧,总共48帧。然后,这些传统系统将创建额外的12帧,重复两次,总共60帧。然后,这60帧在电子显示器上显示,每帧时间为1/60秒。对于胶片的长度,后续帧也会以这种方式复制和显示。
如果以24fps的速度拍摄的胶片转换为50Hz(这在欧洲和南美的显示器中很常见),则复制24个原始帧以创建48帧,其中两个帧第二次复制,总共50帧。这50帧在显示屏上显示的时间各为1/50秒。在其他实现中,原始24帧被复制一次,而一帧被复制另一次,另一帧也被复制第二次。这通常会导致明显的抖动和其他用户可见的显示瑕疵。还应注意的是,在这些传统系统中,每个帧都以相同的速率回放。无论帧复制是如何发生的,视频内容都会在整个电影或电视节目中以稳定不变的速率回放。
其他传统实现试图生成非直接重复的帧。例如,运动插值系统查看选定帧和后续帧,并使用运动估计/补偿(MEMC)算法分析每个帧中的差异。这样的系统然后计算一个中间帧,该中间帧获取第一帧中像素的初始位置,并将像素转换到下一帧中的最终位置。因此,该中间帧表示所选帧和后续帧的“平均”像素值。然而,这些计算需要相对较大的计算能力,并且往往会在图片中留下用户可以注意到的明显痕迹。因此,用户经常在电视或显示器上关闭这种运动估计系统。
还有一些视频内容提供商选择为不同的市场重新编码整个库。例如,为消费(例如,在流媒体平台上)提供的视频A、B和C可以以24fps的速度编码,以便于转换为60Hz的显示。然而,由于24fps不能完全转换为50Hz,因此欧洲提供的这些相同的视频A、B和C被重新编码为25fps,以便于转换为50Hz。在这种情况下,帧转换可以简单地将每个原始帧复制一次,总共50fps,以1:1的比例显示在50Hz显示器上。然而,对于拥有非常大的库的视频内容提供商来说,用不同的显示刷新速率为不同的区域重新编码整个库是不可行的。
因此,本文描述的实施例可以以向用户提供平滑和清晰图片的速率向电子显示器提供视频内容,而无需视频流提供商重新编码其库,也无需引入运动估计。在本文描述的实施例中,某些帧或帧组的回放速度被加速或减慢了几分之一秒,以在可变显示间隔上容纳更多或更少的帧。这些回放速度的差异对于用户来说是不可察觉的,并且允许平滑地回放视频内容,而不管其本机帧速率和显示内容的显示器的刷新速率如何。
在一些情况下,将视频的帧速率与电子显示器的刷新速率对齐的系统可以访问以指定帧速率编码的视频内容。系统还确定电子显示器的刷新速率,在该电子显示器上要显示视频内容。然后,系统为视频内容指定时间间隔,在该时间间隔内将应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步。系统进一步在电子显示器上显示视频内容的时间间隔。呈现涉及调整视频内容的某些指定间隔的回放速度,以便使用原始视频帧和帧复制序列回放间隔的部分。呈现还涉及调整视频内容间隔的不同部分的回放速度,以便使用原始视频帧和不同的帧复制序列来回放间隔的该部分。
另一帧复制序列包括最小数量的复制帧。在一些情况下,调整视频内容间隔的回放速度包括提高视频内容间隔的第一部分的回放速度。调整视频内容间隔的另一部分的回放速度包括降低视频内容间隔的该部分的回放速度。回放速度被调整在加速或减慢回放速度的最大范围内。在一些情况下,调整回放速度包括改变与视频内容相关联的呈现时间戳。指定的时间间隔大于1秒,并且在一些情况下至少为3秒。
在一些情况下,基于所呈现的视频帧的类型调整回放速度。包括一阶帧复制的视频内容间隔将以指定的回放速度自动回放。包括二阶帧复制的视频内容间隔将以指定的回放速度自动回放。重复的帧数将以指定的间隔重复。在一些情况下,视频内容间隔的每一部分的回放速度都存储在查找表中。根据查找表中指示的回放信息,在电子显示器上回放视频内容的间隔。查找表包括在电子显示器上呈现视频内容的时间间隔期间应用的增量值,以调整视频内容时间间隔内每一帧的呈现时间戳。
在一些情况下,在电子显示器上测试视频内容的时间间隔的呈现,以验证与回放视频内容有关的质量度量。视频内容的帧速率基于实现而变化。在一些情况下,视频内容的帧速率为每秒24帧,电子显示器的刷新速率为50Hz。在其他情况下,视频内容的帧速率为每秒24帧,电子显示器的刷新速率为60Hz。下面将参考图1-3图更详细地解释这些实施例,其介绍了流媒体播放器和流媒体环境,图4和图5描述了用于计算帧转换的计算架构和方法,并且图6-12描述了用于执行帧转换的不同实现和替代实施例。
以下将参考图1提供用于多媒体内容的自适应流传输的示例性生态系统的详细描述。与图2和图3相对应的讨论分别概述了示例性分发基础设施和示例性内容播放器。将结合图4提供用于多媒体内容的自适应流传输的相应计算机实现方法的详细描述。
图1是包括与内容播放器120通信的分发基础设施110的内容分发生态系统100的框图。在一些实施例中,分发基础设施110可被配置为以特定数据速率对数据进行编码,并将编码后的数据传送到内容播放器120。内容播放器120可被配置为经由分发基础设施110接收经编码的数据,并对数据进行解码以向用户回放。分发基础设施110提供的数据可包括音频、视频、文本、图像、动画、交互内容、触觉数据、虚拟或增强现实数据、位置数据、游戏数据、或可通过流媒体提供的任何其他类型的数据。
分发基础设施110通常表示被配置为向最终用户交付内容的任何服务、硬件、软件或其他基础设施组件。例如,分发基础设施110可以包括内容聚合系统、媒体转码和打包服务、网络组件和/或各种其他类型的硬件和软件。分发基础设施110可以实现为高度复杂的分发系统、单个媒体服务器或设备,或两者之间的任何东西。在一些示例中,无论大小或复杂程度如何,分发基础设施110都可以包括至少一个物理处理器112和至少一个存储器设备114。如本文所述,一个或多个模块116可被存储或加载到存储器114中以实现自适应流传输。
内容播放器120通常表示能够播放通过分发基础设施110提供的音频和/或视频内容的任何类型或形式的设备或系统。内容播放器120的示例包括但不限于移动电话、平板电脑、膝上型计算机、台式计算机、电视机、机顶盒、数字媒体播放器、虚拟现实耳机、增强现实眼镜和/或能够呈现数字内容的任何其他类型或形式的设备。与分发基础设施110一样,内容播放器120可以包括物理处理器122、存储器124和一个或多个模块126。本文描述的一些或全部自适应流处理可由模块126执行或启用,并且在一些示例中,分发基础设施110的模块116可与内容播放器120的模块126协调以提供多媒体内容的自适应流。
在某些实施例中,图1中的模块116和/或126中的一个或多个可代表一个或多个软件应用或程序,当由计算设备执行时,可使计算设备执行一个或多个任务。例如,如下文将更详细地描述的,模块116和126中的一个或多个可以表示存储并配置为在一个或多个通用计算设备上运行的模块。图1中的模块116和126中的一个或多个还可以表示配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。
此外,本文描述的一个或多个模块、过程、算法或步骤可以将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述的一个或多个模块可以接收要编码的音频数据,通过编码对音频数据进行变换,输出编码结果以用于自适应音频比特率系统,将变换结果发送给内容播放器,并将变换后的数据呈现给最终用户以供使用。另外或替代地,本文所述的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据,将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式转换为另一种形式,和/或以其他方式与计算设备交互。
物理处理器112和122通常表示能够解译和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器112和122可以分别访问和/或修改模块116和126中的一个或多个。另外或替代地,物理处理器112和122可以执行模块116和126中的一个或多个,以促进多媒体内容的自适应流传输。物理处理器112和122的示例包括但不限于微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、它们中的一个或多个的部分、变体或组合,和/或任何其他合适的物理处理器。
存储器114和124通常表示能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器114和/或124可以存储、加载和/或维护模块116和126中的一个或多个。存储器114和/或124的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、缓存、一种或多种存储器的变体或组合,和/或任何其他合适的存储器设备或系统。
图2是根据某些实施例的内容分发基础设施110的示例性组件的框图。分发基础设施110可以包括存储装置210、服务220和网络230。存储装置210通常表示能够存储内容以交付给最终用户的任何设备、设备组和/或系统。存储装置210可以包括中央存储库,其具有能够存储TB或PB数据的设备和/或可以包括分布式存储系统(例如,在互联网互连位置镜像或缓存内容以提供对特定区域内镜像内容的更快访问的装置)。存储装置210还可以以任何其他合适的方式配置。
如图所示,除其他项目外,存储装置210可以存储内容212、用户数据214和/或日志数据216。内容212可以包括电视节目、电影、视频游戏、用户生成的内容和/或任何其他合适类型或形式的内容。用户数据214可以包括个人识别信息(PII)、支付信息、偏好设置、语言和可访问性设置,和/或与特定用户或内容播放器相关联的任何其他信息。日志数据216可以包括查看历史信息、网络吞吐量信息和/或与用户与分发基础设施110的连接或与之交互相关联的任何其他度量。
服务220可以包括个性化服务222、转码服务224和/或打包服务226。个性化服务222可以个性化推荐、内容流和/或用户使用分发基础设施110的体验的其他方面。编码服务224可以以不同的比特率压缩媒体,如下文更详细地描述的,这可以实现不同编码之间的实时切换。打包服务226可以在将编码视频部署到传送网络(例如网络230)之前对其进行打包以进行流传输。
网络230通常表示能够促进通信或数据传输的任何介质或架构。网络230可促进使用无线和/或有线连接的通信或数据传输。网络230的示例包括但不限于内联网、广域网(WAN)、局域网(LAN)、个人局域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信系统(GSM)网络)、一个或多个网络的一部分、一个或多个相同网络和/或任何其他合适网络的变体或组合。例如,如图2所示,网络230可以包括互联网主干232、互联网服务提供商234和/或本地网络236。如下文更详细讨论的,这些网段中的一个或多个网段内的带宽限制和瓶颈可能会触发视频和/或音频比特率调整。
图3是图1的内容播放器120的示例性实现的框图。内容播放器120通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。内容播放器120可包括但不限于笔记本电脑、平板电脑、台式机、服务器、蜂窝电话、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、智能车辆、游戏控制台、物联网(IoT)设备(例如智能家电)、它们中一个或多个的变体或组合,和/或任何其他合适的计算设备。
如图3所示,除了处理器122和存储器124之外,内容播放器120还可以包括通信基础设施302和耦合到网络连接324的通信接口322。内容播放器120还可以包括耦合到图形设备328的图形接口326、耦合到输入设备336的输入接口334、以及耦合到存储设备340的存储接口338。
通信基础设施302通常表示能够促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础设施。通信基础设施302的示例包括但不限于任何类型或形式的通信总线(例如,外围组件互连(PCI)总线、PCI Express(PCIe)总线、存储器总线、前端总线、集成驱动电子设备(IDE)总线、控制或寄存器总线、主机总线等)。
如上所述,存储器124通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一些示例中,存储器124可以存储和/或加载操作系统308以供处理器122执行。在一个示例中,操作系统308可以包括和/或表示管理计算机硬件和软件资源和/或向内容播放器120上的计算机程序和/或应用提供公共服务的软件。
操作系统308可以执行各种系统管理功能,例如管理硬件组件(例如,图形接口326、音频接口330、输入接口334和/或存储接口338)。操作系统308还可以为回放应用310提供过程和存储器管理模型。回放应用310的模块可以包括例如内容缓冲器312、音频解码器318和视频解码器320。
回放应用310可以被配置为经由通信接口322检索数字内容,并通过图形接口326播放数字内容。图形接口326可以被配置为将所呈现的视频信号发送到图形设备328。在正常操作中,回放应用310可以接收来自用户的播放特定标题或特定内容的请求。然后,回放应用310可以识别与所请求的标题相关联的一个或多个编码视频和音频流。在回放应用310已经定位与请求的标题相关联的编码流之后,回放应用310可以从分发基础设施110下载与和请求的标题相关联的每个编码流相关联的序列头索引。与编码内容相关联的序列头索引可以包括与编码内容中包括的编码数据序列相关的信息。
在一个实施例中,回放应用310可以通过下载编码为最低音频和/或视频回放比特率的序列数据来开始下载与请求的标题相关联的内容,以最小化回放的启动时间。然后,可以将所请求的数字内容文件下载到内容缓冲器312中,内容缓冲器312可被配置为用作先进先出队列。在一个实施例中,下载数据的每个单元可以包括视频数据单元或音频数据单元。当与所请求的数字内容文件相关联的视频数据单元被下载到内容播放器120时,视频数据单元可以被推入内容缓冲器312。类似地,当与所请求的数字内容文件相关联的音频数据单元被下载到内容播放器120时,音频数据单元可以被推入内容缓冲器312。在一个实施例中,视频数据的单元可以存储在内容缓冲器312内的视频缓冲器316中,音频数据的单元可以存储在内容缓冲器312的音频缓冲器314中。
视频解码器320可以从视频缓冲器316读取视频数据的单元,并且可以在与固定回放时间跨度的持续时间相对应的视频帧序列中输出视频数据的单元。从视频缓冲器316读取视频数据单元可以有效地将视频数据单元从视频缓冲器316解列(dequeue)。然后,视频帧序列可以由图形接口326呈现,并被发送到设备328以显示给用户。
音频解码器318可以从音频缓冲器314读取音频数据单元,并将音频数据单元作为音频样本序列输出,通常与解码视频帧序列在时间上同步。在一个实施例中,音频样本序列可被发送到音频接口330,音频接口330可将音频样本序列转换为电音频信号。然后,可以将电音频信号发送到音频设备332的扬声器,作为响应,该扬声器可以产生声音输出。
在分发基础设施110的带宽有限和/或可变的情况下,回放应用310可以基于各种因素(例如,场景复杂度、音频复杂度、网络带宽、设备能力等)以不同比特率从视频编码下载和缓冲视频数据和/或音频数据的连续部分。在一些实施例中,视频回放质量可以优先于音频回放质量。音频回放和视频回放质量也可以彼此平衡,并且在一些实施例中,音频回放质量可以优先于视频回放质量。
图形接口326可以被配置成生成视频数据帧,并将视频数据帧发送到图形设备328。在一个实施例中,图形接口326可以与处理器122一起被包括为集成电路的一部分。替代地,图形接口326可以被配置为不同于(即,未集成在)包括处理器122的芯片组的硬件加速器。
图形接口326通常表示被配置为转发图像以在图形设备328上显示的任何类型或形式的设备。例如,可以使用液晶显示(LCD)技术、阴极射线技术和发光二极管(LED)显示技术(有机或无机)来制造图形设备328。在一些实施例中,图形设备328还可以包括虚拟现实显示器和/或增强现实显示器。图形设备328可以包括用于生成图像以供显示的任何技术上可行的装置。换句话说,图形设备328通常表示能够直观地显示由图形接口326转发的信息的任何类型或形式的设备。
如图3所示,内容播放器120还可以包括经由输入接口334耦合到通信基础设施302的至少一个输入设备336。输入设备336通常表示能够向内容播放器120提供计算机或人工生成的输入的任何类型或形式的计算设备。输入设备336的示例包括但不限于键盘、点击设备、语音识别设备、触摸屏、可穿戴设备(例如手套、手表等)、控制器、它们中的一种或多种的变体或组合,和/或任何其他类型或形式的电子输入机构。
内容播放器120还可以包括经由存储接口338耦合到通信基础设施302的存储设备340。存储设备340通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备340可以是磁盘驱动器、固态驱动器、光盘驱动器、闪存驱动器等。存储接口338通常表示用于在存储设备340和内容播放器120的其他组件之间传输数据的任何类型或形式的接口或设备。
许多其他设备或子系统可以包括在内容播放器120中或连接到内容播放器120。相反地,图3中所示的一个或多个组件和设备不需要存在以实践本文所描述和/或所示的实施例。上述装置和子系统也可以与图3所示的不同方式互连。内容播放器120还可以采用任意数量的软件、固件和/或硬件配置。例如,本文公开的示例性实施例中的一个或多个可以被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用、计算机可读指令或计算机控制逻辑)。如本文所使用的术语“计算机可读介质”可以指的是能够存储或承载计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质(例如载波)和非暂时性介质,例如磁存储介质(例如硬盘驱动器、磁带驱动器等)、光学存储介质(例如光盘(CD)、数字视频盘(DVD)和蓝光盘)、电子存储介质(例如固态驱动器和闪存介质)和其他数字存储系统。
可以将包含计算机程序的计算机可读介质加载到内容播放器120中。然后,存储在计算机可读介质上的计算机程序的全部或一部分可以存储在存储器124和/或存储设备340中。当由处理器122执行时,加载到存储器124中的计算机程序可使处理器122执行本文描述和/或图示的一个或多个示例性实施例的功能和/或作为执行这些功能的装置。另外或替代地,本文描述和/或图示的一个或多个示例性实施例可以被实现在固件和/或硬件中。例如,内容播放器120可以被配置为适合于实现本文公开的示例性实施例中的一个或多个的专用集成电路(ASIC)。
图4示出了包括计算机系统401的计算环境400。计算机系统401可以是基本上任何类型的计算机系统,包括本地计算机系统或分布式(例如,云)计算机系统。计算机系统401包括至少一个处理器402和至少一些系统存储器403。计算机系统401还包括用于执行各种不同功能的程序模块。程序模块是基于硬件的、基于软件的、或包括硬件和软件的组合。每个程序模块使用计算硬件和/或软件来执行指定的功能,包括下文所述的功能。
例如,通信模块404与其他计算机系统通信。通信模块404包括有线或无线通信装置,其从其他计算机系统接收数据和/或向其他计算机系统发送数据。这些通信装置可以包括硬件无线电装置,例如,包括基于硬件的接收器405、基于硬件的发射器406或能够接收和发送数据的基于硬件的组合收发器。无线电装置可以是WIFI无线电装置、蜂窝无线电装置、蓝牙无线电装置、全球定位系统(GPS)无线电装置或其他类型的无线电装置。通信模块404与数据库、移动计算设备(例如移动电话或平板电脑)、嵌入式或其他类型的计算系统交互。
计算机系统401还包括视频内容访问模块409。视频内容访问模块409从内容源接收视频内容407。视频内容源可以是视频的制作者(例如,电影或电视节目)、视频的发行者(例如,流式视频内容提供商)或向电子设备提供视频内容的其他实体。如上所述,计算机系统401可以是任何类型的计算机系统,包括机顶盒、移动电话、笔记本电脑、PC或运行包括视频流客户端应用的软件应用的其他计算机系统。这些应用中的至少一个接收视频内容407并在显示器(例如显示器420)上呈现该视频内容。
视频内容407以指定的帧速率编码。帧速率可以是24fps、25fps、30fps,或者一些其他帧速率。视频内容访问模块409访问该视频内容407,并为计算机系统401上的后续操作准备视频内容。在接收到视频内容407之前或之后,刷新速率确定模块410确定电子显示器420被设置为刷新其内容的速率。例如,显示器420可以以50Hz、60Hz、100Hz、120Hz或一些其他刷新速率刷新内容以供显示。因此,显示器每秒重画或表示给定视频帧50、60、100或120次。如上所述,世界各地的显示器刷新速率各不相同。为了获得最佳观看体验,显示器420的刷新速率421与视频内容407的编码帧速率408同步,以便显示器上显示的视频帧是一致的。也就是说,视频帧以观众看不到的方式被复制。
为了完成该复制,时间间隔确定模块412识别或指定视频内容的时间间隔413。在至少一些实施例中,该时间间隔413长于1秒,因此,与仅查看1秒时间间隔的常规系统相比,应用帧速率转换的时间间隔覆盖两秒、三秒或更多秒。帧速率转换模块414基于视频内容的帧速率408和显示器的刷新速率421执行帧速率转换。
作为帧速率转换过程的一部分,帧速率转换模块414查看相对较长的视频内容间隔(例如,三秒),并生成第一帧复制序列417,以与该时间间隔的原始视频帧416A一起,并且还生成第二帧复制序列418,以与该时间间隔的原始视频帧416B一起。然后,在显示器420上回放该时间间隔413及其原始帧和相应的帧复制序列。然而,视频内容407的时间间隔的某些部分以不同的速度回放。回放速度调整模块415提高或降低原始帧和/或各种帧复制序列的回放速度,以便创建与观看者的眼睛无缝的视频回放。下面将参考图5的方法500进一步解释这些概念。
图5是用于将视频的帧速率与电子显示器的刷新速率对齐的示例性计算机实现的方法500的流程图。图5所示的步骤可以由任何合适的计算机可执行代码和/或计算系统执行,包括图1-4所示的系统。在一个示例中,图5所示的每个步骤可以表示其结构包括和/或由多个子步骤表示的算法,下面将更详细地提供其示例。
如图5所示,在步骤510,本文所述的一个或多个系统或模块访问以指定帧速率编码的视频内容的一部分。例如,图4的视频内容访问模块409访问以帧速率408编码的视频内容407。在一些示例中,帧速率为24fps。在步骤520,计算机系统401的刷新速率确定模块410确定电子显示器420的刷新速率,电子显示器420在其上要呈现视频内容。在一些示例中,显示器420的刷新速率421为50Hz,在其他示例中,刷新速率为60Hz。在步骤530,时间间隔确定模块412确定时间间隔413,在时间间隔413内要应用帧速率转换。在一些示例中,该时间间隔为3秒。因此,在该示例中,在三秒的视频内容内应用帧速率转换,以使视频内容407的帧速率408与电子显示器420的刷新速率421同步。
在步骤540,帧速率转换模块414在时间间隔413内执行帧速率转换,并在电子显示器420上呈现视频内容的时间间隔。该帧速率转换和在电子显示器420上呈现的过程包括:调整视频内容的指定间隔的第一部分的回放速度,使得使用原始视频帧和第一帧复制序列来回放指定间隔的第一部分。还调整视频内容的指定间隔的后续第二部分的回放速度,使得使用原始视频帧和不同的第二帧复制序列来回放指定间隔的第二部分。
例如,如图6所示,时间间隔601(可以与图4的时间间隔413相同或不同)被分割成不同的部分。虽然可以使用多于或少于两个部分,但图6中的实施例包括两个部分。图6中的虚线指示时间间隔601可以从视频内容的任何部分中选择,包括开始、中间或结束。在一些情况下,时间间隔601跨越显示器420的多个刷新,并且在一些情况下,时间间隔601跨越显示器420的单个刷新。
时间间隔601的第一部分602包括原始视频帧序列603A和复制序列604。时间间隔601的第二部分606包括原始视频帧序列603B和不同的复制序列605。时间间隔的第一部分和第二部分可被划分为基本上任何比例,包括50/50、60/40、70/30、80/20、90/10或任何其他比例。因此,第一部分602可以比第二部分606占用更多或更少的时间间隔。每个部分包括原始帧和/或复制帧。这些原始帧和复制帧的回放速度由回放速度调整模块415调整。
在至少一些实施例中,原始帧的回放速度或第一复制或第二复制604/605的回放速度可以增加或减少,以确保指定数量的帧适合在时间间隔601内。例如,如果图4的视频内容407具有24fps的帧速率408,则时间间隔601可以包括24个原始帧、第一复制序列604中的24个复制帧以及第二复制序列605中的2个复制帧。在其他实施例中,时间间隔601可以包括22个原始帧、第一复制序列604中的22个复制帧、以及第二复制序列605中的6个复制帧。可以提高或降低这些原始帧和复制帧的回放速度,以确保视频内容平滑地回放给用户。可以在不调整音频速度的情况下增加或降低回放速度。
在规定的限制以外,在不调整音频回放速度的情况下调整视频内容的回放速度将导致明显的A/V同步问题(即在听到音频之前看到用户说话,或者在没有移动嘴巴的情况下听到用户说话)。然而,在某些限制范围内(例如,在-125ms到+45ms范围内),音频和视频将被认为是同步的,即使它们没有完全对齐。视频内容通常使用呈现时间戳(PTS)回放。在一些实施例中,改变该呈现时间戳以提高或降低视频内容的回放速度。在其他实施例中,结合PTS实现查找表,其中查找表从PTS中加上或减去时间值,并在回放视频内容时使用修改后的值。因此,通过增加创建复制帧的时间间隔以与显示刷新速率对齐,并且通过在指定的限制内加速或减慢视频回放,本文的实施例允许在该时间间隔内添加偶数个复制帧。这大大提高了视频回放的平滑度,减少或消除了其他帧速率转换解决方案带来的抖动。
如上所述,并且如图7所示,视频内容的源帧速率701通常为24fps(或24Hz)、24Hz、30Hz、50Hz或60Hz。图4的帧速率转换模块414应用帧速率转换702以与显示刷新速率703对齐。如图8所示,一些视频内容帧速率的帧速率转换可能看起来更平滑,并且可能具有较少的对观看者可见的伪影。例如,在#1的情况下(在801),帧源速率为50Hz,正在转换为60Hz的显示(在802)。原始帧与复制帧的比例为1.2(在803),或50个原始帧对10个复制(一阶)帧(在804)。在#2的情况下,帧源速率为30Hz,并以1.67的比例转换为50Hz,有30个原始帧、20个一阶复制帧,总共50帧。在#5的情况下,帧源速率为24Hz,并以2.5的比例转换为60Hz,有24个原始帧、24个一阶复制帧和12个二阶复制帧(805),总共60帧。
图8中的大多数情况#1-6将平滑回放,观看者不会注意到图片中的任何严重抖动。然而,在#7-9的情况下,帧速率转换从24Hz变为25Hz或从24Hz变为50Hz,比例为1.042和2.083(在803)。这种比例引入的情况是,仅呈现具有一阶复制的单个帧(例如,情况#7),或者呈现具有一阶复制的24个帧以及具有二阶复制的两个帧(在805)(例如,情况#8),或者呈现具有一阶复制帧的24个帧以及具有二阶复制帧的一个帧和具有三阶复制帧的一个帧(在806)(例如,情况#9)。高阶帧复制通常不太理想,因为它常常意味着低帧复制计数和更长的帧显示间隔,从而导致抖动伪影。
例如,一阶复制帧是指自身重复一次的帧。二阶帧是自我复制两次的帧,三阶帧是自我复制三次的帧。更高的帧阶数表示原始帧被复制的次数更多,因此不太平滑,更容易抖动。因此,在本文描述的实施例中,系统产生固定的复制间隔以提高回放的平滑度。此外,帧复制保持在最小数量以下(例如,2次复制,二阶),以避免抖动和其他回放问题。
图9示出了示例帧复制的实施例。在902以3:2的下拉速率复制三个原始帧901。图10A进一步示出了该3:2下拉速率。在该示例例中,帧1000A从24fps转换为60fps。帧在1秒时间窗口1001A内间隔开。每个帧被复制一到两次。因此,当与原始帧相加时,原始+单复制=2,原始+双复制=3。因此,图9所示的3:2模式在1秒的长度内自我重复。每个原始+单复制显示33ms(1002A),每个原始+双复制显示48ms。这些时间与TV 1005A上60Hz刷新速率产生的两个或三个16ms区段1004A重合。也可以使用其他复制模式或间隔,例如3:2:2或3:2:2:2。有些模式对50Hz的显示器效果更好,而其他模式对60Hz的显示器效果更好。
图10B示出了将帧1000B从24fps转换为50fps的替代示例。帧在1秒时间窗口1001B内间隔开,其中每个帧被复制一次或两次。每个原始+单复制显示40ms(1002B),每个原始+双复制显示60ms。这些时间与TV 1005B上50Hz刷新速率产生的两个或三个20ms区段1004B对齐。如上所述,也可以使用其他复制模式或间隔。
虽然图10A和图10B中所示的示例示出了一秒钟的内容,但应当认识到,在本文的实施例中,帧的时间划分可以分布在不同的时间间隔上。例如,如图10C所示,如果为以24fps编码的胶片选择了三秒的时间间隔,则该胶片在三秒的时间间隔内将具有72帧。这72帧可以在50Hz显示器上显示,该显示器在三秒内有150个显示周期。这72帧可以由图4的帧速率转换模块414以特定速率与原始帧416A和第一重复序列417以及其他原始帧416B进行转换,这些原始帧416B具有其自身的、不同组的对应复制帧418。第1秒的内容1001C包括以每(帧+复制)40ms片段回放的原始帧和复制。第2秒的内容还包括以每帧40ms片段回放的原始帧和复制。然而,3秒窗口中第3秒的内容包括多个60ms片段,其中回放(原始+两个复制)。如下面的图11B所示,这六个60ms片段可以以不同的速度进行调制,以重新对齐音频和视频。
例如,图11A示出了帧速率转换(FRC)窗口1100,其中窗口的时间间隔为三秒。这个三秒的时间窗口被分成三个不同的区段,每个区段的时间为1秒(0到1、1到2和2到3)。在该示例中,与图10A类似,视频内容的编码帧速率为24fps。因此,在三秒的时间窗口内将显示72帧。与以稳定速率播放帧的传统回放应用或机顶盒相比,本文的实施例可以在内容的第一秒内回放前24帧。因此,如图表1100所示,24个原始帧在第一秒内显示,从0到1,以及24个一阶帧复制。这种1:1的匹配在50Hz显示屏上提供了流畅的回放体验,因为电子显示器上的每一帧都有相应的原始帧或一阶复制。这些帧以0.96s的持续时间显示在电子显示器上。
继续该示例,帧速率转换模块(例如,图4的414)再次向显示器提供24个原始帧,以及24个一阶复制帧。这48个帧,以及从内容第二个0到1的前48个帧,以更高的速度回放,允许以0.96秒的持续时间显示48个帧,视频内容以24fps进行编码。图4的回放速度调整模块415向上调整回放速度,以允许在1.92秒内播放这96帧的2秒内容,与50Hz显示器垂直对齐。然而,加快视频回放并不一定会加快音频的回放速度,这可能会引起观众的注意。相反,相对于音频,视频速度增加保持在前面提到的范围内(例如,在-125ms到+45ms之间)。
图11B示出了当视频的回放速度增加时,音频和视频如何变得分离(V-A)。例如,在时间0时,A/V同步1151发生。此时,音频和视频完全对齐。在三秒时间窗口的前两秒(例如,1153表示的时间段),会发生另外两次A/V同步。然而,表示原始帧和复制帧的显示的第1152行显示这些帧的显示与音频缓慢不同步(例如,1秒时不同步40ms,两秒时不同步80ms)。理想情况下,A/V同步将在每个新帧的0处发生。然而,如图11A所示,三秒窗口的第三秒仅显示24个原始帧和24个一阶复制帧,以及以2.08秒的持续时间显示的六个二阶帧。这些帧的回放速度较慢,如图11B的周期1154所示。较慢的回放会逐渐使音频和视频恢复同步,因此在三秒窗口结束时,A/V同步再次在0发生。在这三秒钟的时间窗口中,显示了150个帧(24+24+24+24+24+24+6),这与50Hz显示屏上显示的150个周期一致。
因此,图4的帧速率转换模块414的回放速度调整模块4154可以在指定的时间间隔上调整和提高一些视频内容的回放速度,并且可以在相同的时间间隔内降低其他视频内容的回放速度。因此,在间隔结束时,音频和视频恢复同步。在整个过程中,可以建立并保持指定的限制,以便在指定的最大加速或减速量内调整回放速度。通过保持在这些最大减速或超速界限内,观看用户将不会意识到视频速度的变化。相反,观众的眼睛会简单地将图像插入为平滑的运动。
在一些情况下,当回放速度调整模块415调整视频内容的一部分的回放速度时,调整模块按每个顺序改变与视频内容和复制帧间隔相关联的呈现时间戳(PTS)。在这样的实施例中,如图11C的图1100C所示,序列是24:24:24,以便允许在窗口的最后部分中具有固定间隔的二阶帧复制。PTS在72帧的过程中进行调整。对于前48帧,PTS向下调整,从而加快回放速度。然后,在第48帧之后,向上调整PTS,这会将回放速度降低到对齐点。在一些情况下,回放速度调整模块415可以创建从每个PTS条目中加上或减去时间的查找表,然后在回放视频内容时使用该查找表。在一些情况下,查找表包括在电子显示器上显示视频内容的时间间隔期间应用的增量值。增量值用于调整视频内容时间间隔内每帧的显示时间戳。因此,查找表可以存储用于指示视频内容片段的每个间隔的回放速度的增量值。
在图11A和图11B的示例实施例中,可以理解,基本上可以使用任意长度的时间窗口,并且可以使用任意数量的一阶或二阶复制。在一些情况下,二阶帧(或帧复制的第二序列)包括至少最小阈值数量的复制帧。该最小阈值数量可以是基本上任何数量,并且可以由策略设置。最小阈值数可以是不同的,例如,对于不同的编码帧速率、不同的显示刷新速率,或者基于其他情境设置或偏好。
在一些情况下,根据所呈现的视频帧的类型来调整给定视频内容片段的回放速度。例如,一些视频内容可能以更高的速率进行编码,以获得快速运动视频或其他效果。可以调整时间窗口的不同片段的回放速度以适应这种类型的视频内容。在一些情况下,仅包含一阶帧复制的视频内容的间隔会以指定的回放速度自动回放,而包含二阶帧复制的视频内容的间隔会以不同的回放速度自动回放。因此,当检测到某些复制帧类型时,向显示器回放视频内容的应用或机顶盒可以自动调整回放速度。
图12示出了测试视频内容的时间间隔以确保它们在设置的A/V同步边界内的实施例。例如,图12的图表1200显示了x轴上的时间和y轴上的音频/视频同步性的时间值。y轴表明,在本测试实施例中,A/V同步可提前+35ms,落后-165ms。在点1201,A/V同步接近或超过+35ms阈值,因此,在该点进行同步,通过跳过原始视频帧使同步更接近于0(视频每帧提升42ms@每秒24帧)。在点1202和点1203,A/V同步也向各自的最大阈值漂移。在这些点上,视频回放得更快或更慢,以将音频和视频重新调整到所需的同步级别1204(通过重复原始帧(视频每帧减慢42ms@24fps)。在视频内容的一部分(例如,图4的407)的整个呈现过程中,计算机系统401可以测试每个时间间隔或某些时间间隔的呈现,以验证A/V同步在指定的边界内。可以测量关于视频内容的回放的各种质量度量,包括所使用的一阶复制帧的数量、所使用的二阶或三阶复制帧的数量、音频和视频之间的同步性水平、或者其他度量。然后,可以将这些度量用作反馈,以确保观看者具有积极的观看体验,而不会出现明显的视频冻结或快速运动效应。
在一些实施例中,相对应的系统包括物理处理器和物理存储器。物理存储器包括计算机可执行指令,当由物理处理器执行时,该指令使物理处理器执行以下操作:访问视频内容的一部分,其中视频内容以指定的帧速率编码,确定电子显示器的刷新速率,在该电子显示器在上要显示视频内容,指定视频内容的时间间隔,在该时间间隔内应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步,以及在电子显示器上呈现视频内容的指定时间间隔,其中呈现包括调整视频内容的指定时间间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放指定时间间隔的第一部分,以及调整视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列回放指定间隔的第二部分。
相对应的非暂时性计算机可读介质包括计算机可执行指令,当这些指令由计算设备的至少一个处理器执行时,使得计算设备访问视频内容的一部分,其中视频内容以指定的帧速率编码,确定电子显示器的刷新速率,在该电子显示器上要显示视频内容,指定视频内容的时间间隔,在该时间间隔内应用帧速率转换以使视频内容的帧速率与电子显示器的刷新速率同步,并且在电子显示器上显示视频内容的指定时间间隔。所述呈现包括:调整视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列回放指定间隔的第一部分,以及调整视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和第二不同的帧复制序列回放指定间隔的第二部分。
因此,以这种方式,视频内容可以被分配到更长的长度间隔中。这些较长的间隔允许原始帧和复制帧的不同变化。此外,可以在这些间隔内改变回放速度,以确保电子显示器上的回放在整个过程中平滑且均匀。本文描述的实施例可在基本上任何国家中用于将基本上任何源材料转换为任何显示帧速率。因此,这些实现可由任何市场中的视频流提供商使用,而不管该国家使用哪种帧速率编码或哪种显示刷新速率。
示例实施例:
1.一种计算机实现的方法,包括:访问视频内容的一部分,所述视频内容以指定的帧速率进行编码;确定电子显示器的刷新速率,在该电子显示器上要呈现所述视频内容;指定所述视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使所述视频内容的帧速率与所述电子显示器的刷新速率同步;以及在所述电子显示器上呈现所指定的所述视频内容的时间间隔,其中,所述呈现包括:调整所述视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放所述指定间隔的第一部分;以及调整所述视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放所述指定间隔的第二部分。
2.根据权利要求1所述的计算机实现的方法,其中,所述不同的第二帧复制序列至少包括最小阈值数量的复制帧。
3.根据权利要求1所述的计算机实现的方法,其中,调整所述视频内容的指定间隔的第一部分的回放速度包括提高所述视频内容的指定间隔的第一部分的回放速度。
4.根据权利要求1所述的计算机实现的方法,其中,调整所述视频内容的指定间隔的第二部分的回放速度包括降低所述视频内容的指定间隔的第二部分的回放速度。
5.根据权利要求1所述的计算机实现的方法,其中,所述回放速度被调整在加速或减慢所述回放速度的指定最大量内。
6.根据权利要求1所述的计算机实现的方法,其中,调整回放速度包括改变与所述视频内容相关联的呈现时间戳。
7.根据权利要求1所述的计算机实现的方法,其中,所述指定的时间间隔大于1秒。
8.根据权利要求1所述的计算机实现的方法,其中,所述指定的时间间隔至少为3秒。
9.根据权利要求1所述的计算机实现的方法,其中,基于所呈现的视频帧的类型来调整所述回放速度。
10.根据权利要求9所述的计算机实现的方法,其中,包括一个或多个一阶帧复制的视频内容的间隔以指定的回放速度自动回放。
11.根据权利要求9所述的计算机实现的方法,其中,包括一个或多个二阶帧复制的视频内容的间隔以指定的回放速度自动回放。
12.根据权利要求1所述的计算机实现的方法,其中,所述复制帧的数量以指定的间隔重复。
13.一种系统,包括:至少一个物理处理器;以及物理存储器,包括计算机可执行指令,当所述计算机可执行指令由所述物理处理器执行时,使得所述物理处理器执行以下操作:访问视频内容的一部分,所述视频内容以指定的帧速率进行编码;确定电子显示器的刷新速率,在该电子显示器上要呈现所述视频内容;指定所述视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使所述视频内容的帧速率与所述电子显示器的刷新速率同步;以及在所述电子显示器上呈现所指定的所述视频内容的时间间隔,其中,所述呈现包括:调整所述视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放所述指定间隔的第一部分;以及调整所述视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放所述指定间隔的第二部分。
14.根据权利要求13所述的系统,其中,所述视频内容的指定间隔的每一部分的回放速度被存储在查找表中。
15.根据权利要求14所述的系统,其中,根据所述查找表中指示的回放信息,在所述电子显示器上回放所述视频内容的指定间隔。
16.根据权利要求15所述的系统,其中,所述查找表包括一个或多个增量值,所述一个或多个增量值在所述电子显示器上呈现所述视频内容的指定时间间隔期间应用,以调整所述视频内容的指定时间间隔内的每一帧的呈现时间戳。
17.根据权利要求13所述的系统,还包括测试所述电子显示器上所述视频内容的指定时间间隔的呈现,以验证关于回放所述视频内容的一个或多个指定质量度量。
18.根据权利要求13所述的系统,其中,所述视频内容的帧速率为每秒24帧,并且其中,所述电子显示器的刷新速率为50Hz。
19.根据权利要求13所述的系统,其中,所述视频内容的帧速率为每秒24帧,并且其中,所述电子显示器的刷新速率为60Hz。
20.一种非暂时性计算机可读介质,包括一个或多个计算机可执行指令,当这些指令由计算设备的至少一个处理器执行时,使得所述计算设备执行以下操作:访问视频内容的一部分,所述视频内容以指定的帧速率进行编码;确定电子显示器的刷新速率,在该电子显示器上要呈现所述视频内容;指定所述视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使所述视频内容的帧速率与所述电子显示器的刷新速率同步;以及在所述电子显示器上呈现所指定的所述视频内容的时间间隔,其中,所述呈现包括:调整所述视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放所述指定间隔的第一部分;以及调整所述视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放所述指定间隔的第二部分。
如上所述,本文中描述和/或图示的计算设备和系统广泛地代表能够执行计算机可读指令的任何类型或形式的计算设备或系统,例如本文中描述的模块中包含的那些指令。在其最基本的配置中,这些计算设备可各自包括至少一个存储器设备和至少一个物理处理器。
在一些示例中,术语“存储器设备”通常指能够存储数据和/或计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。在一个示例中,存储器设备可以存储、加载和/或维护本文所述的一个或多个模块。存储器设备的示例包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、闪存、硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器、缓存、它们中的一个或多个的变体或组合、或任何其他合适的存储存储器。
在一些示例中,术语“物理处理器”通常指的是能够解译和/或执行计算机可读指令的任何类型或形式的硬件实现的处理单元。在一个示例中,物理处理器可以访问和/或修改存储在上述存储设备中的一个或多个模块。物理处理器的示例包括但不限于微处理器、微控制器、中央处理单元(CPU)、实现软核处理器的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、它们中的一个或多个的部分、变体或组合、和/或任何其他合适的物理处理器。
尽管图示为单独的元件,但本文描述和/或图示的模块可以表示单个模块或应用的部分。此外,在某些实施例中,这些模块中的一个或多个可以表示一个或多个软件应用程序或程序,当由计算设备执行时,这些应用程序或程序可以使计算设备执行一个或多个任务。例如,本文描述和/或图示的一个或多个模块可以表示存储和配置为在本文描述和/或图示的一个或多个计算设备或系统上运行的模块。这些模块中的一个或多个还可以表示配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。
此外,本文描述的一个或多个模块可以将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述的一个或多个模块可以接收要转换的数据,转换数据,输出转换结果以确定如何呈现视频内容,使用转换结果来呈现视频内容,并存储转换结果,以指示视频内容是如何呈现的。另外或替代地,本文所述的一个或多个模块可以通过在计算设备上执行、在计算设备上存储数据,将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式转换为另一种形式,和/或以其他方式与计算设备交互。
在一些实施例中,术语“计算机可读介质”通常指能够存储或承载计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质(例如载波)和非暂时性介质(例如磁存储介质(例如硬盘驱动器、磁带驱动器和软盘)、光学存储介质(例如光盘(CD)、数字视频盘(DVD)和蓝光盘),电子存储介质(如固态驱动器和闪存介质)和其他分配系统。
本文描述和/或说明的步骤的工艺参数和顺序仅作为示例给出,并且可以根据需要进行更改。例如,虽然本文所示和/或描述的步骤可以以特定顺序示出或讨论,但这些步骤不一定需要以所示或讨论的顺序执行。本文中描述和/或说明的各种示例性方法还可以省略本文中描述或说明的一个或多个步骤,或者除了公开的步骤之外还包括附加步骤。
提供前述描述是为了使本领域的其他技术人员能够最好地利用本文公开的示例性实施例的各个方面。本示例性描述并非详尽无遗,也不限于所公开的任何精确形式。在不脱离本发明的精神和范围的情况下,可以进行许多修改和变化。本文公开的实施例应在所有方面被认为是说明性的而非限制性的。在确定本公开的范围时,应参考所附权利要求书及其等价物。
除非另有说明,说明书和权利要求书中使用的术语“连接到”和“耦合到”(及其衍生物)应解释为允许直接和间接(即通过其他元件或组件)连接。此外,说明书和权利要求书中使用的术语“一”或“一个”应解释为“至少一个”。最后,为了便于使用,说明书和权利要求书中使用的术语“包括”和“具有”(及其衍生物)可与“包含”一词互换,并具有与“包含”一词相同的含义。

Claims (20)

1.一种计算机实现的方法,包括:
访问视频内容的一部分,所述视频内容以指定的帧速率进行编码;
确定电子显示器的刷新速率,在该电子显示器上要呈现所述视频内容;
指定所述视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使所述视频内容的帧速率与所述电子显示器的刷新速率同步;以及
在所述电子显示器上呈现所指定的所述视频内容的时间间隔,其中,所述呈现包括:
调整所述视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放所述指定间隔的第一部分;以及
调整所述视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放所述指定间隔的第二部分。
2.根据权利要求1所述的计算机实现的方法,其中,所述不同的第二帧复制序列至少包括最小阈值数量的复制帧。
3.根据权利要求1所述的计算机实现的方法,其中,调整所述视频内容的指定间隔的第一部分的回放速度包括提高所述视频内容的指定间隔的第一部分的回放速度。
4.根据权利要求1所述的计算机实现的方法,其中,调整所述视频内容的指定间隔的第二部分的回放速度包括降低所述视频内容的指定间隔的第二部分的回放速度。
5.根据权利要求1所述的计算机实现的方法,其中,所述回放速度被调整在加速或减慢所述回放速度的指定最大量内。
6.根据权利要求1所述的计算机实现的方法,其中,调整回放速度包括改变与所述视频内容相关联的呈现时间戳。
7.根据权利要求1所述的计算机实现的方法,其中,所述指定的时间间隔大于1秒。
8.根据权利要求1所述的计算机实现的方法,其中,所述指定的时间间隔至少为3秒。
9.根据权利要求1所述的计算机实现的方法,其中,基于所呈现的视频帧的类型来调整所述回放速度。
10.根据权利要求9所述的计算机实现的方法,其中,包括一个或多个一阶帧复制的视频内容的间隔以指定的回放速度自动回放。
11.根据权利要求9所述的计算机实现的方法,其中,包括一个或多个二阶帧复制的视频内容的间隔以指定的回放速度自动回放。
12.根据权利要求1所述的计算机实现的方法,其中,所述复制帧的数量以指定的间隔重复。
13.一种系统,包括:
至少一个物理处理器;以及
物理存储器,包括计算机可执行指令,当所述计算机可执行指令由所述物理处理器执行时,使得所述物理处理器执行以下操作:
访问视频内容的一部分,所述视频内容以指定的帧速率进行编码;
确定电子显示器的刷新速率,在该电子显示器上要呈现所述视频内容;
指定所述视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使所述视频内容的帧速率与所述电子显示器的刷新速率同步;以及
在所述电子显示器上呈现所指定的所述视频内容的时间间隔,其中,所述呈现包括:
调整所述视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放所述指定间隔的第一部分;以及
调整所述视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放所述指定间隔的第二部分。
14.根据权利要求13所述的系统,其中,所述视频内容的指定间隔的每一部分的回放速度被存储在查找表中。
15.根据权利要求14所述的系统,其中,根据所述查找表中指示的回放信息,在所述电子显示器上回放所述视频内容的指定间隔。
16.根据权利要求15所述的系统,其中,所述查找表包括一个或多个增量值,所述一个或多个增量值在所述电子显示器上呈现所述视频内容的指定时间间隔期间应用,以调整所述视频内容的指定时间间隔内的每一帧的呈现时间戳。
17.根据权利要求13所述的系统,还包括测试所述电子显示器上所述视频内容的指定时间间隔的呈现,以验证关于回放所述视频内容的一个或多个指定质量度量。
18.根据权利要求13所述的系统,其中,所述视频内容的帧速率为每秒24帧,并且其中,所述电子显示器的刷新速率为50Hz。
19.根据权利要求13所述的系统,其中,所述视频内容的帧速率为每秒24帧,并且其中,所述电子显示器的刷新速率为60Hz。
20.一种非暂时性计算机可读介质,包括一个或多个计算机可执行指令,当这些指令由计算设备的至少一个处理器执行时,使得所述计算设备执行以下操作:
访问视频内容的一部分,所述视频内容以指定的帧速率进行编码;
确定电子显示器的刷新速率,在该电子显示器上要呈现所述视频内容;
指定所述视频内容的时间间隔,在该时间间隔内要应用帧速率转换以使所述视频内容的帧速率与所述电子显示器的刷新速率同步;以及
在所述电子显示器上呈现所指定的所述视频内容的时间间隔,其中,所述呈现包括:
调整所述视频内容的指定间隔的第一部分的回放速度,以便使用原始视频帧和第一帧复制序列来回放所述指定间隔的第一部分;以及
调整所述视频内容的指定间隔的后续第二部分的回放速度,以便使用原始视频帧和不同的第二帧复制序列来回放所述指定间隔的第二部分。
CN202080056432.8A 2019-08-08 2020-08-06 帧速率转换 Pending CN114208160A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/536,302 US11025858B2 (en) 2019-08-08 2019-08-08 Frame rate conversion
US16/536,302 2019-08-08
PCT/US2020/045290 WO2021026396A1 (en) 2019-08-08 2020-08-06 Frame rate conversion

Publications (1)

Publication Number Publication Date
CN114208160A true CN114208160A (zh) 2022-03-18

Family

ID=72896060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080056432.8A Pending CN114208160A (zh) 2019-08-08 2020-08-06 帧速率转换

Country Status (10)

Country Link
US (3) US11025858B2 (zh)
EP (1) EP4010900A1 (zh)
JP (1) JP2022543609A (zh)
KR (1) KR20220044491A (zh)
CN (1) CN114208160A (zh)
AU (1) AU2020325292B2 (zh)
BR (1) BR112022002268A2 (zh)
CA (1) CA3143499A1 (zh)
MX (1) MX2022001554A (zh)
WO (1) WO2021026396A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025858B2 (en) 2019-08-08 2021-06-01 Netflix, Inc. Frame rate conversion
DE102020129908A1 (de) * 2020-11-12 2022-05-12 Mekra Lang Gmbh & Co. Kg Indirektes Schichtsystem und Verfahren zum Anpassen einer Bildwiederholungsrate
US11716520B2 (en) * 2021-06-25 2023-08-01 Netflix, Inc. Systems and methods for providing optimized time scales and accurate presentation time stamps
US20230088882A1 (en) * 2021-09-22 2023-03-23 Samsung Electronics Co., Ltd. Judder detection for dynamic frame rate conversion
KR20240082771A (ko) * 2022-12-02 2024-06-11 삼성전자주식회사 디스플레이 장치, 서버 장치 및 그 제어 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4170808B2 (ja) * 2003-03-31 2008-10-22 株式会社東芝 情報表示装置、情報表示方法及びプログラム
EP1739676A1 (en) * 2005-06-29 2007-01-03 Hitachi, Ltd. Digital broadcasting receiving device and digital information receiving device, and playback method
JP5155203B2 (ja) 2008-01-22 2013-03-06 パナソニック株式会社 再生装置、再生方法
US8279344B2 (en) * 2009-12-14 2012-10-02 Qnx Software Systems Limited Synchronization of video presentation by video cadence modification
US9589540B2 (en) * 2011-12-05 2017-03-07 Microsoft Technology Licensing, Llc Adaptive control of display refresh rate based on video frame rate and power efficiency
US9030481B2 (en) 2012-06-28 2015-05-12 Intel Corporation Method and apparatus for reducing power usage during video presentation on a display
US8994800B2 (en) * 2012-07-25 2015-03-31 Gopro, Inc. Credential transfer management camera system
US9858899B2 (en) * 2013-06-13 2018-01-02 Microsoft Technology Licensing, Llc Managing transitions of adaptive display rates for different video playback scenarios
US9679605B2 (en) * 2015-01-29 2017-06-13 Gopro, Inc. Variable playback speed template for video editing application
US10387099B2 (en) * 2016-07-28 2019-08-20 Intelligent Waves Llc System, method and computer program product for generating remote views in a virtual mobile device platform using efficient color space conversion and frame encoding
JP2019020530A (ja) * 2017-07-13 2019-02-07 キヤノン株式会社 信号処理装置、制御方法、及びプログラム
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
EP3503569A1 (en) * 2017-12-19 2019-06-26 Thomson Licensing Method of transmitting video frames from a video stream to a display and corresponding apparatus
US11295660B2 (en) * 2019-06-10 2022-04-05 Ati Technologies Ulc Frame replay for variable rate refresh display
US11062674B2 (en) * 2019-06-28 2021-07-13 Intel Corporation Combined panel self-refresh (PSR) and adaptive synchronization systems and methods
US10741215B1 (en) * 2019-06-28 2020-08-11 Nvidia Corporation Automatic generation of video playback effects
US11050972B1 (en) * 2019-07-02 2021-06-29 Gopro, Inc. Systems and methods for generating time-lapse videos
US11025858B2 (en) 2019-08-08 2021-06-01 Netflix, Inc. Frame rate conversion

Also Published As

Publication number Publication date
JP2022543609A (ja) 2022-10-13
US11025858B2 (en) 2021-06-01
WO2021026396A1 (en) 2021-02-11
US20210044777A1 (en) 2021-02-11
AU2020325292A1 (en) 2022-01-27
AU2020325292B2 (en) 2023-03-30
US20210250545A1 (en) 2021-08-12
US20220408056A1 (en) 2022-12-22
BR112022002268A2 (pt) 2022-04-19
EP4010900A1 (en) 2022-06-15
KR20220044491A (ko) 2022-04-08
CA3143499A1 (en) 2021-02-11
MX2022001554A (es) 2022-03-02
US11431942B2 (en) 2022-08-30

Similar Documents

Publication Publication Date Title
AU2020325292B2 (en) Frame rate conversion
US10930318B2 (en) Gapless video looping
US10423320B2 (en) Graphical user interface for navigating a video
AU2019380410B2 (en) Systems and methods for adaptive streaming of multimedia content
US20190149885A1 (en) Thumbnail preview after a seek request within a video
US11837261B2 (en) Branching logic in a playback environment
US20230199278A1 (en) Systems and methods for providing optimized time scales and accurate presentation time stamps
EP4035402B1 (en) Audio metadata smoothing
CN113691862B (zh) 视频处理方法、用于视频播放的电子设备和视频播放系统
US20230388556A1 (en) Banding artifact detector
US20240333985A1 (en) Adaptive audio bitrate selection
WO2023235730A1 (en) Banding artifact detector

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