CN113873345B - 一种分布式的超高清视频同步处理方法 - Google Patents

一种分布式的超高清视频同步处理方法 Download PDF

Info

Publication number
CN113873345B
CN113873345B CN202111134384.2A CN202111134384A CN113873345B CN 113873345 B CN113873345 B CN 113873345B CN 202111134384 A CN202111134384 A CN 202111134384A CN 113873345 B CN113873345 B CN 113873345B
Authority
CN
China
Prior art keywords
video
data
image
time
processing
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
CN202111134384.2A
Other languages
English (en)
Other versions
CN113873345A (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.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
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 CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN202111134384.2A priority Critical patent/CN113873345B/zh
Publication of CN113873345A publication Critical patent/CN113873345A/zh
Application granted granted Critical
Publication of CN113873345B publication Critical patent/CN113873345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • 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/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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种分布式的超高清视频同步处理方法,包括步骤1、摄像机实时采集视频数据,并将采集时间转换为统一时间戳,向客户端推送视频流;步骤2、客户端读取并解析每一路摄像机的视频流,获得视频帧数据;步骤3、使用GPU对视频帧数据进行解码,存入解码缓存队列;步骤4、每一个线程从其对应的解码缓存队列中读取图像并处理,存入对应渲染缓存队列;步骤5、从各个渲染缓存队列中读取图像数据,通过统一时间戳比较对多路图像数据进行同步,将同步后的图像序列合并在同一画布上渲染显示。本方法使用GPU并行计算框架进行视频解码和处理,降低了视频处理的时间延迟和抖动,综合时间戳同步,实现了分布式多路超高清视频同步、实时和流畅的处理。

Description

一种分布式的超高清视频同步处理方法
技术领域
本发明属于视频图像处理领域,尤其涉及一种基于时间戳同步的分布式超高清视频同步处理方法。
背景技术
当前视频网络传输采用的一种主流协议为RTSP(Real Time StreamingProtocol)实时流传输协议,该协议是TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议/网际互连协议)协议体系中的一个应用层协议,其定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系架构上位于RTP(Real-timeTransport Protocol,实时传输协议)和RTCP(Real-time Transport Control Protocol,实时传输控制协议)之上,RTP/RTCP是实际的数据传输协议,它使用TCP或UDP(UserDatagram Protocol,用户数据报协议)完成数据传输。其中RTCP是控制协议,用于视频流的发送接收控制;RTP为数据协议,传输音频/视频数据,负责对流媒体数据进行封包并实现媒体流的实时传输,每一个RTP数据报都由头部(Header)和有效负载(Payload)两个部分组成,其中头部前12个字节的含义是固定的,包括CSRC(Contributing Source,特约信源)计数、负载类型、序列号、时间戳等内容,而负载则可以是音频或者视频数据。
RTP传输视频数据所采用的主流视频编码方式是H.264,H.264是国际标准化组织(ISO,International Organization for Standardization)和国际电信联盟(ITU,International Telecommunication Union)共同提出的继MPEG4之后的新一代数字视频压缩格式。H.264是由ITU-T视频编码专家组(VCEG,Video Coding Experts Group)和ISO/IEC动态图像专家组(MPEG,Moving Pictures Experts Group)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准,具有很高的数据压缩比率,同时还拥有高质量流畅的图像,因此被广泛应用于网络视频传输。H.264的功能分为两层:视频编码层(VCL,Video Coding Layer)和网络提取层(NAL,Network Abstraction Layer),VCL数据即被压缩编码后的视频数据系列,VCL数据需要封装到NAL单元中之后,才可以用来传输或存储。H.264的编码视频序列包含一系列的NAL单元,每个NAL单元包含一个RBSP(RawByte Sequence Payload,原始数据字节流),典型的RBSP系列包含SPS(SequenceParameter Set,序列参数集)、PPS(Picture Parameter Set,图片参数集)、SEI(Supplemental Enhancement Information,附件图像信息)、I片、图像定界符、P片等内容。
采用RTSP协议可以较为方便的通过网络传输视频数据,但是RTSP协议并不特别强调时间同步,其在传输时会产生一定的时间延迟。在传输4K等超高清视频时,由于其I帧(关键帧)数据量较大,获取完整的I帧数据消耗的时间比P帧和B帧要长很多,这会导致解码输出的视频帧率出现抖动。在并行处理多路4K网络视频流时,这种延迟和抖动会使得输出的各路视频在时间上无法同步,从而形成画面重叠、不一致等现象,这种问题使得多路4K视频的并行处理难以投入实际工程应用。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术中存在的问题,提供一种分布式的超高清视频同步处理方法。
技术方案:本发明公开了一种分布式的超高清视频同步处理方法,其技术方案包括如下步骤:
步骤1、启动多路网络超高清4K摄像机,对摄像机的系统时间进行实时校准;摄像机实时采集视频数据,并将采集时间转换为统一的时间戳,向视频处理显示客户端推送视频流;
步骤2、启动视频处理显示客户端,客户端读取并解析每一路摄像机的视频流,获得每一路摄像机的视频帧数据和对应的时间戳;
步骤3、使用GPU对每一路摄像机的视频帧数据进行解码,将解码后的视频图像数据直接存放于显存之中,将视频图像数据的显存地址和对应的时间戳分别存入独立的解码缓存队列之中;
步骤4、采用多线程方式进行图像处理,每一个线程从其对应的解码缓存队列中读取图像并进行处理,图像处理使用GPU并行计算进行加速,处理完成的新图像依然存放于显存之中,将其显存地址和时间戳存入对应的渲染缓存队列之中;
步骤5、从各个渲染缓存队列中读取图像数据,通过时间戳比较对多路图像数据进行同步,获得同步后的图像序列;将同步后的图像序列合并在同一画布上渲染显示。
在一种实现方式中,步骤1中所述将采集时间转换为统一的时间戳包括:
将系统时间转换为一个整形数,以该整形数为基准数,计算每一帧画面的时间戳数值;
时间戳的单位采用采样频率的倒数,若视频采样频率为f,则时间戳单位为1/f,即1秒钟被划分为f个时间块,若每秒发送Nf帧,则每一帧占用的时间块为f/Nf,时间戳的增量即为f/Nf
在所述基准数之上增加时间戳的增量,生成当前画面的统一的时间戳,即每发送一帧画面,其时间戳增加f/Nf
在一种实现方式中,步骤1中所述向视频处理显示客户端推送视频流包括:
采用H.264格式对实时采集的视频数据进行压缩编码,将统一的时间戳封装在补充增强信息SEI中,每一帧画面数据中拥有唯一的时间戳,获得H.264视频数据;
以RTP协议对H.264视频数据进行打包,根据每一帧视频数据的大小,对NAL网络数据单元进行拆分或组合;当要传输的数据超过最大传输单元MTU时,对数据进行拆分封装;小于MTU时,在一个RTP包中只封装一个NAL网络数据单元;
以RTSP协议向视频处理显示客户端提供实时RTP视频流数据。
在一种实现方式中,步骤2包括如下步骤:
步骤2-1,客户端分别向每个摄像机发送视频请求,与每一个摄像机建立独立的RTSP会话,获取实时RTP视频流数据,采用多线程模式处理每一路RTP视频流数据;
步骤2-2,读取RTP视频流数据包中的补充增强信息SEI并解析,获取封装在SEI数据中的时间戳,每一帧视频数据都记录有唯一的时间戳;
步骤2-3,读取RTP视频流数据包并进行缓存,提取RTP视频流数据包中的H.264网络数据单元并进行组装,形成一帧完整的H.264视频数据,即图像帧数据;关联图像帧数据和对应的时间戳。
在一种实现方式中,步骤2-3包括如下步骤:
步骤2-3-1,创建两个数据缓存队列:(1)数据包缓存队列PacketBuffer,用于存储读取到的RTP视频数据包;(2)H.264视频帧数据缓存队列FrameBuffer,用于存储组装完成的完整视频帧数据;
步骤2-3-2,读取RTP视频流数据包,将数据解析为RTP包头和RTP有效负载两部分;
步骤2-3-3:判断RTP包头中的数据类型,若类型为视频流,则将RTP有效负载数据存入数据包缓存队列PacketBuffer进行处理;
步骤2-3-4:从数据包缓存队列PacketBuffer中取出一个Payload数据包,判断其数据单元模式:若为单一单元模式,则从中提取一个NAL单元;若为组合封包模式,则该Payload中包含两个以上的NAL单元,对每个NAL单元逐一处理;若为分片单元,则将两个以上的分片单元组合成一个完整的NAL单元;
步骤2-3-5:将NAL单元中包含的H.264视频帧数据与步骤2-2中解析出的对应的时间戳关联,一并存入H.264视频帧数据缓存队列FrameBuffer中。
在一种实现方式中,步骤3中包括如下步骤:
步骤3-1:获取GPU操作对象,初始化GPU运行环境;
步骤3-2:创建和初始化解码器、解析器和源解释器对象;
步骤3-3:根据视频帧率,以固定时间周期依次从H.264视频帧数据缓存队列FrameBuffer中读取视频帧数据写入解码器,添加图像尺寸信息;
步骤3-4:从解码器中获得解码后的视频图像数据,新建GPU显存空间,将视频图像数据拷贝至显存空间中;
步骤3-5:将解码得到的图像数据的显存地址和对应的时间戳存入解码缓存队列,供后续视频图像处理使用。
在一种实现方式中,步骤5中所述通过时间戳比较对多路图像数据进行同步,获得同步后的图像序列指根据时间戳筛选出时间相同且采集时间最早的一组图像序列,包括:
采用异步方式分别从所有的缓存队列中读取当前最旧一帧图像数据,根据时间戳信息进行查找和匹配,按照采集时间先后顺序逐帧比较,直到读取到的所有图像时间戳相同,将这一时间记为统一的渲染基准时间,时间戳在渲染基准时间之前的图像数据全部丢弃。
在一种实现方式中,步骤5中所述将同步后的图像序列合并在同一画布上渲染显示指按照摄像机方位将同步后的图像序列顺序地写入统一的DirectX纹理数据之中,刷新纹理实现多路视频的同步显示,包括:
步骤5-1,根据摄像机数量和步骤4处理得到的图像尺寸,创建DirectX绘图区,设置canvas画布尺寸,设每一个摄像机的序号为n(n=0,1,2…,max),其处理后的视频图像尺寸为[wn,h],其中wn表示第n个摄像机对应图像的宽度,h表示图像的高度,则canvas尺寸为
步骤5-2,为每个摄像机产生的图像创建一个DirectX纹理对象texn用于渲染,根据摄像机序号计算纹理的顶点缓存,图像的顶点缓存为矩形坐标,对于序号为N的摄像机,0≤N≤max,其图像顶点缓存VBN为:
步骤5-3,将渲染器刷新方式设为单进程模式,启动渲染器刷新线程,以摄像机采集视频的帧率为刷新频率进行循环刷新;
步骤5-4,获取每一个纹理对象texn的表面数据,即后台缓冲表面,将同步后的图像序列中的图像数据拷贝至纹理表面;
步骤5-5,利用DiretX交换链技术,将所有的后台缓冲表面置换到前台表面,将所有的图像内容在显示屏上输出显示;
步骤5-6,重复获得同步后的图像序列以及步骤5-4至5-5,循环的进行数据处理和刷新,实现多路视频的同步处理和显示。
在一种实现方式中,步骤1中所述对摄像机的系统时间进行实时校准包括:
搭建NTP(Network Time Protocol,网络时间协议)服务器,通过局域网络提供高精度的时间校正服务,标准时间差小于1毫秒;
对于所有接入的网络超高清4K摄像机,都使用所述NTP服务器进行网络授时,时间校正周期设为30秒。
在一种实现方式中,步骤4中所述图像处理包括使用GPU进行图像校正和去重运算,对图像进行去畸变处理,并根据不同摄像机参数以及依据各摄像机的图像无缝拼接形成一个完整连贯的图像要求,对图像进行裁剪和去重。
本发明的原理是:采用统一的NTP服务为所有的摄像机提供高精度的时间校准,使摄像机之间具备统一的系统时间。摄像机对采集的视频进行编码时,将当前系统时间转换为统一时间戳信息添加至H.264数据中,并采用RTP协议打包发送。在视频处理和显示客户端,采用多线程的方式对多路视频进行并行处理。客户端在获取视频流时会提取出封装在补充增强信息SEI数据中的统一时间戳,在视频输出显示时,通过比较每一路视频中的时间戳,实现多路视频的同步输出。
有益效果:本发明的显著优点是:
1、该方法采用NTP服务为接入的网络摄像机提供实时精确的时间校准,使不同的摄像机能够具备统一的系统时间,以系统时间为基准生成统一时间戳,并以该时间戳作为视频同步的依据。该方法确保了时间戳的唯一性,能够避免不同视频流RTP时间之间的差异,为多路视频的精确同步提供了基础;
2、该方法采用分布式的处理架构,每一路视频采用独立的RTSP网络流进行推送,客户端采用独立的线程处理每一路视频流,客户端数量可依据摄像机数量进行灵活调整,可以较为方便的实现系统扩容;
3、使用H.264视频数据中的补充增强信息SEI数据封装统一时间戳,确保每一帧视频数据中都有唯一的时间戳,且能避免RTP协议打包过程中因数据分片造成时间戳的变化和混乱;
4、该方法使用GPU硬件加速技术处理4K超高清视频,将整个视频解码、处理和渲染的过程都置于GPU中进行,充分利用GPU并行计算能力强大的优点,提升视频处理的速度,尽可能减少内存和显存的交互次数,提升整体性能,使视频刷新帧率不低于每秒25帧。视频处理过程中,将图像数据存放与GPU显存中,避免内存和显存的数据交换造成处理延时;
5、客户端使用单线程的视频渲染模式,对多路视频的显示输出进行集中处理,通过视频帧缓存和时间戳比较,找出时间相同的一组视频图像序列进行渲染。单线程渲染模式能够更加充分利用显卡资源,避免不同线程之间的资源争抢,能有效提升视频刷新效率。同时,单线程模式可以严格控制多路视频的播放时间,实现精确的时间同步。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是本申请实施例提供的摄像机视频流推送流程示意图;
图2是本申请实施例提供的视频处理显示客户端工作流程示意图;
图3是本申请实施例提供的多路视频同步与渲染显示流程示意图;
图4是本申请实施例提供的一种分布式的超高清视频同步处理方法的流程示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本申请实施例公开了一种分布式的超高清视频同步处理方法,可以应用于机场远程塔台多画面同步监控场景。该方法使用统一的时间基准进行计算生成时间戳,将时间戳信息封装在H.264数据包的补充增强信息SEI中随视频流打包发送,确保每一帧图像都有唯一、统一的时间戳。该方法使用GPU并行计算框架进行视频解码和处理,减小视频处理的时间延迟和抖动,综合时间戳同步方法,实现分布式多路超高清视频同步、实时、流畅的处理。
如图4所示,本实施例提供的一种分布式的超高清视频同步处理方法,包括如下步骤:
步骤1、启动多路网络超高清4K摄像机,对摄像机的系统时间进行实时校准;摄像机实时采集视频数据,并将采集时间转换为统一的时间戳,向视频处理显示客户端推送视频流;
步骤2、启动视频处理显示客户端,客户端读取并解析每一路摄像机的视频流,获得每一路摄像机的视频帧数据和对应的时间戳;
步骤3、使用GPU对每一路摄像机的视频帧数据进行解码,将解码后的视频图像数据直接存放于显存之中,将视频图像数据的显存地址和对应的时间戳分别存入独立的解码缓存队列之中;
步骤4、采用多线程方式进行图像处理,每一个线程从其对应的解码缓存队列中读取图像并进行处理,图像处理使用GPU并行计算进行加速,处理完成的新图像依然存放于显存之中,将其显存地址和时间戳存入对应的渲染缓存队列之中;
步骤5、从各个渲染缓存队列中读取图像数据,通过时间戳比较对多路图像数据进行同步,获得同步后的图像序列;将同步后的图像序列合并在同一画布上渲染显示。
如图1所示,本实施例摄像机视频获取统一时间戳以及推送视频流的实现:
一、摄像机同步授时
步骤一,搭建NTP服务器,通过局域网络提供高精度的时间校正服务(标准时间差小于1毫秒);
步骤二,对于所有接入的网络摄像机,都使用步骤1搭建的NTP服务器进行网络授时,时间校正周期设为30秒。
二、统一时间戳生成
步骤一,将系统时间转换为一个整形数,以该整形数为基准计算每一帧画面的时间戳数值;
步骤二,时间戳的单位采用采样频率的倒数,若视频采样频率f为90000Hz,则时间戳单位为1/90000,即1秒钟被划分为90000个时间块,若每秒发送25帧,则每一帧占用的时间块为90000/25=3600,时间戳的增量即为3600;
步骤三、在步骤1生成的基准数之上增加时间间隔,生成当前画面的时间戳,每发送一帧画面,其时间戳增加3600。
三、视频流推送
步骤一、采用H.264格式对视频进行压缩编码,将统一时间戳封装在补充增强信息SEI中,每一帧画面数据中拥有唯一的时间戳,获得H.264视频数据;
步骤二、以RTP协议对H.264视频数据进行打包,根据每一帧视频数据的大小,对网络数据单元进行拆分或组合;具体根据每一帧视频数据的大小,对NAL网络数据单元进行拆分或组合。当要传输的数据超过最大传输单元MTU(Maximum Transmission Unit)时,对数据进行拆分封装;小于MTU时,在一个RTP包中只封装一个NAL网络数据单元。
步骤三、以RTSP协议对外提供网络视频流服务。
如图2所示,本实施例视频处理显示客户端分布式处理的实现:
四、视频流读取与解析
步骤一、客户端分别向每个摄像机发送视频请求,与每一个摄像机建立独立的RTSP会话,从摄像机获取实时RTP视频流数据,以多线程的模式分别处理每一路视频数据;
步骤二、读取补充增强信息SEI数据,并按指定格式解析提取统一时间戳;
步骤三、读取RTP视频流数据包并进行缓存,提取RTP视频流数据包中的H.264网络数据单元并进行组装,形成一帧完整的H.264视频数据,即图像帧数据;关联图像帧数据和对应的时间戳,包括如下步骤:
创建两个数据缓存队列:(1)数据包缓存队列PacketBuffer,用于存储读取到的RTP视频数据包;(2)H.264视频帧数据缓存队列FrameBuffer,用于存储组装完成的完整视频帧数据;
读取RTP视频流数据包,将数据解析为RTP包头和RTP有效负载两部分;
判断RTP包头中的数据类型,若类型为视频流,则将RTP有效负载数据存入数据包缓存队列PacketBuffer进行处理;
从数据包缓存队列PacketBuffer中取出一个Payload数据包,判断其数据单元模式:若为单一单元模式,则从中提取一个NAL单元;若为组合封包模式,则该Payload中包含两个以上的NAL单元,对每个NAL单元逐一处理;若为分片单元,则将两个以上的分片单元组合成一个完整的NAL单元;
将NAL单元中包含的H.264视频帧数据与解析提取的对应时间戳关联,一并存入H.264视频帧数据缓存队列FrameBuffer中。
五、视频解码与处理
步骤一、创建和初始化GPU视频解码器,包括:
获取GPU操作对象,初始化GPU运行环境;创建和初始化解码器、解析器和源解释器对象;
步骤二、根据视频帧率,以固定的频率从视频帧缓存队列FrameBuffer中读取H.264视频帧数据,写入解码器,添加图像尺寸信息;
步骤三、从解码器回调中获取解码后的视频图像数据,新建GPU显存空间,将图像拷贝至显存空间中,将解码得到的图像数据的显存地址与时间戳一同存入解码缓存队列;
步骤四、读取解码缓存队列中图像数据,采用GPU并行加速方式对图像数据进行处理,处理完成获得的新图像依然存放于显存之中,将其显存地址连同时间戳存入渲染缓存队列,供输出显示使用;所述对图像数据进行处理包括使用GPU进行图像校正和去重运算,对图像进行去畸变处理,并根据不同摄像机参数以及依据各摄像机的图像无缝拼接形成一个完整连贯的图像要求,对图像进行裁剪和去重。
六、视频同步与渲染
步骤一、从所有的渲染缓存队列中读取图像数据;
步骤二、通过时间戳比较对多路图像数据进行同步,获得同步后的图像序列;
步骤三、将同步后的图像序列合并在同一画布上渲染显示;
如图3所示,本实施例多路视频同步渲染实现:
七、多路视频同步
步骤一、采用异步方式从每一路视频的渲染缓冲队列中读取当前最旧一帧图像;
步骤二、比较所有图像的时间戳,根据时间戳信息进行查找和匹配,按照采集时间先后顺序逐帧比较,直到读取到的所有图像时间戳相同,将这一时间记为统一的渲染基准时间,即找出其中数值最大(代表时间最新)的时间戳,以该时间戳作为当前的渲染基准时间;
步骤三、将时间戳与渲染基准时间不同的图像丢弃,继续从渲染缓存队列中读取最旧一帧图像,直到找到相同的时间戳为止;
八、同步渲染显示
步骤一、根据摄像机数量和步骤4处理得到的图像尺寸,创建DirectX绘图区,设置canvas画布尺寸,设每一个摄像机的序号为n(n=0,1,2…,max),其处理后的视频图像尺寸为[wn,h],则canvas尺寸为
步骤二、为每个摄像机产生的图像创建一个DirectX纹理对象texn用于渲染,根据摄像机序号计算纹理的顶点缓存,图像的顶点缓存为矩形坐标,对于序号为N的摄像机,0≤N≤max,其图像顶点缓存为:
步骤三、将渲染器刷新方式设为单进程模式,启动渲染器刷新线程,以摄像机采集视频的帧率为刷新频率进行循环刷新;
步骤四、获取每一个纹理对象texn的表面数据,即后台缓冲表面,将同步后的图像序列中的图像数据拷贝至纹理表面;
步骤五、利用DirectX交换链技术,将所有的后台表面置换到前台表面,将所有的图像内容在显示屏上输出显示。
步骤六、重复获得同步后的图像序列以及步骤四至步骤五,循环的进行数据处理和刷新,实现多路视频的同步处理和显示。
本发明提供了一种分布式的超高清视频同步处理方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (10)

