将使用不同编码参数编码的多个编码成流的制作方法

文档序号:10699110阅读:257来源:国知局
将使用不同编码参数编码的多个编码成流的制作方法
【专利摘要】公开一种用于将源视频流的多个编码成流的系统。源视频设备系统捕捉和/或接收包括多个源视频帧的源视频。所述源视频设备系统将所述源视频帧编码至虚拟帧,其中每个虚拟帧是使用至少一个不同的编码参数被编码的。所述源视频设备系统从所述虚拟帧形成容器帧,并通过网络对所述容器帧进行传输。在示例性实施例中,所述容器帧包括与特定源帧相关联的虚拟帧,以及适用于所述容器帧中所有的虚拟帧的容器时间戳。
【专利说明】
将使用不同编码参数编码的多个编码成流
[0001] 相关申请的交叉引用
[0002] 本申请要求2014年12月11日递交的申请号为14/568081的非临时性美国专利申请 的按照35U. S. C. § 119 (e)规定的权益,该非临时性美国专利申请要求2014年1月15日递交的 申请号为61/927952的临时性美国专利申请的按照35U.S.C.§119(e)规定的权益,其公开通 过引用而全部并入本文。
技术领域
[0003] 本发明设及对视频数据进行编码,W及尤其设及提供并成流多个编码。
【背景技术】
[0004] 在典型的视频监控系统中,一台或多台摄像机可通信地禪接至服务器系统。随着 视频数据被摄像机记录,视频数据被传送至存储其的服务器系统,W用于后续的检索。客户 端系统通信地禪接至服务器系统,且可用于请求和接收所记录的视频数据的流。
[0005] 已开发各项技术用于将视频数据成流至客户端。但是现有技术仍存在缺失。例如, 很多技术都无法充分解决对相关视频编码之间的同步的需求。

【发明内容】

