使用互联网协议的外围总线视频通信的制作方法

文档序号:20918175发布日期:2020-05-29 13:48阅读:181来源:国知局
使用互联网协议的外围总线视频通信的制作方法

本申请是申请日为2016年11月15日,名称为“使用互联网协议的外围总线视频通信”,申请号为201680079460.5的中国发明申请的分案申请。

相关申请的交叉引用

本专利文件要求2016年1月26日提交的美国专利申请第15/007,080号的权益。上述专利申请的全部内容通过引用并入本文中,作为本文公开的一部分。

本专利文件涉及视频通信,并且在一个方面,涉及将视频数据传输至通用串行总线外围接口和互联网协议(internetprotocol)接口,以及传输来自该通用串行总线外围接口和互联网协议接口的视频数据。



背景技术:

随着具有计算能力以实时处理和显示视频的高速数据网络和用户设备的不断增加的可用性,视频会议正快速成为社交网络的工具,例如两个用户之间的视频聊天,以及商业生产力工具,例如多个位置处的多个用户之间的视频会议。通常使用网络摄像机来拍摄视频,该网络摄像机通过外围连接(例如通用串行总线(usb)连接)而被连接至用户计算机。



技术实现要素:

本文公开了用于允许用户设备经由互联网协议(ip)连接而连接至视频摄像机的技术,同时仍允许其操作系统使用非ip外围总线的本地可用视频处理能力。

在一个示例方面中,促进摄像机设备和用户设备之间的多媒体信息的交换的方法包括:对于在ip接口处接收到的多媒体数据,将该多媒体数据从ip格式转换为外围总线格式,并在外围总线上输出所转换的多媒体数据。对于在ip接口上接收到的第一控制消息,该方法进一步包括将第一控制消息转换为外围总线格式。对于在外围总线接口上接收到的第二控制消息,该方法还包括在ip接口上转换并传送第二控制消息。

在另一方面,公开了一种用于促进摄像机设备和用户设备之间的多媒体信息的交换的桥接装置(apparatus)。该装置包括将该装置可通信地耦合至摄像机设备的互联网协议(ip)接口、以互联网视频格式经由ip接口接收多媒体数据并提取被压缩的或未被压缩的数字视频的模块、将所提取的数字视频重新格式化为外围总线格式、将视频以外围总线格式呈现提供给用户设备的模块、对于以外围总线格式从用户设备接收到的第一命令,将该第一命令转换为互联网格式的模块、和对于以互联网格式从ip接口接收到的第二命令,将该第二命令转换为外围总线格式的模块、以及用于提供用户设备与摄像机设备之间连接性的模块。

在又一方面,用于视频通信的系统包括被耦合至互联网协议(ip)网络的摄像机装置、具有被耦合至ip网络的第一连接和与外围总线的第二连接的桥接装置、以及包括存储器和处理器的用户设备,其中该处理器执行本地支持外围总线上的视频通信的操作系统,并且其中桥接装置转码ip网络与外围总线之间的视频。

在附图、说明书和权利要求书中阐述了这些和其他方面及其实现方式和变型。

附图说明

图1是ip视频通信系统的示例的框图。

图2是用户设备中的示例性软件协议栈实现方式的框图。

图3是示例性视频转码实现方式的框图。

图4是示例桥接装置的框图。

具体实施方式

当今的计算机操作系统本地支持使用外围总线连接的视频摄像机。例如,用户经常使用外部摄像机设备(例如网络摄像机)来拍摄视频和/或音频,并将它们与在用户设备上运行的软件应用一起使用。许多现代操作系统本地支持摄像机功能以及用于某些通信外围设备的设备驱动程序。“本地”支持可能意味着,例如,用户不需要在他们的设备上安装专有的摄像机软件驱动程序,并且可以简单地将摄像机插入外围连接,等待操作系统识别摄像机并在几秒钟内开始使用摄像机。

本地支持的摄像机功能的一个这样的示例是在现代个人计算机、平板电脑、便携式计算机等中常见的通用串行总线(usb)接口。诸如微软的几种windows版本之类的操作系统包括具有本地usb驱动程序的视频摄像机功能,因此为usb连接的摄像机提供“即插即用”的用户体验,而无需加载摄像机专用设备驱动程序或任何其他新的软件。

usb连接性的无线实现设备是市售的,但这样的产品并非普遍可用,并且经常要求用户安装额外的软件以使无线功能工作。因此,usb通常将用户设备与摄像机设备之间的连接性限制为usb电缆。因此,对有线连接的需求将用户设备与摄像机设备之间的距离限制为典型的usb连接器的长度,或最多约10米左右。此外,外围总线连接协议(例如usb)通常是点对点连接,这意味着只有单个用户设备才可以连接至usb摄像机并控制usb摄像机。和其他有线视频传输标准(例如高清晰度多媒体接口(hdmi)连接器或数字视频接口(dvi)电缆连接器)一样,存在类似问题。

