使用可缩放帧速率进行的原始视频传输和接收的制作方法

文档序号:16514495发布日期:2019-01-05 09:32阅读:228来源:国知局
使用可缩放帧速率进行的原始视频传输和接收的制作方法

本申请要求2017年6月15日提交的美国临时专利申请62/519,888的权益,上述申请的公开内容通过引用而并入于此。

本发明总体上涉及通信网络,并且更具体地涉及用于通过数据通信网络传送视频的方法和系统。



背景技术:

在各种系统和应用中,通过数据通信网络传输视频流。已经提出多种协议用于在通信分组中传递视频流。一些协议——诸如由美国电影电视工程师协会(societyofmotionpictureandtelevisionengineers,smpte)指定的协议——旨在对原始(未压缩)视频的传输进行标准化。



技术实现要素:

本文所述的本发明实施方式提供了一种装置,其包括输入接口和传输侧电路。所述输入接口被配置用于接收携带视频帧流的分组序列。所述传输侧电路被配置用于将所述分组序列分成多个交错的子序列,使得每个子序列携带所述视频帧流的相应的子流,并且使得所述子流中的至少一个是自含式的并且可独立于任何其他子流观看,以及通过相应的不同分组流将分组的所述多个子序列传输到通信网络。

在一些实施方式中,所述视频帧是未压缩的。在一些实施方式中,所述子流中的每一个是自含式的并且可独立于任何其他子流观看。在一些实施方式中,所述子流中的两个或更多个子流的至少一个组合是自含式的并且可独立于任何其他子流观看。

在实施方式中,所述传输侧电路被配置用于将所述分组序列分成所述子序列,以及通过在所述分组的报头字段中插入所述分组流的属性来将所述分组分配到所述分组流。在另一实施方式中,所述传输侧电路被配置用于为所述子流中的两个或更多个设定不同的帧速率。在又一实施方式中,所述传输侧电路被配置用于执行调步操作,所述调步操作降低所述子序列的瞬时比特率。

根据本发明实施方式,附加地提供了一种装置,其包括接收侧电路和输出接口。所述接收侧电路被配置用于从通信网络接收多个交错的分组流,所述多个交错的分组流携带分组序列的相应的子序列。所述分组序列携带视频帧流,并且所述子序列携带所述视频帧流的相应的子流,使得所述子流中的至少一个是自含式的并且可独立于任何其他子流观看。所述接收侧电路被配置用于合并所述子流中的两个或更多个,以形成可观看视频流。所述输出接口被配置用于输出所述可观看视频流。在一些实施方式中,所述视频帧是未压缩的。

根据本发明实施方式,还提供了一种方法,其包括接收携带视频帧流的分组序列。将所述分组序列分成多个交错的子序列,使得每个子序列携带所述视频帧流的相应的子流,并且使得所述子流中的至少一个是自含式的并且可独立于任何其他子流观看。通过相应的不同分组流将分组的所述多个子序列传输到通信网络。

根据本发明实施方式,还提供了一种方法,其包括从通信网络接收多个交错的分组流,所述多个交错的分组流携带分组序列的相应的子序列。所述分组序列携带视频帧流,并且所述子序列携带所述视频帧流的相应的子流,使得所述子流中的至少一个是自含式的并且可独立于任何其他子流观看。合并所述子流中的两个或更多个,以形成可观看视频流。提供所述可观看视频流作为输出。

附图说明

结合附图,从本发明实施方式的以下详细描述中将会更全面地理解本发明,在附图中:

图1是根据本发明实施方式,示意性地图示视频传输系统的框图;

图2是根据本发明实施方式,示意性地图示分成子流的视频流的视图;

图3是根据本发明实施方式,示意性地图示分成子流的视频流的视图;以及

图4是根据本发明实施方式,示意性地图示视频传输系统的框图。

具体实施方式

概述

本文所述的本发明实施方式提供了用于通过通信网络传送视频流的改进的方法和系统。本文描述的技术主要是指原始(即,未压缩)视频的流式传输。

