一种网络摄像机视频传输方法

文档序号:9263713阅读:575来源:国知局
一种网络摄像机视频传输方法
【技术领域】
[0001 ] 本发明涉及一种网络摄像机视频传输方法。
【背景技术】
[0002]目前常用的网络摄像机,其分辨率可达到300万至1200万,随着用户需求的不断提高,对分辨率、帧率的要求还会越来越高。经过编码压缩技术得到的视频流,及时上传到网络中,发送给其他终端,实现用户的实时观看,而这样的功能,需要每秒发送高达8Mbit甚至更高的数据流。
[0003]网络摄像机的实时视频播放功能,是根据用户的请求协议,将实时拍摄到的画面图像压缩编码成视频流(如H.264/H.265/MPEG4等),在按照某种协议(如RTSP/私有协议等),通过网络发送给用户使用的终端,再进行解码播放,使用户能远距离实时地观看拍摄场景画面。
[0004]对于全景像机,由于其拍摄画面特殊,存在大量畸变,需要特殊的图像处理来显示才能使观看者较容易接受。图1就是一种透视效果对全景图像进行处理,模拟云台PTZ来显示其中的一小部分区域(左下角全景图像的框体内部)。
[0005]随着硬件技术的发展,目前摄像机的分辨率越来越高,导致视频编码与解码开销增大,视频流数据量也变大,在某些场合下,网络提供的带宽与编解码提供的硬件资源不能满足完整的视频传输要求。这个问题在全景像机应用时尤为突出(全景摄像机主要功能是通过特殊的成像系统拍摄周围180°甚至360°的图像,将采集到的图像数字化,在进行压缩编码,通过网络发送给用户观看。由于拍摄的范围想当广泛,其分辨率需求也比一般摄像机要求更高)。
[0006]在传输高质量、高流畅度、高清晰度的视频时,其数据流量也会相应提高,而正因如此,视频的整体观看效果受到网络带宽条件、流量条件以及编码设备和播放设备软硬件条件的严格限制。
[0007]在局域网(或其他专用网络)条件下,由于带宽资源丰富,所以能够承受高码流的视频数据传输,但是在广域网应用时(如基于互联网的应用),通常提供的传输带宽极为有限,不能满足视频传输所需要的带宽要求。目前基于3G、4G的无线互联网应用也同样很难满足要求,况且其按流量收费的方式也给用户带来比较大的负担。
[0008]随着分辨率的提高,编码设备输出的帧率会有所下降(如同样价格成本的编码芯片,针对130万象素的视频可以做到30帧,而针对500万象素的视频只能做到15帧)。
[0009]此外,随着智能终端的普及,手机、PAD在很多时候成为互联网应用像机的视频观察屏幕,限于终端设备的处理能力限制,这些基于智能终端的应用在处理视频时(如对图形进行畸变修正),如果图像的分辨率高,也会带来压力。
[0010]目前已存在一种基于ROI区域的编码技术,根据自动或手动设置的感兴趣区域,通过参数调节甚至算法修改,只对区域内进行精细编码,进而降低码流量,减少对带宽的需求。即使采用ROI区域编码,虽然能降低带宽需求,但因为实现图像的分辨率并没有改变,也无法提高帧率和降低硬件性能需求。
[0011]受到视频显示终端的限制,高分辨率图像在设备端显示时,经常只显示其中一部分,传统的编解码、传输、处理整个图像的方法实际造成资源浪费。

【发明内容】