外围摄像机设备的这种限制在许多实际应用中限制了有用性。例如,要访问会议室中的usb摄像机,多个用户可能必须将其自己的,可能很长的usb电缆插入n:1usb多路转接器,然后才能为用户提供一次一个访问权限(one-at-a-timeaccess)。此外,usb用户设备或主机可使用usb连接至多个视频源,但usb标准不允许外部控制器在任何给定的时间告知usb主机使用哪个视频源。一种解决方案可能是会议室预先使用usb或hdmi或dvi或其他合适的电缆进行预连线,以便在整个房间内有多个位置可供用户在房间内将其设备插入摄像机。然而,通过墙壁和导管来设定附带有连接器的预制电缆的路径是困难的或不可能的,并且往往可能会导致连接质量的破坏性降低。这样的安装可能还需要中继器来延长长距离的连接,这是一种昂贵的解决方案。此外,并非所有市售的usb电缆延长器都支持所有usb网络摄像机,这使得选择正确电缆的过程异常困难。

stienke等人的公开号为20090231485的美国专利公开了用于将移动设备连接至外部显示器的技术。尤其是,公开了一种通过usb(使用uvc编码)协议来承载视频数据的加密狗(dongle),以将移动设备侧的低分辨率显示器与高分辨率外部显示器连接在一起。该加密狗执行将分辨率从高分辨率降低至低分辨率。

lohier等人的第8,451,910号美国专利公开了通过无线wi-fi接口来传送usbuvc格式的视频数据的无线网络摄像机的操作。视频编码适用于通过无线接口保持uvc视频的同步性质。

nicolet等人的公开号为20080147928的美国专利公开了用于经由多个总线接口(诸如usbuvc和无线)将设备连接至主机的技术,使得总线接口可在操作期间无缝切换。通过为每个设备维持单个物理设备对象(pdo)来跟踪单个外部设备的多个总线之间的关系。

chen等人的第8,019,917号美国专利公开了一种使用usbuvc协议将音频视频数据传送至主机的音频/视频捕捉设备。尤其是,修改uvc协议以支持同一usb连接上的多个同步流(isochronousflows)。作为该技术的示例应用,特别提及视频会议。

然而,现有技术未能为本文所描述的一些操作问题提供满意的解决方案。

本文中所描述的技术可用于克服这些操作限制等。在一些实施方式中,所公开的技术可用于将ip网络视频流(stream)转换为usb视频类别协议(usbuvc),反之亦然。在另一有利方面中,所公开的技术可在用户设备外部的桥接设备中实现,或可被集成以在用户设备的硬件平台内操作,例如通过全软件或组合的硬件-软件实施方式。在本文中将对这些和其他方面进行更加详细地描述。

图1是示出示例系统100的框图,其中视频可在几种视频源102和使用视频的终端节点设备122之间进行通信,例如,通过将显示器上的视频显示给终端用户。视频源102可包括具有内置在其中的摄像机功能的设备,例如经由ip链路能直接进行通信的视频摄像机104、具有内置摄像机的电话106、台式计算机108以及平板计算机或便携式计算机110。视频源还可以包括仍然可以产生视频信号的非摄像机源,例如,到ip转换器的具有视频的媒体源112。例如,媒体源112可以是诸如机顶盒的网络接收设备、或扫描仪或电影到数字视频转换器等。

视频源102可经由ip网络与终端节点设备122通信,该ip网络包括ip网络设备,例如以太网交换机114、例如蜂窝系统的基站或wi-fi网络的接入点的无线ip传送器和/或本领域技术人员公知的其他ip功能。通常,ip网络可包括彼此连接的多个有线和无线网络。

作为示例,而非穷举地,终端节点设备可以是个人计算机124、便携式计算机126、平板电脑128和/或具有图像显示器的电话130。终端节点设备122可以能够通过ip接口(例如,有线(wired)或有线(wireline)ip接口)发送和接收包括视频数据的数据。

终端节点设备122在其上操作的计算平台可包括操作系统。许多操作系统,例如microsoft的几种windows版本,提供本地支持,以便能够接收和传送视频数据,并控制与视频数据相关的数据。

图2是便于在摄像机设备(例如,视频源102)和用户设备(例如,终端节点设备122)之间交换多媒体信息的示例方法200的流程图。该方法200可通过桥接设备,例如桥接设备116,来实现。

