CN107707830A - 基于单向通信的全景视频播放拍照系统 - Google Patents

基于单向通信的全景视频播放拍照系统 Download PDF

Info

Publication number
CN107707830A
CN107707830A CN201711061961.3A CN201711061961A CN107707830A CN 107707830 A CN107707830 A CN 107707830A CN 201711061961 A CN201711061961 A CN 201711061961A CN 107707830 A CN107707830 A CN 107707830A
Authority
CN
China
Prior art keywords
panoramic
module
video
picture
image
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
CN201711061961.3A
Other languages
English (en)
Other versions
CN107707830B (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.)
Harbin Yishe Technology Co Ltd
Original Assignee
Harbin Yishe Technology Co 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 Harbin Yishe Technology Co Ltd filed Critical Harbin Yishe Technology Co Ltd
Priority to CN201711061961.3A priority Critical patent/CN107707830B/zh
Publication of CN107707830A publication Critical patent/CN107707830A/zh
Application granted granted Critical
Publication of CN107707830B publication Critical patent/CN107707830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Abstract

本公开提供了一种基于单向通信的全景视频播放拍照系统。上述系统包括图像采集端、流媒体服务器端以及一个或多个用户端;图像采集端包括摄像模块、多媒体处理模块和采用单工工作模式的第一传输模块。多媒体处理模块实时地对摄像模块采集的多路图片数据进行首次全景拼接以形成全景图像序列,将视频流推流到流媒体服务器端;流媒体服务器端实时接收压缩编码后的视频流下发给对应的用户端,并在用户请求拍照时,利用对应的二次全景拼接图像来获得用户所需照片。本发明的基于单向通信的全景视频播放拍照系统,能够在占用较小带宽的情况下以诸如直播或点播等方式向用户提供高速全景视频的播放,并且能够在用户需要拍照时快速向其提供高分辨率的图片。

Description