[0006] 根据所公开实施例的方面,公开一种用于对源视频进行编码的方法。在示例性实 施例中,一旦接收到源视频的源帖,对源帖的不同虚拟帖进行编码,其中使用至少一个不同 的编码参数对不同虚拟帖中的每个进行编码。从所述虚拟帖形成容器帖,并通过网络传输 容器帖。在示例性实施例中,所述容器帖包括虚拟帖和适用于容器帖中所有的虚拟帖的容 器时间戳。
[0007] 在示例性场景中,所述虚拟帖在容器帖中被连接在一起,其中虚拟帖中的每个包 括带有定界符的虚拟帖头,该定界符将虚拟帖彼此定界开。所述容器帖可包括容器帖头,该 容器帖头包括容器时间戳。所述容器帖时间戳与从其中生成虚拟帖的源帖中包括的时间戳 相同。
[000引用于对虚拟帖进行编码的编码参数可W是任意适当的参数,并且可选自例如包括 源帖的兴趣域、帖速率、视频质量、压缩比、量化参数、视频分辨率W及压缩技术/编码格式 的组。
[0009] 在示例性实施例中,视频源设备对虚拟帖进行编码并将其传输至控制服务器。视 频源设备可包括,例如,用于接收源视频的源帖的处理器,W及通信地禪接至处理器的内 存,该内存已将使得处理器如本文中所述地对源帖进行编码并对编码的帖进行传输的语句 和指令存储其中。
[0010] 根据所公开实施例的方面,控制系统可将配置命令传输至视频源设备,从而配置 多个编码组件,W提供多个不同且独立的分辨率编码。命令可指定,分辨率编码中的至少一 个包括多个被单独编码的虚拟流。控制系统可从视频源设备接收视频源设备被配置W提供 的多个单独虚拟流的描述,其中分辨率编码中的每个包括单独虚拟流中的一个或多个。当 控制系统接收到多个单独虚拟流的数据流时,系统将多个单独虚拟流中的每个与各个分辨 率编码相关联。
[0011] 根据所公开实施例的另一方面,控制服务器可将编码的视频成流至客户端系统。 在示例性实施例中,控制服务器接收包括指示多个编码中的哪些将被发送至客户端的信息 的客户端成流参数。多个编码中的每个可包含使用至少一个不同的编码参数编码的视频数 据。服务器确定多个编码中的哪些满足客户端成流参数,并将满足客户端成流参数的多个 编码中的一个或多个传输至客户端。编码参数可W是任意适当的参数,并且可W选自例如 包含源帖的兴趣域、帖速率、视频质量、压缩比、量化参数、视频分辨率W及压缩技术/编码 格式的组。在示例性实施例中,多个编码可包括分别根据不同的第一和第二兴趣域(R0I)编 码的第一和第二编码。R0I可W是互斥的。
[0012] 根据所公开实施例的另一方面,第一和第二编码可在显示器上显示。在示例性场 景中,第一和第二编码可在显示器的相邻部分上显示。在另一个示例性场景中,R0I可W至 少部分地重叠。第一 R0I可W是第二R0I的子集,且第一编码可W是W比第二编码更高的分 辨率被编码的。
[0013] 根据所公开实施例的另一方面,公开一种方法用于显示多个编码,其中每个编码 包括使用至少一个不同的编码参数编码的视频数据。在示例性场景中,该方法可包括:在客 户端处接收多个编码,其中多个编码包括分别根据不同的第一和第二兴趣域(R0I)编码的 第一和第二编码。在示例性场景中,R0I可W是互斥的。编码可作为容器帖的部分被传输至 客户端。容器帖可包括其中每个对应于编码中的一个的多个虚拟帖,W及还可包括适用于 所有的虚拟帖的容器时间戳。第一和第二编码在客户端的显示器上显示。
[0014] 提供此
【发明内容】
简单的方式介绍W下将在【具体实施方式】中进一步描述的概 念的选中部分。本
【发明内容】
并非意在识别所要求保护的主题的关键特征或必要特征,也并 非意在用于限制所要求保护的主题的范围。W下将描述其他特征。
【附图说明】
[0015] 当结合附图阅读时,可W更好地理解前述
【发明内容】
W及W下对示例性实施例的附 加描述。需要理解的是,所公开系统和方法的可能实施例并不限于所绘示的运些。
[0016] 图1绘示了适于生成并存储多个分辨率编码的示例性监控系统。
[0017] 图2绘示了适于显示多个分辨率编码的示例性显示器。
[0018] 图3绘示了适于生成并接收多个分辨率编码的示例性视频源设备W及控制服务 器。
[0019] 图4绘示了由视频源设备和控制服务器提供的示例性功能特征。
[0020] 图5A绘示了包含多路复用的虚拟帖和用于描述运些虚拟帖的描述符的示例性容 器帖。
[0021] 图5B绘示了包含多路复用的容器帖的示例性视频流,控制服务器对该示例性视频 流进行多路分用和处理。
[0022] 图6绘示了描述包含在多个分辨率编码中的单独虚拟流的示例性视频源设备响 应。
[0023] 图7绘示了不同分辨率下的兴趣域的示例性编码的例证。
[0024] 图8绘示了用于将来自视频源设备的数据成流的示例性方法的流程图。
[0025] 图9绘示了用于对源视频进行编码的示例性过程的流程图。
[0026] 图10绘示了用于对源视频进行编码的示例性方法的流程图。
[0027] 图11绘示了由控制服务器和客户端提供的示例性功能特征。
[0028] 图12绘示了包含容器帖的示例性视频流,控制服务器对该容器帖进行多路复用并 将其发送至客户端。
[0029] 图13绘示了用于将客户端成流参数从客户端传输至控制服务器的示例性方法。
[0030] 图14绘示了用于将包含容器帖的数据流从控制服务器传输至客户端的示例性方 法。
[0031] 图15绘示了用于确定多个虚拟流中的哪些将被多路复用并被从控制服务器发送 至客户端的示例性方法。
[0032] 图16绘示了适于通信来自视频源设备的视频的活跃会话的示例性客户端服务器 系统的结构框图。
[0033] 图17绘示了图像合成方法的示例性应用。
【具体实施方式】
[0034]
【申请人】在此公开了用于将源视频流的多个编码成流的系统及方法。在示例性实施 例中,源视频设备系统可W捕捉和/或接收包括多个源视频帖的源视频。编码前的视频被称 为"源视频",其中视频的每一帖为"源帖"。源视频设备系统将源视频帖编码至虚拟帖,其中 虚拟帖中的每个是使用至少一个不同的编码参数而被编码的。编码参数可W是任意适当的 参数,包括例如兴趣域、帖速率、视频质量、视频分辨率、W及压缩技术/编码格式。源视频设 备系统从虚拟帖形成容器帖,并通过网络传输容器帖。在示例性实施例中,容器帖包括与特 定源帖相关联的虚拟帖,W及适用于容器帖中所有的虚拟帖的容器时间戳。
[0035] 在将源视频的多个编码传输至客户端时,期望客户端能够对来自它所接收到的多 个编码的帖进行同步。同步解决至少两个问题:
[0036] 1)当客户端从一个编码切换至另一个时,编码之间的任何时间偏移将会在视频中 显示为时间的间断或"跳跃",运是不可取的。
[0037] 2)当客户端同时地显示表示源视频的相邻兴趣域(后文中互换地称为"ROn的编 码时,运些编码之间的任何时间偏移使得在运些兴趣域之间穿越的任意对象也将经历时间 的间断或"跳跃",运阻碍了对象在运些兴趣域之间平稳地变迁。运也是不可取的。
[0038] 存在对视频进行同步的很多传统方法。例如,当使用肝EG2000格式形成编码时,不 同的分辨率和图像片(image tile)可W被嵌入相同的比特流。运种技术的弊端包括:压缩 标准受限于尚未广泛应用于消费空间的肝EG2000,W及将不同的分辨率和片(tile)彼此分 离需要对比特流进行解析。
[0039] 又例如,当通过实时传输协议(RTP,一种最常见的用于实时传输的媒体传输协议) 传输视频时,RTP控制协议(RTCP)用于恢复协调世界时化TC)时间,UTC时间由生成和传输流 的摄像机为每个流的每个视频帖生成。当W运种方式传输多个编码时,摄像机利用不同的 RTP流传输编码中的每个。可W恢复用于帖的UT別寸间,并且可W使用此时间同步来自不同 流的视频。但是,由于其被同步至的时间源的变化或由于此时间源中的误差,摄像机时间上 的UTC可能会经历时间的间断或"跳跃"。在UTC时间中的任何跳跃将导致用于每一帖的恢复 后的UT別寸间的变化。但是,此时间变化将不会同时影响每个流。因此,在UTC时间在摄像机 上跳跃的每个时刻,不同流的帖将暂时不同步。从用户的角度来说,运是不可取的。
[0040]为了避免在客户端上对不同流之间的帖的同步的需求,如文中所述,可W在摄像 机上同步不同编码的帖,将具有相同UT別寸间戳的所有帖打包至容器帖,并将单个流的容器 帖传输至客户端。视频源设备,例如摄像机,生成包含源帖的源视频。摄像机将UT別寸间戳施 加至每个源帖Γ源帖时间戳")。视频源设备生成每个源帖的多个编码,通过使用至少一个 不同的编码参数将多个编码中的每个与其他编码区分开来。由于源帖编码中的每个生成自 相同的源帖,所W他们都共享相同时间戳。视频源设备从共享公用时间戳的源帖编码生成 容器帖。视频源设备将与各种源帖编码的时间戳相同的时间戳Γ容器时间戳")附加至容器 帖的头部("容器帖头")。视频源设备还通过生成其中每个都包括具有头部("虚拟帖头")的 不同源帖编码的帖W生成在后文中所称作的"虚拟帖",该头部包括定界符,定界符包含如 W下进一步论述的虚拟流标识符或"虚拟流id"。多个编码中的任意一个的虚拟帖共同包括 "虚拟流"。如本文中所使用,相比于0SI模型的数据链路层处的数据结构,容器帖和虚拟帖 通常是指0SI模型的应用层处的数据结构。
[0041 ] 示例性编码系统
[0042] 图1绘示了能够提供视频的多个分辨率编码的监控系统100。尽管图1的示例性实 施例将不同源兴趣域的多个分辨率用作可在虚拟流之间存在差异的编码参数的示例,在可 选的示例中,任意一个或多个编码参数可在虚拟流之间存在差异。系统100包括提供包括从 多个视频源设备110、114接收视频、管理接收到的视频的存储W及将视频成流至一个或多 个客户端142的各种功能的控制服务器102。控制服务器102可由一个或多个物理计算机和/ 或由一个或多个虚拟计算机提供。在一个可选实施例中(未示出),控制服务器102功能可通 过视频源设备11〇、140本身中的一个或多个实施,然后其可将多个分辨率编码直接发送至 客户端142。控制服务器102可与多个数字IP摄像机110曰、1106、110〇、110(1(统称为1?摄像机 110) W及多个成流编码器114a、114b(统称为编码器114)相连,其中成流编码器可禪接至一 个或多个数字或模拟摄像机112a、112b、112c(统称为摄像机112)JP摄像机now及编码器 114可统称为视频源设备。视频源设备可通过网络116将视频成流至控制服务器102。网络 116可包括任何适当的技术,且可由一个或多个单独网络提供,运些单独网络包括例如有线 局域网(LAN)、无线局域网(WLAN) W及广域网(WAN)。
[0043] 控制服务器102可包括虚拟流管理器功能。驻存在控制服务器102上的管理控制服 务器102从设备接收的虚拟流的虚拟流管理器即为后文中的"服务器-设备虚拟流管理器" 或"服务器-设备VS管理器"104。服务器-设备VS管理器104提供用于配置视频源设备110、 114W将独立的多个分辨率编码成流的功能。服务器-设备VS管理器104还可包括从视频源 设备110、114接收流并将接收到的流多路分用至单独虚拟流的功能。多路分用的虚拟流可 不同方式(包括,例如通过移除虚拟流中的一个或多个)组合W及再复用。来自视频源 设备110、114的流的单独虚拟流可被提供至存储器管理功能108用于存储。进一步地,单独 虚拟流中的一个或多个可被提供至附加的虚拟流管理器功能;特别地,驻存在控制服务器 102上的管理控制服务器102发送至客户端142的虚拟流的虚拟流管理器即为后文中的"月良 务器-客户端虚拟流管理器"或"服务器-客户端vs管理器"106。单独虚拟流可从存储器管理 功能108或从服务器-设备VS管理器104被提供至服务器-客户端VS管理器106。服务器-客户 端VS管理器106通过网络144将一个或多个虚拟流成流至客户端142。
[0044] 视频源设备110、114中的每一个可用于依据各个视频源设备110、114的能力、其他 组件的能力(如网络116的带宽、网络144的带宽、监控系统的可用存储空间W及需求及 对于视频源设备110、114的操作的其他合适的参数材料,提供各种虚拟流编码。视频源设备 110、114可提供单个分辨率编码,或多个单独分辨率编码。进一步地,每个分辨率编码可通 过多个虚拟流提供。图1中绘示了流118,其通过网络116从IP摄像机110被成流至控制服务 器 102。
[0045] 如所绘示,流118包括多个单独分辨率编码120、122、124。单独分辨率编码120、 122、124被绘示为对源视频的相同部分进行编码,该相同部分可被设想为摄像机110a的传 感器的大体全部兴趣域。例如,分辨率编码120可被编码至源的全分辨率,分辨率编码122可 被编码至源分辨率的一半,W及分辨率编码124可被编码至源分辨率的1/4。单独分辨率编 码120、122、124中的每个使用各个编码格式如H.264或肝EG对源视频进行编码。在可选实施 例中,取代调整分辨率,此外地或可选地,可通过改变一个或多个不同的编码参数(如帖速 率和视频质量)将流118编码至分辨率。
[0046] 单独分辨率编码120、122、124中的每个可由流118中的一个或多个虚拟流126、 128、130提供。每个虚拟流126、128、130包括W各个分辨率编码120、122、124的压缩水平编 码的视频源的至少部分。如所绘示,全分辨率编码120由3X4片的虚拟流提供。12个虚拟流 126中的每个W相同的编码格式编码,且当12个虚拟流被组合时,它们提供源视频的全分辨 率。在可选的实施例中,不同的编码格式或不同的编码参数可用于对运些12个虚拟流中的 任意一个或多个进行编码。分辨率编码122被绘示为由单个虚拟流提供。因此,虚拟流128可 具有视频源的1/2的分辨率。同样地,虚拟流130可具有视频源的1/4的分辨率。尽管已描述 为提供较大区的片,但虚拟流并不需要形成片。相反,每个虚拟流可对特定兴趣域进行编 码,该特定兴趣域可包括完整的源视频或其部分。各种虚拟流可重叠相同的兴趣域,或可对 源视频的不重叠部分进行编码。
[0047] 服务器-设备VS管理器104可从视频源设备110、114接收流,如流118。服务器-设备 VS管理器104可将来自接收到的流118的单独分辨率编码120、122、124的虚拟流多路分用, 且多路分用的虚拟流可被传递至存储器管理功能108。此外,虚拟流中的一个或多个可被传 递至服务器-客户端VS管理器106用于成流至客户端142。
[004引如所绘示,存储器管理功能108在数据存储器132中存储分辨率编码的虚拟流。存 储器管理功能108可将分辨率编码134中的每个传递至数据存储器。存储器管理功能108W 及数据存储器132可在不同的存储区域或层中存储视频数据,从而降低所需存储器的量。如 所绘示,短期存储层136可存储每个分辨率编码。在已经过一段时间之后,确定全分辨率编 码不再需要被存储。全分辨率编码可从存储器中移除,剩余的分辨率编码在存储层138中存 储。同样地,一段时间后,确定中等分辨率编码不再需要被存储,同样地可将其从存储器中 移除,W及剩余的分辨率编码在140中存储。在示例性实施例中,虚拟流被分开存储于存储 区或层136、138和140中的每个中,且每个虚拟流已被存储的时间寿命或长短被独立地维 护。在运样的实施例中,在已经过一段时间后,可从仍存储于存储区136、138和140中的虚拟 流重建容器帖。
[0049] 数据存储器132可由与控制服务器相同的计算系统提供。可选地或此外地,数据存 储器可由分离的计算设备提供。更进一步地,尽管被绘示为直接连接至控制服务器,可W考 虑,数据存储器可通过网络禪接至控制服务器。
[0050] 如上所述,服务器-客户端VS管理器106可从服务器-设备VS管理器104或存储器管 理功能108接收分辨率编码,用于通过网络144成流至监控客户端142。分辨率编码可来自不 同的视频源设备。如所绘示,每个分辨率编码146曰、1466、146〇、146(1可单独地成流,或者一 个或多个分辨率编码可被一起组合为单个流。如所绘示,与来自不同的视频源设备的低分 辨率编码相对应的多个虚拟流148a、148b、148c、148d可被成流至监控设备142。监控设备 142可接收并解码虚拟流148a、148b、148c、148d,并显不解码的视频150。
[0051] 可选地,图1中未示出,诸如监控客户端142的客户端设备或在服务器(如控制服务 器102)上运行的客户端进程,可接收并解码虚拟流148曰、1486、148〇、148(1中的一个或多个 W创建类似视频150的合成视频流,但并不显示它。相反,此类客户端设备或进程可对合成 视频流重新编码W显示在移动设备(如移动电话、笔记本电脑、平板电脑等)上,然后通过网 络(如网络116或网络144)将重新编码的合成流传输至移动设备。移动设备然后可移动 形式为移动设备的用户显示视频。
[0052] 图2绘示了显示视频的不同分辨率编码的显示器;显示器可W是计算机显示器,但 可选地也可是任何适当的显示器,例如平板电脑的显示器、智能手机显示器或拼接显示器。 图2绘示了 Ξ种不同的视图200、212、218。首先,监控客户端显示视图200,其包括四个虚拟 流的最低分辨率编码202、204、206、208。例如,可同时地显示来源于四个不同摄像机的虚拟 流。可选中低分辨率编码中的一个202用于放大,例如通过利用鼠标或其他指示器210点击 它。当全屏显示分辨率编码202时,编码的质量可能低于所期望的。相应地,可成流并显示来 源于选中的摄像机视图的中等分辨率编码214,如视图212中所绘示。用户可能希望进一步 放大,从而查看显示的分辨率编码214的部分216。同样,当被放大时,分辨率编码214的质量 可能不足W提供期望的图像质量。相应地,全分辨率编码可用于显示放大的部分220,如视 图218中所绘示。
[0053] 如上所述,全分辨率编码可包括多个虚拟流。相应地,仅覆盖所选中的放大域的全 分辨率编码的虚拟流需被成流至监控客户端142。例如,如果全分辨率被提供为4 X 3网格的 虚拟流,第一行W及第Ξ和第四列中的虚拟流可覆盖期望域。
[0054] 如上所述,当将视频成流至监控位置时,提供多个虚拟流允许有效率的带宽利用, 而不管是来自多个摄像机的视频被显示或是仅单个摄像机的小部分被放大用于显示。
[0055] 图3绘示了能够将多个分辨率编码成流的视频源设备和功能W及控制服务器和功 能。系统300被绘示为包括控制服务器302W及视频源设备316。控制服务器302包括用于处 理指令的中央处理单元304。指令可存储于内存306中。控制服务器302可进一步包括非易失 性存储器308,用于永久存储数据和指令。控制服务器302还可进一步包括一个或多个输入/ 输出(I/O)接口 310。I/O接口允许输入和/或输出组件与控制服务器相连。例如,网络接口卡 (NIC)可与控制服务器302相连W将控制服务器302连接至通信网络。
[0056] CPU 304可执行存储于内存中的指令。如312所绘示,当指令被执行时,可配置控制 服务器302W执行上述的功能,且还实施服务器-设备VS管理器314,其功能描述如下。
[0057] 视频源设备316,可W是例如摄像机设备或者系统,包括中央处理单元318,用于处 理指令。指令可存储于内存320中。视频源设备316可进一步包括非易失性(NV)存储器322, 用于永久存储数据和指令。视频源设备316还可进一步包括一个或多个输入/输出(I/O)接 口 324,I/O接口允许输入和/或输出组件与视频采集器相连。例如,网络接口卡(NIC)可连接 至输入/输出接口 324W将视频源设备316连接至通信网络。进一步地,如果视频源设备316 为摄像机,不论是IP摄像机还是模拟摄像机,I/O接口可进一步将传感器连接至CPU用于捕 捉图像数据。
[0058] CPU 318可执行存储于内存中的指令。如326所绘示,当指令被执行时,可配置视频 源设备316W提供设备虚拟流(VS)管理器328W及编码器功能330。
[0059] 控制服务器302的服务器-设备虚拟流(VS)管理器314W及视频源设备316的设备 VS管理器328协作W对视频源设备316进行配置(332),其中视频源设备可按照期望或需要 包括例如摄像机。可配置编码器功能330W提供多个编码组件,该多个编码组件可各自地编 码视频和指定设置,其可包括多行和多列的单独编码的片。由编码组件提供的编码可被成 流至控制服务器302,如数据流334所绘示。
[0060] 可W理解的是,虽然本文中的附图和描述设及分离的视频源设备316和服务器 102,在一些实施例中,来自两个所述系统的功能可存在于单个系统中。例如,视频源设备 316可W是提供关于摄像机和图像采集器的本文中所述的所有功能W及关于控制服务器 102的本文中所述的功能的摄像机系统。在运样的实施例中,摄像机系统可W像具有控制和 与其他摄像机系统通信的能力的服务器那样操作。
[0061] 图4绘示了能够将多个分辨率编码成流的其他视频源设备功能W及控制服务器功 能。例如,可通过存储于内存中的指令将功能提供于上述的控制服务器302中。当被控制服 务器302的CPU执行时,指令可提供网络层协议功能402、应用层协议功能404W及配置功能 408。可W理解的是,在控制服务器302中还可提供其他功能。
[0062] 同样地,通过由处理器执行指令,视频源设备功能也可被提供于视频源设备(如上 所述的视频源设备316)中。视频源设备功能可包括网络层协议功能410、编码器功能412W 及应用层协议功能414。视频源设备可提供图4中未示出的附加功能。
[0063] 控制服务器302和视频源设备316的网络层协议功能402、410协作W按照期望的方 式配置视频源设备316。网络层协议功能402、410为视频设备提供标准网络接口,并允许用 于发现、配置、管理并控制兼容设备。网络层协议功能402、410在控制服务器302和视频源设 备316之间提供公用接口,该公用接口允许视频源设备316及其能力的发现W及设备316的 配置。如W下进一步所述,网络层协议功能402、410可用于配置编码器功能416,从而设置设 备316能够将包括特定兴趣域的编码的多个独立分辨率编码成流,如上所述。一旦按照期望 配置,视频源设备316可利用已配置的编码器功能对源视频进行编码,从而提供已配置的分 辨率编码的数据流。使用应用层协议功能404、414,可将来源于编码器的数据流从视频源设 备316传输至控制服务器302,其中应用层协议功能404、414提供实时控制W及数据流418的 传输。
[0064] 一旦在控制服务器302处接收到数据流418,可处理该数据流W将属于相同分辨率 编码的虚拟流分组在一起。如上所述,单个分辨率编码可由一个或多个被独立编码的兴趣 域组成。随后可按照期望进一步处理分辨率编码,例如用于存储或成流至监控客户端。
[0065] 控制服务器302还可包括配置功能408。配置功能408可允许用户设置、查看和/或 修改监控系统的组件的配置参数。例如,配置功能可允许用于视频源设备的期望编码器配 置。
[0066] 图5A绘示了包含多路复用的虚拟帖和用于描述运些虚拟帖的描述符的容器帖 506。 在图5A中,示出与单个会话相关联的两个帖:存储视频数据的容器帖506, W及存储对 应的音频数据的音频帖507。容器帖506和音频帖507被绘示为用于分别保存视频和音频数 据的数据结构的内存中表示。帖506和507中的每个都包含描述符、时间戳和有效载荷。容器 帖506的有效载荷包括指向每个虚拟流有效载荷的间接表。可W理解的是,虽然在图5A的示 例性实施例中音频帖与视频帖相关联,但音频帖是可选的。此外,音频帖仅仅是示例性的, 其他信息例如元数据可本文中关于音频帖所述的方式类似地与虚拟帖成流。
[0067] 如关于图6详细地论述,W下,在将容器帖506和音频帖507从视频源设备传输至控 制服务器302之前,首先通过可靠传输机制(例如TCP、HTTP或RTSP)描述会话描述。来自容器 帖506和音频帖507的描述符检索自运些帖506和507并被序列化至会话描述信息509,在一 个实施例中,会话描述信息509可作为文件存在于计算内存中。描述信息/文件509列出包含 容器帖506和音频帖507的音频和视频的特性W及统一资源标识符(URI ),从中可建立传输 W通过网络将运些媒体文件成流。虚拟流包括附加特性,如用于包级传输多路复用及多路 分用的虚拟流idW及编码参数如源R0I和图像分辨率。
[006引在一个实施例中,帖506和507中的每个都被封包并通过不可靠传输机制如UDP从 视频源设备被发送至控制服务器。在可选的实施例中,不同的传输机制可用于传输帖506、 507。
[0069] 图5B中所示的视频流118的部分包括第一和第二容器帖506a-c(统称为"容器帖 506"),容器帖506a-c在它们通过网络116被传输至控制服务器之前由视频源设备准备。容 器帖506a-c中的每一帖分别包括该容器帖506a-c的所有虚拟帖508公用的时间戳510a-c。 每个虚拟帖头包括帖定界符,帖定界符为虚拟帖508中的每一帖彼此定界。在运个示例性实 施例中,帖定界符包括虚拟流id。图5B中的容器帖506各自包括用于H.264编码的视频的一 个虚拟帖508a、508c、508eW及用于肝EG编码的视频的另一个虚拟帖508b、508d、508f。与通 过各自具有其自身时间戳的分离的流将H. 264和肝EG视频发送至控制服务器相反,在所绘 示的实施例中,将H. 264 W及JPEG视频放入容器帖506且然后传输容器帖506实质上是将 H. 264和肝EG视频时分复用至控制服务器。
[0070] 将成组的虚拟帖508与单个源帖时间戳相关联有利于虚拟帖508之间的同步且因 此有利于使得来自不同虚拟流的视频显示在客户端142上W及有利于延迟的减少。当服务 器-设备VS管理器314接收流11別寸,它能够基于每个帖506的时间戳510对容器帖506的每一 帖进行多路分用,且随后能够将容器帖506彼此多路分用,并将容器帖506中的虚拟帖508中 的每个与任意其他虚拟帖508多路分用,如图5B所绘示。控制服务器302随后可按照期望处 理容器帖506W及虚拟帖508中的任意一个或多个,例如通过将容器帖506存储于数据存储 器132中。
[0071] 图6绘示了来自视频源设备316的描述提供多个分辨率编码的单独虚拟流的响应, 且其为会话描述信息/文件509的特定示例。响应600可描述将提供自视频源设备316的流。 响应600描述视频流中的每个虚拟流。视频流可具有多个单独虚拟流610a、610b、610c、612 W及614。提供每个虚拟流的编码参数。例如,每个虚拟流可包含虚拟流的唯一标识符602、 由虚拟流编码的视频源的兴趣区或域604、编码的虚拟流的结果分辨率606W及编码的虚拟 流608的质量的指示。如图所示,虚拟流可相同的编码器设置对不同兴趣域进行编码。 例如,虚拟流61〇3、6106、610(3^相同的编码器设置对源视频的不同兴趣域进行编码。进一 步地,虚拟流可不同的参数设置对相同兴趣域进行编码。例如,虚拟流612和614对相同 兴趣域进行编码,但导致不同的分辨率。流的描述600可各种格式被提供,并提供足够 信息W允许组件(例如控制服务器)接收流,从而适当地多路分用并识别组件虚拟流。
[0072] 图7绘示了不同分辨率下的片的编码。虚拟流可将视频源的特定区编码至特定尺 寸。例如,源视频可具有4944 X 3280的区702,第一虚拟流可对整个区的位于X = 0,y = 0 (即 源视频的左上方)的具有尺寸为1232X1080的部分704进行编码。第一虚拟流可提供区704 的全分辨率编码,运将导致第一虚拟流编码706具有尺寸为1232X1080。第二虚拟流也可对 相同的区704进行编码。但是为了提供源分辨率的1/4,编码可降低样本分辨率。同理,对相 同的源视频区704进行编码的第二虚拟流70則尋具有尺寸为308 X 270。
[0073] 图8绘示了将数据从视频源设备316成流至控制服务器302的方法800。在块802,配 置视频源设备的编码组件。配置操作可包括将一个或多个配置命令从例如控制服务器302 传输至可包含编码器114的一个或多个视频源设备316。视频源设备316的编码组件被配置, W在从视频源设备316发出的流内提供多个虚拟流。编码组件可被配置,从而提供源视频的 至少部分的独立分辨率编码。独立分辨率编码中的至少一个由多个虚拟流提供,其中每个 虚拟流包括分辨率编码的马赛克(mosaic)的片。视频源设备316中包括的编码组件可用于 提供每个虚拟流。
[0074] -旦用于流的编码组件被配置,在块804,将如上关于图5A(附图标记509)和图6 (附图标记600)所述的流的描述从视频源设备316通信至控制服务器302。在示例性实施例 中,响应于控制服务器302发出的描述请求,流描述509可由视频源设备316提供至控制服务 器302。接收到的描述509对视频源设备316被配置W提供的多个单独流进行描述。每个期望 的分辨率编码可由描述509中描述的一个或多个虚拟流提供。每个虚拟流的描述509可包含 虚拟流的标识符W及虚拟流的编码信息和由虚拟流编码的源视频的区的指示。
[0075] 在块806,数据流本身被从视频源设备316通信并在控制服务器302处被接收。在块 808,控制服务器302将每个虚拟流与各个分辨率编码相关联。可使用流描述509中的信息完 成识别虚拟流中的哪些与各个分辨率编码相关联。此外,如果多个虚拟流对源视频的相同 区进行编码,则可能需要利用在虚拟流中编码的附加信息W确定虚拟流与哪个分辨率编码 相关联。一旦每个虚拟流与各个分辨率编码相关联,可进一步处理相同分辨率编码的虚拟 流。例如,在块810,可提供每个分辨率编码的虚拟流用于存储。虚拟流和流描述509可被彼 此相关地存储。可选地或此外地,在块812,分辨率编码的一个或多个虚拟流可被成流至一 个或多个监控客户端。可W理解的是,虽然W上描述中隐含着在单独虚拟流被存储和/或传 输至客户端之前处理多个虚拟流,但每个虚拟流是独立可解码的,并且可被立即存储和/或 发送至客户端。
[0076] W上已经描述对源视频的不同兴趣域进行编码。不同的编码的兴趣域可对整个源 视频进行编码,或可只对源视频的部分进行编码。当在被显示的编码的兴趣域之间切换时, 或当同时显示多个兴趣域时,不管是彼此相邻W提供源视频的马赛克还是彼此叠加,所显 示的编码的同步之间的任何差异对查看者是显而易见的。运种同步的不足提供不可取的用 户体验。如W下参考图9和图10进一步所述,对兴趣域一起进行编码和多路复用W维持多个 虚拟流之间的同步是可能的。
[0077] 图9示例性绘示了用于对多个兴趣域进行编码的过程。过程900对源视频902的流 进行编码,其中源视频902包括多个源帖904a-d(统称为源帖904)。源帖904的数量可依据视 频源的帖速率而改变。例如,视频源流每秒可包含30帖,视频源流的帖速率可高于或低于30 帖/秒。源帖的每一帖包含源帖时间戳(未显示),该源帖时间戳识别例如当源帖被生成时的 UTC。
[0078] 可配置一个或多个编码器906W将视频源帖904中的每个编码至多个编码的虚拟 帖908。如图9中所绘示,第一视频源帖904a被编码至高分辨率编码910曰、中等分辨率编码 910bW及低分辨率编码910c。尽管被绘示为每个对整个视频源帖904a进行编码,但不同的 编码的虚拟帖中的每个可对视频源帖的不同兴趣域进行编码。进一步地,尽管编码的虚拟 帖908被描述为是W不同于源视频帖904a的分辨率而被编码的,可W考虑的是,编码的虚拟 帖可W是W相同的分辨率被编码的但可在其他编码参数(如编码格式、帖速率W及视频质 量)方面有所不同。编码器906可循环的方式对虚拟帖908的每一帖进行编码。可选地或 此外地,一个或多个编码器可用于对不同的虚拟帖进行编码。如果使用多个编码器,则可需 要提供一个机制,用于追踪哪些编码的虚拟帖与相同的视频源帖相对应。运可W通过利用 公用标识符对每个编码的虚拟帖帖标签来完成。可选地或此外地,每个编码器的输入和输 出可被追踪,从而确定输出的编码的虚拟帖与哪个视频源帖相对应。在过程900中的运个阶 段,每个虚拟帖包括虚拟帖头,该虚拟帖头包括从源帖时间戳得到的虚拟帖时间戳。
[0079] 一旦视频源帖已被编码至多个虚拟帖,虚拟流多路复用器912对与相同的视频源 帖相对应的编码的虚拟帖中的每个一起进行多路复用。虚拟流多路复用器912将多个编码 的虚拟帖910a、910b、910c多路复用至单个容器帖914,然后该单个容器帖可通过网络被传 输至例如控制服务器302。多路复用通过将虚拟帖连接在一起来完成,其中每个虚拟帖具有 定界虚拟帖的虚拟帖头且容器帖具有为容器帖彼此定界的容器帖头。尽管只有视频流被绘 示为被多路复用至帖容器914,可W考虑的是,可包含其他数据例如音频数据、分析数据W 及元数据信息。容器帖914包括容器帖头,该容器帖头包括从虚拟帖时间戳得到的容器帖时 间戳。每个虚拟帖头包括识别特定虚拟帖的虚拟流id,如上关于图5A、5B所详细论述。
[0080] 通过将与相同的视频源帖相对应的所有编码的虚拟帖多路复用至公用容器帖,可 W维持单独虚拟流的完全同步。相应地,可W同时而没有任何同步差异地显示多个编码的 兴趣域,运样可W提供改进的用户体验。
[0081] 图10绘示了用于对源视频进行编码的方法1000。在块1002,视频源设备110从正被 编码的视频源流接收源帖。在块1004,一个或多个编码器对源帖的多个虚拟帖进行编码。可 使用不同的参数对每个虚拟帖进行编码,该不同的参数包括被编码的源帖的域、编码的帖 速率、编码的质量、编码的虚拟帖的分辨率、所使用的压缩技术/编码格式W及其他编码参 数。在块1006,视频源设备110和/或编码器114将多个编码的虚拟帖多路复用至容器帖。容 器帖对从相同源帖编码的所有虚拟帖一起进行多路复用。如果两个或更多个虚拟流是W不 同的帖速率被编码,则容器流的每个容器帖可不包括每个虚拟帖。例如,如果一个虚拟流W 30虚拟帖/秒(fps)被编码而另一个虚拟流W15虚拟帖/秒被编码,那么,每个容器帖将包括 30fps编码的虚拟帖,而仅每隔一个容器帖将既包括30fps编码又包括15fps编码。可选地, 15fps编码的帖可被复制W包含于每个容器帖中。进一步地,并非彼此的倍数的两个或更多 个不同的帖速率被编码,容器流的帖速率可被提高至所有编码的帖速率的最小公分母。例 如,如果一个虚拟流W20fps被编码,第二虚拟流W30fps被编码,那么容器流帖速率可为 60巧S。一旦虚拟帖被一起多路复用至容器帖,在块1008,容器帖可被传输至期望目的地,如 上述的控制服务器。
[00剧服务器与客户端交互
[0083] 图11绘示了用于将多个编码成流至客户端142的系统1100。系统1100包括控制服 务器102和客户端142。控制服务器102包括用于处理指令的中央处理单元1104。指令可被存 储于内存1106中。控制服务器102可进一步包括非易失性存储器1108,用于永久存储数据和 指令。控制服务器102还可进一步包括一个或多个输入/输出(I/O)接口 1110。1/0接口允许 输入和/或输出组件与控制服务器102相连。例如,网络接口卡(NIC)可与控制服务器102相 连W将控制服务器102连接至通信网络。
[0084] CPU 1104可执行存储于内存中的指令。如1107所绘示,当指令被执行时,可配置控 制服务器102W提供服务器-客户端VS管理器106,连同上述的其他功能。如W下详细论述, 服务器-客户端VS管理器106使得控制服务器102将多个分辨率编码成流至客户端142。
[0085] 客户端142包括用于处理指令的中央处理单元1118。指令可被存储于内存1120中。 客户端142可进一步包括非易失性存储器1122,用于永久存储数据和指令。客户端142还可 进一步包括一个或多个输入/输出(I/O)接口 1124。I/O接口允许输入和/或输出组件与 CPU1118相连,从而许可对客户端142从服务器102接收到的流进行显示;在绘示的实施例 中,显示器1127为此与一个I/O接口 1124相连。
[0086] CPU 1118可执行存储于内存1120中的指令。如1126所绘示,当指令被执行时,可配 置客户端142W提供客户端VS管理器1128W及解码器功能1130。
[0087] 控制服务器102的客户端管理功能106与客户端142的客户端VS管理器1128协作, W通过交换初始化数据1132W及通过客户端142向控制服务器102发送客户端成流参数 1133,按照期望或需求配置从控制服务器102至客户端142的成流。解码器功能1130可被配 置W提供多个解码组件,该多个解码组件可各自地解码视频和指定设置,其包括多行和多 列的单独编码的片。通过控制服务器102使用或被转发的所存储的编码的流可被成流至客 户端142,如被绘示为数据流1134。
[0088] 现在,参考图12,示出视频流118,该视频流由服务器-客户端VS管理器106通过多 路复用多个容器帖506生成,并随后由服务器-客户端VS管理器106发送至客户端VS管理器 1128。如上关于图5B所论述,包含于容器帖506的任意一个中的虚拟帖508的每个都包括带 有定界符的虚拟帖头,该定界符在虚拟帖之间定界。容器帖506还各自包括适用于该容器帖 中所有的虚拟帖508的时间戳508。图12中,服务器-客户端VS管理器106存取的容器帖506可 从数据存储器132和视频源设备二者或其中之一获得。在图12所示的示例性场景中,服务 器-客户端VS管理器106已确定只有H.264虚拟流将被传输至客户端142;因此,发送至客户 端VS管理器1128的容器帖506的每个包括H. 264虚拟流,并且不包括JPEG流。一旦客户端VS 管理器1128接收到视频流118,其将视频流多路分用,并W类似于如上关于图5B所述的服务 器-设备VS管理器执行的方式显示或存储虚拟流。例如,客户端142可将各种虚拟流整合在 一起w形成更大的图像或许可虚拟流彼此重叠,如下详细地论述。
[0089] 但是,在接收视频流118之前,客户端142从控制服务器102请求视频流118。W下将 关于图13和图15描述客户端142请求视频流118的方式W及控制服务器102选择虚拟流W发 送至客户端的方式。
[0090] 现在,参考图13,示出用于将客户端成流参数1133从客户端142传输至控制服务器 102的方法1300。客户端成流参数1133是控制服务器102在确定将哪些虚拟流发送至客户端 142用于显示在显示器1127上时所考虑的参数。用于执行方法1130的指令可被编码为程序 代码并存储于内存η 20中用于由CPU 1118执行。
[0091] CPU 1118在块1302开始执行方法1130,并进行至块1304,在块1304,它W类似于如 上关于图1-10中所述的控制服务器102和视频源设备如何建立会话的方式建立与控制服务 器102的会话。作为建立会话的部分,从控制服务器102发送至客户端142的初始化数据1132 包括描述编码参数、分辨率和像素数二者或其中之一 W及虚拟流126、128、130中的每个的 位置的会话信息。如W下详细地论述,在一个示例性实施例中,客户端142可将关于虚拟流 126、128、130的此信息呈现给用户,W许可用户指定显示虚拟流126、128、130中的哪些。
[0092] 初始化之后,CPU 1118显式或隐式地接收描述显示虚拟流126、128、130中的哪些 的用户输入,此用户输入可包括:
[0093] (a)视图区。视图区是用户用于查看视频的显示器1127、150上的窗口中的多个像 素,并通常W像素的数量表示。例如,在图1中,客户端142使用整个显示器150显示来自四个 虚拟流的视频。用于每个流的视图区相应地是用于整个显示器的像素的总数除W2的质量 偏置参数次方,如下所述。
[0094] (b)图像域。图像域/兴趣域表示用户想在显示器1127、150上显示的图像的部分。 可通过提供图像域的左上坐标和右下坐标指定图像域。例如,当试图放大图像的部分时,用 户可W使用鼠标或其他指向设备在显示于显示器上的图像的部分上划矩形。该矩形将表示 图像域。
[0095] (C)显示质量偏置参数。显示质量偏置参数表示用户是否将更喜欢W低帖速率 帖/秒衡量)代价的高质量(代表高像素数)。该参数可被直观地设定为"高"、"中"或"低"质 量,其中"高质量"表示用户希望通过牺牲帖速率而获得高像素数,"低"质量表示用户希望 获得高帖速率,但像素数/分辨率低。
[0096] (d)色彩规格参数。色彩规格参数表示用户是否想W全色或单色查看视频。
[0097] (e)带宽限制参数。带宽限制参数表示用户是否希望在特定速率下限定总带宽利 用,如W比特/秒衡量。用户可W决定不对带宽做任何严格的限制。
[0098] (f)视频的性质与使用。用户可指定是将从存储器检索(即从数据存储器132成流) 还是直播查看待被查看的视频,并且指定视频是否用于控制一个硬件,如变焦(PTZ)摄像 机。如果视频将从数据存储器132成流,那么延时相对不重要,并且具有相对高像素数或帖 速率的视频可相对高延时的代价传输。相反,如果视频是直播或用于控制硬件,则低延 时就很重要,从而实时获得图像。在运种情况下,低延时优于高质量视频。
[0099] (g)显示虚拟流126、128、130中的哪些。在用户知道哪些虚拟流是可用的实施例 中,与通过调整W上列出的标准而间接选择虚拟流相反,用户可手动且直接地指定特定虚 拟流来查看。
[0100] 用户还可w间接选择显示哪些虚拟流。例如,用户可选择源视频的一个或多个ROI 和/或一个或多个分辨率,且每个R0I和分辨率可与特定虚拟流相对应。例如,图2中通过将 虚线中示出的图2的部分216选作兴趣域,用户隐含地选择虚拟流Ai,3和Ai,4用于传输。再比 如,用户可仅查看虚拟流Ai,3和Ai,4且然后快速缩小,W便R0I变为源视频的整个分辨率。运 可被隐含地解释为用户请求整个源视频的低分辨率虚拟流130用于临时显示,直到高分辨 率虚拟流126可被从服务器发送至客户端。
[0101] 在接收到用户输入后,在块1306,CPU 111如角定客户端成流参数1133。客户端成流 参数1133包括W上列出的用户输入的全部类型,且进一步包括CPU 1118自身生成的参数。 CPU 1118自身生成的数据包括指示网络堵塞的包丢失统计、指示可用于对具有高帖速率或 高像素数或二者皆备的视频进行解码的资源的CPU 1118和内存1120的当前利用统计W及 建议的虚拟流列表。然而CPU 1118可不将可用虚拟流的列表直接呈现给用户,CPU 1118能 够访问该列表W及由虚拟流表示的片的位置和大小,因为它具有响应600。因此,CPU1118可 W确定客户端142最适于显示哪些虚拟流。
[0102] 例如,再次参考图2,用户可查看中等分辨率编码214且然后放大至特定图像域,该 特定图像域为虚线中示出的图2中的部分216。CPU 111則尋部分216映射至虚拟流Ai, 3和Ai, 4, 其可比中等分辨率编码214更详细地(即使用更多像素)显示部分216, W及在图2中,客户端 142然后显示虚拟流Ai,3和Ai,4。然而,在另一个实施例中,CPU 111則尋图像域视为待被考虑 的多个因素中的仅一个,且还可考虑例如当前CPU 1118利用W及视频的性质和使用。如果 CPU 1118利用过高而不能支持相对高分辨率虚拟流Ai, 3和Ai, 4的实时解码,且视频为其中低 延时很重要的直播流,CPU 1118可建议继续使用中等分辨率编码214,或甚至使用低分辨率 流130从而确保视频可被足够快地解码W许可低延时。如上所述,虽然当前示例基于分辨率 区分虚拟流,在可选的实施例中,虚拟流可通过不同的方式区分;例如,可基于兴趣域、帖速 率、分辨率、量化质量、比特率W及编码格式中的任意一个或多个区分虚拟流。由于容器帖 506是可扩展格式,将来可使用其他区分特性,比如是否检测到动作或人脸。可在不损害向 后兼容性的情况下改变容器帖506的格式,因为容器帖506的虚拟流管理器或其他解析器可 被设计为忽略未知属性或数据字段。
[0103] 在CPU 1118在块1308确定客户端成流参数1133后,进行至块1310并将运些参数 1133发送至控制服务器102。然后CPU 1118进行至块1312,在块1312,方法1300结束,且相应 地,CPU 1118等待控制服务器102发送数据流1134。
[0104] 现在,参考图14,示出用于将包含视频数据的数据流从控制服务器102传输至客户 端142的方法1400。用于执行方法1400的指令可被编码为程序代码并存储于内存1106中用 于由CPU 1104执行。在图14的方法1400中,控制服务器102能够访问Ξ个不同的虚拟流:被 编码为具有高帖速率和低分辨率(中等质量)的第一流、被编码为具有低帖速率W及低分辨 率(低质量)的第二流W及被编码为具有高帖速率和高分辨率(高质量)的第Ξ流。例如,高 质量流是W30图像/秒(ips)的2MP巧万像素),中等质量流是WSOips的0.08MP,低质量流 是W5ips的0.08MP。当不需要不同兴趣域的高分辨率视图时,可使用此示例,因此容器帖 506的灵活性用于提供可选的帖速率视频流。
[01化]CPU 1104在块1404开始执行方法1400,并进行至块1406,在块1406,它从客户端 142接收客户端成流参数1133,客户端成流参数1133由客户端142生成并发送,如关于图6所 述。CPU 1104进行至块1408,并从客户端参数1133确定客户端142正请求的视频数据是否包 括直播视频。如果请求的数据包含直播视频数据,那么CPU 1104进行至块1410,在块1410, 它从客户端参数1133确定数据是否正被用于延时敏感应用中,例如控制PTZ摄像机的移动。 如果是,则客户端142被视为处于"优先模式"中,在该模式中帖速率优于分辨率,且CPU 1104进行至块1416,在块1416,它向客户端142发送一个或多个高帖速率低分辨率虚拟流。 在发送一个或多个流之后,CPU 1104进行至块1422,在块1422,方法1400结束。
[0106] 如果客户端142未请求直播视频,贝化PU 1104从块1408进行至块1412而非块1410。 在块1408,CPU 1104确定数据存储器132是否过于忙碌而无法发送高帖速率高分辨率流。如 果数据存储器132过于忙碌而无法运样做,那么CPU 1104进行至块1418,在块1418,它向客 户端142发送一个或多个低帖速率低分辨率虚拟流。W下将关于图15更详细地描述CPU 1104借W选择特定流的方法。在发送一个或多个流之后,CPU 1104进行至块1422,且方法 1400结束。
[0107] 如果客户端142已请求直播视频但其未被视为处于优先模式,或者如果客户端142 已请求存储于数据存储器132中的视频且数据存储器132有能力发送高帖速率高分辨率流, 则CPU 1104进行至块1414,在块1414,它通过例如分别确定CPU 1104利用率W及确定网络 144是否堵塞从而确定控制服务器142和网络144的二者或其中之一是否过于忙碌而无法发 送高帖速率高分辨率流。如果控制服务器102和网络144的二者或其中之一过于忙碌而无法 发送高帖速率高分辨率流,贝化PU 1104进行至块1418,在块1418,它向客户端142发送低帖 速率低分辨率流。否则CPU 1104进行至块1420,在块1420,它向客户端142发送高帖速率高 分辨率流。W下将关于图15更详细地描述CPU 1104借W选择特定流的方法。在发送一个或 多个流之后,CPU 1104进行至块1422且方法1400结束。
[0108] 现在,参考图15,示出用于确定将多个虚拟流中的哪些从控制服务器102发送客户 端142的方法1500。用于执行方法1500的指令可被编码为程序代码并存储于内存1106中用 于由CPU 1104执行。为了向图15的方法1500提供上下文,将结合方法1500考虑图1中的14个 虚拟流:全分辨率编码120,包含12个虚拟流,每个表示不同的图像域并W130万像素编码, 其中所有12个域共同包括兴趣域并W30fps编码;中分辨率编码122,包括表示W2百万像素 和30fps编码的整个兴趣域的单个虚拟流;低分辨率编码124,包含W7.7万像素(QVGA)和 15fps编码的单个虚拟流。
[0109] CPU 1104在块1502开始执行方法1500,并进行至块1504,在块1504,它基于客户端 成流参数1133W及服务器资源可用性确定许可像素数和帖速率,在当前的示例性实施例 中,服务器资源可用性包括CPU 1104、数据存储器132W及网络144的可用性。
[0110] 在块1504确定许可像素数(在此上下文中代表视频分辨率)和帖速率后,CPU 1104 进行至块1506,在块1506,它开始确定哪些虚拟流最适于发送到客户端142。在块1506,CPU 1104确定它是否已分析所有14个虚拟流W确定它们的发送至客户端142的适当性。如果没 有,贝化PU 1104进行至块1507,在块1507,它识别剩余的未被考虑的虚拟流中的一个,其在 块1508到1512中被称为"当前虚拟流"。然后CPU 1104进行至块1508,在块1508,它确定当前 虚拟流是否包含所需要的图像域。W图2为例,如果客户端成流参数1133指示用户已选中图 2中示出的虚线矩形,CPU 1104为之将返回"是"的仅有虚拟流为流心,3、心,4、81和(:1。由于流 Ai,3和Ai,4都需要被发送至客户端142W显示选中的图像域并满足客户端成流参数1133,CPU 1104出于块1506到1514的目的而将流Ai,3和Ai,4视为单个虚拟流。
[0111] 然后,CPU 1104进行至块1510,在块1510,它确定当前虚拟流是否有相比于之前考 虑的任意虚拟流最高的许可像素数。在W上具有14个虚拟流的示例中,许可像素数为15.6 百万像素/42 = 0.975百万像素;相应地,满足块1510的标准的仅有虚拟流为流C1。在块 1512,CPU 1104将流C1设置为"客户端流",且然后返回至块1506,该"客户端流"是在方法 1500的执行中的运一点上已满足块1508到1510的标准且被标记为被传输至客户端142的所 考虑的流中的一个。
[0112] 一旦CPU 1104已考虑所有的虚拟流,则它从块1506进行至块1514,并根据图則尋客 户端流发送至客户端142,随后进行至块1516,在块1516,方法1500结束。
[0113] 可W理解的是,关于图15所述的过程为由控制服务器102执行的确定用于传输至 客户端系统142的编码的示例性过程。虽然关于图15所述的示例设及识别具有最高像素数 的流,客户端参数可指定用于待被传输至客户端系统142的编码的其他特性。例如,客户端 参数可指定接收具有一系列特性的多个不同的编码。在示例性场景中,客户端参数可指定 接收关于多个兴趣域的编码。参数可指定记录的帖的第一兴趣域W及记录的帖内的第二兴 趣域,其中第一兴趣域和第二兴趣域中的每个表示整个可视区的子集。参数可指定第一和 第二兴趣域可重叠、不重叠或具有其他任何相关关系。在示例性场景中,参数可进一步指定 第Ξ兴趣域,该第Ξ兴趣域包括包含第一兴趣域和第二兴趣域的区的整个可视区。
[0114] 可组合多个参数指定编码。例如,除指定兴趣域之外,参数可指定编码具有特定编 码分辨率。在示例性场景中,参数可指定且服务器102可选择用于传输,具有编码分辨率的 与第一兴趣域相关联的编码,该编码分辨率具有特定值或处于特定范围内。同样地,参数可 指定且服务器102可选择用于传输,具有编码分辨率的与第二兴趣域相关联的编码,该编码 分辨率具有特定值或处于特定范围内。还有,参数可指定且服务器102可选择用于传输,具 有编码分辨率的与第Ξ兴趣域相关联的编码,该编码分辨率具有特定值或处于特定范围 内。在示例性场景中,参数可指定仅对应于显示区的部分的与第一和第二兴趣域相关联的 编码具有高分辨率值,而对应于第=兴趣域的编码具有相对于用于第一和第二域的编码的 较低分辨率。在示例性场景中,客户端参数可指定且服务器102可在过程中识别,贯穿于视 图区的多个(第一和第二)高分辨率不重叠兴趣域W及覆盖整个源区的另外的低分辨率域 (即第Ξ域)。
[0115] 可W理解的是,系统102可在处理过程中使用多个客户端参数集。例如,服务器102 可使用第一客户端参数集W识别满足主标准集的多个编码。在示例性场景中,第一客户端 参数集可指定如上所述的与第一和第二兴趣域相关联且具有高分辨率的编码。服务器102 也可使用指定的次标准的不同或次集合的客户端参数的附加或次集合。在示例性场景中, 次客户端参数可指定如上所述的与第Ξ兴趣域相关联且具有较低分辨率的编码。当可通过 提供可被解码的数据而快速地改变兴趣域直到服务器可发送更高的分辨率编码时,运种具 有高编码的低分辨率全源兴趣域可提供丢掉或隐藏延时的弹性(resiliency)。在服务器 102识别并传输多个编码(例如如上所述的与第一、第二和第Ξ兴趣域相关联的编码)的情 况下,编码可重叠或合成的方式显示,如W下关于图17所述。例如,在其中与两个兴趣 域相关联的两个编码被识别并传输至客户端系统142W及与包含第一和第二兴趣域的第Ξ 兴趣域相关联的第Ξ编码被识别并传输至客户端系统142的场景中,第一和第二编码可在 第Ξ编码上呈现,如关于图17所示。
[01W 服务器-客户端通信综述
[0117] 图16的结构框图绘示用于来自单个视频源设备的视频的活跃会话的视频和音频 路径、反馈模型W及服务器-客户端通信。虚拟流形式的视频被前馈通过一系列剔除区块 1610,其中剔除块1610移除将对用户屏幕并非可视的信息,或移除信息W便可为传输给定 储备信道能力。音频或其他信息(如,与视频相关联且具有相对于视频的低数据率的元数 据)通常可在不改变的情况下传递通过至网络API区块1612。恰恰在呈现区块1614中呈现之 前,它将与视频同步。
[0118] 存在独立的反馈路径,除了关于用户当前正查看的兴趣域(R0I)的信息W及用于 该会话的分辨率之外,该反馈路径还将关于解码和网络能力的度量标准反馈至剔除区块。 正如可在多个窗口上显示单个虚拟流,图16显示反馈路径中的多个兴趣域。
[0119] 图16利用单个视频和音频源显示用于单个会话的反馈路径。一般地,多个运样的 会话可在同一时间是活跃的。当通过图16的公用时钟源(T) 1618禪合它们时,它们被视为同 步在一起。
[0120] 剔除区块
[0121] 剔除区块1610取得R0I、宽度和高度元组W及其他度量标准(如解码储备能力和网 络储备能力)的列表,并执行导纳算法从而确定剔除或移除视频数据中的哪部分。
[0122] 期望剔除算法将不被显示或超出网络能力或解码器能力的信息移除。考虑上述度 量标准的一个可行策略如下。
[0123] 首先,我们考虑列表中的单个目标R0I和分辨率,并W此查找具有仅大于或等于目 标分辨率的最低分辨率同时覆盖目标R0I的虚拟流的集合。第二,覆盖任何剩余间隙的R0I 被计算并用于从剩余虚拟流的集合中选择覆盖间隙R0I的最高分辨率虚拟流的集合。
[0124] 利用来自被组合成最终列表的每次传递的每个R0I、分辨率对W及选中的虚拟流 重复该过程。最后的传递用于移除列表中由较高分辨率的虚拟流的集合覆盖的任何冗余虚 拟流。
[0125] -旦完成分辨率剔除,则对输出进行评估W确定它是否超出网络预留比特率或者 解码储备能力(使用与解码能力相关的度量标准,如最大解码FPS(每秒帖数)、总比特率、或 百万像素/秒(MP/s))。如果网络或解码能力都没有被超出,则可通过降低整体帖使用时序 抽取执行额外的剔除。可选地或此外地,为了将总比特率降低至预留阔值W下,虚拟流分辨 率剔除步骤可偏向于更喜欢选择低分辨率虚拟流。
[0126] 客户端侧的剔除区块1610是类似的,但具有一个区别,即对下游网络带宽未使用 优化。由于客户端中的反馈回路延时较短,客户端侧剔除区块1610相比服务器侧区块1610 适用于更高频率。
[0127] 网络API区块
[01%]网络API区块1612提供W下服务:带宽预留、监控及反馈;协议具体分组;会话描 述;会话传输协商和建立;W及连接管理。
[0129] 在图16的系统图中,服务器侧网络API区块评估并提供关于信道能力的实时反馈, 该实时反馈用作剔除区块的输入。
[0130] 例如,在一个示例性实施例中,响应600包括对视频流W及相关音频流的描述。客 户端可建立单个视频流和单个音频流。一旦建成,客户端到服务器的调用可用于发送关于 客户端状态(例如当前正被查看的多个ROI和分辨率,W及解码能力)的反馈。该反馈被发送 至服务器侧的剔除区块1610,并用于控制虚拟流的移除和容器帖的时序抽取。
[01引]反馈区块
[0132] 反馈区块1624从解码器1622和呈现区块1614获取反馈,并将该信息转发至剔除区 块 1610。
[0133] 反馈区块1624还接受质量偏置因子,该质量偏置因子修改用户视图窗口的上报的 分辨率,从而强制剔除区块偏向于较低分辨率。
[0134] 例如,"最大质量"偏置可能不修改反馈至剔除区块1610的目标分辨率,但将质量 等级降低至"高质量"导致反馈区块1624将目标分辨率降低为原来的一半。一般地,对于降 低质量的每一步,来自反馈区块的R0I的上报的目标分辨率都被降低为原来的一半。在一个 示例性实施例中,存在四种质量偏置设置:最大、高、一般和低。
[0135] 在可选实施例中,反馈区块1624可将除分辨率、R0IW及能力之外的输出发送至剔 除区块1610。例如,反馈区块1624可指定剔除区块1610将包含或排除哪些特定虚拟流。接受 用于虚拟流的直接剔除指令的控制服务器不需要为了理解来自新客户端的改进策略而升 级,因为用于剔除的逻辑可被完全封装在客户端。运也降低了向剔除区块1610反馈的复杂 度,因为它们只需要考虑虚拟流列表并将包含或排除哪些虚拟流的复杂度移至反馈区块。 在运个示例性实施例中,响应600包括用于反馈区块1624的足够信息,从而做出关于在接收 虚拟流本身之前包含或排除哪些虚拟流的决策。
[0。引解码区块
[0137] 解码区块1622提供编码格式特定的解码功能,包括能够对支持的编码如H. 264, JPEGW及JPEG 2000进行解码的解码器上下文。解码区块提供基于每个会话的FIFO有序解 码,W及在所有其他现有的解码会话之间的负载均衡。解码区块1622的输出为未加工的位 图或在虚拟流的情况下为位图及其相关联的R0I的列表。输出像素格式取决于编码。典型格 式有YUV 4:2:0或4:2:2。
[0138] 对于音频,存在类似的解码区块1622。
[0。9] 呈现区块
[0140] 图16显示呈现区块1614,该区块管理来自单个源设备的虚拟流的合成和显示。呈 现区块1614还提供音频/视频同步功能W及通过公用时钟源(图16的T)与其他会话的同步。 应注意,由于单个视频源可利用不同R0I和分辨率在多个窗口上显示,呈现区块提供用于视 频源的显示多路复用形式。如图16所示,一旦源视频帖被解码,然后其运行通过提供具体窗 口状态及合成的单独呈现区块子单元中的每个。
[0141] 在每个呈现区块1614中都有合成器区块,该合成器区块负责从解码的容器帖中获 取未加工的输出位图的列表,并使用后台缓冲区的当前R0I和分辨率将它们合成到显示窗 口的后台缓冲区中。用于将视频图像合成到后台缓冲区的方法的示例性伪码如下:
[0142]
[01创伪码示例
[0144] 拷贝和定标操作将从输入数据拷贝i叩utRoi,并将其扩展并写入输出数据中的 outputRoi。
[0145] 图17绘示了所应用的合成方法的示例。该示例使用Ξ个R0I。第一R0KR0I A)覆盖 整个源图像域,但其分辨率低。第二和第SROKB和C)覆盖源图像域的部分,但相对于从源 采样的多个像素有较高分辨率。在示例性合成方法中,R0I A,作为最低分辨率R0I,被首先 拷贝。拷贝包括找到当前查看的R0I的交叉点、拷贝R0I A的交叉域W及将其扩展W填充后 台缓冲区。在示例性场景中,接下来拷贝有较高分辨率的R0I B。找到查看域与R0I B的交叉 点,该交叉点被投影到后台缓冲区并被拷贝到后台缓冲区中的现有的R0I A数据上,因为 R0I B数据是更高的分辨率数据。对R0I C执行类似的过程,其中R0I C被拷贝到后台缓冲区 中的现有的R0I A数据上。
[0146] 在示例性实施例中,将R0I从最低分辨率合成至最高分辨率导致最高分辨率图像 数据被最后写入。生成从最高分辨率至最低分辨率的合成的方法将会导致R0I A覆盖R0I B 和R0I C,此将导致较低质量的视频图像。
[0147] 因此,
【申请人】已公开用于将使用不同编码参数编码的多个编码成流的系统和方 法。在公开的实施例中,视频源被编码W形成多个虚拟流,其中可W使用不同的参数对每个 虚拟流进行编码。从公用源视频帖编码的虚拟流被一起多路复用至容器帖,容器帖被传输 至服务器用于存储和/或呈现。
[0148] 尽管上述公开了方法和设备包括在硬件上执行的其他组件、软件,应该注意的是, 上述方法和设备仅是示例性的,且不应视为限制。例如,应考虑的是,任何或所有的运些硬 件和软件组件可仅被嵌入硬件、仅被嵌入软件、仅被嵌入固件或被嵌入硬件、软件和/或固 件的任意组合。因此,虽然W上描述了方法和装置,但本技术领域相关技术人员应理解所提 供的示例并非实施此方法和装置的唯一方式。例如,方法可被实施于包含处理器和微处理 器、专用集成电路(ASIC)和/或其他硬件组件的一个或多个计算机硬件中。
[0149] 应考虑的是,本发明论述的任何方面或实施例的任意部分可被实施,或可与本发 明论述的任何其他方面或实施例的任意部分相结合。
[0150] 关于包括例如关于图8-10和图13-15所述内容的本文中所述的方法,应理解的是, 在一些情况下,所述方法的组件部分可并非在本文中所述的顺序执行。并且,需要注意 的是,并非流程图中所述的所有块都需要被执行,可W加入附加块,也可将图中所示的部分 块用其他块代替。
[0151] 本发明已关于一个或多个实施例描述了各种系统和方法。但是,对本领域相关技 术人员显而易见的是,可在不脱离本发明的教示下做出多种变化和修改。例如,本发明的附 图和描述设及分离的摄像机118/视频源设备316和控制服务器102/302,在某些实施例中, 来自两个所述系统的功能可存在于单个系统中。例如,视频源设备316可W是提供关于摄像 机和图像采集器的本文中所述的所有功能W及关于控制服务器102的本文中所述的功能的 摄像机系统。在运样的实施例中,摄像机系统可W作为具有控制和与其他摄像机系统通信 的能力的服务器进行操作。
[0152]尽管已针对结构特征和/或方法性动作用语言描述本发明的主题,应当理解的是, 所附权利要求中定义的主题未必受限于上述具体特征或动作。相反,上述具体特征和动作 被公开作为实施权利要求的示例性形式。
【主权项】
1. 一种用于对源视频进行编码的方法,包括: 计算系统,接收源视频的源帧; 所述计算系统对所述源帧进行编码以形成多个虚拟帧,所述多个虚拟帧中的每个是使 用至少一个不同的编码参数被编码的;以及 所述计算系统通过网络传输容器帧,所述容器帧包括所述多个虚拟帧和适用于所述多 个虚拟帧中的每个的容器时间戳。2. 根据权利要求1所述的方法,其中,所述多个虚拟帧中的每个包括虚拟帧头,所述虚 拟帧头包括对虚拟帧中的每个进行定界的定界符。3. 根据权利要求1所述的方法,其中,所述多个虚拟帧在所述容器帧中被连接在一起。4. 根据权利要求1所述的方法,其中,所述容器帧包括容器帧头,所述容器帧头包括所 述容器时间戳。5. 根据权利要求1所述的方法,其中,所述源帧包括源帧时间戳,所述容器帧时间戳实 质上与所述源帧时间戳相同。6. 根据权利要求1所述的方法,其中,所述至少一个不同的编码参数选自包括所述源帧 的兴趣域、帧速率、视频质量、压缩比、量化参数、视频分辨率、压缩技术以及编码格式的组。7. 根据权利要求1所述的方法, 其中所述计算系统对所述源帧进行编码包括:视频源设备对所述源帧进行编码,以及 其中所述计算系统通过网络传输容器帧包括:所述视频源设备传输容器帧。8. 根据权利要求7所述的方法,其中,所述计算系统通过网络传输容器帧包括:通过网 络向控制服务器传输容器帧。9. 根据权利要求1所述的方法,其中,所述计算系统通过网络传输容器帧包括:所述计 算系统传输包含所述多个虚拟帧、描述所述多个虚拟帧的至少一个描述符以及适用于所述 多个虚拟帧中的每个的容器时间戳的容器帧。10. 根据权利要求1所述的方法,其中,所述计算系统对所述源帧进行编码以形成多个 虚拟帧包括:所述计算系统对与第一分辨率相对应的多个第一虚拟帧进行编码,以及对与 第二分辨率相对应的多个第二虚拟帧进行编码。11. 一种用于将数据成流的方法,包括: 控制系统通过网络从视频源系统接收所述视频源系统被配置以提供的多个虚拟流的 描述,多个编码中的每个包括所述虚拟流中的一个或多个; 所述控制系统从所述视频源系统接收数据流,所述数据流包括多个虚拟流;以及 所述控制系统将接收到的所述多个虚拟流中的每个与编码相关联。12. 根据权利要求11所述的方法,其中,所述控制系统将接收到的所述多个虚拟流中的 每个与编码相关联包括:所述控制系统应用接收到的所述描述中的信息以识别与编码相关 联的虚拟流。13. 根据权利要求11所述的方法,还包括:所述控制系统通过网络向所述视频源系统传 输对由所述视频源系统提供的多个虚拟流的描述的请求。14. 根据权利要求11所述的方法,其中,所述控制系统从所述视频源系统设备接收多个 虚拟流的描述包括:接收包含用于所述多个虚拟流中的每个的标识符的描述。15. 根据权利要求11所述的方法,其中,所述控制系统从所述视频源系统设备接收多个 虚拟流的描述包括:接收针对所述多个虚拟流中的每个包含被编码的源视频的区的指示的 描述。16. 根据权利要求11所述的方法,其中,所述控制系统从所述视频源系统设备接收多个 虚拟流的描述包括:接收包括用于所述多个虚拟流中的每个的编码参数的描述。17. -种用于将视频数据成流的方法,包括: 在服务器处,接收指定待被发送至客户端设备的编码的特征的客户端成流参数; 在所述服务器处,至少确定满足所述客户端成流参数的源帧的第一编码和第二编码, 所述第一编码和第二编码是使用至少一个不同的编码参数被编码的;以及 从所述服务器向所述客户端至少传输所述第一编码和所述第二编码。18. 根据权利要求17所述的方法,其中,所述至少一个不同的编码参数选自包括所述源 帧的兴趣域、帧速率、视频质量、压缩比、量化参数、视频分辨率、压缩技术以及编码格式的 组。19. 根据权利要求17所述的方法,其中,所述第一编码是使用第一兴趣域参数被编码 的,以及所述第二编码是使用第二兴趣域被编码的,其中所述第一兴趣域不同于所述第二 兴趣域。20. 根据权利要求19所述的方法, 其中所述第一兴趣域是所述第二兴趣域的子集,以及所述第一编码是以比所述第二编 码更高的分辨率被编码的。21. 根据权利要求17所述的方法,还包括: 在所述服务器处,至少确定满足所述客户成端流参数的所述源帧的第三编码,与所述 第一编码和所述第二编码相比,所述第三编码是使用至少一个不同的编码参数被编码的; 以及 从所述服务器向所述客户端至少传输所述第三编码。22. 根据权利要求21所述的方法, 其中所述第一编码是使用指定第一兴趣域和第一分辨率的参数被编码的,所述第二编 码是使用指定第二兴趣域和第二分辨率的参数被编码的,所述第三编码是使用指定第三兴 趣域和第三分辨率的参数被编码的; 其中所述第一兴趣域不同于所述第二兴趣域,且所述第三兴趣域包含所述第一兴趣域 和所述第二兴趣域;以及 其中所述第一分辨率和所述第二分辨率大于所述第三分辨率。23. 根据权利要求17所述的方法,还包括: 在服务器处,接收指定待被发送至客户端设备的编码的特征的第二客户端成流参数; 在所述服务器处,至少确定满足所述第二客户端成流参数的所述源帧的第三编码;以 及 从所述服务器向所述客户端至少传输所述第三编码。24. 根据权利要求23所述的方法, 其中所述第一编码是使用指定第一兴趣域和第一分辨率的参数被编码的,所述第二编 码是使用指定第二兴趣域和第二分辨率的参数被编码的,所述第三编码是使用指定第三兴 趣域和第三分辨率的参数被编码的; 其中所述第一兴趣域不同于所述第二兴趣域,且所述第三兴趣域包含所述第一兴趣域 和所述第二兴趣域;以及 其中所述第一分辨率和所述第二分辨率大于所述第三分辨率。25. -种用于显示视频数据的方法,包括: 计算系统接收从源视频帧生成的多个编码,所述多个编码包括所述源视频帧的第一兴 趣域的第一编码以及所述源视频帧的第二兴趣域的第二编码,所述第一兴趣域不同于所述 第二兴趣域;以及 所述计算系统在显示器上显示所述第一编码和所述第二编码。26. 根据权利要求25所述的方法,其中计算系统接收从源视频帧生成的多个编码包括: 接收包含多个虚拟帧以及适用于所有的所述虚拟帧的容器时间戳的容器帧,其中每个虚拟 帧与所述多个编码中的一个相对应。27. 根据权利要求26所述的方法,其中所述计算系统在显示器上显示所述第一编码和 所述第二编码包括:在显示器的相邻部分上显示所述第一编码和所述第二编码。28. 根据权利要求25所述的方法,其中,所述第一兴趣域和所述第二兴趣域至少部分重 置。29. 根据权利要求28所述的方法, 其中所述第一兴趣域是所述第二兴趣域的子集,且所述第一编码是以比所述第二编码 更高的分辨率被编码的;以及 其中所述计算系统在显示器上显示所述第一编码和所述第二编码包括:同时地显示所 述第一编码和所述第二编码。30. 根据权利要求25所述的方法, 其中所述多个编码进一步包括:所述源视频帧的第三兴趣域的第三编码,所述第三兴 趣域包含所述第一兴趣域和所述第二兴趣域; 其中所述第一编码是使用比用于对所述第一编码和所述第二编码进行编码的分辨率 小的分辨率被编码的; 其中所述计算系统在显示器上显示所述第一编码和所述第二编码还包括:显示所述第 三编码,所述第一编码和所述第二编码出现于所述第三编码的至少部分上。31. 一种显不系统,包括: 接收器,适于通过网络接收多个容器帧,每个容器帧包含多个虚拟帧和适用于所述多 个虚拟帧中的每个的容器时间戳,以及每个容器帧中的所述多个虚拟帧中的每个是使用至 少一个不同的编码参数编码自源帧的; 处理器,适于将每个容器帧内的接收到的所述多个虚拟帧中的第一选中帧与第一编码 相关联,并适于根据所述容器时间戳重建所述第一选中帧的第一虚拟流;以及 显示器,适于将所述第一虚拟流显示给用户。32. 根据权利要求31所述的显示系统,其中: 所述处理器进一步适于将每个容器帧内的接收到的所述多个虚拟帧中的第二选中帧 与第二编码相关联,并适于根据所述容器时间戳重建所述第二选中帧的第二虚拟流;以及 所述显示器适于将所述第一虚拟流和所述第二虚拟流均显示给用户。33. -种用于将视频数据成流的方法,包括: 在服务器处,接收指定待被发送至客户端设备的源帧的期望兴趣域的客户端成流参 数; 在所述服务器处,确定所述源帧的多个编码中满足所述客户端成流参数的一个或多个 编码,其中所述源帧的每个编码表示所述源帧的不同的编码的兴趣域;以及 从所述服务器向所述客户端,传输一个或多个已确定的编码。34. 根据权利要求33所述的方法,其中,所述一个或多个已确定的编码包括第一编码和 第二编码,所述方法进一步包括: 在所述服务器处,将所述第一编码和所述第二编码组合以创建与所述期望兴趣域的部 分相对应的合成编码; 其中所述传输包括组合形式的所述第一编码和第二编码。35. 根据权利要求34所述的方法,其中,所述第一编码的兴趣域和所述第二编码的兴趣 域至少部分重叠。
【文档编号】G06F7/04GK106068495SQ201480076505
【公开日】2016年11月2日
【申请日】2014年12月19日 公开号201480076505.4, CN 106068495 A, CN 106068495A, CN 201480076505, CN-A-106068495, CN106068495 A, CN106068495A, CN201480076505, CN201480076505.4, PCT/2014/71735, PCT/US/14/071735, PCT/US/14/71735, PCT/US/2014/071735, PCT/US/2014/71735, PCT/US14/071735, PCT/US14/71735, PCT/US14071735, PCT/US1471735, PCT/US2014/071735, PCT/US2014/71735, PCT/US2014071735, PCT/US201471735
【发明人】肖恩·P.·马拉特, 奥伦·谢尔, 彼得·W.·诺伊费尔德, 万·C.·阮, 西娜·艾佛鲁兹
【申请人】威智伦公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1