一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频编码方法、传输方法、系统、装置及介质与流程

2022-03-02 04:14:45 来源:中国专利 TAG:


1.本发明涉及视频传输技术领域,具体提供一种视频编码方法、传输方法、系统、装置及介质。


背景技术:

2.视频编码和传输是视频观看过程的重要环节,视频编码和传输的效果直接影响着视频观看者的视频观看体验。而在视频传输过程中,视频的传输效果往往是受到视频编码情况以及视频的传输条件的影响的。在移动网络环境中进行视频传输,如果视频编码情况与视频的传输条件不匹配,或者视频传输队列中堆积的视频码流过多的话,都会导致视频传输的实时性差、画面卡顿等情况的发生,这些情况都会影响观众的观看体验。
3.相应地,本领域需要一种新的视频编码和传输方案来解决上述问题。


技术实现要素:

4.本发明旨在解决上述技术问题,即,解决现有视频传输过程中受限于传输条件,容易出现视频画面卡顿,视频传输效果差等问题,无法满足视频实时性观看要求,影响观看体验的问题。
5.在第一方面,本发明提供一种视频编码方法,所述方法包括:
6.获取目标编码等级和视频的当前编码等级;
7.基于所述目标编码等级判断所述视频的当前编码等级是否需要调整,若是,则调整所述视频的当前编码等级;
8.基于调整后的所述视频的当前编码等级进行视频编码。
9.在上述视频编码方法的一个技术方案中,“获取目标编码等级”的步骤包括:
10.获取当前视频传输队列中堆积的视频码流的长度;
11.将当前视频传输队列中堆积的视频码流的长度与预设的编码等级调整阈值进行比较当所述视频码流的长度大于所述编码等级调整阈值时,获取当前传输的视频码流的传输带宽;
12.根据所述传输带宽,获取目标编码等级,所述目标编码等级满足所述传输带宽;
[0013]“基于所述目标编码等级判断所述视频的当前编码等级是否需要调整,若是,则调整所述视频的当前编码等级”的步骤包括:
[0014]
将所述目标编码等级与所述视频的当前编码等级进行比较;若目标编码等级与所述视频的当前编码等级相同,则不调整所述视频的当前编码等级;若目标编码等级与所述视频的当前编码等级不同,则将所述目标编码等级设置为所述视频的当前编码等级。
[0015]
在上述视频编码方法的一个技术方案中,所述方法还包括根据以下步骤预先设置编码等级:
[0016]
将视频传输的视频码率划分为多个子区间,为每个所述子区间设置不同的编码等级;
[0017]
其中,每个所述编码等级中包含不同的编码参数,所述视频编码参数至少包括所述视频码率;
[0018]“根据所述传输带宽,获取目标编码等级”的步骤包括:
[0019]
确定所述传输带宽对应的视频码率的数值落入的所述视频码率的子区间;
[0020]
根据所述子区间对应的编码等级,获取所述视频的目标编码等级。
[0021]
在第二方面,本发明提供一种视频传输方法,所述视频传输方法应用于上述视频编码方法的技术方案中任一项技术方案所述的视频编码方法生成的视频码流,所述视频传输方法包括:
[0022]
获取目标传输丢帧等级和视频码流的当前传输丢帧等级;
[0023]
基于所述目标传输丢帧等级判断所述视频码流的当前传输丢帧等级是否需要调整,若是,则调整所述视频码流的当前传输丢帧等级;
[0024]
基于调整后的所述视频码流的当前传输丢帧等级进行视频传输。
[0025]
在上述视频传输方法的一个技术方案中,“获取目标传输丢帧等级”的步骤包括:
[0026]
获取当前视频传输队列中堆积的视频码流的长度;
[0027]
将所述当前视频传输队列中堆积的视频码流的长度与预设的传输丢帧等级调整阈值进行比较当所述堆积的视频码流的长度大于所述传输丢帧等级调整阈值时,根据所述堆积的视频码流的长度获取目标传输丢帧等级;
[0028]“基于所述目标传输丢帧等级判断所述视频码流的当前传输丢帧等级是否需要调整,若是,则调整所述视频码流的当前传输丢帧等级”的步骤包括:
[0029]
将所述目标传输丢帧等级与所述视频码流的当前传输丢帧等级进行比较;若所述目标传输丢帧等级与所述当前传输丢帧等级相同,则不调整所述视频码流的传输丢帧等级;若所述目标传输丢帧等级与所述当前传输丢帧等级不同,则将所述目标传输丢帧等级设置为所述视频码流的当前传输丢帧等级。
[0030]
在上述视频传输方法的一个技术方案中,所述方法还包括根据以下步骤预先设置传输丢帧等级:
[0031]
根据视频传输过程中不同的丢弃视频帧的范围以及所述范围对应的丢弃视频帧的数量,设置对应的传输丢帧等级;
[0032]“根据所述视频码流的长度获取目标传输丢帧等级”的步骤包括:
[0033]
根据所述视频码流的长度,获取所述视频码流需要丢弃的视频帧的数量;
[0034]
根据所述数量,获取目标传输丢帧等级。
[0035]
在第三方面,本发明提供一种视频编码系统,所述系统包括:
[0036]
编码等级获取模块,其被配置为获取目标编码等级和视频的当前编码等级;
[0037]
当前编码等级调整模块,其被配置为基于所述目标编码等级判断所述视频的当前编码等级是否需要调整,若是,则调整所述视频的当前编码等级;
[0038]
视频编码模块,其被配置为基于调整后的所述视频的当前编码等级进行视频编码。
[0039]
在上述视频编码系统的一个技术方案中,所述编码等级获取模块包括:
[0040]
视频码流长度获取单元,其被配置为获取当前视频传输队列中堆积的视频码流的长度;
[0041]
编码等级调整阈值比较单元,其被配置为将当前视频传输队列中堆积的视频码流的长度与预设的编码等级调整阈值进行比较视频码流传输带宽获取单元,其被配置为当所述视频码流的长度大于所述编码等级调整阈值时,获取当前传输的视频码流的传输带宽;
[0042]
目标编码等级获取单元,其被配置为根据所述传输带宽,获取目标编码等级,所述目标编码等级满足所述传输带宽;
[0043]
所述当前编码等级调整模块被进一步配置为执行以下步骤:
[0044]
将所述目标编码等级与所述视频的当前编码等级进行比较;若目标编码等级与所述视频的当前编码等级相同,则不调整所述视频的当前编码等级;若目标编码等级与所述视频的当前编码等级不同,则将所述目标编码等级设置为所述视频的当前编码等级。
[0045]
在上述视频编码系统的一个技术方案中,所述系统还包括预先设置编码等级模块,所述预先设置编码等级模块被配置为根据以下步骤预先设置编码等级:
[0046]
将视频传输的视频码率划分为多个子区间,为每个所述子区间设置不同的编码等级;
[0047]
其中,每个所述编码等级中包含不同的编码参数,所述视频编码参数至少包括所述视频码率;
[0048]
所述目标编码等级获取单元包括:
[0049]
视频码流子区间确定子单元,其被配置为确定所述传输带宽对应的视频码率的数值落入的所述视频码率的子区间;
[0050]
目标编码等级获取子单元,其被配置为根据所述子区间对应的编码等级,获取所述视频的目标编码等级。
[0051]
在第四方面,本发明提供一种视频传输系统,所述视频传输系统应用于上述视频传输系统技术方案中任一项技术方案所述视频编码系统生成的视频码流,所述视频传输系统包括:
[0052]
传输丢帧等级获取模块,其被配置为获取目标传输丢帧等级和视频码流的当前传输丢帧等级;
[0053]
当前传输丢帧等级调整模块,其被配置为基于所述目标传输丢帧等级判断所述视频码流的当前传输丢帧等级是否需要调整,若是,则调整所述视频码流的当前传输丢帧等级;
[0054]
视频传输模块,其被配置为基于调整后的所述视频码流的当前传输丢帧等级进行视频传输。
[0055]
在上述视频传输系统的一个技术方案中,所述传输丢帧等级获取模块包括:
[0056]
视频码流长度获取单元,其被配置为获取当前视频传输队列中堆积的视频码流的长度;
[0057]
传输丢帧等级调整阈值比较单元,其被配置为将所述当前视频传输队列中堆积的视频码流的长度与预设的传输丢帧等级调整阈值进行比较,;
[0058]
目标传输丢帧等级获取单元,其被配置为当所述堆积的视频码流的长度大于所述传输丢帧等级调整阈值时,根据所述堆积的视频码流的长度获取目标传输丢帧等级;
[0059]
所述当前传输丢帧等级调整模块被进一步配置为执行以下步骤:
[0060]
将所述目标传输丢帧等级与所述视频码流的当前传输丢帧等级进行比较;若所述
目标传输丢帧等级与所述当前传输丢帧等级相同,则不调整所述视频码流的传输丢帧等级;若所述目标传输丢帧等级与所述当前传输丢帧等级不同,则将所述目标传输丢帧等级设置为所述视频码流的当前传输丢帧等级。
[0061]
在上述视频传输系统的一个技术方案中,所述系统还包括传输丢帧等级预先设置模块,所述传输丢帧等级预先设置模块被配置为根据以下步骤预先设置传输丢帧等级:
[0062]
根据视频传输过程中不同的丢弃视频帧的范围以及所述范围对应的丢弃视频帧的数量,设置对应的传输丢帧等级;
[0063]
所述目标传输丢帧等级获取单元包括:
[0064]
丢弃视频数量获取子单元,其被配置为根据所述视频码流的长度,获取所述视频码流需要丢弃的视频帧的数量;
[0065]
目标传输丢帧等级获取子单元,其被配置为根据所述数量,获取目标传输丢帧等级。
[0066]
在第五方面,提供一种控制装置,该控制装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述视频编码方法的技术方案中任一项技术方案所述的视频编码方法以及上述视频传输方法的技术方案中任一项技术方案所述的视频传输方法。
[0067]
在第六方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述视频编码方法的技术方案中任一项技术方案所述的视频编码方法以及上述视频传输方法的技术方案中任一项技术方案所述的视频传输方法。
[0068]
在采用上述技术方案的情况下,本发明能够根据目标编码等级和视频当前编码等级,判断当前编码等级是否需要进行调整,如果需要进行调整,则调整视频的当前编码等级,并根据调整后的视频编码等级对视频进行编码。通过上述配置方式,能够根据获取到的目标编码等级,动态调整视频的当前编码等级,以使视频编码后获得的视频码流与当前传输条件相适应,能够有效解决在视频传输过程中的视频画面卡顿的问题,有效提升视频传输效果,满足视频实时观看的需求,进一步提升的用户的观看体验。
附图说明
[0069]
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。其中:
[0070]
图1是根据本发明的一个实施例的视频编码方法的主要步骤流程示意图;
[0071]
图2是根据本发明实施例的一个实施方式的获取目标编码等级的主要步骤流程示意图;
[0072]
图3是根据本发明的一个实施例的视频传输方法的主要步骤流程示意图;
[0073]
图4是根据本发明实施例的一个实施方式的获取目标传输丢帧等级的主要步骤流程示意图;
[0074]
图5是根据本发明实施例的一个实施方式的视频编码和传输的主要步骤流程示意图;
[0075]
图6是根据本发明实施例的一个实施方式的图5中视频编码步骤的主要步骤流程
示意图;
[0076]
图7是根据本发明实施例的一个实施方式的图5中视频传输步骤的主要步骤流程示意图;
[0077]
图8是根据本发明实施例的一个实施方式的图5中策略控制步骤的主要步骤流程示意图;
[0078]
图9是根据本发明的一个实施例的视频编码系统的主要结构框图;
[0079]
图10是根据本发明的一个实施例的视频传输系统的主要结构框图。
具体实施方式
[0080]
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0081]
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0082]
参阅附图1,图1是根据本发明的一个实施例的视频编码方法的主要步骤流程示意图。如图1所示,本发明实施例中的视频编码方法主要包括下列步骤s101-步骤s103。
[0083]
步骤s101:获取目标编码等级和视频的当前编码等级。
[0084]
在本实施例中,可以获取目标编码等级和视频的当前编码等级。
[0085]
步骤s102:基于目标编码等级判断视频的当前编码等级是否需要调整,若是,则调整视频的当前编码等级。
[0086]
在本实施例中,可以基于步骤s101中获取到的目标编码等级和视频的当前编码等级来判断当前编码等级是否需要调整,若是,则可以调整当前的编码等级。
[0087]
步骤s103:基于调整后的视频的当前编码等级进行视频编码。
[0088]
在本实施例中,可以根据步骤s102调整的视频的当前编码等级,对视频进行编码,以获得视频码流。
[0089]
基于上述步骤s101-步骤s103,本发明能够根据目标编码等级和视频当前编码等级,判断当前编码等级是否需要进行调整,如果需要进行调整,则调整视频的当前编码等级,并根据调整后的视频编码等级对视频进行编码。通过上述配置方式,能够根据获取到的目标编码等级,动态调整视频的当前编码等级,以使视频编码后获得的视频码流与当前传输条件相适应,能够有效解决在视频传输过程中的视频画面卡顿的问题,有效提升视频传输效果,满足视频实时观看的需求,进一步提升的用户的观看体验。
[0090]
下面对步骤s101和s102作进一步地说明。
[0091]
一个实施方式中,参阅附图2,图2是根据本发明实施例的一个实施方式的获取目
标编码等级的主要步骤流程示意图。如图2所示,步骤s101可以进一步包括:
[0092]
步骤s1011:获取当前视频传输队列中堆积的视频码流的长度。
[0093]
在本实施方式中,可以获取当前视频传输队列中堆积的视频码流的长度。
[0094]
步骤s1012:将当前视频传输队列中堆积的视频码流的长度与预设的编码等级调整阈值进行比较。
[0095]
在本实施例中,可以获取当前视频传输队列中堆积的视频码流的长度,并将堆积的视频码流的长度与预设的编码等级调整阈值进行比较。其中,视频码流是指编码器按照预设的编码等级对视频进行编码,获得的编码数据。
[0096]
步骤s1013:当视频码流的长度大于编码等级调整阈值时,获取当前传输的视频码流的传输带宽。
[0097]
在本实施方式中,当视频码流的长度大于编码等级调整阈值时,可以获取当前传输的视频码流的传输带宽。
[0098]
一个实施方式中,可以统计单位时间内传输的视频码流的数据量,根据视频码流的数据量来计算传输视频码流的传输带宽。
[0099]
步骤s1014:根据传输带宽,获取目标编码等级,目标编码等级满足传输带宽。
[0100]
在本实施方式中,可以根据步骤s1013获取到的视频码流的传输带宽,来获取目标编码等级。其中,目标编码等级满足视频码流传输的传输带宽。
[0101]
一个实施方式中,可以将视频传输的视频码率区间划分为多个子区间,为每个子区间预先设置不同的编码等级。其中,每个编码等级中包含不同的编码参数,如视频帧率、视频分辨率等,可以根据视频的编码等级,调整这些参数,以实现对视频码率的调整。视频码率是指视频数据传输时单位时间内传送的数据位数。视频帧率是指每秒钟显示的视频图像的帧数。视频分辨率是指每一个视频图像帧的大小。
[0102]
一个实施方式中,步骤s1014可以进一步包括:
[0103]
步骤s10141:确定传输带宽对应的视频码率的数值落入的视频码率的子区间;
[0104]
步骤s10142:根据子区间对应的编码等级,获取视频的目标编码等级。
[0105]
在本实施方式中,可以根据步骤s1013中获取的视频码流的传输带宽,确定该传输带宽对应的视频码率的数值落入的视频的编码等级对应的视频码率的子区间,并根据该子区间确定对应的视频的目标编码等级。
[0106]
在本发明实施例的一个实施方式中,步骤s102可以进一步包括以下步骤:
[0107]
步骤s1021:将目标编码等级与视频的当前编码等级进行比较;
[0108]
步骤s1022:若目标编码等级与视频的当前编码等级相同,则不调整视频的当前编码等级;
[0109]
步骤s1023:若目标编码等级与视频的当前编码等级不同,则将目标编码等级设置为视频的当前编码等级。
[0110]
在本实施方式中,可以将步骤s1014中获取的目标编码等级与视频的当前编码等级进行比较。如果目标编码等级与视频的当前编码等级相同,则不调整视频的当前编码等级,以避免频繁的调整视频的当前编码等级,导致视频码流中断的情况。如果目标编码等级与视频的当前编码等级不同,则可以将目标编码等级设置为视频的当前编码等级,以使视频编码获得的码流与当前的视频码流的传输带宽相适应,并将新的当前编码等级存储至存
储器中。
[0111]
一个例子,可以根据不同的编码的视频码率,将编码等级设置为四级,每个编码等级中包含视频帧率、视频分辨率以及编码的视频码率等编码参数:
[0112]
编码等级1:等级号1,视频帧率25,视频分辨率1930*1080,编码的视频码率4mbps,视频码率的子区间4-5mbps;
[0113]
编码等级2:等级号2,视频帧率30,视频分辨率1930*1080,编码的视频码率3mbps,视频码率的子区间3-4mbps;
[0114]
编码等级3:等级号3,视频帧率15,视频分辨率1930*1080,编码的视频码率2mbps,视频码率的子区间2-3mbps;
[0115]
编码等级4:等级号4,视频帧率15,视频分辨率1280*720,编码的视频码率1mbps,视频码率的子区间1-2mbps;
[0116]
如1秒钟内传输视频码流的数据量为1.2mbit,那么可以计算获得当前的传输带宽为1.2mbps,该传输带宽对应的视频码率的数值为1.2mbps,根据上述编码等级中的视频码率的子区间,可以确定当前的传输带宽落入的视频码率的子区间为1-2mbps,因此获取的目标编码等级为编码等级4。如果目标编码等级与视频的当前编码等级不同,则可以将视频的当前编码等级设置为编码等级4,并按照视频帧率15,视频分辨率1280*720,编码的视频码率1mbps,进行视频编码。
[0117]
在一个实施方式中,参阅附图5,图5是根据本发明实施例的一个实施方式的视频编码和传输的主要步骤流程示意图。如图5所示,视频编码和传输可以包括以下步骤:
[0118]
步骤s301:视频编码;
[0119]
步骤s302:视频传输;
[0120]
步骤s303:策略控制。
[0121]
在本实施方式中,视频传输方法可以包括视频编码、视频传输和策略控制三个步骤。即,视频根据当前编码等级进行编码后会生成视频码流,视频码流被写入视频传输队列中,进行视频传输,在视频传输过程中,根据视频传输的情况进行策略控制。
[0122]
进一步地,如图6所示,步骤s301可以进一步包括:
[0123]
步骤s3011:获取目标编码等级。
[0124]
在本实施方式中,可以根据上述步骤s101所述的方法获取目标编码等级。
[0125]
步骤s3012:确定编码等级是否需要调整。若是,则跳转至步骤s3013;若否,则跳转至步骤s3014。
[0126]
在本实施方式中,将步骤s3011获取的目标编码等级与当前的编码等级进行比较,若相同,则不需要进行调整,跳转至步骤s3014。若不同,则需要进行调整,跳转至步骤s3013。
[0127]
步骤s3013:设置编码器。
[0128]
在本实施方式中,可以根据目标编码等级中包含的视频的编码参数设置编码器,以使编码器按照目标编码等级对应的编码参数对视频进行编码。
[0129]
步骤s3014:输出视频码流。
[0130]
在本实施方式中,可以将经过编码获得的视频码流输出,写入到视频传输队列中。
[0131]
步骤s3015:判断是否需要停止编码。若是,则结束编码;若否,则跳转至步骤
s3011。
[0132]
在本实施方式中,如果需要停止视频的编码,则可以结束编码,如果不需要停止视频编码,则可以跳转至步骤s3011,继续动态获取目标编码等级。
[0133]
进一步,本发明还提供一种视频传输方法,以传输上述传输视频编码方法实施例生成的视频码流。
[0134]
参阅附图3,图3是根据本发明的一个实施例的视频传输方法的主要步骤流程示意图。如图3所示,本发明实施例中的视频传输方法应用于上述视频编码方法实施例的视频编码方法生成的视频码流,视频传输方法可以包括以下步骤:
[0135]
步骤s201:获取目标传输丢帧等级和视频码流的当前传输丢帧等级。
[0136]
在本实施例中,可以获取目标传输丢帧等级和视频码流的当前传输丢帧等级。
[0137]
步骤s202:基于目标传输丢帧等级判断视频码流的当前传输丢帧等级是否需要调整,若是,则调整视频码流的当前传输丢帧等级。
[0138]
在本实施例中,可以基于步骤s201中获取的目标传输丢帧等级判断是否需要调整视频码流的当前传输丢帧等级,若是,则可以调整视频码流的当前丢帧等级。
[0139]
步骤s203:基于调整后的视频码流的当前传输丢帧等级进行视频传输。
[0140]
在本实施例中,可以基于调整后的视频码流的当前丢帧等级进行视频码流的传输。
[0141]
基于上述步骤s201-步骤s203,本发明能够根据获取到的目标传输丢帧等级判断视频码流的当前传输丢帧等级是否需要调整,若是,则调整视频码流的当前传输丢帧编码等级,并根据调整后的传输丢帧等级进行视频码流的传输。通过上述配置方式,能够实现根据获取到的目标传输丢帧等级,动态调整视频码流的传输丢帧等级,以缓解当前视频传输队列中视频码流堆积的情况,进一步缓解视频传输过程中的视频画面卡顿的问题,提升视频传输效果。
[0142]
下面对步骤s201和步骤s202作进一步地说明。
[0143]
在本发明实施例的一个实施方式中,参阅附图4,图4是根据本发明实施例的一个实施方式的获取目标传输丢帧等级的主要步骤流程示意图。如图4所示,步骤s201可以包括以下步骤:
[0144]
步骤s2011:获取当前视频传输队列中堆积的视频码流的长度。
[0145]
在本实施方式中,可以获取当前视频传输队列中堆积的视频码流的长度。
[0146]
步骤s2012::将当前视频传输队列中堆积的视频码流的长度与预设的传输丢帧等级调整阈值进行比较。
[0147]
本实施方式中,可以将当前视频传输队列中堆积的视频码流的长度与预设的传输丢帧等级调整阈值进行比较。
[0148]
步骤s2013:当堆积的视频码流的长度大于传输丢帧等级调整阈值时,根据堆积的视频码流的长度获取目标传输丢帧等级。
[0149]
在本实施方式中,当堆积的视频码流的长度大于传输丢帧等级调整阈值时,可以根据堆积的视频码流的长度获取目标传输丢帧等级。
[0150]
一个实施方式中,可以根据视频传输过程中不同的丢弃视频帧的范围以及丢弃视频帧的范围对应的视频帧的数量,预先设置对应的传输丢帧等级。
[0151]
一个例子,可以将传输丢帧等级预先设置为四级:
[0152]
传输丢帧等级1:等级号1,丢弃视频帧的范围为gop(group of pictures,画面组)最后1帧,丢弃视频帧的数量为1;
[0153]
传输丢帧等级2:等级号2,丢弃视频帧的范围为gop最后2帧,丢弃视频帧的数量为2;
[0154]
传输丢帧等级3:等级号3,丢弃视频帧的范围为gop最后3帧,丢弃视频帧的数量为3;
[0155]
传输丢帧等级4:等级号4,丢弃视频帧的范围为gop最后4帧,丢弃视频帧的数量为4;
[0156]
在视频码流传输过程中,可以根据视频码流的传输丢帧等级来确定视频码流的丢弃视频帧的范围和数量。例如,当前丢帧等级为等级1,当前gop中包含10个视频帧,这10个视频帧为ippppppppp。那么根据传输丢帧等级,该gop在传输的过程中需要丢掉最后一帧p,传输ipppppppp。
[0157]
在一个实施方式中,步骤s2013可以进一步包括以下步骤:
[0158]
步骤s20131:根据视频码流的长度,获取视频码流需要丢弃的视频帧的数量;
[0159]
步骤s20132:根据数量,获取目标传输丢帧等级。
[0160]
在本实施方式中,可以根据视频传输队列中堆积的视频码流的长度来获取视频码流需要丢弃的视频帧的数量,并根据需要丢弃的视频帧的数量,获取目标传输丢帧等级。具体地,视频传输队列中堆积的视频码流的长度越长,丢弃视频帧的数量越多。
[0161]
在本发明实施例的一个实施方式中,步骤s202可以进一步包括以下步骤:
[0162]
步骤s2021:将目标传输丢帧等级与视频码流的当前传输丢帧等级进行比较;
[0163]
步骤s2022:若目标传输丢帧等级与当前传输丢帧等级相同,则不调整视频码流的传输丢帧等级;
[0164]
步骤s2023:若目标传输丢帧等级与当前传输丢帧等级不同,则将目标传输丢帧等级设置为视频码流的当前传输丢帧等级。
[0165]
在本实施方式中,可以将步骤s2013中获取的目标传输丢帧等级与视频码流的当前传输丢帧等级进行比较。如果目标传输丢帧等级与当前传输丢帧等级相同,则不调整视频码流的当前传输丢帧等级,以避免频繁的调整传输丢帧等级,对视频码流的传输过程造成影响。如果目标传输丢帧等级与当前传输丢帧等级不同,则可以将目标传输丢帧等级设置为视频码流的当前传输丢帧等级。根据当前传输丢帧等级,确定需要丢弃的视频帧的范围,以便在视频码流传输过程中,不传输需要丢弃的视频帧。
[0166]
在一个实施方式中,可以根据视频码流的传输情况调整当前编码等级和当前传输丢帧等级。具体地,可以先判断当前传输队列中堆积的视频码流的长度是否大于预设的传输丢帧等级调整阈值,若是,则可以根据步骤s201-步骤s203所述的方法调整视频码流传输的当前传输丢帧等级。当应用传输丢帧策略不能够解决视频传输卡顿的情况时,则可以进一步判断当前视频传输队列中堆积的视频码流的长度是否大于编码等级调整阈值,若是,则可以根据步骤s101-步骤s103所述的方法调整视频的当前编码等级,以进一步解决视频传输卡顿的问题。
[0167]
一个实施方式中,可以参阅附图7和附图8,图7是根据本发明实施例的一个实施方
式的图5中视频传输步骤的主要步骤流程示意图;图8是根据本发明实施例的一个实施方式的图5中策略控制步骤的主要步骤流程示意图。
[0168]
具体地,如图7所示,步骤s302可以进一步包括:
[0169]
步骤s3021:获取目标传输丢帧等级。
[0170]
在本实施方式中,可以将根据上述步骤s201所述的方法获取目标传输丢帧等级。
[0171]
步骤s3022:判断当前传输丢帧等级是否需要调整。若是,则跳转至步骤s3023;若否,则跳转至步骤s3024。
[0172]
在本实施方式中,可以将步骤s3021获取的调整的传输丢帧等级与当前传输丢帧等级进行比较,若不同,则需要进行传输丢帧等级的调整,跳转至步骤s3023;若相同,则不需要进行调整,跳转至步骤s3024。若传输丢帧等级需要进行调整,则可以将新的传输丢帧等级存储至存储器中。
[0173]
步骤s3023:调整当前传输丢帧等级。
[0174]
在本实施方式中,将步骤s3021中获取的目标传输丢帧等级设置为当前传输丢帧等级。
[0175]
步骤s3024:视频传输。
[0176]
在本实施方式中,可以将视频传输队列中的视频码流取出,根据当前传输丢帧等级对应的传输策略(丢弃视频帧的数量和丢弃视频帧的范围),进行视频的传输。如视频传输队列中取出的视频帧根据传输策略是需要进行丢弃的视频帧,则该视频帧不进行传输。
[0177]
步骤s3025:判断是否停止视频传输。若是,则结束视频传输;若否,则跳转至步骤s3026。
[0178]
在本实施方式中,若视频无需传输,则可以结束视频传输。如在视频传输过程中,人机交互将视频传输关闭或者收到关闭视频的命令时,可以结束视频传输。若视频需要继续传输,则可以跳转至步骤s3026。
[0179]
步骤s3026:统计传输队列长度。
[0180]
在本实施方式中,可以统计当前视频传输队列中堆积的视频码流的长度。
[0181]
步骤s3027:统计传输带宽。
[0182]
在本实施方式中,可以统计当前视频传输队列中传输视频码流的视频传输带宽,然后跳转至步骤s3021,根据传输队列长度和传输带宽,继续动态获取目标传输丢帧等级。
[0183]
进一步,如图8所示,步骤s303可以进一步包括:
[0184]
步骤s3031:获取传输带宽。
[0185]
在本实施方式中,步骤s3031与前述步骤s3027所述的方法类似,在此不再赘述。
[0186]
步骤s3032:获取传输队列长度。
[0187]
在本实施方式中,步骤s3032与前述步骤s3026所述的方法类似,在此不再赘述。
[0188]
步骤s3033:判断当前编码等级是否需要调整;若是,则跳转至步骤s3034;若否,则跳转至步骤s3035。
[0189]
在本实施方式中,步骤s3033与前述步骤s3012所述的方法类似,在此不再赘述。
[0190]
步骤s3034:调整当前编码等级。
[0191]
在本实施方式中,步骤s3034与前述步骤s3013所述的方法类似,在此不再赘述。
[0192]
步骤s3035:判断是否调整当前传输丢帧等级;若是,则跳转至步骤s3036;若否,则
跳转至步骤s3031。
[0193]
在本实施方式中,步骤s3035与前述步骤s3022所述的方法类似,在此不再赘述。
[0194]
步骤s3036:调整当前传输丢帧等级。
[0195]
在本实施方式中,步骤s3036与前述步骤s3023所述的方法类似,在此不再赘述。
[0196]
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0197]
进一步,本发明还提供了一种视频编码系统。
[0198]
参阅附图9,图9是根据本发明的一个实施例的视频编码系统的主要结构框图。如图7所示,本发明实施例中的视频编码系统可以包括编码等级获取模块、当前编码等级调整模块和视频编码模块。在本实施例中,编码等级获取模块可以被配置为获取目标编码等级和视频的当前编码等级。当前编码等级调整模块可以被配置为基于目标编码等级判断视频的当前编码等级是否需要调整,若是,则调整视频的当前编码等级。视频编码模块可以被配置为基于调整后的视频的当前编码等级进行视频编码。
[0199]
在一个实施方式中,编码等级获取模块可以包括视频码流长度获取单元、编码等级调整阈值比较单元、视频码流传输带宽获取单元和目标编码等级获取单元。在本实施方式中,视频码流长度获取单元可以被配置为获取当前视频传输队列中堆积的视频码流的长度。编码等级调整阈值比较单元可以被配置为将当前视频传输队列中堆积的视频码流的长度与预设的编码等级调整阈值进行比较。视频码流传输带宽获取单元可以被配置为当视频码流的长度大于编码等级调整阈值时,获取当前传输的视频码流的传输带宽。目标编码等级获取单元可以被配置为根据传输带宽,获取目标编码等级,目标编码等级为满足传输带宽的编码等级。当前编码等级调整模块可以被进一步配置为执行以下步骤:将目标编码等级与视频的当前编码等级进行比较;若目标编码等级与视频的当前编码等级相同,则不调整视频的当前编码等级;若目标编码等级与视频的当前编码等级不同,则将目标编码等级设置为视频的当前编码等级。
[0200]
在一个实施方式中,视频编码系统还可以包括预先设置编码等级模块。在本实施方式中,预先设置编码等级模块可以被配置为根据以下步骤设置编码等级:将视频传输的视频码率划分为多个子区间,为每个子区间设置不同的编码等级;其中,每个编码等级中包含不同的编码参数,视频编码参数可以至少包括视频码率。目标编码等级获取单元可以包括视频码流子区间确定子单元和目标编码等级获取子单元。视频码流子区间确定子单元可以被配置为确定传输带宽对应的视频码率的数值落入的视频码率的子区间。目标编码等级获取子单元可以被配置为根据子区间对应的编码等级,获取视频的目标编码等级。
[0201]
上述视频编码系统以用于执行图1所示的视频编码方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,视频编码系统的具体工作过程及有关说明,可以参考视频编码方法的实施例所描述的内容,此处不再赘述。
[0202]
进一步,本发明还提供了一种视频传输系统。
[0203]
参阅附图10,图10是根据本发明的一个实施例的视频传输系统的主要结构框图。
如图10所示,本发明实施例中的视频传输系统可以应用于上述视频编码系统实施例中所述视频编码系统生成的视频码流,视频传输系统可以包括传输丢帧等级获取模块、当前传输丢帧等级调整模块和视频传输模块。在本实施例中,传输丢帧等级获取模块可以被配置为获取目标传输丢帧等级和视频码流的当前传输丢帧等级。当前传输丢帧等级调整模块可以被配置为基于目标传输丢帧等级判断视频码流的当前传输丢帧等级是否需要调整,若是,则调整视频码流的当前传输丢帧等级。视频传输模块可以被配置为基于调整后的视频码流的当前传输丢帧等级进行视频传输。
[0204]
在一个实施方式中,传输丢帧等级获取模块可以包括视频码流长度获取单元、传输丢帧等级调整阈值比较单元和目标传输丢帧等级获取单元。在本实施方式中,视频码流长度获取单元可以被配置为获取当前视频传输队列中堆积的视频码流的长度。传输丢帧等级调整阈值比较单元可以被配置为将当前视频传输队列中堆积的视频码流的长度与预设的传输丢帧等级调整阈值进行比较。目标传输丢帧等级获取单元可以被配置为当堆积的视频码流的长度大于传输丢帧等级调整阈值时,根据堆积的视频码流的长度获取目标传输丢帧等级。当前传输丢帧等级调整模块可以被进一步配置为执行以下步骤:将目标传输丢帧等级与视频码流的当前传输丢帧等级进行比较;若目标传输丢帧等级与当前传输丢帧等级相同,则不调整视频码流的传输丢帧等级;若目标传输丢帧等级与当前传输丢帧等级不同,则将目标传输丢帧等级设置为视频码流的当前传输丢帧等级。
[0205]
在一个实施方式中,视频传输系统还可以包括传输丢帧等级预先设置模块。在本实施方式中,传输丢帧等级预先设置模块可以被配置为根据以下步骤预先设置传输丢帧等级:根据视频传输过程中不同的丢弃视频帧的范围以及范围对应的丢弃视频帧的数量,设置对应的传输丢帧等级。目标传输丢帧等级获取单元可以包括丢弃视频数量获取子单元和目标传输丢帧等级获取子单元。丢弃视频数量获取子单元可以被配置为根据视频码流的长度,获取视频码流需要丢弃的视频帧的数量。目标传输丢帧等级获取子单元可以被配置为根据数量,获取目标传输丢帧等级。
[0206]
上述视频传输系统以用于执行图2所示的视频传输方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,视频传输系统的具体工作过程及有关说明,可以参考视频传输方法的实施例所描述的内容,此处不再赘述。
[0207]
本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0208]
进一步,本发明还提供了一种控制装置。在根据本发明的一个控制装置实施例中,
控制装置包括处理器和存储装置,存储装置可以被配置成存储执行上述方法实施例的视频编码方法和视频传输方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的视频编码方法和视频传输方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该控制装置可以是包括各种电子设备形成的控制装置设备。
[0209]
进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的视频编码方法和视频传输方法的程序,该程序可以由处理器加载并运行以实现上述视频编码方法和视频传输方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
[0210]
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
[0211]
本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
[0212]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献