基于单向通信的全景视频播放拍照系统
技术领域
本公开涉及通信技术,尤其涉及一种基于单向通信的全景视频播放拍照系统。
背景技术
在当今时代,视频播放越来越受大众的欢迎,纵观视频播放的发展史,是由视频点播的基础上演变而来,由互联网以及流媒体技术进行播放,从而能够实时、全面地传播视频内容。在早期的视频播放时,视频内容的可视区域因拍摄等原因,如:摄像机镜头的取景角度、范围,导致其固定不可调,用户只能观看到当前的区域,视频画面只能跟随镜头移动而变化,用户观看无立体感,更不能有身临其境的感受。
随着全景视频技术的发展,出现了360度全景视频,能够让用户全方位的360度自由观看,可以上下左右前后、甚至远近距离观看。通常是通过多个摄像机同时对同一个空间下的物体进行多个角度拍摄来实现,在播放端允许用户在无需暂停视频播放的情况下,自由切换观看角度;全景视频具有立体感和真实感,能够很好地提供视觉体验;可以实现身临其境的体验和更令人刮目相看的惊奇效果。
随着人们需求的不断提高,人们更希望在观看全景视频时不但可以看到真实、全面、直观的视频,还可以实时地获取高清图像留作纪念或者与朋友分享。但是,图像数据的传输速度会受到传输带宽的限制,传输稳定性也会受到传输带宽的影响,即传输带宽会影响视频播放的流畅度和图像数据获取的即时性。
发明内容
在下文中给出了关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。应当理解,这个概述并不是关于本公开的穷举性概述。它并不意图确定本公开的关键或重要部分,也不意图限定本公开的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于现有技术的上述缺陷,本公开的目的之一是提供一种基于单向通信的全景视频播放拍照系统,以至少解决在全景视频播放中如何快速获得高分辨率图片的问题。
根据本公开的一个方面,提供了一种基于单向通信的全景视频播放拍照系统,包括图像采集端、流媒体服务器端以及一个或多个用户端;图像采集端包括摄像模块、多媒体处理模块和第一传输模块;摄像模块适于采集其视野内的多路图片数据;多媒体处理模块适于:实时地对摄像模块采集的多路图片数据进行首次全景拼接以形成全景图像序列,对全景图像序列进行压缩编码,得到压缩编码后的视频流,并将压缩编码后的视频流通过第一传输模块推流到流媒体服务器端,以及将摄像模块采集到的多路图片数据中的部分或全部通过第一传输模块实时地发送给流媒体服务器端,其中,第一传输模块采用单工工作模式;流媒体服务器端适于从图像采集端实时接收压缩编码后的视频流以下发给对应的用户端,并保存从图像采集端接收的多路图片数据或保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像,当接收到来自用户端的请求拍照指令时,基于该请求拍照指令中包含的查找对象信息,以根据该查找对象信息所包含的待查找的全景图像帧的相关信息在已保存的多路图片数据或多个二次全景拼接图像中确定对应的多路图片数据或对应的二次全景拼接图像,将基于对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像、或对应的二次全景拼接图像的局部或整体图像作为输出结果下发给对应的用户端。
上述根据本公开实施例的基于单向通信的全景视频播放拍照系统,包括图像采集端、流媒体服务器端以及一个或多个用户端;图像采集端包括摄像模块、多媒体处理模块和第一传输模块。多媒体处理模块实时地对摄像模块采集的多路图片数据进行首次全景拼接以形成全景图像序列,通过第一传输模块将对应的视频流推流到流媒体服务器端,并可以按照一定方式将采集的多路图片数据(部分或全部地)发送给流媒体服务器端。流媒体服务器端实时接收压缩编码后的视频流下发给用户端,并在用户请求拍照时,将多路图片数据进行二次全景拼接以得到用户所需照片;或者,流媒体服务器端也可以在接收多路图片数据的同时便实时地对其进行二次全景拼接,得到每一组多路图片数据对应的二次全景拼接图像,这样,在用户请求拍照时,再在其中找到对应的二次全景拼接图像以获得用户所需照片。
进一步地,一方面,通过采用快速拼接算法对摄像模块11采集的多路图片数据进行首次全景拼接形成全景图像序列,再通过压缩编码,使得压缩后的视频流所占内存较小,能够以较小的带宽快速地传输给服务器端(也即,从采集端到服务器端传输的“通过快速拼接算法形成的全景图像序列的压缩视频流”所占的带宽小、传输速度快),进而使得服务器端能够以较小的带宽将压缩视频流快速地提供给用户播放(也即,从服务器端到用户端传输的“通过快速拼接算法形成的全景图像序列的压缩视频流”所占的带宽小、传输速度快)。
换句话说,在“视频播放模式”下,通过快速拼接算法获得全景图像序列并压缩后传输给服务器端,再由服务器下发给用户端,能够保证所占带宽较小、传输速度较快,使得服务器的传输负担较小,且用户播放较为流畅,观影体验较好。
另一方面,在采集端(的第一传输模块)采用单工工作模块的情况下,服务器端保存有从采集端接收的多路图片数据,这样,在用户需要拍照或自拍时,通过在服务器端查找与用户请求需要拍照或自拍的那帧对应的多路图片数据作为查找结果,再利用精准拼接算法对查找结果中的多路图片数据进行二次全景拼接而得到二次全景拼接图像(或者直接在由服务器端预先采用精准拼接算法获得的多个二次全景拼接图像中查找对应的二次全景拼接图像),利用该二次全景拼接图像(例如可以根据用户端发送姿态进行对应剪裁等)来得到用户所需拍照或自拍的那部分图像,以满足用户实现高清拍照或高清自拍的目的(也即,从服务器端到用户端传输的“通过精准拼接算法形成的二次全景拼接图像的局部或整体图像”所占的带宽小、传输速度快)。
换句话说,在“用户请求拍照模式”下,服务器端通过精准拼接算法获得二次全景拼接图像,再在其中获取(例如裁剪)用户所需照片以发送给用户,使得用户能够获得其需要的高清照片(高于其观看视频中的分辨率),而又不会影响其观影的播放速度(如果将针对所有多路图片数据利用精准拼接算法形成的所有高清二次全景拼接图像所形成的视频流(或压缩视频流)直接发送给用户进行播放的话,将会导致占用较大带宽,传输和播放的速度较慢)。
综上,采用上述在“视频播放模式”下采用快速拼接算法获得全景图像序列得到的压缩视频流传输给用户、而在“用户请求拍照模式”下将采用精准拼接算法获得的高清全景图像序列(即二次全景拼接图像)传输给用户的方式,能够在占用较小带宽、传输速度较快的情况下,还能够给用户提供高清照片。
上述根据本公开实施例的基于单向通信的全景视频播放拍照系统,还可以具有以下至少一种有益效果:
1、用户可以使用该系统以独特视角实现拍照,以获取高分辨率图片;
2、多名用户可以同时共享本系统实时观看视频播放并拍照;
3、图像采集端分别传输经过压缩的视频流数据和部分原始图片数据,不需要实时传输所有原始图片数据,不仅减轻了流媒体服务器端的运算压力,而且有效的节省了图像数据的传输带宽,提高了图像数据的传输效率。
例如,假设在现有技术中,将摄像模块采集的将所有原始图片数据通过传输模块传输至流媒体服务器端,由流媒体服务器端实现视频播放和拍照功能,若假设帧率是25,单路每张图片大小是5M左右,共8路图片,则传输模块每秒所需带宽是5*8*25=1000M。相比之下,利用本发明的基于单向通信的全景视频播放拍照系统,图像采集端只需要实时传输压缩后的视频流以及部分原始图片数据至流媒体服务器端,若假设帧率是25,单路每张图片大小是5M左右,共8路图片,以视频播放时间1min、图片每秒传输16张(2帧/S)为例,则传输模块每秒所需带宽约等于47M(实验所得视频流)+5*8*2(部分原始图片)=127M。
通过以下结合附图对本公开的最佳实施例的详细说明,本公开的这些以及其他优点将更加明显。
附图说明
本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:
图1是示出根据本公开实施例的基于单向通信的全景视频播放拍照系统的一种示例结构的示意图;
图2是示出图1中的图像采集端的可能结构的示意图;
图3是示出图1中的流媒体服务器端的可能结构的示意图;
图4是示出的图1中的用户端对应设备的可能结构的示意图;
图5是示出根据本公开实施例的基于单向通信的全景视频播放拍照系统的另一种示例结构的示意图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本公开实施例的理解。
具体实施方式
在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的装置结构和/或处理步骤,而省略了与本公开关系不大的其他细节。
本公开的实施例提供了一种基于单向通信的全景视频播放拍照系统,包括图像采集端、流媒体服务器端以及一个或多个用户端;图像采集端包括摄像模块、多媒体处理模块和第一传输模块;摄像模块适于采集其视野内的多路图片数据;多媒体处理模块适于:实时地对摄像模块采集的多路图片数据进行首次全景拼接以形成全景图像序列,对全景图像序列进行压缩编码,得到压缩编码后的视频流,并将压缩编码后的视频流通过第一传输模块推流到流媒体服务器端,以及将摄像模块采集到的多路图片数据中的部分或全部通过第一传输模块实时地发送给流媒体服务器端,其中,第一传输模块采用单工工作模式;流媒体服务器端适于从图像采集端实时接收压缩编码后的视频流以下发给对应的用户端,并保存从图像采集端接收的多路图片数据或保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像,当接收到来自用户端的请求拍照指令时,基于该请求拍照指令中包含的查找对象信息,以根据该查找对象信息所包含的待查找的全景图像帧的相关信息在已保存的多路图片数据或多个二次全景拼接图像中确定对应的多路图片数据或对应的二次全景拼接图像,将基于对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像、或对应的二次全景拼接图像的局部或整体图像作为输出结果下发给对应的用户端。
其中,根据本公开实施例的基于单向通信的全景视频播放拍照系统可以用于全景视频的点播(录播或回放等)或直播。
图1示意性地示出了根据本公开实施例的基于单向通信的全景视频播放拍照系统的一种示例结构。
如图1所示,根据本公开实施例的基于单向通信的全景视频播放拍照系统包括图像采集端1、流媒体服务器端2以及一个或多个用户端3,其中,图像采集端1包括摄像模块11、多媒体处理模块12和第一传输模块13。
摄像模块11适于采集其视野内的多路图片数据。
根据本公开的实施例,摄像模块11例如可以包括多个摄像模组,多个摄像模组适于基于多个视角获取对应的视角图片,作为多路图片数据。其中,多个摄像模组例如可以包括鱼眼摄像头和广角摄像头中的至少一种。
在一个例子中,多个摄像模组例如包括多个鱼眼摄像头,比如,可以采用2个(或其他数量的)鱼眼摄像头来获取覆盖360度视角范围的两路图片数据(作为多路图片数据的示例)。
在另一个例子中,多个摄像模组例如包括多个广角摄像头,比如,可以采用8个(或其他数量的)广角摄像头来获取覆盖360度视角范围的8路图片数据(作为多路图片数据的示例)。
多媒体处理模块12适于执行以下处理:实时地对摄像模块11采集的多路图片数据进行首次全景拼接以形成全景图像序列;对全景图像序列进行压缩编码,得到压缩编码后的视频流,并将压缩编码后的视频流通过第一传输模块13推流到流媒体服务器端;以及将摄像模块11采集到的多路图片数据中的部分或全部通过第一传输模块13实时地发送给流媒体服务器端2。多媒体处理模块12例如可以采用以下任一种实现:开发板;CPU;微型处理器;微型计算机;等等。
其中,第一传输模块采用单工工作模式,也就是说,第一传输模块仅用于向流媒体服务器端2(如流媒体服务器端2的第二传输模块)发送数据,而不能从流媒体服务器端2接收数据。
流媒体服务器端2适于从图像采集端1实时接收压缩编码后的视频流以下发给对应的用户端3,并保存从图像采集端1接收的多路图片数据或保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像。
根据一个实现方式,当接收到来自用户端3的请求拍照指令时,流媒体服务器端2可以基于该请求拍照指令中包含的查找对象信息,根据该查找对象信息所包含的待查找的全景图像帧的相关信息在已保存的多路图片数据中确定对应的那组多路图片数据,将基于对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像的局部或整体图像作为输出结果下发给对应的用户端3。
根据另一个实现方式,当接收到来自用户端3的请求拍照指令时,流媒体服务器端2可以基于该请求拍照指令中包含的查找对象信息,根据该查找对象信息所包含的待查找的全景图像帧的相关信息在已保存的多个二次全景拼接图像中确定对应的二次全景拼接图像(该多个二次全景拼接图像是在从采集端1接收到多路图片数据时实时地通过二次全景拼接获得的),将该对应的二次全景拼接图像的局部或整体图像作为输出结果下发给对应的用户端3。
上述“待查找的全景图像帧的相关信息”例如可以通过对用户端3的请求拍照指令中所包含的视频帧数据中的水印进行解码而获得。例如,用户端3的请求拍照指令中所包含的视频帧数据中包含一维码水印或二维码水印等,对该一维码水印或二维码水印进行解码得到的参数(如下文所描述的水印生成参数Iri)即可作为待查找的全景图像帧的相关信息。下文中将描述如何根据待查找的全景图像帧的相关信息来确定对应的多路图片数据或对应的二次全景拼接图像。
根据本公开的实施例,流媒体服务器端2例如包括存储模块26,存储模块26可以适于保存从图像采集端1接收的多路图片数据,以及保存根据时间就近原则建立的多路图片数据和全景图像序列之间的映射关系,也就是多路图片数据与视频流中各帧之间的对应关系。
根据本公开的实施例,存储模块26也可以适于保存基于接收的多路图片数据进行二次全景拼接(例如采用精准拼接算法)而生成的多个二次全景拼接图像,以及保存根据时间就近原则建立的多个二次全景拼接图像和全景图像序列之间的映射关系,也就是多个二次全景拼接图像与视频流中各帧之间的对应关系。存储模块26保存的多个二次全景拼接图像例如可以是通过下文描述的图片拼接模块22执行二次全景拼接而获得的。
根据本公开的实施例,全景图像序列例如包括多个帧序列,Ir表示该多个帧序列中的第r个帧序列,r为正整数,Irn表示第r个帧序列中的第n帧图像,n也为正整数。n例如可以等于帧率,即每秒帧数,比如25。
根据本公开的实施例,多路图片数据例如可以表示为Drn={D1,D2......,Dm},其中m表示摄像模组的数量,其为正整数,Drn表示第r个帧序列中的第n帧图像所对应的多路图片数据,多路图片数据和全景图像序列之间的映射关系可以表示为Irn→Drn,作为存储模块26所保存的多路图片数据和视频帧序列之间的映射关系。这样,在流媒体服务器端2得到待查找的全景图像帧的相关信息后,可以根据多路图片数据和全景图像序列之间的映射关系Irn→Drn(也就是说,该映射关系中采用每个全景图像帧的相关信息来表示对应的全景图像帧),确定与待查找的全景图像帧的相关信息所对应的那组多路图片数据。
根据本公开的实施例,例如可以用Ern表示利用Drn进行二次全景拼接所得的二次全景拼接图像,多个二次全景拼接图像和全景图像序列之间的映射关系可以表示为Irn→Ern,作为存储模块26所保存的多个二次全景拼接图像和视频帧序列之间的映射关系。这样,在流媒体服务器端2得到待查找的全景图像帧的相关信息后,可以根据多个二次全景拼接图像和全景图像序列之间的映射关系可以表示为Irn→Ern(也就是说,该映射关系中采用每个全景图像帧的相关信息来表示对应的全景图像帧),确定与待查找的全景图像帧的相关信息所对应的那个二次全景拼接图像。
图2示出了图1中的图像采集端1的可能结构的示意图。
如图2所示,图像采集端1中的多媒体处理模块12可以包括图片输入子模块121、图片拼接子模块122、图片缓存子模块123、图片输出子模块124、视频编码子模块125和视频输出子模块126中的任意一种或多种子模块。下文中将分别举例描述以上各个子模块所执行的处理和功能。
需要说明的是,在图2中,各个子模块121~126均采用虚线框表示,意图指示这些子模块并非是必选的,而是分别可选的。
图片输入子模块121例如可以实时接收摄像模块采集的多路图片数据,并同时传输多路图片数据至图片拼接子模块122和图片缓存子模块123。
图片拼接子模块122例如可以适于采用快速拼接算法对摄像模块11采集的多路图片数据进行首次全景拼接,以形成全景图像序列。其中,快速拼接算法例如可以采用现有快速拼接方法,这里不再详述。
根据一个实现方式,图片拼接子模块122所形成的全景图像序列例如为带标记的全景图像序列。其中,全景图像序列中的每一帧全景图像例如分别设有该帧对应的标记,标记例如可以是水印,比如,一维码水印或二维码水印等。
其中,带标记的全景图像序列例如可以通过视频编码子模块125获得。根据一个实现方式,视频编码子模块125可以按照如下方式来获得带标记的全景图像序列:
设定帧率f,视频流以每f帧为一个帧序列(f为正整数,例如f可为25),将视频按照播放的时间顺序划分为多个帧序列,用Ir表示第r个帧序列,r为正整数,r=1,2,...,比如I1表示第一个帧序列,I2表示第二个帧序列,等等。用Ir1,Ir2,......Irf表示第r个帧序列中的f帧图像,将“Iri”作为第r个帧序列中的第i帧图像的水印生成参数,其中,i∈{1,2,...,f},根据水印生成参数Iri得到对应的标记(比如根据Iri生成一个一维码或二维码水印),将该标记添加至对应的图像帧(也即第r个帧序列中的第i帧图像)上,由此获得带标记的各帧图像,以形成带标记的全景图像序列。
图片缓存子模块123例如可以保存若干时间内(如最近的预设时间段内)的多路图片数据。
需要说明的是,在其他例子中,在多媒体处理模块12不包括图片缓存子模块123的情况下,多媒体处理模块12不保存多路图片数据,这样,采集端1不需保存任何数据,可以使得采集端1的设备得到简化,而不需配置大内存来存储数据。
图片输出子模块124例如可以通过第一传输模块13将多路图片数据的部分或全部发送至流媒体服务器端2。
例如,图片输出子模块124可以按照预设频率进行传输,比如,每秒2组、5组等的多路图片数据。举例来说,设定帧率是25,若每秒传输2组多路图片数据,则图片输出子模块124在第0秒时传输D11(多路图片数据D11对应全景图像序列中第1个帧序列中的第1帧图像,即D11对应I11),在第0.5秒时传输D112(多路图片数据D112对应全景图像序列中第1个帧序列中的第12帧图像,即D112对应I112),在第1秒时传输D21(多路图片数据D21对应全景图像序列中第2个帧序列中的第1帧图像,即D21对应I21),在第1.5秒时传输D212(多路图片数据D212对应全景图像序列中第2个帧序列中的第12帧图像,即D212对应I212)……在第n秒时传输Dn1,在第n+0.5秒时传输Dn12;若每秒传输5组多路图片数据,则图片输出子模块在第0秒时传输D11(D11对应全景图像序列中第1个帧序列中的第1帧图像I11),在第0.2秒时传输D15(D15对应全景图像序列中第1个帧序列中的第5帧图像I15),在第0.4秒时传输D110(D110对应全景图像序列中第1个帧序列中的第10帧图像I110),在第0.6秒时传输D115(D115对应全景图像序列中第1个帧序列中的第15帧图像I115),在第0.8秒时传输D120(D120对应全景图像序列中第1个帧序列中的第20帧图像I120)……在第n秒时传输Dn1,在第n+0.2秒时传输Dn5,在第n+0.4秒时传输Dn10,在第n+0.6秒时传输Dn15,在第n+0.8秒时传输Dn20
视频编码子模块125例如可以对全景图像序列(例如带标记的的全景图像序列)进行压缩编码。
视频输出子模块126例如可以利用视频传输协议将压缩编码后的视频流通过第一传输模块13推流到流媒体服务器端2。
图3示出了图1中的流媒体服务器端2的可能结构的示意图。
如图3所示,流媒体服务器端2例如可以包括视频处理模块21、图片拼接模块22、用户管理模块23、第二传输模块24、图片处理模块25和存储模块26中的任一种或多种模块。下文中将分别举例描述以上各个模块所执行的处理和功能。其中,存储模块26的功能和处理已在上文描述,下面将不再重复描述。
需要说明的是,在图3中,各个模块21~26均采用虚线框表示,意图指示这些模块并非是必选的,而是分别可选的。
根据一个实现方式,流媒体服务器端2例如包括视频处理模块21,视频处理模块21可以适于通过第二传输模块24实时接收图像采集端1传输的压缩编码后的视频流,基于压缩编码后的视频流获得待下发视频流以下发至对应的用户端3(如已建立连接的用户端3)。
在一个例子中,视频处理模块21可以将压缩编码后的视频流直接作为待下发视频流而传输至用户端。
在另一个例子中,视频处理模块21也可以按照预定方式将待下发视频流下发至用户端,例如,视频处理模块21可以将压缩编码后的视频流重新压缩编码成多个视频流,以将该多个视频流的至少部分发送给对应的用户端,其中,该多个视频流之间的分辨率互不相同。其中,“该多个视频流的至少部分”例如是其中部分视频流(如一个或几个),也可以是其中的全部。
举例来说,视频处理模块21可以将压缩编码后的视频流重新压缩编码成N种(N为正整数,N可以为1或大于1,比如3或5等)分辨率(或称清晰度)的视频流,如极速、标清、普清、高清、VIP超清,等等。根据用户等级(如用户是普通用户),可以为用户提供一种或多种可选的分辨率视频流,根据用户的选择来向其传输对应分辨率的视频流;如用户是VIP用户,当其选择VIP超清视频流时,则向其传输该清晰度(也即分辨率)的视频流。
图片拼接模块22例如可以采用精准拼接算法来完成二次全景拼接,以得到二次全景拼接图像。其中,精准拼接算法例如可以采用现有精准拼接算法,如光流拼接算法等。
在一个例子中,在存储模块26中存储的是多路图片数据的情况下,当流媒体服务器端2通过第二传输模块24接收到用户端3的请求拍照指令时,根据该指令在存储模块26中确定对应的一组多路图片数据,然后再通过图片拼接模块22进行二次全景拼接,得到对应的二次全景拼接图像。
在另一个例子中,在存储模块26中存储的是多个二次全景拼接图像的情况下,在流媒体服务器端2通过第二传输模块24实时地接收到来自图像采集端1的多路图片数据期间,便通过图片拼接模块22实时地对所接收的每组多路图片数据进行二次全景拼接,得到每组多路图片数据对应的二次全景拼接图像而保存在存储模块26中;而当流媒体服务器端2通过第二传输模块24接收到用户端3的请求拍照指令时,不再需要进行拼接,直接在存储模块26中查找对应的二次全景拼接图像即可。
根据一个实现方式,在流媒体服务器端2中保存的是接收到的多路图片数据的情况下,图片拼接模块22例如可以执行如下处理:当接收到来自一个或多个用户端3的至少一个请求拍照指令时,针对每个请求拍照指令,分别执行如下描述的步骤a1~a2。
在步骤a1中,根据该请求拍照指令中包含的视频帧数据确定待查找的全景图像帧的相关信息,然后执行步骤a2。
在步骤a2中,依据多路图片数据和全景图像序列之间的映射关系,在存储模块26保存的多路图片数据中查找与待查找的全景图像帧的相关信息对应的多路图片数据,作为查找结果,采用精准拼接算法对该查找结果中的多路图片数据进行二次全景拼接,得到对应的二次全景拼接图像。
此外,在执行完步骤a1和a2之后,图片处理模块25还可以执行步骤a3。在步骤a3中,图片处理模块25可以根据(对应的步骤a1中的)该请求拍照指令中所含的发送姿态在步骤a2得到的二次全景拼接图像中裁剪对应于该发送姿态的图片(局部图像),作为输出结果通过第二传输模块24下发给对应的用户端3。
根据另一个实现方式,在流媒体服务器端2中保存的是多个二次全景拼接图像的情况下,图片拼接模块22例如也可以执行如下处理:当接收到来自一个或多个用户端3的至少一个请求拍照指令时,针对每个请求拍照指令,分别执行如下描述的步骤b1~b2。
在步骤b1中,根据该请求拍照指令中包含的视频帧数据确定待查找的全景图像帧的相关信息,然后执行步骤b2。
在步骤b2中,依据多个二次全景拼接图像和全景图像序列之间的映射关系,在存储模块26保存的多个二次全景拼接图像中查找与待查找的全景图像帧的相关信息对应的二次全景拼接图像。
此外,在执行完步骤b1和b2之后,图片处理模块25还可以执行步骤b3。在步骤b3中,图片处理模块25可以根据(对应的步骤a1中的)该请求拍照指令中所含的发送姿态在步骤b2得到的二次全景拼接图像中裁剪对应于该发送姿态的图片(局部图像),作为输出结果通过第二传输模块24下发给对应的用户端3。
根据一个实现方式,图片拼接模块22例如可以通过解码视频帧数据中包含的水印而获得对应的待查找的全景图像帧的相关信息。
其中,待查找的全景图像帧的相关信息例如表示为Iri(即上文所描述的水印生成参数),其中,i为1~m中的正整数。
水印例如采用一维码水印或二维码水印等。
用户管理模块23例如可以将得到的输出结果保存在用户管理模块23中对应用户账号下,以供用户端预览和/或付费下载。
根据一个实现方式,图片处理模块25例如可以将二次全景拼接图像重新映射到一个球面上,该球面作为全景映射球面,根据用户端的设备的发送姿态确定用户视野的角度范围,根据用户视野的角度范围在全景映射球面上确定待裁剪球面图形,并裁下该待裁剪球面图形后映射成目标矩形图片,其中,该目标矩形图片的尺寸为预设值。该预设值可以根据经验值设定,或者可以根据用户设备发送的拍照指令中包含的屏幕尺寸参数来设定。
根据一个实现方式,图片处理模块25例如可以以二次全景拼接图像对应的平面矩形图片的侧边作为球面半圆弧来生成对应的全景映射球面,并将该平面矩形图片贴图到全景映射球面上,以完成将二次全景拼接图像映射到球面上。其中,平面矩形图片的侧边例如是平面矩形图片的较短的边。
根据一个实现方式,用户管理模块23可以适于接收来自每个用户端的身份认证请求,并基于该身份认证请求对对应的用户设备进行身份认证,在认证成功后向该对应的用户设备发送认证成功信息以与该用户设备建立数据连接。
根据本公开的实施例,第一传输模块13例如可以包括一个或多个传输组件。第一传输模块13例如可以采用有线传输和无线传输中的至少一种传输方式。
根据本公开的实施例,第二传输模块24例如可以包括一个或多个传输组件。第二传输模块24例如可以采用有线传输和无线传输中的至少一种传输方式。
根据本公开的实施例,第三传输模块34例如可以包括一个或多个传输组件。第三传输模块34例如可以采用有线传输和无线传输中的至少一种传输方式。
图4示出了用户端3对应的用户端设备的一种可能结构。如图4所示,每个用户端设备例如可以包括用户接入模块31、显示模块32、用户交互模块33和第三传输模块34中的任一种或多种模块。下文中将分别举例描述以上各个模块所执行的处理和功能。需要说明的是,在图4中,各个模块31~34均采用虚线框表示,意图指示这些模块并非是必选的,而是分别可选的。
其中,每个用户端3中例如可以设有用于发送各种请求的用户交互模块33,而用户端3中的第三传输模块34例如可以用于实现与流媒体服务器端2的第二传输模块24之间的数据传输等。
根据一个实现方式,每个用户端3例如可以向全景视频播放拍照系统中的流媒体服务器端2发送身份认证请求,并在接收到来自流媒体服务器端2的认证成功信息后与之建立数据连接。例如,在认证成功后,可以通过用户接入模块31建立与流媒体服务器端2之间的连接。
根据一个实现方式,每个用户端3例如可以在与流媒体服务器端2建立数据连接后,向流媒体服务器端2发送观看视频播放请求,并实时解码流媒体服务器端2分发来的视频数据。
根据一个实现方式,每个用户端3例如可以根据用户输入来在一种或多种分辨率的观看模式中选择一种来观看全景视频播放。
根据一个实现方式,每个用户端3例如可以在全景视频播放过程中根据用户输入来发送拍照请求,以获取高分辨率图片。其中,高分辨率图片例如是分辨率高于或等于预设阈值(例如4K)的图片,预设阈值例如可以根据经验值设定,或通过试验的方法确定,这里不再赘述。
其中,高分辨率图片例如是高于或等于预设图片分辨率的图片,预设图片分辨率例如根据经验值设定,或通过试验的方式获得。例如,首次全景拼接得到的首次全景图像序列中的图像分辨率是2880*1440,二次全景拼接得到的二次全景拼接图像的分辨率是4000*3000。应当理解的是,实际应用中,首次全景图像序列中的图像分辨率并不限于2880*1440,二次全景拼接图像的分辨率也不限于4000*3000,以上分辨率可以根据实际情况和需要而改变设置不同的数值,但需要使得二次全景拼接图像的分辨率高于首次全景图像序列中的图像分辨率。
根据一个实现方式,每个用户端3例如可以根据用户输入而向流媒体服务器端2发送预览请求,在向流媒体服务器端2允许该用户端3预览时,预览对应的照片。
根据一个实现方式,每个用户端3例如可以根据用户输入而向流媒体服务器端2发送付费下载请求,在向流媒体服务器端2允许该用户端3下载时,将对应的照片下载至本地。
其中,用户端3发送的拍照请求中例如包含视频帧数据和该用户端3对应的设备的发送姿态。视频帧数据例如包含水印,比如一维码或二维码水印。
例如,用户端3可以在确定要发送拍照请求时,获取该用户端3对应设备中显示模块32的屏幕法线方向或其屏幕背面法线方向,来作为其发送姿态。
又如,用户端3可以通过检测对应设备的触摸操作(如显示模块32可以为触摸屏,检测触摸屏上的触摸操作)来设置发送姿态,或通过对应设备中的姿态传感器(如陀螺仪等)来获取发送姿态。
优选实施例
下面结合5描述本公开的基于单向通信的全景视频播放拍照系统的一个优选实施例。需要说明的是,该图中的图像采集端和流媒体服务器端同样适用于上文所述的基于单向通信的全景视频播放拍照系统,这里不再赘述。
如图5所示,图像采集端包括摄像模块、多媒体处理模块和第一传输模块。摄像模块包括多个鱼眼或广角摄像头组成的摄像模组;多媒体处理模块包括一块嵌入式开发板或者一个微型计算机,它包括图片输入子模块、图片拼接子模块、图片缓存子模块、图片输出子模块、视频编码子模块和视频输出子模块;第一传输模块和流媒体服务器端实时单向通信,它包括一个或多个传输模块,可以采用有线传输,也可以采用无线传输。图像采集端通过第一传输模块推送视频流和发送图片数据。
流媒体服务器端包括视频处理模块、图片拼接模块、图片处理模块、存储模块、用户管理模块和第二传输模块。
用户终端(即用户端)包括一个或多个用户设备,每个用户设备包括用户接入模块、用户交互模块、显示模块和第三传输模块。其中,用户设备可以是智能手机、平板电脑或头戴式VR系统等终端设备。
图像采集端工作流程:
步骤一:摄像模块可以通过控制按键接收到采集指令后采集其视野内多路图片数据。摄像模块包括多个鱼眼或广角摄像头组成的摄像模组,多路图片数据即多个鱼眼或广角摄像头组成的摄像模组采集的多视角图片,多路图片数据可以用D={D1,D2……,Dm}表示,其中m表示摄像模组的数量,其为正整数。
步骤二:多媒体处理模块中图片输入子模块实时接收摄像模块采集的多路图片数据,并同时传输多路图片数据至图片拼接子模块和图片缓存子模块。
步骤三:多媒体处理模块中图片拼接子模块运用快速拼接算法实时拼接多路图片数据完成全景拼接并形成带标记的全景图像序列,然后传输带标记的全景图像序列至视频编码子模块。
带标记的全景图像序列可以这样形成:若设定帧率是25,则视频流以25帧为一个帧序列,将视频按照播放的时间顺序划分为若干个帧序列,用Ir表示第r个帧序列,Ir1,Ir2,......Ir25表示第r个帧序列中的25帧图像,将Irn作为水印生成参数,即第r个帧序列中的第n帧图像,在每个帧序列的每一帧图像上添加一维码或二维码水印。
步骤四:多媒体处理模块中视频编码子模块对带标记的全景图像序列进行压缩编码。
步骤五:多媒体处理模块中视频输出子模块利用视频传输协议将压缩编码后的视频流通过第一传输模块推流到流媒体服务器端。
步骤六:多媒体处理模块中图片缓存子模块保存若干时间内的多路图片数据。
例如,设定帧率是25,带标记的全景图像序列用Irn表示,多路图片数据用Drn={D1,D2……,Dm}表示,其中m表示摄像模组的数量,其为正整数,Drn表示第r个帧序列中的第n帧图像所对应的多路图片数据。
步骤七:图片输出子模块通过第一传输模块传输多路图片数据至流媒体服务器端。
流媒体服务器端包括视频处理模块、图片拼接模块、图片处理模块、存储模块、用户管理模块和第二传输模块。
用户管理模块用于接收来自每个用户设备的身份认证请求,并基于该身份认证请求对对应的用户设备进行身份认证,在认证成功后向该对应的用户设备发送认证成功信息以与该用户设备建立数据连接。视频处理模块通过第二传输模块实时接收图像采集端传输的视频流,并将视频流按照一定规则分发;也可以将视频流重新压缩编码成若干不同分辨率的视频流,并将视频流按照一定规则分发。
图片拼接模块运用精准拼接算法二实现多路图片的全景拼接。存储模块用于保存多路图片或全景图片,并根据时间就近原则建立并保存多路图片或全景图片和视频帧序列之间的映射关系。图片拼接模块用于处理用户终端请求拍照的指令。
流媒体服务器端处理用户终端请求拍照的步骤:
当流媒体服务器端接收到来自用户终端一个或多个用户设备的至少一个请求拍照的指令时,(步骤101)首先根据用户设备发送的请求拍照指令中包含的视频帧数据查找当前帧,方法:视频帧数据包含一维码或二维码水印,解码一维码或二维码根据Irn查找当前帧;(步骤102)然后分为两种实施方法查找当前帧对应的全景图片:
第一种方法:当图片拼接模块接收到图像采集端传输的多路图片数据立即完成全景拼接并将全景图片保存在存储模块里形成全景图片库,并根据时间就近原则建立并保存全景图片和视频帧序列之间的映射关系,根据该映射关系查找存储模块中当前帧对应的全景图片,以帧率25、图像采集端每秒传输2组多路图片数据为例,用户终端在视频播放第1.2秒按下拍照键,所查找的全景图片是视频播放第1秒时图像采集端所传输的多路图片拼接后的全景图片;用户终端在视频播放第5.8秒按下拍照键,所查找的全景图片是视频播放第5.5秒时图像采集端所传输的多路图片拼接后的全景图片。
第二种方法:存储模块接收到图像采集端传输的多路图片数据立即保存,并根据时间就近原则建立并保存多路图片和视频帧序列之间的映射关系,根据该映射关系查找存储模块中当前帧对应的多路图片,以帧率25、图像采集端每秒传输2组多路图片数据为例,用户终端在视频播放第1.2秒按下拍照键,所查找的多路图片是视频播放第1秒时图像采集端所传输的多路图片;用户终端在视频播放第5.8秒按下拍照键,所查找的多路图片是视频播放第5.5秒时图像采集端所传输的多路图片;然后调用图片拼接模块完成全景拼接,拼接后的全景图片可以保存在存储模块里形成全景图片库,也可以不保存。
(步骤103)然后根据用户终端的发送姿态在该全景图片中裁剪对应该姿态的图片。裁剪图片步骤如下:(步骤201)将该全景图片(平面矩形图片)重新映射到一个球面上,即以平面矩形图片的侧边作为球面半圆弧生成对应的全景映射球面,并将平面矩形图片贴图到全景映射球面上;(步骤202)根据用户设备的发送姿态确定用户视野的角度范围;(步骤203)根据用户视野的角度范围在全景映射球面上查找待裁剪球面图形;(步骤204)将该已裁剪球面图形映射成目标矩形图片,该目标矩形图片的尺寸为预设值,该预设值可以根据经验值设定,或者可以根据用户设备发送的拍照指令中包含的屏幕尺寸参数来设定。
(步骤104)最后将已裁剪的图片保存到用户管理模块中该用户账号下,以用于用户终端最终的预览和付费下载.
需要说明的是,第二传输模块可以是一个传输模块,也可以是多个,可以采用有线传输,也可以采用无线传输。快速拼接算法一和精准拼接算法二区别在于,快速拼接算法一的算法需要实时快速完成全景图片拼接,以满足视频播放的流畅性;而精准拼接算法二的算法主要侧重于精准无缝高质量的全景图片拼接,以满足用户终端在观看视频播放过程中获取高分辨率图片的需求。
用户终端工作流程:
步骤一:用户终端向流媒体服务器端发送身份认证请求,并在接收到来自流媒体服务器端的认证成功信息后与流媒体服务器端建立数据连接。
步骤二:用户终端接入系统后向流媒体服务器端发送观看视频播放请求,实时解码流媒体服务器端分发过来的视频数据,选择不同分辨率的观看模式来观看全景视频播放。
步骤三:用户终端在观看全景视频过程中可以发送拍照请求,以获取高分辨率图片。
步骤四:用户终端可以发送预览请求,预览自己拍的照片;也可以发送付费下载请求,将自己拍的照片下载至本地。
其中,用户终端通过用户交互模块发送请求。用户终端设备发送的拍照请求中包含视频帧数据和发送姿态,发送姿态是指用户设备在发送该请求时的姿态,可以是用户设备中显示模块的屏幕法线方向或其屏幕背面法线方向;可以由用户通过触屏操作的方式来设置发送姿态,也可以在用户交互模块中集成陀螺仪等姿态传感子模块,以此来获取用户设备的当前姿态。
综上,在根据本公开的实施例中,本公开提供了如下方案,但不限于此:
方案1、基于单向通信的全景视频播放拍照系统,其特征在于包括图像采集端1、流媒体服务器端2以及一个或多个用户端3;所述图像采集端1包括摄像模块11、多媒体处理模块12和第一传输模块13;
所述摄像模块11适于采集其视野内的多路图片数据;
所述多媒体处理模块12适于:
实时地对所述摄像模块11采集的多路图片数据进行首次全景拼接以形成全景图像序列,
对所述全景图像序列进行压缩编码,得到压缩编码后的视频流,并将压缩编码后的视频流通过所述第一传输模块13推流到流媒体服务器端,以及
将所述摄像模块11采集到的多路图片数据中的部分或全部通过所述第一传输模块13实时地发送给所述流媒体服务器端2,其中,所述第一传输模块13采用单工工作模式;
所述流媒体服务器端2适于从所述图像采集端1实时接收所述压缩编码后的视频流以下发给对应的用户端3,并保存从图像采集端1接收的多路图片数据或保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像,当接收到来自用户端3的请求拍照指令时,基于该请求拍照指令中包含的查找对象信息,以根据该查找对象信息所包含的待查找的全景图像帧的相关信息在已保存的多路图片数据或多个二次全景拼接图像中确定对应的多路图片数据或对应的二次全景拼接图像,将基于所述对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像、或所述对应的二次全景拼接图像的局部或整体图像作为输出结果下发给对应的用户端3。
方案2、根据方案1所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2包括图片处理模块25,所述图片处理模块25适于根据用户端3的请求拍照指令进行对应的处理。
方案3、根据方案2所述的全景视频播放拍照系统,其特征在于,所述图片处理模块25适于根据用户端3的请求拍照指令确定所述用户端3的发送姿态,以根据所述用户端3的发送姿态在对应的二次全景拼接图像中或者基于所述对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像中裁剪出对应该发送姿态的局部图像,作为输出结果下发给所述用户端3。
方案4、根据方案1-3中任一项所述的全景视频播放拍照系统,其特征在于,所述多媒体处理模块12包括图片拼接子模块122,
所述图片拼接子模块122适于采用快速拼接算法对所述摄像模块11采集的多路图片数据进行首次全景拼接,以形成全景图像序列。
方案5、根据方案1-4中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2包括图片拼接模块22,所述图片拼接模块22适于采用精准拼接算法来完成所述二次全景拼接处理。
方案6、根据方案1-5中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2保存的多路图片数据或多个二次全景拼接图像是最近预设时间段内保存的。
方案7、根据方案1-6中任一项所述的全景视频播放拍照系统,其特征在于,所述摄像模块11包括多个摄像模组,所述多个摄像模组适于基于多个视角获取对应的视角图片,作为所述多路图片数据。
方案8、根据方案1-7中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2包括存储模块26,所述存储模块26适于保存从图像采集端1接收的多路图片数据,以及保存根据时间就近原则建立的多路图片数据和全景图像序列之间的映射关系。
方案9、根据方案1-7中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2包括存储模块26,所述存储模块26适于保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像,以及保存根据时间就近原则建立的多个二次全景拼接图像和全景图像序列之间的映射关系。
方案10、根据方案8所述的全景视频播放拍照系统,其特征在于,
所述全景图像序列包括多个帧序列,Ir表示该多个帧序列中的第r个帧序列,r为正整数,Irn表示第r个帧序列中的第n帧图像;
多路图片数据表示为Drn={D1,D2......,Dm},其中m表示摄像模组的数量,其为正整数,Drn表示第r个帧序列中的第n帧图像所对应的多路图片数据,多路图片数据和全景图像序列之间的映射关系表示为Irn→Drn,作为所述多路图片数据和视频帧序列之间的映射关系。
方案11、根据方案9所述的全景视频播放拍照系统,其特征在于,
所述全景图像序列包括多个帧序列,Ir表示该多个帧序列中的第r个帧序列,r为正整数,Irn表示第r个帧序列中的第n帧图像;
多路图片数据表示为Drn={D1,D2......,Dm},其中m表示摄像模组的数量,其为正整数,Drn表示第r个帧序列中的第n帧图像所对应的多路图片数据,用Ern表示利用Drn进行二次全景拼接所得的二次全景拼接图像,多个二次全景拼接图像和全景图像序列之间的映射关系表示为Irn→Ern,作为多个二次全景拼接图像和视频帧序列之间的映射关系。
方案12、根据方案7所述的全景视频播放拍照系统,其特征在于,所述多个摄像模组包括鱼眼摄像头和广角摄像头中的至少一种。
方案13、根据方案4所述的全景视频播放拍照系统,其特征在于,所述全景图像序列为带标记的全景图像序列。
方案14、根据方案13所述的全景视频播放拍照系统,其特征在于,所述视频编码子模块125适于:
设定帧率f,视频流以每f帧为一个帧序列,将视频按照播放的时间顺序划分为多个帧序列,用Ir表示第r个帧序列,r为正整数,r=1,2,...;用Ir1,Ir2,......Irf表示第r个帧序列中的f帧图像,将Iri作为第r个帧序列中的第i帧图像的水印生成参数,其中,i∈{1,2,...,f},根据水印生成参数Iri得到对应的标记,将该标记添加至对应的图像帧上,获得带标记的各帧图像,以形成带标记的全景图像序列。
方案15、根据方案1-14中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2包括用户管理模块23,
所述用户管理模块23适于接收来自每个用户端的身份认证请求,并基于该身份认证请求对对应的用户设备进行身份认证,在认证成功后向该对应的用户设备发送认证成功信息以与该用户设备建立数据连接。
方案16、根据方案1-15中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端2包括视频处理模块21,
所述视频处理模块21适于通过所述第二传输模块24实时接收所述图像采集端1传输的压缩编码后的视频流,基于所述压缩编码后的视频流获得待下发视频流以下发至用户端3。
方案17、根据方案16所述的全景视频播放拍照系统,其特征在于,所述视频处理模块21适于按照预定方式将待下发视频流下发至用户端3。
方案18、根据方案17所述的全景视频播放拍照系统,其特征在于,所述视频处理模块21适于将所述压缩编码后的视频流重新压缩编码成多个视频流,以将该多个视频流的至少部分发送给对应的用户3,其中,该多个视频流之间的分辨率互不相同。
方案19、根据方案5所述的全景视频播放拍照系统,其特征在于,所述图片拼接模块22适于
当接收到来自一个或多个用户端3的至少一个请求拍照指令时,针对每个请求拍照指令,
根据该请求拍照指令中包含的视频帧数据确定待查找的全景图像帧的相关信息,
依据多路图片数据和全景图像序列之间的映射关系,在存储模块26保存的多路图片数据中查找与待查找的全景图像帧的相关信息对应的多路图片数据,作为查找结果,采用精准拼接算法对该查找结果中的多路图片数据进行二次全景拼接,得到二次全景拼接图像。
方案20、根据方案5所述的全景视频播放拍照系统,其特征在于,所述图片拼接模块22适于
当接收到来自一个或多个用户端3的至少一个请求拍照指令时,针对每个请求拍照指令,
根据该请求拍照指令中包含的视频帧数据确定待查找的全景图像帧的相关信息,
依据多个二次全景拼接图像和全景图像序列之间的映射关系,在存储模块26保存的多个二次全景拼接图像中查找与待查找的全景图像帧的相关信息对应的二次全景拼接图像。
方案21、根据方案19或20所述的全景视频播放拍照系统,其特征在于,所述图片拼接模块22适于通过解码所述视频帧数据中包含的水印而获得对应的待查找的全景图像帧的相关信息。
方案22、根据方案21所述的全景视频播放拍照系统,其特征在于,所述待查找的全景图像帧的相关信息表示为Iri,其中,i为1~m中的正整数。
方案23、根据方案21或22所述的全景视频播放拍照系统,其特征在于,所述水印采用一维码水印或二维码水印。
方案24、根据方案19-23中任一项所述的全景视频播放拍照系统,其特征在于,所述用户管理模块23适于将得到的输出结果保存在所述用户管理模块23中对应用户账号下,以供用户端预览和/或付费下载。
方案25、根据方案19-23中任一项所述的全景视频播放拍照系统,其特征在于,所述图片处理模块25适于:
将所述二次全景拼接图像重新映射到一个球面上,该球面作为全景映射球面,
根据用户端3的设备的发送姿态确定用户视野的角度范围,
根据用户视野的角度范围在所述全景映射球面上确定待裁剪球面图形,并裁下该待裁剪球面图形后映射成目标矩形图片,其中,该目标矩形图片的尺寸为预设值。
方案26、根据方案25所述的全景视频播放拍照系统,其特征在于,所述图片处理模块25适于:
以所述二次全景拼接图像对应的平面矩形图片的侧边作为球面半圆弧来生成对应的全景映射球面,并将该平面矩形图片贴图到全景映射球面上,以完成将所述二次全景拼接图像映射到所述球面上。
方案27、根据方案1-26中任一项所述的全景视频播放拍照系统,其特征在于,所述第一传输模块13、所述第二传输模块24和所述第三传输模块34中的每一个传输模块分别包括一个或多个传输组件。
方案28、根据方案27所述的全景视频播放拍照系统,其特征在于,所述第一传输模块13、所述第二传输模块24和所述第三传输模块34中的每一个传输模块采用有线传输和无线传输中的至少一种传输方式。
方案29、根据方案1-28中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端3适于向所述全景视频播放拍照系统中的流媒体服务器端2发送身份认证请求,并在接收到来自流媒体服务器端2的认证成功信息后与之建立数据连接。
方案30、根据方案29所述的全景视频播放拍照系统,其特征在于,所述用户端3适于在与所述流媒体服务器端2建立数据连接后,向流媒体服务器端2发送观看视频播放请求,并实时解码所述流媒体服务器端2分发来的视频数据。
方案31、根据方案1-30中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端3适于根据用户输入来在一种或多种分辨率的观看模式中选择一种来进行全景视频播放。
方案32、根据方案1-31中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端3适于在全景视频播放过程中根据用户输入来发送拍照请求,以获取高分辨率图片。
方案33、根据方案1-32中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端3适于根据用户输入而向流媒体服务器端2发送预览请求,在向流媒体服务器端2允许该用户端3预览时,预览对应的照片。
方案34、根据方案1-33中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端3适于根据用户输入而向流媒体服务器端2发送付费下载请求,在向流媒体服务器端2允许该用户端3下载时,将对应的照片下载至本地。
方案35、根据方案34所述的全景视频播放拍照系统,其特征在于,所述用户端3发送的拍照请求中包含视频帧数据和该用户端3对应的设备的发送姿态。
方案36、根据方案35所述的全景视频播放拍照系统,其特征在于,所述用户端3适于在确定要发送拍照请求时,获取该用户端3对应设备中显示模块的屏幕法线方向或其屏幕背面法线方向,来作为其发送姿态。
方案37、根据方案35或36所述的全景视频播放拍照系统,其特征在于,所述用户端3适于通过检测对应设备的触摸操作来设置发送姿态,或通过对应设备中的姿态传感器来获取发送姿态。
方案38、根据方案1-37中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端3中设有用于发送各种请求的用户交互模块。
方案39、根据方案1-38中任一项所述的全景视频播放拍照系统,其特征在于,全景视频播放拍照系统用于全景视频直播。
最后,还需要说明的是,在本公开中,诸如左和右、第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管上面已经通过本公开的具体实施例的描述对本公开进行了披露,但是,应该理解,本领域技术人员可在所附权利要求的精神和范围内设计对本公开的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本公开所要求保护的范围内。

