CN116193164A - 紧密集成传输协议和编解码器的视频传输方法及存储介质 - Google Patents
紧密集成传输协议和编解码器的视频传输方法及存储介质 Download PDFInfo
- Publication number
- CN116193164A CN116193164A CN202211605127.7A CN202211605127A CN116193164A CN 116193164 A CN116193164 A CN 116193164A CN 202211605127 A CN202211605127 A CN 202211605127A CN 116193164 A CN116193164 A CN 116193164A
- Authority
- CN
- China
- Prior art keywords
- frame
- frames
- target
- interval time
- transmission protocol
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000009499 grossing Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Communication Control (AREA)
Abstract
本发明的一种紧密集成传输协议和编解码器的视频传输方法及存储介质,其方法包括接收端收到网络片段后,计算帧间隔时间,通过传输协议将帧间隔时间发送至发送端;发送端通过帧间隔时间和目标延迟,计算下一帧的目标帧大小;发送端编码器生成两种帧:高质量帧和低质量帧;发送端根据步骤2中的目标帧大小选择步骤3中生成的帧发送。本发明将编解码器和传输协议紧密结合,让应用程序可以探索每个视频帧在不同质量水平上的替代编码。以找到一个压缩帧大小符合网络瞬时容量的编码。本方法并不需要特殊的编解码器或者传输协议,本发明可以将已有的编解码器和传输协议整合在一起,快速响应网络带宽的变化,减小由于网络波动带来的延迟。
Description
技术领域
本发明涉及计算机实时视频传输技术领域,具体涉及一种紧密集成传输协议和编解码器的视频传输方法。
背景技术
实时视频传输技术广泛应用于视频会议、远程手术、远程通话、视频直播等场景。实时视频传输系统主要由编解码器和传输协议组成。发送端编码器将摄像头获取的视频信息编码为帧。传输协议将帧切分为片段,传输到接收端;接收端解码器收到网络片段,对帧进行解码,生成视频流。
为了实现低延迟、高质量的实时视频传输,业界普遍采用如下方法:1.自适应视频。如图1,该系统通常包括视频编解码器和传输协议作为独立的子系统,每个子系统都有自己的速率控制逻辑和控制回路。传输协议为编解码器提供网络数据速率的估计,而视频编码器选择编码参数以匹配其平均比特率。2.联合源通道视频编码,该方法假设数据速率为固定的或缓慢变化的,并且数据包丢失和排队延迟可以被模拟为独立于应用本身的随机过程。在这种情况下,先前的工作集中在源编码(视频压缩)与信道编码(前向纠错),以使应用程序能应对数据包丢失和延迟。
然而目前的方法虽然有很多优点,但没有考虑到数据包丢失和排队延迟受应用程序选择发送多少数据的影响,不能快速响应网络带宽的变化,当网络条件变化时,现有方法会造成严重的数据包丢失和排队延迟。
发明内容
本发明提出的一种紧密集成传输协议和编解码器的视频传输方法,可至少解决上述技术问题之一。
为实现上述目的,本发明采用了以下技术方案:
一种紧密集成传输协议和编解码器的视频传输方法,包括以下步骤,
步骤1:接收端收到网络片段后,计算帧间隔时间,通过传输协议将帧间隔时间发送至发送端;
步骤2:发送端通过帧间隔时间和目标延迟,计算下一帧的目标帧大小;
步骤3:发送端编码器生成两种帧:高质量帧和低质量帧;
步骤4:发送端根据步骤2中的目标帧大小选择步骤3中生成的帧发送。
另一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
由上述技术方案可知,本发明的紧密集成传输协议和编解码器的视频传输方法,通过对当前网络容量的估计,对网络条件的变化做出快速反应,避免引起数据丢包和排队延迟。
本发明的有益效果具体如下:
本发明方法将编解码器和传输协议紧密结合,让应用程序可以探索每个视频帧在不同质量水平上的替代编码。以找到一个压缩帧大小符合网络瞬时容量的编码。本方法并不需要特殊的编解码器或者传输协议,作为一个具体的系统,它可以将已有的编解码器和传输协议整合在一起,快速响应网络带宽的变化,减小由于网络波动带来的延迟。
本发明方法与设置比特率的传统方法对比,通过将传输协议和编解码器紧密结合,计算帧间隔和下一个目标帧大小,更细粒度地决定每个帧的最佳传输质量,并且可以通过设置目标延迟时间来达到视频画面质量和网络延迟之间的平衡。
本发明方法在网络状况变化的通信介质中效果更佳明显,更适用于蜂窝网络和wifi等网络容量变化较大的通信环境。能在波动的网络条件下提供稳定低延迟的时实视频传输。
附图说明
图1是现有的编码器和传输协议构成的低耦合系统;
图2是本发明实施例的发送端和接收端的帧示意图;
图3是本发明实施例的编解码器和传输协议紧密结合示意图;
图4是本发明实施例的发送端选择帧的过程实例示意图;
图5是本发明实施例的发送端选择高质量帧的实例;
图6是本发明实施例的发送端跳过此帧的实例。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例所述的紧密集成传输协议和编解码器的视频传输方法,包括以下步骤:
步骤1:接收端收到网络片段后,计算帧间隔时间,通过传输协议将帧间隔时间发送至发送端;
步骤2:发送端通过帧间隔时间和目标延迟,计算下一帧的目标帧大小;
步骤3:发送端编码器生成两种帧:高质量帧和低质量帧;
步骤4:发送端根据步骤2中的目标帧大小选择步骤3中生成的帧发送。
其中,所述步骤1“接收端收到网络包后,计算帧间隔时间,通过传输协议将帧间隔时间发送至发送端。”是指当帧i收到后,接收端用如下公式计算一个平滑后的帧间隔时间τi。当帧被发送时,会被切分为很多片段(如图2),其中Ti是帧i最后一个片段的到达时间,Ti-1是帧i-1最后一个片段的到达时间;grace_periodi是发送两个帧之间的时间间隔,通过传输协议中的grace_periodi的字段获取;τi-1是上一次计算的帧间隔时间,α是平滑系数,取值范围为0-1,通常取0.2。
τi=α(Ti-Ti-1-grace_periodi)+(1-α)τi-1
当帧间隔时间τi计算完成后,接收端通过传输协议将帧间隔时间τi发送给发送端。
所述步骤2“发送端通过帧间隔时间和目标延迟,计算下一帧的目标帧大小。”所指的是发送端收到接收端在步骤一发送的帧间隔时间τi后,根据设定的目标延迟时间d(通常d的单位是毫秒),为下一个帧设置目标帧大小的上界。为了避免延迟时间超过d,通过避免传输比目标帧大小大的帧数据,来避免网络拥塞和延迟。目标帧大小的公式计算如下:
目标帧大小=(d/τi,-Ni)MTU
其中τi是帧间隔时间,d是目标延迟时间,Ni是发送中的数据片段的数量,通过已经发送的数据片段数量减去接收端已经确认收到的片段数量得到。MTU是最大传输单元,由于链路层协议的限制,每个片段大小最大为MTU。
如图3所示,发送端利用传输协议为每个帧生成目标帧大小,与每隔一段时间传输协议规定编解码器的比特率相比,编解码器与传输协议结合更紧密,以适应网络带宽的变化。
所述步骤3“发送端编码器生成两种帧:高质量帧和低质量帧。”指的是发送端的编码器在将时实视频信息编码为帧时,生成两种质量的帧:高质量帧和低质量帧,二者数据大小不同。由于让编码器生成严格符合目标帧大小的帧是难以实现的,因此,将其简化为高质量帧和低质量帧两种类型。
进一步的,所述步骤4“发送端根据步骤2中的目标帧大小选择步骤3中生成的帧发送。”所指的是发送端根据帧选择算法,选择合适的帧发送。发送端的帧选择算法描述如下。其中跳帧计数器是为了避免目标帧大小持续小于低质量帧,以至于无帧发送的情况。每当某个帧被忽略,则跳帧计数器加一。当跳帧计数器大于4时,则必然发送低质量帧。
其中,帧选择算法:
算法输入:低质量帧,高质量帧;
算法步骤:
(3)如果高质量帧大小不超过目标帧大小,返回高质量帧
(4)如果低质量帧大小不超过目标帧大小或者跳帧计数器大于4,返回低质量帧,否则,跳帧计数器加一。
当选择了合适的帧之后,发送端将帧发送到接收端。
几个例子展示了选择算法选择不同质量的帧的过程。如图4,目标帧大小为30KB,高质量帧大小为50KB大于目标帧大小,低质量帧大小为25KB小于目标帧大小,则选择低质量帧,将低质量帧发送到接收端。如图5,目标帧大小为55KB,高质量帧大小为50KB小于目标帧大小,则选择高质量帧25KB,将高质量帧发送到接收端。如图6,目标帧大小为5KB,高质量帧大小为50KB大于目标帧大小,低质量帧大小为25KB大于目标帧大小,则跳过此帧不发送,考虑下一帧。
综上所述,本方法将编解码器和传输协议紧密结合,让应用程序可以探索每个视频帧在不同质量水平上的替代编码。以找到一个压缩帧大小符合网络瞬时容量的编码。本方法并不需要特殊的编解码器或者传输协议,作为一个具体的系统,它可以将已有的编解码器和传输协议整合在一起,快速响应网络带宽的变化,减小由于网络波动带来的延迟。
本方法与设置比特率的传统方法对比,通过将传输协议和编解码器紧密结合,计算帧间隔和下一个目标帧大小,更细粒度地决定每个帧的最佳传输质量,并且可以通过设置目标延迟时间来达到视频画面质量和网络延迟之间的平衡。
本方法在网络状况变化的通信介质中效果更佳明显,更适用于蜂窝网络和wifi等网络容量变化较大的通信环境。能在波动的网络条件下提供稳定低延迟的时实视频传输。
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述任一方法的步骤。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述任一方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法的步骤。
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种紧密集成传输协议和编解码器的视频传输方法,其特征在于,包括以下步骤,
步骤1:接收端收到网络片段后,计算帧间隔时间,通过传输协议将帧间隔时间发送至发送端;
步骤2:发送端通过帧间隔时间和目标延迟,计算下一帧的目标帧大小;
步骤3:发送端编码器生成两种帧:高质量帧和低质量帧;
步骤4:发送端根据步骤2中的目标帧大小选择步骤3中生成的帧发送。
2.根据权利要求1所述的紧密集成传输协议和编解码器的视频传输方法,其特征在于:所述步骤1中接收端收到网络包后,计算帧间隔时间,通过传输协议将帧间隔时间发送至发送端;是指当帧i收到后,接收端用如下公式计算一个平滑后的帧间隔时间τi;当帧被发送时,会被切分为多个片段,其中Ti是帧i最后一个片段的到达时间,Ti-1是帧i-1最后一个片段的到达时间;grace_periodi是发送两个帧之间的时间间隔,通过传输协议中的grace_periodi的字段获取;τi-1是上一次计算的帧间隔时间,α是平滑系数,取值范围为0-1,
τi=α(Ti-Ti-1-grace_periodi)+(1-α)τi-1
当帧间隔时间τi计算完成后,接收端通过传输协议将帧间隔时间τi发送给发送端。
3.根据权利要求2所述的紧密集成传输协议和编解码器的视频传输方法,其特征在于:所述步骤2发送端通过帧间隔时间和目标延迟,计算下一帧的目标帧大小,具体为发送端收到接收端在步骤一发送的帧间隔时间τi后,根据设定的目标延迟时间d,d的单位是毫秒,为下一个帧设置目标帧大小的上界;
目标帧大小的公式计算如下:
目标帧大小=(d/τi,-Ni)MTU
其中τi是帧间隔时间,d是目标延迟时间,Ni是发送中的数据片段的数量,通过已经发送的数据片段数量减去接收端已经确认收到的片段数量得到;MTU是最大传输单元,由于链路层协议的限制,每个片段大小最大为MTU。
4.根据权利要求3所述的紧密集成传输协议和编解码器的视频传输方法,其特征在于:所述步骤3发送端编码器生成两种帧:高质量帧和低质量帧,具体包括发送端的编码器在将时实视频信息编码为帧时,生成两种质量的帧:高质量帧和低质量帧,二者数据大小不同。
5.根据权利要求4所述的紧密集成传输协议和编解码器的视频传输方法,其特征在于:
所述步骤4发送端根据步骤2中的目标帧大小选择步骤3中生成的帧发送,具体包括发送端根据帧选择算法,选择对应的的帧发送;
其中,帧选择算法包括:
算法输入:低质量帧,高质量帧;
算法步骤:
(1)如果高质量帧大小不超过目标帧大小,返回高质量帧;
(2)如果低质量帧大小不超过目标帧大小或者跳帧计数器大于4,返回低质量帧,否则,跳帧计数器加一;
当选择了对应的帧之后,发送端将帧发送到接收端。
6.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211605127.7A CN116193164A (zh) | 2022-12-14 | 2022-12-14 | 紧密集成传输协议和编解码器的视频传输方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211605127.7A CN116193164A (zh) | 2022-12-14 | 2022-12-14 | 紧密集成传输协议和编解码器的视频传输方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116193164A true CN116193164A (zh) | 2023-05-30 |
Family
ID=86447024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211605127.7A Pending CN116193164A (zh) | 2022-12-14 | 2022-12-14 | 紧密集成传输协议和编解码器的视频传输方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116193164A (zh) |
-
2022
- 2022-12-14 CN CN202211605127.7A patent/CN116193164A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10084715B2 (en) | Packet loss mitigation | |
US20030152032A1 (en) | Video information transmission system, and apparatus and program used for video information transmission system | |
JP2010508769A (ja) | パケット化オーバヘッドを削減するための動画像符号化レート適応 | |
CN104702968A (zh) | 一种视频帧丢帧方法及视频发送装置 | |
US8842159B2 (en) | Encoding processing for conferencing systems | |
US10951905B2 (en) | Video transcoding method, computer device, and storage medium | |
JP7123470B2 (ja) | ビデオ符号化方法、装置、コンピュータプログラム及びコンピュータ機器 | |
US20090310672A1 (en) | Method and System for Rate Control in a Video Encoder | |
US20020054635A1 (en) | Image transmitting method and apparatus and image receiving method and apparatus | |
US8411743B2 (en) | Encoding/decoding system using feedback | |
CN110602548A (zh) | 一种超高清视频高质量无线传输的方法和系统 | |
CN111385055B (zh) | 一种数据传输方法和装置 | |
CN117676153A (zh) | 一种帧间预测模式的切换方法及相关装置 | |
CN106792265B (zh) | 一种网络实时流媒体传输方法和系统 | |
CN111416978B (zh) | 视频编解码方法及系统、计算机可读存储介质 | |
CN116193164A (zh) | 紧密集成传输协议和编解码器的视频传输方法及存储介质 | |
CN102893605B (zh) | 码量控制方法及装置 | |
US11812036B2 (en) | Method for image transmitting, transmitting device and receiving device | |
CN108124155B (zh) | 一种码率控制方法、装置及电子设备 | |
JP2002064472A (ja) | 通信システム、送信機及び伝送誤りの防止方法 | |
CN115883848A (zh) | 一种编码控制方法、装置、设备、存储介质及产品 | |
US8279944B2 (en) | Method and device for regulating the encoding bit rate of video image sequences relative to a target bit rate | |
CN109150410B (zh) | 数据传输方法和装置 | |
CN101478676B (zh) | 一种对b帧进行码率控制的方法 | |
CN113473228B (zh) | 8k录播视频的传输控制方法、装置、存储介质及设备 |
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 |