在一些实施方式中,视频源产生携带原始视频图片(帧或场)流的分组序列,用于通过通信网络传输。视频源例如可以包括摄像机、录像机、流转化器或服务器。分组序列被分成两个或更多个子序列,并且每个子序列在不同的分组流上传输,而不是通过网络按原样传输该序列。子序列划分例如可以在视频源自身中,在将视频源连接到网络的网络接口控制器(networkinterfacecontroller,nic)中,或者在两者中共同进行。

进行子序列划分以使得每个分组子序列(并且因此每个分组流)携带自含式视频流,所述自含式视频流可独立于任何其他子流观看。每个子流具有相对于原始的流更低的帧速率。一些子流在帧速率方面可彼此不同。此外,在一些实施方式中,子流的任何组合也形成自含式的、可独立观看的视频流。

所公开的传输方案在向网络传输视频流中,在通过网络转发视频流中,以及在接收端处接收和提取视频帧中实现高效率和灵活性。

例如,在视频广播应用中,不同的接收器可以选择不同的子流,或者不同的子流组合,以便匹配其带宽或处理能力。作为另一示例,网络交换机通常将会比单个宽带流更好地处理多个窄带流。后一配置通常将会例如需要更少的缓冲区空间。将视频流分成多个流还实现了对网络的传输层的更高效使用。

作为又一示例,单独的分组流可以通过不同的端口转发,并且可由网元单独地处理。相比之下,单个宽带视频流的带宽可能超过单个端口的容量。多个单独的流还导致其自身在接收侧网络适配器处例如使用不同的中央处理器(cpu)核得到并行处理。

此外,所公开的技术不需要在任何网元中作出更改。网元——并且在一些情况下甚至接收器——不需要知道不同的分组流携带同一视频流的不同子流。下文描述利用所公开的技术的若干个示例实现方案和系统配置。

系统描述

图1是根据本发明实施方式,示意性地图示视频传输系统20的框图。诸如系统20之类的系统例如可以用于视频流式传输应用、电视或视频广播应用,或者其他合适的应用。所公开的技术可以随任何合适的视频格式一起使用。示例格式包括由国际电信联盟(internationaltelecommunicationsunion)或者美国电影电视工程师协会(smpte)标准st2110-10、st2110-20和st2110-21指定的超高清(ultra-highdefinition,uhd)电视。

系统20包括视频源设备22,在本例中包括摄像机,该视频源设备22产生携带视频帧流的因特网协议(ip)分组序列。视频帧是原始的,即,未压缩的。换言之,在ip分组中不经压缩地传输视频帧的像素的实际值。

传输侧网络适配器40——亦称为传输侧网络接口控制器(nic)——将视频源22连接到通信网络28。除其他任务外,视频源22将分组序列分成子序列,并在不同的分组流上将每个子序列传输到网络28。在一些实施方式中,视频源22还对分组的子序列施加缓冲和调步。这些特征在下文详细讨论。

在本实施方式中,网络28包括以太网网络。然而,一般而言,网络28可以包括根据任何合适的通信标准或协议进行操作的任何合适类型的网络。

在接收侧,视频目的地设备36——在本例中为主计算机——被配置用于接收由视频源22传输的分组流中的一个或多个流,以及从所述一个流或多个流重建视频流。主计算机36(为简洁起见,简称为“主机”)向合适的显示设备输出重建的视频流,以供向用户显示。附加地或备选地,主机36可以储存重建的视频流,以任何其他合适的方式分发或处理视频流。主机36例如可以包括服务器或任何其他合适的平台。

在图1的示例中,视频源22包括输入接口38、nic40、分组报头修改模块44和控制器42。输入接口38从相机22接收携带原始视频流的分组序列。nic40将视频源22连接到网络28。分组报头修改模块44通过在分组报头字段中插入合适的属性,将各个分组子序列的分组分配到适当的分组流。控制器42控制视频源22,并且除其他任务外,对模块44进行配置。

在本例中,主机36(充当视频目的地)包括接收侧网络适配器46(亦称为接收侧nic)、cpu50和输出接口48。nic46将主机36连接到网络28。除其他任务外,nic46接收由视频源22传输的分组流中的一个或多个流。cpu50执行主机36的各种处理任务。