Claims (10)

1.基于单向通信的全景视频播放拍照系统,其特征在于包括图像采集端(1)、流媒体服务器端(2)以及一个或多个用户端(3);所述图像采集端(1)包括摄像模块(11)、多媒体处理模块(12)和第一传输模块(13);
所述摄像模块(11)适于采集其视野内的多路图片数据;
所述多媒体处理模块(12)适于:
实时地对所述摄像模块(11)采集的多路图片数据进行首次全景拼接以形成全景图像序列,
对所述全景图像序列进行压缩编码,得到压缩编码后的视频流,并将压缩编码后的视频流通过所述第一传输模块(13)推流到流媒体服务器端,以及
将所述摄像模块(11)采集到的多路图片数据中的部分或全部通过所述第一传输模块(13)实时地发送给所述流媒体服务器端(2),其中,所述第一传输模块(13)采用单工工作模式;
所述流媒体服务器端(2)适于从所述图像采集端(1)实时接收所述压缩编码后的视频流以下发给用户端,并保存从图像采集端1接收的多路图片数据或保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像,当接收到来自用户端(3)的请求拍照指令时,基于该请求拍照指令中包含的查找对象信息,以根据该查找对象信息所包含的待查找的全景图像帧的相关信息在已保存的多路图片数据或多个二次全景拼接图像中确定对应的多路图片数据或对应的二次全景拼接图像,将基于所述对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像、或所述对应的二次全景拼接图像的局部或整体图像作为输出结果下发给对应的用户端(3)。
2.根据权利要求1所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端(2)包括图片处理模块(25),所述图片处理模块(25)适于根据用户端(3)的请求拍照指令进行对应的处理;所述图片处理模块(25)适于根据用户端(3)的请求拍照指令确定所述用户端(3)的发送姿态,以根据所述用户端(3)的发送姿态在对应的二次全景拼接图像中或者基于所述对应的多路图片数据进行二次全景拼接所得的二次全景拼接图像中裁剪出对应该发送姿态的局部图像,作为输出结果下发给所述用户端(3)。
3.根据权利要求2所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端(2)包括图片拼接模块(22),所述图片拼接模块(22)适于采用精准拼接算法来完成所述二次全景拼接处理。
4.根据权利要求1-3中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端(2)包括存储模块(26),所述存储模块(26)适于保存从图像采集端1接收的多路图片数据,以及保存根据时间就近原则建立的多路图片数据和全景图像序列之间的映射关系。
5.根据权利要求1-3中任一项所述的全景视频播放拍照系统,其特征在于,所述流媒体服务器端(2)包括存储模块(26),所述存储模块(26)适于保存基于接收的多路图片数据进行二次全景拼接而生成的多个二次全景拼接图像,以及保存根据时间就近原则建立的多个二次全景拼接图像和全景图像序列之间的映射关系。
6.根据权利要求1-5中任一项所述的全景视频播放拍照系统,其特征在于,所述多媒体处理模块(12)包括图片拼接子模块(122),所述图片拼接子模块(122)适于采用快速拼接算法对所述摄像模块(11)采集的多路图片数据进行首次全景拼接,以形成全景图像序列。
7.根据权利要求6所述的全景视频播放拍照系统,其特征在于,所述全景图像序列为带标记的全景图像序列;
所述视频编码子模块(125)适于:
设定帧率f,视频流以每f帧为一个帧序列,将视频按照播放的时间顺序划分为多个帧序列,用Ir表示第r个帧序列,r为正整数,r=1,2,...;用Ir1,Ir2,......Irf表示第r个帧序列中的f帧图像,将Iri作为第r个帧序列中的第i帧图像的水印生成参数,其中,i∈{1,2,...,f},根据水印生成参数Iri得到对应的标记,将该标记添加至对应的图像帧上,获得带标记的各帧图像,以形成带标记的全景图像序列。
8.根据权利要求4所述的全景视频播放拍照系统,其特征在于,所述图片拼接模块(22)适于:
当接收到来自一个或多个用户端(3)的至少一个请求拍照指令时,针对每个请求拍照指令,
根据该请求拍照指令中包含的视频帧数据确定待查找的全景图像帧的相关信息,
依据多路图片数据和全景图像序列之间的映射关系,在存储模块(26)保存的多路图片数据中查找与待查找的全景图像帧的相关信息对应的多路图片数据,作为查找结果,采用精准拼接算法对该查找结果中的多路图片数据进行二次全景拼接,得到二次全景拼接图像。
9.根据权利要求5所述的全景视频播放拍照系统,其特征在于,所述图片拼接模块(22)适于
当接收到来自一个或多个用户端3的至少一个请求拍照指令时,针对每个请求拍照指令,
根据该请求拍照指令中包含的视频帧数据确定待查找的全景图像帧的相关信息,
依据多个二次全景拼接图像和全景图像序列之间的映射关系,在存储模块(26)保存的多个二次全景拼接图像中查找与待查找的全景图像帧的相关信息对应的二次全景拼接图像。
10.根据权利要求1-9中任一项所述的全景视频播放拍照系统,其特征在于,所述用户端(3)发送的请求拍照指令中包含视频帧数据和该用户端(3)对应的设备的发送姿态。
CN201711061961.3A 2017-10-27 2017-10-27 基于单向通信的全景视频播放拍照系统 Active CN107707830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711061961.3A CN107707830B (zh) 2017-10-27 2017-10-27 基于单向通信的全景视频播放拍照系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711061961.3A CN107707830B (zh) 2017-10-27 2017-10-27 基于单向通信的全景视频播放拍照系统

