CN110891182B - 一种实现视频流切换的方法、装置和系统 - Google Patents

一种实现视频流切换的方法、装置和系统 Download PDF

Info

Publication number
CN110891182B
CN110891182B CN201811058553.7A CN201811058553A CN110891182B CN 110891182 B CN110891182 B CN 110891182B CN 201811058553 A CN201811058553 A CN 201811058553A CN 110891182 B CN110891182 B CN 110891182B
Authority
CN
China
Prior art keywords
video
video stream
frame
switching
message
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
CN201811058553.7A
Other languages
English (en)
Other versions
CN110891182A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811058553.7A priority Critical patent/CN110891182B/zh
Priority to EP19860126.2A priority patent/EP3843413A4/en
Priority to KR1020217010334A priority patent/KR102492118B1/ko
Priority to PCT/CN2019/103935 priority patent/WO2020052456A1/zh
Priority to JP2021513779A priority patent/JP7273144B2/ja
Publication of CN110891182A publication Critical patent/CN110891182A/zh
Priority to US17/197,156 priority patent/US11212563B2/en
Application granted granted Critical
Publication of CN110891182B publication Critical patent/CN110891182B/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/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/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • 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/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/23605Creation or processing of packetized elementary streams [PES]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • 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/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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to 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/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
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/268Signal distribution or switching

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了一种实现视频流切换的方法、装置和系统。所述方法包括:传输设备接收第一视频的多个视频流和第二视频的多个视频流,通过第一视频的多个视频流分别对应的目标出端口发送第一视频的多个视频流,在接收到切换指令后,确定第一视频和第二视频的各视频流的基准帧尾报文的切换参考信息,进而确定所述视频流的切换报文的切换参考信息,其中,每个视频的各视频流的基准帧尾报文封装的是所述视频的同一个视频帧的数据,并根据各视频流的切换报文的切换参考信息将第一视频的多个视频流切换为第二视频的多个视频流。由于在视频流切换时考虑了切换前后发送的数据报文所处的位置,因此,可以有效减轻切换操作对传输的视频画面的损伤。

Description