除其他任务外,cpu50包括流选择/组合模块52,该流选择/组合模块52对分组流进行选择和/或对选定的分组流进行组合,以便重建向输出接口48提供的视频流,以供在显示设备上显示。换言之,模块52选择原始视频流的视频子流和/或对选定的视频子流进行组合,以便产生具有期望的帧速率的重建的视频流。模块52通常以软件实现,但在一些实施方式中亦可以硬件实现,或者使用软件和硬件元件的组合来实现。除其他任务外,cpu50对模块52进行配置和控制。

图1的系统和nic配置是纯粹为了概念清晰起见而示出的示例性配置。在备选实施方式中可以使用任何其他合适的系统和/或nic配置。

例如,在图1的系统中,由摄像机产生视频流。在备选实施方式中,可以由任何其他合适的视频源,例如,录像机、流转化器或服务器来产生视频流。在图1的系统中,(一个或多个)接收到的视频子流作为输出提供给视频服务器。在备选实施方式中,可以将视频子流提供给任何其他合适的视频目的地设备,例如,录像机。

在图1的示例中,分组序列到子序列的划分以及子序列到分组流的分配是在视频源中例如由模块44和nic40共同执行的。备选地,这些功能中的任何功能可以在任何其他合适的系统元件中执行。执行这些功能的系统元件在本文中统称为“传输侧电路”。

类似地,在图1的系统中,子流的选择和/或组合是在视频目的地设备中(例如,在模块52中)执行的。备选地,这些功能中的任何功能可以在任何其他合适的系统元件中执行。执行这些功能的系统元件在本文中统称为“接收侧电路”。

为了清楚起见,图1的系统示出了单个视频源和单个视频目的地。在备选实施方式中,所公开的技术可以用于包括多个视频源和/或多个视频目的地设备的系统中。下文在图4中示出了一个这样的实施方式。

在图1的实施方式中,网络28包括由nic40和nic46访问的以太网网络。在备选实施方式中,网络28可以包括任何其他合适类型的网络或网络组合。根据底层网络协议,连接到网络的网络适配器例如可以称为nic、主机总线适配器(hostbusadapter,hba)或主机通道适配器(hostchanneladapter,hca)。

为了清楚起见,忽略了对于理解所公开技术的原理并非必需的元件。

系统20及其各个组件的不同元件(诸如视频源22和视频目的地36的元件)可以使用任何合适的硬件来实现,诸如以专用集成电路(asic)或现场可编程门阵列(fpga)来实现。在一些实施方式中,视频源22和/或视频目的地36的一些元件可以使用软件来实现,或者使用硬件和软件元素的组合来实现。

在一些实施方式中,视频源22和/或视频目的地36的一些元件(例如,控制器42和/或cpu50)可以使用一个或多个可编程处理器来实现,所述可编程处理器以软件编程用于执行本文所述的功能。软件例如可以通过网络以电子形式下载到处理器,或者其可以备选地或附加地提供和/或储存在非暂时性有形介质上,诸如磁、光或电子存储器上。

示例子流配置

图2是根据本发明实施方式,示意性地图示分成子流的视频流的视图。在本图中,以及在下文的图3中,水平轴表示时间,而垂直轴表示带宽。

图2的顶部示出由摄像机产生的原始视频流。该视频流包含多个视频帧60。在本例中,原始视频流的帧速率为每秒120帧(fps),即,每个帧60约为8.33ms长。

图2的底部示出视频流如何由视频源22(例如,由模块44和nic40共同)分成子流。在本例中,视频源22将原始视频流分成表示为64a-64d的4个子流。每个子流包含多个视频帧68。每个帧68含有与原始视频帧中的相应的帧60相同的视频内容。索引为4i-3(i=1、2、3、…)的帧60被分配到子流64a,帧索引4i-2被分配到子流64b,帧索引4i-1被分配到子流64c,并且帧索引4i被分配到子流64d。

