CN113302928B - 传输多视频流的系统和方法 - Google Patents

传输多视频流的系统和方法 Download PDF

Info

Publication number
CN113302928B
CN113302928B CN201880100415.2A CN201880100415A CN113302928B CN 113302928 B CN113302928 B CN 113302928B CN 201880100415 A CN201880100415 A CN 201880100415A CN 113302928 B CN113302928 B CN 113302928B
Authority
CN
China
Prior art keywords
key frame
video streams
keyframe
intervals
normalized
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
CN201880100415.2A
Other languages
English (en)
Other versions
CN113302928A (zh
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Publication of CN113302928A publication Critical patent/CN113302928A/zh
Application granted granted Critical
Publication of CN113302928B publication Critical patent/CN113302928B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel

Abstract

本申请涉及将多视频流传输至客户端的系统和方法。所述系统和所述方法可以包括获取包括至少两个视频流的多视频流,每个视频流包括以帧率和关键帧间隔为特征的多个关键帧。所述系统和所述方法可以包括基于至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定每个视频流的初始关键帧的延迟时间。所述系统和所述方法还可以包括基于每个视频流的初始关键帧的延迟时间,对至少两个视频流进行处理,确定对应视频流中的初始关键帧的期望发送时间。所述系统和所述方法还可以包括将至少两个已处理的视频流发送至客户端。

Description

传输多视频流的系统和方法
技术领域
本申请涉及多媒体传输技术,尤其涉及传输多视频流的系统和方法,以实现网络负载均衡。
背景技术
多媒体内容(例如,电影、电视广播、电影广播等)通常包含丰富的音频和视频信息,这些信息被用于各种行业中,例如,教育、娱乐、广告、安保等。多媒体内容通常通过传输网络或其他传送机制传送到客户终端。为了减少传输多媒体内容所需的带宽,可以使用一种或以上的压缩方案,例如,动态图像专家组2或4(MPEG-2或MPEG-4)、H.261、H.263、H.264、H.265等,将视频数据编码成包括多帧的流视频。视频流可以包括一个或以上关键帧(例如,帧间(I帧))、一个或以上非关键帧(例如,预测帧(P帧))等。可以对I帧进行编码,例如,通过不参考其他任何视频帧减少图像中的空间冗余。可以通过参考其他视频帧(例如,前一帧)来编码P帧以实现更高的压缩比。I帧通常用作参考帧,并为解码P帧提供基础。通常,I帧的数据量为P帧的数据量的8到10倍。
在视频监控领域中,使用网络视频录像机(NVR)或数字视频录像机(DVR)来观察至少两个场景。也就是说,NVR或DVR可以请求提取至少两个场景对应的至少两个视频流。由于I帧的数据量为P帧的数据量的8到10倍,如果不同视频流中的I帧在相同或相近的时间被发送,网络负载峰值速率可能会过高,造成大型网络波动,甚至超过网络负载容限。因此,期望提供用于多视频流传输的系统和方法,以实现网络负载均衡。
发明内容
本申请的一个方面,提供了一种将多视频流传输至客户端的系统。所述系统可以包括至少一个存储设备和与所述至少一个存储设备通信的至少一个处理器,所述至少一个存储设备可以包括一组指令,当执行该组指令时,所述至少一个处理器可以被配置为使系统执行以下操作:获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流可以包括以帧率和关键帧间隔为特征的多个关键帧,所述视频流的关键帧间隔可以是所述视频流中两个连续关键帧之间的帧数。所述至少一个处理器可以进一步被配置为使所述系统执行以下操作:基于所述至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;以及基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的所述初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间可以与将所述视频流的初始关键帧发送至客户端的时间对应。所述至少一个处理器可以进一步被配置为使所述系统执行以下操作,包括:将至少两个已处理的视频流发送至所述客户端。
在一些实施例中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器可以被配置为使所述系统执行以下附加操作:基于所述至少两个帧率和所述至少两个关键帧间隔,归一化所述至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔;以及基于所述至少两个归一化后的关键帧间隔,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
在一些实施例中,为了归一化所述至少两个关键帧间隔,所述至少一个处理器可以被配置为使系统执行以下附加操作:基于至少两个对应的帧率,确定与所述至少两个关键帧间隔对应的至少两个关键帧间隔时间;以及基于所述至少两个帧率确定参考时间。所述关键帧间隔时间可以是两个连续关键帧之间的传输时间。所述至少一个处理器还可以被配置为使所述系统执行以下附加操作:基于所述至少两个关键帧间隔时间和所述参考时间,确定所述至少两个归一化后的关键帧间隔。
在一些实施例中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器可以被配置为使所述系统执行以下附加操作:确定所述至少两个归一化后的关键帧间隔的最大公约数(GCD);以及基于所述至少两个归一化后的关键帧间隔的所述参考时间和所述GCD,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
在一些实施例中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:确定所述至少两个归一化后的关键帧间隔的最小公倍数(LCM);以及基于所述参考时间、所述GCD和所述至少两个归一化后的关键帧间隔的LCM,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
在一些实施例中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:基于预设规则对所述至少两个归一化后的关键帧间隔进行排序;以及基于排序结果确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
在一些实施例中,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:执行一次或以上迭代,所述一次或以上迭代中的每次可以包括:确定所述至少两个归一化后的关键帧间隔中是否存在至少两个相同的归一化后的关键帧间隔;响应于存在所述至少两个相同的归一化后的关键帧间隔,可以基于所述至少两个相同的归一化后的关键帧间隔,确定修改的关键帧间隔;和使用所述修改的关键帧间隔替换所述至少两个相同的归一化后的关键帧间隔中的至少一个,以更新所述至少两个归一化后的关键帧间隔。
在一些实施例中,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:确定所述至少两个归一化后的关键帧间隔中是否存在所述至少两个相同的归一化后的关键帧间隔;以及响应于所述至少两个归一化后的关键帧间隔中不存在相同的归一化后的关键帧间隔,终止所述一次或以上迭代。
在一些实施例中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:基于至少两个更新的归一化后的关键帧间隔,确定与所述至少两个更新的关键帧间隔中的每个对应的初始关键帧的延迟时间;对于所述至少两个相同的归一化后的关键帧间隔,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:确定与所述至少两个相同的归一化后的关键帧间隔中的每个对应的所述初始关键帧的相对延迟时间;以及基于与所述修改的关键帧间隔对应的所述初始关键帧的所述延迟时间和所述初始关键帧的相对延迟时间,确定与所述至少两个相同的归一化后的关键帧间隔中的每个对应的所述初始关键帧的所述延迟时间。
在一些实施例中,所述至少一个处理器可以进一步被配置为使所述系统执行以下附加操作:对所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间进行归一化处理。
在一些实施例中,为了处理所述至少两个视频流,所述至少一个处理器可以进一步被配置为执行以下的至少一个附加操作:重新编码所述至少两个视频流中的至少一个;在所述至少两个视频流中的至少一个中添加关键帧;和延迟所述至少两个视频流中的至少一个的传输。
在一些实施例中,所述至少一个处理器可以进一步被配置为使所述系统执行附加操作:从所述客户端接收用户请求,以提取所述至少两个视频流。
本申请的另一方面提供了一种将多视频流传输至客户端的方法。所述方法可以在具有至少一个处理器、至少一个计算机可读存储介质和连接到网络的通信平台的计算设备上实现。所述方法可以包括:获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流可以包括以帧率和关键帧间隔为特征的多个关键帧,所述视频流的关键帧间隔可以是所述视频流中两个连续关键帧之间的帧数。所述方法还可以包括:基于所述至少两个视频流的所述至少两个帧率和所述至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;以及基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的所述初始关键帧的期望发送时间,所述视频流中的所述初始关键帧的所述期望发送时间可以与将所述视频流的初始关键帧发送至客户端的时间对应。所述方法还可以包括:将至少两个已处理的视频流发送到所述客户端。
本申请的另一方面,提供了一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质可以包括至少一组指令,当计算设备的至少一个处理器被执行时,所述至少一组指令可以指示所述至少一个处理器执行以下操作:获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流包括以帧率和关键帧间隔为特征的多个关键帧,所述视频流的关键帧间隔是视频流中的两个连续关键帧之间的帧数;基于所述至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的所述初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间与将所述视频流的所述初始关键帧发送至客户端的时间对应;以及将至少两个已处理的视频流发送至所述客户端。
本申请的另一方面,提供了一种将多视频流传输至客户端的系统。所述系统可以包括:获取模块,被配置为获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流可以包括以帧率和关键帧间隔为特征的多个关键帧,所述视频流的关键帧间隔可以是视频流中两个连续关键帧之间的帧数。所述系统还可以包括确定模块,被配置为基于至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间。所述系统还可以包括处理模块,被配置为基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间可以与将所述视频流的所述初始关键帧发送至客户端的时间。所述系统还可以包括发送模块,被配置为将至少两个已处理的视频流发送至所述客户端。
本申请的一部分附加特征可以在以下描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特征对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各个方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。附图未按比例绘制。这些实施例并非限制性的,在这些实施例中,各图中相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的示例性多媒体内容处理系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理装置的框图;
图5是根据本申请的一些实施例所示的确定至少两个视频流中的每个视频流的初始关键帧的期望发送时间的示例性流程图;
图6是根据本申请的一些实施例所示的确定至少两个视频流中的每个视频流的初始关键帧的延迟时间的示例性流程图;
图7是根据本申请的一些实施例所示的确定至少两个视频流中的每个视频流的初始关键帧的延迟时间的示例流程图;
图8根据本申请的一些实施例所示的包括I帧和P帧的示例性视频流;
图9A是根据本申请的一些实施例所示的五个示例性视频流;
以及图9B是根据本申请的一些实施例所示的五个已处理的示例性视频流。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。然而,本领域技术人员应该明白,可以在没有这些细节的情况下实施本申请。在其他实施例中,对众所周知的方法、程序、系统、组件和/或电路进行了相对高层次的描述,没有详细说明,以避免不必要地模糊本申请的各方面。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
本申请中所使用的术语仅出于描述特定示例实施例的目的,而非限制性的。如本申请使用的单数形式“一”、“一个”及“该”同样可以包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中使用的术语“包括”、“包含”仅提示存在所述特征、整数、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其它特征、整数、步骤、操作、组件、部件和/或其组合的情况。
可以理解的是,本文中使用的术语“系统”、“单元”、“模块”和/或“区块”是用于按升序区分不同级别的不同构件、元件、零件、部分或组件的方法。然而,如果可以达到相同的目的,这些术语也可以被其他表达替换。
本申请中描述的模块(或单位、块、单元)可以实现为软件和/或硬件模块,并且可以存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,可以编译软件模块并将其链接至可执行程序中。可以理解的是,软件模块可以从其它模块或从其自身调用的,和/或可以响应于检测到的事件或中断而被调用。可以在计算机可读介质上提供配置于在计算设备上执行的软件模块,例如,光盘、数字影碟、闪存盘、磁盘或任何其他有形介质,或作为数字下载(并且可以最初以需要安装的压缩或可安装格式存储,解压或执行前解密)。此类软件代码可以部分或全部储存于执行计算设备的内存设备中,并且由计算设备执行。软件指令可以嵌入固件中,例如,可擦除可编程只读存储器。将进一步理解的是,硬件模块(例如,电路)可以被包括在连接或耦合的逻辑单元(例如,门和触发器)中,和/或可以被包括在可编程单元(例如,可编程门阵列或处理器)中。本申请描述的模块或计算设备功能优选地被实现为硬件模块,但是也可以被实现为软件模块。通常,本申请描述的模块是指逻辑模块,虽然它们是物理组织或存储,但是它们可以与其他模块组合或划分为单元。
通常,这里使用的单词“模块”、“子模块”、“单元”或“块”可以指包含在硬件或固件中的逻辑,或者对软件指令的集合。本文描述的模块、单元或块可以被实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,可以编译软件模块/单元/块并将其链接到可执行程序中。应当理解,软件模块可以从其他模块/单元/块或从它们自身调用,和/或可以响应检测到的事件或中断来调用。
配置用于在计算设备上执行的软件模块/单元/块可以在计算机可读介质上提供,例如光盘、数字视频光盘、闪存驱动器、磁盘或任何其他有形介质,或者作为数字下载(并且最初可以以压缩或可安装的格式存储,在执行之前需要安装、解压缩或解密)。这里的软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以嵌入固件中,例如,EPROM。还应当理解,硬件模块/单元/块可以包括在连接的逻辑组件中,例如门和触发器,和/或可以包括可编程单元,例如可编程门阵列或处理器。这里描述的模块/单元/块或计算设备功能可以实现为软件模块/单元/块,但是可以用硬件或固件表示。通常,这里描述的模块/单元/块指的是逻辑模块/单元/块,其可以与其他模块/单元/块组合或者分成子模块/子单元/子块,尽管它们是物理组织或存储器件。该描述可适用于系统、引擎或其一部分。
可以理解的是,除非上下文另有明确说明,当单元、引擎、模块或块被称为在另一单元、引擎、模块或块“上”、“连接”或“耦合至”另一单元、引擎、模块或块时,其可以直接在其它单元、引擎、模块或块上,与其连接或耦合或与之通信,或者可能存在中间单元、引擎、模块或块。在本申请中,术语“和/或”可包括任何一个或以上相关所列条目或其组合。
根据以下对附图的描述,本申请的这些和其它的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。
本申请涉及多视频流传输的系统和方法。所述系统和所述方法可以从客户端(例如,NVR或DVR)接收用户请求,以提取多个视频流。所述系统和所述方法可以获取包括至少两个视频流的多视频流。所述至少两个视频流中的每个视频流可以包括以帧率和关键帧间隔为特征的多个关键帧。视频流的帧率可以是指每秒显示或发送的帧数。视频流的关键帧间隔可以是视频流中的两个连续关键帧之间的帧数。在一些实施例中,关键帧间隔可以是时间的形式,即在两个连续关键帧之间间隔的时间。所述系统和所述方法还可以基于至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定至少两个视频流中的每个视频流的初始关键帧的延迟时间。所述系统和所述方法可以进一步基于所述至少两个视频流中的每个视频流的初始关键帧的延迟时间,对所述两个视频流进行处理,确定对应视频流中的初始关键帧的期望发送时间。视频流中初始关键帧的期望发送时间可以与将视频流的初始关键帧发送至客户端的时间对应。所述系统和所述方法可以将至少两个已处理的视频流发送至客户端。在本申请的系统和方法的一些实施例中,至少两个视频流中的关键帧的传输时间可以错开,从而实现网络负载均衡。
以下描述针对安全监控的至少两个场景中获取的至少两个视频流展开。应当理解,该示例性应用是出于说明目的,并不旨在限制本申请的范围。本申请所公开的系统和方法可以用于安全监控以外的领域。例如,所述系统和所述方法可以用于涉及包含视频流的多个复馈的新闻室。视频流可以根据例如,H.264标准、H.265标准等生成。作为另一个示例,所述系统和所述方法可以用于周期性地传输一个或以上数据流。一个或以上数据流可以包括视频数据、音频数据、图像数据等。
图1根据本申请的一些实施例所示的示例性多媒体内容处理系统100的示意图。多媒体内容处理系统100可以被配置为同步多媒体内容中的音频和视频。多媒体内容处理系统100可以包括获取设备110、网络120、终端130、处理设备140和存储设备150。多媒体内容处理系统100的组件可以以一种或以上方式彼此连接。仅作为示例,如图1所示,获取设备110可以经由网络120连接到处理设备140。作为另一示例,获取设备110可以直接连接到处理设备140,如连接获取设备110和处理设备140的虚线中的双向箭头所示。作为另一示例,存储设备150可以直接或通过网络120连接到处理设备140。作为又一个示例,终端130可以直接连接到处理设备140(如连接终端130和处理设备140的虚线中的双向箭头指示)或通过网络120连接。
获取设备110可以被配置为获取一个或以上类型的多媒体内容。多媒体内容可以包括电影、电视广播、电影回放等。多媒体内容可以包括音频和/或视频组件。为了减少传输多媒体内容所需的带宽,可以使用一种或以上压缩方案将视频组件编码成流视频,例如,运动图像专家组2或4(MPEG-2或MPEG-4)、H.261、H.263、H.264、H.265等。视频流可以包括一个或以上关键帧(例如,帧间(I帧))、一个或以上非关键帧(例如,预测帧(P帧))等。获取设备110可以包括一个或以上相机。在一些实施例中,获取设备110可以是数码相机、摄像机、安全摄像机、网络摄像机、智能手机、平板电脑、膝上型计算机、配备有网络摄像头的视频游戏控制台、具有多个镜头的相机、摄像机等。
网络120可以促进信息和/或数据的交换。在一些实施例中,多媒体内容处理系统100的一个或以上组件(例如,获取设备110、终端130、处理设备140、存储设备150)可以通过网络120向多媒体内容处理系统100中的另一个组件发送信息和/或数据。例如,处理设备140可以处理通过网络120从获取设备110获取的图像。作为另一示例,获取设备110可以通过网络120从终端130获取用户指令。在一些实施例中,网络120可以是任何类型的有线或无线网络,或其组合。仅仅是示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、大都市区域网络(MAN)、广域网(WAN)、公共电话交换网络(PSTN)、BluetoothTM网络、ZigbeeTM网络、近场通信(NFC)网络等等,或其任何组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括例如,基站和/或因特网交换点120-1、120-2等有线或无线网络接入点,通过这些接入点,多媒体内容处理系统100的一个或以上组件可以连接到网络120以交换数据和/或信息。
终端130包括移动设备130-1、平板计算机130-2、膝上型计算机130-3等或其任何组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴装置可以包括手镯、鞋、眼镜、头盔、手表、衣服、背包、配件,或类似物品,或其任何组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括谷歌眼镜TM、虚拟现实眼镜TM、全息透镜TM、虚拟现实头盔TM等。在一些实施例中,终端130可以远程控制获取设备110。在一些实施例中,终端130可以通过无线连接控制所述获取设备110。在一些实施例中,所述终端130可以接收用户输入的信息和/或指令,并通过网络120将接收信息和/或指令发送到获取设备110或处理设备140。在一些实施例中,终端130可以是处理设备140的一部分。在一些实施例中,可以省略所述终端130。
在一些实施例中,处理设备140可以处理从获取设备110、终端130或存储设备150获取的数据。例如,处理设备140可以获取包括至少两个视频流的多视频流。作为另一示例,处理设备140可以确定至少两个视频流中的每个视频流的初始关键帧的延迟时间。处理设备140可以是中央处理单元(CPU)、数字信号处理器(DSP)、芯片(SOC)上的系统、微控制器单元(MCU)等,或其任何组合。在一些实施例中,处理设备140可以是单个服务器或服务器组。服务器组可以是集中式或分布式的。在一些实施例中,处理设备140可以是多媒体内容处理系统100的一个或以上其他组件的本地或远程设备。例如,处理设备140可以通过网络120访问存储在获取设备110、终端130和/或存储设备150中的信息和/或数据。作为另一示例,处理设备140可以直接连接到获取设备110、终端130和/或存储设备150,以访问存储的信息和/或数据。在一些实施例中,处理设备140可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
存储设备150可以存储数据和/或指令。在一些实施例中,存储设备150可以存储从获取设备110、终端130和/或处理设备140获取的数据或图像。在一些实施例中,存储设备150可以存储数据和/或指令,处理设备140可以执行或使用这些数据和/或指令来执行本申请中所述的示例性方法。在一些实施例中,存储设备150可以包括大容量存储、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任何组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDRSDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除的可编程ROM(PEROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备150可以连接到网络120,以与多媒体内容处理系统100的一个或以上组件(例如,获取设备110、终端130、处理设备140)通信。多媒体内容处理系统100中的一个或以上组件可以通过网络120访问存储在存储设备150中的数据或指令。在一些实施例中,存储设备150可以直接连接到多媒体内容处理系统100中的一个或以上组件(例如,获取设备110、终端130、处理设备140)。在一些实施例中,存储设备150可以是获取设备110或处理设备140的一部分。
图2是根据本申请的一些实施例所示的计算设备200的示例性硬件和/或软件组件的示意图。在一些实施例中,获取设备110、终端130、处理设备140可以在计算设备200上实现。例如,处理设备140可以在计算设备200上实现,并且被配置为执行本申请中披露的处理设备140的功能。
计算设备200可以是用于实现本申请的多媒体内容处理系统的专用计算机。计算设备200可用于实现如本文所述的多媒体内容处理系统的任何组件。例如,处理设备140可以通过其硬件、软件程序、固件或其组合在计算装置上实施。尽管仅示出了一台这样的计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现如本文所述的图像处理有关的计算机功能,以分配处理负载。
例如,计算设备200可以包括COM端口250,该端口250连接到和/或来自与其连接的网络,以便数据通信。计算设备200还可以包括一个或以上处理设备(或CPU)的形式的处理设备220,用于执行程序指令。示例性计算设备可以包括内部通信总线210、不同类型的程序存储单元和数据存储单元(例如,磁盘270、只读存储器(ROM)230、随机存取存储器(RAM)240)、适用于计算机处理和/或通信的各种数据文件。示例性计算设备也可以包括储存于ROM230、RAM240和/或其他形式的能够被处理设备220执行的非暂时性存储介质中的程序指令。本申请的方法和/或过程可以实现为程序指令。计算设备200还包括I/O设备260,其可以支持计算设备200和其他组件之间的数据流的输入和/或输出。计算设备200还可以通过通信网络接收程序和数据。
仅用于说明,在计算设备200中仅描述了一个CPU和/或处理设备。然而,应该注意,本申请中的计算设备200还可以包括多个CPU和/或处理设备,因此,本申请所述的一个CPU和/或处理设备执行的操作和/或方法步骤,也可以由多个CPU和/或处理设备共同或单独执行。例如,如果在本申请中,计算设备200的CPU和/或处理设备执行步骤A和步骤B,则应理解,步骤A和步骤B也可以由两个不同的CPU和/或处理器联合或者在计算设备200中单独执行(例如,第一处理设备执行操作A和第二处理设备执行操作B,或者第一和第二处理设备联合执行操作A和B)。
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图。在一些实施例中,移动设备300可以是对应于终端130的示例性实施例。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、存储器360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作系统370(例如,iOSTM,AndroidTM,Windows PhoneTM等)和一个或以上应用程序380可以从存储器390加载到存储器360中,以便由CPU340执行。应用程序380可以包括浏览器或任何其他合适的移动应用,用于接收和呈现与来自多媒体内容处理系统100的图像处理或其他信息有关的信息。用户与信息流的交互可以通过I/O350实现,并提供给存储设备150,获取设备110和/或多媒体内容处理系统100的其他组件。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口元素的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可以充当系统。
图4是根据本申请的一些实施例的示例性处理设备的框图。处理设备140可以包括获取模块402、确定模块404、处理模块406和传输模块408。这些模块可以是处理设备140的所有或部分的硬件电路。模块还可以被实现一个应用程序,或一组由处理设备140读取和执行的指令。此外,模块可以是硬件电路和应用程序/指令的任何组合。例如,当处理设备140正在执行应用程序/一组指令时,模块可以是处理设备140的一部分。
获取模块402可以被配置为获取与多媒体内容处理系统100相关的信息和/或数据。在一些实施例中,获取模块402可以获取包括至少两个视频流的多视频流。至少两个视频流中的每个视频流可以根据某个压缩方案进行编码,并且每个视频流可以包括多个关键帧(例如,I帧)。在一些实施例中,每个视频流中的多个关键帧可以通过帧率和关键帧间隔来表征。视频流的帧率可以指每秒显示或发送的帧(或图片)的数量。视频流的关键帧间隔可以是视频流中的两个连续关键帧之间的帧数。在一些实施例中,关键帧间隔可以是时间的形式,即在两个连续关键帧之间间隔的时间。例如,两个连续关键帧对应于两个时间点,关键帧间隔可以是两个时间点之间的时间,即两个时间点之间的时间差。在一些实施例中,获取模块402可以从多媒体内容处理系统100的一个或多个组件获取多视频流,例如,获取设备110、终端130、存储设备(例如,存储设备150)等,或其任何组合。可选地或另外地,获取模块402可以通过网络120从外部源(例如,云盘)获取多视频流。
确定模块404可以被配置为确定至少两个视频流中的每个视频流的初始关键帧的延迟时间。其中,“视频流的初始关键帧”可以是指当传输视频流时视频流的第一关键帧。其中,“初始关键帧的延迟时间”可以是指初始关键帧相对于对应视频流中的传输开始时间的期望延迟时间。在一些实施例中,不同视频流中的初始关键帧的延迟时间可以不同,使得至少两个视频流中的关键帧的传输时间可以错开。在一些实施例中,确定模块404可以基于至少两个帧率和至少两个视频流的至少两个关键帧间隔,确定每个视频流的初始关键帧的延迟时间。关于确定每个视频流中初始关键帧的延迟时间的更多描述可以在本申请披露的其他地方找到(例如,过程600和/或过程700及其描述)。
处理模块406可以被配置为基于每个视频流的初始关键帧的延迟时间,对至少两个视频流进行处理,确定对应视频流中的初始关键帧的期望发送时间。视频流的初始关键帧的期望发送时间可以与响应于用户请求,将视频流的初始关键帧发送至客户端的时间对应。在一些实施例中,为了在视频流中实现初始关键帧的期望发送时间,处理模块406可以根据一种或多种方法处理视频流,例如,对视频流重新编码、在视频流中添加关键帧、延迟视频流的传输等。
传输模块408可以被配置为将至少两个已处理的视频流发送至客户端。至少两个已处理的视频流中的关键帧的传输时间可以错开。当发送已处理的视频流时,可以均衡网络负载,并且可以减少或避免网络波动。已处理的视频流可以(基本上)同时在客户端上显示,以实现在视频流中获取的多个场景的监控。
处理设备140中的模块可以通过有线连接或无线连接彼此连接或通信。有线连接可以包括金属电缆、光缆、混合电缆等或其任何组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。
应当注意的是,以上描述仅出于说明的目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本申请的范围。在一些实施例中,处理设备140还可以包括一个或以上附加模块。例如,处理设备140还可以包括存储模块(图4中未示出),其被配置为存储由处理设备140的一个或以上模块生成的数据。作为另一示例,处理设备140还可以包括被配置为从客户终端接收用户请求的接收模块(图4中未示出)。用户请求可以用于请求提取至少两个视频流。
在视频监控领域中,为了减少传输视频数据所需的带宽,可以根据压缩方案将视频数据编码成包括多帧的流视频。示例性的压缩方案可以包括运动图像专家组2或4(MPEG-2或MPEG-4)、H.261、H.263、H.264、H.265等。视频流可以包括一个或以上关键帧(例如,帧间(I帧))、一个或以上非关键帧(例如,预测帧(P帧))等。例如,I帧可以不参考其他任何视频帧被编码,以减少图片中的空间冗余。P帧可以通过参考其他视频帧(例如,前一帧)被编码,以实现更高的压缩比。图8根据本申请的一些实施例所示的包括I帧和P帧的示例性视频流。如图8所示,I帧的数据量大约为P帧的数据量的8到10倍。I帧周期性地出现在视频流中。在一些实施例中,两个连续的I帧之间的帧可以被称为一组图片(GOP)。也就是说,GOP可以从I帧开始,并在视频流的下一个I帧之前立即结束(例如,如图8所示的GOP)。GOP可以包括多帧,包括一个I帧和一个或以上P帧。在一些实施例中,GOP中的帧数(也称为GOP的长度)可以根据,例如,用于传输视频流的调制方案,而变化。例如,用于NTSC调制的GOP可以包括15帧,而用于PAL调制的GOP可以包括12帧。应当注意,一个GOP可以有其他数量的帧数,例如8、10、13、20、25、30、50、75等。
在一些实施例中,网络视频记录器(NVR)或数字视频记录器(DVR)可用于观察或监控由至少两个摄像机获取的至少两个场景。也就是说,NVR或DVR可以请求提取至少两个场景对应的至少两个视频流。视频流可以对应于视频通道。在一些实施例中,至少两个视频信道可以在具有高带宽的单个电缆介质或无线网络上复用。如上所述,I帧的数据量可以大于P帧的数据量(例如,P帧的数据量的8至10倍)。因此,I帧可能对网络传输具有相对较大的影响。如果不同视频流中的I帧在同一时间或者彼此接近的时间传输,可能会导致网络负载峰值率过高,从而导致网络波动较大,甚至超过网络负载容限。因此,希望错开不同视频流中的I帧的传输时间,以均衡网络负载。
图5是根据本申请的一些实施例所示的确定至少两个视频流中的每个视频流的初始关键帧的期望发送时间的示例性流程图。仅用于说明目的,处理设备140被描述为执行过程500的主体。然而,本领域普通技术人员可以理解,过程500也可以由其他实体执行。例如,本领域的普通技术人员可以理解,过程500的至少一部分也可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,如图1所示,过程500的一个或以上操作可以在多媒体内容处理系统100中实现。在一些实施例中,过程500中的一个或以上操作可以以指令的形式存储在存储设备150和/或存储器(例如,ROM230、RAM240等)中,并且由处理设备140(例如,处理设备140的处理器220)调用和/或执行,或处理设备140的一个或以上模块)。在一些实施例中,指令可以以电子电流或电信号的形式传输。
在一些实施例中,处理设备140可以从客户端(例如,终端130)接收用户请求。在一些实施例中,客户端可以是NVR或DVR。用户请求可以用于提取至少两个视频流,例如,提取五个视频流。响应于用户请求,处理设备140可以执行以下一个或多个操作,以使至少两个视频流中的关键帧(即,I帧)的传输时间错开,使得网络负载可以均衡和/或平衡。
在步骤501中,处理设备140(例如,获取模块402)可以获取包括至少两个视频流的多视频流。至少两个视频流可以对应于客户端(例如,终端130)所请求的视频流。至少两个视频流中的每个视频流可以根据某个压缩方案进行编码,例如,运动图像专家组2或4(MPEG-2或MPEG-4)、H.261、H.263、H.264、H.265等。一个视频流可以包括多个关键帧(例如,I帧)。视频流中的多个关键帧可以周期性地出现。在一些实施例中,视频流中的多个关键帧可以由帧率和关键帧间隔来表征。视频流的帧率可以指每秒显示或发送的帧(或图片)的数量。不同视频流中的帧率可能不同。例如,第一视频流中的帧率可以是25,而第二视频流中的帧率可以是30。视频流的关键帧间隔可以是视频流中的两个连续关键帧之间的帧数,也可以被称为GOP的长度。在不同的视频流中,关键帧间隔可能是不同的。例如,在第一视频流中,关键帧间隔可以是25,而在第二视频流中,关键帧间隔可以是75。在一些实施例中,关键帧间隔可以被设置为合适的值。如果关键帧间隔相对较小,则可能导致网络资源的浪费。在一些实施例中,关键帧(例如,I帧)可以用作GOP的参考帧。如果关键帧间隔相对较大,一旦关键帧被破坏,则GOP中的所有帧不能被解码,可能导致视频抖动。
在一些实施例中,处理设备140可以从多媒体内容处理系统100的一个或以上组件获取多视频流,例如,获取设备110、终端130、存储设备(例如,存储设备150)等。另外,处理设备140可以通过网络120从外部源(例如,云盘)获取多视频流。
在步骤503中,处理设备140(例如,确定模块404)可以基于至少两个视频流中的至少两个帧率和至少两个关键帧间隔,确定至少两个视频流中的每个视频流的初始关键帧的延迟时间。应当注意,由于至少两个视频流中的每个视频流的关键帧可能周期性地出现,因此,至少两个视频流中的关键帧也可以具有周期性,该周期可以称为传输周期。因此,处理设备只需要确保至少两个视频流中的关键帧在传输周期内基本上均匀地分布即可。为了在传输周期内均衡至少两个视频流中的关键帧的分布,处理设备140可以确定至少两个视频流中的每个视频流的初始关键帧的延迟时间。其中,当传输视频流时,“视频流中的初始关键帧”可以是指传输视频流时,视频流中的第一关键帧。在一些实施例中,初始关键帧可以对应于视频流中的第一帧。或者,初始关键帧可以对应于除视频流中的第一帧以外的帧。例如,视频流可以包括在视频流的初始关键帧之前的一个或以上非关键帧(例如,P帧)。这里,“初始关键帧的延迟时间”可以指初始关键帧相对于对应视频流的传输开始时间的期望延迟时间。在一些实施例中,不同视频流中的初始关键帧的延迟时间可以是不同的,使得至少两个视频流中的关键帧的传输时间可以错开。
在一些实施例中,为了确定至少两个视频流中的每个视频流的初始关键帧的延迟时间,处理设备140可以基于至少两个帧率和至少两个关键帧间隔,归一化至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔。处理设备140可以基于至少两个归一化后的关键帧间隔确定每个视频流的初始关键帧的延迟时间。关于确定每个视频流中的初始关键帧的延迟时间的更多描述可以在本申请的其他地方找到(例如,过程600和/或过程700,及其描述)。
在步骤505中,处理设备140(例如,处理模块406)可以基于至少两个视频流中的每个视频流的初始关键帧的延迟时间,对至少两个视频流进行处理,确定对应视频流中的初始关键帧的期望发送时间。视频流的初始关键帧的期望发送时间可以与响应于用户请求,将视频流的初始关键帧发送至客户端(例如,终端130)的时间对应。在一些实施例中,视频流的初始关键帧的期望发送时间可以取决于初始关键帧的延迟时间以及传输视频流的时间。例如,如果视频流中初始关键帧的延迟时间为1S,则初始关键帧的期望发送时间可以对应于视频流传输后的1S。具体地,当在9:00:00发送视频流时,初始关键帧的期望发送时间可以是9:00:01。如果视频流中的初始关键帧的延迟时间为0s,则初始关键帧的期望发送时间可以与视频流的开始传输时间一致。
在一些实施例中,为了确定视频流中的初始关键帧的期望发送时间,处理设备140可以根据一种或多种方法处理视频流,例如,重新编码视频流、在视频流中添加或插入关键帧、延迟视频流的传输等,或其组合。例如,如果初始关键帧的延迟时间为0.5s,且帧率为30,则处理设备140可以对视频流进行编码,使得第15帧为初始关键帧。作为另一示例,如果初始关键帧的延迟时间为1S,且帧率为25,则处理设备140可以在第25帧处添加关键帧。通过不参考其他任何视频流来编码添加的关键帧,可以减少视频流的第25张图片中的空间冗余。作为另一示例,如果初始关键帧的延迟时间为0.3s,且视频流中的第一帧是初始关键帧,则处理设备140可以将视频流的传输延迟0.3s。在一些实施例中,对于至少两个视频流,可以仅应用一种方法确定每个视频流中的初始关键帧的期望发送时间。可选地或另外地,对于至少两个视频流,可以应用两种或以上方法来确定每个视频流中的初始关键帧的期望发送时间。例如,可以通过对第一视频流重新编码确定第一视频流中的初始关键帧的期望发送时间,而通过延迟第二视频流的传输确定第二视频流中的初始关键帧的期望发送时间。应当注意,上述实施例仅用于说明目的,并不旨在限制本公开的范围。
在步骤507中,处理设备140(例如,传输模块408)可以将至少两个已处理的视频流发送至客户端。至少两个已处理的视频流中的关键帧的传输时间可以错开。当发送已处理的视频流时,可以均衡网络负载并且可以减少或避免网络波动。已处理的视频流可以(基本上)同时在客户终端上显示,以实现例如,在视频流中获取的多个场景的监控。
在本申请的一些实施例中,可以通过确定每个视频流的初始关键帧的延迟时间,实现至少两个视频流中的关键帧的基本均匀分布,以均衡网络负载并减少网络波动。
应当注意,以上关于过程500的上述描述仅用于说明目的,而不是为了限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本申请的范围。在一些实施例中,当客户端请求的视频流的数量发生变化时(例如,添加一个与新场景对应的视频流,关闭一个与现有场景对应的视频流),处理设备140可以重复以执行过程500。
图6是根据本申请的一些实施例所示的确定至少两个视频流中的每个视频流的初始关键帧的延迟时间的示例性流程图。仅用于说明目的,处理设备140可以被描述为执行过程600的主体。然而,本领域普通技术人员将理解,过程600也可以由其他实体执行。例如,本领域的普通技术人员将理解,过程600的至少一部分也可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,过程600的一个或以上操作可以在多媒体内容处理系统100中实现,如图1所示。在一些实施例中,过程600中的一个或以上操作可以以指令的形式存储在存储设备150和/或存储器(例如,ROM230、ROM230、RAM240等)中,并由处理设备140(例如,处理设备140的处理设备220,或处理设备140的一个或以上模块)调用和/或执行。在一些实施例中,指令可以以电子电流或电信号的形式传输。在一些实施例中,步骤503可以根据过程600执行。
如过程500的步骤503所述,至少两个视频流的关键帧也可以具有周期性,这个周期也可以称为传输周期。为了均衡至少两个视频流的关键帧的分布,处理设备可以只均衡与一个传输时段对应的至少两个视频流中的关键帧的分布。在一些实施例中,通过执行以下一个或多个操作,处理设备140可以均衡与一个传输周期对应的至少两个视频流的关键帧的分布。
在步骤601中,处理设备140(例如,确定模块404)可以基于至少两个帧率和至少两个关键帧间隔,归一化至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔。
在一些实施例中,为了归一化关键帧间隔,处理设备140可以基于至少两个对应的帧率,确定与至少两个关键帧间隔对应的至少两个关键帧间隔时间。在一些实施例中,关键帧间隔时间可以是两个连续关键帧之间的传输时间。仅作为示例,处理设备140可以根据如下公式(1)确定与至少两个视频流对应的至少两个关键帧间隔时间:
Ti,1≤i<<k=ni/fi, (1)
其中k为视频流的数量(k为整数);i为第i个视频流(i为整数);ni表示第i个视频流的关键帧间隔;fi表示第i个视频流的帧率;Ti表示第i个视频流的关键帧间隔时间。
在一些实施例中,处理设备140可以基于至少两个帧率,确定参考时间。参考时间可以被认为是用于归一化关键帧间隔的标准。仅作为示例,处理设备140可以根据如下的公式(2)确定参考时间:
t=1/LCM(f1,f2,…,fk), (2)
其中,t表示参考时间,LCM(f1,f2,…,fk)为至少两个视频流对应的至少两个帧率的最小公倍数(LCM)。
在一些实施例中,处理设备140可以基于至少两个关键帧间隔时间和参考时间,确定至少两个归一化后的关键帧间隔。仅作为示例,处理设备140可以根据如下公式(3)确定至少两个归一化后的关键帧间隔:
Ni,1<<i<<k=Ti/t, (3)
其中,Ni表示第i个归一化后的关键帧间隔。
出于说明目的,假设可能有五个视频流。对于第一视频流,帧率f1可以是25,并且关键帧间隔n1可以是25。对于第二视频流,帧率f2可以是25,并且关键帧间隔n2可以是50。对于第三视频流,帧率f3可以是30,并且关键帧间隔n3可以是30。对于第四视频流,帧率f4可以是50,关键帧间隔n4可以是75。对于第五视频流,帧率f5可以是50,并且关键帧间隔n5可以是60。处理设备140可以根据公式(1)确定五个视频流中的每个视频流的关键帧间隔时间。具体地,第一视频流的关键帧间隔时间可以是
Figure GDA0003125303890000231
第二视频流的关键帧间隔时间可以是
Figure GDA0003125303890000232
第三视频流的关键帧间隔时间可以是
Figure GDA0003125303890000233
Figure GDA0003125303890000234
第四视频流的关键帧间隔时间可以是
Figure GDA0003125303890000235
第五视频流的关键帧间隔时间可以是
Figure GDA0003125303890000236
处理设备140可以根据公式(2)确定五个视频流的参考时间。具体地,参考时间可以是
Figure GDA0003125303890000237
Figure GDA0003125303890000238
然后,处理设备140可以根据公式(3)确定五个视频流中的每个视频流的归一化后的关键帧间隔。具体地,第一视频流的归一化后的关键帧间隔可以是
Figure GDA0003125303890000239
第二视频流的归一化后的关键帧间隔可以是
Figure GDA00031253038900002310
第三视频流的归一化后的关键帧间隔可以是
Figure GDA0003125303890000241
第四视频的归一化后的关键帧间隔可以是
Figure GDA0003125303890000242
Figure GDA0003125303890000243
并且第五视频流的归一化后的关键帧间隔可以是
Figure GDA0003125303890000244
Figure GDA0003125303890000245
应当注意,上述关键帧间隔的归一化方法仅仅是为了说明的目的而提供的,并不旨在限制本申请的范围。在一些实施例中,处理设备140可以根据另一种方法归一化至少两个关键帧间隔。关键帧间隔的归一化可以实现对应关键帧间隔时间的离散化,便于后续计算。应当理解,步骤601可以省略,并且可以不需要对至少两个关键帧间隔进行归一化,相应的关键帧间隔时间可以直接用于后续计算。可替代地或另外地,处理设备140可以归一化至少两个关键帧间隔以外的至少两个帧率,以实现对应关键帧间隔时间的离散化。
在步骤603中,处理设备140(例如,确定模块404)可以确定至少两个归一化后的关键帧间隔的最大公约数(GCD)。GCD可以是指至少两个视频流中的关键帧不重复的最大间隔。仅作为示例,处理设备140可以根据如下公式(4)确定GCD:
GCD=GCD(N1,N2,…,NK), (4)
在一些实施例中,对于上述五个视频流,可以根据公式(4)确定GCD即,GCD=GCD(N1,N2,…,NK)=15。
在步骤605中,处理设备140(例如,确定模块404)可以确定至少两个归一化后的关键帧间隔的最小公倍数(LCM)。在一些实施例中,LCM可以反映多个视频流的传输周期。仅作为示例,处理设备140可以根据如下公式(5)确定LCM:
LCM=LCM(N1,N2,…,NK), (5)
在一些实施例中,对于上述五个视频流,可以根据公式(5)确定LCM,即,LCM=LCM(N1,N2,N3,N4,N5)=900。
在步骤607中,处理设备140(例如,确定模块404)可以根据预设规则对至少两个归一化后的关键帧间隔进行排序。在一些实施例中,处理设备140可以对归一化后的关键帧间隔进行排序,以优化和/或均衡至少两个视频流中的关键帧的分布。也即,至少两个视频流中的关键帧可以在一个传输周期内基本上均匀地分布,而不是集中在传输周期的某一部分。预设规则可以是多媒体内容处理系统100的默认设置。在一些实施例中,用户可以通过客户端(例如,终端130)预设或调整预设规则。
在一些实施例中,预设规则可以是将至少两个视频流的奇数序列号对应的归一化后的关键帧间隔从小到大排列,与至少两个视频流的偶数序列数对应的归一化后的关键帧间隔从大到小排列。或者,预设规则可以是将与至少两个视频流的奇数序列号对应的归一化后的关键帧间隔从大到小排列,与至少两个视频流的偶数序列号对应的归一化后的关键帧间隔从小到大排列。在一些实施例中,对于上述五个视频流,如果五个视频流的奇数序列号对应的归一化后的关键帧间隔从大到小排列,五个视频流的偶数序列号对应的归一化后的关键帧间隔从小到大排列,归一化后的关键帧间隔的排序可以是
Figure GDA0003125303890000253
Figure GDA0003125303890000254
Figure GDA0003125303890000255
应当注意,以上对预设规则的描述仅用于说明目的,并且不旨在限制本申请的范围。
在步骤609中,处理设备140(例如,确定模块404)可以基于参考时间、GCD和/或排序后的至少两个归一化后的关键帧间隔的LCM,确定至少两个视频流中的每个视频流的初始关键帧的延迟时间。在一些实施例中,处理设备140可以根据如下公式(6)确定每个视频流的初始关键帧的延迟时间:
Dj,1<<j<<k=t*(LCM+GCD)*(j-1)/k, (6)
其中,j表示排序后的归一化后的关键帧间隔的序列号(j为整数);Dj表示排序后的第j个归一化后的关键帧间隔对应的初始关键帧的延迟时间。
在一些实施例中,对于上述五个视频流,排序后的第1个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000251
Figure GDA0003125303890000252
排序后的第2个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000261
Figure GDA0003125303890000262
排序后的第3个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000263
排序后的第4个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000264
Figure GDA0003125303890000265
排序后的第5个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000266
Figure GDA0003125303890000267
在步骤611中,处理设备140(例如,确定模块404)对至少两个视频流中的每个视频流的初始关键帧的延迟时间进行归一化处理。在一些实施例中,视频流中的关键帧可以具有周期性。当视频流中的初始关键帧的延迟时间大于视频流的关键帧间隔时间时,一个或以上关键帧可以存在于延迟时间内,而不影响至少两个视频流中关键帧的基本均匀分布。仅作为示例,如果视频流中的初始关键帧的延迟时间为21S,则视频流的关键帧间隔时间为10S。在延迟时间内可能存在两个关键帧,即,一个关键帧的延迟时间为1s,一个关键帧的延迟时间为11s。在一些实施例中,处理设备140可以根据如下公式(7)对每个视频流中的初始关键帧的延迟时间进行归一化处理:
D′j,0<<j<<k=D′j,0<<j<<kmod Tj, (7)
其中,“mod”表示余数运算符;Tj表示排序后的第j个归一化后的关键帧间隔对应的关键帧间隔时间;以及D′j表示排序后的第j个归一化后的关键帧间隔对应的初始关键帧的归一化后的延迟时间。
在一些实施例中,对于上述五个视频流,排序后的第1个归一化后的关键帧间隔对应的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000268
Figure GDA0003125303890000269
排序后的第2个归一化后的关键帧间隔对应的初始关键帧的归一化后的延迟时间可以是
Figure GDA00031253038900002610
排序后的第3个归一化后的关键帧间隔对应的初始关键帧的归一化后的延迟时间可以是
Figure GDA00031253038900002611
排序后的第4个归一化后的关键帧间隔对应的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000271
并且排序后的第5个归一化后的关键帧间隔对应的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000272
应当注意,上面的关于过程600的描述仅用于说明目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本申请的范围。在一些实施例中,步骤607可以省略,并且归一化后的关键帧间隔可以不需要排序。处理设备140可以基于参考时间、GCD和/或至少两个归一化后的关键帧间隔的LCM,确定每个视频流的初始关键帧的延迟时间。在一些实施例中,步骤611可以省略,并且每个视频流中的初始关键帧的延迟时间可以不需要进一步归一化。
在一些实施例中,步骤605可以省略。处理设备140可以基于参考时间和排序后的至少两个归一化后的关键帧间隔的GCD,确定每个视频流的初始关键帧的延迟时间。仅作为示例,处理设备140可以根据如下公式(6′)确定每个视频流的初始关键帧的延迟时间:
Dj,0<<j<<k=t*GCD*(j-1)/K, (6′)
在一些实施例中,对于上述五个视频流,排序后的第1个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000273
0=0s,排序后的第2个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000274
排序后的第3个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000275
Figure GDA0003125303890000276
排序后的第4个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000277
排序后的第5个归一化后的关键帧间隔的初始关键帧的延迟时间可以是
Figure GDA0003125303890000278
Figure GDA0003125303890000279
图7是根据本申请的一些实施例所示的确定至少两个视频流中的每个视频流的初始关键帧的延迟时间的示例性流程图。仅用于说明目的,处理设备140可以被描述为执行过程700的主体。然而,本领域普通技术人员将理解,过程700也可以由其他实体执行。例如,本领域的普通技术人员将理解,过程700的至少一部分也可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,如图1所示,可以在多媒体内容处理系统100中实现过程700的一个或以上操作。在一些实施例中,过程700中的一个或以上操作可以以指令的形式存储在存储设备150和/或存储器(例如,ROM230、ROM230、RAM240等)中,并由处理设备140(例如,处理设备140的处理器220,或处理设备140的一个或以上模块)调用和/或执行。在一些实施例中,指令可以以电子电流或电信号的形式发送。在一些实施例中,可以根据过程700执行步骤503。
在步骤701中,处理设备140(例如,确定模块404)可以基于至少两个帧率和至少两个关键帧间隔,归一化至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔。在一些实施例中,步骤701可以与步骤601类似的方式执行,此处不再重复相关描述。
在步骤703中,处理设备140(例如,确定模块404)可以确定至少两个归一化后的关键帧间隔中是否存在至少两个相同的归一化后的关键帧间隔。响应于存在至少两个相同的归一化后的关键帧间隔,处理设备140可以进行步骤705。在步骤705中,处理设备140(例如,确定模块404)可以基于至少两个相同的归一化后的关键帧间隔,确定修改的关键帧间隔。在一些实施例中,处理设备140可以根据如下公式(8)确定修改的关键帧间隔:
N′=N/M, (8)
其中,N表示相同的归一化后的关键帧间隔的归一化后的关键帧间隔;M表示相同的归一化后的关键帧间隔的数量(M是整数);以及N′表示修改的关键帧间隔。在一些实施例中,对于如图6所示的五个视频流,第一视频流N1的归一化后的关键帧间隔和第三视频流N3的归一化后的关键帧间隔是相同的。处理设备140可以根据公式(8)确定修改的关键帧间隔,即,
Figure GDA0003125303890000291
在步骤707中,处理设备140(例如,确定模块404)可以使用修改的关键帧间隔替换至少两个相同的归一化后的关键帧间隔中的至少一个,以更新至少两个归一化后的关键帧间隔。仅作为示例,对于上述五个视频流,更新的归一化后的关键帧间隔可以是N′1,3=75,N2=300,N4=225和N5=180。
在步骤709中,处理设备140(例如,确定模块404)可以确定至少两个更新的归一化后的关键帧间隔的GCD。在一些实施例中,如图6所示,处理设备140可以根据公式(4)确定GCD。在一些实施例中,对于五个视频流,GCD可以被确定为GCD′=GCD(N′1,3,N2,N4,N5)=15。
在步骤711中,处理设备140(例如,确定模块404)可以确定至少两个更新的归一化后的关键帧间隔的LCM。在一些实施例中,如图6所示,处理设备140可以根据公式(5)确定LCM。在一些实施例中,对于五个视频流,LCM可以被确定为LCM′=LCM(N′1,3,N2,N4,N5)=900。
在步骤713中,处理设备140(例如,确定模块404)可以根据预设规则对至少两个更新的归一化后的关键帧间隔进行排序。在一些实施例中,已经结合图6描述了预设规则,此处不再重复描述。在一些实施例中,对于五个视频流,如果至少两个更新的归一化后的关键帧间隔对应的奇数序列号的更新后的归一化后的关键帧间隔从小到大排列,至少两个更新的归一化后的关键帧间隔对应的偶数序列号的更新的归一化后的关键帧间隔从大到小排列,排序后的归一化后的关键帧间隔可以是
Figure GDA0003125303890000292
Figure GDA0003125303890000293
在步骤715中,处理设备140(例如,确定模块404)可以基于参考时间、GCD和/或至少两个归一化后的关键帧间隔的LCM,确定与排序后的至少两个归一化后的关键帧间隔中的每个对应的初始关键帧的延迟时间。在一些实施例中,处理设备140可以根据如图6所示的公式(6)确定与每个排序后的归一化后的关键帧间隔对应的初始关键帧的延迟时间。在一些实施例中,排序后的第1个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000294
Figure GDA0003125303890000301
排序后的第2个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000302
Figure GDA0003125303890000303
排序后的第3个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000304
Figure GDA0003125303890000305
排序后的第4个归一化后的关键帧间隔对应的初始关键帧的延迟时间可以是
Figure GDA0003125303890000306
在一些实施例中,修改的关键帧间隔对应的初始关键帧的延迟时间与至少两个相同的归一化后的关键帧间隔对应。例如,排序后的第1个归一化后的关键帧间隔
Figure GDA0003125303890000309
对应的初始关键帧的延迟时间,可以对应于第一视频流和第三视频流的两个相同的归一化后的关键帧间隔。因此,可能需要执行一个或以上操作以区分与至少两个相同的归一化后的关键帧间隔对应的初始关键帧的延迟时间。
在步骤717中,处理设备140(例如,确定模块404)可以对于至少两个相同的归一化后的关键帧间隔,确定与至少两个相同的归一化后的关键帧间隔中的每个对应的初始关键帧的相对延迟时间。仅作为示例,处理设备140可以根据如下公式(9)确定与至少两个相同的归一化后的关键帧间隔中的每个对应的初始关键帧的相对延迟时间:
Drl,1≤l<<M=T*(l-1)/M, (9)
其中,T表示相同的归一化后的关键帧间隔的关键帧间隔时间;M表示相同的归一化后的关键帧间隔的数量(M是整数);l表示相同的归一化后的关键帧间隔中的第l个归一化后的关键帧间隔(l为整数);Drl表示相同的归一化后的关键帧间隔中,与第l个归一化后的关键帧间隔对应的初始关键帧的相对延迟时间。在一些实施例中,对于第一视频流和第三视频流,第一视频流中的初始关键帧的相对延迟时间可以是
Figure GDA0003125303890000307
第三视频流中的初始关键帧的相对延迟时间可以是
Figure GDA0003125303890000308
在步骤719中,处理设备140(例如,确定模块404)可以基于修改的关键帧间隔对应的初始关键帧的延迟时间和初始关键帧的相对延迟时间,确定与至少两个相同的归一化后的关键帧间隔中的每个对应的初始关键帧的延迟时间。在一些实施例中,处理设备140可以根据如下公式(10)确定至少两个相同的归一化后的关键帧间隔中的每个的初始关键帧的延迟时间:
Dl=D+Drl, (10)
其中,D表示与修改的关键帧间隔对应的初始关键帧的延迟时间,Drl表示相同的归一化后的关键帧间隔中与第l个归一化后的关键帧间隔对应的初始关键帧的相对延迟时间;并且Dl表示相同的归一化后的关键帧间隔中与第l个归一化后的关键帧间隔对应的初始关键帧的延迟时间。在一些实施例中,对于第一视频流和第三视频流,第一视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000311
Figure GDA0003125303890000312
并且第三视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000313
因此,对于五个视频流,第一视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000314
第二视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000315
第三视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000316
第四视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000317
并且第五视频流中的初始关键帧的延迟时间可以是
Figure GDA0003125303890000318
Figure GDA0003125303890000319
回到步骤703,响应于至少两个归一化后的关键帧间隔中不存在相同的归一化后的关键帧间隔的确定结果,处理设备140可以进行到步骤709。在步骤709中,处理设备140可以确定至少两个归一化后的关键帧间隔的GCD。在步骤711中,处理设备140可以确定至少两个归一化后的关键帧间隔的LCM。在步骤713中,处理设备140可以根据预设规则对至少两个归一化后的关键帧间隔进行排序。在步骤715中,处理设备140可以基于参考时间、GCD和/或至少两个归一化后的关键帧间隔的LCM,确定至少两个排序后的归一化后的关键帧间隔中的每个对应的初始关键帧的延迟时间。在这种情况下,可以以步骤603到609类似的方式执行步骤709至715,此处不再重复相关描述。
应当注意,关于过程700的上述描述仅仅是为了说明目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不脱离本申请的范围。在一些实施例中,处理设备140可以重复步骤703至707以执行一次或以上迭代,直到至少两个归一化后的关键帧间隔中没有相同的归一化后的关键帧间隔。然后,处理设备140可以终止一次或以上迭代。
在一些实施例中,在步骤71 9之后,处理设备140可以进一步根据例如,如图6所示的公式(7)对每个视频流中的初始关键帧的延迟时间进行归一化处理。在一些实施例中,对于五个视频流,第一视频流中的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000321
第二视频流中的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000322
第三视频流中的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000323
第四视频流中的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000324
并且第五视频流中的初始关键帧的归一化后的延迟时间可以是
Figure GDA0003125303890000325
图9A是根据本申请的一些实施例所示的五个示例性视频流。为简单起见,未示出视频流中的非关键帧(例如,P帧)。第一视频流的关键帧间隔为5,第二视频流的关键帧间隔为10,第三视频流的关键帧间隔为15,第四视频流的关键帧间隔为20,并且第五视频流的关键帧间隔为30。五个视频流可以对应于相同的帧率。表1示出了五个视频流中的关键帧的示例性发送时间。在一些实施例中,关键帧的发送时间可以表示为时间序列。时间序列可以对应于视频流中发送一帧(关键帧或非关键帧)的时间。如图9A和/或表1所示,五个视频流中的初始关键帧同时发送(对应于时间序列0),这可能导致网络负载过大。当网络负载超过网络允许负载时,可能出现数据丢失(或丢包),导致视频质量下降。此外,不同视频流中的关键帧间隔可能是不同的。在不同的时间序列中,同时传输不同数量的关键帧,导致网络波动较大。如图9A和/或表1所示,在时间序列10中,第一视频流中的关键帧和第二视频流中的关键帧被同时传输。在时间序列20中,第一视频流中的关键帧,第二视频流中的关键帧以及第四视频流中的关键帧被同时传输。在时间序列30中,第一视频流中的关键帧,第二视频流中的关键帧,第三视频流中的关键帧,以及第五视频流中的关键帧被同时传输。因此,可能需要错开不同视频流中的关键帧的传输时间来均衡网络负载。
图9B是根据本申请的一些实施例所示的五个已处理的示例性视频流。表2示出了五个已处理的视频流中的关键帧的示例性发送时间。根据本申请公开的方法,可以通过处理图9A中的五个视频流确定五个已处理的视频流。在一些实施例中,可以基于每个视频流中的初始关键帧的延迟时间,处理五个视频流。如图9B和/或表2所示,五个已处理的视频流中的所有关键帧的传输时间被错开。因此,网络负载可以均衡。
表1五个视频流中的关键帧的示例性发送时间
Figure GDA0003125303890000331
表2五个已处理的视频流中的关键帧的示例性发送时间
Figure GDA0003125303890000341
在一些实施例中,本申请公开的系统和方法可用于周期性地传输的一个或以上数据流(或称为数据流)。如本文所使用的,数据流的周期性是指被传输的数据流的数据量周期性变化,数据流的大容量部分(或称为大容量帧)的传输是以数据流的小容量部分(或称为小容量帧)的传输为间隔的,并且大容量部分和小容量部分的分布是周期性的。例如,数据流可以包括从数据源(例如,由成像设备、摄像机、网络摄像机等)周期性地检索的图像或视频帧。为了包括I帧和P帧的视频流应用本文描述的系统和方法,大容量部分可以对应于I帧,小容量部分可以对应于P帧。在一些实施例中,小容量部分可以是没有数据的零体积部分。数据流可以是连续流(其中小容量部分包括数据)或具有离散部分的流(其中小容量部分包括没有数据的零体积部分)。如本文所使用的,短语“大容量”和“小容量”是相对使用的,数据流的大容量部分包括比数据流的小容量部分更大的数据量。具有周期性的一个或以上数据流的传输可以根据本申请公开的实施例实施,例如,图4-9B及其描述。一个或以上数据流中的大容量部分的传输时间可以错开,从而平衡和/或均衡的网络负载。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本申请的各个方面可以全部由硬件、全部由软件(包括固件、驻留软件、微代码等)或结合软件和硬件实现来实现,这些软件和硬件实现在本文中通常被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取计算机程序产品的形式,该计算机程序产品体现在一个或以上计算机可读介质中,其上体现有计算机可读程序代码。
计算机可读信号介质可以包含一个内含有计算机程序代码的传播数据信号,例如,在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
用于执行本申请的各方面的操作的计算机程序代码可以以一种或以上编程语言的任何组合来编写,包括面向对象的编程语言,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB。NET、Python等,传统的程序编程语言,如“C”编程语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言,如Python、Ruby和Groovy,或其他编程语言。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可以与外部计算机建立连接(例如,通过使用网络服务提供商的网络)或在云计算环境中或作为服务提供,例如,软件服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

Claims (24)

1.一种将多视频流传输至客户端的系统,包括:
至少一个存储设备,用于存储一组指令;
与所述至少一个存储设备通信的至少一个处理器,其中,当执行该组指令时,所述至少一个处理器被配置为使所述系统执行以下操作:
获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流包括以帧率和关键帧间隔为特征周期性出现的多个关键帧,所述视频流的关键帧间隔是所述视频流中两个连续关键帧之间的帧数;
基于所述至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;
基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的所述初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间与将所述视频流的初始关键帧发送至客户端的时间对应;以及
将至少两个已处理的视频流发送至所述客户端;其中,
所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
基于所述至少两个帧率和所述至少两个关键帧间隔归一化所述至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔;以及
基于所述至少两个归一化后的关键帧间隔,确定所述至少两个视频流中的每个视频流的所述初始关键帧的所述延迟时间。
2.如权利要求1所述的系统,其中,为了归一化所述至少两个关键帧间隔,所述至少一个处理器被配置为使所述系统执行以下附加操作:
基于至少两个对应的帧率,确定与所述至少两个关键帧间隔对应的至少两个关键帧间隔时间,所述关键帧间隔时间是两个连续关键帧之间的传输时间;
基于所述至少两个帧率确定参考时间;以及
基于所述至少两个关键帧间隔时间和所述参考时间,确定所述至少两个归一化后的关键帧间隔。
3.根据权利 要求2所述的系统,其中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器被配置为使所述系统执行以下附加操作:
确定所述至少两个归一化后的关键帧间隔的最大公约数(GCD);以及
基于所述参考时间和所述至少两个归一化后的关键帧间隔的所述GCD,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
4.如权利要求3所述的系统,其中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器进一步被配置为使所述系统执行以下附加操作:
确定所述至少两个归一化后的关键帧间隔的最小公倍数(LCM);以及
基于所述参考时间、所述GCD和所述至少两个归一化后的关键帧间隔的LCM,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
5.根据权利要求1所述的系统,其中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器进一步被配置为使所述系统执行以下附加操作:
根据预设规则对所述至少两个归一化后的关键帧间隔进行排序;以及
基于排序结果确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
6.如权利要求1所述的系统,其中,所述至少一个处理器进一步被配置为使所述系统执行以下附加操作:
执行一次或以上迭代,所述一次或以上迭代中的每次包括:
确定所述至少两个归一化后的关键帧间隔中是否存在至少两个相同的归一化后的关键帧间隔;
响应于存在所述至少两个相同的归一化后的关键帧间隔,基于所述至少两个相同的归一化后的关键帧间隔,确定修改的关键帧间隔;以及
使用所述修改的关键帧间隔替换所述至少两个相同的归一化后的关键帧间隔中的至少一个,以更新所述至少两个归一化后的关键帧间隔。
7.根据权利要求6所述的系统,其中,所述至少一个处理器进一步被配置为使所述系统执行附加以下操作:
确定所述至少两个归一化后的关键帧间隔中是否存在所述至少两个相同的归一化后的关键帧间隔;以及
响应于所述至少两个归一化后的关键帧间隔中不存在相同的归一化后的关键帧间隔,终止所述一次或以上迭代。
8.如权利要求6所述的系统,其中,为了确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,所述至少一个处理器进一步被配置为使所述系统执行以下附加操作:
基于至少两个更新的归一化后的关键帧间隔,确定与所述至少两个更新的归一化后的关键帧间隔中的每个对应的初始关键帧的延迟时间;
对于所述至少两个相同的归一化后的关键帧间隔,确定与所述至少两个相同的归一化后的关键帧间隔中的每个对应的所述初始关键帧的相对延迟时间;以及
基于与所述修改的关键帧间隔对应的所述初始关键帧的所述延迟时间和所述初始关键帧的所述相对延迟时间,确定与所述至少两个相同的归一化后的关键帧间隔中的每个对应的所述初始关键帧的所述延迟时间。
9.根据权利要求1至8中任一项所述的系统,其中,所述至少一个处理器进一步被配置为使所述系统执行以下附加操作:
对所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间进行归一化处理。
10.根据权利要求1所述的系统,其中,为了处理所述至少两个视频流,所述至少一个处理器进一步被配置为执行以下的至少一个附加操作:
重新编码所述至少两个视频流中的至少一个;
在所述至少两个视频流中的至少一个中添加关键帧;和
延迟所述至少两个视频流中的至少一个的传输。
11.根据权利要求1-8中任一项所述的系统,其中,所述至少一个处理器进一步被配置为使所述系统执行以下附加操作:
从所述客户端接收用户请求,以提取所述至少两个视频流。
12.一种将多视频流传输至客户端的方法,所述方法在具有至少一个处理器、至少一个计算机可读存储介质和连接到网络的通信平台的计算设备上实现,所述方法包括:
获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流包括以帧率和关键帧间隔为特征周期性出现的多个关键帧,所述视频流的关键帧间隔是所述视频流中两个连续关键帧之间的帧数;
基于所述至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;
基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的所述初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间与将所述视频流的初始关键帧发送至所述客户端的时间对应;以及
将至少两个已处理的视频流发送至所述客户端;其中,
所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
基于所述至少两个帧率和所述至少两个关键帧间隔归一化所述至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔;以及
基于所述至少两个归一化后的关键帧间隔,确定所述至少两个视频流中的每个视频流的所述初始关键帧的所述延迟时间。
13.如权利要求12所述的方法,所述归一化所述至少两个关键帧间隔,包括:
基于至少两个对应的帧率,确定与所述至少两个关键帧间隔对应的至少两个关键帧间隔时间,所述关键帧间隔时间是两个连续关键帧之间的传输时间;
基于所述至少两个帧率确定参考时间;以及
基于所述至少两个关键帧间隔时间和所述参考时间,确定所述至少两个归一化后的关键帧间隔。
14.根据权利要求13所述的方法,所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
确定所述至少两个归一化后的关键帧间隔的最大公约数(GCD);以及
基于所述参考时间和所述至少两个归一化后的关键帧间隔的所述GCD,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
15.如权利要求14所述的方法,所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
确定所述至少两个归一化后的关键帧间隔的最小公倍数(LCM);以及
基于所述参考时间、所述GCD和所述至少两个归一化后的关键帧间隔的LCM,确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
16.根据权利要求12所述的方法,所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
根据预设规则对所述至少两个归一化后的关键帧间隔进行排序;以及
基于排序结果确定所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间。
17.如权利要求12所述的方法,还包括:
执行一次或以上迭代,所述一次或以上迭代中的每次包括:
确定所述至少两个归一化后的关键帧间隔中是否存在至少两个相同的归一化后的关键帧间隔;
响应于存在所述至少两个相同的归一化后的关键帧间隔,基于所述至少两个相同的归一化后的关键帧间隔,确定修改的关键帧间隔;以及
使用所述修改的关键帧间隔替换所述至少两个相同的归一化后的关键帧间隔中的至少一个,以更新所述至少两个归一化后的关键帧间隔。
18.如权利要求17所述的方法,还包括:
确定所述至少两个归一化后的关键帧间隔中是否存在所述至少两个相同的归一化后的关键帧间隔;以及
响应于所述至少两个归一化后的关键帧间隔中不存在相同的归一化后的关键帧间隔,终止所述一次或以上迭代。
19.如权利要求17所述的方法,其特征在于,所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
基于至少两个更新的归一化后的关键帧间隔,确定与所述至少两个更新的关键帧间隔中的每个对应的初始关键帧的延迟时间;
对于所述至少两个相同的归一化后的关键帧间隔,确定与所述至少两个相同的归一化后的关键帧间隔中的每个对应的所述初始关键帧的相对延迟时间;以及
基于与所述修改的关键帧间隔对应的所述初始关键帧的所述延迟时间和所述初始关键帧的所述相对延迟时间,确定与所述至少两个相同的归一化后的关键帧间隔中的每个对应的所述初始关键帧的所述延迟时间。
20.根据权利要求12至19中任一项所述的方法,还包括:
对所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间进行归一化处理。
21.如权利要求12所述的方法,为了处理所述至少两个视频流,所述方法执行以下至少一个操作,包括:
重新编码所述至少两个视频流中的至少一个;
在所述至少两个视频流中的至少一个中添加关键帧;和
延迟所述至少两个视频流中的至少一个的传输。
22.如权利要求12-19中任一项所述的方法,还包括:
从所述客户端接收用户请求,以提取所述至少两个视频流。
23.一种非暂时性计算机可读存储介质,包括至少一组指令,其中,当由计算设备的至少一个处理器执行时,所述至少一组指令指示所述至少一个处理器执行以下操作:
获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流包括以帧率和关键帧间隔为特征周期性出现的多个关键帧,所述视频流的关键帧间隔是所述视频流中两个连续关键帧之间的帧数;
基于所述至少两个视频流的至少两个帧速率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;
基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的所述初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间与将所述视频流的所述初始关键帧发送至客户端的时间对应;以及
将至少两个已处理的视频流发送至所述客户端;其中,
所述确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间,包括:
基于所述至少两个帧率和所述至少两个关键帧间隔归一化所述至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔;以及
基于所述至少两个归一化后的关键帧间隔,确定所述至少两个视频流中的每个视频流的所述初始关键帧的所述延迟时间。
24.一种将多视频流传输至客户端的系统,包括:
获取模块,被配置为获取包括至少两个视频流的多视频流,所述至少两个视频流中的每个视频流包括以帧率和关键帧间隔为特征周期性出现的多个关键帧,所述视频流的关键帧间隔是所述视频流中两个连续关键帧之间的帧数;
确定模块,被配置为基于所述至少两个视频流的至少两个帧率和至少两个关键帧间隔,确定所述至少两个视频流中的所述每个视频流的初始关键帧的延迟时间;
处理模块,被配置为基于所述至少两个视频流中的所述每个视频流的所述初始关键帧的所述延迟时间,对所述至少两个视频流进行处理,确定对应视频流中的初始关键帧的期望发送时间,所述视频流的所述初始关键帧的所述期望发送时间与将所述视频流的所述初始关键帧发送至客户端的时间对应;以及传输模块,被配置为将至少两个已处理的视频流发送至所述客户端;其中,所述确定模块还用于:
基于所述至少两个帧率和所述至少两个关键帧间隔归一化所述至少两个关键帧间隔,生成至少两个归一化后的关键帧间隔;以及
基于所述至少两个归一化后的关键帧间隔,确定所述至少两个视频流中的每个视频流的所述初始关键帧的所述延迟时间。
CN201880100415.2A 2018-12-29 2018-12-29 传输多视频流的系统和方法 Active CN113302928B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/125763 WO2020133465A1 (en) 2018-12-29 2018-12-29 Systems and methods for multi-video stream transmission

Publications (2)

Publication Number Publication Date
CN113302928A CN113302928A (zh) 2021-08-24
CN113302928B true CN113302928B (zh) 2023-01-10

Family

ID=71128011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880100415.2A Active CN113302928B (zh) 2018-12-29 2018-12-29 传输多视频流的系统和方法

Country Status (4)

Country Link
US (1) US11632580B2 (zh)
EP (1) EP3881544B1 (zh)
CN (1) CN113302928B (zh)
WO (1) WO2020133465A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4205386A4 (en) * 2020-10-16 2024-01-24 Zhejiang Dahua Technology Co SYSTEMS AND METHODS FOR DATA TRANSMISSION
CN112954402B (zh) * 2021-03-11 2023-04-28 北京字节跳动网络技术有限公司 视频显示方法、设备及存储介质
CN115834894A (zh) * 2021-09-15 2023-03-21 中兴通讯股份有限公司 数据传输方法、接收端、数据源和计算机可读存储介质
US11877040B2 (en) * 2021-11-24 2024-01-16 The Adt Security Corporation Streaming video playback with reduced initial latency
CN114531584B (zh) * 2022-04-24 2022-08-16 浙江华眼视觉科技有限公司 一种快件码识别机的视频间隔合成方法及装置
CN115776601A (zh) * 2022-11-15 2023-03-10 深圳艾灵网络有限公司 视频流传输信息评估方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104918133A (zh) * 2014-03-12 2015-09-16 北京视联动力国际信息技术有限公司 一种视联网中视频流的播放方法和装置
CN106162235A (zh) * 2016-08-17 2016-11-23 北京百度网讯科技有限公司 用于切换视频流的方法和装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210145A1 (en) * 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
JP3738353B2 (ja) * 2001-04-20 2006-01-25 カシオ計算機株式会社 動画再生装置及び動画再生プログラム
US6738980B2 (en) * 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
US20090282444A1 (en) * 2001-12-04 2009-11-12 Vixs Systems, Inc. System and method for managing the presentation of video
KR100744309B1 (ko) * 2005-11-22 2007-07-30 삼성전자주식회사 Svc 방식이 적용되는 디지털 비디오 스트림의 전송시스템과 그 전송 방법
KR101019634B1 (ko) * 2008-09-04 2011-03-07 에스케이 텔레콤주식회사 미디어 전송 시스템 및 방법
JP5299866B2 (ja) * 2009-05-19 2013-09-25 日立コンシューマエレクトロニクス株式会社 映像表示装置
US20110169952A1 (en) * 2009-07-31 2011-07-14 Kohei Yamaguchi Video data processing device and video data processing system
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
CN101888561B (zh) * 2010-07-02 2012-02-01 西南交通大学 一种率失真优化动态调整的多视点视频传输差错控制方法
CN102457727A (zh) * 2010-10-28 2012-05-16 武汉磐大科技有限公司 一种用于3g网络的多通道h.264视频帧的传输方法
JP5507702B2 (ja) * 2010-11-02 2014-05-28 パナソニック株式会社 動画像符号化方法および動画像符号化装置
US8787726B2 (en) * 2012-02-26 2014-07-22 Antonio Rossi Streaming video navigation systems and methods
US11284133B2 (en) * 2012-07-10 2022-03-22 Avago Technologies International Sales Pte. Limited Real-time video coding system of multiple temporally scaled video and of multiple profile and standards based on shared video coding information
US9262793B2 (en) * 2013-03-14 2016-02-16 Verance Corporation Transactional video marking system
US9756369B2 (en) * 2013-06-19 2017-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for streaming media data segments of different lengths wherein the segment of different length comprising data not belonging to the actual segment and beginning with key frames or containing key frames only
US9532043B2 (en) * 2013-08-02 2016-12-27 Blackberry Limited Wireless transmission of real-time media
CN103780907B (zh) 2014-01-27 2018-01-16 浙江宇视科技有限公司 一种视频数据流量整形的方法和装置
US9031138B1 (en) * 2014-05-01 2015-05-12 Google Inc. Method and system to combine multiple encoded videos for decoding via a video docoder
CN105338422B (zh) 2014-06-09 2018-11-13 杭州海康威视数字技术股份有限公司 视频图像数据的网络发送速率的平滑方法
CN105576164B (zh) 2014-10-13 2018-12-07 中国石油化工股份有限公司 一种用于随钻测量仪器的电源装置
CN105830445B (zh) * 2014-11-28 2019-03-01 华为技术有限公司 多视频流的传输方法和设备
CN104574481B (zh) * 2015-01-26 2017-08-25 北京春天影视科技有限公司 一种三维角色动画非线性修改方法
CN105578184B (zh) * 2016-01-27 2018-11-20 努比亚技术有限公司 关键帧动画的生成装置及方法
US10142707B2 (en) * 2016-02-25 2018-11-27 Cyberlink Corp. Systems and methods for video streaming based on conversion of a target key frame
US10219014B2 (en) * 2016-06-02 2019-02-26 Biamp Systems, LLC Systems and methods for bandwidth-limited video transport
CN107623851B (zh) * 2017-09-01 2019-12-31 苏州科达科技股份有限公司 视频码流传输控制装置及控制方法
CN108737689A (zh) * 2018-04-27 2018-11-02 浙江大华技术股份有限公司 一种视频的拼接显示方法及显示控制设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104918133A (zh) * 2014-03-12 2015-09-16 北京视联动力国际信息技术有限公司 一种视联网中视频流的播放方法和装置
CN106162235A (zh) * 2016-08-17 2016-11-23 北京百度网讯科技有限公司 用于切换视频流的方法和装置

Also Published As

Publication number Publication date
US11632580B2 (en) 2023-04-18
EP3881544A4 (en) 2021-11-24
EP3881544A1 (en) 2021-09-22
US20210337255A1 (en) 2021-10-28
WO2020133465A1 (en) 2020-07-02
CN113302928A (zh) 2021-08-24
EP3881544B1 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
CN113302928B (zh) 传输多视频流的系统和方法
US11153615B2 (en) Method and apparatus for streaming panoramic video
KR102027410B1 (ko) 계층화된 신호 품질 계층에서의 재구성 데이터의 송신
US10142707B2 (en) Systems and methods for video streaming based on conversion of a target key frame
US20200374582A1 (en) Systems and methods for synchronizing audio and video
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
US20090220003A1 (en) Method of compressing video data and a media player for implementing the method
US10199074B2 (en) Techniques for selecting frames for decode in media player
CN113473126B (zh) 视频流的处理方法、装置、电子设备及计算机可读介质
CN114363649B (zh) 视频处理方法、装置、设备及存储介质
CN112423140A (zh) 视频播放方法、装置、电子设备和存储介质
US20160189749A1 (en) Automatic selective upload of user footage for video editing in the cloud
CN110582012A (zh) 视频切换方法、视频处理方法、装置及存储介质
US10002644B1 (en) Restructuring video streams to support random access playback
US20200213631A1 (en) Transmission system for multi-channel image, control method therefor, and multi-channel image playback method and apparatus
CN105379281B (zh) 用于使用图形处理器的视频解码的图片参考控制
US10469794B2 (en) Information processing apparatus, information processing method, and information processing system for content management using play lists
US11470335B2 (en) Systems and methods for providing transcoded portions of a video
JP5940999B2 (ja) 映像再生装置、映像配信装置、映像再生方法、映像配信方法及びプログラム
Kammachi‐Sreedhar et al. Omnidirectional video delivery with decoder instance reduction
CN117579843B (zh) 视频编码处理方法及电子设备
CN113225583B (zh) 云游戏进度处理方法、装置和电子设备
US10893331B1 (en) Subtitle processing for devices with limited memory
WO2023184467A1 (en) Method and system of video processing with low latency bitstream distribution
JP2012060297A (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