[0012]为了解决上述的技术问题,本发明的目的是提供一种网络摄像机视频传输方法,该方法基于用户的观看视频的需求,在尽可能保证用户观看质量的前提下,利用有限的网络资源,实现视频的传输,解决了带宽不足时,保持向用户提供高质量、高流畅度、高清晰度的视频。
[0013]为了实现上述的目的,本发明采用了以下的技术方案:
一种网络摄像机视频传输方法,该方法包括以下的步骤:
1)通过互联网,网络像机与客户端程序建立连接;
2)客户端根据当前的自动或手动操作,生成控制信息,发送给网络像机,所述的信息包括客户端的图像需求分辨率、播放区域和图像质量设置中的一种或多种;
3)网络像机根据收到的指令,对传感器采集到的画面进行处理,以满足客户播放需求;
4)网络像机对处理后的图像序列进行视频流编码;
5)将视频流处理所依据的播放信息内嵌入视频流一起发送给客户端;或者通过网络协议,以单独的数据形式发送给客户端;
6)客户端根据收到的视频流以及播放信息进行解码和显示;
7)当客户端的播放信息发生变动时,重复第二步到第六步。
[0014]通过以上方法,可以根据用户的浏览需求,动态调整传输内容,一方面降低了对传输带宽的要求,同时也降低接收端的视频解码和运算压力。
[0015]作为优选,所述的步骤3)中网络像机对画面进行处理的手段包括剪裁画面和图像缩放中的一种或2种。
[0016]作为优选,所述的步骤3)中网络摄像机进行高清完整图像的采集和本地存储。
[0017]作为优选,所述的步骤4)中视频流编码采用H264视频流编码。
[0018]作为优选,所述的步骤5)中播放信息包括视频在全局中的位置、边界和当前视频分辨率、帧率。
[0019]作为优选,所述的网络摄像机为普通摄像机或全景摄像机,所述的全景摄像机的视场角为120°以上。
[0020]上述技术需要通过网络传输,将客户端控制指令发往IPC,IPC改变局部视频编码后再传输给客户端。由于存在网络通信延迟、视频编码延迟等问题,可能会导致用户感觉控制响应延迟,体验感较差,而且由于局部码流的编码区域延迟,会导致用户操作时,当前显示区在延迟时间内没有图像显示。
[0021]为了解决上述的技术问题,本发明的进一步改进方案是:
在客户端播放完整图像时,根据显示设备的分辨率尺寸,合理设置缩放比例,发送给网络像机;网络摄像机生成完整图像的缩放视频,传输给客户端,类似目前常用的子码流,称为StreamOri ;将步骤4)获得视频流编码称为StreamLocal,在执行步骤5)的同时仍然进行StreamOri的编码,并将StreamOri与StreamLocal视频流混合;步骤6)客户端根据收到的混合视频流后,分检出完整图像缩放视频和局部剪裁缩放视频,以及相关的播放信息;得到不同的图像FrameOri和FrameLocal再根据播放需要,显示在不同区域:当需要播放全图时,显示FrameOri,当需要显示局部矫正视频,则显示FrameLocal,当FrameLocal与需要显示的区域不一致时,使用FrameOri进行临时填充。
[0022]作为优选,根据设置信息调整StreamLocal和StreamOri的码流量比例和\或帧率比例,将两路视频流按照时序进行混合。
[0023]作为优选,根据资源限制或其他控制,将StreamOri帧率调低,然后嵌入StreamLocal视频流中,并通过特定协议或视频流标准协议的部分信息加以区分,在客户端时针对不同的视频分别解码。
[0024]目前的大部分视频播放设备实际分辨率在1080P (约200万像素)或720P (约100像素)左右即可提供很好的观看效果,这一分辨率基本都小于高分辨网络摄像机的拍摄分辨率(通常可以提供500万或更高像素),所以在播放视频时,或者显示视频的局部细节而忽略其他区域,或者忽略细节而播放整体场景。本发明由于采用了上述的技术方案,当用户需要观看整体画面时,可以根据用户发送的显示分辨率信息对图像的缩小,再进行编码;而如果用户需要观看局部时,则根据用户发来的显示区域信息以及显示分辨率信息对图像进行裁剪缩放,分割出局部图像进行编码。另外通过技术处理实现两种情况的自然过渡,最终实现根据用户的实时需求,在满足需求的条件下减少码流数据,降低带宽或流量需求。本发明的方法基于用户的观看视频的需求,在尽可能保证用户观看质量的前提下,利用有限的网络资源,实现视频的传输,解决了带宽不足时,保持向用户提供高质量、高流畅度、高清晰度的视频。
【附图说明】
[0025]图1为全景视频处理效果图。
[0026]图2为网络摄像机的画面整体显示和局部放大显示。
【具体实施方式】
[0027]实施例1网络摄像机局部放大(如图2所示)
I)在网络像机与客户端程序间建立连接。
[0028]2)客户端获取当前将要播放的窗口分辨率(width,height )、用户手动或自动设置的播放视频区域中心在原始图像(WIDTH, HEIGHT )中的像素(cx,cy ),视频显示放大倍数rate (rate>=l:按比例播放局部;rate=0:播放全图)。并发送给网络像机。
[0029]3)网络像机收到参数后,计算剪裁区域(left, top, right, bottom),缩放比例(fx, fy )ο
[0030]rate = 0 时: fx = width / WIDTH fy = height / HEIGHT left = 0
top = 0right = WIDTHbottom = HEIGHT
rate != 0 时:
显示放大系数
rate = max(rate, width / WIDHT )rate = max(rate, height / HEIGHT )
显示播放区域不能超过原始图像范围
cx = max(cx, width * 0.5 / rate )
cx = min( cx, WIDTH - width * 0.5 / rate )
cy = max(cy, height * 0.5 / rate )
cy = min( cy, HEIGHT - height
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1