在图2的示例中,所述4个子流在帧速率方面彼此相等,并且它们之中的每一个为原始视频流的帧速率的四分之一(即,各自为30fps)。因此,(子流的)每个帧68在作为(原始流的)对应的帧60所需时间间隔的4倍的时间间隔内传输。因此,每个子流需要原始视频流所需带宽的四分之一。

在一些实施方式中,视频源22不仅将原始视频流分成子流,而且还降低每个子流的瞬时比特率(并且因此降低带宽)。例如,在图2中,(原始视频流的)每个帧60约为8.33ms长。另一方面,(子流的)每个帧68约为4×8.33≈33.33ms长。这样的比特率降低称为“调步”。子流的调步例如对于减少子流的突发以及对于使子流符合相关标准(例如,st2110-21)是有用的。

在示例实施方式中,由分组报头修改模块44执行分组序列到映射至单独的流上的子序列的划分,并且由nic40执行调步。换言之,nic40可以为视频源分担调步任务。备选地,可以使用视频源22的元件之间的任何其他合适的任务划分。

图2中所示的划分纯粹是以示例的方式描绘的。在备选实施方式中,视频源22可以将视频流分成任何合适数目的子流,所述子流不一定需要具有相同的帧速率。

图3是根据本发明备选实施方式,示意性地图示原始视频流到子流的另一可能的划分的视图。在图3的示例中,视频源22将摄像机所产生的原始视频流分成表示为72a-72c的3个子流,每个子流包含视频帧76。

在该实施方式中,子流72a和子流72c在帧速率方面彼此相等,并且它们之中的每一个为原始视频流的帧速率的四分之一(即,各自为30fps)。另一方面,子流72b为其他子流的帧速率的两倍,或者原始视频流的帧速率的一半(即,60fps)。

在子流72a和子流72c中,每个帧76在作为(原始流的)对应的帧60所需时间间隔的4倍的时间间隔内传输。因此,子流72a和子流72c中的每一个需要原始视频流所需带宽的四分之一。另一方面,在子流72b中,每个帧76在作为(原始流的)对应的帧60所需时间间隔的2倍的时间间隔内传输。子流72b需要原始视频流所需带宽的一半。

如图2和图3中可见,在所公开的实施方式中,子流在时间上彼此交错。每个子流包含跨越由原始视频流所跨越的相同的总时间段的视频帧,并且传送相似的视频内容,但以帧速率的一部分进行传送。

在所公开的实施方式中,每个分组子序列(并且因此每个分组流)携带自含式视频流,该自含式视频流可独立于任何其他子流观看。此外,在一些实施方式中,子流的任何组合也形成自含式的、可独立观看的视频流。术语“可观看”例如可以是指视频子流(或者子流的组合)符合原始视频流的视频标准。例如,在一些实施方式中,如果原始视频流符合smpte标准st2110-10、st2110-20和st2110-21,则每个子流或子流的组合也符合这些标准。

图2和图3的子流配置纯粹是以示例的方式描绘的。在备选实施方式中,视频源22可以按任何合适的方式将原始视频流分成子流。例如,并不强制关于每个帧在子流之间交替。另一可能的划分例如是将帧1和帧2分配到一个子流,将帧3和帧4分配到下一子流,继而将帧5和帧6分配到下一子流,并以此类推。还可以使用任何其他合适的划分方案。此外,在一些实施方式中,子流并不一定全都需要是自含式的、可独立观看的视频流。

以可缩放视频帧速率进行的传输

在一些实施方式中,摄像机在ip分组序列中发送原始视频流。每个视频帧通常跨越多个连续分组。对于高清视频,单个视频帧通常跨越数千个或数万个分组。在示例实施方式中,每个视频帧包括每一维度数千个像素(例如,在dci4k标准中每帧4096×2160个像素,或者在uhdtv标准中每帧3840×2160个像素)。每个像素例如可以由若干个“通道”来表示,每个通道由8个、10个、12个或16个比特表示。原始视频流的帧速率例如可以高达120fps。

视频源22通常通过将每个子流的分组分配到不同的分组流来将视频流分成多个子流。每个分组流由分组报头中的一组字段值(“元组”)诸如目的地ip地址和端口号所定义。

