CN113473125A - 码率控制方法、设备、存储介质及产品 - Google Patents
码率控制方法、设备、存储介质及产品 Download PDFInfo
- Publication number
- CN113473125A CN113473125A CN202110717116.7A CN202110717116A CN113473125A CN 113473125 A CN113473125 A CN 113473125A CN 202110717116 A CN202110717116 A CN 202110717116A CN 113473125 A CN113473125 A CN 113473125A
- Authority
- CN
- China
- Prior art keywords
- rate control
- bit number
- preset
- network delay
- period
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 61
- 238000013139 quantization Methods 0.000 claims abstract description 14
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001934 delay Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 101100099846 Arabidopsis thaliana TMN8 gene Proteins 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种码率控制方法,包括以下步骤:获取画面组GOP中当前帧的待分配比特数;获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数;基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数;基于所述目标比特数,确定对所述当前帧进行编码的量化参数。本发明还公开了一种码率控制设备、存储介质及产品。本发明通过根据当前时刻之前的历史传输网络延迟计算统计计数,根据统计计数得到当前帧编码的量化参数,能够在网络时延较大时有效降低码率,进而降低视频图像传输时的网络时延,保证了图像传输的低时延特性。
Description
技术领域
本发明涉及视频图像处理技术领域,尤其涉及一种码率控制方法、设备。
背景技术
高效的视频编解码技术是实现多媒体数据存储与传输的关键,而先进的视频编解码技术通常以标准的形式存在。目前,典型的视频压缩标准有:国际标准化组织(ISO)下设的运动图像专家组(Moving Picture Expert Group,简称MPEG)推出的MPEG系列国际标准、国际电信联盟(ITU)提出的H.26x系列视频压缩标准、以及ISO和ITU建立的联合视频工作组(Joint Video Team,简称JVT)正在制定的JVT视频编码标准等。JVT标准采用的是一种新型的编码技术,它比现存的任何一种编码标准的压缩效率都要高的多。JVT标准在ISO中的正式名称是MPEG-4标准的第十部分,在ITU中的正式名称是H.264标准。
码率控制是实现恒定码率地视频编码的关键技术,如果没有码率控制,任何视频编码标准的应用都几乎是不可能的。举例来说:在信道传输过程中,如果没有码率控制就只能得到码率不均匀的流媒体,进而产生两方面的问题:一方面,当码率超过信道的传输能力时会造成传输阻塞,从而引发“数字悬崖”;另一方面,当码率低于信道传输速率时会造成了信道带宽的浪费,进而影响重构视频的质量。基于上述的原因,任何视频编码标准在制定过程中都会给出一套适用于其本身的码率控制方案,例如:MPEG-2标准中的测试模型5(TestModel 5,简称TM5)、H.263标准中的测试模型8(Test Model Near 8,简称TMN8)等。
但是,采用现有的码率控制方案,在网络传输情况较差的情况下,传输过程的并不能有效降低码率数据量,造成网络拥塞的加剧以及网络时延增大。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种码率控制方法、设备、存储介质及产品,旨在解决采用现有的码率控制方案进行数据传输时导致的网络时延较高的技术问题。
为实现上述目的,本发明提供一种码率控制方法,所述码率控制方法包括以下步骤:
获取画面组GOP中当前帧的待分配比特数;
获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,其中,所述预设时长大于预设周期;
基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数;
基于所述目标比特数,确定对所述当前帧进行编码的量化参数。
进一步地,一实施例中,所述基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数的步骤包括:
基于预设码率分配因子以及所述统计计数,确定比特数调整因子,其中,所述预设码率分配因子大于1,所述比特数调整因子小于1;
基于所述待分配比特数以及所述比特数调整因子,确定所述目标比特数。
进一步地,一实施例中,所述基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数的步骤包括:
基于所述预设周期对所述预设时长进行分割,以得到多个分割周期,基于历史传输网络延迟,分别获取各个分割周期对应的网络延迟;
在各个分割周期中,确定是否存在网络延迟小于预设网络延迟的目标分割周期;
若不存在,则将分割周期的个数作为所述统计计数。
进一步地,一实施例中,所述在各个分割周期中,确定是否存在网络延迟小于预设网络延迟的目标分割周期的步骤之后,还包括:
若存在,则确定目标分割周期中开始时刻与当前时刻的差值最小的最近分割周期,并将各个分割周期中所述最近分割周期之后的分割周期个数作为所述统计计数。
进一步地,一实施例中,所述获取当前帧的待分配比特数的包括:
获取所述GOP中未编码帧的第一剩余比特数,以及未编码帧的帧数;
基于所述第一剩余比特数以及所述帧数,确定所述待分配比特数。
进一步地,一实施例中,所述获取所述GOP中未编码帧的第一剩余比特数的步骤包括:
在所述GOP的已编码帧的个数小于预设阈值时,基于所述GOP中帧的个数、所述GOP的帧率、所述GOP中的各个帧编码前的可用信道带宽、所述发送端缓冲区的缓冲区大小以及前一GOP中最后一帧编码结束后所述缓冲区的实际占有率,确定所述第一剩余比特数;
在所述已编码帧的个数大于或等于预设阈值时,基于所述GOP中当前帧对应的前一帧编码时的第二剩余比特数以及前一帧的实际编码比特数,确定所述第一剩余比特数。
进一步地,一实施例中,所述获取GOP中当前帧的待分配比特数的步骤包括:
获取当前时刻内发送端与接收端之间的当前传输网络延迟;
在所述当前传输网络延迟大于预设网络延迟时,获取GOP中当前帧的待分配比特数。
此外,为实现上述目的,本发明还提供一种码率控制装置,所述码率控制装置包括:
第一获取模块,用于获取画面组GOP中当前帧的待分配比特数;
第二获取模块,用于获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,其中,所述预设时长大于预设周期;
第一确定模块,用于基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数;
第二确定模块,用于基于所述目标比特数,确定对所述当前帧进行编码的量化参数。
此外,为实现上述目的,本发明还提供一种码率控制设备,所述码率控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的码率控制程序,所述码率控制程序被所述处理器执行时实现前述的码率控制方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有码率控制程序,所述码率控制程序被处理器执行时实现前述的码率控制方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述的码率控制方法的步骤。
本发明通过获取GOP中当前帧的待分配比特数;接着获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,而后基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数,然后基于所述目标比特数,确定对所述当前帧进行编码的量化参数,通过根据当前时刻之前的历史传输网络延迟计算统计计数,根据统计计数得到当前帧编码的量化参数,能够在网络时延较大时有效降低码率,进而降低视频图像传输时的网络时延,保证了图像传输的低时延特性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中码率控制设备的结构示意图;
图2为本发明码率控制方法第一实施例的流程示意图;
图3为本发明码率控制装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中码率控制设备的结构示意图。
本发明实施例码率控制设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该码率控制设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,码率控制设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。当然,码率控制设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对码率控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及码率控制程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的码率控制程序。
在本实施例中,码率控制设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的码率控制程序,其中,处理器1001调用存储器1005中存储的码率控制程序时,并执行以下各个实施例中码率控制方法的步骤。
本发明还提供一种码率控制方法,参照图2,图2为本发明码率控制方法第一实施例的流程示意图。
本实施例中,该码率控制方法包括以下步骤:
步骤S101,获取画面组GOP中当前帧的待分配比特数;
本实施例中,当前帧是指GOP(Group of Pictures,画面组)中当前需要进行发送的画面帧,待分配比特数为正常情况下该当前帧能够分配的比特数,具体地,根据该GOP中剩余可进行编码的比特数以及剩余需要编码的帧数计算得到该待分配比特数。
步骤S102,获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,其中,所述预设时长大于预设周期;
需要说明的是,可预先合理设置设置预设时长以及预设周期,该预设时长大于预设周期,一般情况下,预设时长为预设周期的整数倍,该整数大于2,具体地,该预设周期可设置为100ms~2s,例如预设周期为200ms,预设周期为1秒、5秒、10秒、1分钟等。
本实施例中,在获取到待分配比特数之后,获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,具体地,在发送端与接收端之间的所有传输网络延迟中,根据当前时刻以及预设时长对应的时刻(当前时刻之前预设时长的时刻)获取该历史传输网络延迟,而后基于历史传输网络延迟以及预设周期,确定延迟周期的统计计数。
具体地,延迟周期是指该周期对应的网络延迟大于或等于预设网络延迟,在计算统计计数时,先按照预设周期对预设时长进行分割,然后在分割后的周期中查找网络延迟小于预设网络延迟的非延迟周期,确定最近的非延迟周期,并统计非延迟周期与当前时刻之间的周期数量作为统计计数。
步骤S103,基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数;
本实施例中,在获取到统计计数之后,根据待分配比特数以及统计计数,确定当前帧对应的目标比特数,具体地,先获取预设的预设码率分配因子,并根据预设码率分配因子以及统计计数确定比特数调整因子,该预设码率分配因子大于1,得到的比特数调整因子小于1,而后,根据比特数调整因子和待分配比特数得到目标比特数。
步骤S104,基于所述目标比特数,确定对所述当前帧进行编码的量化参数。
本实施例中,在获取到目标比特数之后,根据目标比特数,确定对当前帧进行编码的量化参数,具体地,可先基于目标比特数,分配当前帧中未编码基本单元的比特数,以获得分配后的当前帧;而后,基于分配后的当前帧以及二元率失真模型,确定量化参数,进而根据量化参数实现当前帧基本单元中每个宏块的率失真优化,以实现对当前帧的编码。
本实施例提出的码率控制方法,通过获取GOP中当前帧的待分配比特数;接着获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,而后基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数,然后基于所述目标比特数,确定对所述当前帧进行编码的量化参数,通过根据当前时刻之前的历史传输网络延迟计算统计计数,根据统计计数得到当前帧编码的量化参数,能够在网络时延较大时有效降低码率,进而降低视频图像传输时的网络时延,保证了图像传输的低时延特性。
基于第一实施例,提出本发明码率控制方法的第二实施例,在本实施例中,步骤S103包括:
步骤S201,基于预设码率分配因子以及所述统计计数,确定比特数调整因子,其中,所述预设码率分配因子大于1,所述比特数调整因子小于1;
步骤S202,基于所述待分配比特数以及所述比特数调整因子,确定所述目标比特数。
本实施例中,在获取到统计计数之后,获取预设的预设码率分配因子,并根据预设码率分配因子以及统计计数确定比特数调整因子,例如,比特数调整因子的公式可以为:
其中,ratio为比特数调整因子,StatisticsSum为统计计数、distributionFactor为码率分配因子。
在预设码率分配因子大于1时,得到的比特数调整因子小于1。
而后,基于待分配比特数targetBit以及ratio,确定目标比特数realBit,具体地,realBit=targetBit*ratio,进而得到的目标比特数小于待分配比特数,并且,在网络延迟越大网络拥塞越严重时,统计计数越大,目标比特数越小,进而在网络延时时能够通过降低码率有效降低视频图像传输时的网络时延。
本实施例提出的码率控制方法,通过基于预设码率分配因子以及所述统计计数,确定比特数调整因子,其中,所述预设码率分配因子大于1,所述比特数调整因子小于1;接着基于所述待分配比特数以及所述比特数调整因子,确定所述目标比特数,能够根据待分配比特数以及统计计数准确得到目标比特数,以在网络时延较大有效降低码率,进而降低视频图像传输时的网络时延。
基于第一实施例,提出本发明码率控制方法的第三实施例,在本实施例中,步骤S102包括:
步骤S301,基于所述预设周期对所述预设时长进行分割,以得到多个分割周期,基于历史传输网络延迟,分别获取各个分割周期对应的网络延迟;
步骤S302,在各个分割周期中,确定是否存在网络延迟小于预设网络延迟的目标分割周期;
步骤S303,若不存在,则将分割周期的个数作为所述统计计数;
步骤S304,若存在,则确定目标分割周期中开始时刻与当前时刻的差值最小的最近分割周期,并将各个分割周期中所述最近分割周期之后的分割周期个数作为所述统计计数。
本实施例中,先按照预设周期对预设时长进行分割,即按照时间先后的顺序对预设时长进行分割,得到多个分割周期,并在历史传输网络延迟中分别获取各个分割周期对应的网络延迟,具体地,若存在对应多个传输网络延迟的分割周期,则可将各个传输网络延迟的均值作为该分个周期的网络延迟,或者将各个传输网络延迟中最大的延迟作为该分个周期的网络延迟。
然后,基于网络延迟,确定各个分割周期中是否存在网络延迟小于预设网络延迟的目标分割周期,以在分割后的周期中查找网络延迟小于预设网络延迟的非延迟周期,其中,该预设网络延迟可进行合理设置,例如该预设网络延迟的范围可设置为50ms~500ms。
而后,若存在,则确定目标分割周期中开始时刻与当前时刻的差值最小的最近分割周期,得到最近的非延迟周期,并将各个分割周期中最近分割周期之后的分割周期个数作为所述统计计数,也就是说,统计非延迟周期与当前时刻之间的周期数量作为统计计数。当然,若不存在,则将分割周期的个数作为所述统计计数。
本实施例提出的码率控制方法,通过基于所述预设周期对所述预设时长进行分割,以得到多个分割周期,基于历史传输网络延迟,分别获取各个分割周期对应的网络延迟;接着在各个分割周期中,确定是否存在网络延迟小于预设网络延迟的目标分割周期;而后,若不存在,则将分割周期的个数作为所述统计计数;若存在,则确定目标分割周期中开始时刻与当前时刻的差值最小的最近分割周期,并将各个分割周期中所述最近分割周期之后的分割周期个数作为所述统计计数,能够根据历史传输网络延迟准确得到统计计数,便于后续根据待分配比特数以及统计计数准确得到目标比特数,以在网络时延较大有效降低码率,进而降低视频图像传输时的网络时延。
基于第一实施例,提出本发明码率控制方法的第四实施例,在本实施例中,步骤S101包括:
步骤S401,获取所述GOP中未编码帧的第一剩余比特数,以及未编码帧的帧数;
步骤S402,基于所述第一剩余比特数以及所述帧数,确定所述待分配比特数。
本实施例中,先获取该GOP中未编码帧的第一剩余比特数以及未编码帧的帧数,该第一剩余比特数为正常情况下对未编码帧进行编码所需要的比特数,而后基于第一剩余比特数以及帧数,确定待分配比特数,具体地,该待分配比特数targetBit=Tr(ni,j)/Nr,其中,Tr(ni,j)为第一剩余比特数其表示第i个GOP层编码至第j帧时剩余的总比特数,Nr为帧数。
进一步地,一实施例中,该步骤S401包括:
步骤a,在所述GOP的已编码帧的个数小于预设阈值时,基于所述GOP中帧的个数、所述GOP的帧率、所述GOP中的各个帧编码前的可用信道带宽、所述发送端缓冲区的缓冲区大小以及前一GOP中最后一帧编码结束后所述缓冲区的实际占有率,确定所述第一剩余比特数;
步骤b,在所述已编码帧的个数大于或等于预设阈值时,基于所述GOP中当前帧对应的前一帧编码时的第二剩余比特数以及前一帧的实际编码比特数,确定所述第一剩余比特数。
具体地,该第一剩余比特数的公式为:
其中,Tr(ni,j)为第一剩余比特数其表示第i个GOP层编码至第j帧时剩余的总比特数,Tr(ni,j-1)为第二剩余比特数其表示第i个GOP层编码至第j-1帧时剩余的总比特数,A(ni,j-1)为前一帧的实际编码比特数,Ngop为该GOP(第i个GOP)中帧的个数,Fr为GOP的帧率,u(ni,1)为GOP中的各个帧编码前的可用信道带宽,Bs为发送端缓冲区的缓冲区大小,Bc(ni-1,Ngop)为前一GOP中最后一帧编码结束后所述缓冲区的实际占有率。
本实施例提出的码率控制方法,通过获取所述GOP中未编码帧的第一剩余比特数,以及未编码帧的帧数,接着基于所述第一剩余比特数以及所述帧数,确定所述待分配比特数,能够通过帧数以及第一剩余比特数准确得到待分配比特数,进而后续根据待分配比特数以及统计计数准确得到目标比特数,以在网络时延较大有效降低码率,进而降低视频图像传输时的网络时延。
基于第一实施例,提出本发明码率控制方法的第五实施例,在本实施例中,步骤S101包括:
步骤S101,获取当前时刻内发送端与接收端之间的当前传输网络延迟;
步骤S102,在所述当前传输网络延迟大于预设网络延迟时,获取GOP中当前帧的待分配比特数。
本实施例中,可以实时获得但是获取当前传输网络延迟,可通过RTCP协议计算当前网络传输时延roundTripTime,具体地,发送端构造和发送网络探测包到接收端b,携带发送时间戳begin_ntp_time;接收端接收到最新的网络探测包之后,记录当前时间戳last_recv_ntp_time,而后接收端构造网络探测包回复包,并设置探测包回复包时间戳processTime=当前时间戳-last_recv_ntp_time;发送端在接收到的网络探测包回复包之后,记录回复包到达时间cur_ntp_time,并根据cur_ntp_time计算roundTripTime,具体公式为roundTripTime=cur_ntp_time-begin_ntp_time-processTime。
在获取到当前传输网络延迟之后,判断该当前传输网络延迟算法大于预设网络延迟,在所述当前传输网络延迟大于预设网络延迟时,获取GOP中当前帧的待分配比特数。容易理解,若当前传输网络延迟小于或等于预设网络延迟,则判定当前网络延迟小,无需进行后续的处理,而采用之前的帧编码的码率编码当前帧,以确保当前帧的图像质量。
本实施例提出的码率控制方法,通过获取当前时刻内发送端与接收端之间的当前传输网络延迟,接着在所述当前传输网络延迟大于预设网络延迟时,获取GOP中当前帧的待分配比特数,通过在网络延时较高时,对当前帧进行降低码率处理,使得到的码率更加的适应网络从而降低网络时延。
本发明还提供一种码率控制装置,参照图3,所述码率控制装置包括:
第一获取模块10,用于获取画面组GOP中当前帧的待分配比特数;
第二获取模块20,用于获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,其中,所述预设时长大于预设周期;
第一确定模块30,用于基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数;
第二确定模块40,用于基于所述目标比特数,确定对所述当前帧进行编码的量化参数。
上述各程序单元所执行的方法可参照本发明码率控制方法各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有码率控制程序,所述码率控制程序被处理器执行时实现如上所述的码率控制方法的步骤。
其中,在所述处理器上运行的码率控制程序被执行时所实现的方法可参照本发明码率控制方法各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机程序产品,该计算机程序产品上包括码率控制程序,所述码率控制程序被处理器执行时实现如上所述的码率控制方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种码率控制方法,其特征在于,所述码率控制方法包括以下步骤:
获取画面组GOP中当前帧的待分配比特数;
获取当前时刻之前预设时长内发送端与接收端之间的历史传输网络延迟,基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数,其中,所述预设时长大于预设周期;
基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数;
基于所述目标比特数,确定对所述当前帧进行编码的量化参数。
2.如权利要求1所述的码率控制方法,其特征在于,所述基于所述待分配比特数以及所述统计计数,确定所述当前帧对应的目标比特数的步骤包括:
基于预设码率分配因子以及所述统计计数,确定比特数调整因子,其中,所述预设码率分配因子大于1,所述比特数调整因子小于1;
基于所述待分配比特数以及所述比特数调整因子,确定所述目标比特数。
3.如权利要求1所述的码率控制方法,其特征在于,所述基于所述历史传输网络延迟以及预设周期,确定延迟周期的统计计数的步骤包括:
基于所述预设周期对所述预设时长进行分割,以得到多个分割周期,基于历史传输网络延迟,分别获取各个分割周期对应的网络延迟;
在各个分割周期中,确定是否存在网络延迟小于预设网络延迟的目标分割周期;
若不存在,则将分割周期的个数作为所述统计计数。
4.如权利要求3所述的码率控制方法,其特征在于,所述在各个分割周期中,确定是否存在网络延迟小于预设网络延迟的目标分割周期的步骤之后,还包括:
若存在,则确定目标分割周期中开始时刻与当前时刻的差值最小的最近分割周期,并将各个分割周期中所述最近分割周期之后的分割周期个数作为所述统计计数。
5.如权利要求1所述的码率控制方法,其特征在于,所述获取当前帧的待分配比特数的包括:
获取所述GOP中未编码帧的第一剩余比特数,以及未编码帧的帧数;
基于所述第一剩余比特数以及所述帧数,确定所述待分配比特数。
6.如权利要求5所述的码率控制方法,其特征在于,所述获取所述GOP中未编码帧的第一剩余比特数的步骤包括:
在所述GOP的已编码帧的个数小于预设阈值时,基于所述GOP中帧的个数、所述GOP的帧率、所述GOP中的各个帧编码前的可用信道带宽、所述发送端缓冲区的缓冲区大小以及前一GOP中最后一帧编码结束后所述缓冲区的实际占有率,确定所述第一剩余比特数;
在所述已编码帧的个数大于或等于预设阈值时,基于所述GOP中当前帧对应的前一帧编码时的第二剩余比特数以及前一帧的实际编码比特数,确定所述第一剩余比特数。
7.如权利要求1至6任一项所述的码率控制方法,其特征在于,所述获取GOP中当前帧的待分配比特数的步骤包括:
获取当前时刻内发送端与接收端之间的当前传输网络延迟;
在所述当前传输网络延迟大于预设网络延迟时,获取GOP中当前帧的待分配比特数。
8.一种码率控制设备,其特征在于,所述码率控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的码率控制程序,所述码率控制程序被所述处理器执行时实现如权利要求1至7中任一项所述的码率控制方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有码率控制程序,所述码率控制程序被处理器执行时实现如权利要求1至6中任一项所述的码率控制方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的码率控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110717116.7A CN113473125B (zh) | 2021-06-25 | 2021-06-25 | 码率控制方法、设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110717116.7A CN113473125B (zh) | 2021-06-25 | 2021-06-25 | 码率控制方法、设备、存储介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113473125A true CN113473125A (zh) | 2021-10-01 |
CN113473125B CN113473125B (zh) | 2023-08-15 |
Family
ID=77873238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110717116.7A Active CN113473125B (zh) | 2021-06-25 | 2021-06-25 | 码率控制方法、设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113473125B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660488A (zh) * | 2021-10-18 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 对多媒体数据进行流控及流控模型训练方法、以及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US6002802A (en) * | 1995-10-27 | 1999-12-14 | Kabushiki Kaisha Toshiba | Video encoding and decoding apparatus |
US20120281748A1 (en) * | 2011-05-02 | 2012-11-08 | Futurewei Technologies, Inc. | Rate Control for Cloud Transcoding |
CN103618906A (zh) * | 2013-12-09 | 2014-03-05 | 南京信息工程大学 | 一种基于主观视频质量的h.264码率控制方法 |
CN103826121A (zh) * | 2013-12-20 | 2014-05-28 | 电子科技大学 | 低延迟视频编码基于场景切换检测的码率控制方法 |
US20140314145A1 (en) * | 2012-01-11 | 2014-10-23 | Hitachi Maxell, Ltd. | Method of encoding picture and picture encoding device |
CN106331704A (zh) * | 2015-07-07 | 2017-01-11 | 杭州海康威视数字技术股份有限公司 | 一种视频码率控制方法及视频编码装置 |
CN108235016A (zh) * | 2016-12-21 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 一种码率控制方法及装置 |
CN109862359A (zh) * | 2018-12-29 | 2019-06-07 | 北京数码视讯软件技术发展有限公司 | 基于分层b帧的码率控制方法、装置和电子设备 |
-
2021
- 2021-06-25 CN CN202110717116.7A patent/CN113473125B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US6002802A (en) * | 1995-10-27 | 1999-12-14 | Kabushiki Kaisha Toshiba | Video encoding and decoding apparatus |
US20120281748A1 (en) * | 2011-05-02 | 2012-11-08 | Futurewei Technologies, Inc. | Rate Control for Cloud Transcoding |
US20140314145A1 (en) * | 2012-01-11 | 2014-10-23 | Hitachi Maxell, Ltd. | Method of encoding picture and picture encoding device |
CN103618906A (zh) * | 2013-12-09 | 2014-03-05 | 南京信息工程大学 | 一种基于主观视频质量的h.264码率控制方法 |
CN103826121A (zh) * | 2013-12-20 | 2014-05-28 | 电子科技大学 | 低延迟视频编码基于场景切换检测的码率控制方法 |
CN106331704A (zh) * | 2015-07-07 | 2017-01-11 | 杭州海康威视数字技术股份有限公司 | 一种视频码率控制方法及视频编码装置 |
US20180192049A1 (en) * | 2015-07-07 | 2018-07-05 | Hangzhou Hikvision Digital Technology Co., Ltd | Video code rate control method and video encoding apparatus |
CN108235016A (zh) * | 2016-12-21 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 一种码率控制方法及装置 |
CN109862359A (zh) * | 2018-12-29 | 2019-06-07 | 北京数码视讯软件技术发展有限公司 | 基于分层b帧的码率控制方法、装置和电子设备 |
Non-Patent Citations (3)
Title |
---|
ZHENHUA XU; GANGYI JIANG; MEI YU; CHAO HUANG: "A novel rate control method for AVS standard", 2008 11TH IEEE INTERNATIONAL CONFERENCE ON COMMUNICATION TECHNOLOGY * |
宋利;刘孝勇;武国庆;朱辰;黄琰: "低延迟视频编码技术" * |
蒋妮: "视频编码标准帧间预测、码率控制及率失真优化技术研究", 中国优秀硕士论文电子期刊 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113660488A (zh) * | 2021-10-18 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 对多媒体数据进行流控及流控模型训练方法、以及装置 |
CN113660488B (zh) * | 2021-10-18 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 对多媒体数据进行流控及流控模型训练方法、以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113473125B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10756997B2 (en) | Bandwidth adjustment for real-time video transmission | |
CN106851281B (zh) | 实时视频传输的初始带宽估计 | |
US8295348B2 (en) | Method for controlling moving picture encoding using channel information of wireless networks | |
US10516892B2 (en) | Initial bandwidth estimation for real-time video transmission | |
CN110784718B (zh) | 视频数据编码方法、装置、设备和存储介质 | |
US20170094294A1 (en) | Video encoding and decoding with back channel message management | |
EP2888845B1 (en) | Device and method for adaptive rate multimedia communications on a wireless network | |
KR101693564B1 (ko) | 미디어 품질 평가 방법 및 장치 | |
US10506257B2 (en) | Method and system of video processing with back channel message management | |
KR101667970B1 (ko) | 서버 장치, 단말, 씬 클라이언트 시스템, 화면 송신 방법 및 프로그램 | |
US9942553B2 (en) | Communication system, method and program | |
US20170094296A1 (en) | Bandwidth Adjustment For Real-time Video Transmission | |
CN111193927B (zh) | 编码数据处理方法、装置、计算机设备和存储介质 | |
US20130089107A1 (en) | Method and Apparatus for Multimedia Queue Management | |
CN110418134B (zh) | 基于视频质量的视频编码方法、装置及电子设备 | |
CN113473125B (zh) | 码率控制方法、设备、存储介质及产品 | |
US20140341279A1 (en) | Frame rate control method, frame rate control apparatus, and frame rate control program | |
EP2888877B1 (en) | Method and apparatus for estimating content complexity for video quality assessment | |
CN101296166B (zh) | 基于索引的多媒体数据的测量方法 | |
CN112055174B (zh) | 一种视频传输方法、装置及计算机可读存储介质 | |
JP4309703B2 (ja) | 符号化誤差推定装置 | |
TWI528771B (zh) | Communication system, servo device, servo device control method and program | |
US20030227971A1 (en) | Method and apparatus for video coding | |
CN104885452A (zh) | 用于估计视频质量评估的内容复杂度的方法和装置 |
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 |