CN113038136B - 一种视频自适应调整方法和装置 - Google Patents
一种视频自适应调整方法和装置 Download PDFInfo
- Publication number
- CN113038136B CN113038136B CN201911354380.8A CN201911354380A CN113038136B CN 113038136 B CN113038136 B CN 113038136B CN 201911354380 A CN201911354380 A CN 201911354380A CN 113038136 B CN113038136 B CN 113038136B
- Authority
- CN
- China
- Prior art keywords
- video data
- data stream
- receiving end
- updated
- code rate
- 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
Links
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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施方式提出一种视频自适应调整方法和装置。摄像单元基于预定分辨率采集原始视频,编码器将原始视频转换为对应于多个分辨率等级的多个视频数据流;从多个视频数据流中确定当前视频数据流,基于预定码率将当前视频数据流发送到接收端;解析接收端的接收端报告(RR),通过丢包率计算期望调整码率;如果期望码率在当前分辨率范围之内,则直接进行码率调整;如果期望码率不在当前分辨率调整范围,切换到对应分辨率的视频数据流,同时将期望码率配置成该视频数据流的输出码率。可以实现视频分辨率的平滑调整,而无需重启编码器。
Description
技术领域
本发明属于视频处理技术领域,特别是涉及一种视频自适应调整方法和装置。
背景技术
视频实时业务受到无线传输的影响较大,在网络带宽不足的情况下会出现视频卡顿、花屏甚至掉话的情况。为了保证业务的正常进行,视频的带宽自适应算法得以应用。录制端根据播放端反馈的网络带宽信息进行码率甚至分辨率的调整,但是传统的调整方法在调整分辨率时需要重启编码器,导致业务中断,影响用户感知。
目前,传统的实时业务视频分辨率调整方案需要在业务过程中重新配置编码器,重启摄像头和编码器,造成业务中断,不但影响用户感知,而且在对业务要求高的场景不能适用。
例如,如果目前的执法记录仪在视频回传的过程中调整分辨率,需要重启编码器,从而导致执法现场的视频取证资料缺失。
发明内容
本发明实施例提出一种视频自适应调整方法和装置。
本发明实施例的技术方案如下:
一种视频自适应调整方法,包括:
使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,基于所述期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,其中所述多个分辨率等级都低于所述预定分辨率。
在一个实施方式中,还包括:
在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;
所述基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
在一个实施方式中,所述从接收端报告中解析出丢包率包括:从包含在接收端报告中的丢包率(FL)字段中解析出所述丢包率。
在一个实施方式中,在所述将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,该方法还包括:
向所述接收端发送分辨率调整通知消息;
其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
在一个实施方式中,在基于所述期望码率将所述当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述当前视频数据流发送到接收端;或
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端;或
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
一种视频自适应调整装置,包括:
采集转换模块,用于使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
发送模块,用于从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
期望码率确定模块,用于从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
调整模块,用于当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,以由发送模块基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,以由发送模块基于所述期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,其中所述多个分辨率等级都低于所述预定分辨率;
该装置还包括:
缓存模块,用于在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;
其中基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
在一个实施方式中,还包括:
通知模块,用于在调整模块将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,向接收端发送分辨率调整通知消息;
其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
在一个实施方式中,调整模块,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,以由发送模块基于上调后的期望码率将所述当前视频数据流发送到接收端;或
调整模块,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,以由发送模块基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,调整模块,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,以由发送模块基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端;或
调整模块,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,以由发送模块基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
在一个实施方式中,所述视频自适应调整装置为执法记录仪。
一种视频自适应调整装置,包括处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上任一项所述的视频自适应调整方法。
一种计算机可读存储介质,其中存储有计算机可读指令,该计算机可读指令用于执行如上任一项所述的视频自适应调整方法。
从上述技术方案可以看出,在本发明实施方式中,使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,基于所述期望码率将所述更新后的当前视频数据流发送到接收端。由此可见,本发明实施方式可以实现视频分辨率的平滑调整,而无需重启编码器,从而克服视频取证资料缺失。
附图说明
图1为根据本发明实施方式的视频自适应调整方法的流程图。
图2为根据本发明实施方式的视频自适应调整的示意图。
图3为根据本发明实施方式的基于RR报告的的视频自适应调整流程图。
图4为根据本发明实施方式的视频自适应调整装置的结构图。
图5为根据本发明具有存储器-处理器架构的视频自适应调整装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
申请人发现:目前进行实时业务时,一般情况下摄像头模块会根据业务配置的分辨率提供原始图像信息供编码器进行编码压缩,而且在业务过程中进行分辨率调整时,需要重新配置摄像头和编码器相关参数并进行重启。
在本发明实施方式中,摄像头按照预定分辨率(比如最大分辨率)进行原始图像采集;编码器进行多路的视频参数配置,同时输出不同分辨率的视频数据流。当需要进行分辨率调整时,直接进行视频数据流之间的切换,无需重启编码器和摄像头,从而实现视频回传分辨率的平滑调整。
而且,在本发明实施方式中,解析来自接收端(比如,视频播放端)的RR报告,通过丢包率计算期望调整码率。如果期望码率在当前分辨率范围之内,则直接进行码率调整;如果期望码率不在当前分辨率调整范围,切换到对应分辨率的视频数据流,同时将期望码率配置成该视频数据流的输出码率,从而实现视频带宽自适应。
图1为根据本发明实施方式的视频自适应调整方法的流程图。
如图1所示,该方法包括:
步骤101:使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流。
其中,摄像单元(比如摄像头)基于预定分辨率(比如:预定分辨率为摄像头的最大分辨率)采集原始视频,在整个视频业务过程中无需更改摄像头,从而保证摄像头在业务过程中不会进行重启。
而且,编码器将原始视频转换为对应于多个分辨率等级的多个视频数据流,其中所述多个分辨率等级的分辨率都低于该预定分辨率。
举例:假定预定分辨率为1080P,编码器支持的分辨率等级包括720P、D1和通用影像传输格式(CIF)。摄像单元基于1080P的分辨率采集原始视频,编码器生成四路视频数据流,分别为:1、对应于1080P的视频数据流(即原始视频流);2、对应于720P的视频数据流;3、对应于D1的视频数据流;4、对应于CIF的视频数据流。
再举例,假定预定分辨率为720P,编码器支持的分辨率等级包括D1和CIF。摄像单元基于720P的分辨率采集原始视频,编码器输出三路视频数据流,分别为:1、对应于720P的视频数据流(即原始视频流);2、对应于D1的视频数据流;3、对应于CIF的视频数据流。
以上示范性描述了分辨率的典型实例,本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的保护范围。
步骤102:从多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端。
在这里,可以将多个视频数据流中分辨率最大的视频数据流确定为当前视频数据流。而且,将该当前视频数据流的码率调整范围之内的预定码率作为输出码率,将当前视频数据流发送到接收端。其中,接收端可以为视频播放端。
比如,假定具有四路视频数据流,分别为:1、对应于1080P的视频数据流(即原始视频流);2、对应于720P的视频数据流;3、对应于D1的视频数据流;4、对应于CIF的视频数据流。则,可以将分辨率最大的视频数据流确定为当前视频数据流,即将对应于1080P的视频数据流确定为当前视频数据流。假定1080P的视频数据流的码率调整范围为[4Mbps,2Mbps],则可以选择一个位于[4Mbps,2Mbps]中的预定码率作为输出码率,按照该输出码率将当前视频数据流发送到接收端。比如,可以选择3Mbps作为该预定码率。
再比如,假定具有三路视频数据流,分别为:1、对应于720P的视频数据流(即原始视频流);2、对应于D1的视频数据流;3、对应于CIF的视频数据流。则,可以将分辨率最大的视频数据流确定为当前视频数据流,即将对应于720P的视频数据流确定为当前视频数据流。假定720的视频数据流的码率调整范围为[2Mbps,1Mbps],则可以选择一个位于[2Mbps,1Mbps]中的预定码率作为输出码率,按照该输出码率将当前视频数据流发送到接收端。比如,可以选择1.5Mbps作为该预定码率。
以上示范性描述了码率的典型实例,本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的保护范围。
步骤103:从接收端获取接收端报告(Receive Report,RR),从RR中解析出丢包率,基于所述丢包率确定期望码率。
在这里,从接收端报告中解析出丢包率包括:从包含在接收端报告中的丢包率(Fraction loss,FL)字段中解析出所述丢包率。其中,在基于丢包率确定期望码率的过程中,可以采用如下的确定原则:期望码率与丢包率成反比例关系。如,丢包率越大,则期望码率越小。
步骤104:当期望码率位于当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,基于所述期望码率将所述更新后的当前视频数据流发送到接收端。
可见,当期望码率位于当前视频数据流的码率调整范围之内时,直接将当前视频数据流的码率调整为期望码率,并基于期望码率将当前视频数据流发送到接收端。因此,无需切换当前视频数据流,直接通过调整当前视频数据流的输出码率实现调整。
可见,当期望码率不位于当前视频数据流的码率调整范围之内时,将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为当前视频数据流,基于期望码率将更新后的当前视频数据流发送到接收端。其中,当多个视频数据流中的、码率调整范围包含该期望码率的视频数据流的数目为多个时,可以从中选择分辨率最大的那个视频数据流。因此,当无法通过调整当前视频数据流的输出码率实现调整时,以切换到分辨率更低的视频数据流。
在一个实施方式中,还包括:在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;所述基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
在一个实施方式中,在所述将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,该方法还包括:
向所述接收端发送分辨率调整通知消息;其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
优选地,关键帧包括:即时解码刷新(IDR)帧、SPS帧和PPS帧。
在一个实施方式中,在基于所述期望码率将所述当前视频数据流发送到接收端之后,该方法还包括:从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述当前视频数据流发送到接收端。
在一个实施方式中,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
可见,在本发明实施方式中,为了实现分辨率调整的平滑度,保证录制端编码器实现多路视频数据流的输出,录制端配置及视频数据流输出如下:(1)、摄像头采集图像按照业务初始分辨率采集图像,在业务过程中不更改,保证摄像头在业务过程中不会进行重启;(2)、编码器输出数据流按照初始分辨率到最低分辨率分别输出;(3)、按照一定的缓存量大小对编码器输出的多路数据流分别进行缓存,超过缓存则将前面进入缓存队列的数据进行丢弃,保证未使用的视频数据流不会占用多余的内存空间;(4)、编码器输出视频需要保证周期性的关键帧:包含IDR、SPS或PPS帧。
图2为根据本发明实施方式的视频自适应调整的示意图。图3为根据本发明实施方式的基于RR报告的的视频自适应调整流程图。
在实时视频业务过程中的分辨率自动调整过程包括:
(1)、业务初始,视频录制端按照配置的分辨率码率输出视频,同时检测视频播放端反馈的RR报告。
(2)、视频录制端解析视频播放端的RR报告中FL字段,解析出丢包率,同时按照丢包率计算调整的期望码率,其中:(2.1)、根据丢包率大小计算期望码率,丢包越大,期望码率越小,码率下降越多;(2.2)、如果期望码率在当前分辨率范围之内,则直接进行码率调整;如果期望码率不在当前分辨率调整范围,直接切换到对应分辨率的数据流,同时将期望码率配置成该数据流的输出码率;(2.3)、当分辨率/码率下调之后,连续预定数目个的RR周期没有出现丢包时,可以将分辨率或码率进行上调。
(3)、当需要调整分辨率时,录制端通过信令通知播放端即将进行分辨率的切换,同时后台直接进行数据流的切换,将当前分辨率的数据流直接切换到对应分辨率的数据流,同时将对应数据流的码率输出调整到期望码率。由于可以直接在不同缓存队列进行切换,不涉及到编码器的重启,可以保证时延较小,用户基本不会感知。
为了保证数据流切换过程中图像可以平滑,需要保证切换之后的数据流是从关键帧开始,保证数据切换之后解码器能够及时感知到数据流的切换,正确完成解码。
本发明实施方式还提出了一种视频自适应调整装置。
图4为根据本发明实施方式的视频自适应调整装置的结构图。
如图4所示,视频自适应调整装置包括:
采集转换模块401,用于使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
发送模块402,用于从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
期望码率确定模块403,用于从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
调整模块404,用于当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,以由发送模块403基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,以由发送模块403基于所述期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,所述多个分辨率等级都低于所述预定分辨率;
该装置还包括:缓存模块(图4中没有示出),用于在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;其中基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
在一个实施方式中,还包括通知模块(图4中没有示出),用于在调整模块404将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,向接收端发送分辨率调整通知消息;其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
在一个实施方式中,调整模块404,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,以由发送模块403基于上调后的期望码率将所述当前视频数据流发送到接收端。
在一个实施方式中,调整模块404,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,以由发送模块403基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,调整模块404,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,以由发送模块403基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
在一个实施方式中,调整模块404,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,以由发送模块403基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
在一个实施方式中,所述视频自适应调整装置为执法记录仪,该执法记录仪集成有摄像单元和编码器。
图5为根据本发明具有存储器-处理器架构的视频自适应调整装置的结构图。
如图5所示,视频自适应调整装置包括:处理器501和存储器502;其中存储器502中存储有可被处理器501执行的应用程序,用于使得处理器501执行如上任一项所述的视频自适应调整方法。
其中,存储器502具体可以实施为电可擦可编程只读存储器(EEPROM)、快闪存储器(Flash memory)、可编程程序只读存储器(PROM)等多种存储介质。处理器501可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为CPU或MCU。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本申请所述方法的指令。具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该***或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。
用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机或云上下载程序代码。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种视频自适应调整方法,其特征在于,包括:
使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,基于所述期望码率将所述更新后的当前视频数据流发送到接收端;
在基于所述期望码率将所述当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述当前视频数据流发送到接收端;或
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
2.根据权利要求1所述的视频自适应调整方法,其特征在于,其中所述多个分辨率等级都低于所述预定分辨率。
3.根据权利要求2所述的视频自适应调整方法,其特征在于,还包括:
在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;
所述基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
4.根据权利要求1所述的视频自适应调整方法,其特征在于,所述从接收端报告中解析出丢包率包括:从包含在接收端报告中的丢包率FL字段中解析出所述丢包率。
5.根据权利要求1所述的视频自适应调整方法,其特征在于,在所述将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,该方法还包括:
向所述接收端发送分辨率调整通知消息;
其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
6.根据权利要求1所述的视频自适应调整方法,其特征在于,在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端;或
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
7.一种视频自适应调整装置,其特征在于,包括:
采集转换模块,用于使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
发送模块,用于从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
期望码率确定模块,用于从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
调整模块,用于当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,以由发送模块基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,以由发送模块基于所述期望码率将所述更新后的当前视频数据流发送到接收端;其中:
调整模块,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,以由发送模块基于上调后的期望码率将所述当前视频数据流发送到接收端;或
调整模块,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,以由发送模块基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
8.根据权利要求7所述的视频自适应调整装置,其特征在于,其中所述多个分辨率等级都低于所述预定分辨率;
该装置还包括:
缓存模块,用于在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;
其中基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
9.根据权利要求7所述的视频自适应调整装置,其特征在于,还包括:
通知模块,用于在调整模块将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,向接收端发送分辨率调整通知消息;
其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
10.根据权利要求7所述的视频自适应调整装置,其特征在于,
调整模块,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,以由发送模块基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端;或
调整模块,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,以由发送模块基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
11.根据权利要求7-10中任一项所述的视频自适应调整装置,其特征在于,所述视频自适应调整装置为执法记录仪。
12.一种视频自适应调整装置,其特征在于,包括处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如权利要求1至6中任一项所述的视频自适应调整方法。
13.一种计算机可读存储介质,其特征在于,其中存储有计算机可读指令,该计算机可读指令用于执行如权利要求1至6中任一项所述的视频自适应调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911354380.8A CN113038136B (zh) | 2019-12-25 | 2019-12-25 | 一种视频自适应调整方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911354380.8A CN113038136B (zh) | 2019-12-25 | 2019-12-25 | 一种视频自适应调整方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113038136A CN113038136A (zh) | 2021-06-25 |
CN113038136B true CN113038136B (zh) | 2022-10-11 |
Family
ID=76458054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911354380.8A Active CN113038136B (zh) | 2019-12-25 | 2019-12-25 | 一种视频自适应调整方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038136B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676641B (zh) * | 2021-08-17 | 2023-04-07 | 杭州叙简未兰电子有限公司 | 一种基于5g执法记录仪的双摄像头三码流方法 |
CN115052182B (zh) * | 2022-06-27 | 2023-07-21 | 重庆邮电大学 | 基于队列学习和超分辨率的超高清视频传输***与方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075769B (zh) * | 2011-01-10 | 2012-11-07 | 苏州博联科技有限公司 | 视频无线传输监控***的视频QoS优化方法 |
CN104410903A (zh) * | 2014-12-25 | 2015-03-11 | 安科智慧城市技术(中国)有限公司 | 一种基于移动终端的视频转码方法和*** |
CN105100800B (zh) * | 2015-09-11 | 2019-05-24 | Tcl集团股份有限公司 | 视频编码器编码码率调节方法及装置 |
CN105407107A (zh) * | 2015-12-24 | 2016-03-16 | 成都信息工程大学 | 一种流媒体数据的传输方法及装置 |
US10356406B2 (en) * | 2016-01-19 | 2019-07-16 | Google Llc | Real-time video encoder rate control using dynamic resolution switching |
US20170280139A1 (en) * | 2016-03-22 | 2017-09-28 | Qualcomm Incorporated | Apparatus and methods for adaptive calculation of quantization parameters in display stream compression |
CN110572780B (zh) * | 2018-06-06 | 2021-10-22 | 成都鼎桥通信技术有限公司 | 视频组呼业务传输速率调整的方法、装置、设备及介质 |
CN109660826B (zh) * | 2019-02-01 | 2020-09-29 | 广州视源电子科技股份有限公司 | 一种视频传输方法、装置、设备及存储介质 |
CN110460871B (zh) * | 2019-08-29 | 2022-01-21 | 卓米私人有限公司 | 直播视频的生成方法、装置、***及设备 |
-
2019
- 2019-12-25 CN CN201911354380.8A patent/CN113038136B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113038136A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11503307B2 (en) | System and method for automatic encoder adjustment based on transport data | |
KR102280134B1 (ko) | 비디오 재생 방법, 장치 및 시스템 | |
US10455260B2 (en) | Transmitting method, receiving method, transmitting device, and receiving device | |
KR102218385B1 (ko) | 고속 전환을 위한 코덱 기법 | |
US9585062B2 (en) | System and method for implementation of dynamic encoding rates for mobile devices | |
KR101859155B1 (ko) | 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝 | |
US20130304934A1 (en) | Methods and systems for controlling quality of a media session | |
KR20160110472A (ko) | 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍 | |
US20170063959A1 (en) | Method and Apparatus for Providing a Low Latency Transmission System Using Adjustable Buffers | |
CN113038136B (zh) | 一种视频自适应调整方法和装置 | |
US20170063692A1 (en) | Method and apparatus for providing a low latency transmission system using adaptive buffering estimation | |
CA2924539C (en) | Improved algorithms for determining bitrate for a statistical multiplexing system to account for signal complexity including film mode and gop structural changes | |
US11722714B2 (en) | Transmitting method, receiving method, transmitting device and receiving device | |
AU2021200428B2 (en) | System and method for automatic encoder adjustment based on transport data | |
US20140112384A1 (en) | Algorithms for determining bitrate for a statistical multiplexing system using scene change | |
US8249141B1 (en) | Method and system for managing bandwidth based on intraframes | |
JP2014192565A (ja) | 映像処理装置、映像処理方法及びコンピュータプログラム | |
WO2014066975A1 (en) | Methods and systems for controlling quality of a media session | |
JP6089846B2 (ja) | 映像配信システム及びデコーダ並びに映像配信方法 | |
KR20090071873A (ko) | 영상의 품질 측정을 통한 압축률 조절 시스템 및 그 방법 | |
CN113709585A (zh) | 流媒体播放方法和装置 | |
JP5213130B2 (ja) | データ配信システム、切替装置及びデータ配信方法 | |
KR101795958B1 (ko) | 실시간 네트워크 카메라에서의 적응적 영상 제공 방법, 장치 및 사용자 단말기 | |
KR20110053690A (ko) | 스케일러블 비디오의 패킷 손실 오류를 축소하기 위한 적응 장치 및 그 방법 |
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 |