CN118355651A - 用于生成视频流的系统和方法 - Google Patents

用于生成视频流的系统和方法 Download PDF

Info

Publication number
CN118355651A
CN118355651A CN202280079471.9A CN202280079471A CN118355651A CN 118355651 A CN118355651 A CN 118355651A CN 202280079471 A CN202280079471 A CN 202280079471A CN 118355651 A CN118355651 A CN 118355651A
Authority
CN
China
Prior art keywords
video stream
digital video
generated
main
participant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280079471.9A
Other languages
English (en)
Inventor
安德烈亚斯·比约克曼
安德斯·尼尔森
拉尔斯·埃尔曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Levorina Technology Co
Original Assignee
Levorina Technology Co
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 Levorina Technology Co filed Critical Levorina Technology Co
Publication of CN118355651A publication Critical patent/CN118355651A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/0806Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division the signals being two or more video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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
    • 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/2625Content 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 for delaying content or additional data distribution, e.g. because of an extended sport event
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8549Creating video summaries, e.g. movie trailer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Devices (AREA)
  • Television Systems (AREA)

Abstract

一种用于提供第二数字视频流的方法,包括:在收集步骤中,从至少两个不同的数字视频源(121)收集第一主数字视频流和第二主数字视频流;在第一生成步骤(135’)中,基于所述第一主流和第二主流生成第一生成视频流;在第二生成步骤(135”)中,基于所述第一生成流并且还基于所述第一主流和第二主流来生成第二流;以及在所述第二生成步骤(135”)中,在考虑到由第一生成步骤(135’)导致的第一生成流的延迟的情况下,时间延时所述第一主流和第二主流,以便使它们与第一生成流时间同步,第二生成流基于经时间延时的第一主流和第二主流生成。本发明还涉及一种系统和一种计算机软件产品。

Description