1.一种分布式的超高清视频同步处理方法,其特征在于,包括如下步骤:
步骤1、启动多路网络超高清4K摄像机,对摄像机的系统时间进行实时校准;摄像机实时采集视频数据,并将采集时间转换为统一的时间戳,向视频处理显示客户端推送视频流;
步骤2、启动视频处理显示客户端,客户端读取并解析每一路摄像机的视频流,获得每一路摄像机的视频帧数据和对应的时间戳;
步骤3、使用GPU对每一路摄像机的视频帧数据进行解码,将解码后的视频图像数据直接存放于显存之中,将视频图像数据的显存地址和对应的时间戳分别存入独立的解码缓存队列之中;
步骤4、采用多线程方式进行图像处理,每一个线程从其对应的解码缓存队列中读取图像并进行处理,图像处理使用GPU并行计算进行加速,处理完成的新图像依然存放于显存之中,将其显存地址和时间戳存入对应的渲染缓存队列之中;
步骤5、从各个渲染缓存队列中读取图像数据,通过时间戳比较对多路图像数据进行同步,获得同步后的图像序列;将同步后的图像序列合并在同一画布上渲染显示。
2.根据权利要求1所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤1中所述将采集时间转换为统一的时间戳包括:
将系统时间转换为一个整形数,以该整形数为基准数,计算每一帧画面的时间戳数值;
时间戳的单位采用采样频率的倒数,若视频采样频率为f,则时间戳单位为1/f,即1秒钟被划分为f个时间块,若每秒发送Nf帧,则每一帧占用的时间块为f/Nf,时间戳的增量即为f/Nf
在所述基准数之上增加时间戳的增量,生成当前画面的统一的时间戳,即每发送一帧画面,其时间戳增加f/Nf
3.根据权利要求2所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤1中所述向视频处理显示客户端推送视频流包括:
采用H.264格式对实时采集的视频数据进行压缩编码,将统一的时间戳封装在补充增强信息SEI中,每一帧画面数据中拥有唯一的时间戳,获得H.264视频数据;
以RTP协议对H.264视频数据进行打包,根据每一帧视频数据的大小,对NAL网络数据单元进行拆分或组合;当要传输的数据超过最大传输单元MTU时,对数据进行拆分封装;小于MTU时,在一个RTP包中只封装一个NAL网络数据单元;
以RTSP协议向视频处理显示客户端提供实时RTP视频流数据。
4.根据权利要求3所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤2包括如下步骤:
步骤2-1,客户端分别向每个摄像机发送视频请求,与每一个摄像机建立独立的RTSP会话,获取实时RTP视频流数据,采用多线程模式处理每一路RTP视频流数据;
步骤2-2,读取RTP视频流数据包中的补充增强信息SEI并解析,获取封装在SEI数据中的时间戳;
步骤2-3,读取RTP视频流数据包并进行缓存,提取RTP视频流数据包中的H.264网络数据单元并进行组装,形成一帧完整的H.264视频数据,即图像帧数据;关联图像帧数据和对应的时间戳。
5.根据权利要求4所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤2-3包括如下步骤:
步骤2-3-1,创建两个数据缓存队列:(1)数据包缓存队列PacketBuffer,用于存储读取到的RTP视频数据包;(2)H.264视频帧数据缓存队列FrameBuffer,用于存储组装完成的完整视频帧数据;
步骤2-3-2,读取RTP视频流数据包,将数据解析为RTP包头和RTP有效负载两部分;
步骤2-3-3:判断RTP包头中的数据类型,若类型为视频流,则将RTP有效负载数据存入数据包缓存队列PacketBuffer进行处理;
步骤2-3-4:从数据包缓存队列PacketBuffer中取出一个Payload数据包,判断其数据单元模式:若为单一单元模式,则从中提取一个NAL单元;若为组合封包模式,则该Payload中包含两个以上的NAL单元,对每个NAL单元逐一处理;若为分片单元,则将两个以上的分片单元组合成一个完整的NAL单元;
步骤2-3-5:将NAL单元中包含的H.264视频帧数据与步骤2-2中解析出的对应的时间戳关联,一并存入H.264视频帧数据缓存队列FrameBuffer中。
6.根据权利要求5所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤3中包括如下步骤:
步骤3-1:获取GPU操作对象,初始化GPU运行环境;
步骤3-2:创建和初始化解码器、解析器和源解释器对象;
步骤3-3:根据视频帧率,以固定时间周期依次从H.264视频帧数据缓存队列FrameBuffer中读取视频帧数据写入解码器,添加图像尺寸信息;
步骤3-4:从解码器中获得解码后的视频图像数据,新建GPU显存空间,将视频图像数据拷贝至显存空间中;
步骤3-5:将解码得到的图像数据的显存地址和对应的时间戳存入解码缓存队列。
7.根据权利要求6所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤5中所述通过时间戳比较对多路图像数据进行同步,获得同步后的图像序列指根据时间戳筛选出时间相同且采集时间最早的一组图像序列,包括:
采用异步方式分别从所有的缓存队列中读取当前最旧一帧图像数据,根据时间戳信息进行查找和匹配,按照采集时间先后顺序逐帧比较,直到读取到的所有图像时间戳相同,将这一时间记为统一的渲染基准时间,时间戳在渲染基准时间之前的图像数据全部丢弃。
8.根据权利要求7所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤5中所述将同步后的图像序列合并在同一画布上渲染显示指按照摄像机方位将同步后的图像序列顺序地写入统一的DirectX纹理数据之中,刷新纹理实现多路视频的同步显示,包括:
步骤5-1,根据摄像机数量和步骤4处理得到的图像尺寸,创建DirectX绘图区,设置canvas画布尺寸,设每一个摄像机的序号为n(n=0,1,2…,max),其处理后的视频图像尺寸为[wn,h],则canvas尺寸为
步骤5-2,为每个摄像机产生的图像创建一个DirectX纹理对象texn用于渲染,根据摄像机序号计算纹理的顶点缓存,图像的顶点缓存为矩形坐标,对于序号为N的摄像机,0≤N≤max,其图像顶点缓存为:
步骤5-3,将渲染器刷新方式设为单进程模式,启动渲染器刷新线程,以摄像机采集视频的帧率为刷新频率进行循环刷新;
步骤5-4,获取每一个纹理对象texn的表面数据,即后台缓冲表面,将同步后的图像序列中的图像数据拷贝至纹理表面;
步骤5-5,利用DiretX交换链技术,将所有的后台缓冲表面置换到前台表面,将所有的图像内容在显示屏上输出显示;
步骤5-6,重复获得同步后的图像序列以及步骤5-4至5-5,循环的进行数据处理和刷新,实现多路视频的同步处理和显示。
9.根据权利要求1所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤1中所述对摄像机的系统时间进行实时校准包括:
搭建NTP服务器,通过局域网络提供高精度的时间校正服务,标准时间差小于1毫秒;
对于所有接入的网络超高清4K摄像机,都使用所述NTP服务器进行网络授时,时间校正周期设为30秒。
10.根据权利要求1所述的一种分布式的超高清视频同步处理方法,其特征在于,步骤4中所述图像处理包括使用GPU进行图像校正和去重运算,对图像进行去畸变处理,并根据不同摄像机参数以及依据各摄像机的图像无缝拼接形成一个完整连贯的图像要求,对图像进行裁剪和去重。
CN202111134384.2A 2021-09-27 2021-09-27 一种分布式的超高清视频同步处理方法 Active CN113873345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111134384.2A CN113873345B (zh) 2021-09-27 2021-09-27 一种分布式的超高清视频同步处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111134384.2A CN113873345B (zh) 2021-09-27 2021-09-27 一种分布式的超高清视频同步处理方法

