CN113038136A - 一种视频自适应调整方法和装置 - Google Patents

一种视频自适应调整方法和装置 Download PDF

Info

Publication number
CN113038136A
CN113038136A CN201911354380.8A CN201911354380A CN113038136A CN 113038136 A CN113038136 A CN 113038136A CN 201911354380 A CN201911354380 A CN 201911354380A CN 113038136 A CN113038136 A CN 113038136A
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.)
Granted
Application number
CN201911354380.8A
Other languages
English (en)
Other versions
CN113038136B (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.)
Chengdu TD Tech Ltd
Original Assignee
Chengdu TD Tech Ltd
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 Chengdu TD Tech Ltd filed Critical Chengdu TD Tech Ltd
Priority to CN201911354380.8A priority Critical patent/CN113038136B/zh
Publication of CN113038136A publication Critical patent/CN113038136A/zh
Application granted granted Critical
Publication of CN113038136B publication Critical patent/CN113038136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/192Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (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 (15)

1.一种视频自适应调整方法,其特征在于,包括:
使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,基于所述期望码率将所述更新后的当前视频数据流发送到接收端。
2.根据权利要求1所述的视频自适应调整方法,其特征在于,其中所述多个分辨率等级都低于所述预定分辨率。
3.根据权利要求2所述的视频自适应调整方法,其特征在于,还包括:
在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;
所述基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
4.根据权利要求1所述的视频自适应调整方法,其特征在于,所述从接收端报告中解析出丢包率包括:从包含在接收端报告中的丢包率FL字段中解析出所述丢包率。
5.根据权利要求1所述的视频自适应调整方法,其特征在于,在所述将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,该方法还包括:
向所述接收端发送分辨率调整通知消息;
其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
6.根据权利要求1所述的视频自适应调整方法,其特征在于,在基于所述期望码率将所述当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述当前视频数据流发送到接收端;或
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
7.根据权利要求1所述的视频自适应调整方法,其特征在于,在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,该方法还包括:
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,并基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端;或
从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
8.一种视频自适应调整装置,其特征在于,包括:
采集转换模块,用于使能摄像单元基于预定分辨率采集原始视频,使能编码器将所述原始视频转换为对应于多个分辨率等级的多个视频数据流;
发送模块,用于从所述多个视频数据流中确定当前视频数据流,基于预定码率将所述当前视频数据流发送到接收端;
期望码率确定模块,用于从接收端获取接收端报告,从接收端报告中解析出丢包率,基于所述丢包率确定期望码率;
调整模块,用于当所述期望码率位于所述当前视频数据流的码率调整范围之内时,将所述当前视频数据流的码率调整为所述期望码率,以由发送模块基于所述期望码率将所述当前视频数据流发送到接收端;当所述期望码率不位于所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流,以由发送模块基于所述期望码率将所述更新后的当前视频数据流发送到接收端。
9.根据权利要求8所述的视频自适应调整装置,其特征在于,其中所述多个分辨率等级都低于所述预定分辨率;
该装置还包括:
缓存模块,用于在对应于各自视频数据流的各自缓存中分别存储各自的视频数据流,其中当各自缓存的缓存量超过缓存空间时,丢弃各自的视频数据流中的多余数据;
其中基于预定码率将所述当前视频数据流发送到接收端包括:基于预定码率将保存于对应于当前视频数据流的缓存中的所述当前视频数据流发送到接收端。
10.根据权利要求8所述的视频自适应调整装置,其特征在于,还包括:
通知模块,用于在调整模块将多个视频数据流中的、码率调整范围包含该期望码率的视频数据流更新为所述当前视频数据流之后,向接收端发送分辨率调整通知消息;
其中所述接收端从所述更新后的当前视频数据流中的关键帧位置处,开始接收所述更新后的当前视频数据流。
11.根据权利要求8所述的视频自适应调整装置,其特征在于,
调整模块,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述当前视频数据流的码率调整范围之内上调期望码率,以由发送模块基于上调后的期望码率将所述当前视频数据流发送到接收端;或
调整模块,还用于在基于所述期望码率将所述当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包且上调后的期望码率不在所述当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流更新为所述当前视频数据流,以由发送模块基于所述上调后的期望码率将所述更新后的当前视频数据流发送到接收端。
12.根据权利要求8所述的视频自适应调整装置,其特征在于,
调整模块,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定接收端在预定时间内没有发生丢包时,在所述更新后的当前视频数据流的码率调整范围之内上调期望码率,以由发送模块基于上调后的期望码率将所述更新后的当前视频数据流发送到接收端;或
调整模块,还用于在基于所述期望码率将所述更新后的当前视频数据流发送到接收端之后,从接收端获取更新后的接收端报告,从更新后的接收端报告中解析出更新后的丢包率,当基于更新后的丢包率判定在预定时间内没有发生丢包且上调后的期望码率不在所述更新后的当前视频数据流的码率调整范围之内时,将所述多个视频数据流中包含该上调后的期望码率的视频数据流再次更新为所述当前视频数据流,以由发送模块基于所述上调后的期望码率将所述再次更新后的当前视频数据流发送到接收端。
13.根据权利要求8-12中任一项所述的视频自适应调整装置,其特征在于,所述视频自适应调整装置为执法记录仪。
14.一种视频自适应调整装置,其特征在于,包括处理器和存储器;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如权利要求1至7中任一项所述的视频自适应调整方法。
15.一种计算机可读存储介质,其特征在于,其中存储有计算机可读指令,该计算机可读指令用于执行如权利要求1至7中任一项所述的视频自适应调整方法。
CN201911354380.8A 2019-12-25 2019-12-25 一种视频自适应调整方法和装置 Active CN113038136B (zh)

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 true CN113038136A (zh) 2021-06-25
CN113038136B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676641A (zh) * 2021-08-17 2021-11-19 杭州叙简安智信息技术有限公司 一种基于5g执法记录仪的双摄像头三码流方法
CN115052182A (zh) * 2022-06-27 2022-09-13 重庆邮电大学 基于队列学习和超分辨率的超高清视频传输系统与方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075769A (zh) * 2011-01-10 2011-05-25 苏州博联科技有限公司 视频无线传输监控系统的视频QoS优化方法
CN104410903A (zh) * 2014-12-25 2015-03-11 安科智慧城市技术(中国)有限公司 一种基于移动终端的视频转码方法和系统
CN105100800A (zh) * 2015-09-11 2015-11-25 Tcl集团股份有限公司 视频编码器编码码率调节方法及装置
CN105407107A (zh) * 2015-12-24 2016-03-16 成都信息工程大学 一种流媒体数据的传输方法及装置
WO2017127213A1 (en) * 2016-01-19 2017-07-27 Google Inc. Real-time video encoder rate control using dynamic resolution switching
WO2017165529A1 (en) * 2016-03-22 2017-09-28 Qualcomm Incorporated Apparatus and methods for adaptive calculation of quantization parameters in display stream compression
CN109660826A (zh) * 2019-02-01 2019-04-19 广州视源电子科技股份有限公司 一种视频传输方法、装置、设备及存储介质
CN110460871A (zh) * 2019-08-29 2019-11-15 香港乐蜜有限公司 直播视频的生成方法、装置、系统及设备
CN110572780A (zh) * 2018-06-06 2019-12-13 成都鼎桥通信技术有限公司 视频组呼业务传输速率调整的方法、装置、设备及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075769A (zh) * 2011-01-10 2011-05-25 苏州博联科技有限公司 视频无线传输监控系统的视频QoS优化方法
CN104410903A (zh) * 2014-12-25 2015-03-11 安科智慧城市技术(中国)有限公司 一种基于移动终端的视频转码方法和系统
CN105100800A (zh) * 2015-09-11 2015-11-25 Tcl集团股份有限公司 视频编码器编码码率调节方法及装置
CN105407107A (zh) * 2015-12-24 2016-03-16 成都信息工程大学 一种流媒体数据的传输方法及装置
WO2017127213A1 (en) * 2016-01-19 2017-07-27 Google Inc. Real-time video encoder rate control using dynamic resolution switching
WO2017165529A1 (en) * 2016-03-22 2017-09-28 Qualcomm Incorporated Apparatus and methods for adaptive calculation of quantization parameters in display stream compression
CN110572780A (zh) * 2018-06-06 2019-12-13 成都鼎桥通信技术有限公司 视频组呼业务传输速率调整的方法、装置、设备及介质
CN109660826A (zh) * 2019-02-01 2019-04-19 广州视源电子科技股份有限公司 一种视频传输方法、装置、设备及存储介质
CN110460871A (zh) * 2019-08-29 2019-11-15 香港乐蜜有限公司 直播视频的生成方法、装置、系统及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘地军等: "网络视频传输的自适应调节策略的实现", 《信息安全与通信保密》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676641A (zh) * 2021-08-17 2021-11-19 杭州叙简安智信息技术有限公司 一种基于5g执法记录仪的双摄像头三码流方法
CN113676641B (zh) * 2021-08-17 2023-04-07 杭州叙简未兰电子有限公司 一种基于5g执法记录仪的双摄像头三码流方法
CN115052182A (zh) * 2022-06-27 2022-09-13 重庆邮电大学 基于队列学习和超分辨率的超高清视频传输系统与方法
CN115052182B (zh) * 2022-06-27 2023-07-21 重庆邮电大学 基于队列学习和超分辨率的超高清视频传输系统与方法

Also Published As

Publication number Publication date
CN113038136B (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
US11503307B2 (en) System and method for automatic encoder adjustment based on transport data
CN108810636B (zh) 视频播放方法、虚拟现实设备、服务器、系统及存储介质
KR102218385B1 (ko) 고속 전환을 위한 코덱 기법
KR102324326B1 (ko) 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍
CN110381316B (zh) 一种视频传输控制方法、装置、设备及存储介质
US20200106822A1 (en) Method and apparatus for providing a low latency transmission system using adjustable buffers
US9585062B2 (en) System and method for implementation of dynamic encoding rates for mobile devices
EP2785068B1 (en) Video image data delivery device, method and system
US9985887B2 (en) Method and apparatus for providing a low latency transmission system using adaptive buffering estimation
KR20160007564A (ko) 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝
US10834161B2 (en) Dash representations adaptations in network
CN113038136B (zh) 一种视频自适应调整方法和装置
AU2021200428B2 (en) System and method for automatic encoder adjustment based on transport data
JP2014192565A (ja) 映像処理装置、映像処理方法及びコンピュータプログラム
JP6089846B2 (ja) 映像配信システム及びデコーダ並びに映像配信方法
CN111093082A (zh) 一种流媒体直播的方法及系统
CN113709585A (zh) 流媒体播放方法和装置
KR101795958B1 (ko) 실시간 네트워크 카메라에서의 적응적 영상 제공 방법, 장치 및 사용자 단말기
Skupin et al. Packet level video quality evaluation of extensive H. 264/AVC and SVC transmission simulation
CN108737781A (zh) 一种画面检测的方法及设备
JP2011040879A (ja) データ配信システム、切替装置及びデータ配信方法
CN116962799A (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