方法200包括在202处通过ip接口接收多媒体数据。在几种实施方式中,ip接口可以是有线的或无线的,例如,使用cat5以太网电缆,如本文中所描述的。

方法200包括在204处将多媒体数据从ip格式转码为外围总线格式。例如,在一些实施方式中,ip格式可以包括h.264压缩格式的压缩数字视频,该压缩数字视频然后通过ip使用mpeg-2传输数据包进行传送。在一些实施方式中,ip格式可以包括未压缩的视频格式,例如,在rfc4175中指定的ietf格式,或由视频服务论坛指定的未压缩的视频格式。在一些实施方式中,外围总线格式可以包括用于通过usb来传输(carriage)视频的uvc格式,该uvc格式支持传输压缩的和未压缩的视频。ip格式的其他示例可以包括使用mpeg-2压缩的rtp、h.265(高效视频编码hevc)、vp8/9视频压缩、mpeg-dash或hls流(streaming)格式或其他合适的格式。外围总线格式可以包括其他外围总线格式,例如displayport、hdmi等。

方法200包括在206处在外围总线上输出重新格式化的多媒体数据。合适的外围总线的一个这样的示例包括usb,该usb通过接收视频数据的用户设备的操作系统被本地支持。例如,本地支持可通过将用于操作外围总线的软件与安装操作系统的软件捆绑来提供。例如,该软件可以包括驱动程序软件,该驱动程序软件检测向外围总线插入/拔掉外部设备以及通过外围总线接收和传送数据。

方法200包括在208处,针对在ip接口上接收到的第一控制消息,将该第一控制消息转换为外围总线格式。该转换可使用查找表(lut)机制来执行。第一控制消息可以是,例如,onvif控制消息。

方法200包括在210处,针对在外围总线接口上接收到的第二控制消息,将该第二控制消息转换为ip接口格式。该转化可以使用lut机制来执行。在一些实施方式中,第二控制消息可以包括usbuvc控制消息,并且ip接口格式可以包括onvif协议。

方法200包括在212处通过ip接口传送转换后的第二控制消息。例如,转换后的第二控制消息可以符合开放型网络视频接口论坛(onvif)格式。

在一些实施方式中,转码操作可以包括如图3所示的示例中所描述的操作。图3是示出视频转码操作的示例的框图。方框302表示解压缩操作,其中ip接口上接收到的视频可以被解压缩。可使用在处理器上执行的代码、在硬件中、或使用硬件加速与解压缩操作的软件执行的组合来执行解压缩302。在此操作期间,转码信息304可以被提取。该信息可以包括用于通过视频再压缩操作306进行有效重新编码的信息,例如,运动矢量数据。为转码而提取的其他信息可以包括命令和控制信息、以及通常被包括在用户数据字段格式(例如h.264)中的信息,这对于将信息呈现给用户的应用是有用的。这些信息可以包括字幕数据、色彩空间定义等。该信息被提供给格式封装阶段308,其中视频再压缩操作306的输出被格式化以符合外围总线的编码视频格式,在该外围总线上转码的视频被发送至用户设备122。

再压缩操作306可以从所接收到的h.264视频产生运动静止图像压缩(mjpeg)兼容的视频输出。在一些实施方式中,当通过ip接口接收到未压缩的视频时,该未压缩的视频可以被转码为诸如mjpeg的压缩视频格式。在这样的实施方式中,解压缩操作302可被省略,或可选择的可简单地涉及将所接收到的ip数据包的数据包报头移除,以提取视频数据有效载荷。在一些实施方式中,当通过ip接口接收到未压缩的视频时,该未压缩的视频在通过外围总线转出时可能未被压缩。在这样的实施方式中,图3中所描述的操作可简单地被省略;相反,来自ip数据包的视频有效载荷可被提取,并被重新封成usbuvc格式。

在ip网络侧,可使用任何公知的视频压缩和传输格式。视频编码格式可以是h.264、hvec/h.265、mjpeg等。可通过使用单播、多播或广播传输的被封装在ip数据包内的mpeg传输、rtsp、rtp或.mp4文件格式来执行传输。

在一些实施方式中,ip视频到uvc视频的转换可在桥接设备中完成,或作为在终端节点或用户设备的操作系统内的应用或驱动程序内操作的软件解决方案来完成。

在一个有利的方面中,由于ip网络允许去往/来自多个摄像机的通信,并且由于桥接设备能够监视和转换控制数据,因此终端节点122可以同时看到并使用多个视频源,例如,usbuvc摄像机。类似地,来自给定摄像机的多媒体数据可同时被传送至多个终端节点122。这可以被实现而使得桥接设备116可以接收来自源的单个视频流(stream),并且可在用于多个终端节点的多个usbuvc连接上产生多个输出。