Publications (2)

Publication Number Publication Date
CN113873345A CN113873345A (zh) 2021-12-31
CN113873345B true CN113873345B (zh) 2023-11-14

Family

ID=78990954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111134384.2A Active CN113873345B (zh) 2021-09-27 2021-09-27 一种分布式的超高清视频同步处理方法

Country Status (1)

Country Link
CN (1) CN113873345B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887512A (zh) * 2021-01-26 2021-06-01 长威信息科技发展股份有限公司 一种视频流高分可视化系统
CN115550709B (zh) * 2022-01-07 2023-09-26 荣耀终端有限公司 数据处理方法及电子设备
CN114390291B (zh) * 2022-01-17 2023-12-22 广州市奥威亚电子科技有限公司 视频编码流传输方法及装置
CN114554250B (zh) * 2022-01-17 2023-06-27 北京理工大学重庆创新中心 一种无人机或无人车的视频和位置同步方法
CN114697466B (zh) * 2022-03-17 2023-10-13 杭州海康威视数字技术股份有限公司 视频帧采集同步控制
CN114845151A (zh) * 2022-05-09 2022-08-02 北斗星通智联科技有限责任公司 一种多屏同步显示方法、系统、终端设备和存储介质
CN115209216A (zh) * 2022-06-22 2022-10-18 浙江宇视科技有限公司 视频的播放方法、装置及电子设备
CN115174941B (zh) * 2022-07-06 2023-03-24 灵羲科技(北京)有限公司 基于多路视频流的实时运动表现分析及实时数据共享方法
CN115174884A (zh) * 2022-07-08 2022-10-11 首都体育学院 一种基于sei的多相机同步信息传输与存储方法
CN115243088A (zh) * 2022-07-21 2022-10-25 苏州金螳螂文化发展股份有限公司 一种多主机视频帧级同步渲染方法
CN115442520A (zh) * 2022-08-05 2022-12-06 珠海普罗米修斯视觉技术有限公司 图像拍摄方法、图像处理方法及拍摄系统
CN115484407B (zh) * 2022-08-25 2023-07-04 奥比中光科技集团股份有限公司 一种多路采集数据的同步输出方法、系统及rgbd相机
CN115695883A (zh) * 2022-09-27 2023-02-03 北京奇艺世纪科技有限公司 一种视频数据处理方法、装置、设备以及存储介质
CN115643427B (zh) * 2022-12-23 2023-04-07 广州佰锐网络科技有限公司 一种超高清音视频通信方法、系统及计算机可读存储介质
CN117372088B (zh) * 2023-12-08 2024-02-23 莱芜职业技术学院 一种音乐教学推广方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
WO2012077982A2 (ko) * 2010-12-07 2012-06-14 삼성전자 주식회사 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법
CN104378675A (zh) * 2014-12-08 2015-02-25 厦门雅迅网络股份有限公司 一种多通道音视频同步播放处理方法
CN107241598A (zh) * 2017-06-29 2017-10-10 贵州电网有限责任公司 一种针对多路h.264视频会议的GPU解码方法
CN110087146A (zh) * 2019-06-06 2019-08-02 成都德尚视云科技有限公司 对视频文件的分析与渲染进行同步的方法和系统
CN110832875A (zh) * 2018-07-23 2020-02-21 深圳市大疆创新科技有限公司 视频处理方法、终端设备、机器可读存储介质
CN110891178A (zh) * 2019-10-29 2020-03-17 福州瑞芯微电子股份有限公司 一种视频实时渲染的方法和装置
CN112465702A (zh) * 2020-12-01 2021-03-09 中国电子科技集团公司第二十八研究所 一种多路超高清视频同步自适应拼接显示处理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
WO2012077982A2 (ko) * 2010-12-07 2012-06-14 삼성전자 주식회사 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법
CN104378675A (zh) * 2014-12-08 2015-02-25 厦门雅迅网络股份有限公司 一种多通道音视频同步播放处理方法
CN107241598A (zh) * 2017-06-29 2017-10-10 贵州电网有限责任公司 一种针对多路h.264视频会议的GPU解码方法
CN110832875A (zh) * 2018-07-23 2020-02-21 深圳市大疆创新科技有限公司 视频处理方法、终端设备、机器可读存储介质
CN110087146A (zh) * 2019-06-06 2019-08-02 成都德尚视云科技有限公司 对视频文件的分析与渲染进行同步的方法和系统
CN110891178A (zh) * 2019-10-29 2020-03-17 福州瑞芯微电子股份有限公司 一种视频实时渲染的方法和装置
CN112465702A (zh) * 2020-12-01 2021-03-09 中国电子科技集团公司第二十八研究所 一种多路超高清视频同步自适应拼接显示处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DSCOVR: Distributed Collaborative Video Recorder;Jin Li et al.;《2006 IEEE International Conference on Multimedia and Expo》;全文 *
分布式多媒体系统中连续媒体的同步方案;曹雯雯 陈相宁;《 南京大学学报(自然科学)》;全文 *
面向分布式视频应用的时间同步技术的研究与设计;张逸凡;《中国优秀硕士学位论文全文数据库(电子期刊)》;全文 *