用于生成视频流的系统和方法
技术领域
本发明涉及一种用于生成数字视频流,并且特别是用于基于两个或更多个不同的数字输入视频流生成数字视频流的系统、计算机软件产品和方法。在优选实施例中,数字视频流在数字视频会议或数字视频会议或会面系统的场景下生成,特别地涉及多个不同的并发用户。所生成的数字视频流可以在外部或在数字视频会议或数字视频会议系统内发布。
背景技术
在其他实施例中,本发明应用于非数字视频会议,但是其中几个数字视频输入流被并发处理并组合为所生成的数字视频流的场景中。例如,这样的场景可以是教育性的或指导性的。
许多数字视频会议系统已经问世,诸如通过这些数字视频会议系统,两个或更多个人可用本地录制且播送给全部参与者的数字视频和音频来进行虚拟会面,从而模拟实际会面。
这些数字视频会议方案普遍需要改进,尤其是在观看内容的生成方面,诸如在什么时间向谁展示什么以及经由什么分布渠道。
例如,一些系统自动检测当前正在讲话的参与者,并向其他参与者显示正在讲话的参与者的对应视频馈送。在许多系统中,可以共享图形,诸如当前显示的屏幕、视窗或数字演示。然而,随着虚拟会面变得越来越复杂,服务很快就更难知道在每个时间点要向每个参与者示出全部当前可用信息中的哪些内容。
在其他示例中,演示参与者在台上四处走动,同时谈论数字演示中的幻灯片。然后系统需要决定是显示演示文稿、演示者还是同时显示两者,或者在两者之间切换。
可能期望通过自动生成过程基于多个输入数字视频流生成一个或几个输出数字视频流,并将这样生成的一个或多个数字视频流提供给一个或几个消费者。
然而,在许多情况下,由于这种数字视频会议系统面临许多技术困难,动态会议屏幕布局管理器或其他自动化生成功能难以选择要示出什么信息。
首先,由于数字视频会面具有实时性方面,因此低延迟很重要。这在不同的传入的数字视频流(诸如来自使用不同硬件加入的不同参与者)与不同的延迟、帧速率、纵横比或分辨率相关联时,就生成了问题。很多时候,这些传入的数字视频流需要处理以便获得良好的用户体验。
其次,存在时间同步的问题。由于各种输入数字视频流(诸如外部数字视频流或由参与者提供的数字视频流)通常被馈送到中央服务器等,因此不存在同步每个这种数字视频馈送的绝对时间。像过高的延迟一样,不同步的数字视频馈送将导致较差的用户体验。
第三,多方数字视频会面可能涉及具有不同编码或格式的不同数字视频流,这些不同数字视频流需要解码和重新编码,进而生成延迟和同步方面的问题。这种编码在计算上也是繁重的并且因此在硬件要求方面成本很高。
第四,不同的数字视频源可能与不同的帧速率、纵横比和分辨率相关联的事实也可能导致存储器分配需求可能不可预测地变化,从而要求持续平衡。这种编码涉及繁重的计算工作,因而造成很高的硬件成本。
第五,参与者可能在可变连接性、离开/重新连接等方面遇到各种挑战,从而在自动生成良好的用户体验方面提出了进一步的挑战。
这些问题在更复杂的会面情况下被放大,例如涉及许多参与者、使用不同硬件和/或软件进行连接的参与者、外部提供的数字视频流、屏幕共享、或者多个主机。
对应问题出现在将基于几个输入数字视频流生成输出数字视频流的所述其他场景中,诸如在用于教育和教学的数字视频生成系统中。
瑞典申请SE 2151267-8(其在本申请生效之日尚未公布)公开了以上讨论的问题的各种解决方案。
在多参与者数字视频环境中还存在与延迟相关的另外的问题。特别地,不同参与者之间延迟要求可能不同。在这种环境中,已经证明难以向全部参与者呈现良好的时间同步体验,使时间延时不会负面地影响通信。在具有复杂配置(例如使用中间生成的多参与者视频流和/或涉及几种类型的参与者)的视频环境中尤其如此。
发明内容
本发明解决了上述问题中的一个或几个。
因此,本发明涉及一种用于提供第二数字视频流的方法,该方法包括:在收集步骤中,从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,并且从第三参与者客户端收集第三主数字视频流;在发布步骤中,向所述第一参与者客户端和所述第二参与者客户端中的至少一个提供所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个;在第二生成步骤中,基于所述第一主数字视频流、所述第二主数字视频流和所述第三主数字视频流将第二生成视频流生成为数字视频流,所述第二生成步骤引入时间延时,使得第二生成视频流与在发布步骤中提供给所述第一参与者客户端或第二参与者客户端的任何视频流时间不同步,所述发布步骤还包括向不是第一参与者客户端或第二参与者客户端的至少一个消费客户端连续提供所述第二生成视频流。
本发明还涉及一种用于提供第二数字视频流的方法,该方法包括:在收集步骤中,从至少两个不同的数字视频源收集第一主数字视频流和第二主数字视频流;在第一生成步骤中,基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流;在第二生成步骤中,基于所述第一生成视频流以及还基于所述第一主数字视频流和第二主数字视频流将第二生成视频流生成为数字视频流;以及在所述第二生成步骤中,在考虑到由第一生成步骤导致的第一生成视频流的延迟的情况下,时间延时所述第一主数字视频流和第二主数字视频流,以便使它们与第一生成视频流时间同步,第二生成视频流基于经时间延时的第一主数字视频流和第二主数字视频流生成。
本发明还涉及一种用于提供第二数字视频流的方法,该方法包括:在收集步骤中,从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,并且从第三参与者客户端收集第三主数字视频流;在第一生成步骤中,基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流,第一生成数字视频流以第一延迟被连续生成用于发布;在第二生成步骤中,基于所述第一主数字视频流、第二主数字视频流和第三主数字视频流将第二生成视频流生成为数字视频流,第二生成数字视频流以第二延迟被连续生成用于发布,第二延迟大于第一延迟;以及在发布步骤中,向第一参与者客户端和第二参与者客户端中的至少一个连续提供所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流中的至少一个,并且向至少一个其他参与者客户端连续提供所述第二生成视频流。
本发明还涉及一种用于提供第二数字视频流的计算机软件产品,该计算机软件功能被布置为在运行时执行:
收集步骤,其中从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,并且从第三参与者客户端收集第三主数字视频流;发布步骤,其中所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个被提供给所述第一参与者客户端和所述第二参与者客户端中的至少一个;第二生成步骤,其中第二生成视频流基于所述第一主数字视频流、所述第二主数字视频流和所述第三主数字视频流被生成为数字视频流,所述第二生成步骤引入时间延时使得第二生成视频流与在发布步骤中提供给所述第一参与者客户端或第二参与者客户端的任何视频流时间不同步,其中所述发布步骤还包括向不是第一参与者客户端或第二参与者客户端的至少一个消费客户端连续提供所述第二生成视频流。
本发明还涉及一种用于提供共享数字视频流的计算机软件产品,该计算机软件功能被布置为在运行时执行:
收集步骤,其中从至少两个不同的数字视频源收集第一主数字视频流和第二主数字视频流;第一生成步骤,其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流流生成为数字视频流;第二生成步骤,其中基于所述第一生成视频流以及还基于所述第一主数字视频流和第二主数字视频流将第二生成视频流生成为数字视频流;以及其中在所述第二生成步骤中,在考虑到由第一生成步骤导致的第一生成视频流的延迟的情况下,时间延时所述第一主数字视频流和第二主数字视频流,以便使它们与第一生成视频流时间同步,第二生成视频流基于经时间延时的第一主数字视频流和第二主数字视频流生成。
本发明还涉及一种用于提供共享数字视频流的计算机软件产品,该计算机软件功能被布置为在运行时执行:
收集步骤,其中从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,并且从第三参与者客户端收集第三主数字视频流;第一生成步骤,其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流,第一生成数字视频流以第一延迟被连续生成用于发布;第二生成步骤,其中基于所述第一主数字视频流、第二主数字视频流和第三主数字视频流将第二生成视频流生成为数字视频流,第二生成数字视频流以第二延迟被连续生成用于发布,第二延迟大于第一延迟;以及发布步骤,其中向第一参与者客户端和第二参与者客户端中的至少一个连续提供所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流中的至少一个,并且向至少一个其他参与者客户端连续提供所述第二生成视频流。
本发明还涉及一种用于提供第二数字视频流的系统,该系统包括中央服务器,该中央服务器又包括:收集功能,其中从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,并且从第三参与者客户端收集第三主数字视频流;发布功能,其中所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个被提供给所述第一参与者客户端和所述第二参与者客户端中的至少一个;第二生成功能,其中基于所述第一主数字视频流、所述第二主数字视频流和所述第三主数字视频流将第二生成视频流生成为数字视频流,所述第二生成步骤引入时间延时使得第二生成视频流与在发布步骤中提供给所述第一参与者客户端或第二参与者客户端的任何视频流时间不同步,其中所述发布功能包括向不是第一参与者客户端或第二参与者客户端的至少一个消费客户端连续提供所述第二生成视频流。
而且,本发明涉及一种用于提供共享数字视频流的系统,该系统包括中央服务器,该中央服务器又包括:收集功能,其中从至少两个不同的数字视频源收集第一主数字视频流和第二主数字视频流;第一生成功能,其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流流生成为数字视频流;第二生成功能,其中基于所述第一生成视频流以及还基于所述第一主数字视频流和第二主数字视频流将第二生成视频流生成为数字视频流;以及其中在所述第二生成功能中,在考虑到由第一生成功能导致的第一生成视频流的延迟的情况下,时间延时所述第一主数字视频流和第二主数字视频流,以便使它们与第一生成视频流时间同步,第二生成视频流基于经时间延时的第一主数字视频流和第二主数字视频流生成。
本发明还涉及一种用于提供共享数字视频流的系统,该系统包括中央服务器,该中央服务器又包括:收集功能,其中从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,并且从第三参与者客户端收集第三主数字视频流;第一生成功能,其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流,第一生成数字视频流以第一延迟被连续生成用于发布;第二生成功能,其中基于所述第一主数字视频流、第二主数字视频流和第三主数字视频流将第二生成视频流生成为数字视频流,第二生成数字视频流以第二延迟被连续生成用于发布,第二延迟大于第一延迟;以及发布功能,其中向第一参与者客户端和第二参与者客户端中的至少一个连续提供所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流中的至少一个,并且向至少一个其他参与者客户端连续提供所述第二生成视频流。
此外,本发明涉及一种系统。
附图说明
在下文中,将参照本发明的示例性实施例和附图详细描述本发明,其中:
图1示出了第一例示性系统;
图2示出了第二例示性系统;
图3示出了第三例示性系统;
图4示出了中央服务器;
图5示出了第一方法;
图6a至图6f示出了与图5中示出的方法中不同方法步骤相关的随后状态;
图7从概念上示出了通用协议;
图8a至图8d示出了第二方法、第三方法、第四方法和第五方法;以及
图9示出了第四例示性系统。
全部附图共享相同或相应部分的附图标记。
具体实施方式
图1示出了根据本发明被布置为执行根据本发明的用于提供数字视频流(诸如共享数字视频流)的方法的系统100。
系统100可以包括视频通信服务110,但是在一些实施例中,视频通信服务110也可以在系统100外部。如将要讨论的那样,可能存在多于一个视频通信服务110。
系统100可以包括一个或几个参与者客户端121,但是在一些实施例中,参与者客户端121中的一个、一些或全部也可以在系统100外部。
系统100可以包括中央服务器130。
如本文所用,术语“中央服务器”是被布置为以逻辑集中的方式被访问(诸如经由明确定义的API(Application Programming Interface,应用编程接口))的计算机实施的功能性。这种中央服务器的功能性可以完全以计算机软件来实施、或者以软件与虚拟和/或物理硬件的组合来实施。它可以在独立的物理或虚拟服务器计算机上实施,或者分布在几个互连的物理和/或虚拟服务器计算机上。
中央服务器130在其上运行的物理或虚拟硬件(换句话说,限定中央服务器130的功能性的计算机软件)可以包括本身常规的CPU、本身常规的GPU、本身常规的RAM/ROM存储器、本身常规的计算机总线以及本身常规的外部通信功能,诸如互联网连接。
每个视频通信服务110在其被使用的程度上也是所述意义上的中央服务器,其可以是与中央服务器130不同的中央服务器或者是中央服务器130的一部分。
相应地,所述参与者客户端121中的每一个可以是在所述意义上的具有对应解释的中央服务器,并且每个参与者客户端121在其上运行的物理或虚拟硬件(换句话说,限定参与者客户端121的功能的计算机软件)还可以包括本身常规的CPU/GPU、本身常规的RAM/ROM存储器、本身常规的计算机总线以及本身常规的外部通信功能,诸如互联网连接。
每个参与者客户端121通常还包括以下或与以下通信:计算机屏幕,该计算机屏幕被布置为显示作为正在进行的视频通信的一部分提供给参与者客户端121的视频内容;扬声器,该扬声器被布置为发出作为所述视频通信的一部分提供给参与者客户端121的声音内容;摄像机;以及麦克风,该麦克风被布置为将声音本地记录到所述视频通信的人类参与者122,参与者122使用所讨论的参与者客户端121参与所述视频通信。
换句话说,每个参与者客户端121的相应人机接口允许相应参与者122在与其他参与者和/或由各种源提供的音频/视频流的视频通信中与所讨论的客户端121进行交互。
通常,参与者客户端121中的每一个包括相应输入装置123,该相应输入装置可以包括所述摄像机;所述麦克风;键盘;计算机鼠标或触控板;和/或用于接收数字视频流、数字音频流和/或其他数字数据的API。输入装置123特别地被布置为从中央服务器(诸如视频通信服务110和/或中央服务器130)接收视频流和/或音频流,这种视频流和/或音频流作为视频通信的一部分提供并且优选地基于从这种数字数据输入流的至少两个源(例如参与者客户端121和/或外部源(参见下文))提供给所述中央服务器的对应数字数据输入流来生成。
更普遍地,参与者客户端121中的每一个包括相应输出装置124,该相应输出装置可以包括所述计算机屏幕;所述扬声器;以及用于发出数字视频和/或音频流的API,这种流代表使用所讨论的参与者客户端121在本地捕获到参与者122的视频和/或音频。
实际上,每个参与者客户端121可以是布置有屏幕、扬声器、麦克风和互联网连接的移动设备,诸如移动电话,该移动设备本地运行计算机软件或访问远程运行的计算机软件以执行所讨论的参与者客户端121的功能性。相应地,参与者客户端121也可以是使用经由网络浏览器的远程访问功能性等(视情况而定)运行本地安装的应用的厚或薄的膝上型计算机或固定计算机。
可以存在在当前类型的同一视频通信中使用的多于一个(诸如至少三个或者甚至至少四个)参与者客户端121。
可能存在至少两个不同的参与者客户端群组。参与者客户端中的每一个可以被分配到这样的相应群组。这些群组可以反映参与者客户端的不同角色、参与者客户端的不同虚拟或物理位置、和/或参与者客户端的不同交互权限。
各种可用的这种角色可以是例如“领导者”或“参与者”、“说话者”、“小组参与者”、“互动观众”或“远程听众”。
各种可用的这种物理位置可以是例如“在舞台上”、“在小组中”、“在物理上在场的观众中”或“在物理上远程的观众中”。
虚拟位置可以根据物理位置来限定,但是也可以涉及可能与所述物理位置部分重叠的虚拟分组。例如,物理上在场的观众可以被划分为第一虚拟群组和第二虚拟群组,并且一些物理上在场的观众参与者可以与一些物理上较远的观众参与者被分组在同一个虚拟群组中。
各种可用的这种交互权限可以是例如,“完全交互”(没有限制)、“可以讲话但仅在请求麦克风之后”(诸如在视频会议服务中举起虚拟手)、“不能讲话但在普通聊天中写入”或“仅观看/收听”。
在一些情况下,可以根据某些预定的交互权限来限定所限定的每个角色和/或物理/虚拟位置。在其他情况下,具有相同交互权限的全部参与者形成群组。因此,任何所限定的角色、位置和/或交互权限可以反映各种群组分配,并且不同的群组可以是不相交的或重叠的,视情况而定。
这将在下面例示。
视频通信可以至少部分地由视频通信服务110提供,并且至少部分地由中央服务器130提供,如将在本文中描述和例示的那样。
如本文中使用术语那样,“视频通信”是涉及至少两个、优选地至少三个或者甚至至少四个视频流,并且优选地还涉及用于生成一个或几个混合或联合数字视频/音频流的匹配的音频流的交互式数字通信会话,这些视频/音频流又被一个或几个消费者(诸如所讨论类型的参与者客户端)消费,该一个或几个消费者可能或可能不经由视频和/或音频对视频通信做出贡献。这种视频通信是实时的、具有或没有一定的延迟或延时。这种视频通信的至少一个、优选至少两个或者甚至至少四个参与者122以交互方式参与视频通信,提供且消费视频/音频信息。
参与者客户端121中的至少一个或参与者客户端121中的全部可以包括本地同步软件功能125,这将在下文中更详细地描述。
视频通信服务110可以包括或访问公共时间基准,如也将在下文中更详细地描述那样。
至少一个中央服务器130中的每一个可以包括相应API 137,用于与所讨论的中央服务器130外部的实体进行数字通信。这种通信可能涉及输入和输出两者。
系统100(诸如所述中央服务器130)另外可以被布置为与外部信息源300(诸如外部提供的视频流)进行数字通信,并且特别地从该外部信息源接收数字信息(诸如音频和/或视频流数据)。外部信息源300中的“外部”意指该信息源不是由中央服务器130提供的或者不是中央服务器的一部分。优选地,由外部信息源300提供的数字数据独立于中央服务器130,并且中央服务器130不能影响其信息内容。例如,外部信息源130可以是现场捕获的视频和/或音频,诸如公共体育赛事或正在进行的新闻事件或报道的视频和/或音频。外部信息源130也可以由网络相机等捕获,但不是由参与者客户端121中的任何一个捕获。因此,这种捕获的视频可以描绘与参与者客户端121中的任何一个相同的地点,但不是作为参与者客户端121本身的活动的一部分而被捕获的。外部提供的信息源300和内部提供的信息源120之间的一个可能的区别是,内部提供的信息源可以作为并且在其能力方面作为以上限定的类型的视频通信的参与者来提供,而外部提供的信息源300并非如此,而是作为所述视频会议外部的场景的一部分来提供。
还可以存在并行地向中央服务器130提供所述类型的数字信息(诸如音频和/或视频流)的几个外部信息源300。
如图1所示,参与者客户端121中的每一个可以构成如所描述的由所讨论的参与者客户端121提供给视频通信服务110的相应信息(视频和/或音频)流120的源。
系统100(诸如中央服务器130)还可以被布置为与外部消费者150进行数字通信,以及特别地向该外部消费者发出数字信息。例如,由中央服务器130生成的数字视频和/或音频流可以通过所述API 137实时或接近实时地连续提供给一个或几个外部消费者150。同样,外部消费者150中的“外部”意指消费者150不作为中央服务器130的一部分提供,和/或它不是所述视频通信的一方。
除非另外说明,否则本文中的全部功能和通信是数字地和电子地提供的,由在适当的计算机硬件上运行的计算机软件实现,并且通过数字通信网络或信道(诸如因特网)进行通信。
因此,在图1中示出的系统100的配置中,多个参与者客户端121参与由视频通信服务110提供的数字视频通信。每个参与者客户端121因此可以具有与视频通信服务110正在进行的登录、会话等,并且可以参与由视频通信服务110提供的同一个正在进行的视频通信。换句话说,视频通信在参与者客户端121之间“共享”,并且因此也被对应人类参与者122“共享”。
在图1中,中央服务器130包括自动参与者客户端140,该自动参与者客户端是对应于参与者客户端121但不与人类参与者122相关联的自动客户端。相反,自动参与者客户端140作为参与者客户端被添加到视频通信服务110,以参加与参与者客户端121相同的共享视频通信。作为这样的参与者客户端,自动参与者客户端140被授权访问由视频通信服务110作为正在进行的视频通信的一部分提供并且可以经由自动参与者客户端140被中央服务器130消费的(多个)连续生成的数字视频和/或音频流。优选地,自动参与者客户端140从视频通信服务110接收:被分布到或者可以被分布到每个参与者客户端121的公共视频和/或音频流;从参与者客户端121中的一个或几个中的每一个提供给视频通信服务110并由视频通信服务110以原始或修改的形式中继给全部或请求的参与者客户端121的相应视频和/或音频流;和/或公共时间基准。
中央服务器130可以包括收集功能131,该收集功能被布置为从自动参与者客户端140并且还可能地从(多个)所述外部信息源300接收所述类型的视频和/或音频流,用于如下所述的处理,并且然后经由API 137提供生成(诸如共享)视频流。例如,这个生成视频流可以由外部消费者150和/或由视频通信服务110消费以便由视频通信服务110依次分布到参与者客户端121中的全部或任何请求的一个。
图2类似于图1,但是未使用自动客户端参与者140,而是中央服务器130经由视频通信服务110的API 112从正在进行的视频通信接收视频和/或音频流数据。
图3也类似于图1,但是没有示出视频通信服务110。在这种情况下,参与者客户端121直接与中央服务器130的API 137通信,从而例如向中央服务器130提供视频和/或音频流数据和/或从中央服务器130接收视频和/或音频流数据。然后,所生成的共享流可以被提供给外部消费者150和/或提供给客户端参与者121中的一个或几个。
图4更详细地示出了中央服务器130。如所示出那样,所述收集功能131可以包括一个或者优选地几个格式特定的收集功能131a。所述格式特定的收集功能131a中的每一个格式特定的收集功能可以被布置为接收具有预定格式的视频和/或音频流,诸如预定的二进制编码格式和/或预定的流数据容器,并且可以被特别布置为将所述格式的二进制视频和/或音频数据解析为单独的视频帧、视频帧序列和/或时隙。
中央服务器130还可以包括事件检测功能132,该事件检测功能被布置为从收集功能131接收视频和/或音频流数据(诸如二进制流数据),并对所接收的数据流中的每个单独的数据流执行相应事件检测。事件检测功能132可以包括用于执行所述事件检测的AI(Artificial Intelligence,人工智能)部件132a。该事件检测可以在没有首先对单独的收集的流进行时间同步的情况下进行。
中央服务器130还包括同步功能133,该同步功能被布置为对由收集功能131提供的并可能已经由事件检测功能132处理的数据流进行时间同步。同步功能133可以包括用于执行所述时间同步的AI部件133a。
中央服务器130还可以包括模式检测功能134,该模式检测功能被布置为基于所接收的数据流中的至少一个、但在许多情况下至少两个、诸如至少三个或者甚至至少四个、诸如全部的组合来执行模式检测。模式检测还可以基于由事件检测功能132针对所述数据流中的每一个单独数据流检测到的一个或在某些情况下至少两个或更多个事件。由所述模式检测功能134考虑的这种检测到的事件可以相对于每个单独的所收集的流跨时间分布。模式检测功能134可以包括用于执行所述模式检测的AI部件134a。模式检测还可以基于上面讨论的分组,并且特别地被设置为检测仅相对于一个群组、仅相对于某些群体而非全部群组、或者相对于全部群组出现的特定模式。
中央服务器130还包括生成功能135,其被设置为基于从收集功能131提供的数据流并且可能地还基于任何检测到的事件和/或模式,来生成生成数字视频流,诸如共享数字视频流。这种生成视频流可以至少包括被生成以包括由收集功能131提供的一个或几个视频流(原始的、重新格式化的或经变换)的视频流,并且还可以包括对应音频流数据。如将在下面例示的那样,可以存在几个生成视频流,其中一个这样的生成视频流可以以上面讨论的方式但是进一步基于另一已经生成的视频流生成。
全部生成视频流优选地被连续生成,并且优选地接近实时(在扣除下文中讨论的类型的任何延迟和延时之后)地生成。
中央服务器130还可以包括发布功能136,该发布功能被布置为例如经由如上所述的API 137发布生成数字视频流。
注意,图1、图2和图3示出了可以如何使用中央服务器130来实施本文中描述的原理并且特别地提供根据本发明的方法的三个不同示例,但是在使用或不使用一个或多个视频通信服务110的情况下的其他配置也是可能的。
因此,图5示出了用于提供所述生成数字视频流的方法。图6a至图6f示出了由图5中示出的方法步骤生成的不同数字视频/音频数据流状态。
在第一步骤中,方法开始。
在随后的收集步骤中,诸如通过所述收集功能131从至少两个所述数字视频源120、300收集相应主数字视频流210、301。每个这样的主数据流210、301可以包括音频部分214和/或视频部分215。应当理解的是,在这个场景中,“视频”指的是这种数据流的移动和/或静止图像内容。每个主数据流210、301可以根据任何视频/音频编码规范进行编码(使用提供所讨论的主流210、301的实体所使用的相应编解码器),并且在同一视频通信中并发使用的所述主流210、301中的不同流之间,编码格式可以不同。优选的是,主流210、301中的至少一个(诸如全部)被提供为二进制数据流,可能地以本身常规的数据容器数据结构提供。优选的是,主数据流210、301中的至少一个(诸如至少两个)或者甚至全部被提供为相应现场视频记录。
注意,当通过收集功能131接收主流210、301时,这些主流在时间上可能是不同步的。这可能意味着它们与相对于彼此的不同延迟或延时相关联。例如,在两个主视频流210、301是现场记录的情况下,这可能意味着它们在通过收集功能131接收时与相对于记录时间的不同延迟相关联。
还要注意的是,主流210、301本身可以是来自网络相机的相应现场相机馈送、当前共享的屏幕或演示文稿、观看的电影剪辑等、或者以各种方式布置在相同屏幕中的这些的任意组合。
收集步骤在图6a和图6b中示出。在图6b中,还示出了收集功能131可以如何将每个主视频流210、301存储为捆绑的音频/视频信息或存储为与相关联的视频流数据单独的音频流数据。图6b示出了主视频流210、301数据如何被存储为单独的帧213或帧的集合/簇,“帧”在此指的是图像数据和/或任何相关联的音频数据的时间限制的部分,诸如每个帧是单独的静止图像或一起形成移动图像视频内容的连续图像系列(诸如构成最多1秒的移动图像的系列)。
在由事件检测功能132执行的随后的事件检测步骤中,诸如通过所述事件检测功能132并且特别是所述AI部件132a分析所述主数字视频流210、301,以检测从第一事件集合中选择的至少一个事件211。这在图6c中示出。
优选的是,可以对至少一个、诸如至少两个、诸如全部主视频流210、301执行这个事件检测步骤,并且可以对每个这样的主视频流210、301单独执行这个事件检测步骤。换句话说,事件检测步骤优选地在仅考虑作为所讨论的这个特定主视频流210、301的一部分而包含的信息,并且特别是不考虑作为其他主视频流的一部分而包含的信息的情况下针对所述单独的主视频流210、301进行。另外,事件检测优选地在不考虑与几个主视频流210、301相关联的任何公共时间基准260的情况下进行。
另一方面,事件检测优选地考虑在某个时间间隔(诸如长于0秒,诸如至少0.1秒,诸如至少1秒的主视频流的历史时间间隔)内作为所讨论的单独分析的主视频流的一部分而包含的信息。
事件检测可以考虑包含在作为所述主视频流210、301的一部分而包含的音频和/或视频数据中的信息。
所述第一事件集合可以包含任意数量的事件类型,诸如构成或作为所讨论的主视频流210、301的一部分的幻灯片演示文稿中的幻灯片的改变;导致图像品质改变、图像数据的丢失或图像数据恢复的、提供所讨论的主视频流210、301的源120、300的连接性品质方面的改变;以及所讨论的主视频流210、301中的检测到的移动物理事件,诸如视频中的人或物体的移动、视频中的照明的改变、音频中的突然尖锐噪声、或音频品质的改变。应当理解,提出这些示例并不旨在穷尽地列举,而是便于理解目前描述的原理的适用性。
在由同步功能133执行的随后的同步步骤中,对主数字视频流210进行时间同步。这种时间同步可以相对于公共时间基准260。如图6d所示,时间同步可能涉及例如使用所述公共时间基准260将主视频流210、301相互对准,使得它们可以被组合以形成时间同步的场景。公共时间基准260可以是数据流、心跳信号或其他脉冲数据,或者适用于各个主视频流210、301中的每一个的时间锚。公共时间基准可以应用于各个主视频流210、301中的每一个,其方式为使得所讨论的主视频流210、301的信息内容可以相对于公共时间轴明确地与公共时间基准相关。换句话说,公共时间基准可以允许主视频流210、301通过时移来对准,以便在当前意义上时间同步。在其他实施例中,时间同步可以基于关于所讨论的主视频流210、301之间的时间差的已知信息,诸如基于测量。
如图6d所示,时间同步可以包括针对每个主视频流210、301确定一个或几个时间戳261,诸如相对于公共时间基准260;或者相对于另一个视频流210、301或者相对于其他视频流210、301针对每个视频流210、301确定一个或几个时间戳。
在由模式检测功能134执行的随后模式检测步骤中,分析由此经时间同步的主数字视频流210、301以检测从第一模式集合中选择的至少一个模式212。这在图6e中示出。
与事件检测步骤相比,模式检测步骤可以优选地基于作为共同考虑的经时间同步的主视频流210、301中的至少两个的一部分而包含的视频和/或音频信息来执行。
所述第一模式集合可以包含任意数量的类型模式,诸如可互换地或同时交谈的几个参与者、或者作为不同事件(诸如不同的参与者讲话)并发发生的演示幻灯片改变。这个列表并不详尽,而是说明性的。
在替代性实施例中,检测到的模式212可能不涉及包含在所述主视频流210、301中的若干主视频流中的信息,而涉及仅包含在所述主视频流210、301中的一个中的信息。在这种情况下,优选的是,基于跨越至少两个检测到的事件211(例如两个或更多个连续检测到的演示幻灯片改变或连接品质改变)的单个主视频流210、301中包含的视频和/或音频信息来检测这种模式212。作为示例,随着时间彼此快速跟随的几个连续的幻灯片改变可以被检测为一个单独幻灯片改变模式,而不是针对每个检测到的幻灯片改变事件的一个单独的幻灯片改变模式。
认识到的是第一事件集合和所述第一模式集合可以包括使用相应的参数组和参数间隔来定义的预定类型的事件/模式。如下将解释那样,所述集合中的事件/模式也可以或附加地使用各种AI工具来定义和检测。
在由生成功能135执行的随后的生成步骤中,基于经时间同步的主数字视频流210、301的连续考虑的帧213和所述检测到的模式212,将共享数字视频流生成为输出数字视频流230。
如将在下面解释和详述的那样,本发明允许视频流的完全自动生成,诸如输出数字视频流230的完全自动生成。
例如,这种生成可以涉及选择来自什么主视频流210、301的什么视频和/或音频信息在这种输出视频流230中使用到什么程度、输出视频流230的视频屏幕布局、随着时间的不同的这种用途或布局之间的切换模式等。
这在图6f中示出,该图还示出了可以(诸如与公共时间基准260)时间同步并且在生成输出视频流230中与经时间同步的主视频流210、301一起使用的一条或几条附加时间相关(其可能与所述公共时间基准260相关)的数字视频信息220,诸如附加的数字视频信息流。例如,附加流220可以包括关于要使用的任何视频和/或音频效果的信息,诸如动态地基于检测到的模式、用于视频通信的所计划的时间表等。
在由发布功能136执行的随后的发布步骤中,所生成的输出数字视频流230被连续提供给生成数字视频流的消费者110、150,如上所述。生成数字视频流可以被提供给一个或几个参与者客户端121,诸如经由视频通信服务110。
在随后的步骤中,方法结束。然而,首先,方法可以迭代任意次,如图5所示,以生成作为连续提供的流的输出视频流230。优选地,输出视频流230被生成为实时或接近实时地(考虑到由沿途的全部步骤增加的总延迟)并且连续地(当更多信息可用时发布立即进行,但不计数以下描述的有意增加的延迟或延时)消费。这样,输出视频流230可以以交互的方式被消费,使得输出视频流230可以被反馈到视频通信服务110中或被反馈到形成用于再次被馈送到收集功能131的主视频流210的生成的基础的任何其他场景中以便形成闭环反馈;或者使得输出视频流230可以被消费到不同的(系统100外部或至少中央服务器130外部)场景中、但是在那里形成实时、交互式视频通信的基础。
如上所提及那样,在一些实施例中,所述主数字视频流210、301中的至少两个(诸如至少三个,诸如至少四个,或者甚至至少五个)被提供为共享数字视频通信(诸如由所述视频通信服务110提供)的一部分,视频通信涉及提供所讨论的主数字视频流210的相应远程连接的参与者客户端121。在这种情况下,收集步骤可以包括从共享数字视频通信服务110本身收集所述主数字视频流210中的至少一个,诸如经由自动参与者客户端140,该自动参与者客户端进而被授权访问来自所讨论的视频通信服务110内的视频和/或音频流数据;和/或经由视频通信服务110的API 112。
而且,在这种情况和其他情况下,收集步骤可以包括收集所述主数字视频流210、301中的至少一个作为从共享数字视频通信服务110外部的信息源300收集的相应外部数字视频流301。注意,一个或几个所使用的这种外部视频源300也可以在中央服务器130的外部。
在一些实施例中,主视频流210、301不以相同的方式格式化。这种不同的格式化可以呈它们在不同类型的数据容器(诸如AVI或MPEG)中被递送到收集功能131的形式,但是在优选实施例中,就所述偏离的主数字视频流210、301具有偏离的视频编码、偏离的固定或可变帧速率、偏离的纵横比、偏离的视频分辨率、和/或偏离的音频采样率而言,主视频流210、301中的至少一个根据偏离的格式(与所述主视频流210、301中的至少一个其他主视频流相比)被格式化。
优选的是,收集功能131被预先配置为读取和解释出现在全部所收集的主视频流210、301中的全部编码格式、容器标准等。这使得可以执行本文中所述的处理,而不需要任何解码,直到过程中相对较晚时(诸如不需要任何解码直到所讨论的主流被放入相应缓冲器之后、不需要任何解码直到事件检测步骤之后、或者甚至不需要任何解码直到事件检测步骤之后)。然而,在其中主视频馈送210、301中的一个或几个使用收集功能131在不解码的情况下无法解释的编解码器进行编码的罕见情况下,收集功能131可以被布置为执行这种主视频流210、301的解码和分析,随后转换成可以通过例如事件检测功能处理的格式。注意,即使在这种情况下,优选的是在这个阶段不执行任何重新编码。
例如,从多方视频事件(诸如由视频通信服务110提供的多方视频事件)中获取的主视频流220通常具有关于低延迟的要求,并且因此通常与可变帧速率和可变像素分辨率相关联,以使参与者122能够进行有效通信。换句话说,为了低延迟,整体视频和音频品质将根据需要降低。
另一方面,外部视频馈送301通常将具有更稳定的帧速率、更高的品质,但因此可能具有更高的延迟。
因此,视频通信服务110可以在每个时刻使用与外部视频源300不同的编码和/或容器。因此,在这种情况下,本文中描述的分析和视频生成过程需要将这些不同格式的流210、301组合成新的流以以获得组合式体验。
如上所提及那样,收集功能131可以包括格式特定的收集功能131a的集合,每个格式特定的收集功能被布置为处理特定类型格式的主视频流210、301。例如,这些格式特定的收集功能131a中的每一个格式特定的收集功能可以被布置为处理已经使用不同的视频相应编码方法/编解码器(诸如或DivX)编码的主视频流210、301。
然而,在优选实施例中,收集步骤包括将主数字视频流210、301中的至少两个(例如全部)转换为公共协议240。
如这个场景中使用的那样,术语“协议”指的是指定如何存储包含在数字视频/音频流中的信息的信息结构化标准或数据结构。然而,公共协议优选地不指定如何在二进制级别上如此存储数字视频和/或音频信息(即,指示声音和图像本身的经编码/压缩的数据),而是替代地形成用于存储这种数据的预定格式的结构。换句话说,公共协议规定在不执行与这种存储相关的任何数字视频解码或数字视频编码的情况下以原始的二进制形式存储数字视频数据,可能地通过除了可能地级联和/或拆分二进制形式的字节序列之外,根本不修正现有的二进制形式。相反,所讨论的主视频流210、301的原始(经编码/压缩的)二进制数据内容被保留,同时以由协议限定的数据结构重新打包这个原始二进制数据。在一些实施例中,公共协议限定了视频文件容器格式。
作为示例,图7示出了通过相应格式特定的收集功能131a重构并使用所述公共协议240的图6a中示出的主视频流210、301。
因此,公共协议240规定将数字视频和/或音频数据存储在数据集241中,该数据集优选地沿着与所讨论的主视频流210、301相关的时间线被划分离散的连续数据集。每个这样的数据集可以包括一个或几个视频帧、以及相关联的音频数据。
公共协议240还可以规定存储与所存储的数字视频和/或音频数据集241相关的指定时间点相关联的元数据242。
元数据242可以包括关于所讨论的主数字视频流210的原始二进制格式的信息,诸如关于用于生成所述原始二进制数据的数字视频编码方法或编解码器的信息、视频数据的分辨率、视频帧速率、帧速率可变性标志、视频分辨率、视频纵横比、音频压缩算法、或者音频采样率。元数据242还可以包括关于所存储的数据(诸如与由此所讨论的主视频流210、301的时间基准相关或者与如上所讨论的不同视频流相关)的时间戳的信息。
结合所述公共协议240使用所述格式特定的收集功能131a使得可以通过解码/重新编码所接收的视频/音频数据来快速收集主视频流210、301的信息内容而不增加延迟。
因此,收集步骤可以包括使用所述格式特定的收集功能131a中的不同的格式特定的收集功能来收集正在使用不同二进制视频和/或音频编码格式编码的主数字视频流210、301,以便解析所讨论的主视频流210、301,并使用公共协议将经解析的原始的二进制数据以及任何相关元数据存储在数据结构中。不言而喻,关于对什么主视频流210、301使用什么格式特定的收集功能131a的确定可以通过收集功能131基于所讨论的每个主视频流210、301的预定和/或动态检测到的属性来执行。
每个由此收集的主视频流210、301可以存储在中央服务器130中的其自身单独的存储缓冲器(诸如RAM存储缓冲器)中。
通过每个格式特定的收集功能131a执行的主视频流210、301的转换因此可以包括将每个这样经转换的主数字视频流210、301的原始二进制数据拆分为所述较小数据集241的有序集合。
而且,转换还可以包括将所述较小集合241中的每一个(或子集,诸如沿着所讨论的主流210、301的相应时间线规则分布的子集)与沿着共享时间线(诸如与所述公共时间基准260相关)的相应时间相关联。这种关联可以通过分析原始二进制视频和/或音频数据以下文中描述的原理方式中的任何一个或者以其他方式来执行,并且可以被执行为以便能够执行主视频流210、301的随后的时间同步。取决于所使用的公共时间基准的类型,数据集241中的每一个的这种关联的至少一部分还可以或替代地由同步功能133来执行。在后一情况下,收集步骤可以替代地包括将较小集合241中的每一个或子集与所讨论的主流210、301特定的时间线的相应时间相关联。
在一些实施例中,收集步骤还包括将从主视频流210、301收集的原始二进制视频和/或音频数据转换为统一品质和/或更新频率。这可能涉及根据需要将主数字视频流210、301的所述原始二进制数字视频和/或音频数据下采样或上采样到公共视频帧速率、公共视频分辨率、或者公共音频采样率。注意,这种重新采样可以在不执行完全解码/重新编码的情况下执行,或者甚至在根本不执行任何解码的情况下执行,因为所讨论的格式特定的收集功能131a可以根据正确的二进制编码目标格式直接处理原始二进制数据。
所述主数字视频流210、301中的每一个可以作为如上所述并且各自与对应时间戳相关联的单独的帧213或帧序列213存储在单独的数据存储缓冲器250中,该对应时间戳又与所述公共时间基准260相关联。
在被提供来说明这些原理的具体示例中,视频通信服务110是运行涉及并发参与者122的视频会议的自动参与者客户端140被注册为会面中的会面参与者。
然后,主视频输入信号210可用于经由自动参与者客户端140的收集功能130并且经由自动参与者客户端通过收集功能获得。这些是呈H264格式的原始信号,并且包含针对每个视频帧的时间戳信息。
相关的格式特定的收集功能131a在可配置的预定义TCP端口上通过IP(云中的LAN网络)采集原始数据。每个会面参与者以及相关联的音频数据与单独的端口相关联。收集功能131然后使用来自音频信号(其呈50Hz)的时间戳,并且在将视频流220存储在其相应的单独缓冲器250中之前将视频数据下采样为25Hz的固定输出信号。
如所提及的那样,公共协议240可以以原始二进制形式存储数据。它可以被设计为示非常低级的并用于处理视频/音频数据的原始位和字节。在优选实施例中,数据作为简单的字节数组或对应数据结构(诸如片)存储在公共协议240中。这意味着根本不需要将数据放入常规视频容器中(所述公共协议240在这个场景中不构成常规容器)。而且,编码和解码视频在计算量方面很大,这意味着它导致延迟并需要昂贵的硬件。而且,这个问题与参与者的数量成比例。
使用公共协议240,变得可以在收集功能131中为与每个会面参与者122相关联的主视频流210以及还有为任何外部视频源300预留存储器,并且然后在过程期间动态地改变所分配的存储器的量。这样,就可以改变输入流的数量并且结果保持每个缓冲器有效。例如,由于像分辨率、帧速率等信息可能是可变的,但在公共协议240中被存储为元数据,因此这个信息可以用于如可能需要那样快速调整每个缓冲区的大小。
以下是本类型的公共协议240的规范的示例:
在上文中,“检测到的事件(如果有的话)”数据作为公共协议260规范的一部分被包括在内。然而,在一些实施例中,这个信息(关于检测到的事件)可以替代地被放在单独的存储缓冲器中。
在一些实施例中,可以是覆盖物或效果的所述至少一条附加数字视频信息220也作为各自与对应时间戳相关联的单独的帧或帧序列存储在相应单独的缓冲器250中,该对应时间戳又与所述公共时间基准260相关联。
如上所例示那样,事件检测步骤可以包括使用所述公共协议240存储描述检测到的事件211的与其中检测到所讨论的事件211的主数字视频流210、301相关联的元数据242。
事件检测可以以不同的方式执行。在一些实施例中,由AI部件132a执行的事件检测步骤包括第一经训练的神经网络或其他机器学习部件单独分析所述主数字视频流210、301中的至少一个(诸如几个甚至全部),以便自动检测所述事件211中的任何一个。这可以涉及AI部件132a在受管理的分类中将主视频流210、301数据分类到预定义事件的集合中,和/或在非受管理的分类中分类为动态确定的事件集合中。
在一些实施例中,检测到的事件211是作为所讨论的主视频流210、301或者包括在所讨论的主视频流中的演示文稿中的演示幻灯片的改变。
例如,如果演示文稿的演示者决定改变他/她当时给予观众的演示文稿中的幻灯片,这意味着给定观众感兴趣的内容可以改变。可能的是,新示出的幻灯片只是在所谓的“蝴蝶”模式下能够最好地简洁地看的高级图片(例如,在输出视频流230中与演示者的视频并排显示幻灯片)。替代性地,幻灯片可能包含许多细节、具有较小字体大小的文本等。在这个后一情况下,幻灯片应该替代地以全屏演示并且演示比通常情况下长一些的时间段期间。蝴蝶模式可能不是合适的,因为在这种情况下,对于演示文稿的观看者幻灯片可能比演示者的脸更感兴趣。
实际上,事件检测步骤可以包括以下中的至少一个:
首先,可以基于对检测到的幻灯片的第一图像和检测到的幻灯片的随后的第二图像之间的差异的图像分析来检测事件211。可以使用本身常规的数字图像处理(诸如结合OCR(Optical Character Recognition,光学字符识别)使用运动检测)来自动确定作为示出幻灯片的主视频流220、301的性质。
这可能涉及使用自动计算机图像处理技术来检查所检测到的幻灯片是否已经足够大地改变,以实际将其归类为幻灯片改变。这可以通过检查当前幻灯片和前一张幻灯片之间的关于RGB颜色值的差值来完成。例如,人们可以评估在所讨论的幻灯片覆盖的屏幕区域中RGB值全局改变程度,以及是否有可能找到属于一起并且一致地改变的像素群组。这样,可以检测到相关的幻灯片改变,同时例如过滤掉不相关改变,诸如屏幕上示出的计算机鼠标移动。这种方法还允许完全可配置性——例如,有时期望能够捕获计算机鼠标移动,例如当演示者希望使用计算机鼠标指向不同的事物来详细演示某个事物时。
其次,可以基于所述第二图像本身的信息复杂性的图像分析来检测事件211,从而以更大的特异性来确定事件的类型。
例如,这可能涉及评估所讨论的幻灯片上的文本信息总量以及相关联的字体大小。这可以通过使用常规的OCR方法(诸如基于深度学习的字符识别技术)来完成。
注意,由于所评估的视频流210、301的原始二进制格式是已知的,所以这可以直接在二进制域中执行,而无需首先解码或重新编码视频数据。例如,事件检测功能132可以调用用于图像解释服务的相关格式特定的收集功能,或者事件检测功能132本身可以包括用于针对多个不同的所支持的原始二进制视频数据格式评估图像信息(诸如在单个像素级别下)的功能性。
在另一示例中,所检测到的事件211是参与者客户端121到数字视频通信服务110的通信连接的丢失。然后,检测步骤可以包括基于对应于所讨论的参与者客户端121的主数字视频流210的一系列随后视频帧213的图像分析来检测所述参与者客户端121已经失去通信连接。
因为参与者客户端121与不同的物理位置和不同的互联网连接相关联,所以可能发生的是有人将失去与视频通信服务110或与中央服务器130的连接。在这种情况下,期望避免在所生成的输出视频流230中显示黑屏或空白屏幕。
相反,可以由事件检测功能132将这种连接丢失检测为事件,诸如通过应用其中所使用的2个类是连接/未连接(无数据)的2类分类算法。在这种情况下,可以理解的是“无数据”不同于演示者故意发出黑屏。因为短暂的黑屏(诸如仅1或2帧的黑屏)在最终生成流230中可能不明显,所以人们可以随时间应用所述2类分类算法来创建时间序列。然后,指定用于连接中断的最小长度的阈值可以用于决定是否存在丢失的连接。
如将在下文中解释的那样,可以通过模式检测功能134使用这些例示性类型的检测到的事件来采取适当的和期望的各种行动。
如上所提及那样,单独的主视频流210、301可以各自与公共时间基准260相关或者在时域中彼此相关,这使得同步功能133可以对它们彼此时间同步。
在一些实施例中,公共时间基准260基于或包括公共音频信号111(参见图1至图3),公共音频信号111对于涉及如上所述的各自提供所述主数字视频流210中的相应一个的至少两个远程连接的参与者客户端121的共享数字视频通信服务110是公共的。
在上面讨论的的示例中,公共音频信号经由自动参与者客户端140和/或经由API 112生成并可以由中央服务器130捕获。在这个示例和其他示例中,这种公共音频信号可以用作心跳信号,以通过基于这个心跳信号将单独的主视频流220绑定到特定时间点来对各个主视频流进行时间同步。这种公共音频信号可以作为单独的(相对于其他主视频流210中的每一个)信号来提供,由此其他主视频流210可以各自基于所讨论的其他主视频流210中包含的音频或者甚至基于其中包含的图像信息(诸如使用基于自动图像处理的唇音同步技术)而单独地与公共音频信号时间相关。
换句话说,为了处理与单独的主视频流210相关联的任何可变和/或不同的延迟,并且为了实现针对组合式视频输出流230的时间同步,这种公共音频信号被用作用于中央服务器130中的全部主视频流210(但可能不是外部主视频流301)的心跳。换句话说,全部其他信号映射到这个公共音频时间心跳,以确保一切处于时间同步。
在不同的示例中,使用被引入到输出数字视频流230中并通过被提供为参与者客户端121中的一个或几个单独参与者客户端的一部分的相应本地时间同步软件功能125检测的时间同步元素231来实现时间同步,本地软件功能125被布置为检测输出视频流230中的时间同步元素231的到达时间。如所理解的那样,在这样的实施例中,输出视频流230被反馈到视频通信服务110中,或者以其他方式使其对每个参与者客户端121和所讨论的本地软件功能125可用。
例如,时间同步元件231可以是视觉标记,诸如以预定顺序或方式改变颜色的、以规则的时间间隔放置或更新在输出视频230中的像素;在输出视频230中更新和显示的可视时钟;被添加到形成输出视频流230的一部分的音频中的声音信号(其可以通过例如具有足够低的幅值和/或足够高的频率而被设计为对于参与者122是听不见的)。本地软件功能125被布置为使用合适的图像和/或音频处理来自动检测(多个)时间同步元件231中的每一个的相应到达时间(或检测(多个)时间同步元件中的每一个)。
然后,可以至少部分地基于所述检测到的到达时间来确定公共时间基准260。例如,本地软件功能125中的每一个可以向中央服务器130通信传送表示所述检测到的到达时间的相应信息。
这种通信可以经由所讨论的参与者客户端121和中央服务器130之间的直接通信链路来进行。然而,通信也可以经由与所讨论的参与者客户端121相关联的主视频流210进行。例如,参与者客户端121可以在由所讨论的参与者客户端121生成的主视频流210中引入诸如以上讨论的类型的可视或可听代码,用于由中央服务器130进行自动检测并用于确定公共时间基准260。
在再附加的示例中,每个参与者客户端121可以在可用于由视频通信服务110的全部参与者客户端121观看的公共视频流中执行图像检测,并且以对应于以上讨论的方式的方式将这种图像检测的结果中继到中央服务器130,以在那里用于随时间确定每个参与者客户端121相对于彼此的相应偏移。这样,公共时间基准260可以被确定为单独相对偏移的集合。例如,通常可用的视频流的所选择的参考像素可以由几个或全部参与者客户端121监控,诸如由所述本地软件功能125监控,并且这个像素的当前颜色可以被通信传送到中央服务器130。中央服务器130可以基于从多个(或全部)参与者客户端121中的每一个连续接收的这种颜色值来计算相应时间序列,并执行交叉相关,从而导致不同参与者客户端121之间的相对时间偏移的估计集合。
实际上,被馈送到视频通信服务110中的输出视频流230可以被包括作为所讨论的视频通信的每个参与者客户端的共享屏幕的一部分,并且因此可以被用于评估与参与者客户端121相关联的这种时间偏移。特别地,馈送到视频通信服务110的输出视频流230可以经由自动参与者客户端140和/或API 112再次可用于中央服务器。
在一些实施例中,公共时间基准260可以至少部分地基于所述主数字视频流210、301中的第一主数字视频流的音频部分214和所述第一主数字视频流210、301的图像部分215之间的检测到的差异来确定。例如,这种差异可以基于在所讨论的所述第一主数字视频流210、301中观看的讲话参与者122的数字唇音同步视频图像分析。这种唇音同步分析同样是常规的,并且可以例如使用经过训练的神经网络。可以通过同步功能133针对与可用公共音频信息相关的每个主视频流210、301执行分析,并且可以基于这个信息确定各个主视频流210、301之间的相对偏移。
在一些实施例中,同步步骤包括有意地引入至多30秒的延迟(诸如至多5秒,诸如至多1秒,诸如至多0.5秒,但长于0秒的延迟)(在本上下文中,术语“延时”和“延迟”旨在是指相同事物),使得输出数字视频流230至少以所述延时提供。无论如何,有意引入的延时是至少几个视频帧,诸如至少三个,或者甚至至少五个或者甚至10个视频帧,诸如在收集步骤中的任何重新采样之后存储的这个数量的帧(或者单个图像)。如本文所使用那样,术语“有意地”无论是否需要基于同步问题等引入该延迟,均引入该延迟。换句话说,除了作为主视频流210、301的同步的一部分而引入的任何延时之外,还引入了有意引入的延时,以便使主视频流相对于彼此时间同步。相对于公共时间基准260,有意引入的延时可以是预定的、固定的或可变的。延时时间可以相对于主视频流210、301中最少延迟的一个来测量,使得作为所述时间同步的结果,这些流210、301中的更多延时的流与相对较小的有意增加的延迟相关联。
在一些实施例中,引入了相对较小的延时,诸如0.5秒或更小的延时。使用输出视频流230的视频通信服务110的参与者将几乎察觉不到这种延时。在其他实施例中,诸如当输出视频流230将不在交互式场景中使用而是替代地以单向通信发布给外部消费者150时,可能引入更大的延时。
这种故意引入的延迟可能足以实现用于同步功能133将所收集的各个主流210、301视频帧映射到正确的公共时间基准260时间戳261上的足够的时间。它还可能足以允许足够的时间来执行上述事件检测,以便检测丢失的主流210、301信号、幻灯片改变、分辨率改变等。另外,故意引入所述延时可能足以允许改进的模式检测功能134,如将在下文中描述的那样。
认识到的是所述延时的引入可能涉及在使用所讨论的所缓冲的帧213发布输出视频流230之前缓冲250所收集的和经时间同步的主视频流210、301中的每一个。换句话说,主视频流210、301中的至少一个、几个或甚至全部的视频和/或音频数据然后可以以缓冲的方式存在于中央服务器130中,很像以能够处理变化的带宽情况为目的但出于上述原因使用(特别地要由模式检测功能134使用)的缓存但不是(像常规缓存缓冲器)。
因此,在一些实施例中,所述模式检测步骤包括考虑主数字视频流210、301中的至少一个(诸如几个、诸如至少四个、或甚至全部)的特定信息,该信息存在于还将用于生成输出数字视频流230的经时间同步的主数字视频流210的帧之后的帧213中。因此,在形成输出视频流230的一部分(或用于输出视频流的基础)之前的特定延迟期间,新添加的帧213将存在于所讨论的缓冲器250中。在这个时间段期间,所讨论的帧213中的信息将构成与当前使用的帧相关的“未来”的信息,以生成输出视频流230的当前帧。一旦输出视频流230时间线到达所讨论的帧213,它将被用于生成输出视频流230的对应帧并且此后可以被丢弃。
换句话说,模式检测功能134能够具有仍未用于生成输出视频流230的视频/音频帧213的集合,并可以所使用这个数据来检测所述模式。
模式检测可以以不同的方式执行。在一些实施例中,由AI部件134a执行的模式检测步骤包括第二经训练的神经网络或其他机器学习部件一起分析所述主数字视频流120、301中的至少两个(诸如至少三个、诸如至少四个、或甚至全部)以自动检测所述模式212。
在一些实施例中,检测到的模式212包括涉及共享视频通信服务110的至少两个(诸如至少三个、诸如至少四个)不同说话参与者122(各自与相应参与者客户端121相关联)的说话模式,所述说话参与者122中的每一个在所述主数字视频流210、301中的相应一个中被可视地观看。
生成步骤优选地包括确定、跟踪和更新输出视频流230的当前生成状态。例如,这样的状态可以指示在输出视频流230中什么(如果有的话)参与者122是可见的、以及在屏幕上的什么位置;任何外部视频流300在输出视频流230中是否可见,以及在屏幕上的什么位置;任何幻灯片或共享屏幕以全屏模式示出还是以与任何实时视频流结合示出等等。因此,生成功能135可以被视为关于所生成的输出视频流230的状态机。
为了生成输出视频流230作为将由例如终端消费者150观看的组合式视频体验,有利的是中央服务器130能够理解比仅仅检测到与各个主视频流210、301相关联的各个事件更深层次上发生的事情。
在第一示例中,演示参与者客户端121正在改变当前观看的幻灯片。如上所述,这个幻灯片改变通过事件检测功能132检测,并且元数据242被添加到所讨论的帧,从而指示已经发生了幻灯片改变。这发生多次,因为演示参与者客户端121结果是快速连续地向前跳过多个幻灯片,从而导致由事件检测功能132检测到并与对应元数据242一起存储在所讨论的主视频流210的单独缓冲器250中的一系列“幻灯片改变”事件。实际上,每个这样快速向前跳过的幻灯片可能仅在几分之一秒内可见。
查看所讨论的缓冲器250中的信息、跨越这些检测到的幻灯片改变中的几个的模式检测功能134将检测对应于单个幻灯片改变(即,对应于向前跳过中的最后幻灯片,一旦快速跳过完成,幻灯片保持可见)的模式,而不是多个或快速执行的幻灯片改变。换句话说,模式检测功能134将注意到,例如,在非常短的时间段内存在十个幻灯片改变,为什么它们将被处理为表示一个单个幻灯片改变的所检测到的模式。结果,访问由模式检测功能134检测到的模式的生成功能135可以选择以全屏模式在输出视频流230中示出最后的幻灯片持续几秒钟,因为它确定这个幻灯片在所述状态机中潜在地是重要的。它也可以选择在输出流230中根本不示出中间观看的幻灯片。
具有几个快速改变的幻灯片的模式的检测可以通过简单的基于规则的算法来检测,但是可以替代性地使用被设计和训练为通过分类来检测移动图像中的这种模式的经训练的神经网络来检测。
在不同的示例中,这例如在视频通信是脱口秀、小组辩论等的情况下可能是有用的,可能期望在一方面当前说话者之间快速切换视觉注意力,而另一方面仍然通过生成和发布平静且平滑的输出视频流230来给予消费者150相关的观看体验。在这种情况下,事件检测功能132可以连续地分析每个主视频流210、301,以一直确定在这个特定主视频流210、301中被观看的人当前是否正在说话。例如,这可以如上所述使用本身常规的图像处理工具来执行。然后,模式检测功能134可以可操作以检测涉及所述主视频流210、301中的几个的特定整体模式,所述模式对于生成平滑的输出视频流230是有用的。例如,模式检测功能134可以检测当前说话者之间的非常频繁切换的模式和/或涉及几个并发说话者的模式。
然后,生成功能135可以在采取与所述生成状态相关的自动决策时考虑这种检测到的模式,例如通过不会自动将视觉焦点切换到仅说话持续半秒钟之后就再次沉默的说话者,或者切换到其中在当两个说话者交替或并发地说话时的某个时间段期间并排显示几个说话者的状态。这个状态判定过程本身可以使用时间序列模式识别技术或者使用训练过的神经网络来执行,但是也可以至少部分地基于预定的规则集合。
在一些实施例中,可以存在并行检测到的多个模式,并形成对生成功能135状态机的输入。这样的多个模式可以由生成功能135通过不同的AI部件、计算机视觉检测算法等使用。作为示例,可以在并发地检测一些参与者客户端121的不稳定连接的同时检测永久幻灯片改变,而其他模式检测当前主要说话参与者122。使用全部这种可用的模式数据,可以训练分类器神经网络,和/或可以开发规则集合,用于分析这种模式数据的时间序列。这种分类可以至少部分地(诸如完全地)被监督,以导致要在所述生成中使用的所确定的期望状态变化。例如,可以生成不同的这种预定分类器,特别地被布置为根据各种不同的生产风格和期望自动生成输出视频流230。训练可以基于作为期望输出的已知生产状态改变序列和作为训练数据的已知模式时间序列数据。在一些实施例中,贝叶斯模型可以用于生成这样的分类器。在具体示例中,可以从有经验的制作人先验地收集信息,从而提供诸如“在脱口秀中,我从不直接从说话者A切换到说话者B,而是总是在我聚焦于另一说话者之前首先示出概述,除非另一说话者非常占优势并且说话声音很大”的输入。然后,这个生成逻辑被表示为呈一般形式“如果X为真|假定Y为真的事实|执行Z”的贝叶斯模型。实际检测(某人是否大声说话等的实际检测)可以使用分类器或基于阈值的规则来执行。
通过较大数据集(模式时间序列数据的较大数据集),人们可以使用深度学习方法来开发正确且有吸引力的生成格式,以便在视频流的自动化生成中使用。
总之,使用基于各个主视频流210、301的事件检测的组合、有意引入的延时、基于几个经时间同步的主视频流210、301和检测到的事件的模式检测、以及基于检测到的模式的生成过程使得可以根据多种可能的品味和风格选择来实现输出数字视频流230的自动生成。这个结果在由事件检测功能132、模式检测功能134和生成功能135所使用的各种可能的神经网络和/或基于规则的分析技术中都是有效的。特别地,它在以下描述的实施例中是有效的,这些实施例的特征是第一生成视频流被用于第二生成视频流的自动生成;并且对不同参与者客户端群组使用不同的有意添加的延时。
如上所例示那样,生成步骤可以包括基于关于所述输出数字视频流230中的所述主数字视频流210、301中的单独视频流的可见性的预定和/或动态可变参数的集合、视觉和/或听觉视频内容布置、所使用的视觉或听觉效果、和/或输出数字视频流230的输出模式来生成输出数字视频流230。这些参数可以由所述生成功能135状态机自动确定和/或由控制生成的操作者设置(使其半自动)和/或基于某些先验配置期望(诸如输出视频流230布局=改变或以上例示类型的状态改变之间的最短时间)预先确定。
在实际示例中,状态机可以支持可以应用于输出视频流230的预定标准布局的集合,诸如全屏演示者视图(全屏示出当前说话的参与者122)、幻灯片视图(全屏示出当前共享的演示幻灯片)、“蝴蝶视图”(以并排视图示出当前说话的参与者122以及当前共享的演示幻灯片)、多说话者视图(并排或以矩阵布局示出全部参与者122或参与者的所选择的子集)等。各种可用生成格式可以由状态机状态改变规则的集合(如上所述)和可用状态集合(诸如所述标准布局集合)来限定。例如,一个生成格式可以是“小组讨论”,另一生成格式可以是“演示”等。通过经由到中央服务器130的GUI或其他接口选择特定生成格式,系统100的操作者可以快速从预定义的这种生成格式集合中选择一个生成格式,并且然后允许中央服务器130基于如上所述的可用信息根据所讨论的生成格式完全自动地生成输出视频流230。
另外,在生成期间,如上所述,针对每个会面参与者客户端121或外部视频源300创建并保持相应存储器内缓冲器。这些缓冲器可以很容易地现场移除、添加和改变。然后,中央服务器130可以被布置为在输出视频流230的生成期间接收关于所添加/减少的参与者客户端121和被安排用于递送语音的参与者122、计划的或意外的演示暂停/恢复、对当前使用的生产格式的期望改变等的信息。如上所述,这种信息例如可以经由操作者GUI或界面被馈送到中央服务器130。
如上所例示那样,在一些实施例中,主数字视频流210、301中的至少一个被提供给数字视频通信服务110,并且然后发布步骤可以包括将所述输出数字视频流230提供给相同的通信服务110。例如,输出视频流230可以被提供给视频通信服务110的参与者客户端121,或者经由API 112作为外部视频流被提供给视频通信服务110。这样,使得输出视频流230可以可用于当前由视频通信服务110实现的视频通信事件的参与者中的几个或全部。
同样如上所讨论那样,附加地或替代性地,输出视频流230可以被提供给一个或几个外部消费者150。
总体而言,生成步骤可以由中央服务器130执行,从而经由API 137将所述输出数字视频流230作为现场视频流提供给一个或几个并发消费者。
图8a示出了根据本发明第一方面的方法,该方法将在下文中参考上文已经描述的内容进行描述。即,在图8a中示出的用于提供数字视频流(其在下文中表示为“第二”数字视频流)的方法中,可以应用以上关于数字视频流收集、事件检测、同步、模式检测、生成和发布的全部机制和原理。
关于示出了根据本发明第二方面的方法的图8b、示出了根据本发明的第三方面的方法的图8c、以及示出了根据本发明第四方面的方法的图8d总体上是对应的。
所述第一方面、第二方面、第三方面和第四方面可以自由组合。特别地,根据第四方面的方法可以与根据第一方面、第二方面和第三方面中任一个的方法组合使用。
而且,图9是处于用于执行图8a至图8d中示出的方法的配置中的系统100的简化视图。
中央服务器130包括收集功能131,该收集功能可以如上所述。
中央服务器130还包括第一生成功能135’、第二生成功能135”和第三生成功能135”’。每个这样的生成功能135’、135”、135”’对应于生成功能135,并且上面关于生成功能135的所述的内容同样适用于生成功能135’、135”和135”’。根据中央服务器130的详细配置,生成功能135’、135”、135”’可以是不同的,或者可以与几个功能共同布置在一个单个逻辑功能中,并且也可以是三个以上的生成功能。生成功能135’、135”、135”’在某些情况下可以是同一生成功能135的不同功能方面,视情况而定。生成功能135’、135”、135”’和其他实体之间的各种通信可以经由合适的API进行。
还认识到的是,根据详细的配置,对于生成功能135’、135”、135”’中的每一个或这种生成功能的群组,可以存在单独的收集功能131中,并且可以存在几个逻辑上单独的中央服务器130中,每个中央服务器具有相应收集功能131。
而且,中央服务器130包括第一发布功能136’、第二发布功能136”和第三发布功能136”’。每个这样的发布功能136’、136”、136”’对应于发布功能136,并且上面关于发布功能136的所述的内容同样适用于发布功能136’、136”’和136”’。根据中央服务器130的详细配置,发布功能136’、136”、136”’可以是不同的,或者可以与几个功能共同布置在一个单个逻辑功能中,并且也可以是三个以上的发布功能。发布功能136’、136”、136”’在某些情况下可以是同一发布功能136的不同功能方面,视情况而定。
在图9中,示出了参与者客户端的三个集合或群组以示出本文中描述的原理,每个集合或群组对应于上述参与者客户端121。因此,存在这样的参与者客户端121’的第一群组、这样的参与者客户端121”的第二群组、以及这样的参与者客户端121”’的第三群组。这些群组中的每一个可以包括一个或者优选地至少两个参与者客户端。根据详细配置,可以只有两个这样的群组,或者多于三个这样的群组。群组121’、121”、121”’之间的分配在每个参与者客户端121被分配给最多一个这样的群组121’、121”、121”’的意义上可以是排他性的。在替代性配置中,至少一个参与者客户端121可以同时被分配给多于一个这样的群组121’、121”、121”’。
图9还示出了外部消费者150,并且认识到的是,可能存在多于一个如上所述的外部消费者150。
为了简单起见,图9没有示出视频通信服务110,但是应该认识到的是,以上讨论的一般类型的视频通信服务可以与中央服务器130一起使用,诸如以以上讨论的方式使用中央服务器130向每个参与者客户端121提供共享视频通信服务。
回到图8a,在第一步骤中,方法开始。
在随后的收集步骤中,收集多个所述主视频流,在这个例示性情况下,至少收集各自从相应参与者客户端121收集的第一主数字视频流、第二主数字视频流和第三主数字视频流。因此,从第一参与者客户端收集第一主数字视频流,从第二参与者客户端收集第二主数字视频流,以及从第三参与者客户端收集第三主数字视频流。
在随后的发布步骤中,至少一个视频流被提供给所述第一参与者客户端和所述第二参与者客户端中的至少一个。也就是说,视频流是所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个。这种主视频流的生成可以如下所述由第一生成功能135’执行,并且作为所讨论的生成的结果可以例如包括引入第一生成数字视频流的延迟。
所讨论的提供和发布可以是连续的,并且可以是实时的。
例如,第一参与者和第二参与者可以参加相同的视频通信服务(诸如视频会议),如同样在本文中别处所述。然后,例如,可以向第一参与者客户端121提供第二数字视频流以在第一参与者客户端121的屏幕124上观看,反之亦然,使得第一和第二参与者客户端121用户122可以看见彼此并进行交互。另外或替代地,可以向第一参与者客户端和第二参与者客户端中的每一个或其中的一个提供所述第一生成数字视频流,以便在所讨论的参与者客户端121的相应屏幕124上观看。在第一生成数字视频流以及第一主视频流和第二主视频流中任一个两者被串联提供的情况下,所讨论的主视频流可以被延时(如下所述),以便对所讨论的参与者客户端121上显示的视频流进行时间同步。
在由第二生成功能135”执行的随后的第二生成步骤中,基于所述第一主数字视频流、所述第二主数字视频流并且还基于所述第三主数字视频流,将第二生成视频流生成为数字视频流。注意,第三主数字视频流优选地不被提供给第一参与者客户端或第二参与者客户端(既不是原样也不是作为生成数字视频流的一部分)。如本文别处所述,与第三参与者客户端相比,第一参与者客户端和第二参与者客户端可以被分配给不同的参与者客户端群组。
第二生成步骤包括引入时间延时,使得第二生成视频流与在所述发布步骤中可能提供给所述第一参与者客户端或第二参与者客户端的视频流中的任何一个不时间同步。这个时间延时可以以本文中描述的方式中的任何一个被有意添加和/或作为第二生成数字视频流的生成的直接结果。优选地,相对于在第一参与者客户端和/或第二参与者客户端处发布的任何视频流,第二生成数字视频流可用于以一定延时发布。关于此的一种思考方式是第二生成数字视频流的任何消费客户端在稍微在第一参与者客户端和第二参与者客户端的视频流消费“时区”之后的“时区”中消费这个第二生成数字视频流。
例如,在一个或几个主数字视频流被提供给第一参与者客户端和/或第二参与者客户端的情况下,这种提供可以是直接的(在不使用任何有意引入的时间延时的情况下)和/或在提供给所讨论的参与者客户端之前仅涉及计算上相对轻量的处理;而第二生成数字视频流的生成可能涉及有意引入的时间延时和/或相对重量级的处理,从而导致第二生成数字视频流相对于用于第一主数字视频流和/或第二主数字视频流的发布的最早延时以一定延时被生成用于最早发布。在第一生成视频流被提供给第一参与者客户端和/或第二参与者客户端的情况下,第一生成数字视频流使用相对短的有意添加的时间延时和/或相对轻量级的处理生成,而第二生成数字视频流使用相对长的有意添加的时间延时和/或相对重量级的处理生成,从而导致第二生成数字视频流相应地相对于第一生成数字视频流的最早延迟以一定延迟被生成用于最早发布。
通常,第二生成数字视频流不被提供用于在第一参与者客户端或第二参与者客户端处发布,而是替代地在被分配到与第一客户端和第二客户端所属的群组不同的群组(诸如第一群组121’)的参与者客户端(诸如第三参与者客户端(被分配到不同的群组,诸如第二群组121”)和/或外部消费客户端151)处发布。
因此,如图8a所示,所述发布步骤还包括向不是第一参与者客户端或第二参与者客户端的至少一个消费客户端121、150连续提供第二生成视频流。
同样如图8a所示,该方法可以迭代、连续地生成和提供/发布所讨论的数字视频流。
在随后的步骤中,方法结束。
图8b示出了根据所述第二方面的方法。
在第一步骤中,方法开始。
在随后的收集步骤中,收集多个所述主视频流,在这个例示性情况下,收集从选自所述第一参与者客户端群组的相应参与者客户端121’收集的至少第一主数字视频流和第二主数字视频流。
如图8a中示出的方法的情况那样,收集可以如上所述,收集功能131例如处理原始数据而不执行任何重新编码。还可以存在以生成第一生成数字视频流为目的应用于从第一参与者客户端群组121’收集的主数字视频流的上述一般类型的事件检测步骤、同步步骤和模式检测步骤。
也就是说,在随后的第一生成步骤中,第一生成功能135’从收集功能131接收所述第一主视频流和第二主视频流作为相应数字视频流,并基于所述第一主数字视频流和第二主数字视频流生成所述第一生成数字视频流。优选地,除了分配给所述第一群组121’的参与者客户端之外,第一数字视频流不基于任何其他参与者客户端121(该任何其他参与者客户端以允许这种其他参与者客户端121在所述视频通信服务110中与第一群组121’成员交互的方式连接到相同视频通信服务110)生成。另一方面,第一生成视频流可以基于其他信息生成,诸如外部视频馈送、静态数据或图形。为了清楚起见,关于图8b描述的这些和其他事情也可以应用于图8a、图8c和图8d中示出的方法。
因此,这个第一生成的结果是上述类型的所生成的数字视频流,该生成的数字视频流可以例如在视觉上包括呈处理或未处理的形式的所讨论的主视频流中的一个或几个作为子部分。这个第一生成视频流可以包括现场捕获的视频流、幻灯片、外部提供的视频或图像等,如上文关于由中央服务器130生成的视频输出流一般描述的那样。第一生成视频流也可以以上述一般方式基于由第一群组121’参与者客户端提供的故意延时的或实时的第一主视频流和/或第二主视频流的检测到的事件和/或模式来生成。
在随后的第二生成步骤中,基于所述第一生成视频流并且还基于从第一参与者客户端群组121’收集的所述第一主数字视频流和第二主数字视频流两者,将第二生成数字视频流生成为数字视频流。第一主数字视频流和第二主数字视频流可以从收集功能131提供给第二生成功能135”;而第一生成视频流可以从第一生成功能135’提供给第二生成功能135”。在第一生成功能135’和第二生成功能135”是同一个逻辑单元的情况下(其可能是这种情况),生成简单地发生在这个生成功能中的两个连续步骤中。
在随后的步骤中,方法结束。
认识到的是可以在第二生成步骤135”之前以各种方式对馈送到第二生成步骤135”的所述第一主视频流和/或第二主视频流进行预格式化。它们也可以被有意延时,以便如上所述检测事件和/或模式。
第二生成步骤可以类似于上述生成步骤中的任何一个,并且上面已经关于生成功能135、135’的起作用所述的全部内容也相应地适用于第二生成功能135”。例如,作为生成过程的一部分,第二生成功能135”可以通过以各种方式格式化主视频流来生成第二生成视频流。
如所提及那样,第一主视频流和第二主视频流在被馈送到第一生成功能135’之前可以彼此时间同步,诸如以上面讨论的方式中的任何一个使用公共时间基准。
然而,在所述第二生成步骤中,第一主数字视频流和第二主数字视频流可以被有意地时间延时(例如,除了被执行用于对主视频流彼此进行时间同步和/或能够检测用于在第一生成功能135’中使用的事件和/或模式的任何已经应用的时间延时之外,还被有意时间延时)。这个现在有意引入的时间延时的目的和结果是在用于第二生成视频流之前将它们与第一生成视频流时间同步。因此,相对于第一主视频流和第二主视频流引入的附加延时等于与执行第一生成步骤相关联的延迟、基本等于与执行第一生成步骤相关联的延迟或至少被确定为与执行第一生成步骤相关联的延迟的函数。例如,可以基于上述一般类型的所检测到的公共时间基准来确定要添加的确切延迟。
也就是说,其中生成第一生成视频的第一生成步骤通常与一定的延迟相关联(由于第一生成步骤135’本身的数据处理),该延迟可能取决于例如可用的计算机能力和第一生成步骤135’复杂性。对于所述第一视频流和第二视频流本身来说,这种延迟通常不存在(或者任何延迟无论如何都更小),所述第一视频流和第二视频流被简单地捕获,可选地以所提及的方式进行处理,并且然后由收集功能131提供给第二生成功能135”并由其使用。
通过在考虑到由第一生成步骤导致的第一生成视频流的延迟的情况下有意地向所述第一主视频流和第二主视频流引入这个(附加)延时以便对这三个视频流进行时间同步,即使在其中第二生成视频流不仅基于第一主视频流和第二主视频流而且还基于第一生成视频流(该第一生成视频流又基于相同的第一主视频流和第二主视频流生成)生成的情况下,也可以生成第二视频流而没有任何同步问题。即,然后基于经时间延时的第一主数字视频流和第二主数字视频流生成第二生成视频流。
因此,第一生成视频流可以被馈送到第二生成步骤135”,第二生成视频流因此使用两个(或更多个)生成步骤135’、135”生成,其中相同的主视频流在与相对于由收集功能131提供的主视频流的公共时间基准的不同延迟相关联的至少两个这样的生成步骤中使用。
在示意性示例中,第一群组121’参与者客户端是使用视频通信服务110以相对低的延迟进行通信的辩论小组的一部分,这些参与者客户端中的每一个被连续地馈送第一生成视频流(或彼此的相应主视频流,如以上结合图8a所述)。辩论小组的观众由被连续馈送第二生成视频流的第二群组121”参与者客户端构成,第二生成视频流又与稍高的延迟相关联。第二生成视频流可以以以上讨论的一般方式自动生成,以在单独辩论小组说话者(分配给第一群组121’的参与者客户端,这样的视图直接从收集功能131提供)的视图与示出全部辩论小组说话者的生成视图(这个视图是第一生成视频流)之间自动切换。使用根据第一方面和/或第二方面的本发明,观众可以接收良好体验,同时小组说话者可以以最小的延迟彼此交互。
结合第二生成步骤有意添加到第一主视频流和第二主视频流的延时可以是至少0.1s,诸如至少0.2s,诸如至少0.5s;并且可以是最多5s,诸如最多2s,诸如最多1s。它还可以取决于与每个主视频流相关联的继承延迟,以便实现第一主视频流和第二主视频流以及还有第一生成视频流之间的完全时间同步。
应当理解的是,第一主视频流和第二主视频流以及第一生成视频流可以全部被附加地有意延时,以便以上述一般方式改进用于在第二生成功能135”中使用的模式检测。
图9示出了发布由中央服务器130生成的各种生成视频流的多种替代性或并发方式。
总体而言,在由被布置为从第一生成功能135’接收第一生成视频流的第一发布功能136’执行的随后的发布步骤中,所述第一生成视频流可以被连续地提供给第一参与者客户端121和第二参与者客户端121中的至少一个。例如,这个第一参与者客户端可以是来自提供第一主数字视频流的群组121’的参与者客户端,和/或第二参与者客户端可以是来自提供第二主数字视频流的群组121’的参与者客户端。
换句话说,第一生成视频流可以被连续地提供给所述第一参与者客户端和所述第二参与者客户端中的至少一个。
在一些实施例中,群组121’的参与者客户端中的一个或几个也可以通过第二发布功能136”接收第二生成视频流,该第二发布功能又被布置为从第二生成功能135”接收第二生成视频流。
因此,被分配给第一群组121’的主视频流提供参与者客户端中的每一个如果没有被直接提供所述主数字视频流的话可以被提供第一生成视频流,这涉及由于所述主视频流之间的同步而导致的特定延时或延迟以及还有可能有意地添加延时或延迟,以便允许足够的时间用于事件和/或模式检测,如上所述。
相应地,被分配到第二群组121”的参与者客户端中的每一个可以被提供第二生成视频流,也包括与第二生成步骤相关的所述有意添加的延迟,添加的目的是使第一生成视频流与所述第一主视频流和第二主视频流时间同步。这种额外的延时可能或可能不导致第二群组121”的参与者客户端之间的通信困难,例如因为它们以与第一群组121’参与者不同的方式与视频通信服务110交互(参见下文)。在其他实施例中(诸如当第一群组121’参与者客户端被直接提供主数字视频流时),分配给第二群组121”的参与者客户端中的每一个可以被直接提供第一生成视频流。
因此,第一群组121’参与者客户端形成当前参与所讨论的视频通信服务110的、在比任何参与者客户端稍微提前(诸如提前1至3秒)的“时区”中存在并使用所讨论的服务,而不是被连续提供所生成的视频流(诸如第一生成视频流或第二生成视频流)的全部参与者客户端121的子群组。然而,其他参与者客户端(未被分配给第一群组121’而是被分配给第二群组121”)将被连续地提供第二生成视频流,该第二生成视频流基于第一主视频流和第二主视频流但是在稍晚的“时区”中生成(并且在每个时间点可以包含第一主视频流和第二主视频流中的任一个或两个)。由于第一生成视频流直接基于第一主视频流和第二主视频流生成,而没有添加任何延时或延迟来将它们与基于主视频流本身的已经生成的视频流进行时间同步,因此这些参与者客户端121可以获得更直接、低延迟的视频通信服务110体验。
同样,这也可能意味着分配给第一群组121’的参与者客户端121未被提供对第二生成视频流的访问。
即,所述第一主数字视频流和第二主数字视频流可以作为以上讨论的一般类型的共享数字视频通信服务110的一部分来提供,并且所述第一参与者客户端和所述第二参与者客户端(属于相同的第一群组121’)两者可以是与所述共享数字视频通信服务110的相应远程连接的参与者客户端。所述第二群组121″参与者客户端(以及还有第三群组121”’参与者客户端)也可以是与所述共享数字视频通信服务1110的远程连接的参与者客户端。
认识到的是,在这个场景下,“远程连接”不一定意味着这样的参与者客户端121或对应用户122位于不同的房间、场所或地理位置,而是用户122使用所讨论的参与者客户端121与视频通信服务110进行音频/视觉交互。
所述收集步骤可以包括从共享数字视频通信服务110收集所述第一主数字视频流和/或第二主数字视频流,诸如以上面讨论的方式中的任何一个。
图8c示出了根据所述第三方面的方法。如所提及那样,图8c中示出的方法(图8d中示出的方法也是这种情况)类似于图8a和图8b中示出的方法,并且本发明的这四个方面可自由组合。根据兼容性,所述的与这些方面中的一个相关的全部内容可容易地以对应方式适用于其他方面。
在第一步骤中,方法开始。
在随后的收集步骤中,从被分配给所述第一群组121’的所述第一参与者客户端收集第一主数字视频流,并且从也被分配给相同第一群组121’的第二参与者客户端收集第二主数字视频流。而且,从可能未被分配给第一群组121’的第三参与者客户端收集第三数字视频流。例如,第三参与者客户端可以被分配给第二群组121”。这个收集步骤可以类似于结合图8b描述的收集步骤。
在随后的第一生成步骤(其可以类似于关于图8b描述的第一生成步骤)中,可以基于所述收集的第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流。在此要注意的是,第一生成视频流可能不基于所述第三主视频流生成。
第一生成数字视频流以第一延迟被连续生成以发布给某个消费客户端。换句话说,根据这个第三方面,生成第一生成数字视频流使得如果第一生成数字视频流的每个新生成的帧在所讨论的那个帧生成后立即被发布,则这个帧的发布以第一延迟发生。
在随后的第二生成步骤(其可以类似于关于图8b描述的第二生成步骤)中,基于全部三个主数字流(即,所述第一、第二和第三主数字视频流中的全部)将第二生成视频流被生成为数字视频流。
以对应于第一生成视频流和第一延迟的方式,以第二延迟连续生成第二生成数字视频流用于发布。第二延迟大于第一延迟。这意味着,如果第一生成视频流和第二生成视频流两者包含来自例如第一主视频流的帧,则与第二生成视频流的立即发布相比,这种帧将在第一生成视频流的立即发布中更早地示出。
在随后的发布步骤(其可能类似于关于图8b描述的发布步骤)中,所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流(诸如这些流中的一个或多个的任何集合)中的至少一个被连续地提供给第一参与者客户端和第二参与者客户端中的至少一个。这类似于上面关于图8a描述的方法。
而且,所述第二生成视频流被连续地提供给至少一个其他参与者客户端。
在随后的步骤中,方法结束。
用于说明第二方面解决方案的实际应用的相同示例也可以用于说明如何将这个第三方面付诸实践。由于第三主视频流从具有比提供第一主视频流和第二主视频流的第一群组121’参与者客户端低的对延迟的要求的第二群组121”参与者客户端收集,将以具有更多延迟的方式提供第二生成视频流,这使得可以实现期望的自动生成,而第一群组121’小组辩论说话者可以以更低的延迟在他们之间进行交互。
自然地,除了第三主视频流之外,可能存在然后将被相应地使用的更多的第二群组121”提供的主视频流。
在关于图8b和图8c描述的发布步骤中,第二生成视频流可以被连续地提供给不是第一参与者客户端或第二参与者客户端的至少一个消费客户端。更普遍地,它可以被连续地提供给未分配给第一群组121’和/或外部消费者150的参与者客户端121。
如上所提及那样,收集步骤131可以包括收集所述主数字视频流中的至少一个(诸如除了第一主视频流和第二主视频流之外的附加主视频流),作为从所述共享数字视频通信服务110外部的信息源300收集的以上讨论的类型的外部数字视频流301。同样如上所述,这种外部视频流301可以通过逻辑上位于(就数据流而言)收集功能131和第一生成功能135’之间的同步功能133与第一主视频流和第二主视频流时间同步。对应内容适用于本文中描述的第三主视频流、第四主视频流和第五主视频流。然后可以基于所述外部数字视频流301生成第一生成视频流和/或第二生成视频流。
同样如上面一般讨论的那样,第一生成步骤135’和/或第二生成步骤135”还可以包括基于关于所讨论的所述生成数字视频流中的所述第一主数字视频流和/或第二主数字视频流210中的单独主数字视频流的可见性的预定和/或动态可变参数的集合、视觉和/或听觉视频内容布置、所使用的视觉或听觉效果、和/或所讨论的生成数字视频流的输出模式,生成所讨论的相应生成(第一和/或第二)视频流。
同样如所讨论的那样,第一生成步骤135’和/或第二生成步骤135”可以由中央服务器130执行,从而经由以上讨论的一般类型的API 137将所述第二生成视频流作为现场视频流提供给一个或多个并发(外部和/或参与)消费者客户端。
因此,参与者客户端121的不同群组121’、121”、121”’在延迟容限方面可能具有不同的要求。在他们作为这种服务110的参与者客户端121参与同一现场视频通信服务110的情况下,这可能尤其如此。这将在下面进一步例示。
图8d示出了根据本发明的所述第四方面的方法。
在第一步骤中,方法开始。
总体而言,并且如图8d所示,用于生成所述第二生成数字视频流的方法可以包括随后的分配步骤,该随后的分配步骤可以是初始步骤,但是也可以在方法期间的任何时间执行,例如作为重新分配步骤执行。
在这个分配步骤中,多个参与者客户端121可以在这种参与者客户端121的至少两个群组121’、121”、121”’之间进行分配。在本示例中,分配到至少第一群组121’和第三群组121”’中,但是参与者客户端121当然也可以被分配到第三群组121”’中。
更特别地,第一主数字视频流和第二主数字视频流可以诸如通过收集功能131以及在随后的收集步骤中从分配给所述第一参与者客户端群组121’的相应参与者客户端121收集。然而,也可以诸如通过收集功能131并且在所述收集步骤中但从分配给第三参与者客户端群组121”’的相应参与者客户端121收集第四主数字视频流和第五主数字视频流。
在图9中示出的示例中,分配给第三群组121”的参与者客户端121可能比分配给第一群组121’的参与者客户端121具有较不严格的延迟要求。例如,第一群组121’参与者客户端121可以是以上讨论的辩论小组的成员(彼此实时交互,因此需要低延迟),而第三群组121”参与者客户端121可以构成但以更结构化的方式(诸如使用清晰的问题/答案)与小组交互的专家小组等,因此能够容忍比第一群组121’高的延迟。
第一生成视频流可以如上所述由第一生成功能135’并且基于第一主视频流和第二主视频流(以及任何附加输入内容,如所讨论的那样)来生成。还以对应方式但是由第三生成功能135”’并且基于(至少)第四主视频流和第五主视频流生成第三生成视频流。
第一生成视频流和第三生成的视频流两者可以被馈送到第二生成功能135”以作为第二生成视频流的生成的基础,视情况而定。
然后,然而根据这个第四方面,在由第二生成功能135”执行的第二生成步骤中,基于所述第一主视频流和第二主视频流中的至少一个并且进一步基于所述第四主视频流和第五主视频流中的至少一个诸如以上述方式生成第二生成视频流。可以以与第一主视频流和第二主视频流对应的方式(包括任何交叉流时间同步、事件检测等)向第二生成功能135″提供来自收集功能131的第四主视频流和第五主视频流。特别注意到的是,第二生成视频流可以直接或间接地基于第一主视频流和/或第二主视频流,例如,第二生成视频流基于第一生成视频流,而该第一生成视频流又基于第一主视频流和第二主视频流,并且相应地用于第四主视频流和第五主视频流以及第三生成视频流。
所述第三生成视频流在随后的第三生成步骤中生成。
根据第四方面,第三生成步骤包括相对于所述第四主视频流和第五主视频流有意引入时间延时,以便彼此时间同步,但与第一生成视频流时间不同步(不时间同步)。应当理解,这个时间延时可以在第三生成功能135”’本身中引入,或者在所讨论的第三生成功能135”’上游的对应同步功能133中引入。
因此,第一生成步骤135’可以涉及引入以上讨论的类型的故意延时或延迟,该延时或延迟除了作为第一主视频流和第二主视频流的同步的一部分引入的任何延迟之外被引入,并且被引入为以便获得足够的时间来例如执行有效的事件和/或模式检测。有意延时或延迟的这种引入可以作为由所述同步功能133执行的同步的一部分而发生(为了简单起见,在图9中未示出)。对于第三生成步骤135”’对应内容可能如此,但是引入了与用于第一生成步骤135’的有意引入的延时或延迟不同的有意引入的延时或延迟。
特别地,有意引入的延时或延迟导致第一生成视频流与第三生成的视频流之间的时间不同步。这意味着在第一生成视频流和第三生成视频流两者在生成每个单独帧时被立即和连续地发布的情况下,它们不遵循公共时间线。
如上所讨论那样,第二生成视频流可能与比第一生成视频流高的延迟相关联,并且也可能地与比第三生成视频流高的延迟相关联。因此,第二生成功能135”可以被布置为通过在将第一主视频流、第二主视频流、第四主视频流和第五主视频流合并到第二生成视频流之前向其添加附加的相应延时来同步第一主视频流、第二主视频流、第四主视频流和第五主视频流。
在发布步骤中,第三生成视频流被连续地提供给分配给所述第三群组121”’的至少一个参与者客户端,在该至少一个参与者客户端处,该第三生成视频流可以被连续地发布给所讨论的用户122。类似地,第一生成视频流可以被连续地提供给分配给第一群组121’的至少一个参与者客户端,在该至少一个参与者客户端处,该第一生成视频流可以被发布给所讨论的用户122;和/或第二生成视频流可以如上所述提供和发布。
在随后的步骤中,方法结束。
因此,在这个第四方面中,可以同时但是在不同的“时区”生成和消费/发布三个单独的生成视频流。即使它们至少部分地基于相同的主视频材料,所生成的视频流也以不同的延迟发布。要求最低延迟的第一群组121’可以使用第一生成视频流进行交互,从而提供非常低的延迟;愿意接受稍大延迟的第三群组121”’可以使用第二生成视频流进行交互,从而提供更大的延迟,但另一方面在有意添加的延迟方面提供更大的灵活性以便实现更好的自动生成,如本文别处所述;而对延迟不太敏感的第二群组121”可以享受使用第二生成视频流的交互,该第二生成视频流既可以结合来自第一群组121’和第三群组121”’的材料,也可以以非常灵活的方式自动生成。特别要注意的是,尽管使用了所述变化的延迟并因此在不同的“时区”中起作用,这些参与者用户群组121’、121”、121”’中的全部使用所述视频通信服务110彼此交互。然而,由于每个生成功能中的各个输入视频流的同步,参与者用户121将不从他们相应角度注意到不同的延迟。
所述第一生成步骤135’可以包括时间延时第一主视频流和第二主视频流以便使它们彼此时间同步,如上所述。
相应地,所述第三生成步骤135”’(或对应同步步骤133)可以包括时间延时所述第四主视频流和第五主视频流,以便使它们彼此时间同步,但是使用比在所述第一生成步骤135’(或对应同步步骤133)中用于时间延时所述第一主视频流和第二主视频流的最大时间延时更大的最大时间延时,从而导致第一生成视频流不以所描述的方式与第三生成视频流时间同步。
如上所述,分配给所述群组121’、121”、121”’中的每一个的相应参与者客户端121可以参与在其中连续发布第二生成视频流的同一个视频通信服务110。
然后,所述群组121’、121”、121”’中的不同群组可以与所述视频通信服务110中的不同参与者交互权限相关联,并且所述群组121’、121”、121”’中的不同群组可以与用于生成向分配给所讨论的群组121’、121”、121”’的参与者客户端121发布的相应生成视频流的不同的最大时间延时(延迟)相关联。
例如,小组辩论参与者客户端的第一群组121’可以与完全交互权限相关联,并且可以在他们希望的任何时候说话。参与者客户端的第三群组121”’可以与例如他们需要在能够通过视频通信服务110取消其麦克风静音来讲话之前请求发言权的稍微受限的交互权限相关联。观众参与者用户的第二群组121”可以与更多受限的交互权限(诸如只能在公共聊天室中以书写形式提出问题但不能讲话)相关联。
因此,对于向其发布的相应生成视频流,不同的参与用户群组可以以这样的方式与不同的交互权限和不同的延迟相关联,即,延迟是减少交互权限的递增函数。视频通信服务110允许所讨论的参与用户121与其他用户交互越自由,可接受的延迟就越低。可接受的延迟越短,对应自动生成功能考虑诸如检测到的事件或模式的可能性就越小。
具有最大延迟的群组可以是除了被动参与视频通信服务之外没有交互权限的仅观看者群组。
特别地,用于所述群组121’、121”、121”’中的每一个的相应最大时间延时(延迟)可以被确定为全部主视频流和被连续发布给所讨论的群组中的参与者客户端的任何生成视频流之间的最大延迟差。在此基础上,可以添加有意添加的任何附加时间延时,目的是如上所述检测事件和/或模式。
如本文所用,术语“生成”和“生成数字视频流”可以指不同类型的生成。在一个示例中,由中央实体(诸如中央服务器130)生成单个明确限定的数字视频流,以形成所讨论的生成数字视频流,用于提供给要消费所讨论的生成数字视频流的参与者客户端的特定集合121中的每一个并在该处发布。在其他情况下,不同的各个这样的参与者客户端121可以观看所讨论的生成数字视频流的稍微不同的版本。例如,生成数字视频流可以包括几个单独的或组合的数字视频流,参与者客户端121的本地软件功能125可以允许所讨论的用户122在这些数字视频流之间切换;将这些数字视频流布置在屏幕124上;或者以任何其他方式配置或处理这些数字视频流。很多时候,重要的在于提供生成数字视频流(包括任何时间同步的子成分)的“时区”(即,以什么延迟)。因此,上面结合图8a描述的向第一参与者客户端和第二参与者客户端提供彼此的主视频流的情况可以被视为向第一参与者客户端和第二参与者客户端提供第一生成数字视频流(在时间同步的原始或经处理的第一主数字视频流和第二主数字视频流的集合对第一参与者客户端和第二参与者客户端两者可用的意义上)。
为了进一步阐明和例示上述参与者客户端群组121’、121”、121”’的使用,以涉及三个不同的并发“时区”的视频通信服务会面的形式提供了以下示例:
第一参与者客户端121’群组实时地或至少接近实时地(取决于不可避免的硬件和软件延迟)体验与彼此的交互。向这些参与者客户端提供来自彼此的视频(包括声音)以实现所讨论的用户122之间的这种交互和通信。第一群组121’可以在其他(非第一群组121’)参与者客户端可能对参与其交互感兴趣的会议的核心为用户122服务。
这样的其他参与者客户端121”的第二群组参与同一会面,但是在比第一群组参与者客户端121’距实时更远的不同的“时区”。例如,第二群组121”可以是具有互动特权(诸如可以向第一群组121’提问的可能性)的观众。第二群组121”的“时区”可以相对于第一群组121’的“时区”具有延时,使得提出的问题和回答与明显但短暂的延时相关联。另一方面,这个稍大的延迟允许这个第二群组121”参与者客户端体验以更复杂的方式自动生成的生成数字视频流,从而提供更令人满意的用户体验。
这样的其他参与者客户端121的第三群组也参与同一会面,但是仅作为观看者。这个第三群组121”’消耗生成数字视频流,这个生成数字视频流可以以更加精细和复杂的方式自动生成、在比第二“时区”具有更多延时的第三“时区”中被消耗。然而,由于第三群组121”’不能以影响第一群组121’和第二群组121”的方式向通信服务提供输入,所以第三群组121”’将如“实时”执行的那样体验会面、具有令人满意的结果。
当然,使用本文中描述的原理,可以存在与越来越大的时间延时和越来越大的生产复杂性的相应会面“时区”相关联的多于三个这样的参与者客户端群组。
本发明还涉及一种用于根据以上已经描述的内容提供第二数字视频流的计算机软件功能。这样的计算机软件功能然后可以被布置成在运行时执行特别是关于第一方面、第二方面、第三方面和/或第四方面的上述收集步骤、事件检测步骤、同步步骤、模式检测步骤、生成步骤和发布步骤中的至少一些。计算机软件功能可以被布置为在中央服务器130的物理或虚拟硬件上运行,如上所述。
本发明还涉及系统100,其是用于提供第二数字视频流的系统并且又包括中央服务器130。中央服务器103又可以被布置成执行特别是关于第一方面、第二方面、第三方面和/或第四方面的所述收集步骤、事件检测步骤、同步步骤、模式检测步骤、生成步骤和发布步骤中的至少一些。例如,这些步骤可以由运行所述计算机软件功能的中央服务器130执行,以执行如上所述的所述步骤。
应当理解的是,以上描述的基于输入视频流的可用集合的自动生成的原理(诸如涉及这种输入视频流的时间同步、事件和/或模式检测等)可以并发地在不同的级别下应用。因此,一个这样的自动生成的视频流可以形成到下游自动生成功能的可用输入视频流,该下游自动生成功能进而生成视频流。
中央服务器130可以被布置来控制到各个参与者客户端121的群组121’、121”、121”’分配。例如,在现场视频通信服务会话的过程期间动态地改变对特定的这种参与者客户端的群组分配可能是由中央服务器130自动生成所述视频通信服务的一部分。这种重新分配可以基于预定的时间表或动态地触发,例如作为可以随时间动态变化的参数数据的函数,例如在单独参与者客户端用户122请求(经由所讨论的客户端121提供)时。
相应地,中央服务器130可以被布置为在视频通信服务的过程期间动态地改变群组结构,诸如仅在预定的时间时隙内使用某个群组(诸如在计划的小组辩论期间)。
群组分配的一个可行的实际解决方案是使用在一些视频会议系统上可用的“分会议室”的概念。然后,被分配给特定群组121’、121”、121”’的参与者客户端121可以被分配给这样的分会议室,并且中央服务器130然后可以从这个分会议室获得视频流数据(诸如单独的主视频流或生成视频流),用于在中央服务器130中的下游生成步骤中使用。这种视频流提取本身可以如上已经描述那样发生。
在上述方面中的全部中,本发明还可以包括交互步骤,在该交互步骤中,第一群组的至少一个参与者客户端以双向(双向性)方式与第二群组的至少一个参与者客户端进行交互,第一群组与第一延迟相关联,第二群组与第二延迟相关联,第二延迟不同于第一延迟。应当理解的是,这些参与者客户端可以全部是上述类型的同一个通信服务的参与者。
在这种情况下,优选的是,与不同延迟(或如上讨论的“时区”)相关联的所述参与者客户端被临时放置在相同的“时区”,换句话说与相同的延迟相关联。例如,这可以通过临时与较大延迟相关联的所述参与者客户端中的一个被临时提供有已经使用比与所讨论的参与者客户端相关联的延迟更小的延迟生成的一个或几个主数字视频流/生成数字视频流来发生。换句话说,如果通常被连续提供有具有较大延迟的一个或几个视频流的参与者客户端想要与被连续提供有具有较小延迟的一个或几个视频流的参与者客户端进行交互,则前者参与者客户端替代地被临时连续提供有一个或几个后者视频流。因此,较高延迟的参与者客户端临时切换到较低延迟的参与者客户端与其相关联的较低延迟的“时区”。在交互之后,较高延迟的参与者客户端然后被切换回交互之前使用的较高延迟的通信环境。
例如,小组辩论的以上讨论的观众中的成员可能想要提出问题。在这种情况下,观众得到口令并切换到小组辩论“时区”。这意味着观众将看见具有较低延迟的小组,但是在不太精细的生成中。更特别地,观众成员可以在互动期间看到提供给小组成员的相同视频流中的一个或几个。其余观众将保持在较高延迟的观众“时区”中,并且因此不会注意到任何差异。在讲话的观众成员和小组之间的交互之后,讲话的观众成员将再次被提供与交互之前一样的一个或多个高延迟的视频流。
不同“时区”之间的切换可以由中央服务器130自动实现。
在上文中,已经描述了优选实施例。然而,对于本领域技术人员来说显而易见的是,在不脱离本发明的基本思想的情况下,可以对所公开的实施例进行许多修改。
例如,许多附加功能可以作为本文中描述的系统100的一部分来提供,并且这些附加功能在本文中没有描述。总的来说,目前描述的解决方案提供了一种框架,在该框架之上可以构建详细的功能性和特征,以满足其中视频数据流用于通信的各种不同的具体应用。
一个示例是展示情形,其中主视频流包括演示者的视图、共享的基于数字幻灯片的演示以及正在展示的产品的现场视频。
另一示例是教学情形,其中主视频流包括教师的视图、作为教学的主题的物理实体的现场视频、以及可能提出问题并与教师进行对话的几个学生的各自相应视频。
在这两个示例的任一个中,视频通信服务(其可以是或不是系统的一部分)可以提供主视频流中的一个或几个,和/或几个主视频流可以作为本文中讨论的类型的外部视频源来提供。
各种群组被例示为辩论小组、专家小组以及观众。然而,应该认识到的是,将数字视频通信服务中的参与者用户划分为两个或更多个群组是可能的,这反映了要执行的通信的当前目标和结构。例如,一个或多个群组可以包括从不同的地理位置远程访问视频通信服务的参与用户,而一个或多个其他群组包括从公共中心位置(诸如演讲厅)访问视频通信服务的参与者用户。如上所述的相同原则适用于全部这种情况。
总体而言,与本方法相关所述的全部内容适用于本系统和计算机软件产品,反之亦然。
因此,本发明不限于所描述的实施例,而是可以在所附权利要求书的范围内变化。