在一个有利的方面中,实施方式可以克服与某些外围总线标准相关联的限制,这些外围总线标准允许外围设备一次仅与单个用户设备(主机)连接。使用所公开的技术,usb设备则可以同时被连接至多个终端节点。

在另一有利方面中,可使用低成本且无处不在的用于ip流量传输的可用以太网联网技术来实现视频分配,从而使得不必使用昂贵的hdmi或dvi输出以及对应的分配放大器将视频分配给多个地点。以太网分配允许与以太网一样多的主机(数千个)同时连接至同一视频源。cat5或cat6电缆可用于以太网接线。这些电缆可以在将它们路由穿过墙壁和导管之后在现场建造,从而使得安装过程价格低廉。单个的以太网cat5和cat6电缆可在100米的距离内运行,无需扩展器或额外的交换机。

此外,允许多个用户同时访问和控制视频流(stream)并且还支持多个访问位置,开启了现今视频会议应用未提供的附加应用层特征的可能性。

在一些实施方式中,桥接设备116可将其自身作为单个视频源呈现给usb主机,并且可根据任何外部控制设备的请求切换其输入,以使用以太网网络上的任何源。

以往,ip摄像机和ip流媒体(streaming)供应商使用专有控制协议,这使得任何给定的用户设备难以同时或在不同时间与多个摄像机一起操作,而不执行繁琐的软件安装。

由开放型网络视频接口论坛定义的onvif控制协议提供允许摄像机和其他视频源以统一方式操作的视频控制和流媒体(streaming)协议,其允许支持onvif的控制器与许多不同的视频设备制造商一起协作。有利地,桥接设备116可将外围总线格式的控制命令转换为普通的onvif命令,并将onvifip视频流(streams)转换为usbuvc视频流(streams)。

例如,onvif已经定义了被称为ptz(云台变焦(pantiltzoom))服务规范的协议。使用此协议,可以控制摄像机执行多种操作,例如放大或缩小、倾斜、以指定速度平移(pan)、查询其功能等等。正如操作208和210中所描述的,桥接设备116可以实现用于控制命令转换的查找表(lut)。lut可以具有对应于多个外围总线协议的多个列以及对应于onvif协议的列。每行可以提供给定的onvif命令和对应的外围总线命令的转换。通过使用命令转换lut,桥接设备116可以执行命令转换,使得用户设备可以使用其自己的外围总线特定协议来控制摄像机,而摄像机总是由统一的单一控制协议来控制。

在一些实施方式中,方法200还可以包括处理音频数据。多媒体数据可以仅是视频、可以是音频和视频、或可以是仅取决于用户如何设置其会议会话的音频。在一些实施方式中,可以使用与摄像机同地协作(例如,在摄像机镜头附近)的麦克风来接收音频。或者,可以使用用户附近的麦克风,例如,用户设备的内置音频捕捉功能,来接收音频并使音频数字化。由于音频处理经常会经历比对应的视频处理延迟显著更短的延迟(例如,10到20毫秒,而不是视频的1到2秒),因此桥接设备116可以包括用于临时存储音频的缓冲器,以用于唇音同步(lipsynchronization)或与相应的视频对准。在一些实施方式中,可在桥接设备上或在使用多媒体数据的用户设备上运行的应用上提供用户界面(interface)控制,以使用户能够控制唇音同步延迟调整。

图4示出了桥接设备404的示例实施方式。桥接设备可以包括以太网接口406,经由该以太网接口406,其能够与互联网通信,尤其是ip摄像机402,通过可能的以太网交换机114与互联网进行通信。ip摄像机402可以实现摄像机控制api,例如,用于远程控制摄像机的onvifapi。桥接设备404可以经由以太网模块406从ip摄像机402以h.264或其他视频格式接收视频。以太网模块406可将接收到的ip流量的控制部分提供给控制和转换模块410,除了其它方面,该控制和转换模块410执行onvif命令和uvc命令之间的转换。

以太网模块406可将包括视频和/或音频数据的多媒体部分提供给媒体处理模块408,例如实现rtsp功能以接收和/或传送多媒体数据的gstreamer模块。媒体处理模块408可以提取接收到的视频,并将提取的视频提供给转码模块412。重新格式化的多媒体数据可被提供给捕捉模块414。该捕捉模块414可位于桥接设备404内,使得在捕捉模块的输出处,重新格式化的多媒体数据可以看起来好像其已经被插设在主机设备的外围设备中的摄像机捕获。