在实施方式中,该行动由视频源22中的分组报头修改模块44来执行。模块44从输入接口38接收分组序列。针对每个分组,模块44决定将该分组分配到哪个流,并将该流的字段值插入到分组报头中。

因此,模块44的输出处的分组序列具有与模块44的输入处的分组序列相同的帧速率和相同的帧顺序。然而,在逻辑上,分组被分配到多个不同的流。当传输到网络28时,每个分组子序列(其对应于相应的流,并且携带相应的视频子流)将会由前往视频目的地途中的网元(例如,网络交换机)单独地处理。

在一些实施方式中,通过单个端口从nic40传输整个分组序列,包括所有的流。在其他实施方式中,可以通过两个或更多个端口从nic40传输不同的流。在实施方式中,控制器42用所要生成的期望数目的流及其参数来配置模块44。

以可缩放视频帧速率进行的接收

当使用上述传输方案时,在多个分组流中通过网络28传输摄像机所产生的视频流。每个分组流携带相应的视频子流,所述视频子流具有原始视频流的帧速率的一部分。

在一些实施方式中,主机36从所述分组流中的一个或多个重建具有期望的帧速率的视频流,并通过输出接口48输出重建的视频流。该行动通常由流选择/组合模块52来执行。

参考图2的示例,模块52可以重建具有原始视频流的帧速率的25%、50%、75%或100%的帧速率(分别为30、60、90和120fps)的视频流。通过选择子流64a-64d中的任何一个来实现25%的帧速率。通过选择和合并两个子流,例如,子流64a和子流64c或者子流64b和子流64d,来实现50%的帧速率。通过选择和合并所有4个子流来实现100%的帧速率。

参考图3的示例,模块52还可以重建具有原始视频流的帧速率的25%、50%、75%或100%的帧速率的视频流。通过选择子流72a或子流72c来实现25%的帧速率。通过选择子流72b来实现50%的帧速率。通过选择和合并所有3个子流来实现100%的帧速率。

虽然可实现的帧速率组在图2和图3的配置中相同,但图3的配置具有减少的端到端延迟。

在一些实施方式中,通过单个端口在nic46中接收所有的流。在其他实施方式中,可以通过两个或更多个端口在nic46中接收不同的流。在其他实施方式中,如下文图4中将会示出,可以经由两个或更多个nic在视频目的地设备中接收不同的流。

在实施方式中,cpu50用所要选择的期望数目的流及其参数来配置模块52。这样的决策可取决于任何合适的准则,例如,基于nic46和/或主机36的处理能力或带宽。

多观看者应用示例

图4是根据本发明另一实施方式,示意性地图示视频传输系统的框图。在本例中,系统包括10个相机22。每个相机产生被分成4个子流的视频流,所述子流转而通过4个20gbps流进行传输。每个相机向2个网络交换机80广播所述4个流。

每个网络交换机80向相应的nic88发送从相机22接收的视频流。2个nic88用于将多观看者服务器84连接到网络。来自每个交换机80的流通过10个20gbps链路进行传递。每个nic88能够处理多达10个14gbps流。在一些实施方式中,每个nic可以订阅一个或多个期望的流,即,请求网络仅提供选定的流。这样的请求例如可以使用因特网组管理协议(internetgroupmanagementprotocol,igmp)的“加入(join)”命令来发送。

虽然本文所述实施方式主要讨论视频产生和广播应用,但本文所述的方法和系统亦可用于涉及视频传输的其他应用,仅举几例而言,诸如基于视频的生产控制应用、边境管制应用以及计算机视觉应用等。

因此应当明白,上述实施方式是以示例的方式引用的,并且本发明并不限于上文所具体示出和描述。相反,本发明的范围包括上述各个特征的组合和子组合,以及本领域技术人员在阅读前文描述后将会想到且未在现有技术中公开的改变和更改。通过引用而并入本专利申请书中的文档应被视为本申请书的组成部分,除非这些并入的文档中对任何术语的定义方式达到与本说明书中明示或暗示地作出的定义相冲突的程度,在此情况下应当仅考虑本说明书中的定义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1