CN116193124A - 一种传输视频码流的方法及装置 - Google Patents
一种传输视频码流的方法及装置 Download PDFInfo
- Publication number
- CN116193124A CN116193124A CN202211725779.4A CN202211725779A CN116193124A CN 116193124 A CN116193124 A CN 116193124A CN 202211725779 A CN202211725779 A CN 202211725779A CN 116193124 A CN116193124 A CN 116193124A
- Authority
- CN
- China
- Prior art keywords
- video
- channel
- video code
- host
- module
- 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
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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/103—Selection of coding mode or of prediction mode
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供一种传输视频码流的方法及装置,涉及通信领域,用于在视频码流传输过程中,降低主机的处理负担,节约主机的编码资源。该方案包括:拍摄模块拍摄获取视频序列;视频序列包括一个或多个图像帧;编码模块从拍摄模块获取视频序列,并按照编码指示信息指示的N组编码参数,将视频序列编码为N路视频码流,并向传输模块发送N路视频码流;N大于或等于2;编码指示信息为主机通过UVC协议EU通道发送;编码参数包括分辨率和/或编码格式;视频码流中携带用于区分不同路视频码流的标识信息;传输模块在UVC协议数据流通道中,串行交替发送N路视频码流。
Description
技术领域
本发明涉及通信领域,尤其涉及一种传输视频码流的方法及装置。
背景技术
在主机获取拍摄获取视频流的场景中,通常通过通用串行总线(universalserial bus,USB)线缆,在主机上连接一个USB相机,USB相机将拍摄的视频编码为一路视频码流,经USB线缆传输至主机。其中,USB相机基于USB视频类(usb video class,UVC)协议工作,也可称其为UVC设备。
主机将从USB相机接收的一路视频码流,根据需求进行处理,比如显示,或者传输至其他远端设备。当主机从USB相机接收的一路视频码流的分辨率格式,与其他设备的网络带宽或硬件性能不匹配时,为了提高业务性能,通常需要主机端对视频码流进行解码和重编码,得到与远端设备匹配的分辨率格式的视频码流后,发送至远端设备。
在主机参与多主体通信(比如视频会议)中,存在多个远端设备,为了保证每个远端设备更优的视频质量,主机就需要将从USB相机接收的一路视频码流,解码和重编码为多路不同分辨率格式的视频码流,大大增加了主机的处理负担,需要耗费大量主机编码资源。
发明内容
本申请提供一种传输视频码流的方法及装置,以降低主机的处理负担,节约主机的编码资源。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种传输视频码流的方法,应用于视频设备,视频设备通过通用串行总线USB线缆与主机连接,视频设备包括依次连接的拍摄模块、编码模块以及传输模块;传输模块与主机间在USB线缆中建立了USB视频类UVC协议的扩展单元(extensionunit,EU)通道和UVC协议数据流通道(video streaming,VS);该方法可以包括:拍摄模块拍摄获取视频序列,视频序列包括一个或多个图像帧。编码模块从拍摄模块获取视频序列,并按照编码指示信息指示的N组编码参数,将视频序列编码为N路视频码流,并向传输模块发送N路视频码流;N大于或等于2,编码指示信息为主机通过UVC协议EU通道发送,编码参数包括分辨率和/或编码格式,视频码流中携带用于区分不同路视频码流的标识信息。传输模块在UVC协议数据流通道中,串行交替发送N路视频码流。
通过本申请提供的方案,视频设备的传输模块与主机间在USB线缆中建立UVC协议的EU通道和UVC协议数据流通道,主机通过UVC协议的EU通道向视频设备发送编码指示信息,以使得视频设备根据编码指示信息,将视频序列编码为多路视频码流,并在UVC协议数据流通道中串行交替发送至主机,主机只需要将串行码流拆分为多路视频码流。这样一来,主机无需解码和重编码,降低了主机的处理负担以及节约了主机的编码资源。此外,本申请提供的方案中,通过UVC协议的EU通道发送编码指示信息,在UVC协议数据流通道中串行交替发送多路视频码流,即将控制信息与视频码流分通道传输,大大降低了每个通道的数据传输量,提高了数据流通道传输视频码流的容量,从而使得多路视频码流传输过程安全高效,提高传输效率和稳定性。
作为一种可能的实现方式,视频码流包括:标识信息、通道数信息、数据包长信息以及编码数据;N路视频码流的头部包括总通道数信息和总数据包长;通道数信息用于指示视频码流的路数;数据包长信息用于指示每路视频码流中一个数据包的数据大小;总数据包长用于指示传输模块串行交替传输一次N路视频码流的数据包的总数据大小。
作为一种可能的实现方式,本申请提供的方法还可以包括:传输模块通过UVC协议EU通道,接收主机发送的第一指示,并发送至编码模块,第一指示用于请求I帧;第一指示为主机在确定第一视频码流丢帧后发送;第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流;编码模块在收到第一指示后,在编码第一视频码流时,将视频序列中待编码的下一个图像帧,编码为第一视频码流的I帧,将下一个图像帧之后的图像帧编码为非参考图像帧。这样一来,当主机确定丢帧后,视频设备的编码模块可以根据主机发送的第一指示,在编码视频序列时加入缺失帧数所属的I帧,以使得视频序列的帧数始终保持完整,保证解码设备可以正常解码接收的视频码流,从而使得解码设备可以流畅的显示出视频画面。
作为一种可能的实现方式,本申请提供的方法还可以包括:传输模块通过UVC协议EU通道,接收主机发送的第二指示,并发送至编码模块,第二指示用于指示视频设备编码多路视频码流;编码模块根据第二指示,按照编码指示信息指示的N组编码参数,将视频序列编码为N路编码参数不同的视频码流,并向传输模块发送N路视频码流。
作为一种可能的实现方式,本申请提供的方法还可以包括:传输模块通过UVC协议EU通道,接收主机发送的第三指示,并发送至编码模块,第三指示用于指示视频设备编码一路视频码流;编码模块根据第三指示,将视频序列编码为一路视频码流发送至传输模块。
这样一来,通过视频设备接收主机发送的第二指示或第三指示,可以使得视频设备的编码模块可以根据上述指示,编码多路或一路视频码流。其中,编码多路视频码流的有益效果可以参考前文所述,此处不做过多赘述;而根据使用场景,当视频设备的编码模块编码一路视频码流时,相比于编码多路视频码流,节约了视频设备的编码资源,降低视频设备的功耗。
作为一种可能的实现方式,本申请提供的方法还可以包括:传输模块通过UVC协议EU通道,接收主机发送的第四指示,并发送至编码模块,第四指示用于指示编码模块重启;编码模块根据第四指示重启,按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流,并向传输模块发送N路视频码流。这样一来,通过视频设备接收主机发送的第四指示,以使得视频设备得知视频设备的编码模块编码过程可能出现异常。视频设备响应于第四指示,重启编码模块,从软件层面实现视频设备的重启,即在视频设备不断电的情况,实现编码模块的重编码功能。
作为一种可能的实现方式,传输模块与主机间在USB线缆中建立了多个UVC协议数据流通道;该方法还可以包括:传输模块接收主机发送的第五指示,第五指示包括目标UVC协议数据流通道的标识;传输模块在UVC协议数据流通道中,串行交替发送N路视频码流,包括:传输模块在目标UVC协议数据流通道中,串行交替发送N路视频码流。这样一来,视频设备通过接收主机发送的第五指示,选择目标UVC协议数据流通道作为N路视频码流,避免选择的UVC协议数据流通道不能满足N路视频码流的传输带宽,保证了N路视频码流的传输效率。
作为一种可能的实现方式,传输模块与主机间在USB线缆中还建立了UVC协议控制流通道;该方法还可以包括:传输模块通过UVC协议控制流通道,接收主机发送的第六指示,并发送至编码模块,第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。编码模块根据第六指示,配置视频设备的参数。这样一来,视频设备通过接收主机发送的第六指示,以使得视频设备根据第六指示设置的基础参数信息(如白平衡),调整视频设备输出的视频图像,以使得输出的视频图像符合用户需求。
作为一种可能的实现方式,本申请提供的方法还可以包括:传输模块通过UVC协议EU通道,接收主机发送的编码指示信息,并发送至编码模块。这样一来,通过UVC协议的EU通道传输编码指示信息,视频设备的编码模块根据编码指示信息进行编码,以使得视频设备可以根据不同的编码指示信息编码不同规格的视频码流。即视频设备可以兼容多种应用场景,提高了视频设备的市场竞争力。
作为一种可能的实现方式,本申请提供的方法还可以包括:传输模块根据主机的驱动,与主机间在USB线缆中建立UVC协议EU通道和UVC协议数据流通道。这样一来,通过UVC协议的EU通道发送编码指示信息,在UVC协议数据流通道中串行交替发送多路视频码流,即将控制信息与视频码流分通道传输,大大降低了每个通道的数据传输量,提高了数据流通道传输视频码流的容量,从而使得多路视频码流传输过程安全高效,提高传输效率和稳定性。
第二方面,本申请提供一种传输视频码流的方法,应用于主机,主机通过通用串行总线USB线缆连接了视频设备,主机与视频设备间在USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;该方法可以包括:通过UVC协议数据流通道,接收视频设备发送的串行码流,串行码流中包括交替传输的N路视频码流;N路视频码流为视频设备按照编码指示信息指示的N组编码参数编码得到;编码参数包括分辨率和/或编码格式;N大于或等于2;视频码流中携带用于区分不同路视频码流的标识信息;编码指示信息为主机通过UVC协议EU通道发送至视频设备;根据视频码流的标识信息,从串行码流中拆分获取N路视频码流。
通过本申请提供的方案,在主机与视频设备间在USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道的情况下,通过UVC协议数据流通道,主机接收视频设备发送的串行码流,串行码流中包括N路编码参数不同的视频码流,主机只需要将串行码流拆分为多路视频码流。这样一来,主机无需解码和重编码,降低了主机的处理负担以及节约了主机的编码资源。
作为一种可能的实现方式,视频码流包括:标识信息、通道数信息、数据包长信息以及编码数据;N路视频码流的头部包括总通道数信息和总数据包长;通道数信息用于指示视频码流的路数;数据包长信息用于指示每路视频码流中一个数据包的数据大小;总数据包长用于指示传输模块串行交替传输一次N路视频码流的数据包的总数据大小。
作为一种可能的实现方式,本申请提供的方法还可以包括:在确定丢帧的情况下,通过UVC协议EU通道向视频设备发送第一指示,第一指示用于请求I帧;第一指示为主机在确定第一视频码流丢帧后发送;第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流。这样一来,一方面,主机在确定丢帧的情况下,通过UVC协议EU通道向视频设备发送第一指示,以使得视频设备的编码模块可以根据主机发送的第一指示,在编码视频序列时加入缺失帧数所属的I帧,保证视频序列的完整性,从而使得解码设备可以流畅的显示出视频画面。
作为一种可能的实现方式,本申请提供的方法还可以包括:通过UVC协议EU通道,向视频设备发送第二指示,第二指示用于指示视频设备编码多路视频码流。
作为一种可能的实现方式,本申请提供的方法还可以包括:通过UVC协议EU通道,向视频设备发送第三指示,第三指示用于指示视频设备编码一路视频码流。当主机下发第三指示时,视频设备的编码模块编码一路视频码流,无需主机拆分视频码流。这样一来,主机可以根据不同的应用场景,下发第二指示或者第三指示,以使得视频设备可以切换不同的工作模式。显而易见的,当主机下发第二指示时,视频设备的编码模块编码多路视频码流,无需使用主机的解码和重编码,降低主机的运行功耗。
作为一种可能的实现方式,本申请提供的方法还可以包括:在确定乱码的情况下,通过UVC协议EU通道,向视频设备发送第四指示,第四指示用于指示视频设备重启编码模块,并按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流。这样一来,通过UVC协议EU通道,向视频设备发送第四指示,以使得视频设备响应于第四指示,重启编码模块,从软件层面实现视频设备的重启,即在视频设备不断电的情况,实现编码模块的重编码功能。
作为一种可能的实现方式,视频设备与主机间在USB线缆中建立了多个UVC协议数据流通道;本申请提供的方法还可以包括:主机从多个UVC协议数据流通道中,确定目标UVC协议数据流通道,目标UVC协议数据流通道所支持的带宽大于或等于N路视频码流的总带宽;主机向视频设备发送第五指示,第五指示包括目标UVC协议数据流通道的标识;通过UVC协议数据流通道,接收视频设备发送的串行码流,包括:通过目标UVC协议数据流通道,接收视频设备发送的串行码流。这样一来,目标UVC协议数据流通道所支持的带宽大于或等于N路视频码流的总带宽,避免选择的UVC协议数据流通道不能满足N路视频码流的传输带宽,保证了N路视频码流的传输效率。
作为一种可能的实现方式,视频设备与主机间在USB线缆中还建立了UVC协议控制流通道;本申请提供的方法还可以包括:通过UVC协议控制流通道,向视频设备发送第六指示,第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。这样一来,视频设备通过接收主机发送的第六指示,以使得视频设备根据第六指示设置的基础参数信息(如白平衡),调整视频设备输出的视频图像,以使得输出的视频图像符合用户需求。
作为一种可能的实现方式,本申请提供的方法还可以包括:驱动视频设备,与视频设备间在USB线缆中建立UVC协议EU通道和UVC协议数据流通道。这样一来,通过UVC协议的EU通道发送编码指示信息,在UVC协议数据流通道中串行交替发送多路视频码流,即将控制信息与视频码流分通道传输,大大降低了每个通道的数据传输量,提高了数据流通道传输视频码流的容量,从而使得多路视频码流传输过程安全高效,提高传输效率和稳定性。
第三方面,本申请提供一种传输视频码流的装置,该装置通过通用串行总线USB线缆与主机连接;传输模块与主机间在USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;该装置可以包括:拍摄模块,用于拍摄获取视频序列;视频序列包括一个或多个图像帧;编码模块,用于从拍摄模块获取视频序列,并按照编码指示信息指示的N组编码参数,将视频序列编码为N路视频码流;N大于或等于2;编码指示信息为主机通过UVC协议EU通道发送;编码参数包括分辨率和/或编码格式;视频码流中携带用于区分不同路视频码流的标识信息;传输模块,用于接收编码模块编码的N路视频码流;传输模块,还用于在UVC协议数据流通道中,串行交替发送N路视频码流。
作为一种可能的实现方式,视频码流包括:标识信息、通道数信息、数据包长信息以及编码数据;N路视频码流的头部包括总通道数信息和总数据包长;通道数信息用于指示视频码流的路数;数据包长信息用于指示每路视频码流中一个数据包的数据大小;总数据包长用于指示传输模块串行交替传输一次N路视频码流的数据包的总数据大小。
作为一种可能的实现方式,该装置的传输模块,还用于通过UVC协议EU通道,接收主机发送的第一指示,并发送至编码模块,第一指示用于请求I帧;第一指示为主机在确定第一视频码流丢帧后发送;第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流;编码模块,具体用于在收到第一指示后,在编码第一视频码流时,将视频序列中待编码的下一个图像帧,编码为第一视频码流的I帧,将下一个图像帧之后的图像帧编码为非参考图像帧;和/或,该装置的传输模块,还用于通过UVC协议EU通道,接收主机发送的第二指示,并发送至编码模块,第二指示用于指示视频设备编码多路视频码流;编码模块,具体用于根据第二指示,按照编码指示信息指示的N组编码参数,将视频序列编码为N路编码参数不同的视频码流;传输模块,还用于接收编码模块根据第二指示编码的N路视频码流;和/或,该装置的传输模块,还用于通过UVC协议EU通道,接收主机发送的第三指示,并发送至编码模块,第三指示用于指示视频设备编码一路视频码流;编码模块,具体用于根据第三指示,将视频序列编码为一路视频码流;传输模块,还用于接收编码模块根据第三指示编码的一路视频码流;和/或,该装置的传输模块,还用于通过UVC协议EU通道,接收主机发送的第四指示,并发送至编码模块,第四指示用于指示编码模块重启;编码模块,具体用于根据第四指示重启,按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流;传输模块,还用于接收编码模块根据第四指示编码的N路视频码流。
作为一种可能的实现方式,传输模块与主机间在USB线缆中建立了多个UVC协议数据流通道;传输模块,还用于:接收主机发送的第五指示,第五指示包括目标UVC协议数据流通道的标识;传输模块,具体用于:传输模块在目标UVC协议数据流通道中,串行交替发送N路视频码流。
作为一种可能的实现方式,传输模块与主机间在USB线缆中还建立了UVC协议控制流通道;传输模块,还用于:通过UVC协议控制流通道,接收主机发送的第六指示,并发送至编码模块,第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度;编码模块,还用于根据第六指示配置视频设备的参数。
作为一种可能的实现方式,该装置的传输模块,还用于通过UVC协议EU通道,接收主机发送的编码指示信息,并发送至编码模块。
作为一种可能的实现方式,该装置的传输模块,还用于根据主机的驱动,与主机间在USB线缆中建立UVC协议EU通道和UVC协议数据流通道。
第四方面,本申请提供一种传输视频码流的装置,该装置部署于主机,主机通过通用串行总线USB线缆连接了视频设备,主机与视频设备间在USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;该装置可以包括:接收模块,用于通过UVC协议数据流通道,接收视频设备发送的串行码流,串行码流中包括交替传输的N路视频码流;N路视频码流为视频设备按照编码指示信息指示的N组编码参数编码得到;编码参数包括分辨率和/或编码格式;N大于或等于2;视频码流中携带用于区分不同路视频码流的标识信息;编码指示信息为主机通过UVC协议EU通道发送至视频设备;拆分模块,用于根据视频码流的标识信息,从串行码流中拆分获取N路视频码流。
作为一种可能的实现方式,视频码流包括:标识信息、通道数信息、数据包长信息以及编码数据;N路视频码流的头部包括总通道数信息和总数据包长;通道数信息用于指示视频码流的路数;数据包长信息用于指示每路视频码流中一个数据包的数据大小;总数据包长用于指示传输模块串行交替传输一次N路视频码流的数据包的总数据大小。
作为一种可能的实现方式,该装置还可以包括:发送模块,用于在确定丢帧的情况下,通过UVC协议EU通道向视频设备发送第一指示,第一指示用于请求I帧。第一指示为主机在确定第一视频码流丢帧后发送;第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流;和/或,该装置的发送模块,还用于通过UVC协议EU通道,向视频设备发送第二指示,第二指示用于指示视频设备编码多路视频码流。
作为一种可能的实现方式,发送模块,还用于通过UVC协议EU通道,向视频设备发送第三指示,第三指示用于指示视频设备编码一路视频码流。
作为一种可能的实现方式,该装置的发送模块,还用于在确定乱码的情况下,通过UVC协议EU通道,向视频设备发送第四指示,第四指示用于指示视频设备重启编码模块,并按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流。
作为一种可能的实现方式,视频设备与主机间在USB线缆中建立了多个UVC协议数据流通道;装置还包括:确定模块;确定模块,用于:主机从多个UVC协议数据流通道中,确定目标UVC协议数据流通道,目标UVC协议数据流通道所支持的带宽大于或等于N路视频码流的总带宽;发送模块,还用于向视频设备发送第五指示,第五指示包括目标UVC协议数据流通道的标识;接收模块,具体用于通过目标UVC协议数据流通道,接收视频设备发送的串行码流;
作为一种可能的实现方式,视频设备与主机间在USB线缆中还建立了UVC协议控制流通道;发送模块,还用于通过UVC协议控制流通道,向视频设备发送第六指示,第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。
作为一种可能的实现方式,该装置的装置还包括驱动模块,用于驱动视频设备,与视频设备间在USB线缆中建立UVC协议EU通道和UVC协议数据流通道。
第五方面,本申请提供一种视频处理设备,该视频处理设备包括一个或多个处理器和一个或多个存储器;一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,视频处理设备执行如第一方面或第二方面及其任一种可能的传输视频码流的方法。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令在服务器上运行时,使得服务器执行如第一方面或第二方面及其任一种可能的传输视频码流的方法。
第七方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在服务器上运行时,使得服务器执行如第一方面或第二方面及其任一种可能的传输视频码流的方法。
附图说明
图1为本申请实施例提供的一种码流传输系统的结构示意图;
图2为本申请实施例提供的一种传输视频码流的方法示意图;
图3为本申请实施例提供的另一种传输视频码流的方法示意图;
图4为本申请实施例提供的一种视频码流传输装置的结构示意图;
图5为本申请实施例提供的另一种视频码流传输装置的结构示意图;
图6为本申请实施例提供的一种视频设备的结构示意图;
图7为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
首先,对本申请中的部分术语进行解释说明,以便于本领域技术人员理解。
图像:可以通过拍摄获取的静态画面。
图像序列:一个或多个图像构成的序列称之为图像序列。
分辨率:是指图像包括的像素个数。分辨率决定了图像细节的精细程度。图像的分辨率越高,所包含的像素就越多,图像就越清晰,同时,它也会增加文件占用的存储空间。
帧率:是以帧为单位的图像序列,连续出现在显示器上的频率(速率)。在图像处理领域,也可以理解为图形处理器处理图像数据时每秒钟能够更新的次数。帧率越高,动态图像的画面越流畅。
码率:是指视频文件在单位时间内使用的数据流量,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码率越大,压缩比就越小,画面质量就越好。
编码格式:是国际标准化组织规定的一种视频图像压缩格式。常见的编码格式有移动式连续图像压缩技术(motion joint photographic experts group,MJPEG)、H.264或其他。
码流:指图像序列经过编码后所得到的一种流媒体数据。
正如背景技术的描述,在主机参与多主体通信(比如视频会议)的场景中,存在多个远端设备,为了保证每个远端设备更优的视频质量,主机就需要将从USB相机接收的一路视频码流,解码和重编码为多路不同分辨率格式的视频码流,大大增加了主机的处理负担,需要耗费大量主机处理资源。
本申请提出一种传输视频码流的方法,在视频设备与主机间的USB线缆中,建立UVC协议的EU通道和UVC协议数据流通道,主机通过UVC协议的EU通道发送编码指示信息,以使得视频设备根据编码指示信息,将视频序列编码为多路视频码流,并在UVC协议数据流通道中,串行交替发送至主机,主机只需要将串行码流拆分为多路视频码流并转发至多个远端设备。这样一来,主机无需解码和重编码,降低了主机的处理负担以及节约了主机的处理资源。
此外,本申请提供的方案中,通过UVC协议的EU通道发送编码指示信息,在UVC协议数据流通道中,串行交替发送多路视频码流,即将控制信息与视频码流分通道传输,大大降低了每个通道的数据传输量,提高了数据流通道传输视频码流的容量,从而使得多路视频码流传输过程安全高效,提高了传输效率和稳定性。
下面结合说明书附图,对本申请的应用场景进行详细描述。
本申请提供的方案可以应用于图1所示的码流传输系统。如图1所示,码流传输系统10可以包括:视频设备101、主机102、与主机102连接的多个远端设备103。
其中,视频设备101与主机102通过USB线缆连接,两者通过UVC协议标准进行数据传输。视频设备101拍摄的图像序列经编码后,得到视频码流传输至主机102。主机102根据远端设备103的视频需求,根据接收到的视频码流,向远端设备103发送视频码流。
示例性的,视频设备101与主机102间在USB线缆中建立了USB视频类UVC协议的EU通道和UVC协议数据流通道。主机102可以通过UVC协议的EU通道向视频设备101发送编码指示信息,视频设备101可以将拍摄的图像序列,根据编码指示信息,编码为N路视频码流,在UVC协议数据流通道中串行交替发送给主机102。主机102从接收的视频码流中,拆分出N路视频码流,从中选取与远端设备103的视频需求(远端设备103自身的硬件条件和所处网络环境)匹配的视频码流,发送至远端设备103。其中,视频设备101与主机102的具体实现,参照本申请后续方法实施例,此处不再赘述。
示例性的,视频设备101可以包括依次连接的拍摄模块、编码模块以及传输模块,视频设备101的拍摄模块(如定焦/变焦镜头)通过移动行业处理器接口(mobile industryprocessor interface,MIPI)总线将拍摄的视频序列,传输至视频设备101的编码模块,由编码模块对视频序列进行编码,得到编码后的视频码流,视频设备101的传输模块将视频码流通过USB线缆传输至主机102。
示例性的,视频设备101可以为USB相机或摄像机或其他,主机102或远端设备103可以是个人计算机、平板电脑、手机或具备视频数据接收功能的终端设备。
需要说明的是,图1所示的码流传输系统中包括的各个设备的数量以及产品形态,可以根据实际需求配置,图1仅作为一种示例,并不对码流传输系统的构成限定。
下面结合本申请实施例中的其他附图,对本申请实施例中的技术方案进行描述。
在描述本申请提供的具体方案之前,先对视频设备与主机间建立通道的过程进行描述。
值得说明的是,主流操作系统(如Windows XP SP2 and later,Linux 2.4.6andlater,MacOS10.5and later)都已提供UVC设备驱动,因此符合UVC规格的硬件设备(本申请实施例的视频设备)在不需要安装任何的驱动程序下即可在主机中正常使用。使用时,只需将视频设备连接到主机上,便可直接进行图像传输。
具体的,在视频设备与主机通过USB线缆建立物理连接(即视频设备连接到主机上)后,在主机启动视频设备的阶段,视频设备与主机间通信协议的底层代码触发两者建立通道,该底层代码中预先配置了建立UVC协议的EU通道和UVC协议数据流通道的参数,当底层代码运行时,即自动在主机与视频设备间的USB线缆中建立UVC协议的EU通道和UVC协议数据流通道,本申请实施例对于底层代码的配置方式不予赘述,可以参照UVC协议。
本申请提供的传输视频码流的方法,应用于视频设备与主机的交互过程中,该视频设备可以为图1中的视频设备101,主机可以为图1中的主机102。视频设备通过USB线缆与主机连接,视频设备包括依次连接的拍摄模块、编码模块以及传输模块,传输模块与主机间在USB线缆中建立了UVC协议的EU通道和UVC协议数据流通道。
在视频设备与主机进行视频码流传输之前或者传输过程中,主机可以根据场景需求,通过UVC协议的EU通道向视频设备发送控制信息。
其中,该控制信息包括编码指示信息,该编码指示信息用于指示N组编码参数,编码参数包括分辨率和/或编码格式。
其中,N组编码参数可以均不相同。或者,N组编码参数可以部分相同,本申请实施例对此不予限定。
分辨率用于指示视频码流压缩的宽和高。宽用于设置视频图像分辨率的宽度信息,高用于设置视频图像分辨率的高度信息。编码格式用于指示编码视频码流所采用的格式,例如H.264或其他。
可选的,控制信息还可以包括下述信息中一项或多项:比特率信息、帧信息、压缩流信息、数据信息、时间戳信息、标识规则信息、配置信息。
其中,比特率信息用于设置解码视频图像的位流,包括:最大位流、最小位流。
帧信息用于设置视频帧的相关信息,包括:视频帧缓存区大小、默认帧间隔、帧间隔类型。
压缩流信息用于设置码流压缩格式、压缩率等。
时间戳信息用于设置编码和显示视频数据的顺序。一般可分为:编码时间戳、显示时间戳。
标识规则信息,用于指示不同路视频码流的标识信息的分配规则。
配置信息,用于指示编码一次的数据包大小。
如图2所示,本申请实施例提供的传输视频码流的方法可以包括:
S201、视频设备拍摄获取视频序列。
其中,视频序列包括一个或多个图像帧。视频序列为视频设备单次编码的图像帧集合,视频序列中包括的图像帧的数量,可以配置为固定值,或者根据主机提供的配置信息指示的数据包大小决定,本申请实施例不予限定。
作为一种可能的实现方式,视频设备拍摄获取视频序列为H.264编码格式。H.264编码格式中,图像以序列为单位进行组织,一个序列是一路图像编码后的数据流(码流),以I帧开始,到下一个I帧结束。其中,I帧是一个全帧压缩编码帧,描述了图像背景和运动主体的详情,解码时仅用I帧的数据就可以重构完整图像。
具体的,可以由视频设备中的拍摄模块执行S201拍摄获取视频序列。
S202、视频设备按照编码指示信息指示的N组编码参数,将视频序列编码为N路视频码流。
其中,N大于或等于2。
值得说明的是,编码指示信息可以在视频设备与主机进行视频码流传输之前或者传输过程中,主机可以根据场景需求,通过UVC协议的EU通道向视频设备发送。
示例性的,在S201之前,主机通过UVC协议的EU通道向视频设备发送编码指示信息,以使得视频设备按照编码指示信息指示的N组编码参数,将视频序列编码为N路视频码流。
示例性的,编码指示信息指示的N组编码参数为:H.264格式480p、H.264格式720p、H.264格式1080p,视频设备则将S201中的视频序列编码为编码参数分别为H.264格式480p、H.264格式720p、H.264格式1080p的3路视频码流。
具体地,S202中编码的视频序列,可以为S201中拍摄获取的视频序列,视频序列可以是实时或非实时的数据。例如,在视频会议或视频直播的场景下,视频序列为实时数据。
进一步的,S202中视频设备编码的N路视频码流中,可以携带用于区分不同路视频码流的标识信息。本申请实施例对于标识信息的形式和内容不限定。
一种可能的实现形式中,视频设备可以根据主机提供的标识规则信息,确定每路视频码流的标识信息,并携带在视频码流中。
另一种可能的实现方式中,视频设备也可以按照编码参数对N路视频码流排序编号,将编号作为标识信息,携带在视频码流中。
作为一种可能的实现方式,视频码流包括:标识信息、通道数信息、数据包长信息以及编码数据;N路视频码流的头部包括总通道数信息和总数据包长;通道数信息用于指示视频码流的路数;数据包长信息用于指示每路视频码流中一个数据包的数据大小;总数据包长用于指示传输模块串行交替传输一次N路视频码流的数据包的总数据大小。
当然,对于标识信息的内容以及确定方式,可以根据实际需求配置,本申请实施例不予限定。
一种可能的实现方式中,标识信息可以携带于视频码流的包头中。
具体的,可以由视频设备的编码模块从拍摄模块获取视频序列,并按照编码指示信息指示的N组编码参数,将视频序列编码为N路编码参数不同的视频码流,并向传输模块发送N路视频码流。
S203、视频设备在UVC协议数据流通道中向主机串行交替发送N路视频码流。
具体的,可以由视频设备中的传输模块,在UVC协议数据流通道中,串行交替向主机发送N路视频码流。
具体的,将N路视频码流在UVC协议数据流通道中交替传输,即交替使用UVC协议数据流通道传输编码完成的N路视频码流,以实现在UVC协议数据流通道串行交替传输。
进一步的,N路视频码流是对一个图像序列编码后的结果,连续的多个图像序列经过前面的流程,分别被编码为N路视频码流,连续图像序列中一个图像序列编码得到的N路视频码流在UVC协议数据流通道中交替传输,然后下一个图像序列编码得到的N路视频码流在UVC协议数据流通道中交替传输。
S204、主机通过UVC协议数据流通道,接收视频设备发送的串行码流。
其中,S204中主机接收的串行码流,为S203中视频设备发送的码流。该串行码流中包括交替传输的N路视频码流。N路视频码流为视频设备按照编码指示信息指示的N组编码参数编码得到。
S205、主机根据视频码流的标识信息,从串行码流中拆分获取N路视频码流。
具体的,视频码流中携带了用于区分不同路视频码流的标识信息,主机可以根据视频码流的标识信息,将携带了相同标识信息的视频码流作为一路视频码流,从串行码流中拆分获取N路视频码流。
进一步的,N路视频码流是对一个图像序列编码后的结果,连续的多个图像序列经过前面的流程,分别被编码为N路视频码流,主机通过S204和S205会接收并拆分出连续图像序列中一个图像序列编码得到的N路视频码流,然后接收并拆分出下一个图像序列编码得到的N路视频码,将携带了相同标识信息的视频码流作为一路视频码流。
示例性的,假设主机通过UVC协议的EU通道向视频设备发送的编码指示信息为指示了三组编码参数,分别为:H.264格式480p、H.264格式720p、H.264格式1080p,视频设备的编码模块根据上述编码参数编码三路视频码流,各自的标识信息分别记录为a,b,c。假设视频设备获取的图像序列依次为1、2、3……,视频设备依次处理图像序列,先将图像序列1编码为a1,b1,c1;再将图像序列2编码为a2,b2,c2;再将图像序列3编码为a3,b3,c3,以此类推;视频设备在UVC协议数据流通道中串行交替传输,传输的串行码流为:(a1,b1,c1,a2,b2,c2,a3,b3,c3)。主机收到该串行码流后,根据标识信息a,b,c,将具有相同标识信息的视频码流作为一路视频码流,中即拆分出3路视频码流,a1,a2,a3为编码参数为H.264格式480p的第一路视频码流,b1,b2,b3为编码参数为H.264格式720p的第二路视频码流,c1,c2,c3为编码参数为H.264格式1080p的第三路视频码流。
进一步的,视频设备与主机对于每一个图像序列,均执行上述S201至S205的过程,以实现连续的视频码流传输。
显而易见的,通过本申请提供的方案,视频设备的传输模块与主机间在USB线缆中建立UVC协议的扩展单元EU通道和UVC协议数据流通道,主机通过UVC协议的EU通道向视频设备发送编码指示信息,以使得视频设备根据编码指示信息,将视频序列编码为多路视频码流,并在UVC协议数据流通道中串行交替发送至主机,主机只需要将串行码流拆分为多路视频码流。这样一来,主机无需解码和重编码,降低了主机的处理负担以及节约了主机的处理资源。
此外,本申请提供的方案中,通过UVC协议的EU通道发送编码指示信息,在UVC协议数据流通道中串行交替发送多路视频码流,即将控制信息与视频码流分通道传输,大大降低了每个通道的数据传输量,提高了数据流通道传输视频码流的容量,从而使得多路视频码流传输过程安全高效,提高传输效率和稳定性。
可选的,若存在远端设备与主机连接,主机可以向主机连接的远端设备,发送N路视频码流中远端设备支持的最优编码参数的视频码流(拆分后的一路视频码流)。
示例性的,主机获取与主机连接的远端设备的解码能力信息,主机根据远端设备的解码能力,发送N路视频码流中该远端设备支持的最优编码参数的视频码流。
可选的,将编码后的N路视频码流通过USB线缆传输至主机,主机通过网络将N路视频码流拆分成单路视频码流并发送至远端设备,以适配远端设备的网络及硬件情况。远端设备需要对上述单路视频码流进行解码,以使得在远端设备中显示视频设备拍摄的画面。
进一步的,在远端设备或主机解码该视频码流对应的视频图像的过程中,由于网络波动或其他情况,可能会出现丢帧现象,此时该远端设备会向主机发送丢帧响应,主机会通过UVC协议的EU通道向视频设备发送申请I帧请求,以使得视频设备下一次传输的码流数据中包括I帧数据。如图3所示,本申请实施例提供的方法还可以包括S206至S209。
S206、主机在确定丢帧的情况下,通过UVC协议的EU通道向视频设备发送第一指示。
其中,第一指示用于请求I帧。第一指示为主机在确定第一视频码流丢帧后发送;第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流。
需要说明的是,H.264标准规定的算法对图像组中每个帧的类型作出了决策,例如某帧是属于I帧还是P帧,由于这可以采用现有的帧类型决策算法,在此不再赘述。
S207、视频设备通过UVC协议的EU通道,接收主机发送的第一指示。
具体的,可以由视频设备中的传输模块通过UVC协议的EU通道,接收主机发送的第一指示,并发送至编码模块。
S208、视频设备根据第一指示,在编码第一视频码流时,将视频序列中待编码的下一个图像帧,编码为第一视频码流的I帧。
具体的,可以由视频设备中的编码模块根据第一指示,在编码第一视频码流时,将视频序列中待编码的下一个图像帧,编码为第一视频码流的I帧,将下一个图像帧之后的图像帧编码为非参考图像帧。对于视频设备编码时加入I帧的具体实现,可以参考H.264的编码实现,本申请实施例对此不予限定。
示例性的,主机端检测到与其连接的一个远端设备a存在丢帧情况,主机端自动触发申请I帧指令(第一指示),该指令是通过UVC协议的EU通道进行传输,视频设备会强制使能编码模块重新编码丢帧信息所属的I帧数据,并按照S203的步骤,视频设备在UVC协议数据流通道串行交替向主机发送该I帧数据,进而主机转发至远端设备a。
示例性的,第一视频码流的码流结构为IPBBPPIPBBPP。当主机端到与其连接的一个远端设备a在解码至第4帧(B帧)存在丢帧情况,无法正常解码时,自动触发申请I帧指令(第一指示),以使得解码端在第4帧(B帧)后重新获取IPBBPPIPBBPP的码流结构,此时第一视频码流的码流结构为IPBB-IPBBPPIPBBPP,也即从第5帧时获取I帧数据,开始重新从该I帧数据解码第一视频码流的数据。
进一步的,本申请提供的视频设备还具备工作模式切换功能,在实际应用场景中,可以根据远端设备的连接数量决定视频设备的工作模式是编码为多路视频码流还是单路视频码流。如图3所示,本申请实施例提供的方法还可以包括S209和S210,和/或,还可以包括S211至S213。
S209、主机通过UVC协议的EU通道,向视频设备发送第二指示。
其中,第二指示用于指示视频设备编码多路视频码流。
作为一种可能的实现方式,在连接了多个远端设备后,远端设备向主机发送远端设备所处的网络带宽和硬件性能,以使得主机获取视频设备需要编码视频码流的路数,以及每一路的编码参数。
示例性的,主机连接了4个远端设备,根据4个远端设备所处的网络带宽和硬件性能,主机获取视频设备需要编码3路视频码流,其编码参数分别为:H.264格式480p、H.264格式720p、H.264格式1080p。主机通过UVC协议的EU通道,向视频设备发送第二指示以及编码指示信息。
S210、视频设备通过UVC协议的EU通道,接收主机发送的第二指示。
具体的,可以是视频设备的传输模块通过UVC协议的EU通道,接收主机发送的第二指示,并发送至编码模块。
其中,第二指示用于指示视频设备编码多路视频码流。
作为一种可能的实现方式,传输模块通过UVC协议的EU通道,接收主机发送的第二指示,并发送至编码模块。编码模块根据第二指示,执行S202的编码过程,将视频序列编码为编码指示信息指示的多路视频码流。
S211、主机通过UVC协议的EU通道,向视频设备发送第三指示,第三指示用于指示视频设备编码一路视频码流。
作为一种可能的实现方式,在结束连接多个远端设备后,主机检测到多个远端设备断开连接,或者主机未检测到任一远端设备的上报信息(如连接状态)时,主机通过UVC协议的EU通道,向视频设备发送第三指示,第三指示用于指示视频设备编码一路视频码流。
作为另一种可能的实现方式,主机的客户端界面配置了第三指示触发条件,主机可以响应于用户的手动触发,向视频设备发送第三指示。
S212、视频设备通过UVC协议的EU通道,接收主机发送的第三指示。
具体的,可以是视频设备的传输模块通过UVC协议的EU通道,接收主机发送的第三指示,并发送至编码模块。
S213、视频设备根据第三指示,将视频序列编码为一路视频码流。
其中,主机发送的一路视频码流中的编码格式可以是默认的,也可以是用户手动设置的,本申请不予限定。
在S213之后,视频设备可以将一路视频码流发送至主机。
显而易见的,本申请提供的方案,可以使得视频设备可以切换不同的工作模式。若在视频会议场景下,视频设备可以切换多路视频码流工作模式,使视频设备编码多路视频码流,降低主机的运行功耗。若在本地录制视频场景下,视频设备无需同时编码多路视频码流,只需要编码一路视频码流,便可以满足其需求,进而降低视频设备的功耗。
进一步的,在实际使用过程中,主机端接收的视频码流解码后可能出现乱码的情况,如图3所示,本申请实施例提供的方法还可以包括S214和S215。
S214、在确定乱码的情况下,主机通过UVC协议的EU通道,向视频设备发送第四指示。
其中,第四指示用于指示视频设备重启编码模块,并按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流。
作为一种可能的实现方式,主机和/或远端设备配置人机交互界面,当用户发现主机和/或远端设备的显示画面出现异常,可以通过人机交互界面手动触发重启功能,以使得主机向视频设备发送第四指示。
S215、视频设备通过UVC协议的EU通道,接收主机发送的第四指示。
具体的,可以由视频设备的传输模块,通过UVC协议的EU通道,接收主机发送的第四指示,并发送至编码模块。
S216、视频设备根据第四指示重启编码模块。
具体的,当视频设备的编码模块接收到第四指示时,进行初始化,以使得重启编码模块。编码模块按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流,并向传输模块发送N路视频码流。
进一步的,如图3所示,在S203之前,本申请提供的传输视频码流的方法还可以包括S217。
S217、主机从多个UVC协议数据流通道中,确定目标UVC协议数据流通道,并向视频设备发送第五指示。
其中,目标UVC协议数据流通道所支持的带宽大于或等于N路视频码流的总带宽;第五指示包括目标UVC协议数据流通道的标识。
可以理解的是,当主机从多个UVC协议数据流通道中,确定目标UVC协议数据流通道,并向视频设备发送第五指示后,主机便可以执行S203步骤,具体的,在S203中,视频设备在主机确定的目标UVC协议数据流通道中,向主机串行交替发送N路视频码流。
进一步的,如图3所示,本申请提供的传输视频码流的方法还可以包括S218和S219。
S218、主机通过UVC协议控制流通道,向视频设备发送第六指示。
其中,第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。
需要说明的时,在视频设备与主机进行视频码流传输之前或者传输过程中,主机可以根据场景需求,通过UVC协议控制流通道向视频设备发送第六指示。
S219、视频设备通过UVC协议控制流通道,接收主机发送的第六指示,配置视频设备的通用类参数。
具体的,视频设备的编码模块根据第六指示以及编码指示信息指示的N组编码参数,将视频序列编码为N路编码参数不同的视频码流,并向传输模块发送N路视频码流。
可以看出,上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现功能,本申请实施例提供了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对视频设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例提供的一种传输视频码流的装置,该视频码流传输装置40通过USB线缆与主机连接。传输模块与主机间在USB线缆中建立了USB视频类UVC协议的EU通道和UVC协议数据流通道。如图4所示,该视频码流传输装置40可以包括:拍摄模块401、编码模块402以及传输模块403。
其中,拍摄模块401用于拍摄获取视频序列。视频序列包括一个或多个图像帧。示例性的,上述拍摄模块401可用于支持视频码流传输装置40执行图2中S201的过程。
编码模块402,用于从拍摄模块获取视频序列,并按照编码指示信息指示的N组编码参数,将视频序列编码为N路视频码流。N大于或等于2。编码指示信息为主机通过UVC协议EU通道发送。编码参数包括分辨率和/或编码格式。视频码流中携带用于区分不同路视频码流的标识信息。示例性的,上述编码模块402可用于支持视频码流传输装置40执行图2中S202的过程。
具体的,上述视频码流传输装置40的编码模块402可以用于在收到第一指示后,在编码第一视频码流时,将视频序列中待编码的下一个图像帧,编码为第一视频码流的I帧,将下一个图像帧之后的图像帧编码为非参考图像帧。示例性的,上述编码模块402可用于支持视频码流传输装置40执行图3中S208的过程;和/或,编码模块402可以用于根据第二指示,按照编码指示信息指示的N组编码参数,将视频序列编码为N路编码参数不同的视频码流;和/或,编码模块402用于根据第三指示,将视频序列编码为一路视频码流。示例性的,上述编码模块402可用于支持视频码流传输装置40执行图3中S213的过程;和/或,编码模块402可以用于根据第四指示重启,按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流。示例性的,上述编码模块402可用于支持视频码流传输装置40执行图3中S216的过程。
一种可能的实现方式,编码模块402,还用于根据第六指示,配置所述视频设备的参数。示例性的,上述传输模块403可用于支持视频码流传输装置40执行图3中S219的过程。
传输模块403,用于接收编码模块编码的N路视频码流,以及用于在UVC协议数据流通道中,串行交替发送N路视频码流。示例性的,上述编码模块402可用于支持视频码流传输装置40执行图2中S203的过程。
可选的,上述视频码流传输装置40的传输模块403,还可以用于通过UVC协议EU通道,接收主机发送的第一指示,并发送至编码模块,第一指示用于请求I帧;第一指示为主机在确定第一视频码流丢帧后发送。第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流。示例性的,上述传输模块403可用于支持视频码流传输装置40执行图3中S207的过程;和/或,上述视频码流传输装置40的传输模块403,还可以用于通过UVC协议EU通道,接收主机发送的第二指示,并发送至编码模块,第二指示用于指示视频设备编码多路视频码流,和/或,传输模块403还可以用于通过UVC协议EU通道,接收主机发送的第三指示,并发送至编码模块,第三指示用于指示视频设备编码一路视频码流。示例性的,上述传输模块403可用于支持视频码流传输装置40执行图3中S210或S212的过程;和/或,上述视频码流传输装置40的传输模块403,还可以用于通过UVC协议EU通道,接收主机发送的第四指示,并发送至编码模块,第四指示用于指示编码模块重启,在编码第一视频码流时,将视频序列中待编码的下一个图像帧,编码为第一视频码流的I帧,将下一个图像帧之后的图像帧编码为非参考图像帧。示例性的,上述传输模块403可用于支持视频码流传输装置40执行图3中S215的过程。
一种可能的实现方式,传输模块403,还用于:接收主机发送的第五指示,第五指示包括目标UVC协议数据流通道的标识。示例性的,上述传输模块403可用于支持视频码流传输装置40执行图3中S217的过程。
一种可能的实现方式,传输模块403,具体用于:传输模块在目标UVC协议数据流通道中,串行交替发送N路视频码流。
一种可能的实现方式,传输模块403,还用于:通过UVC协议控制流通道,接收主机发送的第六指示,并发送至编码模块。第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。示例性的,上述传输模块403可用于支持视频码流传输装置40执行图3中S218的过程。
一种可能的实现方式,上述视频码流传输装置40的传输模块403,还可以用于通过UVC协议EU通道,接收主机发送的编码指示信息,并发送至编码模块。
一种可能的实现方式,上述视频码流传输装置40的传输模块403,还可以用于根据主机的驱动,与主机间在USB线缆中建立UVC协议EU通道和UVC协议数据流通道。
进一步的,本申请提供了另一种传输视频码流的装置,该视频码流传输装置50部署于主机,主机通过通用串行总线USB线缆连接了视频设备,主机与视频设备间在USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道。如图5所示,该视频码流传输装置50可以包括:接收模块501、拆分模块502。
其中,接收模块501可以用于通过UVC协议数据流通道,接收视频设备发送的串行码流,串行码流中包括交替传输的N路视频码流;N路视频码流为视频设备按照编码指示信息指示的N组编码参数编码得到;编码参数包括分辨率和/或编码格式;N大于或等于2;视频码流中携带用于区分不同路视频码流的标识信息;编码指示信息为主机通过UVC协议EU通道发送至视频设备。示例性的,上述接收模块501可用于支持视频码流传输装置50执行图3中S203和S204的过程。
拆分模块502可以用于根据视频码流的标识信息,从串行码流中拆分获取N路视频码流。示例性的,上述拆分模块502可用于支持视频码流传输装置50执行图3中S205的过程。
可选的,如图5所示,上述视频码流传输装置50还可以包括:发送模块503和驱动模块504以及确定模块505。
一种可能的实现方式,发送模块503可以用于在确定丢帧的情况下,通过UVC协议EU通道向视频设备发送第一指示,第一指示用于请求I帧,第一指示为主机在确定第一视频码流丢帧后发送;第一指示包括第一视频码流的标识信息;第一视频码流为N路视频码流中任一路视频码流。示例性的,上述发送模块503可用于支持视频码流传输装置50执行图3中S206的过程;和/或,发送模块503可以用于通过UVC协议EU通道,向视频设备发送第二指示,第二指示用于指示视频设备编码多路视频码流。示例性的,上述发送模块503可用于支持视频码流传输装置50执行图3中S209的过程;和/或发送模块503可以用于通过UVC协议EU通道,向视频设备发送第三指示,第三指示用于指示视频设备编码一路视频码流。示例性的,上述发送模块503可用于支持视频码流传输装置50执行图3中S211的过程;和/或发送模块503可以用于在确定乱码的情况下,通过UVC协议EU通道,向视频设备发送第四指示,第四指示用于指示视频设备重启编码模块,并按照编码指示信息指示的N组编码参数,重新从视频序列的第一个图像帧开始,将视频序列编码为N路视频码流。示例性的,上述发送模块503可用于支持视频码流传输装置50执行图3中S214的过程。
确定模块505,用于:主机从多个UVC协议数据流通道中,确定目标UVC协议数据流通道,目标UVC协议数据流通道所支持的带宽大于或等于N路视频码流的总带宽。
一种可能的实现方式,发送模块503,还用于向视频设备发送第五指示,第五指示包括目标UVC协议数据流通道的标识。
一种可能的实现方式,接收模块501,具体用于通过目标UVC协议数据流通道,接收视频设备发送的串行码流。
一种可能的实现方式,发送模块503,还用于通过UVC协议控制流通道,向视频设备发送第六指示,第六指示用于配置视频设备的基础参数信息;基础参数信息为UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。
一种可能的实现方式,驱动模块504可以用于驱动视频设备,与视频设备间在USB线缆中建立UVC协议EU通道和UVC协议数据流通道。
进一步的,本申请实施例提供的一种视频设备的结构示意图,如图6所示,该视频设备60可以包括拍摄模块601、编码模块602以及传输模块603。
其中,该视频设备60用于执行上述实施例提供的任意一种传输视频码流的方法中的步骤。
拍摄模块601可以是定焦镜头、变焦镜头或其他镜头。拍摄模块601可以用于相机拍摄、手机视频、安防监控等领域。
编码模块602可以是支持H.264、MJPEG或其他编码格式的编码设备。编码模块602可以是中央处理器(central processing unit,CPU),通用处理器网络处理器(networkprocessor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。
传输模块603可以是支持USB接口传输总线、MIPI接口传输总线或其他传输总线。拍摄模块601可以通过传输模块603向编码模块602发送视频序列,视频设备60可以通过传输模块603向主机或外界连接设备发送视频码流。
进一步的,本申请实施例提供的一种服务器的结构示意图,如图7所示,该服务器70可以包括处理器701,可选的,还包括与处理器701连接的存储器702。
其中,该处理器701用于执行上述实施例提供的任意一种传输视频码流的方法中的步骤。
处理器701可以是CPU、NP、DSP、微处理器、微控制器、PLD或它们的任意组合。处理器701还可以是其它任意具有处理功能的装置,例如电路、器件或软件模块。处理器701也可以包括多个CPU,并且处理器701可以是一个单核(single-CPU)处理器,也可以是多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
存储器702可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,本申请实施例对此不作任何限制。存储器702可以是独立存在,也可以和处理器701集成在一起。其中,存储器702中可以包含计算机程序代码。处理器701用于执行存储器702中存储的计算机程序代码,从而实现本申请实施例任意一种传输视频码流的方法。
本申请实施例还提供了一种计算机可读存储介质,包括计算机执行指令,当其在计算机上运行时,使得计算机执行上述实施例提供的任意一种传输视频码流的方法。
本申请实施例还提供了一种包含计算机执行指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的任意一种传输视频码流的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机执行指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机执行指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机执行指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (15)
1.一种传输视频码流的方法,其特征在于,应用于视频设备,所述视频设备通过通用串行总线USB线缆与主机连接,所述视频设备包括依次连接的拍摄模块、编码模块以及传输模块;所述传输模块与所述主机间在所述USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;所述方法包括:
所述拍摄模块拍摄获取视频序列;所述视频序列包括一个或多个图像帧;
所述编码模块从所述拍摄模块获取所述视频序列,并按照编码指示信息指示的N组编码参数,将所述视频序列编码为N路视频码流,并向所述传输模块发送N路所述视频码流;所述N大于或等于2;所述编码指示信息为所述主机通过所述UVC协议EU通道发送;所述编码参数包括分辨率和/或编码格式;所述视频码流中携带用于区分不同路视频码流的标识信息;
所述传输模块在所述UVC协议数据流通道中,串行交替发送所述N路视频码流。
2.根据权利要求1所述的方法,其特征在于,所述视频码流包括:所述标识信息、通道数信息、数据包长信息以及编码数据;所述N路视频码流的头部包括总通道数信息和总数据包长;所述通道数信息用于指示所述视频码流的路数;所述数据包长信息用于指示每路所述视频码流中一个数据包的数据大小;所述总数据包长用于指示所述传输模块串行交替传输一次所述N路视频码流的数据包的总数据大小。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述传输模块通过所述UVC协议EU通道,接收所述主机发送的第一指示,并发送至所述编码模块,所述第一指示用于请求I帧;所述第一指示为所述主机在确定第一视频码流丢帧后发送;所述第一指示包括所述第一视频码流的标识信息;所述第一视频码流为所述N路视频码流中任一路视频码流;
所述编码模块在收到所述第一指示后,在编码所述第一视频码流时,将所述视频序列中待编码的下一个图像帧,编码为所述第一视频码流的I帧,将所述下一个图像帧之后的图像帧编码为非参考图像帧;
和/或,
所述传输模块通过所述UVC协议EU通道,接收所述主机发送的第二指示,并发送至所述编码模块,所述第二指示用于指示所述视频设备编码多路视频码流;
所述编码模块根据所述第二指示,按照所述编码指示信息指示的N组编码参数,将所述视频序列编码为N路编码参数不同的视频码流,并向所述传输模块发送N路所述视频码流;
和/或,
所述传输模块通过所述UVC协议EU通道,接收所述主机发送的第三指示,并发送至所述编码模块,所述第三指示用于指示所述视频设备编码一路视频码流;
所述编码模块根据所述第三指示,将所述视频序列编码为一路视频码流发送至所述传输模块;
和/或,
所述传输模块通过所述UVC协议EU通道,接收所述主机发送的第四指示,并发送至所述编码模块,所述第四指示用于指示所述编码模块重启;所述编码模块根据所述第四指示重启,按照编码指示信息指示的N组编码参数,重新从所述视频序列的第一个图像帧开始,将所述视频序列编码为N路视频码流,并向所述传输模块发送N路所述视频码流。
4.根据权利要求1或2所述的方法,其特征在于,所述传输模块与所述主机间在所述USB线缆中建立了多个UVC协议数据流通道;
所述方法还包括:所述传输模块接收所述主机发送的第五指示,所述第五指示包括目标UVC协议数据流通道的标识;
所述传输模块在所述UVC协议数据流通道中,串行交替发送所述N路视频码流,包括:
所述传输模块在所述目标UVC协议数据流通道中,串行交替发送所述N路视频码流。
5.根据权利要求1或2所述的方法,其特征在于,所述传输模块与所述主机间在所述USB线缆中还建立了UVC协议控制流通道;所述方法还包括:
所述传输模块通过所述UVC协议控制流通道,接收所述主机发送的第六指示,并发送至所述编码模块,所述第六指示用于配置所述视频设备的基础参数信息;所述基础参数信息为所述UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度;
所述编码模块根据所述第六指示,配置所述视频设备的参数。
6.一种传输视频码流的方法,其特征在于,应用于主机,所述主机通过通用串行总线USB线缆连接了视频设备,所述主机与所述视频设备间在所述USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;所述方法包括:
通过所述UVC协议数据流通道,接收所述视频设备发送的串行码流,所述串行码流中包括交替传输的N路视频码流;所述N路视频码流为所述视频设备按照编码指示信息指示的N组编码参数编码得到;所述编码参数包括分辨率和/或编码格式;所述N大于或等于2;所述视频码流中携带用于区分不同路视频码流的标识信息;所述编码指示信息为所述主机通过所述UVC协议EU通道发送至所述视频设备;
根据所述视频码流的标识信息,从所述串行码流中拆分获取所述N路视频码流。
7.根据权利要求6所述的方法,其特征在于,所述视频码流包括:所述标识信息、通道数信息、数据包长信息以及编码数据;所述N路视频码流的头部包括总通道数信息和总数据包长;所述通道数信息用于指示所述视频码流的路数;所述数据包长信息用于指示每路所述视频码流中一个数据包的数据大小;所述总数据包长用于指示所述传输模块串行交替传输一次所述N路视频码流的数据包的总数据大小。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
在确定丢帧的情况下,通过所述UVC协议EU通道向所述视频设备发送第一指示,所述第一指示用于请求I帧;所述第一指示为所述主机在确定第一视频码流丢帧后发送;所述第一指示包括所述第一视频码流的标识信息;所述第一视频码流为所述N路视频码流中任一路视频码流;
和/或,
通过所述UVC协议EU通道,向所述视频设备发送第二指示,所述第二指示用于指示所述视频设备编码多路视频码流;
和/或,
通过所述UVC协议EU通道,向所述视频设备发送第三指示,所述第三指示用于指示所述视频设备编码一路视频码流;
和/或,
在确定乱码的情况下,通过所述UVC协议EU通道,向所述视频设备发送第四指示,所述第四指示用于指示所述视频设备重启编码模块,并按照编码指示信息指示的N组编码参数,重新从所述视频序列的第一个图像帧开始,将所述视频序列编码为N路视频码流。
9.根据权利要求6或7所述的方法,其特征在于,所述视频设备与所述主机间在所述USB线缆中建立了多个UVC协议数据流通道;
所述方法还包括:所述主机从所述多个UVC协议数据流通道中,确定目标UVC协议数据流通道,所述目标UVC协议数据流通道所支持的带宽大于或等于所述N路视频码流的总带宽;所述主机向所述视频设备发送第五指示,所述第五指示包括所述目标UVC协议数据流通道的标识;
所述通过所述UVC协议数据流通道,接收所述视频设备发送的串行码流,包括:
通过所述目标UVC协议数据流通道,接收所述视频设备发送的串行码流。
10.根据权利要求6或7所述的方法,其特征在于,所述视频设备与所述主机间在所述USB线缆中还建立了UVC协议控制流通道;所述方法还包括:
通过UVC协议控制流通道,向所述视频设备发送第六指示,所述第六指示用于配置所述视频设备的基础参数信息;所述基础参数信息为所述UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。
11.一种传输视频码流的装置,其特征在于,所述装置通过通用串行总线USB线缆与主机连接;所述传输模块与所述主机间在所述USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;所述装置包括:
拍摄模块,用于拍摄获取视频序列;所述视频序列包括一个或多个图像帧;
编码模块,用于从所述拍摄模块获取所述视频序列,并按照编码指示信息指示的N组编码参数,将所述视频序列编码为N路视频码流;所述N大于或等于2;所述编码指示信息为所述主机通过所述UVC协议EU通道发送;所述编码参数包括分辨率和/或编码格式;所述视频码流中携带用于区分不同路视频码流的标识信息;
传输模块,用于接收所述编码模块编码的N路所述视频码流;
所述传输模块,还用于在所述UVC协议数据流通道中,串行交替发送所述N路视频码流。
12.根据权利要求11所述的装置,其特征在于,
所述视频码流包括:所述标识信息、通道数信息、数据包长信息以及编码数据;所述N路视频码流的头部包括总通道数信息和总数据包长;所述通道数信息用于指示所述视频码流的路数;所述数据包长信息用于指示每路所述视频码流中一个数据包的数据大小;所述总数据包长用于指示所述传输模块串行交替传输一次所述N路视频码流的数据包的总数据大小;
所述传输模块,还用于通过所述UVC协议EU通道,接收所述主机发送的第一指示,并发送至所述编码模块,所述第一指示用于请求I帧;所述第一指示为所述主机在确定第一视频码流丢帧后发送;所述第一指示包括所述第一视频码流的标识信息;所述第一视频码流为所述N路视频码流中任一路视频码流;所述编码模块,具体用于在收到所述第一指示后,在编码所述第一视频码流时,将所述视频序列中待编码的下一个图像帧,编码为所述第一视频码流的I帧,将所述下一个图像帧之后的图像帧编码为非参考图像帧;和/或,所述传输模块,还用于通过所述UVC协议EU通道,接收所述主机发送的第二指示,并发送至所述编码模块,所述第二指示用于指示所述视频设备编码多路视频码流;所述编码模块,具体用于根据所述第二指示,按照所述编码指示信息指示的N组编码参数,将所述视频序列编码为N路编码参数不同的视频码流;所述传输模块,还用于接收所述编码模块根据第二指示编码的N路所述视频码流;和/或,所述传输模块,还用于通过所述UVC协议EU通道,接收所述主机发送的第三指示,并发送至所述编码模块,所述第三指示用于指示所述视频设备编码一路视频码流;所述编码模块,具体用于根据所述第三指示,将所述视频序列编码为一路视频码流;所述传输模块,还用于接收所述编码模块根据第三指示编码的一路所述视频码流;和/或,所述传输模块,还用于通过所述UVC协议EU通道,接收所述主机发送的第四指示,并发送至所述编码模块,所述第四指示用于指示所述编码模块重启;所述编码模块,具体用于根据所述第四指示重启,按照编码指示信息指示的N组编码参数,重新从所述视频序列的第一个图像帧开始,将所述视频序列编码为N路视频码流;所述传输模块,还用于接收所述编码模块根据第四指示编码的N路所述视频码流;
所述传输模块与所述主机间在所述USB线缆中建立了多个UVC协议数据流通道;所述传输模块,还用于:接收所述主机发送的第五指示,所述第五指示包括目标UVC协议数据流通道的标识;所述传输模块,具体用于:所述传输模块在所述目标UVC协议数据流通道中,串行交替发送所述N路视频码流;
所述传输模块与所述主机间在所述USB线缆中还建立了UVC协议控制流通道;所述传输模块,还用于:通过所述UVC协议控制流通道,接收所述主机发送的第六指示,并发送至所述编码模块,所述第六指示用于配置所述视频设备的基础参数信息;所述基础参数信息为所述UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度;所述编码模块,还用于根据所述第六指示配置所述视频设备的参数。
13.一种传输视频码流的装置,其特征在于,所述装置部署于主机,所述主机通过通用串行总线USB线缆连接了视频设备,所述主机与所述视频设备间在所述USB线缆中建立了USB视频类UVC协议的扩展单元EU通道和UVC协议数据流通道;所述装置包括:
接收模块,用于通过所述UVC协议数据流通道,接收所述视频设备发送的串行码流,所述串行码流中包括交替传输的N路视频码流;所述N路视频码流为所述视频设备按照编码指示信息指示的N组编码参数编码得到;所述编码参数包括分辨率和/或编码格式;所述N大于或等于2;所述视频码流中携带用于区分不同路视频码流的标识信息;所述编码指示信息为所述主机通过所述UVC协议EU通道发送至所述视频设备;
拆分模块,用于根据所述视频码流的标识信息,从所述串行码流中拆分获取所述N路视频码流。
14.根据权利要求13所述的装置,其特征在于,
所述视频码流包括:所述标识信息、通道数信息、数据包长信息以及编码数据;所述N路视频码流的头部包括总通道数信息和总数据包长;所述通道数信息用于指示所述视频码流的路数;所述数据包长信息用于指示每路所述视频码流中一个数据包的数据大小;所述总数据包长用于指示所述传输模块串行交替传输一次所述N路视频码流的数据包的总数据大小;
所述装置还包括:发送模块,用于在确定丢帧的情况下,通过所述UVC协议EU通道向所述视频设备发送第一指示,所述第一指示用于请求I帧;所述第一指示为所述主机在确定第一视频码流丢帧后发送;所述第一指示包括所述第一视频码流的标识信息;所述第一视频码流为所述N路视频码流中任一路视频码流;和/或,所述发送模块,还用于通过所述UVC协议EU通道,向所述视频设备发送第二指示,所述第二指示用于指示所述视频设备编码多路视频码流;和/或,所述发送模块,还用于通过所述UVC协议EU通道,向所述视频设备发送第三指示,所述第三指示用于指示所述视频设备编码一路视频码流;和/或,所述发送模块,还用于在确定乱码的情况下,通过所述UVC协议EU通道,向所述视频设备发送第四指示,所述第四指示用于指示所述视频设备重启编码模块,并按照编码指示信息指示的N组编码参数,重新从所述视频序列的第一个图像帧开始,将所述视频序列编码为N路视频码流;
所述视频设备与所述主机间在所述USB线缆中建立了多个UVC协议数据流通道;所述装置还包括:确定模块;所述确定模块,用于:所述主机从所述多个UVC协议数据流通道中,确定目标UVC协议数据流通道,所述目标UVC协议数据流通道所支持的带宽大于或等于所述N路视频码流的总带宽;所述发送模块,还用于向所述视频设备发送第五指示,所述第五指示包括所述目标UVC协议数据流通道的标识;所述接收模块,具体用于通过所述目标UVC协议数据流通道,接收所述视频设备发送的串行码流;
所述视频设备与所述主机间在所述USB线缆中还建立了UVC协议控制流通道;所述发送模块,还用于通过UVC协议控制流通道,向所述视频设备发送第六指示,所述第六指示用于配置所述视频设备的基础参数信息;所述基础参数信息为所述UVC协议中相机通用类参数配置信息,包括:白平衡和/或曝光度。
15.一种视频处理设备,其特征在于,包括一个或多个处理器和一个或多个存储器;
所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述视频处理设备执行如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211725779.4A CN116193124A (zh) | 2022-12-30 | 2022-12-30 | 一种传输视频码流的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211725779.4A CN116193124A (zh) | 2022-12-30 | 2022-12-30 | 一种传输视频码流的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116193124A true CN116193124A (zh) | 2023-05-30 |
Family
ID=86449993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211725779.4A Pending CN116193124A (zh) | 2022-12-30 | 2022-12-30 | 一种传输视频码流的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116193124A (zh) |
-
2022
- 2022-12-30 CN CN202211725779.4A patent/CN116193124A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12003743B2 (en) | Video stream decoding method and apparatus, terminal device, and storage medium | |
JP6226490B2 (ja) | 小待ち時間レート制御システムおよび方法 | |
US20180220170A1 (en) | Method and apparatus for transmitting data of mobile terminal | |
CN110121114B (zh) | 发送流数据的方法及数据发送设备 | |
US20210400233A1 (en) | Encoding method, image encoder and image transmission system | |
US10009628B2 (en) | Tuning video compression for high frame rate and variable frame rate capture | |
US20230262273A1 (en) | Video stream processing method, apparatus, device, storage medium, and program product | |
JP4331835B2 (ja) | 画像データ伝送方法 | |
EP2934007A1 (en) | Method for switching coding mode, sending end and receiving end | |
CN113068001B (zh) | 基于级联摄像机的数据处理方法、装置、设备和介质 | |
EP3163878A1 (en) | Device capability negotiation method and apparatus, and computer storage medium | |
CN113992883B (zh) | 视频会议处理方法、处理设备、会议系统以及存储介质 | |
US9201493B2 (en) | Communication apparatus, method for controlling communication apparatus, and program | |
JP2015095733A (ja) | 画像伝送装置、画像伝送方法、及びプログラム | |
US20130007206A1 (en) | Transmission apparatus, control method for transmission apparatus, and storage medium | |
US8937999B2 (en) | Moving image compression encoding apparatus, method, and control program | |
CN116193124A (zh) | 一种传输视频码流的方法及装置 | |
CN115550709B (zh) | 数据处理方法及电子设备 | |
CN116962613A (zh) | 数据传输方法及装置、计算机设备、存储介质 | |
CN112203050A (zh) | 一种视频续传的方法及装置 | |
US11985318B2 (en) | Encoding video with extended long term reference picture retention | |
US11595652B2 (en) | Explicit signaling of extended long term reference picture retention | |
CN112154665A (zh) | 视频显示方法、接收端、系统及存储介质 | |
WO2023085559A1 (ko) | 영상 송신 장치 및 방법 | |
CN103313017B (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 |