转码模块412可以重新格式化多媒体数据,以在其输出处符合外围总线标准。转码模块412还可以在控制和转换模块410的控制下,执行任何其他控制功能,例如比特率改变、分辨率改变、颜色空间旋转、伽玛校正等。

驱动模块416可用于与捕捉模块414以及控制和转换模块410通信,使得控制数据和多媒体数据经由驱动模块416进行传递,这使得对于主机接口模块418而言,就好像ip摄像机402被本地插入总线。例如,主机接口模块418可对应于usb设备,并且驱动模块416可包括usb小配件框架。主机接口模块418可以经由usb连接器与用户设备可通信地连接,并且可以通过使用诸如uvc1.1或uvc1.5格式之类的外围总线格式。

应当理解的是,图4中所描述的实施方式可被操作,使得从在用户设备上运行的应用的角度来看,可能看起来像摄像机被插入至外围插座,例如,用户设备的usb连接器。应当进一步理解的是,大多数操作系统包括对某些类型的外围设备的支持。例如,在图4所描述的实施方式中,ip网络中远程存在的ip摄像机能够简单地通过用户设备经由usb外围总线与桥接设备通信而与用户设备可通信地连接。

在一些示例实施方式中,一种便于在摄像机设备和用户设备之间交换多媒体信息的装置包括将该装置可通信地耦合至摄像机设备的ip接口。该装置可以包括以互联网视频格式经由ip接口接收多媒体数据并且例如通过使用在处理器上执行的软件程序进行解析以提取压缩或未压缩的数字视频的模块。该装置还包括将提取的数字视频重新格式化为外围总线格式的模块,例如使用lut机制。该装置包括例如采用在用户设备上执行的软件驱动程序将视频以外围总线格式提供给用户设备的模块。该装置包括模块,其对于以外围总线格式从用户设备接收到的第一命令,将该第一命令转换为互联网格式,并且对于以互联网格式从ip接口接收到的第二命令,将该第二命令转换为外围总线格式。该装置还包括用于在用户设备与摄像机设备之间提供连接性的模块。可使用lut机制来执行转换。

在一些实施方式中,用于视频通信的系统包括被耦合至互联网协议(ip)网络的摄像机装置(例如,102)、具有被耦合至ip网络的第一连接(例如,116)和具有与外围总线的第二连接的桥接装置、以及包括存储器和处理器的用户设备(例如,122),其中该处理器执行本地支持外围总线上的视频通信的操作系统。桥接装置(例如,116)在ip网络与外围总线之间对视频进行转码。可使用onvifptz协议对摄像机装置进行控制。

本文中所描述的已公开的和其他实施方式以及功能操作和模块能以数字电子电路或计算机软件、固件或硬件来实现,包括本文中已公开的结构及其结构等效物,或它们中的一个或多个的组合。已公开的和其它实施方式可被实现为一个或多个计算机程序产品,即,在计算机可读介质上编码的用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基质、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,该装置还可以包括为所涉及的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码用于传送至合适的接收器装置。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言来编写,包括编译或解释的语言,并且可以以任何形式来配置,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序不一定对应于文件系统中的文件。程序可被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、专用于所讨论的程序的单个文件中、或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以被配置为在一台计算机或多台计算机上执行,这些计算机位于一个站点或跨越多个站点分布并通过通信网络互连。

本文中所描述的过程和逻辑流程可通过执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可通过专用逻辑电路来执行,并且装置也可被实现为专用逻辑电路,专用逻辑电路例如,fpga(现场可编程门阵列)或asic(专用集成电路)。

举例来说,适用于执行计算机程序的处理器包括通用和专用微处理器以及任何种类的数字计算机的任一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或将数据传输至一个或多个用于存储数据的大容量存储设备或两者。然而,计算机不需要这种设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和cdrom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

尽管本文包含许多细节,但是这些不应当被解释为对所要求保护的发明或可能要求保护的发明的范围的限制,而是作为对特定实施方式所特有的特征的描述。在单独实施方式的上下文中本文所描述的某些特征也可以在单个实施方式中组合实现。相反地,在单个实施方式的上下文中所描述的几种特征也可以在多个实施方式中单独地或以任何合适的子组合来实现。此外,尽管上文可将特征描述为以某些组合来发挥作用,并且甚至起初如此要求保护,但是来自所要求保护的组合的一个或多个特征可在某些情况下从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变型。类似地,尽管在附图中以特定的顺序描述了操作,但这不应当被理解为要求以所示的特定顺序或按顺序来执行这样的操作,或者执行所有示出的操作以实现期望的结果。

仅公开了几个示例和实现形式。可基于所公开的内容对所描述的示例和实现形式以及其他实现形式做出变型、修改和优化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1