Claims (21)

1.一种用于提供第二数字视频流的方法,所述方法包括:
在收集步骤中,从第一参与者客户端(121)收集第一主数字视频流,从第二参与者客户端(121)收集第二主数字视频流,并且从第三参与者客户端(121)收集第三主数字视频流;
在发布步骤中,向所述第一参与者客户端(121)和所述第二参与者客户端(121)中的至少一个提供所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个;
在第二生成步骤(135”)中,基于所述第一主数字视频流、所述第二主数字视频流和所述第三主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)包括基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并且基于所述自动生成决策,所述第二生成步骤(135”)引入时间延时,使得所述第二生成视频流与在所述发布步骤中提供给所述第一参与者客户端(121)或第二参与者客户端(121)的任何视频流时间不同步,
所述发布步骤还包括向不是所述第一参与者客户端或第二参与者客户端的至少一个消费客户端(121;150)连续提供所述第二生成视频流。
2.一种用于提供第二数字视频流的方法,所述方法包括:
在收集步骤中,从至少两个不同的数字视频源(121)收集第一主数字视频流和第二主数字视频流;
在第一生成步骤(135’)中,基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流;
在第二生成步骤(135”)中,基于所述第一生成视频流并且还基于所述第一主数字视频流和第二主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)包括基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并且基于所述自动生成决策;以及
在所述第二生成步骤(135”)中,在考虑到由所述第一生成步骤(135’)导致的所述第一生成视频流的延迟的情况下,对所述第一主数字视频流和第二主数字视频流进行时间延时,以便使其与所述第一生成视频流时间同步,所述第二生成视频流基于经时间延时的第一主数字视频流和第二主数字视频流生成。
3.根据权利要求2所述的方法,所述方法还包括:
在发布步骤(136’)中,连续地向第一参与者客户端(121)和第二参与者客户端(121)中的至少一个提供所述第一生成视频流。
4.根据权利要求3所述的方法,所述方法还包括:
所述第一参与者客户端(121)提供所述第一主数字视频流,并且所述第二参与者客户端(121)提供所述第二主数字视频流。
5.一种用于提供第二数字视频流的方法,所述方法包括:
在收集步骤(131)中,从第一参与者客户端(121)收集第一主数字视频流,从第二参与者客户端(121)收集第二主数字视频流,并且从第三参与者客户端(121)收集第三主数字视频流;
在第一生成步骤(135’)中,基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流,所述第一生成数字视频流以第一延迟被连续生成用于发布;
在第二生成步骤(135”)中,基于所述第一主数字视频流、第二主数字视频流和第三主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)包括基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并基于所述自动生成决策,所述第二生成数字视频流以第二延迟被连续生成用于发布,所述第二延迟大于所述第一延迟;以及
在发布步骤(136’)中,向所述第一参与者客户端(121)和所述第二参与者客户端(121)中的至少一个连续提供所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流中的至少一个,并且向至少一个其他参与者客户端(121)连续提供所述第二生成视频流。
6.根据权利要求3至5中任一项所述的方法,所述方法还包括:
在所述发布步骤(136”)中,向不是所述第一参与者客户端或第二参与者客户端的至少一个消费客户端(121;150)连续提供所述第二生成视频流。
7.根据权利要求1或3至6中任一项所述的方法,所述方法还包括:
所述第一主数字视频流和第二主数字视频流作为共享数字视频通信服务(110)的一部分被提供,所述第一参与者客户端(121)和所述第二参与者客户端(121)都是与所述共享数字视频通信服务(110)的相应远程连接的参与者客户端。
8.根据权利要求7所述的方法,其中,
所述收集步骤(131)包括从所述共享数字视频通信服务(110)收集所述第一主数字视频流和/或第二主数字视频流。
9.根据权利要求7或8所述的方法,其中,
所述收集步骤(131)包括收集至少一个主数字视频流作为从所述共享数字视频通信服务(110)外部的信息源(300)收集的外部数字视频流(301),并且其中,
基于所述外部数字视频流(301)生成所述第一生成视频流和/或第二生成视频流。
10.根据前述权利要求中任一项所述的方法,其中,
第一生成步骤(135’)和/或第二生成步骤(135”)包括基于关于所述生成数字视频流中的所述第一主数字视频流和/或第二主数字视频流中的单独主数字视频流的可见性的预定和/或动态可变参数的集合、视觉和/或听觉视频内容布置、所使用的视觉或听觉效果、和/或所述生成数字视频流的输出模式,来生成相应生成视频流。
11.根据前述权利要求中任一项所述的方法,其中,
所述第一生成步骤(135’)和/或第二生成步骤(135”)由中央服务器(130)执行,从而经由应用编程接口API(137)将所述第二生成视频流(230)作为现场视频流提供给一个或几个并行的消费者客户端。
12.根据前述权利要求中任一项所述的方法,所述方法还包括:
在分配步骤中,在这种参与者客户端(121)的至少两个群组(121’,121”,121”’)之间分配多个参与者客户端(121),其中,在所述收集步骤(131)中从分配给参与者客户端(121)的第一群组(121’)的参与者客户端(121)收集所述第一主视频流和所述第二主视频流,并且从分配给参与者客户端(121)的第三群组(121”’)的参与者客户端(121)收集第四主视频流和第五主视频流;
在所述第二生成步骤(135”)中,基于所述第一主视频流和第二主视频流中的至少一个并且进一步基于所述第四主视频流和第五主视频流中的至少一个,来生成所述第二生成视频流;以及
在第三生成步骤(135”’)中,基于所述第四主视频流和第五主视频流生成第三生成视频流,第三生成步骤(135”’)包括对所述第四主视频流和第五主视频流进行时间延时,使得所述第三生成视频流与所述第一生成视频流时间不同步;以及
在发布步骤(136”’)中,向分配给所述第三群组的至少一个参与者客户端连续提供所述第三生成视频流。
13.根据权利要求12所述的方法,其中,
所述第一生成步骤(135’)包括对所述第一主视频流和第二主视频流进行时间延时,以便使其彼此同步,并且其中,
所述第三生成步骤(135”’)包括对所述第四主视频流和第五主视频流进行时间延时,以便使其彼此时间同步,但是使用比在所述第一生成步骤中用于对所述第一主视频流和第二主视频流进行时间延时的最大时间延时更小的最大时间延时,从而导致所述第一生成视频流与所述第三生成视频流时间不同步。
14.根据权利要求12或13所述的方法,其中,
分配给每个所述群组(121’、121”、121”’)的参与者客户端(121)参与在其中发布所述第二生成视频流的视频通信服务(110);所述方法还包括:
将所述群组(121’、121”、121”’)中的不同群组与所述视频通信服务(110)中的不同参与者交互权限相关联,并且
将所述群组(121’、121”、121”’)中的不同群组与用于生成向分配给所讨论的所述群组(121’、121”、121”’)的参与者客户端(121)发布的相应生成视频流的不同的最大时延相关联。
15.根据权利要求14所述的方法,其中,
用于所述群组(121’、121”、121”’)中的每一个的相应最大时延被确定为全部主视频流和被连续发布给所讨论的所述群组(121’、121”、121”’)中的参与者客户端(121)的任何生成视频流之间的最大延迟差。
16.一种用于提供第二数字视频流的计算机软件产品,所述计算机软件功能被布置为在运行时执行:
收集步骤,其中从第一参与者客户端(121)收集第一主数字视频流,从第二参与者客户端(121)收集第二主数字视频流,并且从第三参与者客户端(121)收集第三主数字视频流;
发布步骤,其中向所述第一参与者客户端(121)和所述第二参与者客户端(121)中的至少一个提供所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个;
第二生成步骤(135”),其中基于所述第一主数字视频流、所述第二主数字视频流和所述第三主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)包括基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并且基于所述自动生成决策,所述第二生成步骤(135”)引入时间延时,使得所述第二生成视频流与在所述发布步骤中提供给所述第一参与者客户端(121)或第二参与者客户端(121)的任何视频流时间不同步,
其中,所述发布步骤还包括向不是所述第一参与者客户端或第二参与者客户端的至少一个消费客户端(121;150)连续提供所述第二生成视频流。
17.一种用于提供共享数字视频流的计算机软件产品,所述计算机软件功能被布置为在运行时执行:
收集步骤,其中从至少两个不同的数字视频源(121)收集第一主数字视频流和第二主数字视频流;
第一生成步骤(135’),其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流;
第二生成步骤(135”),其中基于所述第一生成视频流并且还基于所述第一主数字视频流和第二主数字视频流将所述第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)包括基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并且基于所述自动生成决策;并且
其中,在所述第二生成步骤(135”)中,在考虑到由所述第一生成步骤(135’)导致的所述第一生成视频流的延迟的情况下,对所述第一主数字视频流和第二主数字视频流进行时间延时,以便使其与所述第一生成视频流时间同步,所述第二生成视频流基于经时间延时的第一主数字视频流和第二主数字视频流生成。
18.一种用于提供共享数字视频流的计算机软件产品,所述计算机软件功能被布置为在运行时执行:
收集步骤(131),其中从第一参与者客户端(121)收集第一主数字视频流,从第二参与者客户端(121)收集第二主数字视频流,并且从第三参与者客户端(121)收集第三主数字视频流;
第一生成步骤(135’),其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流,所述第一生成数字视频流以第一延迟被连续生成用于发布;
第二生成步骤(135”),其中基于所述第一主数字视频流、第二主数字视频流和第三主数字视频流将所述第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)包括基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并基于所述自动生成决策,所述第二生成数字视频流以第二延迟被连续生成用于发布,所述第二延迟大于所述第一延迟;以及
发布步骤(136’),其中向所述第一参与者客户端(121)和所述第二参与者客户端(121)中的至少一个连续提供所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流中的至少一个,并且向至少一个其他参与者客户端(121)连续提供所述第二生成视频流。
19.一种用于提供第二数字视频流的系统(100),所述系统(100)包括中央服务器(130),所述中央服务器(130)又包括:
收集功能,其中从第一参与者客户端(121)收集第一主数字视频流,从第二参与者客户端(121)收集第二主数字视频流,并且从第三参与者客户端(121)收集第三主数字视频流;
发布功能,其中向所述第一参与者客户端(121)和所述第二参与者客户端(121)中的至少一个提供所述第一主数字视频流、所述第二主数字视频和已经基于所述第一主视频流和第二主视频流中的至少一个生成的第一生成视频流中的至少一个;
第二生成功能(135”),其中基于所述第一主数字视频流、所述第二主数字视频流和所述第三主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成功能(135”)被布置为基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并且基于所述自动生成决策,所述第二生成功能(135”)引入时间延时,使得所述第二生成视频流与在所述发布功能中提供给所述第一参与者客户端(121)或第二参与者客户端(121)的任何视频流时间不同步,
其中,所述发布功能包括向不是所述第一参与者客户端或第二参与者客户端的至少一个消费客户端(121;150)连续提供所述第二生成视频流。
20.一种用于提供共享数字视频流的系统(100),所述系统(100)包括中央服务器(130),所述中央服务器(130)又包括:
收集功能,其中从至少两个不同的数字视频源(121)收集第一主数字视频流和第二主数字视频流;
第一生成功能(135’),其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流;
第二生成功能(135”),其中基于所述第一生成视频流并且还基于所述第一主数字视频流和第二主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成功能(135”)被布置为基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并且基于所述自动生成决策;并且
其中,在所述第二生成功能(135”)中,在考虑到由所述第一生成功能(135’)导致的所述第一生成视频流的延迟的情况下,对所述第一主数字视频流和第二主数字视频流进行时间延时,以便使其与所述第一生成视频流时间同步,所述第二生成视频流基于经时间延时的第一主数字视频流和第二主数字视频流生成。
21.一种用于提供共享数字视频流的系统(100),所述系统(100)包括中央服务器(130),所述中央服务器(130)又包括:
收集功能(131),其中从第一参与者客户端(121)收集第一主数字视频流,从第二参与者客户端(121)收集第二主数字视频流,并且从第三参与者客户端(121)收集第三主数字视频流;
第一生成功能(135’),其中基于所述第一主数字视频流和第二主数字视频流将第一生成视频流生成为数字视频流,所述第一生成数字视频流以第一延迟被连续生成用于发布;
第二生成功能(135”),其中基于所述第一主数字视频流、第二主数字视频流和第三主数字视频流将第二生成视频流自动生成为数字视频流,所述第二生成步骤(135”)被布置为基于所述主数字视频流中的事件和/或模式自动检测来自动生成决策并基于所述自动生成决策,所述第二生成数字视频流以第二延迟被连续生成用于发布,所述第二延迟大于所述第一延迟;以及
发布功能(136’),其中向所述第一参与者客户端(121)和所述第二参与者客户端(121)中的至少一个连续提供所述第一主数字视频流、所述第二主数字视频流和所述第一生成视频流中的至少一个,并且向至少一个其他参与者客户端(121)连续提供所述第二生成视频流。
CN202280079471.9A 2021-11-30 2022-11-07 用于生成视频流的系统和方法 Pending CN118355651A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE2151461A SE545576C2 (en) 2021-11-30 2021-11-30 System and method for producing a video stream
SE2151461-7 2021-11-30
PCT/SE2022/051033 WO2023101588A1 (en) 2021-11-30 2022-11-07 System and method for producing a video stream