一种实现视频流切换的方法、装置和系统
技术领域
本发明实施例涉及多媒体通信技术领域,尤其涉及一种实现视频流切换的方法、装置和系统。
背景技术
在多媒体通信技术领域,如电视(Television,TV)制播领域,存在对不同视频源设备发送的视频流进行切换的场景。如,在对足球比赛进行直播时,可以在传输设备(如路由器)上对接收的通过对拍摄球场的不同位置所得到的视频流进行切换,以实现在视频终端上对球场不同角度的视频画面进行切换显示。
在传统的TV制播领域,通常是以串行数字接口(serial digital interface,SDI)格式传输视频流。由于用于传输SDI信号的同轴电缆最大长度通常受到限制,且比较昂贵,因此在TV制播领域,已经开始通过因特网协议(Internet Protocol,IP)网络传输视频流,如将SDI信号承载在IP报文中传输。
目前,在多媒体通信领域,尤其是TV制播领域,所提供的视频质量正逐步从高清向超高清演进,超高清视频的码率高达4K甚至8K,传输的数据量也相应提高到高清视频的4或8倍。由于现有的SDI接口无法满足超高清视频的传输需求等原因,通常将超高清视频分成多个高清视频并封装为多路视频流进行传输。
在实现对通过IP网络传输的视频流进行切换的现有技术中,传输设备在确定需要切换视频流时即停止发送要切出的视频的各视频流的数据报文并开始发送要切入的视频的各视频流的数据报文。
根据该现有技术实现视频流的切换,往往导致视频画面出现损伤。
发明内容
本发明实施例提供一种实现视频流切换的方法、装置和系统,用于解决现有技术中存在的视频流切换导致的视频画面出现损伤的问题。
第一方面,提供了一种实现视频流切换的方法,该方法包括:传输设备接收第一视频的多个视频流和第二视频的多个视频流,并通过该第一视频的多个视频流分别对应的目标出端口发送该第一视频的多个视频流,其中,该第一视频的多个视频流用于封装该第一视频的视频帧的不同子图像,该第二视频的多个视频流用于封装该第二视频的视频帧的不同子图像。并且,该传输设备在接收到用于指示将第一视频的视频流切换为第二视频的视频流的切换指令后,对于该第一视频的每个视频流,确定该视频流的基准帧尾报文的切换参考信息(如序列号),并根据该视频流的基准帧尾报文的切换参考信息确定该视频流的切换报文的切换参考信息,对于该第二视频的每个视频流,确定该视频流的基准帧尾报文的切换参考信息,并根据该视频流的基准帧尾报文的切换参考信息确定该视频流的切换报文的切换参考信息,其中,该第一视频的各视频流的基准帧尾报文封装的是该第一视频的同一个视频帧的数据,该第二视频的各视频流的基准帧尾报文封装的是该第二视频的同一个视频帧的数据。进而,该传输设备根据各视频流的切换报文的切换参考信息将通过该第一视频的多个视频流分别对应的目标出端口发送的该第一视频的多个视频流切换为该第二视频的多个视频流。
该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息可以均为序列号或均为时间戳,也可以均包括序列号和时间戳。
根据第一方面的实现方式,根据切出视频(即第一视频)的对应同一个视频帧的帧尾报文的序列号和切入视频(即第二视频)的对应同一个视频帧的帧尾报文的序列号确定切出视频和切入视频的各视频流的切换报文的序列号,并根据切换报文的序列号进行视频流的切换。由于在视频流切换时考虑了切换前后发送的数据报文所处的位置,因此,可以有效减轻切换操作对传输的视频画面的损伤。
在第一方面的第一种实现方式中,该第一视频的各视频流的基准帧尾报文的切换参考信息是根据该第一视频的各视频流之间的同步关系确定的;并且,该第二视频的各视频流的基准帧尾报文的切换参考信息是根据该第二视频的各视频流之间的同步关系确定的。
根据该实现方式,由于考虑了每个视频的各视频流之间的同步关系,因此,可以准确地确定出各视频流的属于同一视频帧的基准帧尾报文的切换参考信息(如序列号)。
基于第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,对于第一视频和第二视频中的任一视频(后续称为目标视频)均根据如下方式确定该目标视频的每个视频流的基准帧尾报文的切换参考信息。
根据该目标视频的同步参考报文确定该目标视频的参考视频流的基准帧尾报文的切换参考信息,其中,该参考视频流为该目标视频的多个视频流中的一个视频流,该同步参考报文为确定该目标视频的各视频流的基准帧尾报文的切换参考信息之前接收的该参考视频流的倒数第x个帧尾报文,x为自然数,具体可以为1;
对于该目标视频的多个视频流中除该参考视频流以外的每个其它视频流,根据确定该其它视频流的基准帧尾报文的切换参考信息之前接收的该其它视频流的倒数第x个帧尾报文的切换参考信息、以及该其它视频流与该参考视频流之间的同步关系确定该其它视频流的基准帧尾报文的切换参考信息。
根据该实现方式,对于第一视频和第二视频中的任一视频(即该目标视频),统一根据各视频流的倒数第x个帧尾报文的切换参考信息确定该视频流的基准帧尾报文的切换参考信息,确定的各视频流的基准帧尾报文的时间戳比较接近,因此可以更加准确地确定出时间戳比较一致的切换报文,从而进一步减轻切换操作对传输的视频画面的损伤。
基于第一方面的第二种实现方式,在第一方面的第三种实现方式中,该传输设备具体可以根据确定该其它视频流的基准帧尾报文的序列号之前接收的该其它视频流的倒数第x个帧尾报文的时间戳和该同步参考报文的时间戳确定该其它视频流和该参考视频流的同步关系。
根据该实现方式,由于是根据该参考视频流和该其它视频流的倒数第x个帧尾报文的时间戳确定该同步关系,因此该同步关系可以反映出该传输设备接收到该参考视频流和该其它视频流的倒数第x个帧尾报文时的同步状况,所以,综合考虑该参考视频流和该其它视频流的倒数第x个帧尾报文的切换参考信息、以及该同步关系确定的该参考视频流和该其它视频流的基准帧尾报文的切换参考信息更加符合该目标视频的视频流的真实同步状况,因此可以更加准确地确定出时间戳比较一致的切换报文,从而可以进一步减轻切换操作对传输的视频画面的损伤。
基于第一方面的第二种或第三种实现方式,在第一方面的第四种实现方式中,x可以为1,对于第一视频和第二视频的每个视频流,所述视频流的切换报文中的视频数据所属视频帧可以为所述视频流的基准帧尾报文中的视频数据所属视频帧在顺序上的下一视频帧或在顺序上的下一视频帧的后续视频帧。在一种具体实现方式中,该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括序列号,相应地,具体可以根据所述视频流的基准帧尾报文的序列号和封装所述视频流的单个子图像的报文个数计算所述视频流的切换报文的序列号,确定的所述视频流的切换报文的序列号与所述视频流的基准帧尾报文的序列号的差值可以大于或等于封装所述视频流的单个子图像的报文个数。在另一种具体实现方式中,该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括时间戳,相应地,具体还可以根据所述视频流的基准帧尾报文的时间戳和所述视频流所属视频的单个视频帧的时长计算所述视频流的切换报文的时间戳,确定的所述视频流的切换报文的时间戳与所述视频流的基准帧尾报文的时间戳的差值可以大于或等于所述视频的单个视频帧的时长。
根据该实现方式可以实现在基准帧尾报文后至少一帧的位置处进行视频流切换,从而有效避免对当前正在传输的视频画面的损伤。
基于第一方面或第一方面的第一种至第四种任一所述的实现方式,在第一方面的第五种实现方式中,对于该第一视频的第一视频流和该第二视频的第二视频流,根据如下方式确定该第一视频流的切换报文的切换参考信息和该第二视频流的切换报文的切换参考信息,其中,该第一视频流为该第一视频的多个视频流中的任一视频流,该第二视频流为该第二视频的多个视频流中与该第一视频流对应的视频流。
该传输设备根据该第一视频流的基准帧尾报文的切换参考信息、以及该第一视频流和该第二视频流之间的同步关系确定该第一视频流的对齐帧尾报文的切换参考信息,并根据该第一视频流的对齐帧尾报文的切换参考信息确定该第一视频流的切换报文的切换参考信息;并且,根据该第二视频流的基准帧尾报文的切换参考信息、以及该同步关系确定该第二视频流的对齐帧尾报文的切换参考信息,并根据该第二视频流的对齐帧尾报文的切换参考信息确定该第二视频流的切换报文的切换参考信息,该第一视频流的对齐帧尾报文和该第二视频流的对齐帧尾报文为在时间上对应的帧尾报文。
该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息、切换报文的切换参考信息、以及对齐帧尾报文的切换参考信息可以均为序列号或均为时间戳,也可以均包括序列号和时间戳。
根据该实现方式,在考虑同步关系的情况下确定的第一视频流的对齐帧尾报文和第二视频流的对齐帧尾报文为在时间上对应的帧尾报文,因此,根据第一视频流的对齐帧尾报文和第二视频流的对齐帧尾报文分别确定出的第一切换报文和第二切换报文在时间上也是对应的,因此可以进一步减轻切换操作对传输的视频画面的损伤。
基于第一方面的第五种实现方式,在第一方面的第六种实现方式中,可以直接将第一视频流的对齐帧尾报文的切换参考信息作为第一视频流的切换报文的切换参考信息,并将第二视频流的对齐帧尾报文的切换参考信息作为第二视频流的切换报文的切换参考信息,即直接将第一视频流的对齐帧尾报文作为第一视频流的切换报文并将第二视频流的对齐帧尾报文作为第二视频流的切换报文。
根据该实现方式,可以实现在视频帧的边界进行视频流的切换,可以有效避免切换操作对传输的视频画面的损伤。
基于第一方面的第五种实现方式,在第一方面的第七种实现方式中,可以将用于封装该第一视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的切换参考信息确定为该第一视频流的切换报文的切换参考信息,并将用于封装该第二视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的切换参考信息确定为该第二视频流的切换报文的切换参考信息。
根据该实现方式,可以实现在封装消隐区数据的数据报文处进行视频流的切换,由于消隐区数据并非有效的视频数据,对人眼是不可见的,因此,可以避免对有效的视频数据产生损伤。
基于第一方面的第五种至第七种中的任意一种实现方式,在第一方面的第八种实现方式中,该传输设备具体可以根据该第一视频流的基准帧尾报文的时间戳和该第二视频流的基准帧尾报文的时间戳确定该第一视频流和该第二视频流的同步关系。
根据该实现方式,由于是根据该第一视频流的基准帧尾报文和第二视频流的基准帧尾报文确定该同步关系,因此该同步关系可以反映出该传输设备接收到该第一视频流的基准帧尾报文和第二视频流的基准帧尾报文时的同步状况,所以,根据第一视频流的基准帧尾报文的切换参考信息、第二视频流的基准帧尾报文的切换参考信息、以及该同步关系的组合确定的第一视频流的切换报文的切换参考信息和第二视频流的切换报文的切换参考信息更加符合视频流的真实同步状况,从而可以进一步减轻切换操作对传输的视频画面的损伤。
考虑到设备同步本身就有精度偏差,同一个时刻从不同视频源设备发出的数据报文,其时间戳可能会有偏差。另外,IP网络以报文为单位,报文转发的抖动也会引入一些同步偏差。因此,可以认为,如果两个视频流的基准帧尾报文的时间戳偏差小于预设的时差阈值即可认为这两个视频流同步。
相应地,传输设备具体可以在确定t1-t2>Δt1时,确定该第一视频流早于该第二视频流;在确定t2-t1>Δt1时,确定该第一视频流晚于该第二视频流;在确定|t1-t2|<Δt2时,确定该第一视频流与该第二视频流同步。t1为该第一基准帧尾报文的时间戳;t2为该第二基准帧尾报文的时间戳;Δt1为预设的第一时差阈值,Δt2为预设的第二时差阈值,Δt1和Δt2均为大于0且小于T的值,Δt2可以和Δt1相同也可以小于Δt1。可以按照如下条件预设Δt1和Δt2:T/2<Δt1<T,如Δt1可以为3*T/4,0<Δt2<T/2,如Δt2可以为T/4,T为单个视频帧的时长。
根据该实现方式,确定出的同步关系排除了设备同步本身的精度偏差、报文转发的抖动等的影响,更能反映出视频流之间的真实同步状况,确定的第一切换报文的切换参考信息和第二切换报文的切换参考信息也更加符合视频流的真实同步状况,从而可以进一步减轻切换操作对传输的视频画面的损伤。
第二方面,提供了一种传输设备,该传输设备包括处理单元和通信单元。
所述通信单元,用于接收第一视频的多个视频流和第二视频的多个视频流,通过所述第一视频的多个视频流分别对应的目标出端口发送所述第一视频的多个视频流,并接收用于指示将第一视频的视频流切换为第二视频的视频流的切换指令;其中,所述第一视频的多个视频流用于封装所述第一视频的视频帧的不同子图像,所述第二视频的多个视频流用于封装所述第二视频的视频帧的不同子图像;
所述处理单元,用于在所述通信单元接收到所述切换指令后,对于所述第一视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,对于所述第二视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,其中,所述第一视频的各视频流的基准帧尾报文封装的是所述第一视频的同一个视频帧的数据,所述第二视频的各视频流的基准帧尾报文封装的是所述第二视频的同一个视频帧的数据;
所述通信单元,还用于根据各视频流的切换报文的切换参考信息将通过所述第一视频的多个视频流分别对应的目标出端口发送的所述第一视频的多个视频流切换为所述第二视频的多个视频流。
该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息可以均为序列号或均为时间戳,也可以均包括序列号和时间戳。
根据第二方面的实现方式,根据切出视频(即第一视频)的对应同一个视频帧的帧尾报文的序列号和切入视频(即第二视频)的对应同一个视频帧的帧尾报文的序列号确定切出视频和切入视频的各视频流的切换报文的序列号,并根据切换报文的序列号进行视频流的切换。由于在视频流切换时考虑了切换前后发送的数据报文所处的位置,因此,可以有效减轻切换操作对传输的视频画面的损伤。
在第二方面的第一种实现方式中,该第一视频的各视频流的基准帧尾报文的切换参考信息是根据该第一视频的各视频流之间的同步关系确定的;并且,该第二视频的各视频流的基准帧尾报文的切换参考信息是根据该第二视频的各视频流之间的同步关系确定的。
根据该实现方式,由于考虑了每个视频的各视频流之间的同步关系,因此,可以准确地确定出各视频流的属于同一视频帧的基准帧尾报文的切换参考信息(如序列号)。
基于第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,对于第一视频和第二视频中的任一视频(后续称为目标视频)所述处理单元均根据如下方式确定该目标视频的每个视频流的基准帧尾报文的切换参考信息。
根据该目标视频的同步参考报文确定该目标视频的参考视频流的基准帧尾报文的切换参考信息,其中,该参考视频流为该目标视频的多个视频流中的一个视频流,该同步参考报文为确定该目标视频的各视频流的基准帧尾报文的切换参考信息之前接收的该参考视频流的倒数第x个帧尾报文,x为自然数,具体可以为1;
对于该目标视频的多个视频流中除该参考视频流以外的每个其它视频流,根据确定该其它视频流的基准帧尾报文的切换参考信息之前接收的该其它视频流的倒数第x个帧尾报文的切换参考信息、以及该其它视频流与该参考视频流之间的同步关系确定该其它视频流的基准帧尾报文的切换参考信息。
根据该实现方式,对于第一视频和第二视频中的任一视频(即该目标视频),统一根据各视频流的倒数第x个帧尾报文的切换参考信息确定该视频流的基准帧尾报文的切换参考信息,确定的各视频流的基准帧尾报文的时间戳比较接近,因此可以更加准确地确定出时间戳比较一致的切换报文,从而进一步减轻切换操作对传输的视频画面的损伤。
基于第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述处理单元具体可以根据确定该其它视频流的基准帧尾报文的序列号之前接收的该其它视频流的倒数第x个帧尾报文的时间戳和该同步参考报文的时间戳确定该其它视频流和该参考视频流的同步关系。
根据该实现方式,由于是根据该参考视频流和该其它视频流的倒数第x个帧尾报文的时间戳确定该同步关系,因此该同步关系可以反映出该传输设备接收到该参考视频流和该其它视频流的倒数第x个帧尾报文时的同步状况,所以,综合考虑该参考视频流和该其它视频流的倒数第x个帧尾报文的切换参考信息、以及该同步关系确定的该参考视频流和该其它视频流的基准帧尾报文的切换参考信息更加符合该目标视频的视频流的真实同步状况,因此可以更加准确地确定出时间戳比较一致的切换报文,从而可以进一步减轻切换操作对传输的视频画面的损伤。
基于第二方面的第二种或第三种实现方式,在第二方面的第四种实现方式中,x可以为1,对于第一视频和第二视频的每个视频流,所述视频流的切换报文中的视频数据所属视频帧可以为所述视频流的基准帧尾报文中的视频数据所属视频帧在顺序上的下一视频帧或在顺序上的下一视频帧的后续视频帧。在一种具体实现方式中,该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括序列号,相应地,具体可以根据所述视频流的基准帧尾报文的序列号和封装所述视频流的单个子图像的报文个数计算所述视频流的切换报文的序列号,确定的所述视频流的切换报文的序列号与所述视频流的基准帧尾报文的序列号的差值可以大于或等于封装所述视频流的单个子图像的报文个数。在另一种具体实现方式中,该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括时间戳,相应地,具体还可以根据所述视频流的基准帧尾报文的时间戳和所述视频流所属视频的单个视频帧的时长计算所述视频流的切换报文的时间戳,确定的所述视频流的切换报文的时间戳与所述视频流的基准帧尾报文的时间戳的差值可以大于或等于所述视频的单个视频帧的时长。
根据该实现方式可以实现在基准帧尾报文后至少一帧的位置处进行视频流切换,从而有效避免对当前正在传输的视频画面的损伤。
基于第二方面或第二方面的第一种至第四种任一所述的实现方式,在第二方面的第五种实现方式中,对于该第一视频的第一视频流和该第二视频的第二视频流,所述处理单元根据如下方式确定该第一视频流的切换报文的切换参考信息和该第二视频流的切换报文的切换参考信息,其中,该第一视频流为该第一视频的多个视频流中的任一视频流,该第二视频流为该第二视频的多个视频流中与该第一视频流对应的视频流。
所述处理单元根据该第一视频流的基准帧尾报文的切换参考信息、以及该第一视频流和该第二视频流之间的同步关系确定该第一视频流的对齐帧尾报文的切换参考信息,并根据该第一视频流的对齐帧尾报文的切换参考信息确定该第一视频流的切换报文的切换参考信息;并且,根据该第二视频流的基准帧尾报文的切换参考信息、以及该同步关系确定该第二视频流的对齐帧尾报文的切换参考信息,并根据该第二视频流的对齐帧尾报文的切换参考信息确定该第二视频流的切换报文的切换参考信息,该第一视频流的对齐帧尾报文和该第二视频流的对齐帧尾报文为在时间上对应的帧尾报文。
该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息、切换报文的切换参考信息、以及对齐帧尾报文的切换参考信息可以均为序列号或均为时间戳,也可以均包括序列号和时间戳。
根据该实现方式,在考虑同步关系的情况下确定的第一视频流的对齐帧尾报文和第二视频流的对齐帧尾报文为在时间上对应的帧尾报文,因此,根据第一视频流的对齐帧尾报文和第二视频流的对齐帧尾报文分别确定出的第一切换报文和第二切换报文在时间上也是对应的,因此可以进一步减轻切换操作对传输的视频画面的损伤。
基于第二方面的第五种实现方式,在第二方面的第六种实现方式中,所述处理单元可以直接将第一视频流的对齐帧尾报文的切换参考信息作为第一视频流的切换报文的切换参考信息,并将第二视频流的对齐帧尾报文的切换参考信息作为第二视频流的切换报文的切换参考信息,即直接将第一视频流的对齐帧尾报文作为第一视频流的切换报文并将第二视频流的对齐帧尾报文作为第二视频流的切换报文。
根据该实现方式,可以实现在视频帧的边界进行视频流的切换,可以有效避免切换操作对传输的视频画面的损伤。
基于第二方面的第五种实现方式,在第二方面的第七种实现方式中,所述处理单元可以将用于封装该第一视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的切换参考信息确定为该第一视频流的切换报文的切换参考信息,并将用于封装该第二视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的切换参考信息确定为该第二视频流的切换报文的切换参考信息。
根据该实现方式,可以实现在封装消隐区数据的数据报文处进行视频流的切换,由于消隐区数据并非有效的视频数据,对人眼是不可见的,因此,可以避免对有效的视频数据产生损伤。
第三方面,提供了一种实现视频流切换的系统,该系统包括:控制器和传输设备,其中,该控制器用于向该传输设备发送切换指令。该传输设备用于执行第一方面或第一方面的任意一种实现方式所述的方法,具体可以是第二方面或第二方面的任意一种实现方式所述的传输设备。
第四方面,提供了提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种实现方式所述的方法。
第五方面,提供了提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种实现方式所述的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的多媒体通信系统100的组网结构示意图;
图2A和2B为本发明实施例提供的超高清画面分割示意图;
图3为本发明实施例提供的方法100的流程示意图;
图4A-4B和图5A-5C为本发明实施例提供的视频流示意图;
图6为本发明实施例提供的切换子表和切换总表的更新过程示意图;
图7是本发明实施例2提供的传输设备200的结构示意图;
图8是本发明实施例3提供的传输设备1000的结构示意图;
具体实施方式
下面结合附图,对本发明的实施例进行描述。
图1为本发明实施例提供的一种多媒体通信系统100的组网结构示意图,多媒体通信系统100包括视频源设备110和传输设备120。其中,视频源设备110通过传输设备120向视频终端发送视频流。传输设备120可以接收来自多个视频源设备110的视频流,并向视频终端仅转发来自其中一个视频源设备的视频流,还可以对转发的视频流进行切换。传输设备120具体可以为交换机、路由器等,视频源设备可以为IP摄像机、对视频数据进行IP封装传输的设备等。多媒体通信系统100具体可以是TV制播系统,如电视台制播网络的总控系统、演播室系统、播出系统等对承载在IP网络上的视频流有净切换需求的系统。
如图1所示,多媒体通信系统100还可以包括控制器(Controller)130,控制器130用于向传输设备120发送用于指示传输设备120进行视频流切换的切换指令,相应地,传输设备120收到该切换指令后进行视频流切换。
视频源设备110通常将超高清视频分成多个高清视频并封装为多路视频流进行传输。如,可以将4k视频分割成4路高清SDI信号,再采用IP承载SDI(SDI over IP)的方式进行传输。
通常采用如下两种方式对超高清视频的视频帧分割为子图像。
一种是Square Division(四分法,SQD),即把视频帧平均分为左上、左下、右上、右下4个子图像,如图2A所示。
另一种是二取样交织(2Sample Interleave,2SI),即将同一行上相邻的两个像素作为一个像素组,画面顶端从第0行开始,偶数行的像素组进行1、2交叉编号,奇数行的像素组进行3、4交叉编号,具有相同编号的像素组构成一个子图像。如图2B所示,编号为1的像素组构成子图像1,编号为2的像素组构成子图像2,编号为3的像素组构成子图像3,编号为4的像素组构成子图像4。
在本发明实施例中,视频的每个子图像封装在多个数据报文中传输,后续将封装每个子图像的多个数据报文中的最后一个数据报文称为帧尾报文。本发明实施例中的数据报文携带序列号和/或时间戳、以及用于判断该数据报文是否为帧尾报文的信息,具体可以是实时传输协议(Real-time Transport Protocol,RTP)报文、基于私有协议的报文等。以RTP报文为例,根据RFC 3550制定的RTP报文头格式,RTP报文头中的M(Marker,边界)字段的值用于表示该RTP报文是否为帧尾报文。如果M的值为1,表示该RTP报文为帧尾报文,如果为0,表示该RTP报文不是帧尾报文。根据动画和电视工程师协会(The Society of MotionPictureand Television Engineers,SMPTE)2022和SMPTE 2110标准,采用RTP承载制播网的音视频数据。如,标准SMPTE 2022-6通过RTP封装SDI格式的视频数据并通过基于IP的网络传输。
本发明实施例中的视频帧指的是未压缩视频帧,可以是YUV视频帧或RGB视频帧。同一视频流的单个子图像的报文个数(即封装该视频流的一个子图像所需的数据报文的数量)一般是相同的,通常可以多达数千个,后续可以表示为M。M可以是预先设置的,也可以是根据接收的该视频流的两个相邻的帧尾报文的序列号的差值计算得出的。同一个视频流所述视频的单个视频帧的时长通常是相同的,后续可以表示为T。T可以是预先设置的,也可以是根据接收的该视频流的两个相邻的帧尾报文的时间戳的差值计算得出的。
本发明实施例中的切换报文指的是处于切换位置的数据报文,所述切换报文的切换参考信息为所述切换报文中的用于视频流切换的信息,可以包括所述切换报文的序列号(后续可以简称为切换序列号)和所述切换报文的时间戳(后续可以简称为切换时间戳)中的至少一个。进行视频流切换时,根据要切出的视频流(后续简称为切出流)的切换报文的切换参考信息和要切入的视频流(后续简称为切入流)的切换参考信息进行切换,如,对于切出流,不再转发序列号大于切出流的切换序列号的数据报文,对于切入流,开始转发序列号大于切入流的切换序列号的数据报文。
下面结合图3、图4A-4B、图5A-5C和图6介绍本发明实施例一提供的方法100。图3是本发明实施例1提供的方法流程示意图,本发明实施例1的方法可以应用于图1所示的多媒体通信系统100,由传输设备执行。
如图3所示,方法100包括如下步骤:
S110:传输设备(如图1所示的传输设备120)接收第一视频的多个视频流和第二视频的多个视频流,并通过所述第一视频的多个视频流分别对应的目标出端口发送所述第一视频的多个视频流。
所述第一视频的多个视频流用于封装所述第一视频的视频帧的不同子图像,所述第二视频的多个视频流用于封装所述第二视频的视频帧的不同子图像。所述第一视频的多个视频流和所述第二视频的多个视频流一一对应,具有对应关系的视频流所封装的子图像可以是位于相同位置的子图像,也可以是位于不同位置的子图像。如,第一视频和第二视频均通过四个视频流封装发送,将第一视频的四个视频流分别称为流11、流12、流13和流14,分别用于封装左上、左下、右上和右下的子图像,将第二视频的四个视频流分别称为流21、流22、流23和流24,分别用于封装左上、左下、右上和右下的子图像。可以是流11和流21对应、流12和流22对应、流13和流23对应、流14和流24对应,也可以是流11和流22对应、流12和流21对应、流13和流24对应、流14和流23对应。为便于表述,后续将具有对应关系的视频流称为视频流对,将任一视频流对所包括的第一视频的视频流称为第一视频流,将该视频流对所包括的第二视频的视频流称为第二视频流,所述第一视频流为切出流,所述第二视频流为切入流。如流11和流21对应,则流11和流21称为一个视频流对,流11为切出流、流21为切入流。
第一视频的多个视频流分别对应的目标出端口可能是相同的也可能是不同的,如流11-流14分别通过目标出端口1-目标出端口4发送,又如,流11-流14均通过目标出端口1发送。任一视频流对的切入流和切出流所对应的目标出端口是相同的,如,流11和流21为一个视频流对,均对应目标出端口1。
在步骤S110中,对于第一视频和第二视频的每个视频流对,该传输设备通过该视频流对所对应的目标出端口转发接收的第一视频流的数据报文并不通过该视频流对所对应的目标出端口转发接收的第二视频流的数据报文。
该传输设备可能接收多个视频的视频流,通过该目标出端口发送该多个视频中的一个视频的视频流,并在该多个视频的视频流中对通过该目标出端口发送的视频流进行切换。第一视频为执行步骤S110时正在通过该目标出端口发送的视频流所属的视频,第二视频为该多个视频中的其它视频。
S120:所述传输设备接收用于指示将第一视频的视频流切换为第二视频的视频流的切换指令。
具体可以是从控制器(如图1所示的控制器130)接收该切换指令。
在一种实现方式中,所述切换指令可以包括所述第一视频的标识和所述第二视频的标识,用于指示将所述第一视频的视频流切换为所述第二视频的视频流。相应地,所述传输设备可以根据所述第一视频的标识和预先存储的所述第一视频的标识和所述第一视频的多个视频流的标识的对应关系确定所述第一视频的多个视频流的标识,根据所述第二视频的标识和预先存储的所述第二视频的标识和所述第二视频的多个视频流的标识的对应关系确定所述第二视频的多个视频流的标识,根据预先存储的分别属于所述第一视频的和所述第二视频的视频流的标识之间的一一对应关系确定具有对应关系的视频流,并确定具有一一对应关系的视频流(即视频流对)所对应的目标出端口的端口号。
在另一实现方式中,所述切换指令包括多个指令,分别包括一个视频流对的切出流的标识(如切出流的组播地址)和切入流的标识(如切入流的组播地址)、以及该视频流对所对应的目标出端口,用于指示将通过所述目标出端口发送的所述切出流切换为所述切入流。
所述多个指令可以是通过同一个通知报文发送的,也可以是分别通过一个通知报文发送的。
S130:所述传输设备确定所述第一视频的各视频流的基准帧尾报文的切换参考信息、以及所述第二视频的各视频流的基准帧尾报文的切换参考信息。其中,所述第一视频的各视频流的基准帧尾报文封装的是所述第一视频的同一个视频帧的数据,所述第二视频的各视频流的基准帧尾报文封装的是所述第二视频的同一个视频帧的数据。
本发明实施例中的各数据报文(如各视频流的基准帧尾报文、切换报文等)的切换参考信息可以均为序列号、均为时间戳、或均包括序列号和时间戳。
对于所述第一视频和所述第二视频中的每个视频,可以均根据所述视频的各视频流之间的同步关系确定所述视频的各视频流的基准帧尾报文的切换参考信息。具体可以将执行步骤S130之前接收的所述视频的其中一个视频流(后续称为参考视频流)的倒数第x个帧尾报文作为所述视频的同步参考报文。根据所述同步参考报文的切换参考信息确定所述参考视频流的基准帧尾报文的切换参考信息。并且,对于所述视频的多个视频流中除所述参考视频流以外的每个其它视频流,根据执行步骤S130之前接收的所述其它视频流的倒数第x个帧尾报文的切换参考信息、以及所述其它视频流与所述参考视频流之间的同步关系确定所述其它视频流的基准帧尾报文的切换参考信息。其中x为自然数,可以取值为1。x为1时,所述同步参考报文即为执行步骤S130之前接收的所述参考视频流的最后一个帧尾报文。在x为1时,具体可以将执行步骤S130之前接收的所述视频的各视频流的最后一个帧尾报文中时间戳最大的帧尾报文作为所述参考帧尾报文,则可以认为所述参考帧尾报文所属视频流(即所述参考视频流)为所述视频的所有视频流中最早到达所述传输设备的视频流。
所述传输设备可以在收到切换指令后再在分别接收到所述第一视频的每个视频流和所述第二视频的每个视频流的至少一个帧尾报文时执行步骤S130。如果在接收到切换指令后需要根据每个视频流的相邻帧尾报文的序列号计算该视频流的单个子图像的报文个数,则还可以是在分别接收到每个视频流的至少两个帧尾报文时执行步骤S130。
所述传输设备也可以在收到切换指令后立即执行步骤S130,即步骤S120和步骤S130的执行时间非常接近,则执行步骤S130之前接收的每个视频流的倒数第x个帧尾报文即为接收到该切换指令之前接收的该视频流的倒数第x个帧尾报文。
如图4A所示,在接收到切换指令后立即执行步骤S130,x为1,则可以将流11的帧尾报文101作为同步参考报文,序列号为20。执行步骤S130之前接收的流12、流13和流14的倒数第1个帧尾报文分别为帧尾报文201、301和401。
对于第一视频和第二视频中的每个视频,在确定所述视频的同步参考报文的切换参考信息(如序列号)后,具体可以将所述同步参考报文的切换参考信息作为所述参考视频流的基准帧尾报文的切换参考信息,即所述参考视频流的基准帧尾报文即为所述同步参考报文,并根据如下方式具体确定所述视频的其它视频流的基准帧尾报文的切换参考信息。
对于所述视频的各视频流中除所述参考视频流以外的每个其它视频流,当确定所述其它视频流与所述参考视频流同步时将执行步骤S130之前接收的所述其它视频流的倒数第x个帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息;或者,当确定所述其它视频流晚于所述参考视频流时将执行步骤S130之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的下一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息;或者,当确定所述其它视频流早于所述参考视频流时将执行步骤S130之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的上一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息。
具体可以通过如下两种实施方式(实施方式M和实施方式N)中的一种或其组合确定所述视频的各视频流的基准帧尾报文的切换参考信息。
实施方式M:所述同步参考报文的切换参考信息、所述视频的每个视频流的基准帧尾报文的切换参考信息均包括序列号。
将所述同步参考报文的序列号作为所述参考视频流的基准帧尾报文的序列号。
对于所述视频的各视频流中除所述参考视频流以外的每个其它视频流,将封装所述其它视频流的一个视频子图像所需的数据报文的数量表示为M,将执行步骤S130之前接收的所述其它视频流的倒数第x个帧尾报文的序列号表示为Sx,将所述其它视频流的基准帧尾报文的序列号表示为Sy。当确定所述其它视频流与所述参考视频流同步时,将Sx作为Sy;或者,当确定所述其它视频流晚于所述参考视频流时,根据Sy=Sx+M确定Sy;或者,当确定所述其它视频流早于所述参考视频流时根据Sy=Sx-M确定Sy。
图4A-4B为第一视频的各视频流的示例,在如图4A-4B所示的示例中,假定M为10。
在如图4A所示的示例中,在接收到切换指令后立即执行步骤S130。如图4A所示,x取值为1,将接收到切换指令之前接收的最后一个帧尾报文,即流11的帧尾报文101,作为同步参考报文。流11即为参考视频流,将同步参考报文(即帧尾报文101)的序列号20作为流11的基准帧尾报文的序列号,则流11的基准帧尾报文即为帧尾报文101。流12晚于流11,将接收到切换指令之前接收的流12的最后一个帧尾报文201的序列号10与M(即10)的和20确定为流12的基准帧尾报文的序列号,则流12的基准帧尾报文为帧尾报文202。流13晚于流11,将接收到切换指令之前接收的流13的最后一个帧尾报文301的序列号10与M(即10)的和20确定为流13的基准帧尾报文的序列号,则流13的基准帧尾报文为帧尾报文202。流14与流11同步,将接收到切换指令之前接收的流14的最后一个帧尾报文401的序列号20作为流14的基准帧尾报文的序列号,则流14的基准帧尾报文即为帧尾报文401。
在如图4B所示的示例中,在收到切换指令后再在分别接收到所述第一视频的每个视频流的至少一个帧尾报文时执行步骤S130。如图4B所示,x取值为1,将步骤S130之前接收的最后一个帧尾报文,即流11的帧尾报文103,作为同步参考报文。流11即为参考视频流,将同步参考报文(即帧尾报文103)的序列号20作为流11的基准帧尾报文的序列号,则流11的基准帧尾报文即为帧尾报文103。流12晚于流11,将接收到切换指令之前接收的流12的最后一个帧尾报文203的序列号10与M(即10)的和20确定为流12的基准帧尾报文的序列号,则流12的基准帧尾报文为帧尾报文204。流13晚于流11,将接收到切换指令之前接收的流13的最后一个帧尾报文303的序列号10与M(即10)的和20确定为流13的基准帧尾报文的序列号,则流13的基准帧尾报文为帧尾报文204。流14与流11同步,将接收到切换指令之前接收的流14的最后一个帧尾报文403的序列号20作为流14的基准帧尾报文的序列号,则流14的基准帧尾报文即为帧尾报文403。
实施方式N:所述同步参考报文的切换参考信息、所述视频的每个视频流的基准帧尾报文的切换参考信息均包括时间戳。
将所述同步参考报文的时间戳作为所述参考视频流的基准帧尾报文的时间戳。
将所述视频的单个视频帧的时长表示为T。对于所述视频的各视频流中除所述参考视频流以外的每个其它视频流,将执行步骤S130之前接收的所述其它视频流的倒数第x个帧尾报文的时间戳表示为Tx,将所述其它视频流的基准帧尾报文的时间戳表示为Ty。当确定所述其它视频流与所述参考视频流同步时,将Tx作为Ty;或者,当确定所述其它视频流晚于所述参考视频流时,根据Ty=Tx+T确定Ty;或者,当确定所述其它视频流早于所述参考视频流时根据Ty=Tx-T确定Ty。
对于所述视频的各视频流中除所述参考视频流以外的每个其它视频流,所述传输设备可以根据确定所述其它视频流的基准帧尾报文的序列号之前接收的所述其它视频流的倒数第x个帧尾报文的时间戳Tx和所述视频的同步参考报文的时间戳Tq确定所述其它视频流和所述参考视频流的同步关系。
考虑到设备同步本身就有精度偏差,同一个时刻从不同视频源设备发出的数据报文,其时间戳可能会有偏差。另外,IP网络以报文为单位,报文转发的抖动也会引入一些同步偏差。因此,可以认为,如果两个基准帧尾报文的时间戳偏差小于预设的时差阈值即可认为这两个视频流同步。用于判断同步与否的时差阈值可以根据网络中视频源设备的时钟同步精度决定。
传输设备具体可以在确定Tx-Tq>ΔT1时,确定所述其它视频流早于所述参考视频流;在确定Tq-Tx>ΔT1时,确定所述其它视频流晚于所述参考视频流;在确定|Tx-Tq|<ΔT2时,确定所述其它视频流与所述参考视频流同步。ΔT1和ΔT2均为预设的大于0且小于T的时差阈值,ΔT2可以和ΔT1相同也可以小于ΔT1。可以按照如下条件预设ΔT1和ΔT2:T/2<ΔT1<T,如ΔT1可以为3*T/4,0<ΔT2<T/2,如ΔT2可以为T/4,T为单个视频帧的时长。在本发明实施例中,T可以是预先设置的或根据预先设置的视频信息(如帧率)计算得到的。另外,由于具有互相切换的需求的视频流所属视频的单个视频帧的时长通常是一样的,因此,T也可以是根据接收的该其它视频流或该参考视频流的数据报文计算得到的,如,根据该参考视频流的两个相邻的帧尾报文的时间戳的差值计算得出。
S140:所述传输设备根据各视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息。
对于第一视频和第二视频的每个视频流,所述视频流的切换报文中的视频数据所属视频帧可以为所述视频流的基准帧尾报文中的视频数据所属视频帧在顺序上的下一视频帧或在顺序上的下一视频帧的后续视频帧。当x取值为1时,根据该实现方式实现在基准帧尾报文后至少一帧的位置处进行视频流切换,可以有效避免对当前正在传输的视频画面的损伤。
在一种实现方式中,该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括序列号,相应地,具体可以根据所述视频流的基准帧尾报文的序列号和封装所述视频流的单个子图像的报文个数计算所述视频流的切换序列号,确定的所述视频流的切换序列号与所述视频流的基准帧尾报文的序列号的差值可以大于或等于封装所述视频流的单个子图像的报文个数。
在另一种实现方式中,该第一视频和该第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括时间戳,相应地,具体还可以根据所述视频流的基准帧尾报文的时间戳和所述视频流所属视频的单个视频帧的时长计算所述视频流的切换时间戳,确定的所述视频流的切换时间戳与所述视频流的基准帧尾报文的时间戳的差值可以大于或等于所述视频的单个视频帧的时长。
在具体实现时,所述传输设备可以先根据所述视频流的基准帧尾报文的切换参考信息确定该视频流的对齐帧尾报文的切换参考信息,再根据该对齐帧尾报文的切换参考信息确定该切换报文的切换参考信息,如,将所述对齐帧尾报文的切换参考信息作为所述切换报文的切换参考信息,又如,将用于封装所述对齐帧尾报文的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的切换参考信息确定为所述切换报文的切换参考信息,该对齐帧尾报文为该基准帧尾报文的后续帧尾报文。对于每个视频流对,该视频流对的切出流和切入流的对齐帧尾报文为在时间上对应的帧尾报文。为便于表述,将任一视频流对中的切出流和切入流的对齐帧尾报文分别称为第一对齐帧尾报文和第二对齐帧尾报文。第一对齐帧尾报文和第二对齐帧尾报文为在时间上对应的帧尾报文指的是,对于第一对齐帧尾报文,第二对齐帧尾报文是第二视频流的所有帧尾报文中与第一对齐帧尾报文的时间戳最接近的帧尾报文。可以理解的是,对于第一对齐帧尾报文对应的视频帧,第二对齐帧尾报文对应的视频帧为第二视频流的所有视频帧中与其时间上最接近的视频帧。
所述第一视频和所述第二视频的所有视频流的基准帧尾报文、对齐帧尾报文和切换帧尾报文的切换参考信息可以均为序列号、均为时间戳、或均包括序列号和时间戳。
对于每个视频流对,具体可以通过如下实施方式A和实施方式B中的一种或其组合确定该视频流对中的每个视频流的对齐帧尾报文的切换参考信息并确定所述视频流的切换报文的切换参考信息。其中,实施方式A用于确定所述切换报文的序列号,实施方式B用于确定所述切换报文的时间戳。
实施方式A:
如前所述,为便于表述,将具有对应关系的视频流称为视频流对,将每个视频流对所包括的第一视频的视频流称为第一视频流,将该视频流对所包括的第二视频的视频流称为第二视频流。
在实施方式A中,该传输设备可以先根据该第一基准帧尾报文的序列号和该第一视频流的单个子图像的报文个数计算该第一对齐帧尾报文的序列号,再根据该第一对齐帧尾报文的序列号确定该第一切换报文的序列号。并且可以先根据该第二视频流的第二基准帧尾报文的序列号和该第二视频流的单个子图像的报文个数计算该第二对齐帧尾报文的序列号,再根据该第二对齐帧尾报文的序列号确定该第二切换报文序列号。
具体可以通过实施方式A的如下两种实施方式(实施方式A1和实施方式A2)中的一种确定第一视频流和第二视频流中的每个视频流的对齐帧尾报文的序列号。
实施方式A1:考虑到第一视频流和第二视频流之间可能会不同步的问题,在实施方式A1中,传输设备先确定所述第一视频流和所述第二视频流的同步关系,进而对于第一视频流和第二视频流中的每个视频流,根据该视频流的基准帧尾报文的序列号、以及该同步关系,计算该视频流的对齐帧尾报文的序列号。所述第一视频流和所述第二视频流的同步关系,具体可以是所述第一视频流早于所述第二视频流、所述第一视频流晚于所述第二视频流或所述第一视频流与所述第二视频流同步。具有互相切换的需求的视频流之间的失步通常不会超过一帧。
确定第一视频流与第二视频流的同步关系之后,具体通过如下方式确定第一视频流的第一对齐帧尾报文的序列号和第二视频流的第二对齐帧尾报文的序列号。为便于表述,在本发明实施例中,将第一基准帧尾报文的序列号表示为S11,将第一对齐帧尾报文的序列号表示为S12,将第二基准帧尾报文的序列号表示为S21,将第二对齐帧尾报文的序列号表示为S22,将所述第一视频流的单个子图像的报文个数表示为M1,将所述第二视频流的单个子图像的报文个数表示为M2,M1与M2可以相同,也可以不同,通常是相同的。在如下方式的示例中,假定M1和M2均为10。
在确定的所述第一视频流和所述第二视频流的同步关系为所述第一视频流早于所述第二视频流时,根据公式S12=S11+m*M1确定所述第一对齐帧尾报文的序列号S12,并根据公式S22=S21+(m+1)*M2确定所述第二对齐帧尾报文的序列号S22,m为自然数,可以取1。
假定m为1,如图5A所示,所述第一基准帧尾报文为帧尾报文105,序列号为20,第一对齐帧尾报文106的序列号为20+10=30,所述第二基准帧尾报文为帧尾报文205,序列号为10,第二对齐帧尾报文206的序列号为10+2*10=30。
在确定的所述第一视频流和所述第二视频流的同步关系为所述第一视频流晚于所述第二视频流时,根据公式S12=S11+(n+1)*M1确定所述第一对齐帧尾报文的序列号S12,并根据公式S22=S21+n*M2确定所述第二对齐帧尾报文的序列号S22,n为自然数,可以取1。
假定n为1,如图5B所示,所述第一基准帧尾报文为帧尾报文107,序列号为10,第一对齐帧尾报文108的序列号为10+2*10=30,所述第二基准帧尾报文为帧尾报文207,序列号为20,第二对齐帧尾报文208的序列号为20+10=30。
在确定的所述第一视频流和所述第二视频流的同步关系为所述第一视频流和所述第二视频流同步时,根据公式S12=S11+k*M1确定所述第一对齐帧尾报文的序列号S12,并根据公式S22=S21+k*M2确定所述第二对齐帧尾报文的序列号S22,k为自然数,可以取1。
假定k为1,如图5C所示,所述第一基准帧尾报文为帧尾报文109,序列号为10,第一对齐帧尾报文110的序列号为10+10=20,所述第二基准帧尾报文为帧尾报文209,序列号为10,第二对齐帧尾报文210的序列号为10+10=20。
通过实施方式A1确定的第一对齐帧尾报文的序列号和第二对齐帧尾报文的序列号所对应的帧尾报文(即第一对齐帧尾报文和第二对齐帧尾报文)的时间戳基本是一致的,据此确定的切换报文的时间戳基本上也是一致的,因此,可以保证切换时切出流和切入流在时间维度上正好衔接,不会发生多帧或少帧的问题。
实施方式A2:在实施方式A2中不考虑第一视频流和第二视频流之间的同步关系,而是假定第一视频流和第二视频流之间之间是同步的,可以直接根据公式S12=S11+k*M1确定所述第一对齐帧尾报文的序列号S12,并根据公式S22=S21+k*M2确定所述第二对齐帧尾报文的序列号S22。
在确定第一对齐帧尾报文的序列号和第二对齐帧尾报文的序列号之后,可以通过如下两种实施方式(实施方式X1和实施方式X2)中的一种分别根据第一对齐帧尾报文的序列号和第二对齐帧尾报文的序列号确定第一视频流的切换报文的序列号(后续称为第一切换序列号)和第一视频流的切换报文的序列号(后续称为第二切换序列号)。
实施方式X1:实施方式X1用于实现在帧边界处切换视频流。在实施方式X1中,将所述第一视频流的第一对齐帧尾报文的序列号作为所述第一切换序列号,并将所述第二视频流的第二对齐帧尾报文的序列号作为所述第二切换序列号。
如图5A所示,将第一对齐帧尾报文106的序列号30作为第一切换序列号,即将第一对齐帧尾报文106作为第一视频流的切换报文,将第二对齐帧尾报文206的序列号30作为第二切换序列号,即将第二对齐帧尾报文206作为第二视频流的切换报文。
实施方式X2:实施方式X2用于实现在消隐区切换视频流。
在视频领域,在将光信号转换为电信号的扫描过程中,扫描总是从图像的左上角开始,水平向右行进,同时扫描点也以较慢的速率向下移动。当扫描点到达图像右侧边缘时,扫描点快速返回左侧,重新开始在第1行的起点下面进行第2行扫描,行与行之间的返回过程称为水平消隐。一幅完整的图像扫描信号,由水平消隐间隔分开的行信号序列构成,称为一帧。扫描点扫描完一帧后,要从图像的右下角返回到图像的左上角,开始新一帧的扫描,这一时间间隔,叫做垂直消隐,也称场消隐。水平消隐、垂直消隐在SDI信号中不承载可视内容,统称消隐区。为了指导在SDI格式的视频流之间进行切换,SMPTE RP-168规定了切换行或切换区。在切换行或切换区切换两路SDI信号,不会对有效的视频数据产生损伤。因为SMPTE2022-6是将SDI信号承载在IP报文中,所以对采用SMPTE 2022-6封装的视频流进行净切换时,应该在消隐区切换。
综上,如果所述第一视频流和所述第二视频流均为采用SMPTE 2022-6编码的视频流,可以在封装消隐区数据的数据报文处进行视频流切换。
对于第一视频流,具体可以将用于封装所述第一对齐帧尾报文的序列号所对应的子图像在时间顺序上的下一子图像的消隐区数据的数据报文的序列号确定为所述第一切换序列号。如,将所述第一视频流的第一对齐帧尾报文的序列号和ΔM1的和确定为所述第一切换序列号,
Figure BDA0001796466180000151
Figure BDA0001796466180000152
其中,OL1为所述第一视频流的单个子图像中每一行像素所占的字节数,SL1为所述第一视频流的单个子图像的切换行号。
对于第二视频流,将用于封装所述第二对齐帧尾报文的序列号所对应的子图像在时间顺序上的下一子图像的消隐区数据的数据报文的序列号确定为所述第二切换序列号。如,将所述第二视频流的第二对齐帧尾报文的序列号和ΔM2的和确定为所述第二切换序列号,
Figure BDA0001796466180000153
Figure BDA0001796466180000154
Figure BDA0001796466180000155
其中,OL2为所述第二视频流的单个子图像中每一行像素所占的字节数,SL2为所述第二视频流的单个子图像的切换行号。
切换行号可以取决于SDI视频标准,目前SMPTE RP-168规定了大部分视频格式的视频图像的切换行号。第一视频的各子图像和第二视频的各子图像的视频格式通常是一样的,因此第一视频的切换行号SL1和第二视频的切换行号SL2通常是相同的。
对于所述第一视频和所述第二视频的每个视频,如果采用4:2:2采样方式,所述视频的视频流的单个子图像中每一行像素所占的字节数OL=PL*BS*2/8,其中,PL为所述视频的视频流的单个子图像的每一行的总像素数(包括行消隐像素的数量和视频有效像素的数量),BS为像素位深。可以理解的是,如果第一视频和第二视频的像素位深和采样方式是相同的,通常OL1和OL2是相同的。
实施方式B:
在实施方式B中,该传输设备可以先根据该第一基准帧尾报文的时间戳和该第一视频流的单个视频帧的时长计算该第一对齐帧尾报文的时间戳,再根据该第一对齐帧尾报文的时间戳确定该第一切换报文的时间戳。并且可以先根据该第二视频流的第二基准帧尾报文的时间戳和该第二视频流的单个视频帧的时长计算该第二对齐帧尾报文的时间戳,再根据该第二对齐帧尾报文的时间戳确定该第二切换报文时间戳。
具体可以通过实施方式B的如下两种实施方式(实施方式B1和实施方式B2)中的一种确定第一视频流和第二视频流中的每个视频流的对齐帧尾报文的时间戳。
实施方式B1:考虑到不同视频流之间可能会不同步的问题,在实施方式B1中,传输设备先确定所述第一视频流和所述第二视频流的同步关系,进而对于第一视频流和第二视频流中的每个视频流,根据该视频流的基准帧尾报文的时间戳、以及该同步关系,计算该视频流的对齐帧尾报文的时间戳。
确定第一视频流与第二视频流的同步关系之后,具体通过如下方式确定第一视频流的第一对齐帧尾报文的时间戳和第二视频流的第二对齐帧尾报文的时间戳。为便于表述,在本发明实施例中,将第一基准帧尾报文的时间戳表示为t11,将第一对齐帧尾报文的时间戳表示为t12,将第二基准帧尾报文的时间戳表示为t21,将第二对齐帧尾报文的时间戳表示为t22,将所述第一视频流的单个视频帧的时长表示为T1,将所述第二视频流的单个视频帧的时长表示为T2,T1与T2可以相同,也可以不同,通常是相同的。
在确定的所述第一视频流和所述第二视频流的同步关系为所述第一视频流早于所述第二视频流时,根据公式t12=t11+m*T1确定所述第一对齐帧尾报文的时间戳t12,并根据公式t22=t21+(m+1)*T2确定所述第二对齐帧尾报文的时间戳t22,m为自然数,可以取1。
在确定的所述第一视频流和所述第二视频流的同步关系为所述第一视频流晚于所述第二视频流时,根据公式t12=t11+(n+1)*T1确定所述第一对齐帧尾报文的时间戳t12,并根据公式t22=t21+n*T2确定所述第二对齐帧尾报文的时间戳t22,n为自然数,可以取1。
在确定的所述第一视频流和所述第二视频流的同步关系为所述第一视频流和所述第二视频流同步时,根据公式t12=t11+k*T1确定所述第一对齐帧尾报文的时间戳t12,并根据公式t22=t21+k*T2确定所述第二对齐帧尾报文的时间戳t22,k为自然数,可以取1。
通过实施方式B1确定的第一对齐帧尾报文的时间戳和第二对齐帧尾报文的时间戳基本是一致的,据此确定的切换报文的时间戳基本上也是一致的,因此,可以保证切换时切出流和切入流在时间维度上正好衔接,不会发生多帧或少帧的问题。
实施方式B2:在实施方式B2中不考虑第一视频流和第二视频流之间的同步关系,而是假定第一视频流和第二视频流之间是同步的,可以直接根据公式t12=t11+k*T1确定所述第一对齐帧尾报文的时间戳t12,并根据公式t22=t21+k*T2确定所述第二对齐帧尾报文的时间戳t22。
在确定第一对齐帧尾报文的时间戳和第二对齐帧尾报文的时间戳之后,可以通过如下两种实施方式(实施方式Y1和实施方式Y2)中的一种分别根据第一对齐帧尾报文的时间戳和第二对齐帧尾报文的时间戳确定第一切换时间戳和第二切换时间戳。
实施方式Y1:实施方式Y1用于实现在帧边界处切换视频流。在实施方式Y1中,将所述第一视频流的第一对齐帧尾报文的时间戳作为所述第一切换时间戳,并将所述第二视频流的第二对齐帧尾报文的时间戳作为所述第二切换时间戳。
实施方式Y2:实施方式Y2用于实现在消隐区切换视频流。
对于第一视频流,具体可以将用于封装所述第一对齐帧尾报文的时间戳所对应的子图像在时间顺序上的下一子图像的消隐区数据的数据报文的时间戳确定为所述第一切换时间戳。如,将所述第一视频流的第一对齐帧尾报文的时间戳和Δtm的和确定为所述第一切换时间戳,Δtm为属于区间[tx,ty]的值,如Δtm为tx或(tx+ty)/2,其中,tx=T1*SL1/L1,ty=T1*(SL1+1)/L1,其中,SL1为所述第一视频流的子图像的切换行号,L1为所述第一视频流的的子图像的像素的总行数。
对于第二视频流,将用于封装所述第二对齐帧尾报文的时间戳所对应的子图像在时间顺序上的下一子图像的消隐区数据的数据报文的时间戳确定为所述第二切换时间戳。如,将所述第二视频流的第二对齐帧尾报文的时间戳和Δtn的和确定为所述第二切换时间戳,Δtn为属于区间[tm,tn]的值,如Δtn为tm或(tm+tn)/2,其中,tm=T2*SL2/L2,ty=T2*(SL2+1)/L2,其中,SL2为所述第二视频流的子图像的切换行号,L2为所述第二视频流的子图像的像素的总行数。需要说明的是,根据相同的方法计算Δtm和Δtn,如,利用公式Δtm=T1*SL1/L1计算Δtm(即Δtm为tx)并利用公式Δtn=T2*SL2/L2计算Δtn(即Δtn为tm)。
切换行号可以取决于SDI视频标准,目前SMPTE RP-168规定了大部分视频格式的切换行号。第一视频的切换行号SL1和第二视频的切换行号SL2通常是相同的。第一视频的L2和第二视频的L2通常也是相同的。
在本发明实施例1中,该传输设备具体可以根据所述第一视频流的基准帧尾报文的时间戳、以及所述第二视频流的基准帧尾报文的时间戳确定所述第一视频流和所述第二视频流的同步关系。
考虑到设备同步本身就有精度偏差,同一个时刻从不同视频源设备发出的数据报文,其时间戳可能会有偏差。另外,IP网络以报文为单位,报文转发的抖动也会引入一些同步偏差。因此,可以认为,如果两个基准帧尾报文的时间戳偏差小于预设的时差阈值即可认为这两个视频流同步。用于判断同步与否的时差阈值可以根据网络中视频源设备的时钟同步精度决定。
传输设备具体可以在确定t1-t2>Δt1时,确定所述第一视频流早于所述第二视频流;在确定t2-t1>Δt1时,确定所述第一视频流晚于所述第二视频流;在确定|t1-t2|<Δt2时,确定所述第一视频流与所述第二视频流同步。t1为所述第一基准帧尾报文的时间戳;t2为所述第二基准帧尾报文的时间戳;Δt1为预设的第一时差阈值,Δt2为预设的第二时差阈值,Δt1和Δt2均为大于0且小于T的值,Δt2可以和Δt1相同也可以小于Δt1。可以按照如下条件预设Δt1和Δt2:T/2<Δt1<T,如Δt1可以为3*T/4,0<Δt2<T/2,如Δt2可以为T/4,T为单个视频帧的时长。在本发明实施例中,T可以是预先设置的或根据预先设置的视频信息(如帧率)计算得到的。另外,由于具有互相切换的需求的视频流所属视频的单个视频帧的时长通常是一样的,因此,T也可以是根据接收的第一视频流和第二视频流中的任一视频流的数据报文计算得到的,如,根据该视频流的两个相邻的帧尾报文的时间戳的差值计算得出。
S150:所述传输设备根据各视频流的切换报文的切换参考信息将通过所述第一视频的多个视频流分别对应的目标出端口发送的所述第一视频的多个视频流切换为所述第二视频的多个视频流。
具体地,对于每个视频流对中的所述第一视频流和所述第二视频流,所述传输设备根据所述第一视频流和所述第二视频流的切换报文的切换参考信息将通过所述第一视频流对应的目标出端口发送的所述第一视频流切换为所述第二视频流。
在一种实现方式中,所述第一切换报文的切换参考信息和所述第二切换报文的切换参考信息均为序列号,该传输设备具体可以不通过所述目标出端口发送接收的所述第一视频流的序列号大于所述第一切换序列号的数据报文,并通过所述目标出端口发送接收的所述第二视频流的序列号大于所述第二切换序列号的数据报文。
由于第一切换序列号和第二切换序列号为计算得出的尚未接收到的数据报文的序列号,在计算出第一切换序列号和第二切换序列号时,通常还会接收到第一视频流的序列号小于或等于第一切换序列号的数据报文和第二视频流的序列号小于或等于第二切换序列号的数据报文。该传输设备在步骤S150中可以根据接收的第一视频流的数据报文的序列号确定是否要通过该目标出端口发送该数据报文,如果小于或等于该第一切换序列号,则照常通过该目标出端口发送该数据报文,否则不通过该目标出端口发送该数据报文。相应地,该传输设备可以根据接收的第二视频流的数据报文的序列号确定是否要通过该目标出端口发送该数据报文,如果小于或等于该第二切换序列号,则照常不通过该目标出端口发送该数据报文,否则通过该目标出端口发送该数据报文。
在另一种实现方式中,所述第一切换报文的切换参考信息和所述第二切换报文的切换参考信息均为时间戳,该传输设备具体可以不通过所述目标出端口发送接收的所述第一视频流的时间戳大于所述第一切换时间戳的数据报文,并通过所述目标出端口发送接收的所述第二视频流的时间戳大于所述第二切换时间戳的数据报文。另外,该传输设备还可以通过所述目标出端口发送接收的所述第一视频流的时间戳小于或等于所述第一切换时间戳的数据报文,并不通过所述目标出端口发送接收的所述第二视频流的时间戳小于或等于所述第二切换时间戳的数据报文
在再一种实现方式中,所述第一切换报文的切换参考信息和所述第二切换报文的切换参考信息均包括序列号和时间戳。对于接收的所述第一视频流的数据报文,如果所述数据报文的时间戳与所述第一切换报文的时间戳的差值的绝对值Dif1大于阈值1且所述数据报文的时间戳大于所述第一切换报文的时间戳,或者Dif1小于或等于阈值1且所述数据报文的序列号大于所述第一切换报文的序列号,不通过所述目标出端口转发所述数据报文。对于接收的所述第二视频流的数据报文,如果所述数据报文的时间戳与所述第二切换报文的时间戳的差值的绝对值Dif2大于阈值2且所述数据报文的时间戳大于所述第二切换报文的时间戳,或者Dif2小于或等于阈值2且所述数据报文的序列号大于所述第二切换报文的序列号,通过所述目标出端口转发所述数据报文。另外,对于接收的所述第一视频流的数据报文,如果Dif1大于阈值1且所述数据报文的时间戳小于所述第一切换报文的时间戳,或者Dif1小于或等于阈值1且所述数据报文的序列号小于或等于所述第一切换报文的序列号,通过所述目标出端口转发所述数据报文。对于接收的所述第二视频流的数据报文,如果Dif2大于阈值2且所述数据报文的时间戳小于所述第二切换报文的时间戳,或者Dif2小于或等于阈值2且所述数据报文的序列号小于所述第二切换报文的序列号,不通过所述目标出端口转发所述数据报文。
其中,阈值1和阈值2可以相同也可以不同,均可以设置为大于或等于1/4T的值,具体可以设置为大于或等于1/4T且小于或等于7/4T的值,如3/4T,其中,T为所述第一视频流或所述第二视频流的单个视频帧的时长。
对于第一视频流和第二视频流中的每个视频流,可以在确定该视频流进入稳定状态后,如确定在开始执行步骤S150之后已处理该数据流的预定个数(如M、2M个)的数据报文、或在开始执行步骤S130之后经过了预设时长(如T、2T),此时再接收到该数据流的序列号或时间戳小于或等于该数据流的切换序列号或切换时间戳的数据报文的可能性很小,因此可以不再逐报文检查接收的该数据流的数据报文的序列号或时间戳来判断是否通过该目标出端口发送该数据报文,而是基于用于表明该数据报文所属的数据流(即该数据流)是否为需要发送的数据流的状态信息来确定是否通过该目标出端口发送该数据报文,从而提高转发效率。其中,M为该视频流的单个子图像的报文个数,T为该视频流的单个视频帧的时长。
为了减少对下游设备的影响,以实现下游设备对切换不感知,所述传输设备在转发所述第二视频流的数据报文时,还可以修改所述第二视频流的数据报文中的信息。
具体地,为了提升切换前后的视频流的一致性,该传输设备可以修改所述第二视频流的数据报文中的第一字段的值以使得切换后通过该目标出端口发出的第二视频流的数据报文中的第一字段的值和切换前通过该目标出端口发出的第一视频流的数据报文中的第一字段的值相同。所述第一字段可以为组播地址字段或载荷类型字段。如果采用RTP进行视频流传输,该第一字段还可以为同步源(Synchronization source,SSRC)字段。所述第一字段还可以为SMPTE 2022-6定义的HBRMT层参数,如FRCount,FRCount是SMPTE 2022-6定义的高码率媒体载荷头(High Bit Rate Media Payload Header)中的帧计数(FrameCount)字段,表示该视频流中累积的视频帧数。
对于一个目标出端口,可能需要在多条输入视频流间反复切换。所以,当前的切出流很可能是之前的切入流。
该传输设备可以在通过该目标出端口发送该多个输入视频流中的每个视频流时,均将该视频流的数据报文中的第一字段的值,修改为预设的值,如,将该视频流的数据报文中的组播地址修改为预设的组播地址(如239.0.2.1),或将通过该目标出端口发送的每个切入流的数据报文中的第一字段的值修改为第一个切出流的第一字段的值。
为了提升切换前后的视频流的连续性,所述传输设备在切换后发送所述第二视频流的数据报文时,还可以修改所述第二视频流的数据报文中的第二字段的值以使得切换后通过该目标出端口发出的第二视频流的数据报文中的第二字段的值和切换前通过该目标出端口发出的第一视频流的数据报文中的第二字段的值连续。所述第二字段的值可以为序列号、帧号和时间戳等中的一个或多个。
为了保证第二字段的值(如序列号)连续,具体可以将要发送的第二视频流的数据报文中的第二字段的值增加ΔV,其中,ΔV=V1-V2,V1为所述第一视频流的序列号等于所述第一切换序列号的数据报文在被通过该目标出端口发出时所携带的第二字段的值,V2为所述第二视频流的序列号等于所述第二切换序列号的数据报文在被接收时所携带的第二字段的值。
在执行步骤S130之前,传输设备还可以执行步骤S115以记录第一视频的各视频流和第二视频的各视频流的最新帧尾报文的目标信息,记录的目标信息包括最新帧尾报文的序列号和时间戳中的至少一个。相应地,在步骤S130中可以根据在步骤S115中记录的各视频流的最新帧尾报文的目标信息确定各视频流的基准帧尾报文。
该传输设备可以在步骤S120之前开始执行步骤S115。如S110中所述,该传输设备可能接收多个视频的视频流,通过该目标出端口发送该多个视频中的一个视频的视频流,并在该多个视频的视频流中对通过该目标出端口发送的视频流进行切换。则在该传输设备开始通过该目标出端口转发视频流时开始记录该多个视频的视频流的最新帧尾报文的目标信息。当后续要对其中两个视频的视频流进行切换时,可以利用已经记录的这两个视频的视频流的最新帧尾报文的目标信息执行步骤S130-S140以确定切换参考信息。在步骤S120之前开始执行步骤S115,可以用于实现收到切换指令后立即执行步骤S130。
该传输设备也可以在步骤S120之后开始执行步骤S115。即,在接收到切换指令后开始记录要进行切换的视频流的最新帧尾报文的目标信息,并进而根据记录的要进行切换的视频流的最新帧尾报文的目标信息执行步骤S130-S140以确定切换报文的切换参考信息。在步骤S120之后开始执行步骤S115。需要说明的是,如果所述切换指令包括分别对应一个视频流对的多个指令,且所述多个指令通过不同的通知报文发送,则所述传输设备可以在接收到每个视频流对的指令时开始记录该视频流对中的切出流和切入流的最新帧尾报文的目标信息。
如果在步骤S120之前开始执行步骤S115,对于该多个视频的每个视频流,该传输设备可以在接收到该视频流中在顺序上的第一个帧尾报文时,将该帧尾报文的目标信息记录为该视频流的最新帧尾报文的目标信息,并根据后续接收的该视频流的数据报文更新该视频流的最新帧尾报文的目标信息。进而,在接收到切换指令后立即执行步骤S130-S140以根据接收到切换指令前记录的最新帧尾报文的目标信息(如序列号)计算切换报文的切换参考信息(如序列号)。如图4A所示,根据收到切换指令前记录的第一视频的流21的最新帧尾报文201的序列号10计算流21的切换序列号。
如果在步骤S120之后开始执行步骤S115,对于所述第一视频和所述第二视频的每个视频流,该传输设备可以在接收到该视频流中在顺序上的第一个帧尾报文时,将该帧尾报文的目标信息记录为该视频流的最新帧尾报文的目标信息。如果在收到其中一路视频流的另一帧尾报文时还没有收到所属视频的其它视频流的第一个帧尾报文,则可以对该视频流的最新帧尾报文的目标信息进行更新,直至收到该视频的所有视频流的第一个帧尾报文。另外,如果对于每个视频流均根据相邻帧尾报文的序列号计算单个子图像的报文个数,则在计算切换序列号之前对于每个视频流都至少接收两个帧尾报文,每次接收到帧尾报文时均将该帧尾报文的目标信息记录为所属视频流的最新帧尾报文的目标信息。此外,可以将接收的两个相邻帧尾报文的序列号的差值作为所属视频流的单个子图像的报文个数,还可以将接收的两个相邻帧尾报文的时间戳的差值作为所属视频的单个视频帧的时长。
如图4A所示,根据收到切换指令后记录的第一视频的流21的最新帧尾报文203的序列号10计算流21的切换序列号。
传输设备具体可以通过如下方式对每个视频流的最新帧尾报文的目标信息进行更新。
所述传输设备可以在每次接收到该视频流的帧尾报文时,将该视频流的最新帧尾报文的序列号更新为该帧尾报文的序列号,并将该视频流的最新帧尾报文的时间戳更新为该帧尾报文的时间戳。
所述传输设备也可以在更新时考虑可能发生的帧间报文乱序和帧尾报文丢失问题。如果存在帧间报文乱序,即后一帧的非帧尾报文先于前一帧的帧尾报文到达或先于前一帧的帧尾报文被传输设备处理,或存在帧尾报文丢失,该视频流的最新帧尾报文的序列号也可以是根据序列号大于未被收到的帧尾报文的非帧尾报文估算的该帧尾报文的序列号。相应地,该传输设备可以采用如下方式进行更新。
在确定接收的该视频流的数据报文不是帧尾报文且所述数据报文的序列号大于该视频流的最新帧尾报文的序列号与该视频流的单个子图像的报文个数M的和时,将记录的该视频流的最新帧尾报文的序列号增加M。如果该目标信息还包括时间戳,相应地,将记录的该视频流的最新帧尾报文的时间戳增加单个视频帧的时长T。在确定接收的该视频流的数据报文为帧尾报文时,可以直接执行更新操作,即将该视频流的最新帧尾报文的序列号更新为该数据报文的序列号,并将该视频流的最新帧尾报文的时间戳更新为该数据报文的时间戳,也可以进一步判断该数据报文的时间戳是否大于记录的该视频流的最新帧尾报文的时间戳,并仅在大于时执行该更新操作。
另外,对于第一视频和第二视频中的每个视频,该传输设备还可以记录该视频的各视频流的最新帧尾报文的时间戳中最大的时间戳。
下面以一种具体实施方式对步骤S115的具体实现进行详细描述。
传输设备建立切换子表。如果在步骤S120之前开始执行步骤S115,该切换子表可以包括该多个视频的视频流的记录,如果在步骤S120之后开始执行步骤S115,该切换子表可以仅包括要切换的两个视频(即第一视频和第二视频)的视频流的记录,如表1所示。需要说明的是,该切换子表可以是一张表,也可以是多张表,如,每个视频的多个视频流的信息记录在一张表中,又如,每个视频流的信息记录在一张表中。
Figure BDA0001796466180000201
Figure BDA0001796466180000211
表1
该切换表可以包括字段FT_TS和FT_SN,每个视频流对应的FT_TS的值和FT_SN的值分别为该视频流的最新帧尾报文的时间戳和序列号。
该视频流切换表还可以包括字段Flow、Outport、State、FrameTime和FramePackets中的任意一个或任意组合。Flow的值用于标识对应的视频流。每个视频流对应的Outport的值用于记录该视频流对应的出端口的端口号,即表示该视频流从该传输设备的哪个端口转发出去。每个视频流对应的State的值用于记录该视频流的当前状态,其中,SW_Forwarding表明该视频流为传输设备在通过对应的目标出端口转发的视频流,SW_Discard表明该视频流为该传输设备不通过对应的目标出端口转发的视频流。每个视频流对应的FrameTime的值用于记录该视频流的单个视频帧的时长,如果采用RTP进行视频流传输,FrameTime的单位与RTP头中的TS字段的单位相同。每个视频流对应的FramePackets的值用于记录该视频流的单个子图像的报文个数。
该视频流切换表还可以包括SW_SN,每个视频流对应的SW_SN的值用于记录该视频流的切换序列号。传输设备还可以建立切换总表。如果在步骤S120之前开始执行步骤S115,该切换总表可以包括该多个视频的每个视频的信息,如果在步骤S120之后开始执行步骤S115,该切换总表可以仅包括要切换的两个视频(即第一视频和第二视频)的信息,如表2所示。
TSmax1 TSmax2 Bitmap1 Bitmap2
表2
该切换总表包括所述第一视频TSmax字段(TSmax1)和所述第二视频的TSmax字段(TSmax2)。该切换总表还可以包括所述第一视频Bitmap字段(Bitmap1)和所述第二视频的Bitmap字段(Bitmap2)。其中,TSmax1的值用于记录所述第一视频的各视频流的最新帧尾报文的时间戳中最大的时间戳;TSmax2的值用于记录所述第二视频的各视频流的最新帧尾报文的时间戳中最大的时间戳。Bitmap1的值用于表示切换子表中已记录第一视频的哪些视频流的最新帧尾报文的目标信息,如1111表示已记录流11、12、13和14的最新帧尾报文的目标信息,0101表示已记录流11和13的最新帧尾报文的目标信息,初始值为全0。Bitmap2的值用于表示切换子表中已记录第二视频的哪些视频流的最新帧尾报文的目标信息,初始值为全0。
Bitmap1和Bitmap2均为1111时表示可以计算切换报文的切换参考信息,即表示已具备执行步骤S130-S140所需的信息。如果在步骤S120之前开始执行步骤S115,执行步骤S120时,Bitmap1和Bitmap2已经均为1111,即切换子表中已记录第一视频和第二视频的所有视频流的最新帧尾报文的目标信息,因此,执行步骤S120之后可以立即执行步骤S130。如果在步骤S120之后开始执行步骤S115,则可以在等到Bitmap1和Bitmap2均为1111时执行步骤S130-S140。
相应地,在执行步骤S130-S140的过程中,对于第一视频和第二视频中的每个视频,可以将该视频的TSmax(如TSmax1)的值所对应的帧尾报文作为参考帧尾报文,TSmax的值即为参考帧尾报文的时间戳。对于所述视频的除参考视频流以外的每个其它视频流,根据TSmax的值和该视频流在切换子表中对应的FT_TS的值确定该视频流和参考帧尾报文所属视频流(即参考视频流)之间的同步关系,并根据该同步关系确定该视频流的基准帧尾报文的切换参考信息。如,根据该视频流在切换子表中对应的FT_SN的值和该同步关系确定该视频流的基准帧尾报文的序列号。又如,根据该视频流在切换子表中对应的FT_TS的值和该同步关系确定该视频流的基准帧尾报文的时间戳。其中,该视频流和参考之间的同步关系具体可以根据该视频的TSmax的值和该视频流在切换子表中对应的FT_TS的值来确定。
如果切换参考信息包括序列号,可以将确定后的每个视频流的基准帧尾报文的序列号更新到所述视频流在切换子表中对应的FT_SN字段中,进而可以根据所述视频流在切换子表中对应的FT_SN字段的值确定该视频流的切换报文的序列号。
如果切换参考信息包括时间戳,可以将确定后的每个视频流的基准帧尾报文的时间戳更新到所述视频流在切换子表中对应的FT_TS字段中,进而可以根据所述视频流在切换子表中对应的FT_TS字段的值确定该视频流的切换报文的时间戳。
更新所述切换子表和所述切换总表的过程如下。在如下的过程描述中,将所述切换子表中的任一视频流称为视频流A。
对于视频流A,在接收到视频流A的任一数据报文(后续称为报文a)时,首先判断报文a是否为帧尾报文。
以RTP报文为例,根据RFC 3550制定的RTP报文头格式,RTP报文头中的M(Marker,边界)字段的值用于表示该RTP报文是否为帧尾报文。如果M的值为1,表示该RTP报文为帧尾报文,如果为0,表示该RTP报文不是帧尾报文。
RTP报文头中的序列号(Sequence number,SN)字段的值表示该RTP报文在一条RTP流中的序列号,同一条RTP流的各RTP报文的序列号单调递增1。RTP报文头还包括时间戳(Timestamp,TS)。多媒体通信系统(如TV制播系统)中的各视频源设备会保持时钟同步,同一时刻发出的RTP报文,该字段的值非常接近,因此,可以利用该字段的值来判断不同视频流中的视频帧是否是同一时刻的视频帧,用于在切换时对齐不同的视频流,达到切换在时间维度上的衔接。
如果确定报文a为帧尾报文,且是在执行步骤S115之后接收的视频流A的第一个帧尾报文,将报文a的TS字段的值和SN字段的值分别记录到切换子表中视频流A对应的FT_TS字段和FT_SN字段中。进一步地,如果视频流A所属视频对应的TSmax(如TSmax1)字段的值为初始值或为空,或,该TSmax字段的值小于报文a的TS字段的值,将报文a的TS字段的值记录为该TSmax字段的值,并将切换总表中视频流A所属视频的Bitmap(如Bitmap1)字段中与视频流A对应的位记录为1。
如果确定报文a为帧尾报文,且不是视频流A在顺序上的的第一个帧尾报文,可以直接将切换子表中视频流A对应的FT_TS字段和FT_SN字段的值分别更新为报文a的TS字段和SN字段的值。也可以将报文a的TS字段的值和切换子表中视频流A对应的FT_TS字段的值进行比较。如果报文a的TS字段的值大于切换子表中视频流A对应的FT_TS字段的值,将切换子表中视频流A对应的FT_TS字段和FT_SN字段的值分别更新为报文a的TS字段和SN字段的值。如果小于,则不更新。进一步地,如果视频流A所属视频对应的TSmax字段的值小于报文a的TS字段的值,将报文a的TS字段的值记录为该TSmax字段的值。
如果确定报文a不是帧尾报文,可以直接不根据报文a更新切换子表和切换总表,也可以判断是否发生了帧间乱序并根据判断结果确定是否更新切换子表和切换总表。具体地,如果报文a的序列号大于视频流A对应的FT_SN字段的值与M的和,即报文a先于前一帧的帧尾报文到达了,则前一帧的帧尾报文可能发生了乱序或丢包,此时可以将FT_TS字段的值与T的和作为估计的该帧尾报文的时间戳,并将FT_SN字段的值和M的和作为估计的该帧尾报文的序列号,并利用估计的时间戳和序列号更新切换子表中视频流A对应的FT_TS字段和FT_SN字段的值,即将FT_TS字段的值增加T,并将FT_SN字段的值增加M。进一步地,如果视频流A所属视频对应的TSmax字段的值小于更新后的FT_TS字段的值,将更新后的FT_TS字段的值记录为该TSmax字段的值。
下面结合图6以第一视频为例介绍更新切换子表和切换总表的一个过程示例。如图6所示,假定第一视频有四个视频流:流11、流12、流13、流14,依次收到流11、流12、流13、流14的帧尾报文。
1).收到流11的帧尾报文,该帧尾报文的时间戳为t11、序列号为sn11。分别将t11和sn11记录到切换子表中流11对应的FT_TS字段和FT_SN字段,将t11记录到切换总表的TSmax1字段,将Bitmap1的第一位置为1,即Bitmap1为0001。
2).收到流12的帧尾报文,该帧尾报文的时间戳为t12、序列号为sn12,其中t12>t11。分别将t12和sn12记录到切换子表中流12对应的FT_TS字段和FT_SN字段。由于t12>t11,将切换总表的TSmax1字段的值更新为t12,将Bitmap1的第二位置为1,即Bitmap1为0011。
3).收到流13的帧尾报文,该帧尾报文的时间戳为t13、序列号为sn13,其中t13<t12。分别将t13和sn13记录到切换子表中流13对应的FT_TS字段和FT_SN字段。由于t13<t12,不更新切换总表中的TSmax1字段的值。将Bitmap1的第三位置为1,即Bitmap1为0111。
4).收到流14的帧尾报文,该帧尾报文的时间戳为t14、序列号为sn14,其中t14>t12。分别将t14和sn14记录到切换子表中流14对应的FT_TS字段和FT_SN字段。由于t14>t12,将切换总表的TSmax1字段的值更新为t14,将Bitmap1的第四位置为1,即Bitmap1为1111。
根据本发明实施例1,本发明实施例2提出了一种传输设备200,如图7所示,传输设备200包括:处理单元210和通信单元220。
通信单元220,用于接收第一视频的多个视频流和第二视频的多个视频流,通过所述第一视频的多个视频流分别对应的目标出端口发送所述第一视频的多个视频流,并接收用于指示将第一视频的视频流切换为第二视频的视频流的切换指令;其中,所述第一视频的多个视频流用于封装所述第一视频的视频帧的不同子图像,所述第二视频的多个视频流用于封装所述第二视频的视频帧的不同子图像。
处理单元210,用于在所述通信单元220接收到所述切换指令后,对于所述第一视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,对于所述第二视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,其中,所述第一视频的各视频流的基准帧尾报文封装的是所述第一视频的同一个视频帧的数据,所述第二视频的各视频流的基准帧尾报文封装的是所述第二视频的同一个视频帧的数据。
通信单元220,还用于根据各视频流的切换报文的切换参考信息将通过所述第一视频的多个视频流分别对应的目标出端口发送的所述第一视频的多个视频流切换为所述第二视频的多个视频流。
本发明实施例2中描述的功能单元可以用来实施上述实施例1所述的方法中传输设备执行的操作。具体地,所述通信单元220用于与其它设备通信,如接收控制信令、接收数据报文、转发数据报文、在转发数据报文时修改数据报文中的信息等;所述处理单元210用于确定切入流和切出流的切换序列号等。
根据本发明实施例2提供的传输设备200,由于在视频流切换时考虑了切换前后发送的数据报文所处的位置,因此,可以有效减轻切换操作对传输的视频画面的损伤。
根据本发明实施例1,本发明实施例3提供了一种传输设备1000。如图8所示,传输设备1000包括处理器1010和端口1020。
处理器1010,用于实施本发明实施例1提供的方法100中的传输设备执行的操作,其中,在与其它设备通信时通过端口1020与其它设备通信。处理器1010具体可以是中央处理器(central processing unit,CPU),或者是特定集成电路(Application SpecificIntegratedCircuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
如图8所示,传输设备1000还可以包括存储器1030。处理器1010和存储器1030之间可以通过总线完成相互间的通信。存储器1030,用于存放计算机操作指令,具体可以是高速随机存取存储器(Random Access Memory,RAM),也可以是非易失性存储器(non-volatilememory)。处理器1010具体可以执行存储器1030中存放的计算机操作指令,通过执行所述计算机操作指令使得传输设备1000执行上述实施例1所述的方法中传输设备所执行的操作。在具体实现时,存储器1030可以包括处理模块1031和通信模块1032,分别存储用于实现图7所示的处理单元210和通信单元220的功能。相应地,处理器1010具体通过执行处理模块1031中的指令实现处理单元210的功能并通过执行通信模块1032中的指令实现通信单元220的功能。
根据本发明实施例3提供的传输设备1000,由于在视频流切换时考虑了切换前后发送的数据报文所处的位置,因此,可以有效减轻切换操作对传输的视频画面的损伤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

Claims (18)

1.一种实现视频流切换的方法,其特征在于,包括:
传输设备接收第一视频的多个视频流和第二视频的多个视频流,其中,所述第一视频的多个视频流用于封装所述第一视频的视频帧的不同子图像,所述第二视频的多个视频流用于封装所述第二视频的视频帧的不同子图像;
所述传输设备通过所述第一视频的多个视频流分别对应的目标出端口发送所述第一视频的多个视频流;
所述传输设备在接收到用于指示将第一视频的视频流切换为第二视频的视频流的切换指令后,对于所述第一视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,对于所述第二视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,其中,所述第一视频的各视频流的基准帧尾报文封装的是所述第一视频的同一个视频帧的数据,所述第二视频的各视频流的基准帧尾报文封装的是所述第二视频的同一个视频帧的数据;所述第一视频和所述第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括序列号和/或时间戳;
所述传输设备根据各视频流的切换报文的切换参考信息中包含的序列号和/或时间戳,将通过所述第一视频的多个视频流分别对应的目标出端口发送的所述第一视频的多个视频流切换为所述第二视频的多个视频流。
2.根据权利要求1所述的方法,其特征在于,
所述第一视频的各视频流的基准帧尾报文的切换参考信息是根据所述第一视频的各视频流之间的同步关系确定的;
所述第二视频的各视频流的基准帧尾报文的切换参考信息是根据所述第二视频的各视频流之间的同步关系确定的。
3.根据权利要求1或2所述的方法,其特征在于,
对于所述第一视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息包括:
根据所述第一视频的第一同步参考报文确定所述第一视频的第一参考视频流的基准帧尾报文的切换参考信息,其中,所述第一参考视频流为所述第一视频的多个视频流中的一个视频流,所述第一同步参考报文为确定所述第一视频的各视频流的基准帧尾报文的切换参考信息之前接收的所述第一参考视频流的倒数第x个帧尾报文,x为自然数;
对于所述第一视频的多个视频流中除所述第一参考视频流以外的每个其它视频流,根据确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文的切换参考信息、以及所述其它视频流与所述参考视频流之间的同步关系确定所述其它视频流的基准帧尾报文的切换参考信息;
对于所述第二视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息包括:
根据所述第二视频的第二同步参考报文确定所述第二视频的第二参考视频流的基准帧尾报文的切换参考信息,其中,所述第二参考视频流为所述第二视频的多个视频流中的一个视频流,所述第二同步参考报文为确定所述第二视频的各视频流的基准帧尾报文的切换参考信息之前接收的所述第二参考视频流的倒数第x个帧尾报文;
对于所述第二视频的多个视频流中除所述第二参考视频流以外的每个其它视频流,根据确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文的切换参考信息、以及所述其它视频流与所述参考视频流之间的同步关系确定所述其它视频流的基准帧尾报文的切换参考信息。
4.根据权利要求3所述的方法,其特征在于,
对于所述第一视频的各视频流中除所述第一参考视频流以外的每个其它视频流,当确定所述其它视频流与所述第一参考视频流同步时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述第一视频流的倒数第x个帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流晚于所述第一参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的下一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流早于所述第一参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的上一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息;
对于所述第二视频的各视频流中除所述第二参考视频流以外的每个其它视频流,当确定所述其它视频流与所述第二参考视频流同步时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述第二视频流的倒数第x个帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流晚于所述第二参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的下一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流早于所述第二参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的上一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息。
5.根据权利要求3所述的方法,其特征在于,
对于所述第一视频的各视频流中除所述第一参考视频流以外的每个其它视频流,所述传输设备根据确定所述其它视频流的基准帧尾报文的序列号之前接收的所述其它视频流的倒数第x个帧尾报文的时间戳和所述第一同步参考报文的时间戳确定所述其它视频流和所述第一参考视频流的同步关系;
对于所述第二视频的各视频流中除所述第二参考视频流以外的每个其它视频流,所述传输设备根据确定所述其它视频流的基准帧尾报文的序列号之前接收的所述其它视频流的倒数第x个帧尾报文的时间戳和所述第二同步参考报文的时间戳确定所述其它视频流和所述第二参考视频流的同步关系。
6.根据权利要求5所述的方法,其特征在于,
对于所述第一视频的第一视频流和所述第二视频的第二视频流,根据如下方式确定所述第一视频流的切换报文的序列号和所述第二视频流的切换报文的序列号,其中,所述第一视频流为所述第一视频的多个视频流中的任一视频流,所述第二视频流为所述第二视频的多个视频流中与所述第一视频流对应的视频流;
根据所述第一视频流的基准帧尾报文的序列号、以及所述第一视频流和所述第二视频流之间的同步关系确定所述第一视频流的对齐帧尾报文的序列号,并将所述第一视频流的对齐帧尾报文的序列号作为所述第一视频流的切换报文的序列号,或将用于封装所述第一视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的序列号确定为所述第一视频流的切换报文的序列号;
根据所述第二视频流的基准帧尾报文的序列号、以及所述同步关系确定所述第二视频流的对齐帧尾报文的序列号,并将所述第二视频流的对齐帧尾报文的序列号作为所述第二视频流的切换报文的序列号,或将用于封装所述第二视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的序列号确定为所述第二视频流的切换报文的序列号,所述第一视频流的对齐帧尾报文和所述第二视频流的对齐帧尾报文为在时间上对应的帧尾报文。
7.根据权利要求6所述的方法,其特征在于,
在确定所述同步关系为所述第一视频流早于所述第二视频流时,根据将所述第一视频流的基准帧尾报文的序列号与m*M1的和确定为所述第一视频流的对齐帧尾报文的序列号,并将所述第二视频流的基准帧尾报文的序列号与(m+1)*M2的和确定为所述第二视频流的对齐帧尾报文的序列号,其中,M1为封装所述第一视频流的一个子图像所需的数据报文的数量,M2为封装所述第二视频流的一个子图像所需的数据报文的数量,m为自然数;
在确定所述同步关系为所述第一视频流晚于所述第二视频流时,将所述第一视频流的基准帧尾报文的序列号与(n+1)*M1的和确定为所述第一视频流的对齐帧尾报文的序列号,将所述第二视频流的基准帧尾报文的序列号与n*M2的和确定为所述第二视频流的对齐帧尾报文的序列号,其中,M1为封装所述第一视频流的一个子图像所需的数据报文的数量,M2为封装所述第二视频流的一个子图像所需的数据报文的数量,n为自然数;或
在确定所述同步关系为所述第一视频流和所述第二视频流同步时,将所述第一视频流的基准帧尾报文的序列号与k*M1的和确定为所述第一视频流的对齐帧尾报文的序列号,将所述第二视频流的基准帧尾报文的序列号与k*M2的和确定为所述第二视频流的对齐帧尾报文的序列号,其中,M1为封装所述第一视频流的一个子图像所需的数据报文的数量,M2为封装所述第二视频流的一个子图像所需的数据报文的数量,k为自然数。
8.根据权利要求1-2或4-7中任意一项所述的方法,其特征在于,对于所述第一视频的第一视频流和所述第二视频的第二视频流,所述传输设备通过所述第一视频流对应的目标出端口发出的第二视频流的数据报文中的第一字段的值与通过所述第一视频流对应的目标出端口发出的所述第一视频流的数据报文中的第一字段的值是相同的,所述第一字段为组播地址字段或载荷类型字段;和/或,所述传输设备通过所述第一视频流对应的目标出端口发出的所述第二视频流的数据报文的第二字段的值与通过所述第一视频流对应的目标出端口发出的所述第一视频流的数据报文中的第二字段的值是连续的,所述第二字段为序列号字段、帧号字段或时间戳字段,其中,所述第一视频流为所述第一视频的多个视频流中的任一视频流,所述第二视频流为所述第二视频的多个视频流中与所述第一视频流对应的视频流。
9.一种传输设备,其特征在于,所述传输设备包括处理单元和通信单元;
所述通信单元,用于接收第一视频的多个视频流和第二视频的多个视频流,通过所述第一视频的多个视频流分别对应的目标出端口发送所述第一视频的多个视频流,并接收用于指示将第一视频的视频流切换为第二视频的视频流的切换指令;其中,所述第一视频的多个视频流用于封装所述第一视频的视频帧的不同子图像,所述第二视频的多个视频流用于封装所述第二视频的视频帧的不同子图像;
所述处理单元,用于在所述通信单元接收到所述切换指令后,对于所述第一视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,对于所述第二视频的每个视频流,确定所述视频流的基准帧尾报文的切换参考信息,并根据所述视频流的基准帧尾报文的切换参考信息确定所述视频流的切换报文的切换参考信息,其中,所述第一视频的各视频流的基准帧尾报文封装的是所述第一视频的同一个视频帧的数据,所述第二视频的各视频流的基准帧尾报文封装的是所述第二视频的同一个视频帧的数据;所述第一视频和所述第二视频的各视频流的基准帧尾报文的切换参考信息和切换报文的切换参考信息均包括序列号和/或时间戳;
所述通信单元,还用于根据各视频流的切换报文的切换参考信息中包含的序列号和/或时间戳,将通过所述第一视频的多个视频流分别对应的目标出端口发送的所述第一视频的多个视频流切换为所述第二视频的多个视频流。
10.根据权利要求9所述的传输设备,其特征在于,
所述第一视频的各视频流的基准帧尾报文的切换参考信息是根据所述第一视频的各视频流之间的同步关系确定的;
所述第二视频的各视频流的基准帧尾报文的切换参考信息是根据所述第二视频的各视频流之间的同步关系确定的。
11.根据权利要求9或10所述的传输设备,其特征在于,
所述处理单元在确定所述第一视频的每个视频流的基准帧尾报文的切换参考信息时具体用于:根据所述第一视频的第一同步参考报文确定所述第一视频的第一参考视频流的基准帧尾报文的切换参考信息,其中,所述第一参考视频流为所述第一视频的多个视频流中的一个视频流,所述第一同步参考报文为确定所述第一视频的各视频流的基准帧尾报文的切换参考信息之前接收的所述第一参考视频流的倒数第x个帧尾报文,其中x为自然数;对于所述第一视频的多个视频流中除所述第一参考视频流以外的每个其它视频流,根据确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文的切换参考信息、以及所述其它视频流与所述参考视频流之间的同步关系确定所述其它视频流的基准帧尾报文的切换参考信息;
所述处理单元在确定所述第二视频的每个视频流的基准帧尾报文的切换参考信息时具体用于:根据所述第二视频的第二同步参考报文确定所述第二视频的第二参考视频流的基准帧尾报文的切换参考信息,其中,所述第二参考视频流为所述第二视频的多个视频流中的一个视频流,所述第二同步参考报文为确定所述第二视频的各视频流的基准帧尾报文的切换参考信息之前接收的所述第二参考视频流的倒数第x个帧尾报文;对于所述第二视频的多个视频流中除所述第二参考视频流以外的每个其它视频流,根据确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文的切换参考信息、以及所述其它视频流与所述参考视频流之间的同步关系确定所述其它视频流的基准帧尾报文的切换参考信息。
12.根据权利要求11所述的传输设备,其特征在于,所述处理单元具体用于:
对于所述第一视频的各视频流中除所述第一参考视频流以外的每个其它视频流,当确定所述其它视频流与所述第一参考视频流同步时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述第一视频流的倒数第x个帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流晚于所述第一参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的下一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流早于所述第一参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的上一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息;
对于所述第二视频的各视频流中除所述第二参考视频流以外的每个其它视频流,当确定所述其它视频流与所述第二参考视频流同步时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述第二视频流的倒数第x个帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流晚于所述第二参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的下一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息,或者,当确定所述其它视频流早于所述第二参考视频流时将确定所述其它视频流的基准帧尾报文的切换参考信息之前接收的所述其它视频流的倒数第x个帧尾报文在顺序上的上一帧尾报文的切换参考信息确定为所述其它视频流的基准帧尾报文的切换参考信息。
13.根据权利要求11所述的传输设备,其特征在于,
对于所述第一视频的各视频流中除所述第一参考视频流以外的每个其它视频流,所述处理单元具体用于根据确定所述其它视频流的基准帧尾报文的序列号之前接收的所述其它视频流的倒数第x个帧尾报文的时间戳和所述第一同步参考报文的时间戳确定所述其它视频流和所述第一参考视频流的同步关系;
对于所述第二视频的各视频流中除所述第二参考视频流以外的每个其它视频流,所述处理单元具体用于根据确定所述其它视频流的基准帧尾报文的序列号之前接收的所述其它视频流的倒数第x个帧尾报文的时间戳和所述第二同步参考报文的时间戳确定所述其它视频流和所述第二参考视频流的同步关系。
14.根据权利要求13所述的传输设备,其特征在于,
对于所述第一视频的第一视频流和所述第二视频的第二视频流,所述处理单元具体用于根据如下方式确定所述第一视频流的切换报文的序列号和所述第二视频流的切换报文的序列号,其中,所述第一视频流为所述第一视频的多个视频流中的任一视频流,所述第二视频流为所述第二视频的多个视频流中与所述第一视频流对应的视频流;
根据所述第一视频流的基准帧尾报文的序列号、以及所述第一视频流和所述第二视频流之间的同步关系确定所述第一视频流的对齐帧尾报文的序列号,并将所述第一视频流的对齐帧尾报文的序列号作为所述第一视频流的切换报文的序列号,或将用于封装所述第一视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的序列号确定为所述第一视频流的切换报文的序列号;
根据所述第二视频流的基准帧尾报文的序列号、以及所述同步关系确定所述第二视频流的对齐帧尾报文的序列号,并将所述第二视频流的对齐帧尾报文的序列号作为所述第二视频流的切换报文的序列号,或将用于封装所述第二视频流的对齐帧尾报文中的视频数据所属子图像在时间顺序上的下一子图像的消隐区数据的数据报文的序列号确定为所述第二视频流的切换报文的序列号,所述第一视频流的对齐帧尾报文和所述第二视频流的对齐帧尾报文为在时间上对应的帧尾报文。
15.根据权利要求14所述的传输设备,其特征在于,所述处理单元具体用于:
在确定所述同步关系为所述第一视频流早于所述第二视频流时,根据将所述第一视频流的基准帧尾报文的序列号与m*M1的和确定为所述第一视频流的对齐帧尾报文的序列号,并将所述第二视频流的基准帧尾报文的序列号与(m+1)*M2的和确定为所述第二视频流的对齐帧尾报文的序列号,其中,M1为封装所述第一视频流的一个子图像所需的数据报文的数量,M2为封装所述第二视频流的一个子图像所需的数据报文的数量,m为自然数;
在确定所述同步关系为所述第一视频流晚于所述第二视频流时,将所述第一视频流的基准帧尾报文的序列号与(n+1)*M1的和确定为所述第一视频流的对齐帧尾报文的序列号,将所述第二视频流的基准帧尾报文的序列号与n*M2的和确定为所述第二视频流的对齐帧尾报文的序列号,其中,M1为封装所述第一视频流的一个子图像所需的数据报文的数量,M2为封装所述第二视频流的一个子图像所需的数据报文的数量,n为自然数;或
在确定所述同步关系为所述第一视频流和所述第二视频流同步时,将所述第一视频流的基准帧尾报文的序列号与k*M1的和确定为所述第一视频流的对齐帧尾报文的序列号,将所述第二视频流的基准帧尾报文的序列号与k*M2的和确定为所述第二视频流的对齐帧尾报文的序列号,其中,M1为封装所述第一视频流的一个子图像所需的数据报文的数量,M2为封装所述第二视频流的一个子图像所需的数据报文的数量,k为自然数。
16.根据权利要求9-10或12-15中任意一项所述的传输设备,其特征在于,对于所述第一视频的第一视频流和所述第二视频的第二视频流,所述通信单元通过所述第一视频流对应的目标出端口发出的第二视频流的数据报文中的第一字段的值与通过所述第一视频流对应的目标出端口发出的所述第一视频流的数据报文中的第一字段的值是相同的,所述第一字段为组播地址字段或载荷类型字段;和/或,所述通信单元通过所述第一视频流对应的目标出端口发出的所述第二视频流的数据报文的第二字段的值与通过所述第一视频流对应的目标出端口发出的所述第一视频流的数据报文中的第二字段的值是连续的,所述第二字段为序列号字段、帧号字段或时间戳字段,其中,所述第一视频流为所述第一视频的多个视频流中的任一视频流,所述第二视频流为所述第二视频的多个视频流中与所述第一视频流对应的视频流。
17.一种实现视频流切换的系统,其特征在于,所述系统包括:控制器和如权利要求9-15任意一项所述的传输设备;
所述控制器,用于向所述传输设备发送切换指令。
18.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8任意一项所述的方法。
CN201811058553.7A 2018-09-11 2018-09-11 一种实现视频流切换的方法、装置和系统 Active CN110891182B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201811058553.7A CN110891182B (zh) 2018-09-11 2018-09-11 一种实现视频流切换的方法、装置和系统
EP19860126.2A EP3843413A4 (en) 2018-09-11 2019-09-02 METHOD, DEVICE AND SYSTEM FOR VIDEO FLOW SWITCHING
KR1020217010334A KR102492118B1 (ko) 2018-09-11 2019-09-02 비디오 스트림 스위칭 방법, 장치 및 시스템
PCT/CN2019/103935 WO2020052456A1 (zh) 2018-09-11 2019-09-02 一种实现视频流切换的方法、装置和系统
JP2021513779A JP7273144B2 (ja) 2018-09-11 2019-09-02 ビデオストリーム切換え方法、装置及びシステム
US17/197,156 US11212563B2 (en) 2018-09-11 2021-03-10 Video stream switching method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811058553.7A CN110891182B (zh) 2018-09-11 2018-09-11 一种实现视频流切换的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN110891182A CN110891182A (zh) 2020-03-17
CN110891182B true CN110891182B (zh) 2022-04-12

Family

ID=69745615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811058553.7A Active CN110891182B (zh) 2018-09-11 2018-09-11 一种实现视频流切换的方法、装置和系统

Country Status (6)

Country Link
US (1) US11212563B2 (zh)
EP (1) EP3843413A4 (zh)
JP (1) JP7273144B2 (zh)
KR (1) KR102492118B1 (zh)
CN (1) CN110891182B (zh)
WO (1) WO2020052456A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858925B (zh) * 2018-08-22 2021-10-15 华为技术有限公司 一种实现视频流切换的方法、设备、系统和存储介质
CN112422851B (zh) * 2020-11-16 2022-06-28 新华三技术有限公司 视频切换方法、装置及设备
CN114520883B (zh) * 2020-11-19 2024-03-15 西安诺瓦星云科技股份有限公司 视频源切换方法和装置以及视频处理设备
US11973855B2 (en) * 2021-08-25 2024-04-30 Siemens Canada Limited PTP transparent clock with inter-VLAN forwarding
CN114286023B (zh) * 2021-12-31 2023-08-29 北京中联合超高清协同技术中心有限公司 支持多场景多模式切换的8k超高清转播车及转播方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162235A (zh) * 2016-08-17 2016-11-23 北京百度网讯科技有限公司 用于切换视频流的方法和装置
CN107018379A (zh) * 2017-04-25 2017-08-04 北京东土科技股份有限公司 一种视频流的传输方法和装置
CN107086963A (zh) * 2017-03-10 2017-08-22 中国传媒大学 一种基于sdn的目的端精准视频切换方法
CN107135169A (zh) * 2017-04-25 2017-09-05 中国传媒大学 一种基于sdn交换机的视频净切换方法
CN107770538A (zh) * 2016-08-23 2018-03-06 华为技术有限公司 一种检测场景切换帧的方法、装置和系统
CN107888909A (zh) * 2017-11-29 2018-04-06 中国传媒大学 一种ip视频净切换系统的测量方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4474310B2 (ja) * 2005-03-24 2010-06-02 パナソニック株式会社 デバイス切替システム、送信元および配信先デバイス
CN1331359C (zh) * 2005-06-28 2007-08-08 清华大学 交互式多视点视频系统中视频流的传输方法
CN100559877C (zh) * 2007-04-27 2009-11-11 北京大学 一种支持多视点视频合成的网络流媒体播放器及方法
JP4692576B2 (ja) * 2008-05-26 2011-06-01 ソニー株式会社 信号送信装置及び信号送信方法
WO2010017656A1 (en) * 2008-08-12 2010-02-18 Telefonaktiebolaget L M Ericsson (Publ) Fast content switching in a communication system
CN101753973B (zh) * 2008-12-12 2013-01-02 华为技术有限公司 一种频道切换方法、装置和系统
CN101917390B (zh) * 2009-12-17 2013-03-06 新奥特(北京)视频技术有限公司 一种多功能网络播放器
EP2343845A3 (en) * 2009-12-31 2011-10-19 Thomson Licensing Precise compensation of video propagation duration
JP5183689B2 (ja) * 2010-07-28 2013-04-17 株式会社日立製作所 無線通信システム,無線通信装置及び無線通信方法
EP2448265A1 (en) * 2010-10-26 2012-05-02 Google, Inc. Lip synchronization in a video conference
CN102510541B (zh) * 2011-12-30 2014-12-17 Tcl数码科技(深圳)有限责任公司 多屏互动的音视频内容切换方法及媒体播放器
US9124419B2 (en) * 2012-05-08 2015-09-01 Discretix Technologies Ltd. Method, device, and system of secure entry and handling of passwords
CN107431845B (zh) * 2015-03-31 2021-03-26 松下电器(美国)知识产权公司 发送方法、接收方法、发送装置以及接收装置
EP3185564A1 (en) * 2015-12-22 2017-06-28 Harmonic Inc. Video stream splicing of groups of pictures (gop)
JP2018029236A (ja) * 2016-08-15 2018-02-22 日本放送協会 映像パケット切替装置及び方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162235A (zh) * 2016-08-17 2016-11-23 北京百度网讯科技有限公司 用于切换视频流的方法和装置
CN107770538A (zh) * 2016-08-23 2018-03-06 华为技术有限公司 一种检测场景切换帧的方法、装置和系统
CN107086963A (zh) * 2017-03-10 2017-08-22 中国传媒大学 一种基于sdn的目的端精准视频切换方法
CN107018379A (zh) * 2017-04-25 2017-08-04 北京东土科技股份有限公司 一种视频流的传输方法和装置
CN107135169A (zh) * 2017-04-25 2017-09-05 中国传媒大学 一种基于sdn交换机的视频净切换方法
CN107888909A (zh) * 2017-11-29 2018-04-06 中国传媒大学 一种ip视频净切换系统的测量方法

Also Published As

Publication number Publication date
WO2020052456A1 (zh) 2020-03-19
KR20210055077A (ko) 2021-05-14
US20210204007A1 (en) 2021-07-01
JP2022503684A (ja) 2022-01-12
US11212563B2 (en) 2021-12-28
KR102492118B1 (ko) 2023-01-26
EP3843413A4 (en) 2021-09-08
EP3843413A1 (en) 2021-06-30
JP7273144B2 (ja) 2023-05-12
CN110891182A (zh) 2020-03-17

Similar Documents

Publication Publication Date Title
CN110891182B (zh) 一种实现视频流切换的方法、装置和系统
US11184627B2 (en) Video transcoding system, method, apparatus, and storage medium
US11483495B2 (en) Method, apparatus, and system for implementing video stream switching
US11368634B2 (en) Audio stream and video stream synchronous switching method and apparatus
JP2017533605A (ja) ルーターファブリック
US20060161676A1 (en) Apparatus for IP streaming capable of smoothing multimedia stream
KR102671249B1 (ko) 비디오 스트림을 스위칭하기 위한 방법, 장치, 및 시스템
CN113645491A (zh) 一种多个直播播放端实现实时同步播放的方法
US11699462B2 (en) Method, apparatus and computer program
US11227443B2 (en) Method, device, and computer program for using two network parts to deliver virtual reality content
JP5367771B2 (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