Also Published As

Publication number Publication date
CN113873345A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
CN113873345B (zh) 一种分布式的超高清视频同步处理方法
JP6345827B2 (ja) ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
RU2518383C2 (ru) Способ и устройство для переупорядочивания и мультиплексирования мультимедийных пакетов из мультимедийных потоков, принадлежащих взаимосвязанным сеансам
US9456209B2 (en) Method of multiplexing H.264 elementary streams without timing information coded
US6674477B1 (en) Method and apparatus for processing a data series including processing priority data
JP5770345B2 (ja) ビデオデータをストリーミングするためのビデオ切替え
US11405699B2 (en) Using GLTF2 extensions to support video and audio data
CN107005729A (zh) 用于多媒体和文件传输的传输接口
KR20050099999A (ko) 화상 부호화 방법
JP5896596B2 (ja) コード化タイミング情報のないビデオ・エレメンタリ・ストリームをマルチプレクスする方法及び装置
KR20170065568A (ko) 샘플 메타데이터와 미디어 샘플들의 결합
EP2589222A1 (en) Signaling video samples for trick mode video representations
WO2023073283A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
US20220335694A1 (en) Anchoring a scene description to a user environment for streaming immersive media content
JP2004007461A (ja) データ処理装置及びデータ処理方法
An et al. Synchronous playback technology of airborne network video based on RTP
JP2024511948A (ja) Heifフォーマットされた画像をリアルタイムトランスポートプロトコル上でトランスポートすること
KR20150047958A (ko) 이동통신 단말기에서 알티피 타임스탬프 생성방법
JP2004048657A (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