Publications (2)

Publication Number Publication Date
CN107707830A true CN107707830A (zh) 2018-02-16
CN107707830B CN107707830B (zh) 2020-06-16

Family

ID=61177665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711061961.3A Active CN107707830B (zh) 2017-10-27 2017-10-27 基于单向通信的全景视频播放拍照系统

Country Status (1)

Country Link
CN (1) CN107707830B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108495144A (zh) * 2018-03-30 2018-09-04 哈尔滨市舍科技有限公司 一种获取图片的方法
WO2020001610A1 (zh) * 2018-06-29 2020-01-02 华为技术有限公司 一种视频拼接方法及装置
CN110719496A (zh) * 2018-07-11 2020-01-21 杭州海康威视数字技术股份有限公司 一种多路码流封装、播放方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611878A (zh) * 2012-01-13 2012-07-25 福建升腾资讯有限公司 低带宽占用的高清摄像头映射方法
US20150346812A1 (en) * 2014-05-29 2015-12-03 Nextvr Inc. Methods and apparatus for receiving content and/or playing back content
CN107205122A (zh) * 2017-08-03 2017-09-26 哈尔滨市舍科技有限公司 多分辨率全景视频直播拍照系统与方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611878A (zh) * 2012-01-13 2012-07-25 福建升腾资讯有限公司 低带宽占用的高清摄像头映射方法
US20150346812A1 (en) * 2014-05-29 2015-12-03 Nextvr Inc. Methods and apparatus for receiving content and/or playing back content
CN107205122A (zh) * 2017-08-03 2017-09-26 哈尔滨市舍科技有限公司 多分辨率全景视频直播拍照系统与方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108495144A (zh) * 2018-03-30 2018-09-04 哈尔滨市舍科技有限公司 一种获取图片的方法
WO2020001610A1 (zh) * 2018-06-29 2020-01-02 华为技术有限公司 一种视频拼接方法及装置
CN110719496A (zh) * 2018-07-11 2020-01-21 杭州海康威视数字技术股份有限公司 一种多路码流封装、播放方法、装置及系统
CN110719496B (zh) * 2018-07-11 2023-02-07 杭州海康威视数字技术股份有限公司 一种多路码流封装、播放方法、装置及系统