Publications (1)

Publication Number Publication Date
CN118355651A true CN118355651A (zh) 2024-07-16

Family

ID=86612859

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202280079471.9A Pending CN118355651A (zh) 2021-11-30 2022-11-07 用于生成视频流的系统和方法
CN202280079607.6A Pending CN118355652A (zh) 2021-11-30 2022-11-07 用于生成视频流的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202280079607.6A Pending CN118355652A (zh) 2021-11-30 2022-11-07 用于生成视频流的系统和方法

Country Status (8)

Country Link
US (4) US12069406B2 (zh)
EP (2) EP4441993A1 (zh)
KR (2) KR20240121231A (zh)
CN (2) CN118355651A (zh)
AU (2) AU2022401642A1 (zh)
CA (2) CA3238678A1 (zh)
SE (1) SE545576C2 (zh)
WO (2) WO2023101588A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8818175B2 (en) * 2010-03-08 2014-08-26 Vumanity Media, Inc. Generation of composited video programming
US9118807B2 (en) * 2013-03-15 2015-08-25 Cisco Technology, Inc. Split frame multistream encode
US10541824B2 (en) * 2017-06-21 2020-01-21 Minerva Project, Inc. System and method for scalable, interactive virtual conferencing
US11463747B2 (en) * 2018-04-05 2022-10-04 Tvu Networks Corporation Systems and methods for real time control of a remote video production with multiple streams
CN115428368A (zh) * 2020-04-07 2022-12-02 阿西亚Spe有限责任公司 用于远程协作的系统和方法
EP3908006A3 (en) * 2020-05-01 2022-01-26 TVU Networks Corporation Systems and methods for real time control of a remote video production with multiple streams
US11082467B1 (en) * 2020-09-03 2021-08-03 Facebook, Inc. Live group video streaming

Also Published As

Publication number Publication date
US12069406B2 (en) 2024-08-20
CA3238674A1 (en) 2023-06-08
EP4441992A1 (en) 2024-10-09
WO2023101588A1 (en) 2023-06-08
US20240314374A1 (en) 2024-09-19
US20240305837A1 (en) 2024-09-12
SE2151461A1 (en) 2023-05-31
SE545576C2 (en) 2023-10-31
US20240171702A1 (en) 2024-05-23
AU2022401642A1 (en) 2024-06-06
US20240305745A1 (en) 2024-09-12
EP4441993A1 (en) 2024-10-09
CA3238678A1 (en) 2023-06-08
KR20240121231A (ko) 2024-08-08
KR20240118770A (ko) 2024-08-05
AU2022400604A1 (en) 2024-06-06
CN118355652A (zh) 2024-07-16
WO2023101589A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
CN118786674A (zh) 用于产生视频流的系统和方法
CN118355651A (zh) 用于生成视频流的系统和方法
CN118318436A (zh) 用于生成视频流的系统和方法
JP2024538056A (ja) 共有ビデオストリームを生成するシステムおよび方法
JP2024538087A (ja) ビデオストリームを生成するシステムおよび方法
SE2250945A1 (en) System and method for producing a video stream

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