Also Published As

Publication number Publication date
CN107707830B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN106797460B (zh) 三维视频的重建
US10491711B2 (en) Adaptive streaming of virtual reality data
CN107888987B (zh) 一种全景视频播放方法及装置
US20180192146A1 (en) Method and Apparatus for Playing Video Content From Any Location and Any Time
KR101670815B1 (ko) Vr 및 ar 기반 실시간 지식 공유 서비스 제공 방법
US7224851B2 (en) Method and apparatus for registering modification pattern of transmission image and method and apparatus for reproducing the same
US9485493B2 (en) Method and system for displaying multi-viewpoint images and non-transitory computer readable storage medium thereof
CN107592549A (zh) 基于双向通信的全景视频播放拍照系统
EP1087618A2 (en) Opinion feedback in presentation imagery
CN107205122A (zh) 多分辨率全景视频直播拍照系统与方法
CN104219584A (zh) 基于增强现实的全景视频交互方法和系统
US8803991B2 (en) Snapshot capture in video stream
US10205969B2 (en) 360 degree space image reproduction method and system therefor
CN106170101A (zh) 内容供应系统、信息处理设备和内容再现方法
CN105052154A (zh) 生成具有多个视点的视频
US20210097667A1 (en) Video quality measurement for virtual cameras in volumetric immersive media
CN101742096A (zh) 多视角互动电视系统与方法
CN112492231B (zh) 远程交互方法、装置、电子设备和计算机可读存储介质
CN107707830A (zh) 基于单向通信的全景视频播放拍照系统
JP2014075743A (ja) 映像視聴履歴解析装置、映像視聴履歴解析方法及び映像視聴履歴解析プログラム
CN106993177A (zh) 一种双目720度全景采集系统
CN108924590A (zh) 视频播放及拍照系统
CN106060523A (zh) 全景立体图像采集、显示方法及相应的装置
CN107045699A (zh) 在线交互拍卖方法及系统
KR100901111B1 (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
CB02 Change of applicant information

Address after: 150016 Heilongjiang Province, Harbin Economic Development Zone haping Road District Dalian road and Xingkai road junction

Applicant after: HARBIN YISHE TECHNOLOGY CO., LTD.

Address before: 150016 Heilongjiang City, Harbin province Daoli District, quiet street, unit 54, unit 2, layer 4, No. 3

Applicant before: HARBIN YISHE TECHNOLOGY CO., LTD.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 266100 Block C 200-43, Chuangke Street, Qingdao, 306 Ningxia Road, Laoshan District, Qingdao City, Shandong Province

Applicant after: Qingdao Yishe Technology Co., Ltd.

Address before: 150016 Heilongjiang Province, Harbin Economic Development Zone haping Road District Dalian road and Xingkai road junction

Applicant before: HARBIN YISHE TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant